From 93fbcc63f6a3482671e4432e719cd88d2f03f7e6 Mon Sep 17 00:00:00 2001 From: rubensworks Date: Thu, 7 Nov 2024 08:11:49 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2035213?= =?UTF-8?q?11d0ca83a34704d3f2945b3081723650dc1=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ldf-client-worker.min.js | 2 +- scripts/ldf-client-worker.min.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ldf-client-worker.min.js b/scripts/ldf-client-worker.min.js index 9a78ff7..514667b 100644 --- a/scripts/ldf-client-worker.min.js +++ b/scripts/ldf-client-worker.min.js @@ -1,3 +1,3 @@ /*! For license information please see ldf-client-worker.min.js.LICENSE.txt */ -(()=>{var e={50608:(e,t,r)=>{var{Buffer:n}=r(48287),o={},a=o.LEFT_BRACE=1,s=o.RIGHT_BRACE=2,c=o.LEFT_BRACKET=3,u=o.RIGHT_BRACKET=4,l=o.COLON=5,d=o.COMMA=6,p=o.TRUE=7,h=o.FALSE=8,f=o.NULL=9,y=o.STRING=10,g=o.NUMBER=11,m=o.START=17,b=o.STOP=18,_=o.TRUE1=33,v=o.TRUE2=34,w=o.TRUE3=35,S=o.FALSE1=49,E=o.FALSE2=50,T=o.FALSE3=51,O=o.FALSE4=52,x=o.NULL1=65,A=o.NULL2=66,I=o.NULL3=67,R=o.NUMBER1=81,P=o.NUMBER3=83,F=o.STRING1=97,D=o.STRING2=98,N=o.STRING3=99,j=o.STRING4=100,C=o.STRING5=101,M=o.STRING6=102,k=o.VALUE=113,L=o.KEY=114,U=o.OBJECT=129,B=o.ARRAY=130,V="\\".charCodeAt(0),q="/".charCodeAt(0),H="\b".charCodeAt(0),$="\f".charCodeAt(0),G="\n".charCodeAt(0),K="\r".charCodeAt(0),Q="\t".charCodeAt(0),z=65536;function J(e){return n.alloc?n.alloc(e):new n(e)}function W(){this.tState=m,this.value=void 0,this.string=void 0,this.stringBuffer=J(z),this.stringBufferOffset=0,this.unicode=void 0,this.highSurrogate=void 0,this.key=void 0,this.mode=void 0,this.stack=[],this.state=k,this.bytes_remaining=0,this.bytes_in_sequence=0,this.temp_buffs={2:J(2),3:J(3),4:J(4)},this.offset=-1}W.toknam=function(e){for(var t=Object.keys(o),r=0,n=t.length;r=z&&(this.string+=this.stringBuffer.toString("utf8"),this.stringBufferOffset=0),this.stringBuffer[this.stringBufferOffset++]=e},X.appendStringBuf=function(e,t,r){var n=e.length;"number"==typeof t&&(n="number"==typeof r?r<0?e.length-t+r:r-t:e.length-t),n<0&&(n=0),this.stringBufferOffset+n>z&&(this.string+=this.stringBuffer.toString("utf8",0,this.stringBufferOffset),this.stringBufferOffset=0),e.copy(this.stringBuffer,this.stringBufferOffset,t,r),this.stringBufferOffset+=n},X.write=function(e){var t;"string"==typeof e&&(e=new n(e));for(var r=0,i=e.length;r=48&&t<64)this.string=String.fromCharCode(t),this.tState=P;else if(32!==t&&9!==t&&10!==t&&13!==t)return this.charError(e,r)}else if(this.tState===F)if(t=e[r],this.bytes_remaining>0){for(var o=0;o=128){if(t<=193||t>244)return this.onError(new Error("Invalid UTF-8 character at position "+r+" in state "+W.toknam(this.tState)));if(t>=194&&t<=223&&(this.bytes_in_sequence=2),t>=224&&t<=239&&(this.bytes_in_sequence=3),t>=240&&t<=244&&(this.bytes_in_sequence=4),this.bytes_in_sequence+r>e.length){for(var g=0;g<=e.length-1-r;g++)this.temp_buffs[this.bytes_in_sequence][g]=e[r+g];this.bytes_remaining=r+this.bytes_in_sequence-e.length,r=e.length-1}else this.appendStringBuf(e,r,r+this.bytes_in_sequence),r=r+this.bytes_in_sequence-1}else if(34===t)this.tState=m,this.string+=this.stringBuffer.toString("utf8",0,this.stringBufferOffset),this.stringBufferOffset=0,this.onToken(y,this.string),this.offset+=n.byteLength(this.string,"utf8")+1,this.string=void 0;else if(92===t)this.tState=D;else{if(!(t>=32))return this.charError(e,r);this.appendStringChar(t)}else if(this.tState===D)if(34===(t=e[r]))this.appendStringChar(t),this.tState=F;else if(92===t)this.appendStringChar(V),this.tState=F;else if(47===t)this.appendStringChar(q),this.tState=F;else if(98===t)this.appendStringChar(H),this.tState=F;else if(102===t)this.appendStringChar($),this.tState=F;else if(110===t)this.appendStringChar(G),this.tState=F;else if(114===t)this.appendStringChar(K),this.tState=F;else if(116===t)this.appendStringChar(Q),this.tState=F;else{if(117!==t)return this.charError(e,r);this.unicode="",this.tState=N}else if(this.tState===N||this.tState===j||this.tState===C||this.tState===M){if(!((t=e[r])>=48&&t<64||t>64&&t<=70||t>96&&t<=102))return this.charError(e,r);if(this.unicode+=String.fromCharCode(t),this.tState++===M){var b=parseInt(this.unicode,16);this.unicode=void 0,void 0!==this.highSurrogate&&b>=56320&&b<57344?(this.appendStringBuf(new n(String.fromCharCode(this.highSurrogate,b))),this.highSurrogate=void 0):void 0===this.highSurrogate&&b>=55296&&b<56320?this.highSurrogate=b:(void 0!==this.highSurrogate&&(this.appendStringBuf(new n(String.fromCharCode(this.highSurrogate))),this.highSurrogate=void 0),this.appendStringBuf(new n(String.fromCharCode(b)))),this.tState=F}}else if(this.tState===R||this.tState===P)switch(t=e[r]){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 46:case 101:case 69:case 43:case 45:this.string+=String.fromCharCode(t),this.tState=P;break;default:this.tState=m;var k=this.numberReviver(this.string);if(k)return k;this.offset+=this.string.length-1,this.string=void 0,r--}else if(this.tState===_){if(114!==e[r])return this.charError(e,r);this.tState=v}else if(this.tState===v){if(117!==e[r])return this.charError(e,r);this.tState=w}else if(this.tState===w){if(101!==e[r])return this.charError(e,r);this.tState=m,this.onToken(p,!0),this.offset+=3}else if(this.tState===S){if(97!==e[r])return this.charError(e,r);this.tState=E}else if(this.tState===E){if(108!==e[r])return this.charError(e,r);this.tState=T}else if(this.tState===T){if(115!==e[r])return this.charError(e,r);this.tState=O}else if(this.tState===O){if(101!==e[r])return this.charError(e,r);this.tState=m,this.onToken(h,!1),this.offset+=4}else if(this.tState===x){if(117!==e[r])return this.charError(e,r);this.tState=A}else if(this.tState===A){if(108!==e[r])return this.charError(e,r);this.tState=I}else if(this.tState===I){if(108!==e[r])return this.charError(e,r);this.tState=m,this.onToken(f,null),this.offset+=3}},X.onToken=function(e,t){},X.parseError=function(e,t){this.tState=b,this.onError(new Error("Unexpected "+W.toknam(e)+(t?"("+JSON.stringify(t)+")":"")+" in state "+W.toknam(this.state)))},X.push=function(){this.stack.push({value:this.value,key:this.key,mode:this.mode})},X.pop=function(){var e=this.value,t=this.stack.pop();this.value=t.value,this.key=t.key,this.mode=t.mode,this.emit(e),this.mode||(this.state=k)},X.emit=function(e){this.mode&&(this.state=d),this.onValue(e)},X.onValue=function(e){},X.onToken=function(e,t){if(this.state===k)if(e===y||e===g||e===p||e===h||e===f)this.value&&(this.value[this.key]=t),this.emit(t);else if(e===a)this.push(),this.value?this.value=this.value[this.key]={}:this.value={},this.key=void 0,this.state=L,this.mode=U;else if(e===c)this.push(),this.value?this.value=this.value[this.key]=[]:this.value=[],this.key=0,this.mode=B,this.state=k;else if(e===s){if(this.mode!==U)return this.parseError(e,t);this.pop()}else{if(e!==u)return this.parseError(e,t);if(this.mode!==B)return this.parseError(e,t);this.pop()}else if(this.state===L)if(e===y)this.key=t,this.state=l;else{if(e!==s)return this.parseError(e,t);this.pop()}else if(this.state===l){if(e!==l)return this.parseError(e,t);this.state=k}else{if(this.state!==d)return this.parseError(e,t);if(e===d)this.mode===B?(this.key++,this.state=k):this.mode===U&&(this.state=L);else{if(!(e===u&&this.mode===B||e===s&&this.mode===U))return this.parseError(e,t);this.pop()}}},X.numberReviver=function(e){var t=Number(e);if(isNaN(t))return this.charError(buffer,i);e.match(/[0-9]+/)==e&&t.toString()!=e?this.onToken(y,e):this.onToken(g,t)},W.C=o,e.exports=W},78563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorAbstractMediaTyped=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}async run(e){if("handle"in e){const t=e;return{handle:await this.runHandle(t.handle,t.handleMediaType,e.context)}}if("mediaTypes"in e)return{mediaTypes:await this.getMediaTypes(e.context)};if("mediaTypeFormats"in e)return{mediaTypeFormats:await this.getMediaTypeFormats(e.context)};throw new Error("Either a handle, mediaTypes or mediaTypeFormats action needs to be provided")}async test(e){if("handle"in e){const t=e;return(await this.testHandle(t.handle,t.handleMediaType,e.context)).map((e=>({handle:e})))}return"mediaTypes"in e?(await this.testMediaType(e.context)).map((e=>({mediaTypes:e}))):"mediaTypeFormats"in e?(await this.testMediaTypeFormats(e.context)).map((e=>({mediaTypeFormats:e}))):(0,n.failTest)("Either a handle, mediaTypes or mediaTypeFormats action needs to be provided")}}t.ActorAbstractMediaTyped=i},17633:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorAbstractMediaTypedFixed=void 0;const n=r(90412),i=r(78563);class o extends i.ActorAbstractMediaTyped{constructor(e){super(e);const t=this.priorityScale||0===this.priorityScale?this.priorityScale:1;if(this.mediaTypePriorities)for(const[e,[r,n]]of Object.entries(this.mediaTypePriorities).entries())this.mediaTypePriorities[r]=t*n;this.mediaTypePriorities=Object.freeze(this.mediaTypePriorities),this.mediaTypeFormats=Object.freeze(this.mediaTypeFormats)}async testHandle(e,t,r){return t&&t in this.mediaTypePriorities?await this.testHandleChecked(e,r):(0,n.failTest)(`Unrecognized media type: ${t}`)}async testMediaType(e){return(0,n.passTestVoid)()}async getMediaTypes(e){return this.mediaTypePriorities}async testMediaTypeFormats(e){return(0,n.passTestVoid)()}async getMediaTypeFormats(e){return this.mediaTypeFormats}}t.ActorAbstractMediaTypedFixed=o},48092:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(78563),t),i(r(17633),t)},92647:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorAbstractPath=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(67021),s=r(75627),c=r(43347),u=r(96331),l=r(71493);class d extends n.ActorQueryOperationTypedMediated{constructor(e,t){super(e,"path"),this.predicateType=t}async testOperation(e,t){return e.predicate.type!==this.predicateType?(0,o.failTest)(`This Actor only supports ${this.predicateType} Path operations.`):(0,o.passTestVoid)()}generateVariable(e,t,r){return r?!t||t.subject.value!==r&&t.object.value!==r?e.variable(r):this.generateVariable(e,t,`${r}b`):this.generateVariable(e,t,"b")}async isPathArbitraryLengthDistinct(e,t,r){return t.get(i.KeysQueryOperation.isPathArbitraryLengthDistinctKey)?{context:t=t.set(i.KeysQueryOperation.isPathArbitraryLengthDistinctKey,!1),operation:void 0}:{context:t=t.set(i.KeysQueryOperation.isPathArbitraryLengthDistinctKey,!0),operation:(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.createDistinct(r),context:t}))}}async predicateStarGraphVariable(e,t,r,n,i,o,c){const u=this.getPathSources(r),l=this.generateVariable(o.dataFactory,o.createPath(e,r,t,n)),d=o.createUnion([this.assignPatternSources(o,o.createPattern(e,l,t,n),u),this.assignPatternSources(o,o.createPattern(t,l,e,n),u)]),p=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:i,operation:d})),h=new Set;return{bindingsStream:new s.MultiTransformIterator(p.bindingsStream,{multiTransform:a=>{const u=a.get(n);return h.has(u.value)?new s.EmptyIterator:(h.add(u.value),new s.TransformIterator((async()=>{const a=new s.BufferedIterator;return await this.getObjectsPredicateStar(o,e,r,u,i,{},a,{count:0}),a.transform({transform(e,r,i){i(c.bindings([[t,e],[n,u]])),r()}})}),{maxBufferSize:128}))},autoStart:!1}),metadata:p.metadata}}async getObjectsPredicateStarEval(e,t,r,n,i,o,a,s){if("Variable"===n.termType)return this.predicateStarGraphVariable(e,r,t,n,i,a,s);const c=new l.PathVariableObjectIterator(a,e,t,n,i,this.mediatorQueryOperation,o);return{bindingsStream:c.transform({autoStart:!1,transform(e,t,n){n(s.bindings([[r,e]])),t()}}),async metadata(){const e=await new Promise((e=>{c.getProperty("metadata",(t=>e(t())))}));return e.cardinality.value++,e}}}async getObjectsPredicateStar(e,t,r,n,i,o,s,u){const l=(0,c.termToString)(t);if(o[l])return;s._push(t),o[l]=t,u.count++;const d=this.generateVariable(e.dataFactory),p=e.createPath(t,r,d,n),h=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:p,context:i}));return h.bindingsStream.on("data",(async t=>{const a=t.get(d);await this.getObjectsPredicateStar(e,a,r,n,i,o,s,u)})),h.bindingsStream.on("end",(()=>{0==--u.count&&s.close()})),h.metadata}async getSubjectAndObjectBindingsPredicateStar(e,t,r,n,i,o,s,u,l,d,p,h,f){const y=(0,c.termToString)(n)+(0,c.termToString)(o);if(l[y])return;if(p.count++,l[y]=!0,d._push(f.bindings([[e,r],[t,n]])),y in u){const n=await u[y];for(const a of n)await this.getSubjectAndObjectBindingsPredicateStar(e,t,r,a,i,o,s,u,l,d,p,h,f);return void(0==--p.count&&d.close())}const g=new Promise((async(c,y)=>{const g=[],m=this.generateVariable(h.dataFactory),b=h.createPath(n,i,m,o),_=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:b,context:s}));_.bindingsStream.on("data",(async n=>{const a=n.get(m);g.push(a),await this.getSubjectAndObjectBindingsPredicateStar(e,t,r,a,i,o,s,u,l,d,p,h,f)})),_.bindingsStream.on("error",y),_.bindingsStream.on("end",(()=>{0==--p.count&&d.close(),c(g)}))}));u[y]=g}getPathSources(e){switch(e.type){case u.Algebra.types.ALT:case u.Algebra.types.SEQ:return e.input.flatMap((e=>this.getPathSources(e)));case u.Algebra.types.INV:case u.Algebra.types.ONE_OR_MORE_PATH:case u.Algebra.types.ZERO_OR_MORE_PATH:case u.Algebra.types.ZERO_OR_ONE_PATH:return this.getPathSources(e.path);case u.Algebra.types.LINK:case u.Algebra.types.NPS:{const t=(0,a.getOperationSource)(e);if(!t)throw new Error("Could not find a required source on a link path operation");return[t]}}}assignPatternSources(e,t,r){if(0===r.length)throw new Error("Attempted to assign zero sources to a pattern during property path handling");return 1===r.length?(0,a.assignOperationSource)(t,r[0]):e.createUnion(r.map((e=>(0,a.assignOperationSource)(t,e))),!0)}}t.ActorAbstractPath=d},71493:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PathVariableObjectIterator=void 0;const n=r(67021),i=r(75627),o=r(43347);class a extends i.BufferedIterator{constructor(e,t,r,n,i,o,a,s=16){super({autoStart:!0}),this.algebraFactory=e,this.subject=t,this.predicate=r,this.graph=n,this.context=i,this.mediatorQueryOperation=o,this.maxRunningOperations=s,this.termHashes=new Map,this.runningOperations=[],this.pendingOperations=[],this._push(this.subject,a)}_end(e){for(const e of this.runningOperations)e.destroy();super._end(e)}_push(e,t=!0){let r;if(t&&(r=(0,o.termToString)(e),this.termHashes.has(r)))return;const n=this.algebraFactory.dataFactory.variable("b");this.pendingOperations.push({variable:n,operation:this.algebraFactory.createPath(e,this.predicate,n,this.graph)}),r&&(this.termHashes.set(r,e),super._push(e))}_read(e,t){const r=this;(async function(){for(;r.runningOperations.lengthr.destroy(e))),i.on("readable",(()=>{r.readable=!0,r._fillBufferAsync()})),i.on("end",(()=>{r.runningOperations.splice(r.runningOperations.indexOf(i),1),r.readable=!0,r._fillBufferAsync()}))),r.setProperty("metadata",t.metadata)}let t,i=0;for(;i!==(i=e);)for(let n=0;n0;n++)null!==(t=r.runningOperations[n].read())&&(e--,r._push(t));0===r.runningOperations.length&&0===r.pendingOperations.length&&r.close()})().then((()=>{t()}),(e=>this.destroy(e)))}}t.PathVariableObjectIterator=a},97091:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92647),t),i(r(71493),t)},34023:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryAverage=void 0;const n=r(86581),i=r(90711),o=r(90412),a=r(77545),s=r(23786);class c extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async test(e){return"avg"!==e.expr.aggregator?(0,o.failTest)("This actor only supports the 'avg' aggregator."):(0,o.passTestVoid)()}async run({context:e,expr:t}){return new s.AverageAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct,e.getSafe(i.KeysInitQuery.dataFactory),await this.mediatorFunctionFactory.mediate({functionName:a.SparqlOperator.ADDITION,context:e,requireTermExpression:!0}),await this.mediatorFunctionFactory.mediate({functionName:a.SparqlOperator.DIVISION,context:e,requireTermExpression:!0}))}}t.ActorBindingsAggregatorFactoryAverage=c},23786:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AverageAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r,n,i,o){super(e,t,o),this.dataFactory=r,this.additionFunction=n,this.divisionFunction=i,this.state=void 0}emptyValueTerm(){return i.typedLiteral("0",i.TypeURL.XSD_INTEGER)}putTerm(e){if(void 0===this.state){const t=this.termToNumericOrError(e);this.state={sum:t,count:1}}else{const t=this.termToNumericOrError(e);this.state.sum=this.additionFunction.applyOnTerms([this.state.sum,t],this.evaluator),this.state.count++}}termResult(){if(void 0===this.state)return this.emptyValue();const e=new i.IntegerLiteral(this.state.count);return this.divisionFunction.applyOnTerms([this.state.sum,e],this.evaluator).toRDF(this.dataFactory)}}t.AverageAggregator=o},17352:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(34023),t),i(r(23786),t)},63055:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryCount=void 0;const n=r(86581),i=r(90412),o=r(8028),a=r(53930);class s extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"count"!==e.expr.aggregator||e.expr.expression.expressionType===o.Algebra.expressionTypes.WILDCARD?(0,i.failTest)("This actor only supports the 'count' aggregator without wildcard."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new a.CountAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct)}}t.ActorBindingsAggregatorFactoryCount=s},53930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CountAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r){super(e,t,r),this.state=void 0}emptyValueTerm(){return(0,i.typedLiteral)("0",i.TypeURL.XSD_INTEGER)}putTerm(e){void 0===this.state&&(this.state=0),this.state++}termResult(){return void 0===this.state?this.emptyValue():(0,i.typedLiteral)(String(this.state),i.TypeURL.XSD_INTEGER)}}t.CountAggregator=o},2236:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(63055),t),i(r(53930),t)},8028:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.toSparqlJs=t.toSparql=t.Factory=t.Algebra=t.translate=void 0;const s=a(r(69343));t.translate=s.default;const c=o(r(7756));t.Algebra=c;const u=a(r(35798));t.Factory=u.default;const l=r(26079);Object.defineProperty(t,"toSparql",{enumerable:!0,get:function(){return l.toSparql}}),Object.defineProperty(t,"toSparqlJs",{enumerable:!0,get:function(){return l.toSparqlJs}});const d=a(r(43122));t.Util=d.default},7756:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.expressionTypes=t.types=void 0,(n=t.types||(t.types={})).ALT="alt",n.ASK="ask",n.BGP="bgp",n.CONSTRUCT="construct",n.DESCRIBE="describe",n.DISTINCT="distinct",n.EXPRESSION="expression",n.EXTEND="extend",n.FILTER="filter",n.FROM="from",n.GRAPH="graph",n.GROUP="group",n.INV="inv",n.JOIN="join",n.LEFT_JOIN="leftjoin",n.LINK="link",n.MINUS="minus",n.NOP="nop",n.NPS="nps",n.ONE_OR_MORE_PATH="OneOrMorePath",n.ORDER_BY="orderby",n.PATH="path",n.PATTERN="pattern",n.PROJECT="project",n.REDUCED="reduced",n.SEQ="seq",n.SERVICE="service",n.SLICE="slice",n.UNION="union",n.VALUES="values",n.ZERO_OR_MORE_PATH="ZeroOrMorePath",n.ZERO_OR_ONE_PATH="ZeroOrOnePath",n.COMPOSITE_UPDATE="compositeupdate",n.DELETE_INSERT="deleteinsert",n.LOAD="load",n.CLEAR="clear",n.CREATE="create",n.DROP="drop",n.ADD="add",n.MOVE="move",n.COPY="copy",(r=t.expressionTypes||(t.expressionTypes={})).AGGREGATE="aggregate",r.EXISTENCE="existence",r.NAMED="named",r.OPERATOR="operator",r.TERM="term",r.WILDCARD="wildcard"},35798:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(7756)),s=r(47793),c=r(43347),u=r(98082);t.default=class{constructor(e){this.dataFactory=e||new s.DataFactory,this.stringType=this.createTerm("http://www.w3.org/2001/XMLSchema#string")}createAlt(e,t=!0){return this.flattenMulti({type:a.types.ALT,input:e},t)}createAsk(e){return{type:a.types.ASK,input:e}}createBoundAggregate(e,t,r,n,i){const o=this.createAggregateExpression(t,r,n,i);return o.variable=e,o}createBgp(e){return{type:a.types.BGP,patterns:e}}createConstruct(e,t){return{type:a.types.CONSTRUCT,input:e,template:t}}createDescribe(e,t){return{type:a.types.DESCRIBE,input:e,terms:t}}createDistinct(e){return{type:a.types.DISTINCT,input:e}}createExtend(e,t,r){return{type:a.types.EXTEND,input:e,variable:t,expression:r}}createFrom(e,t,r){return{type:a.types.FROM,input:e,default:t,named:r}}createFilter(e,t){return{type:a.types.FILTER,input:e,expression:t}}createGraph(e,t){return{type:a.types.GRAPH,input:e,name:t}}createGroup(e,t,r){return{type:a.types.GROUP,input:e,variables:t,aggregates:r}}createInv(e){return{type:a.types.INV,path:e}}createJoin(e,t=!0){return this.flattenMulti({type:a.types.JOIN,input:e},t)}createLeftJoin(e,t,r){return r?{type:a.types.LEFT_JOIN,input:[e,t],expression:r}:{type:a.types.LEFT_JOIN,input:[e,t]}}createLink(e){return{type:a.types.LINK,iri:e}}createMinus(e,t){return{type:a.types.MINUS,input:[e,t]}}createNop(){return{type:a.types.NOP}}createNps(e){return{type:a.types.NPS,iris:e}}createOneOrMorePath(e){return{type:a.types.ONE_OR_MORE_PATH,path:e}}createOrderBy(e,t){return{type:a.types.ORDER_BY,input:e,expressions:t}}createPath(e,t,r,n){return n?{type:a.types.PATH,subject:e,predicate:t,object:r,graph:n}:{type:a.types.PATH,subject:e,predicate:t,object:r,graph:this.dataFactory.defaultGraph()}}createPattern(e,t,r,n){const i=this.dataFactory.quad(e,t,r,n);return i.type=a.types.PATTERN,i}createProject(e,t){return{type:a.types.PROJECT,input:e,variables:t}}createReduced(e){return{type:a.types.REDUCED,input:e}}createSeq(e,t=!0){return this.flattenMulti({type:a.types.SEQ,input:e},t)}createService(e,t,r){return{type:a.types.SERVICE,input:e,name:t,silent:Boolean(r)}}createSlice(e,t,r){return t=t||0,void 0!==r?{type:a.types.SLICE,input:e,start:t,length:r}:{type:a.types.SLICE,input:e,start:t}}createUnion(e,t=!0){return this.flattenMulti({type:a.types.UNION,input:e},t)}createValues(e,t){return{type:a.types.VALUES,variables:e,bindings:t}}createZeroOrMorePath(e){return{type:a.types.ZERO_OR_MORE_PATH,path:e}}createZeroOrOnePath(e){return{type:a.types.ZERO_OR_ONE_PATH,path:e}}createAggregateExpression(e,t,r,n){return n?{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,separator:n,distinct:r}:{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,distinct:r}}createExistenceExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.EXISTENCE,not:e,input:t}}createNamedExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.NAMED,name:e,args:t}}createOperatorExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.OPERATOR,operator:e,args:t}}createTermExpression(e){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.TERM,term:e}}createWildcardExpression(){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.WILDCARD,wildcard:new u.Wildcard}}createTerm(e){return(0,c.stringToTerm)(e,this.dataFactory)}createCompositeUpdate(e){return{type:a.types.COMPOSITE_UPDATE,updates:e}}createDeleteInsert(e,t,r){const n={type:a.types.DELETE_INSERT};return e&&(n.delete=e),t&&(n.insert=t),r&&(n.where=r),n}createLoad(e,t,r){const n={type:a.types.LOAD,source:e};return t&&(n.destination=t),this.addSilent(n,Boolean(r))}createClear(e,t){return this.addSilent({type:a.types.CLEAR,source:e},Boolean(t))}createCreate(e,t){return this.addSilent({type:a.types.CREATE,source:e},Boolean(t))}createDrop(e,t){return this.addSilent({type:a.types.DROP,source:e},Boolean(t))}createAdd(e,t,r){return this.addSilent({type:a.types.ADD,source:e,destination:t},Boolean(r))}createMove(e,t,r){return this.addSilent({type:a.types.MOVE,source:e,destination:t},Boolean(r))}createCopy(e,t,r){return this.addSilent({type:a.types.COPY,source:e,destination:t},Boolean(r))}addSilent(e,t){return t&&(e.silent=t),e}flattenMulti(e,t){if(!t)return e;const r=e.type,n=e.input;let i=[];for(const e of n)e.type===r?i.push(...e.input):i.push(e);return e.input=i,e}}},26079:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.toSparqlJs=t.toSparql=void 0;const s=r(62699),c=r(43347),u=r(98082),l=o(r(7756)),d=a(r(35798)),p=a(r(43122)),h=l.types,f=l.expressionTypes;let y;const g=new d.default;function m(e){b();let t=_(e=function(e){return D(e,[])}(e));return"group"===t.type?t.patterns[0]:t}function b(){y={project:!1,extend:[],group:[],aggregates:[],order:[]}}function _(e){switch(e.type!==h.EXTEND&&e.type!==h.ORDER_BY&&e.type!==h.GRAPH&&(y.project=!1),e.type){case h.EXPRESSION:return v(e);case h.ASK:return A(e,h.ASK);case h.BGP:return function(e){let t=e.patterns.map(O);return 0===t.length?null:{type:"bgp",triples:t}}(e);case h.CONSTRUCT:return function(e){return{type:"query",prefixes:{},queryType:"CONSTRUCT",template:e.template.map(O),where:p.default.flatten([_(e.input)])}}(e);case h.DESCRIBE:return A(e,h.DESCRIBE);case h.DISTINCT:return function(e){let t=_(e.input);return t.patterns[0].distinct=!0,t}(e);case h.EXTEND:return function(e){return y.project?(y.extend.push(e),_(e.input)):p.default.flatten([_(e.input),{type:"bind",variable:e.variable,expression:v(e.expression)}])}(e);case h.FROM:return function(e){const t=_(e.input);let r=t;return"group"===t.type&&(r=t.patterns[0]),r.from={default:e.default,named:e.named},t}(e);case h.FILTER:return function(e){return{type:"group",patterns:p.default.flatten([_(e.input),{type:"filter",expression:v(e.expression)}])}}(e);case h.GRAPH:return function(e){return{type:"graph",patterns:p.default.flatten([_(e.input)]),name:e.name}}(e);case h.GROUP:return function(e){const t=_(e.input),r=e.aggregates.map(T);return y.aggregates.push(...r),y.group.push(...e.variables),t}(e);case h.JOIN:return function(e){return p.default.flatten(e.input.map(_)).reduce(((e,t)=>("bgp"!==t.type||0==e.length||"bgp"!==e[e.length-1].type?e.push(t):e[e.length-1].triples.push(...t.triples),e)),[])}(e);case h.LEFT_JOIN:return function(e){const t={type:"optional",patterns:[_(e.input[1])]};return e.expression&&t.patterns.push({type:"filter",expression:v(e.expression)}),t.patterns=p.default.flatten(t.patterns),p.default.flatten([_(e.input[0]),t])}(e);case h.MINUS:return function(e){let t=_(e.input[1]);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),p.default.flatten([_(e.input[0]),{type:"minus",patterns:t}])}(e);case h.NOP:return{};case h.ORDER_BY:return function(e){return y.order.push(...e.expressions),_(e.input)}(e);case h.PATH:return function(e){return{type:"bgp",triples:[{subject:e.subject,predicate:w(e.predicate),object:e.object}]}}(e);case h.PATTERN:return O(e);case h.PROJECT:return A(e,h.PROJECT);case h.REDUCED:return function(e){let t=_(e.input);return t.patterns[0].reduced=!0,t}(e);case h.SERVICE:return function(e){let t=_(e.input);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),{type:"service",name:e.name,silent:e.silent,patterns:t}}(e);case h.SLICE:return function(e){let t=_(e.input),r=t;return t.type&&"group"===t.type&&(r=t.patterns[0]),0!==e.start&&(r.offset=e.start),void 0!==e.length&&(r.limit=e.length),t}(e);case h.UNION:return function(e){return{type:"union",patterns:e.input.map(_).map(E)}}(e);case h.VALUES:return function(e){return{type:"values",values:e.bindings.map((t=>{let r={};for(let n of e.variables){let e=`?${n.value}`;t[e]?r[e]=t[e]:r[e]=void 0}return r}))}}(e);case h.COMPOSITE_UPDATE:return function(e){return{prefixes:{},type:"update",updates:e.updates.map((e=>_(e).updates[0]))}}(e);case h.DELETE_INSERT:return function(e){var t;let r,n=e.where;if(n&&n.type===h.FROM){let e=n;n=e.input,r={default:e.default,named:e.named}}const i=[{updateType:"insertdelete",delete:F(e.delete||[]),insert:F(e.insert||[])}];if(r&&(i[0].using=r),!n||n.type===h.BGP&&0===n.patterns.length)i[0].where=[];else{const e=[];let r=_(D(n,e));if("group"===r.type?i[0].where=r.patterns:i[0].where=[r],e.length>0){if(1!==e.length)throw new Error("This is unexpected and might indicate an error in graph handling for updates.");""!==(null===(t=e[0])||void 0===t?void 0:t.value)&&(i[0].where=[{type:"graph",patterns:i[0].where,name:e[0]}])}}return e.delete||e.where?e.insert||e.where?!e.insert&&e.where&&"bgp"===e.where.type&&(0,s.isomorphic)(e.delete,e.where.patterns)&&(delete i[0].where,i[0].updateType="deletewhere"):(delete i[0].insert,delete i[0].where,e.delete.some((e=>"Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType))?i[0].updateType="deletewhere":i[0].updateType="delete"):(i[0].updateType="insert",delete i[0].delete,delete i[0].where),{prefixes:{},type:"update",updates:i}}(e);case h.LOAD:return function(e){const t=[{type:"load",silent:Boolean(e.silent),source:e.source}];return e.destination&&(t[0].destination=e.destination),{prefixes:{},type:"update",updates:t}}(e);case h.CLEAR:return function(e){return R(e,"clear")}(e);case h.CREATE:return function(e){return R(e,"create")}(e);case h.DROP:return function(e){return R(e,"drop")}(e);case h.ADD:return function(e){return P(e,"add")}(e);case h.MOVE:return function(e){return P(e,"move")}(e);case h.COPY:return function(e){return P(e,"copy")}(e)}throw new Error(`Unknown Operation type ${e.type}`)}function v(e){switch(e.expressionType){case f.AGGREGATE:return function(e){const t={expression:v(e.expression),type:"aggregate",aggregation:e.aggregator,distinct:e.distinct};return e.separator&&(t.separator=e.separator),t}(e);case f.EXISTENCE:return function(e){return{type:"operation",operator:e.not?"notexists":"exists",args:p.default.flatten([_(e.input)])}}(e);case f.NAMED:return function(e){return{type:"functionCall",function:e.name,args:e.args.map(v)}}(e);case f.OPERATOR:return function(e){if("desc"===e.operator){return{expression:v(e.args[0]),descending:!0}}const t={type:"operation",operator:e.operator,args:e.args.map(v)};return"in"!==t.operator&&"notin"!==t.operator||(t.args=[t.args[0]].concat([t.args.slice(1)])),t}(e);case f.TERM:return function(e){return e.term}(e);case f.WILDCARD:return function(e){return e.wildcard}(e)}throw new Error(`Unknown Expression Operation type ${e.expressionType}`)}function w(e){switch(e.type){case h.ALT:return function(e){const t=e.input.map(w);return t.every((e=>"pathType"in e&&"!"===e.pathType))?{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:p.default.flatten(t.map((e=>e.items)))}]}:{type:"path",pathType:"|",items:t}}(e);case h.INV:return function(e){if(e.path.type===h.NPS){const t=e.path.iris.map((e=>({type:"path",pathType:"^",items:[e]})));return t.length<=1?{type:"path",pathType:"!",items:t}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:t}]}}return{type:"path",pathType:"^",items:[w(e.path)]}}(e);case h.LINK:return function(e){return e.iri}(e);case h.NPS:return function(e){return e.iris.length<=1?{type:"path",pathType:"!",items:e.iris}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:e.iris}]}}(e);case h.ONE_OR_MORE_PATH:return function(e){return{type:"path",pathType:"+",items:[w(e.path)]}}(e);case h.SEQ:return function(e){return{type:"path",pathType:"/",items:e.input.map(w)}}(e);case h.ZERO_OR_MORE_PATH:return function(e){return{type:"path",pathType:"*",items:[w(e.path)]}}(e);case h.ZERO_OR_ONE_PATH:return function(e){return{type:"path",pathType:"?",items:[w(e.path)]}}(e)}throw new Error(`Unknown Path type ${e.type}`)}function S(e){return(0,c.termToString)(e)}function E(e){return Array.isArray(e)?1===e.length?e[0]:{type:"group",patterns:e}:e}function T(e){return e}function O(e){return{subject:e.subject,predicate:e.predicate,object:e.object}}function x(e,t){let r=p.default.isSimpleTerm(e)?S(e):e;if("string"==typeof r){if(t[r])return t[r]}else if(Array.isArray(e))e=e.map((e=>x(e,t)));else for(let r of Object.keys(e))e[r]=x(e[r],t);return e}function A(e,t){const r={type:"query",prefixes:{}},n=r;let i;t===h.PROJECT?(r.queryType="SELECT",i=e.variables):t===h.ASK?r.queryType="ASK":t===h.DESCRIBE&&(r.queryType="DESCRIBE",i=e.terms);const o=y.extend,a=y.group,s=y.aggregates,c=y.order;b(),y.project=!0;let l=p.default.flatten([_(e.input)]);1===l.length&&"group"===l[0].type&&(l=l[0].patterns),r.where=l;let d={};for(let e of y.aggregates)d[S(e.variable)]=v(e);let f={};for(let e=y.extend.length-1;e>=0;--e){let t=y.extend[e];f[S(t.variable)]=x(v(t.expression),d)}if(y.group.length>0&&(n.group=y.group.map((e=>{let t=S(e);if(f[t]){let r=f[t];return delete f[t],{variable:e,expression:r}}return{expression:e}}))),y.order.length>0&&(n.order=y.order.map(_).map((e=>e.descending?e:{expression:e}))),i&&(n.variables=i.map((e=>{let t=S(e);return f[t]?{variable:e,expression:f[t]}:e})),0===n.variables.length&&(n.variables=[new u.Wildcard])),r.where.length>0&&"filter"===r.where[r.where.length-1].type){const e=r.where[r.where.length-1];I(e,Object.keys(d))&&(n.having=p.default.flatten([x(e.expression,d)]),r.where.splice(-1))}return y.extend=o,y.group=a,y.aggregates=s,y.order=c,{type:"group",patterns:[n]}}function I(e,t){return p.default.isSimpleTerm(e)?t.indexOf(S(e))>=0:Array.isArray(e)?e.some((e=>I(e,t))):e===Object(e)?Object.keys(e).some((r=>I(e[r],t))):t.indexOf(e)>=0}function R(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return"DEFAULT"===e.source?r[0].graph={default:!0}:"NAMED"===e.source?r[0].graph={named:!0}:"ALL"===e.source?r[0].graph={all:!0}:r[0].graph={type:"graph",name:e.source},{prefixes:{},type:"update",updates:r}}function P(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return r[0].source="DEFAULT"===e.source?{type:"graph",default:!0}:{type:"graph",name:e.source},r[0].destination="DEFAULT"===e.destination?{type:"graph",default:!0}:{type:"graph",name:e.destination},{prefixes:{},type:"update",updates:r}}function F(e){if(!e)return[];const t={};return e.forEach((e=>{const r=e.graph.value;t[r]||(t[r]=[]),t[r].push(e)})),Object.keys(t).map((e=>""===e?{type:"bgp",triples:t[e].map(O)}:{type:"graph",triples:t[e].map(O),name:t[e][0].graph}))}function D(e,t){if(Array.isArray(e))return e.map((e=>D(e,t)));if(!e.type)return e;if(e.type===h.DELETE_INSERT)return e;if((e.type===h.PATTERN||e.type===h.PATH)&&e.graph)return t.push(e.graph),""!==e.graph.name?e.type===h.PATTERN?g.createPattern(e.subject,e.predicate,e.object):g.createPath(e.subject,e.predicate,e.object):e;const r={},n={},i={};for(let t of Object.keys(e)){const o=[];if(r[t]=D(e[t],o),o.length>0){n[t]=o;for(const e of o)i[e.value]=e}}const o=Object.keys(i);if(o.length>0)if(1!==o.length||[h.PROJECT,h.SERVICE].includes(e.type)){if(e.type===h.BGP)return function(e,t){var r;const n={};for(let i=0;i""===n[e][0].value?t:g.createGraph(t,n[e][r]))):""!==n[e][0].value&&(r[e]=g.createGraph(t,n[e][0]))}}else t.push(i[o[0]]);return r}t.toSparql=function(e,t={}){return new u.Generator(t).stringify(m(e))},t.toSparqlJs=m},69343:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(29252),c=r(43347),u=o(r(7756)),l=a(r(35798)),d=a(r(43122)),p=r(98082).Parser,h=u.types;let f,y=new Set,g=0,m=!1;function b(e,t,r){if(y=new Set,g=0,m=Boolean(t),!e.type)return f.createNop();if("query"!==e.type&&"update"!==e.type)throw new Error("Translate only works on complete query or update objects.");let n;var i;return w(e),"query"===e.type?(n=E({type:"group",patterns:e.where||[]}),n=function(e,t){const r=e,n=[],i={};if(r.variables=r.variables&&r.variables.map((e=>j(e,i))),r.having=r.having&&r.having.map((e=>j(e,i))),r.order=r.order&&r.order.map((e=>j(e,i))),r.group||Object.keys(i).length>0){const e=Object.keys(i).map((e=>function(e,t){if("aggregate"!==e.type||!e.aggregation)throw new Error(`Unexpected input: ${JSON.stringify(e)}`);const r=T(e);return r.variable=t,r}(i[e],f.createTerm(e)))),n=[];if(r.group)for(const e of r.group)if(d.default.isSimpleTerm(e.expression))n.push(e.expression);else{const r="variable"in e?e.variable:A();t=f.createExtend(t,r,T(e.expression)),n.push(r)}t=f.createGroup(t,n,e)}if(r.having)for(let e of r.having)t=f.createFilter(t,T(e));e.values&&(t=f.createJoin([t,N(e)]));let o=[];if("SELECT"===e.queryType||"DESCRIBE"===e.queryType)if(e.variables.some((e=>e&&d.default.isWildcard(e))))o=Object.values(S(e)).sort(((e,t)=>e.value.localeCompare(t.value)));else for(let t of e.variables)v(t)||!("variable"in t)?o.push(t):t.variable&&(o.push(t.variable),n.push(t));for(let e of n)t=f.createExtend(t,e.variable,T(e.expression));return r.order&&(t=f.createOrderBy(t,r.order.map((e=>{let t=T(e.expression);return e.descending&&(t=f.createOperatorExpression("desc",[t])),t})))),"SELECT"===e.queryType&&(t=f.createProject(t,o)),r.distinct&&(t=f.createDistinct(t)),r.reduced&&(t=f.createReduced(t)),"CONSTRUCT"===e.queryType?t=f.createConstruct(t,(e.template||[]).map(I)):"ASK"===e.queryType?t=f.createAsk(t):"DESCRIBE"===e.queryType&&(t=f.createDescribe(t,o)),(r.offset||r.limit)&&(t=f.createSlice(t,r.offset||0,r.limit)),r.from&&(t=f.createFrom(t,r.from.default,r.from.named)),t}(e,n)):"update"===e.type&&(n=1===(i=e).updates.length?C(i.updates[0]):f.createCompositeUpdate(i.updates.map(C))),r&&(n=k(n)),n}function _(e){return Boolean(null==e?void 0:e.termType)}function v(e){return"Variable"===(null==e?void 0:e.termType)}function w(e){if(_(e))v(e)&&y.add(`?${e.value}`);else if(Array.isArray(e))for(const t of e)w(t);else if(e&&"object"==typeof e)for(let t of Object.keys(e))t.startsWith("?")&&y.add(t),w(e[t])}function S(e){let t={};if((r=e).subject&&r.predicate&&r.object){const r=[S(e.subject),S(e.predicate),S(e.object),e.graph?S(e.graph):{}];Object.assign(t,...r)}else if(_(e))v(e)&&(t[e.value]=e);else if("bgp"===e.type){const r=e.triples;Object.assign(t,...r.map(S))}else if("path"===e.type)Object.assign(t,...e.items.map(S));else if("group"===e.type||"union"===e.type||"optional"===e.type)Object.assign(t,...e.patterns.map(S));else if("service"===e.type||"graph"===e.type)Object.assign(t,S(e.name)),Object.assign(t,...e.patterns.map(S));else if("bind"===e.type)Object.assign(t,S(e.variable));else if("values"===e.type){if(e.values.length>0){const r=Object.keys(e.values[0]).map((e=>f.createTerm(e)));Object.assign(t,...r.map(S))}}else if("query"===e.type&&("SELECT"===e.queryType||"DESCRIBE"===e.queryType)){e.where&&e.variables.some(d.default.isWildcard)&&Object.assign(t,...e.where.map(S));for(const r of e.variables)v(r)?Object.assign(t,S(r)):r.variable&&Object.assign(t,S(r.variable));if("SELECT"===e.queryType){if(e.group)for(const r of e.group)r.variable&&Object.assign(t,S(r.variable));if(e.values){const r={type:"values",values:e.values};Object.assign(t,S(r))}}}var r;return t}function E(e){if("bgp"===e.type)return function(e){let t=[],r=[];for(let i of e.triples)if("pathType"in i.predicate){let e=x((n=i).subject,O(n.predicate),n.object);for(let n of e)n.type===h.PATH?(t.length>0&&r.push(f.createBgp(t)),t=[],r.push(n)):t.push(n)}else t.push(I(i));var n;return t.length>0&&r.push(f.createBgp(t)),1===r.length?r[0]:f.createJoin(r)}(e);if("union"===e.type)return f.createUnion(e.patterns.map((e=>("group"!==e.type&&(e={type:"group",patterns:[e]}),E(e)))));if("graph"===e.type){let t=E({type:"group",patterns:e.patterns});return t=m?P(t,e.name):f.createGraph(t,e.name),t}if("values"===e.type)return N(e);if("query"===e.type)return b(e,m,!1);if("group"===e.type){let t=[],r=[];for(let n of e.patterns)("filter"===n.type?t:r).push(n);let n=r.reduce(F,f.createBgp([])),i=t.map((e=>T(e.expression)));return i.length>0&&(n=f.createFilter(n,i.reduce(((e,t)=>f.createOperatorExpression("&&",[e,t]))))),n}throw new Error(`Unexpected type: ${e.type}`)}function T(e){if(d.default.isSimpleTerm(e))return f.createTermExpression(e);if(d.default.isQuad(e))return d.default.hasQuadVariables(e)?f.createOperatorExpression("triple",[T(e.subject),T(e.predicate),T(e.object)]):f.createTermExpression(e);if(d.default.isWildcard(e))return f.createWildcardExpression();if("aggregation"in e)return f.createAggregateExpression(e.aggregation,T(e.expression),Boolean(e.distinct),e.separator);if("function"in e)return f.createNamedExpression(e.function,e.args.map(T));if("operator"in e)return"exists"===e.operator||"notexists"===e.operator?f.createExistenceExpression("notexists"===e.operator,E(e.args[0])):("in"!==e.operator&&"notin"!==e.operator||(e.args=[e.args[0]].concat(e.args[1])),f.createOperatorExpression(e.operator,e.args.map(T)));throw new Error(`Unknown expression: ${JSON.stringify(e)}`)}function O(e){if(d.default.isSimpleTerm(e)){if("NamedNode"===e.termType)return f.createLink(e);throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(e)}`)}if("^"===e.pathType)return f.createInv(O(e.items[0]));if("!"===e.pathType){let t,r=[],n=[];t="pathType"in e.items[0]&&"|"===e.items[0].pathType?e.items[0].items:e.items;for(let e of t)if(d.default.isSimpleTerm(e))r.push(e);else{if("^"!==e.pathType)throw new Error(`Unexpected item: ${JSON.stringify(e)}`);n.push(e.items[0])}let i=f.createNps(r),o=f.createInv(f.createNps(n));return 0===n.length?i:0===r.length?o:f.createAlt([i,o])}if("/"===e.pathType)return f.createSeq(e.items.map(O));if("|"===e.pathType)return f.createAlt(e.items.map(O));if("*"===e.pathType)return f.createZeroOrMorePath(O(e.items[0]));if("+"===e.pathType)return f.createOneOrMorePath(O(e.items[0]));if("?"===e.pathType)return f.createZeroOrOnePath(O(e.items[0]));throw new Error(`Unable to translate path expression ${JSON.stringify(e)}`)}function x(e,t,r){if(t.type===h.LINK)return[f.createPattern(e,t.iri,r)];if(t.type===h.INV)return x(r,t.path,e);if(t.type===h.SEQ){let n=e;return d.default.flatten(t.input.map(((e,i)=>{const o=i===t.input.length-1?r:A(),a=x(n,e,o);return"Variable"===o.termType&&(n=o),a})))}return[f.createPath(e,t,r)]}function A(){let e="?var"+g++;return y.has(e)?A():(y.add(e),f.createTerm(e))}function I(e){if("pathType"in e.predicate)throw new Error("Trying to translate property path to quad.");return f.createPattern(e.subject,e.predicate,e.object,e.graph)}t.default=function(e,t){let r;if(t=t||{},f=new l.default(t.dataFactory),"string"==typeof e){let n=new p(t);n._resetBlanks(),r=n.parse(e)}else r=e;return b(r,t.quads,t.blankToVariable)};let R=Object.values(h);function P(e,t,r){if(e.type===h.GRAPH){if(r)throw new Error("Recursing through nested GRAPH statements with a replacement is impossible.");e=P(e.input,e.name)}else if(e.type===h.SERVICE);else if(e.type===h.BGP)e.patterns=e.patterns.map((e=>(r&&(e.subject.equals(t)&&(e.subject=r),e.predicate.equals(t)&&(e.predicate=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t),e)));else if(e.type===h.PATH)r&&(e.subject.equals(t)&&(e.subject=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t);else if(e.type!==h.PROJECT||r)if(e.type!==h.EXTEND||r)for(let n of Object.keys(e))Array.isArray(e[n])?e[n]=e[n].map((e=>P(e,t,r))):R.indexOf(e[n].type)>=0?e[n]=P(e[n],t,r):r&&v(e[n])&&e[n].equals(t)&&(e[n]=r);else e.variable.equals(t)&&(r=A()),e.input=P(e.input,t,r);else e.variables.some((e=>e.equals(t)))||(r=A()),e.input=P(e.input,t,r);return e}function F(e,t){if("optional"===t.type){const r=E({type:"group",patterns:t.patterns});e=r.type===h.FILTER?f.createLeftJoin(e,r.input,r.expression):f.createLeftJoin(e,r)}else if("minus"===t.type){const r=E({type:"group",patterns:t.patterns});e=f.createMinus(e,r)}else if("bind"===t.type)e=f.createExtend(e,t.variable,T(t.expression));else if("service"===t.type){const r={type:"group",patterns:t.patterns};e=D(e,f.createService(E(r),t.name,t.silent))}else e=D(e,E(t));return e}function D(e,t){return e.type===h.BGP&&t.type===h.BGP?e=f.createBgp([...e.patterns,...t.patterns]):e.type===h.BGP&&0===e.patterns.length?e=t:t.type===h.BGP&&0===t.patterns.length||(e=f.createJoin([e,t])),e}function N(e){let t=(0===e.values.length?[]:Object.keys(e.values[0])).map(f.createTerm.bind(f)),r=e.values.map((e=>{let t=Object.keys(e);t=t.filter((t=>void 0!==e[t]));let r={};for(let n of t)r[n]=e[n];return r}));return f.createValues(t,r)}function j(e,t){if("type"in e&&"aggregate"===e.type){let r,n=!1;for(let i of Object.keys(t))if(s(t[i],e)){r=f.createTerm(i),n=!0;break}return n||(r=A(),t[(0,c.termToString)(r)]=e),r}return"expression"in e&&e.expression?{...e,expression:j(e.expression,t)}:"args"in e&&e.args?{...e,args:e.args.map((e=>j(e,t)))}:e}function C(e){if("type"in e){if("load"===e.type)return function(e){return f.createLoad(e.source,e.destination,e.silent)}(e);if("clear"===e.type||"create"===e.type||"drop"===e.type)return function(e){let t;switch(t=d.default.isSimpleTerm(e.graph)?e.graph:e.graph.all?"ALL":e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.name,e.type){case"clear":return f.createClear(t,e.silent);case"create":return f.createCreate(t,e.silent);case"drop":return f.createDrop(t,e.silent)}}(e);if("add"===e.type||"copy"===e.type||"move"===e.type)return function(e){const t=e.source.default?"DEFAULT":e.source.name,r=e.destination.default?"DEFAULT":e.destination.name;switch(e.type){case"copy":return f.createCopy(t,r,e.silent);case"move":return f.createMove(t,r,e.silent);case"add":return f.createAdd(t,r,e.silent)}}(e)}else if("insertdelete"===e.updateType||"deletewhere"===e.updateType||"delete"===e.updateType||"insert"===e.updateType)return function(e){if(!m)throw new Error("INSERT/DELETE operations are only supported with quads option enabled");let t,r=[],n=[];if(e.delete&&(r=d.default.flatten(e.delete.map((t=>M(t,e.graph))))),e.insert&&(n=d.default.flatten(e.insert.map((t=>M(t,e.graph))))),e.where&&e.where.length>0){t=E({type:"group",patterns:e.where});const r=e.using;r?t=f.createFrom(t,r.default,r.named):e.graph&&(t=P(t,e.graph))}else"deletewhere"===e.updateType&&r.length>0&&(t=f.createBgp(r));return f.createDeleteInsert(r.length>0?r:void 0,n.length>0?n:void 0,t)}(e);throw new Error(`Unknown update type ${JSON.stringify(e)}`)}function M(e,t){let r=t;"graph"===e.type&&(r=e.name);let n=e.triples;return r&&(n=n.map((e=>Object.assign(e,{graph:r})))),n.map(I)}function k(e){const t={},r=Array.from(y).reduce(((e,t)=>(e[t]=!0,e)),{});return d.default.mapOperation(e,{[u.types.DELETE_INSERT]:e=>({result:e,recurse:!1}),[u.types.PATH]:(e,t)=>({result:t.createPath(n(e.subject),e.predicate,n(e.object),n(e.graph)),recurse:!1}),[u.types.PATTERN]:(e,t)=>({result:t.createPattern(n(e.subject),n(e.predicate),n(e.object),n(e.graph)),recurse:!1}),[u.types.CONSTRUCT]:e=>({result:f.createConstruct(k(e.input),e.template),recurse:!1})});function n(e){if("BlankNode"===e.termType){let n=t[e.value];return n||(n=d.default.createUniqueVariable(e.value,r,f.dataFactory),r[n.value]=!0,t[e.value]=n),n}return e}}},43122:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(7756),o=n(r(35798)),a=r(3285);class s{static flatten(e){return Array.prototype.concat(...e).filter((e=>e))}static objectify(e){if(e.termType){if("Quad"===e.termType)return{type:"pattern",termType:"Quad",subject:s.objectify(e.subject),predicate:s.objectify(e.predicate),object:s.objectify(e.object),graph:s.objectify(e.graph)};{let t={termType:e.termType,value:e.value};return e.language&&(t.language=e.language),e.datatype&&(t.datatype=s.objectify(e.datatype)),t}}if(Array.isArray(e))return e.map((e=>s.objectify(e)));if(e===Object(e)){let t={};for(let r of Object.keys(e))t[r]=s.objectify(e[r]);return t}return e}static inScopeVariables(e){const t=[];function r(e){t.find((t=>e.value===t.value))||t.push(e)}function n(e){"Variable"===e.subject.termType&&r(e.subject),"Variable"===e.predicate.termType&&r(e.predicate),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.predicate.termType&&n(e.predicate),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph)}return s.recurseOperation(e,{[i.types.EXPRESSION]:e=>(e.expressionType===i.expressionTypes.AGGREGATE&&e.variable&&r(e.variable),!0),[i.types.EXTEND]:e=>(r(e.variable),!0),[i.types.GRAPH]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.GROUP]:e=>(e.variables.forEach(r),!0),[i.types.PATH]:e=>("Variable"===e.subject.termType&&r(e.subject),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph),!0),[i.types.PATTERN]:e=>(n(e),!0),[i.types.PROJECT]:e=>(e.variables.forEach(r),!1),[i.types.SERVICE]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.VALUES]:e=>(e.variables.forEach(r),!0)}),t}static recurseOperation(e,t){let r=e,n=!0;const o=t[e.type];if(o&&(n=o(e)),!n)return;let a=e=>s.recurseOperation(e,t);switch(r.type){case i.types.ALT:r.input.map(a);break;case i.types.ASK:a(r.input);break;case i.types.BGP:r.patterns.forEach(a);break;case i.types.CONSTRUCT:a(r.input),r.template.map(a);break;case i.types.DESCRIBE:case i.types.DISTINCT:a(r.input);break;case i.types.EXPRESSION:r.expressionType===i.expressionTypes.EXISTENCE&&a(r.input);break;case i.types.EXTEND:case i.types.FILTER:a(r.input),a(r.expression);break;case i.types.FROM:case i.types.GRAPH:a(r.input);break;case i.types.GROUP:a(r.input),r.aggregates.forEach(a);break;case i.types.INV:a(r.path);break;case i.types.JOIN:r.input.map(a);break;case i.types.LEFT_JOIN:r.input.map(a),r.expression&&a(r.expression);break;case i.types.LINK:break;case i.types.MINUS:r.input.map(a);break;case i.types.NOP:case i.types.NPS:break;case i.types.ONE_OR_MORE_PATH:a(r.path);break;case i.types.ORDER_BY:a(r.input),r.expressions.forEach(a);break;case i.types.PATH:a(r.predicate);break;case i.types.PATTERN:break;case i.types.PROJECT:case i.types.REDUCED:a(r.input);break;case i.types.SEQ:r.input.map(a);break;case i.types.SERVICE:case i.types.SLICE:a(r.input);break;case i.types.UNION:r.input.map(a);break;case i.types.VALUES:break;case i.types.ZERO_OR_MORE_PATH:case i.types.ZERO_OR_ONE_PATH:a(r.path);break;case i.types.COMPOSITE_UPDATE:r.updates.forEach((e=>a(e)));break;case i.types.DELETE_INSERT:r.delete&&r.delete.forEach((e=>a(e))),r.insert&&r.insert.forEach((e=>a(e))),r.where&&a(r.where);break;case i.types.LOAD:case i.types.CLEAR:case i.types.CREATE:case i.types.DROP:case i.types.ADD:case i.types.MOVE:case i.types.COPY:break;default:throw new Error(`Unknown Operation type ${r.type}`)}}static mapOperation(e,t,r){let n=e,a=!0,c=!0;r=r||new o.default;const u=t[e.type];if(u){const t=u(e,r);n=t.result,a=t.recurse,c=!1!==t.copyMetadata}let l;if(c&&(n.metadata||e.metadata)&&(l={...n.metadata,...e.metadata}),!a)return l&&(n.metadata=l),n;let d=e=>s.mapOperation(e,t,r);switch(n.type){case i.types.ALT:n=r.createAlt(n.input.map(d));break;case i.types.ASK:n=r.createAsk(d(n.input));break;case i.types.BGP:n=r.createBgp(n.patterns.map(d));break;case i.types.CONSTRUCT:n=r.createConstruct(d(n.input),n.template.map(d));break;case i.types.DESCRIBE:n=r.createDescribe(d(n.input),n.terms);break;case i.types.DISTINCT:n=r.createDistinct(d(n.input));break;case i.types.EXPRESSION:n=s.mapExpression(n,t,r);break;case i.types.EXTEND:n=r.createExtend(d(n.input),n.variable,d(n.expression));break;case i.types.FILTER:n=r.createFilter(d(n.input),d(n.expression));break;case i.types.FROM:n=r.createFrom(d(n.input),[...n.default],[...n.named]);break;case i.types.GRAPH:n=r.createGraph(d(n.input),n.name);break;case i.types.GROUP:n=r.createGroup(d(n.input),[].concat(n.variables),n.aggregates.map(d));break;case i.types.INV:n=r.createInv(d(n.path));break;case i.types.JOIN:n=r.createJoin(n.input.map(d));break;case i.types.LEFT_JOIN:n=r.createLeftJoin(d(n.input[0]),d(n.input[1]),n.expression?d(n.expression):void 0);break;case i.types.LINK:n=r.createLink(n.iri);break;case i.types.MINUS:n=r.createMinus(d(n.input[0]),d(n.input[1]));break;case i.types.NOP:n=r.createNop();break;case i.types.NPS:n=r.createNps([].concat(n.iris));break;case i.types.ONE_OR_MORE_PATH:n=r.createOneOrMorePath(d(n.path));break;case i.types.ORDER_BY:n=r.createOrderBy(d(n.input),n.expressions.map(d));break;case i.types.PATH:n=r.createPath(n.subject,d(n.predicate),n.object,n.graph);break;case i.types.PATTERN:n=r.createPattern(n.subject,n.predicate,n.object,n.graph);break;case i.types.PROJECT:n=r.createProject(d(n.input),[...n.variables]);break;case i.types.REDUCED:n=r.createReduced(d(n.input));break;case i.types.SEQ:n=r.createSeq(n.input.map(d));break;case i.types.SERVICE:n=r.createService(d(n.input),n.name,n.silent);break;case i.types.SLICE:n=r.createSlice(d(n.input),n.start,n.length);break;case i.types.UNION:n=r.createUnion(n.input.map(d));break;case i.types.VALUES:n=r.createValues([].concat(n.variables),n.bindings.map((e=>Object.assign({},e))));break;case i.types.ZERO_OR_MORE_PATH:n=r.createZeroOrMorePath(d(n.path));break;case i.types.ZERO_OR_ONE_PATH:n=r.createZeroOrOnePath(d(n.path));break;case i.types.COMPOSITE_UPDATE:n=r.createCompositeUpdate(n.updates.map(d));break;case i.types.DELETE_INSERT:n=r.createDeleteInsert(n.delete?n.delete.map(d):void 0,n.insert?n.insert.map(d):void 0,n.where?d(n.where):void 0);break;case i.types.LOAD:n=r.createLoad(n.source,n.destination,n.silent);break;case i.types.CLEAR:n=r.createClear(n.source,n.silent);break;case i.types.CREATE:n=r.createCreate(n.source,n.silent);break;case i.types.DROP:n=r.createDrop(n.source,n.silent);break;case i.types.ADD:n=r.createAdd(n.source,n.destination);break;case i.types.MOVE:n=r.createMove(n.source,n.destination);break;case i.types.COPY:n=r.createCopy(n.source,n.destination);break;default:throw new Error(`Unknown Operation type ${n.type}`)}return l&&(n.metadata=l),n}static mapExpression(e,t,r){let n=e,a=!0;r=r||new o.default;const c=t[e.expressionType];if(c&&({result:n,recurse:a}=c(e,r)),!a)return n;let u=e=>s.mapOperation(e,t,r);switch(e.expressionType){case i.expressionTypes.AGGREGATE:return e.variable?r.createBoundAggregate(e.variable,e.aggregator,u(e.expression),e.distinct,e.separator):r.createAggregateExpression(e.aggregator,u(e.expression),e.distinct,e.separator);case i.expressionTypes.EXISTENCE:return r.createExistenceExpression(e.not,u(e.input));case i.expressionTypes.NAMED:return r.createNamedExpression(e.name,e.args.map(u));case i.expressionTypes.OPERATOR:return r.createOperatorExpression(e.operator,e.args.map(u));case i.expressionTypes.TERM:return r.createTermExpression(e.term);case i.expressionTypes.WILDCARD:return r.createWildcardExpression();default:throw new Error(`Unknown Expression type ${e.expressionType}`)}}static cloneOperation(e){return s.mapOperation(e,{})}static cloneExpression(e){return s.mapExpression(e,{})}static createUniqueVariable(e,t,r){let n=0,i=e;for(;t[i];)i=`${e}${n++}`;return r.variable(i)}static isSimpleTerm(e){return void 0!==e.termType&&"Quad"!==e.termType&&"Wildcard"!==e.termType}static isQuad(e){return"Quad"===e.termType}static hasQuadVariables(e){return(0,a.someTermsNested)(e,(e=>"Variable"===e.termType))}static isWildcard(e){return"Wildcard"===e.termType}}t.default=s},50776:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryGroupConcat=void 0;const n=r(86581),i=r(90711),o=r(90412),a=r(52573);class s extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"group_concat"!==e.expr.aggregator?(0,o.failTest)("This actor only supports the 'group_concat' aggregator."):(0,o.passTestVoid)()}async run({context:e,expr:t}){return new a.GroupConcatAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct,e.getSafe(i.KeysInitQuery.dataFactory),t.separator)}}t.ActorBindingsAggregatorFactoryGroupConcat=s},52573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GroupConcatAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r,n,i){super(e,t,i),this.dataFactory=r,this.state=void 0,this.lastLanguageValid=!0,this.lastLanguage=void 0,this.separator=n??" "}emptyValueTerm(){return i.typedLiteral("",i.TypeURL.XSD_STRING)}putTerm(e){void 0===this.state?(this.state=e.value,"Literal"===e.termType&&(this.lastLanguage=e.language)):(this.state+=this.separator+e.value,this.lastLanguageValid&&"Literal"===e.termType&&this.lastLanguage!==e.language&&(this.lastLanguageValid=!1,this.lastLanguage=void 0))}termResult(){return void 0===this.state?this.emptyValue():this.lastLanguageValid&&this.lastLanguage?i.langString(this.state,this.lastLanguage).toRDF(this.dataFactory):i.typedLiteral(this.state,i.TypeURL.XSD_STRING)}}t.GroupConcatAggregator=o},37779:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50776),t),i(r(52573),t)},58959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryMax=void 0;const n=r(86581),i=r(90412),o=r(7394);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorTermComparatorFactory=e.mediatorTermComparatorFactory}async test(e){return"max"!==e.expr.aggregator?(0,i.failTest)("This actor only supports the 'max' aggregator."):(0,i.passTestVoid)()}async run({expr:e,context:t}){return new o.MaxAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),e.distinct,await this.mediatorTermComparatorFactory.mediate({context:t}))}}t.ActorBindingsAggregatorFactoryMax=a},7394:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MaxAggregator=void 0;const n=r(86581);class i extends n.AggregateEvaluator{constructor(e,t,r,n){super(e,t,n),this.orderByEvaluator=r,this.state=void 0}putTerm(e){if("Literal"!==e.termType)throw new Error(`Term with value ${e.value} has type ${e.termType} and is not a literal`);(void 0===this.state||-1===this.orderByEvaluator.orderTypes(this.state,e))&&(this.state=e)}termResult(){return void 0===this.state?this.emptyValue():this.state}}t.MaxAggregator=i},51237:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(58959),t),i(r(7394),t)},13903:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryMin=void 0;const n=r(86581),i=r(90412),o=r(7178);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorTermComparatorFactory=e.mediatorTermComparatorFactory}async test(e){return"min"!==e.expr.aggregator?(0,i.failTest)("This actor only supports the 'min' aggregator."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new o.MinAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct,await this.mediatorTermComparatorFactory.mediate({context:e}))}}t.ActorBindingsAggregatorFactoryMin=a},7178:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MinAggregator=void 0;const n=r(86581);class i extends n.AggregateEvaluator{constructor(e,t,r,n){super(e,t,n),this.orderByEvaluator=r,this.state=void 0}putTerm(e){if("Literal"!==e.termType)throw new Error(`Term with value ${e.value} has type ${e.termType} and is not a literal`);(void 0===this.state||1===this.orderByEvaluator.orderTypes(this.state,e))&&(this.state=e)}termResult(){return void 0===this.state?this.emptyValue():this.state}}t.MinAggregator=i},13847:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13903),t),i(r(7178),t)},30785:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactorySample=void 0;const n=r(86581),i=r(90412),o=r(71932);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"sample"!==e.expr.aggregator?(0,i.failTest)("This actor only supports the 'sample' aggregator."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new o.SampleAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct)}}t.ActorBindingsAggregatorFactorySample=a},71932:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SampleAggregator=void 0;const n=r(86581);class i extends n.AggregateEvaluator{constructor(e,t,r){super(e,t,r),this.state=void 0}putTerm(e){void 0===this.state&&(this.state=e)}termResult(){return void 0===this.state?this.emptyValue():this.state}}t.SampleAggregator=i},71271:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30785),t),i(r(71932),t)},20935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactorySum=void 0;const n=r(86581),i=r(90711),o=r(90412),a=r(77545),s=r(77866);class c extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async test(e){return"sum"!==e.expr.aggregator?(0,o.failTest)("This actor only supports the 'sum' aggregator."):(0,o.passTestVoid)()}async run({expr:e,context:t}){return new s.SumAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),e.distinct,t.getSafe(i.KeysInitQuery.dataFactory),await this.mediatorFunctionFactory.mediate({functionName:a.SparqlOperator.ADDITION,context:t,requireTermExpression:!0}))}}t.ActorBindingsAggregatorFactorySum=c},77866:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SumAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r,n,i){super(e,t,i),this.dataFactory=r,this.additionFunction=n,this.state=void 0}emptyValueTerm(){return(0,i.typedLiteral)("0",i.TypeURL.XSD_INTEGER)}putTerm(e){if(void 0===this.state)this.state=this.termToNumericOrError(e);else{const t=this.termToNumericOrError(e);this.state=this.additionFunction.applyOnTerms([this.state,t],this.evaluator)}}termResult(){return void 0===this.state?this.emptyValue():this.state.toRDF(this.dataFactory)}}t.SumAggregator=o},26568:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20935),t),i(r(77866),t)},38020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryWildcardCount=void 0;const n=r(86581),i=r(90412),o=r(60801);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"count"!==e.expr.aggregator||"wildcard"!==e.expr.expression.expressionType?(0,i.failTest)("This actor only supports the 'count' aggregator with wildcard."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new o.WildcardCountAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct)}}t.ActorBindingsAggregatorFactoryWildcardCount=a},60801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WildcardCountAggregator=void 0;const n=r(86581),i=r(77545),o=r(43347);class a extends n.AggregateEvaluator{constructor(e,t,r){super(e,t,r),this.bindingValues=new Map,this.state=void 0}putTerm(e){}async putBindings(e){this.handleDistinct(e)||(void 0===this.state&&(this.state=0),this.state+=1)}emptyValueTerm(){return(0,i.typedLiteral)("0",i.TypeURL.XSD_INTEGER)}termResult(){return void 0===this.state?this.emptyValue():(0,i.typedLiteral)(String(this.state),i.TypeURL.XSD_INTEGER)}handleDistinct(e){if(this.distinct){const t=[...e];t.sort(((e,t)=>e[0].value.localeCompare(t[0].value)));const r=t.map((([e])=>e.value)).join(","),n=t.map((([,e])=>o.termToString(e))).join(","),i=this.bindingValues.get(r),a=void 0!==i&&i.has(n);return i||this.bindingValues.set(r,new Set),this.bindingValues.get(r).add(n),a}return!1}}t.WildcardCountAggregator=a},20489:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38020),t),i(r(60801),t)},72243:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessConvertShortcuts=void 0;const n=r(98926),i=r(90412);class o extends n.ActorContextPreprocess{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{context:o.expandShortcuts(e.context,this.contextKeyShortcuts)}}static expandShortcuts(e,t){for(const r of e.keys())t[r.name]&&(e=e.set(new i.ActionContextKey(t[r.name]),e.get(r)).delete(r));return e}}t.ActorContextPreprocessConvertShortcuts=o},71871:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(72243),t)},90284:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessQuerySourceIdentify=void 0;const n=r(98926),i=r(90711),o=r(90412),a=r(89096);class s extends n.ActorContextPreprocess{constructor(e){super(e),this.cache=this.cacheSize?new a.LRUCache({max:this.cacheSize}):void 0;const t=this.cache;t&&this.httpInvalidator.addInvalidateListener((({url:e})=>e?t.delete(e):t.clear()))}async test(e){return(0,o.passTestVoid)()}async run(e){let t=e.context;if(t.has(i.KeysInitQuery.querySourcesUnidentified)){const r=e.context.get(i.KeysInitQuery.querySourcesUnidentified),n=await Promise.all(r.map((e=>this.expandSource(e)))),o=await Promise.all(n.map((async t=>this.identifySource(t,e.context)))),a=e.context.get(i.KeysStatistics.dereferencedLinks);if(a)for(const e of o)a.updateStatistic({url:e.source.referenceValue,metadata:{seed:!0}},e.source);t=e.context.delete(i.KeysInitQuery.querySourcesUnidentified).set(i.KeysQueryOperation.querySources,o)}return{context:t}}async expandSource(e){return"string"==typeof e||"match"in e?{value:e}:{...e,context:(await this.mediatorContextPreprocess.mediate({context:o.ActionContext.ensureActionContext(e.context??{})})).context}}identifySource(e,t){let r;return"string"==typeof e.value&&this.cache&&(r=this.cache.get(e.value)),r||(r=this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:e,context:t}).then((({querySource:e})=>e)),"string"==typeof e.value&&this.cache&&this.cache.set(e.value,r)),r}}t.ActorContextPreprocessQuerySourceIdentify=s},38235:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(90284),t)},17426:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessQuerySourceSkolemize=void 0;const n=r(98926),i=r(90711),o=r(90412),a=r(3898),s=r(28703);class c extends n.ActorContextPreprocess{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){let t=e.context;if(t.has(i.KeysQueryOperation.querySources)){t.has(i.KeysQuerySourceIdentify.sourceIds)||(t=t.set(i.KeysQuerySourceIdentify.sourceIds,new Map));const e=t.getSafe(i.KeysQuerySourceIdentify.sourceIds);let r=t.getSafe(i.KeysQueryOperation.querySources);r=r.map((t=>({source:new a.QuerySourceSkolemized(t.source,(0,s.getSourceId)(e,t.source)),context:t.context}))),t=t.set(i.KeysQueryOperation.querySources,r)}return{context:t}}}t.ActorContextPreprocessQuerySourceSkolemize=c},3898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceSkolemized=void 0;const n=r(90711),i=r(99214),o=r(75627),a=r(28703);t.QuerySourceSkolemized=class{constructor(e,t){this.innerSource=e,this.sourceId=t}async getSelectorShape(e){return this.innerSource.getSelectorShape(e)}queryBindings(e,t,r){const s=t.getSafe(n.KeysInitQuery.dataFactory),c=(0,a.deskolemizeOperation)(s,e,this.sourceId);if(!c){const e=new o.ArrayIterator([],{autoStart:!1});return e.setProperty("metadata",{state:new i.MetadataValidationState,cardinality:{type:"exact",value:0},variables:[]}),e}return(0,a.skolemizeBindingsStream)(s,this.innerSource.queryBindings(c,t,r),this.sourceId)}queryBoolean(e,t){return this.innerSource.queryBoolean(e,t)}queryQuads(e,t){const r=t.getSafe(n.KeysInitQuery.dataFactory),s=(0,a.deskolemizeOperation)(r,e,this.sourceId);if(!s){const e=new o.ArrayIterator([],{autoStart:!1});return e.setProperty("metadata",{state:new i.MetadataValidationState,cardinality:{type:"exact",value:0}}),e}return(0,a.skolemizeQuadStream)(r,this.innerSource.queryQuads(s,t),this.sourceId)}queryVoid(e,t){return this.innerSource.queryVoid(e,t)}get referenceValue(){return this.innerSource.referenceValue}toString(){return`${this.innerSource.toString()}(SkolemID:${this.sourceId})`}}},21806:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17426),t),i(r(3898),t),i(r(28703),t)},28703:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deskolemizeOperation=t.deskolemizeQuad=t.deskolemizeTermNestedThrowing=t.deskolemizeTerm=t.skolemizeBindingsStream=t.skolemizeQuadStream=t.skolemizeBindings=t.skolemizeQuad=t.skolemizeTerm=t.getSourceId=t.SKOLEM_PREFIX=void 0;const n=r(51296),i=r(3285),o=r(96331);function a(e,r,i){return"BlankNode"===r.termType?new n.BlankNodeScoped(`bc_${i}_${r.value}`,e.namedNode(`${t.SKOLEM_PREFIX}${i}:${r.value}`)):r}function s(e,t,r){return(0,i.mapTermsNested)(t,(t=>a(e,t,r)))}function c(e,t,r){return t.map((t=>"Quad"===t.termType?s(e,t,r):a(e,t,r)))}function u(e,r,n){if("BlankNode"===r.termType&&"skolemized"in r&&(r=r.skolemized),"NamedNode"===r.termType&&r.value.startsWith(t.SKOLEM_PREFIX)){const i=r.value.indexOf(":",t.SKOLEM_PREFIX.length);if(r.value.slice(t.SKOLEM_PREFIX.length,i)===n){const t=r.value.slice(i+1,r.value.length);return e.blankNode(t)}return null}return r}function l(e,t,r){if("Quad"===t.termType)return(0,i.mapTermsNested)(t,(t=>{const n=u(e,t,r);if(!n)throw new Error("Skolemized term is not in scope for this source");return n}));const n=u(e,t,r);if(null===n)throw new Error("Skolemized term is not in scope for this source");return n}t.SKOLEM_PREFIX="urn:comunica_skolem:source_",t.getSourceId=function(e,t){let r=e.get(t.referenceValue);return void 0===r&&(r=`${e.size}`,e.set(t.referenceValue,r)),r},t.skolemizeTerm=a,t.skolemizeQuad=s,t.skolemizeBindings=c,t.skolemizeQuadStream=function(e,t,r){const n=t.map((t=>s(e,t,r)));return function e(){t.getProperty("metadata",(t=>{n.setProperty("metadata",t),t.state.addInvalidateListener(e)}))}(),n},t.skolemizeBindingsStream=function(e,t,r){const n=t.map((t=>c(e,t,r)));return function e(){t.getProperty("metadata",(t=>{n.setProperty("metadata",t),t.state.addInvalidateListener(e)}))}(),n},t.deskolemizeTerm=u,t.deskolemizeTermNestedThrowing=l,t.deskolemizeQuad=function(e,t,r){return(0,i.mapTermsNested)(t,(t=>u(e,t,r)??t))},t.deskolemizeOperation=function(e,t,r){const n=new o.Factory;try{return o.Util.mapOperation(t,{[o.Algebra.types.PATTERN]:(t,n)=>({result:Object.assign(n.createPattern(l(e,t.subject,r),l(e,t.predicate,r),l(e,t.object,r),l(e,t.graph,r)),{metadata:t.metadata}),recurse:!1}),[o.Algebra.types.PATH]:(t,n)=>({result:Object.assign(n.createPath(l(e,t.subject,r),t.predicate,l(e,t.object,r),l(e,t.graph,r)),{metadata:t.metadata}),recurse:!1})},n)}catch{}}},78867:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessSetDefaults=void 0;const n=r(98926),i=r(90711),o=r(90412),a=r(47793);class s extends n.ActorContextPreprocess{constructor(e){super(e),this.defaultFunctionArgumentsCache={}}async test(e){return(0,o.passTestVoid)()}async run(e){let t=e.context;if(e.initialize){t=t.setDefault(i.KeysInitQuery.queryTimestamp,new Date).setDefault(i.KeysInitQuery.queryTimestampHighResolution,performance.now()).setDefault(i.KeysQuerySourceIdentify.sourceIds,new Map).setDefault(i.KeysCore.log,this.logger).setDefault(i.KeysInitQuery.functionArgumentsCache,this.defaultFunctionArgumentsCache).setDefault(i.KeysQuerySourceIdentify.hypermediaSourcesAggregatedStores,new Map).setDefault(i.KeysInitQuery.dataFactory,new a.DataFactory);let e={language:"sparql",version:"1.1"};t.has(i.KeysInitQuery.queryFormat)?(e=t.get(i.KeysInitQuery.queryFormat),"graphql"===e.language&&(t=t.setDefault(i.KeysInitQuery.graphqlSingularizeVariables,{}))):t=t.set(i.KeysInitQuery.queryFormat,e)}return{context:t}}}t.ActorContextPreprocessSetDefaults=s},10607:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(78867),t)},36356:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessSourceToDestination=void 0;const n=r(98926),i=r(90711),o=r(90412);class a extends n.ActorContextPreprocess{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){if(e.context.get(i.KeysInitQuery.querySourcesUnidentified)&&!e.context.get(i.KeysRdfUpdateQuads.destination)){const t=e.context.get(i.KeysInitQuery.querySourcesUnidentified);if(1===t.length)return{context:e.context.set(i.KeysRdfUpdateQuads.destination,t[0])}}return e}}t.ActorContextPreprocessSourceToDestination=a},94410:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36356),t)},10601:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceFallback=void 0;const n=r(42890),i=r(90412);class o extends n.ActorDereference{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return this.handleDereferenceErrors(e,new Error(`Could not dereference '${e.url}'`))}}t.ActorDereferenceFallback=o},67498:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(10601),t)},77772:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceHttp=void 0;const n=r(16524);class i extends n.ActorDereferenceHttpBase{getMaxAcceptHeaderLength(){return this.maxAcceptHeaderLengthBrowser}}t.ActorDereferenceHttp=i},16524:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceHttpBase=t.mediaTypesToAcceptString=void 0;const n=r(42890),i=r(70322),o=r(90412),a=r(52728),s=r(70742),c=/^[^ ;]*/u;function u(e,t){const r=[],n=Object.entries(e).map((([e,t])=>({mediaType:e,priority:t}))).sort(((e,t)=>t.priority===e.priority?e.mediaType.localeCompare(t.mediaType):t.priority-e.priority));let i=n.length-1;for(const{mediaType:e,priority:o}of n){const n=e+(1===o?"":`;q=${o.toFixed(3).replace(/0*$/u,"")}`);if(i+n.length>t){for(;i+9>t;)i-=(r.pop()??"").length+1;r.push("*/*;q=0.1");break}r.push(n),i+=n.length}return 0===r.length?"*/*":r.join(",")}t.mediaTypesToAcceptString=u;class l extends n.ActorDereference{constructor(e){super(e)}async test({url:e}){return/^https?:/u.test(e)?(0,o.passTestVoid)():(0,o.failTest)(`Cannot retrieve ${e} because it is not an HTTP(S) URL.`)}async run(e){let t=!0;const r=new Headers(e.headers);let o;r.append("Accept",u(await(e.mediaTypes?.())??{},this.getMaxAcceptHeaderLength()));const l=Date.now();try{o=await this.mediatorHttp.mediate({context:e.context,init:{headers:r,method:e.method},input:e.url})}catch(t){return this.handleDereferenceErrors(e,t)}const d=(0,s.resolve)(o.url,e.url),p=Date.now()-l;if(200!==o.status){t=!1;const r=o.body?await(0,a.stringify)(i.ActorHttp.toNodeReadable(o.body)):"empty response";if(!e.acceptErrors){const t=new Error(`Could not retrieve ${e.url} (HTTP status ${o.status}):\n${r}`);return this.handleDereferenceErrors(e,t,o.headers,p)}}const h=c.exec(o.headers.get("content-type")??"")?.[0];return{url:d,data:t?i.ActorHttp.toNodeReadable(o.body):(0,n.emptyReadable)(),exists:t,requestTime:p,headers:o.headers,mediaType:"text/plain"===h?void 0:h}}}t.ActorDereferenceHttpBase=l},78e3:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77772),t),i(r(16524),t)},94424:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceRdfParse=void 0;const n=r(86475);class i extends n.ActorDereferenceRdf{constructor(e){super(e)}async getMetadata(e){return{baseIRI:e.url}}}t.ActorDereferenceRdfParse=i},11558:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(94424),t)},47:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorExpressionEvaluatorFactoryDefault=void 0;const n=r(37811),i=r(90711),o=r(90412),a=r(81926),s=r(77545),c=r(96607),u=r(61549);class l extends n.ActorExpressionEvaluatorFactory{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=(0,s.prepareEvaluatorActionContext)(e.context);return new u.ExpressionEvaluator(t,await new c.AlgebraTransformer(t,this.mediatorFunctionFactory).transformAlgebra(e.algExpr),this.mediatorFunctionFactory,this.mediatorQueryOperation,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,e.context.getSafe(i.KeysInitQuery.dataFactory)))}}t.ActorExpressionEvaluatorFactoryDefault=l},96607:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AlgebraTransformer=void 0;const n=r(90711),i=r(77545),o=r(96331);class a extends i.TermTransformer{constructor(e,t){super(e.getSafe(n.KeysExpressionEvaluator.superTypeProvider)),this.context=e,this.mediatorFunctionFactory=t}async transformAlgebra(e){const t=o.Algebra.expressionTypes;switch(e.expressionType){case t.TERM:return this.transformTerm(e);case t.OPERATOR:return await this.transformOperator(e);case t.NAMED:return await this.transformNamed(e);case t.EXISTENCE:return a.transformExistence(e);case t.AGGREGATE:return a.transformAggregate(e);case t.WILDCARD:return a.transformWildcard(e)}}static transformWildcard(e){return new i.NamedNode(e.wildcard.value)}async getOperator(e,t){const r=await this.mediatorFunctionFactory.mediate({functionName:e,arguments:t.args,context:this.context}),n=await Promise.all(t.args.map((e=>this.transformAlgebra(e))));if(!r.checkArity(n))throw new i.InvalidArity(n,e);return new i.Operator(e,n,r.apply)}async transformOperator(e){return this.getOperator(e.operator.toLowerCase(),e)}async transformNamed(e){return this.getOperator(e.name.value,e)}static transformAggregate(e){const t=e.aggregator;return new i.Aggregate(t,e)}static transformExistence(e){return new i.Existence(e)}}t.AlgebraTransformer=a},61549:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionEvaluator=void 0;const n=r(90711),i=r(74448);t.ExpressionEvaluator=class{constructor(e,t,r,n,o){this.context=e,this.expr=t,this.mediatorFunctionFactory=r,this.mediatorQueryOperation=n,this.bindingsFactory=o,this.internalEvaluator=new i.InternalEvaluator(e,r,n,o)}async evaluate(e){return(await this.internalEvaluator.evaluatorExpressionEvaluation(this.expr,e)).toRDF(this.context.getSafe(n.KeysInitQuery.dataFactory))}async evaluateAsEBV(e){return(await this.internalEvaluator.evaluatorExpressionEvaluation(this.expr,e)).coerceEBV()}evaluateAsEvaluatorExpression(e){return this.evaluatorExpressionEvaluation(this.expr,e)}evaluatorExpressionEvaluation(e,t){return this.internalEvaluator.evaluatorExpressionEvaluation(e,t)}}},74448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InternalEvaluator=void 0;const n=r(90711),i=r(42996),o=r(77545),a=r(67021),s=r(96331),c=r(96607);t.InternalEvaluator=class{constructor(e,t,r,n){this.context=e,this.mediatorQueryOperation=r,this.bindingsFactory=n,this.subEvaluators={[i.ExpressionType.Term]:(e,t)=>this.term(e),[i.ExpressionType.Variable]:(e,t)=>this.variable(e,t),[i.ExpressionType.Operator]:(e,t)=>this.evalFunction(e,t),[i.ExpressionType.Existence]:(e,t)=>this.evalExistence(e,t),[i.ExpressionType.Aggregate]:(e,t)=>this.evalAggregate()},this.transformer=new c.AlgebraTransformer(e,t)}async evaluatorExpressionEvaluation(e,t){return this.subEvaluators[e.expressionType].bind(this)(e,t)}term(e){return e}variable(e,t){const r=t.get(o.expressionToVar(this.context.getSafe(n.KeysInitQuery.dataFactory),e));if(!r)throw new o.UnboundVariableError(e.name,t);return this.transformer.transformRDFTermUnsafe(r)}async evalFunction(e,t){return e.apply({args:e.args,mapping:t,exprEval:this})}async evalExistence(e,t){const r=this.context.getSafe(n.KeysInitQuery.dataFactory),i=new s.Factory(r),c=(0,a.materializeOperation)(e.expression.input,t,i,this.bindingsFactory),u=await this.mediatorQueryOperation.mediate({operation:c,context:this.context}),l=(0,a.getSafeBindings)(u);return await new Promise(((e,t)=>{l.bindingsStream.on("end",(()=>{e(!1)})),l.bindingsStream.on("error",t),l.bindingsStream.on("data",(()=>{l.bindingsStream.close(),e(!0)}))})).then((t=>e.expression.not?!t:t)).then((e=>new o.BooleanLiteral(e)))}evalAggregate(){throw new o.NoAggregator}}},76810:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(47),t)},69909:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionBnode=void 0;const n=r(77617),i=r(77545),o=r(5526);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.BNODE],termFunction:!1})}async run(e){return new o.ExpressionFunctionBnode}}t.ActorFunctionFactoryExpressionBnode=a},5526:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionBnode=void 0;const n=r(77617),i=r(90711),o=r(51296),a=r(77545);class s extends n.ExpressionFunctionBase{constructor(){super({arity:Number.POSITIVE_INFINITY,operator:a.SparqlOperator.BNODE,apply:async e=>{const{args:t,mapping:r,exprEval:n}=e,c=1===t.length?await n.evaluatorExpressionEvaluation(t[0],r):void 0;let u;if(c){const e=s.bnodeTree.search([c],n.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider),n.context.getSafe(i.KeysInitQuery.functionArgumentsCache));if(!e)throw new a.InvalidArgumentTypes(t,a.SparqlOperator.BNODE);u=e(n)([c]).str()}const l=new o.BlankNodeBindingsScoped(u??"BNODE_"+s.bnodeCounter++);return new a.BlankNode(l)}})}checkArity(e){return 0===e.length||1===e.length}}t.ExpressionFunctionBnode=s,s.bnodeTree=(0,a.declare)(a.SparqlOperator.BNODE).onString1((()=>e=>e)).collect(),s.bnodeCounter=0},52598:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(69909),t)},26357:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionBound=void 0;const n=r(77617),i=r(77545),o=r(72818);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.BOUND],termFunction:!1})}async run(e){return new o.ExpressionFunctionBound}}t.ActorFunctionFactoryExpressionBound=a},72818:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionBound=void 0;const n=r(77617),i=r(90711),o=r(42996),a=r(77545);class s extends n.ExpressionFunctionBase{constructor(){super({arity:1,operator:a.SparqlOperator.BOUND,apply:async({args:e,mapping:t,exprEval:r})=>{const n=e[0];if(n.expressionType!==o.ExpressionType.Variable)throw new a.InvalidArgumentTypes(e,a.SparqlOperator.BOUND);const s=t.has((0,a.expressionToVar)(r.context.getSafe(i.KeysInitQuery.dataFactory),n));return(0,a.bool)(s)}})}}t.ExpressionFunctionBound=s},19856:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26357),t)},26615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionCoalesce=void 0;const n=r(77617),i=r(77545),o=r(67626);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.COALESCE],termFunction:!1})}async run(e){return new o.ExpressionFunctionCoalesce}}t.ActorFunctionFactoryExpressionCoalesce=a},67626:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionCoalesce=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:Number.POSITIVE_INFINITY,operator:i.SparqlOperator.COALESCE,apply:async({args:e,mapping:t,exprEval:r})=>{const n=[];for(const i of e)try{return await r.evaluatorExpressionEvaluation(i,t)}catch(e){n.push(e)}throw new i.CoalesceError(n)}})}}t.ExpressionFunctionCoalesce=o},4475:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26615),t)},89349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionConcat=void 0;const n=r(77617),i=r(77545),o=r(73392);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.CONCAT],termFunction:!1})}async run(e){return new o.ExpressionFunctionConcat}}t.ActorFunctionFactoryExpressionConcat=a},73392:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionConcat=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.ExpressionFunctionBase{constructor(){super({arity:Number.POSITIVE_INFINITY,operator:o.SparqlOperator.CONCAT,apply:async e=>{const{args:t,mapping:r,exprEval:n}=e,s=t.map((async e=>n.evaluatorExpressionEvaluation(e,r))).map((async e=>{const r=a.concatTree.search([await e],n.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider),n.context.getSafe(i.KeysInitQuery.functionArgumentsCache));if(!r)throw new o.InvalidArgumentTypes(t,o.SparqlOperator.CONCAT);return r(n)([await e])})),c=await Promise.all(s),u=c.map((e=>e.typedValue)).join(""),l=a.langAllEqual(c)?c[0].language:void 0;return l?(0,o.langString)(u,l):(0,o.string)(u)}})}static langAllEqual(e){return e.length>0&&e.every((t=>t.language===e[0].language))}}t.ExpressionFunctionConcat=a,a.concatTree=(0,o.declare)(o.SparqlOperator.CONCAT).onStringly1((()=>e=>e)).collect()},85312:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(89349),t)},40589:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionExtensions=void 0;const n=r(77617),i=r(90711),o=r(90412),a=r(47793),s=r(71742);class c extends n.ActorFunctionFactory{constructor(e){super(e)}async test({context:e,functionName:t}){const r=e.getSafe(i.KeysExpressionEvaluator.extensionFunctionCreator);return await r((new a.DataFactory).namedNode(t))?(0,o.passTestVoid)():(0,o.failTest)(`Actor ${this.name} can only provide non-termExpression implementations for functions that are provided through config entries like: ${i.KeysInitQuery.extensionFunctionCreator.name} or ${i.KeysInitQuery.extensionFunctions.name}`)}async run({context:e,functionName:t}){const r=e.getSafe(i.KeysExpressionEvaluator.extensionFunctionCreator),n=await r((new a.DataFactory).namedNode(t));return new s.NamedExtension({operator:t,functionDefinition:n})}}t.ActorFunctionFactoryExpressionExtensions=c},71742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedExtension=void 0;const n=r(5673),i=r(90711),o=r(77545);class a extends n.ExpressionFunctionBase{constructor({operator:e,functionDefinition:t}){super({arity:Number.POSITIVE_INFINITY,operator:e,apply:async({args:e,exprEval:r,mapping:n})=>{const a=await Promise.all(e.map((e=>r.evaluatorExpressionEvaluation(e,n))));try{return new o.TermTransformer(r.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider)).transformRDFTermUnsafe(await t(a.map((e=>e.toRDF(r.context.getSafe(i.KeysInitQuery.dataFactory))))))}catch(e){throw new o.ExtensionFunctionError(this.operator,e)}}})}}t.NamedExtension=a},66478:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40589),t)},68435:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionIf=void 0;const n=r(77617),i=r(77545),o=r(20550);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IF],termFunction:!1})}async run(e){return new o.ExpressionFunctionIf}}t.ActorFunctionFactoryExpressionIf=a},20550:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionIf=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:3,operator:i.SparqlOperator.IF,apply:async({args:e,mapping:t,exprEval:r})=>(await r.evaluatorExpressionEvaluation(e[0],t)).coerceEBV()?r.evaluatorExpressionEvaluation(e[1],t):r.evaluatorExpressionEvaluation(e[2],t)})}}t.ExpressionFunctionIf=o},40767:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(68435),t)},16883:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionIn=void 0;const n=r(77617),i=r(77545),o=r(7190);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IN],termFunction:!1}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.ExpressionFunctionIn(t)}}t.ActorFunctionFactoryExpressionIn=a},7190:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionIn=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(e){super({arity:Number.POSITIVE_INFINITY,operator:i.SparqlOperator.IN,apply:async e=>{const{args:t,mapping:r,exprEval:n}=e,[i,...o]=t,a=await n.evaluatorExpressionEvaluation(i,r);return await this.inRecursive(a,{...e,args:o},[])}}),this.equalityFunction=e}checkArity(e){return e.length>0}async inRecursive(e,t,r){const{args:n,mapping:o,exprEval:a}=t;if(0===n.length)return r.every((e=>!e))?(0,i.bool)(!1):Promise.reject(new i.InError(r));try{const s=n.shift(),c=await a.evaluatorExpressionEvaluation(s,o);return this.equalityFunction.applyOnTerms([e,c],a).typedValue?(0,i.bool)(!0):this.inRecursive(e,t,[...r,!1])}catch(n){return this.inRecursive(e,t,[...r,n])}}}t.ExpressionFunctionIn=o},94311:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16883),t)},19464:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionLogicalAnd=void 0;const n=r(77617),i=r(77545),o=r(60677);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LOGICAL_AND],termFunction:!1})}async run(e){return new o.ExpressionFunctionLogicalAnd}}t.ActorFunctionFactoryExpressionLogicalAnd=a},60677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionLogicalAnd=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.LOGICAL_AND,apply:async({args:e,mapping:t,exprEval:r})=>{const[n,o]=e;try{if(!(await r.evaluatorExpressionEvaluation(n,t)).coerceEBV())return(0,i.bool)(!1);const e=(await r.evaluatorExpressionEvaluation(o,t)).coerceEBV();return(0,i.bool)(e)}catch(e){if((await r.evaluatorExpressionEvaluation(o,t)).coerceEBV())throw e;return(0,i.bool)(!1)}}})}}t.ExpressionFunctionLogicalAnd=o},12067:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19464),t)},30872:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionLogicalOr=void 0;const n=r(77617),i=r(77545),o=r(40883);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LOGICAL_OR],termFunction:!1})}async run(e){return new o.ExpressionFunctionLogicalOr}}t.ActorFunctionFactoryExpressionLogicalOr=a},40883:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionLogicalOr=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.LOGICAL_OR,apply:async({args:e,mapping:t,exprEval:r})=>{const[n,o]=e;try{if((await r.evaluatorExpressionEvaluation(n,t)).coerceEBV())return(0,i.bool)(!0);const e=(await r.evaluatorExpressionEvaluation(o,t)).coerceEBV();return(0,i.bool)(e)}catch(e){if(!(await r.evaluatorExpressionEvaluation(o,t)).coerceEBV())throw e;return(0,i.bool)(!0)}}})}}t.ExpressionFunctionLogicalOr=o},1223:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30872),t)},29832:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionNotIn=void 0;const n=r(77617),i=r(77545),o=r(5743);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOT_IN],termFunction:!1}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.IN,context:e.context,arguments:e.arguments});return new o.ExpressionFunctionNotIn(t)}}t.ActorFunctionFactoryExpressionNotIn=a},5743:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionNotIn=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(e){super({arity:Number.POSITIVE_INFINITY,operator:i.SparqlOperator.NOT_IN,apply:async e=>{const t=await this.inFunction.apply(e);return(0,i.bool)(!t.typedValue)}}),this.inFunction=e}checkArity(e){return e.length>0}}t.ExpressionFunctionNotIn=o},63067:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29832),t)},86652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionSameTerm=void 0;const n=r(77617),i=r(77545),o=r(72253);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SAME_TERM],termFunction:!1})}async run(e){return new o.ExpressionFunctionSameTerm}}t.ActorFunctionFactoryExpressionSameTerm=a},72253:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionSameTerm=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.ExpressionFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.SAME_TERM,apply:async({args:e,mapping:t,exprEval:r})=>{const n=r.context.getSafe(i.KeysInitQuery.dataFactory),[a,s]=e.map((e=>r.evaluatorExpressionEvaluation(e,t))),[c,u]=await Promise.all([a,s]);return(0,o.bool)(c.toRDF(n).equals(u.toRDF(n)))}})}}t.ExpressionFunctionSameTerm=a},14579:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86652),t)},46645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermAbs=void 0;const n=r(77617),i=r(77545),o=r(54502);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ABS],termFunction:!0})}async run(e){return new o.TermFunctionAbs}}t.ActorFunctionFactoryTermAbs=a},54502:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionAbs=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.ABS,overloads:(0,i.declare)(i.SparqlOperator.ABS).numericConverter((()=>e=>Math.abs(e))).collect()})}}t.TermFunctionAbs=o},59812:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46645),t)},65569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermAddition=void 0;const n=r(77617),i=r(77545),o=r(55940);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ADDITION],termFunction:!0})}async run(e){return new o.TermFunctionAddition}}t.ActorFunctionFactoryTermAddition=a},55940:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionAddition=void 0;const n=r(77617),i=r(77545),o=r(61594);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.ADDITION,overloads:(0,i.declare)(i.SparqlOperator.ADDITION).arithmetic((()=>(e,t)=>new o.BigNumber(e).plus(t).toNumber())).set([i.TypeURL.XSD_DATE_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new i.DateTimeLiteral((0,i.addDurationToDateTime)(e.typedValue,(0,i.defaultedDurationRepresentation)(t.typedValue))))).copy({from:[i.TypeURL.XSD_DATE_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],to:[i.TypeURL.XSD_DATE_TIME,i.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([i.TypeURL.XSD_DATE,i.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new i.DateLiteral((0,i.addDurationToDateTime)((0,i.defaultedDateTimeRepresentation)(e.typedValue),(0,i.defaultedDurationRepresentation)(t.typedValue))))).copy({from:[i.TypeURL.XSD_DATE,i.TypeURL.XSD_DAY_TIME_DURATION],to:[i.TypeURL.XSD_DATE,i.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([i.TypeURL.XSD_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new i.TimeLiteral((0,i.addDurationToDateTime)((0,i.defaultedDateTimeRepresentation)(e.typedValue),(0,i.defaultedDurationRepresentation)(t.typedValue))))).copy({from:[i.TypeURL.XSD_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],to:[i.TypeURL.XSD_TIME,i.TypeURL.XSD_YEAR_MONTH_DURATION]}).collect()})}}t.TermFunctionAddition=a},91172:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(65569),t)},5935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermCeil=void 0;const n=r(77617),i=r(77545),o=r(47882);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.CEIL],termFunction:!0})}async run(e){return new o.TermFunctionCeil}}t.ActorFunctionFactoryTermCeil=a},47882:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionCeil=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.CEIL,overloads:(0,i.declare)(i.SparqlOperator.CEIL).numericConverter((()=>e=>Math.ceil(e))).collect()})}}t.TermFunctionCeil=o},30953:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5935),t)},5847:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermContains=void 0;const n=r(77617),i=r(77545),o=r(97114);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.CONTAINS],termFunction:!0})}async run(e){return new o.TermFunctionContains}}t.ActorFunctionFactoryTermContains=a},97114:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionContains=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.CONTAINS,overloads:(0,i.declare)(i.SparqlOperator.CONTAINS).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(e.includes(t)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);return(0,i.bool)(e.typedValue.includes(t.typedValue))})).collect()})}}t.TermFunctionContains=o},72945:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5847),t)},17569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermDatatype=void 0;const n=r(77617),i=r(77545),o=r(62944);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.DATATYPE],termFunction:!0})}async run(e){return new o.TermFunctionDatatype}}t.ActorFunctionFactoryTermDatatype=a},62944:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionDatatype=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.DATATYPE,overloads:(0,i.declare)(i.SparqlOperator.DATATYPE).onLiteral1((()=>e=>new i.NamedNode(e.dataType))).collect()})}}t.TermFunctionDatatype=o},24700:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17569),t)},70177:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermDay=void 0;const n=r(77617),i=r(77545),o=r(9430);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.DAY],termFunction:!0})}async run(e){return new o.TermFunctionDay}}t.ActorFunctionFactoryTermDay=a},9430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionDay=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.DAY,overloads:(0,i.declare)(i.SparqlOperator.DAY).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.day))).set([i.TypeURL.XSD_DATE],(()=>([e])=>(0,i.integer)(e.typedValue.day))).collect()})}}t.TermFunctionDay=o},99778:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(70177),t)},11867:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermDivision=void 0;const n=r(77617),i=r(77545),o=r(39878);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.DIVISION],termFunction:!0})}async run(e){return new o.TermFunctionDivision}}t.ActorFunctionFactoryTermDivision=a},39878:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionDivision=void 0;const n=r(77617),i=r(77545),o=r(61594);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.DIVISION,overloads:(0,i.declare)(i.SparqlOperator.DIVISION).arithmetic((()=>(e,t)=>new o.BigNumber(e).div(t).toNumber())).onBinaryTyped([i.TypeURL.XSD_INTEGER,i.TypeURL.XSD_INTEGER],(()=>(e,t)=>{if(0===t)throw new i.ExpressionError("Integer division by 0");return(0,i.decimal)(new o.BigNumber(e).div(t).toNumber())})).collect()})}}t.TermFunctionDivision=a},61103:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11867),t)},27749:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermEncodeForUri=void 0;const n=r(77617),i=r(77545),o=r(1144);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ENCODE_FOR_URI],termFunction:!0})}async run(e){return new o.TermFunctionEncodeForUri}}t.ActorFunctionFactoryTermEncodeForUri=a},1144:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionEncodeForUri=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.ENCODE_FOR_URI,overloads:(0,i.declare)(i.SparqlOperator.ENCODE_FOR_URI).onStringly1Typed((()=>e=>(0,i.string)(encodeURI(e)))).collect()})}}t.TermFunctionEncodeForUri=o},30971:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(27749),t)},23129:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermEquality=void 0;const n=r(77617),i=r(77545),o=r(60856);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.EQUAL],termFunction:!0})}async run(e){return new o.TermFunctionEquality}}t.ActorFunctionFactoryTermEquality=a},60856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionEquality=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.EQUAL,overloads:(0,o.declare)(o.SparqlOperator.EQUAL).numberTest((()=>(e,t)=>e===t)).stringTest((()=>(e,t)=>0===e.localeCompare(t))).set([o.TypeURL.RDF_LANG_STRING,o.TypeURL.RDF_LANG_STRING],(()=>([e,t])=>(0,o.bool)(e.str()===t.str()&&e.language===t.language))).set([o.TypeAlias.SPARQL_STRINGLY,o.TypeAlias.SPARQL_STRINGLY],(()=>()=>(0,o.bool)(!1))).booleanTest((()=>(e,t)=>e===t)).dateTimeTest((e=>(t,r)=>(0,o.toUTCDate)(t,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()===(0,o.toUTCDate)(r,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime())).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DATE]}).set(["quad","quad"],(e=>([t,r])=>(0,o.bool)(this.applyOnTerms([t.subject,r.subject],e).coerceEBV()&&this.applyOnTerms([t.predicate,r.predicate],e).coerceEBV()&&this.applyOnTerms([t.object,r.object],e).coerceEBV()&&this.applyOnTerms([t.graph,r.graph],e).coerceEBV())),!1).set(["term","term"],(e=>([t,r])=>{const n=t.toRDF(e.context.getSafe(i.KeysInitQuery.dataFactory)),a=r.toRDF(e.context.getSafe(i.KeysInitQuery.dataFactory)),s=n.equals(a);if(!s&&"Literal"===n.termType&&"Literal"===a.termType)throw new o.RDFEqualTypeError([t,r]);return(0,o.bool)(s)}),!1).set([o.TypeURL.XSD_DURATION,o.TypeURL.XSD_DURATION],(()=>([e,t])=>(0,o.bool)((0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(e.typedValue))===(0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(t.typedValue))&&(0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(e.typedValue))===(0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(t.typedValue))))).set([o.TypeURL.XSD_TIME,o.TypeURL.XSD_TIME],(e=>([t,r])=>(0,o.bool)((0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(t.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()===(0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(r.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()))).collect()})}}t.TermFunctionEquality=a},61688:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23129),t)},3129:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermFloor=void 0;const n=r(77617),i=r(77545),o=r(57834);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.FLOOR],termFunction:!0})}async run(e){return new o.TermFunctionFloor}}t.ActorFunctionFactoryTermFloor=a},57834:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionFloor=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.FLOOR,overloads:(0,i.declare)(i.SparqlOperator.FLOOR).numericConverter((()=>e=>Math.floor(e))).collect()})}}t.TermFunctionFloor=o},56718:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3129),t)},33823:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermGreaterThanEqual=void 0;const n=r(77617),i=r(77545),o=r(40178);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.GTE],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.LTE,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionGreaterThanEqual(t)}}t.ActorFunctionFactoryTermGreaterThanEqual=a},40178:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionGreaterThanEqual=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e){super({arity:2,operator:i.SparqlOperator.GTE,overloads:(0,i.declare)(i.SparqlOperator.GTE).set(["term","term"],(e=>([t,r])=>this.lessThanEqualFunction.applyOnTerms([r,t],e))).collect()}),this.lessThanEqualFunction=e}}t.TermFunctionGreaterThanEqual=o},8711:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33823),t)},70982:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermGreaterThan=void 0;const n=r(77617),i=r(77545),o=r(81253);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.GT],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.LT,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionGreaterThan(t)}}t.ActorFunctionFactoryTermGreaterThan=a},81253:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionGreaterThan=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e){super({arity:2,operator:i.SparqlOperator.GT,overloads:(0,i.declare)(i.SparqlOperator.GT).set(["term","term"],(e=>([t,r])=>this.lessThanFunction.applyOnTerms([r,t],e))).collect()}),this.lessThanFunction=e}}t.TermFunctionGreaterThan=o},31038:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(70982),t)},60385:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermHours=void 0;const n=r(77617),i=r(77545),o=r(74230);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.HOURS],termFunction:!0})}async run(e){return new o.TermFunctionHours}}t.ActorFunctionFactoryTermHours=a},74230:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionHours=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.HOURS,overloads:(0,i.declare)(i.SparqlOperator.HOURS).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.hours))).set([i.TypeURL.XSD_TIME],(()=>([e])=>(0,i.integer)(e.typedValue.hours))).collect()})}}t.TermFunctionHours=o},54531:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60385),t)},15195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermInequality=void 0;const n=r(77617),i=r(77545),o=r(1530);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOT_EQUAL],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionInequality(t)}}t.ActorFunctionFactoryTermInequality=a},1530:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionInequality=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e){super({arity:2,operator:i.SparqlOperator.NOT_EQUAL,overloads:(0,i.declare)(i.SparqlOperator.NOT_EQUAL).set(["term","term"],(e=>([t,r])=>(0,i.bool)(!this.equalityFunction.applyOnTerms([t,r],e).typedValue))).collect()}),this.equalityFunction=e}}t.TermFunctionInequality=o},76695:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15195),t)},73481:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIri=void 0;const n=r(77617),i=r(77545),o=r(58006);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IRI,i.SparqlOperator.URI],termFunction:!0})}async run(e){return new o.TermFunctionIri}}t.ActorFunctionFactoryTermIri=a},58006:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIri=void 0;const n=r(77617),i=r(90711),o=r(77545),a=r(70742);class s extends n.TermFunctionBase{constructor(){super({arity:1,operator:o.SparqlOperator.IRI,overloads:(0,o.declare)(o.SparqlOperator.IRI).set(["namedNode"],(e=>t=>{const r=t[0],n=(0,a.resolve)(r.str(),e.context.get(i.KeysInitQuery.baseIRI)??"");return new o.NamedNode(n)})).onString1((e=>t=>{const r=(0,a.resolve)(t.str(),e.context.get(i.KeysInitQuery.baseIRI)??"");return new o.NamedNode(r)})).collect()})}}t.TermFunctionIri=s},16686:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(73481),t)},67528:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsBlank=void 0;const n=r(77617),i=r(77545),o=r(89195);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_BLANK],termFunction:!0})}async run(e){return new o.TermFunctionIsBlank}}t.ActorFunctionFactoryTermIsBlank=a},89195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsBlank=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_BLANK,overloads:(0,i.declare)(i.SparqlOperator.IS_BLANK).onTerm1((()=>e=>(0,i.bool)("blankNode"===e.termType))).collect()})}}t.TermFunctionIsBlank=o},92959:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67528),t)},4136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsIri=void 0;const n=r(77617),i=r(77545),o=r(3035);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_IRI,i.SparqlOperator.IS_URI],termFunction:!0})}async run(e){return new o.TermFunctionIsIri}}t.ActorFunctionFactoryTermIsIri=a},3035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsIri=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_IRI,overloads:(0,i.declare)(i.SparqlOperator.IS_IRI).onTerm1((()=>e=>(0,i.bool)("namedNode"===e.termType))).collect()})}}t.TermFunctionIsIri=o},11767:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4136),t)},40236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsLiteral=void 0;const n=r(77617),i=r(77545),o=r(92615);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_LITERAL],termFunction:!0})}async run(e){return new o.TermFunctionIsLiteral}}t.ActorFunctionFactoryTermIsLiteral=a},92615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsLiteral=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_LITERAL,overloads:(0,i.declare)(i.SparqlOperator.IS_LITERAL).onTerm1((()=>e=>(0,i.bool)("literal"===e.termType))).collect()})}}t.TermFunctionIsLiteral=o},30254:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40236),t)},50620:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsNumeric=void 0;const n=r(77617),i=r(77545),o=r(77415);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_NUMERIC],termFunction:!0})}async run(e){return new o.TermFunctionIsNumeric}}t.ActorFunctionFactoryTermIsNumeric=a},77415:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsNumeric=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_NUMERIC,overloads:(0,i.declare)(i.SparqlOperator.IS_NUMERIC).onNumeric1((()=>()=>(0,i.bool)(!0))).onTerm1((()=>()=>(0,i.bool)(!1))).collect()})}}t.TermFunctionIsNumeric=o},6082:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50620),t)},11304:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsTriple=void 0;const n=r(77617),i=r(77545),o=r(99669);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_TRIPLE],termFunction:!0})}async run(e){return new o.TermFunctionIsTriple}}t.ActorFunctionFactoryTermIsTriple=a},99669:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsTriple=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_TRIPLE,overloads:(0,i.declare)(i.SparqlOperator.IS_TRIPLE).onTerm1((()=>e=>(0,i.bool)("quad"===e.termType))).collect()})}}t.TermFunctionIsTriple=o},61151:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11304),t)},25337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLang=void 0;const n=r(77617),i=r(77545),o=r(41420);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LANG],termFunction:!0})}async run(e){return new o.TermFunctionLang}}t.ActorFunctionFactoryTermLang=a},41420:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLang=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.LANG,overloads:(0,i.declare)(i.SparqlOperator.LANG).onLiteral1((()=>e=>(0,i.string)(e.language??""))).collect()})}}t.TermFunctionLang=o},33032:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(25337),t)},30393:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLangmatches=void 0;const n=r(77617),i=r(77545),o=r(42586);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LANG_MATCHES],termFunction:!0})}async run(e){return new o.TermFunctionLangmatches}}t.ActorFunctionFactoryTermLangmatches=a},42586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLangmatches=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.LANG_MATCHES,overloads:(0,i.declare)(i.SparqlOperator.LANG_MATCHES).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(o.langMatches(e,t)))).collect()})}static langMatches(e,t){const r=e.split("-"),n=t.split("-");if(!o.matchLangTag(n[0],r[0])&&!o.isWildCard(r[0]))return!1;let i=1,a=1;for(;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLcase=void 0;const n=r(77617),i=r(77545),o=r(60770);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LCASE],termFunction:!0})}async run(e){return new o.TermFunctionLcase}}t.ActorFunctionFactoryTermLcase=a},60770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLcase=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.LCASE,overloads:(0,i.declare)(i.SparqlOperator.LCASE).onString1Typed((()=>e=>(0,i.string)(e.toLowerCase()))).onLangString1((()=>e=>(0,i.langString)(e.typedValue.toLowerCase(),e.language))).collect()})}}t.TermFunctionLcase=o},22460:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(85181),t)},89:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLesserThanEqual=void 0;const n=r(77617),i=r(77545),o=r(7246);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LTE],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments}),r=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.LT,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionLesserThanEqual(t,r)}}t.ActorFunctionFactoryTermLesserThanEqual=a},7246:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLesserThanEqual=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e,t){super({arity:2,operator:i.SparqlOperator.LTE,overloads:(0,i.declare)(i.SparqlOperator.LTE).set(["term","term"],(e=>([t,r])=>(0,i.bool)(this.lessThanFunction.applyOnTerms([t,r],e).typedValue||this.equalityFunction.applyOnTerms([t,r],e).typedValue))).collect()}),this.equalityFunction=e,this.lessThanFunction=t}}t.TermFunctionLesserThanEqual=o},38507:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(89),t)},41142:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLesserThan=void 0;const n=r(77617),i=r(77545),o=r(95199);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LT],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionLesserThan(t)}}t.ActorFunctionFactoryTermLesserThan=a},95199:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLesserThan=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(e){super({arity:2,operator:o.SparqlOperator.LT,overloads:(0,o.declare)(o.SparqlOperator.LT).numberTest((()=>(e,t)=>e(e,t)=>-1===e.localeCompare(t))).booleanTest((()=>(e,t)=>e(t,r)=>(0,o.toUTCDate)(t,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()<(0,o.toUTCDate)(r,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime())).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DATE]}).set([o.TypeURL.XSD_YEAR_MONTH_DURATION,o.TypeURL.XSD_YEAR_MONTH_DURATION],(()=>([e,t])=>(0,o.bool)((0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(e.typedValue))<(0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(t.typedValue))))).set([o.TypeURL.XSD_DAY_TIME_DURATION,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>(0,o.bool)((0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(e.typedValue))<(0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(t.typedValue))))).set([o.TypeURL.XSD_TIME,o.TypeURL.XSD_TIME],(e=>([t,r])=>(0,o.bool)((0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(t.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()<(0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(r.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()))).set(["quad","quad"],(e=>([t,r])=>{const n=this.quadComponentTest(t.subject,r.subject,e);if(void 0!==n)return(0,o.bool)(n);const i=this.quadComponentTest(t.predicate,r.predicate,e);if(void 0!==i)return(0,o.bool)(i);const a=this.quadComponentTest(t.object,r.object,e);return void 0!==a?(0,o.bool)(a):(0,o.bool)(this.quadComponentTest(t.graph,r.graph,e)??!1)}),!1).collect()}),this.equalityFunction=e}quadComponentTest(e,t,r){if(!this.equalityFunction.applyOnTerms([e,t],r).typedValue)return this.applyOnTerms([e,t],r).typedValue}}t.TermFunctionLesserThan=a},95426:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41142),t)},20405:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMd5=void 0;const n=r(77617),i=r(77545),o=r(64826);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MD5],termFunction:!0})}async run(e){return new o.TermFunctionMd5}}t.ActorFunctionFactoryTermMd5=a},64826:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMd5=void 0;const n=r(77617),i=r(77545),o=r(75735);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.MD5,overloads:(0,i.declare)(i.SparqlOperator.MD5).onString1Typed((()=>e=>(0,i.string)((0,o.hash)(e)))).collect()})}}t.TermFunctionMd5=a},12744:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20405),t)},74577:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMinutes=void 0;const n=r(77617),i=r(77545),o=r(84906);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MINUTES],termFunction:!0})}async run(e){return new o.TermFunctionMinutes}}t.ActorFunctionFactoryTermMinutes=a},84906:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMinutes=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.MINUTES,overloads:(0,i.declare)(i.SparqlOperator.MINUTES).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.minutes))).set([i.TypeURL.XSD_TIME],(()=>([e])=>(0,i.integer)(e.typedValue.minutes))).collect()})}}t.TermFunctionMinutes=o},24713:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(74577),t)},62489:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMonth=void 0;const n=r(77617),i=r(77545),o=r(78490);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MONTH],termFunction:!0})}async run(e){return new o.TermFunctionMonth}}t.ActorFunctionFactoryTermMonth=a},78490:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMonth=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.MONTH,overloads:(0,i.declare)(i.SparqlOperator.MONTH).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.month))).set([i.TypeURL.XSD_DATE],(()=>([e])=>(0,i.integer)(e.typedValue.month))).collect()})}}t.TermFunctionMonth=o},32310:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(62489),t)},26769:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMultiplication=void 0;const n=r(77617),i=r(77545),o=r(44936);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MULTIPLICATION],termFunction:!0})}async run(e){return new o.TermFunctionMultiplication}}t.ActorFunctionFactoryTermMultiplication=a},44936:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMultiplication=void 0;const n=r(77617),i=r(77545),o=r(61594);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.MULTIPLICATION,overloads:(0,i.declare)(i.SparqlOperator.MULTIPLICATION).arithmetic((()=>(e,t)=>new o.BigNumber(e).times(t).toNumber())).collect()})}}t.TermFunctionMultiplication=a},23610:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26769),t)},51941:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermNot=void 0;const n=r(77617),i=r(77545),o=r(97274);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOT],termFunction:!0})}async run(e){return new o.TermFunctionNot}}t.ActorFunctionFactoryTermNot=a},97274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionNot=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.NOT,overloads:(0,i.declare)(i.SparqlOperator.NOT).onTerm1((()=>e=>(0,i.bool)(!e.coerceEBV()))).collect()})}}t.TermFunctionNot=o},52505:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(51941),t)},15721:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermNow=void 0;const n=r(77617),i=r(77545),o=r(78478);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOW],termFunction:!0})}async run(e){return new o.TermFunctionNow}}t.ActorFunctionFactoryTermNow=a},78478:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionNow=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(){super({arity:0,operator:o.SparqlOperator.NOW,overloads:(0,o.declare)(o.SparqlOperator.NOW).set([],(e=>()=>new o.DateTimeLiteral((0,o.toDateTimeRepresentation)({date:e.context.getSafe(i.KeysInitQuery.queryTimestamp),timeZone:e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)})))).collect()})}}t.TermFunctionNow=a},69636:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15721),t)},771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermObject=void 0;const n=r(77617),i=r(77545),o=r(99694);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.OBJECT],termFunction:!0})}async run(e){return new o.TermFunctionObject}}t.ActorFunctionFactoryTermObject=a},99694:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionObject=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.OBJECT,overloads:(0,i.declare)(i.SparqlOperator.OBJECT).onQuad1((()=>e=>e.object)).collect()})}}t.TermFunctionObject=o},20379:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(771),t)},67313:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermPredicate=void 0;const n=r(77617),i=r(77545),o=r(14330);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.PREDICATE],termFunction:!0})}async run(e){return new o.TermFunctionPredicate}}t.ActorFunctionFactoryTermPredicate=a},14330:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionPredicate=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.PREDICATE,overloads:(0,i.declare)(i.SparqlOperator.PREDICATE).onQuad1((()=>e=>e.predicate)).collect()})}}t.TermFunctionPredicate=o},68545:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67313),t)},35943:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermRand=void 0;const n=r(77617),i=r(77545),o=r(48430);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.RAND],termFunction:!0})}async run(e){return new o.TermFunctionRand}}t.ActorFunctionFactoryTermRand=a},48430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionRand=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:0,operator:i.SparqlOperator.RAND,overloads:(0,i.declare)(i.SparqlOperator.RAND).set([],(()=>()=>(0,i.double)(Math.random()))).collect()})}}t.TermFunctionRand=o},86155:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35943),t)},99441:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermRegex=void 0;const n=r(77617),i=r(77545),o=r(11658);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.REGEX],termFunction:!0})}async run(e){return new o.TermFunctionRegex}}t.ActorFunctionFactoryTermRegex=a},11658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionRegex=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:[2,3],operator:i.SparqlOperator.REGEX,overloads:(0,i.declare)(i.SparqlOperator.REGEX).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],o.regex2).onTernaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],o.regex3).collect()})}static matches(e,t,r){return new RegExp(t,r).test(e)}static regex2(){return(e,t)=>(0,i.bool)(o.matches(e,t))}static regex3(){return(e,t,r)=>(0,i.bool)(o.matches(e,t,r))}}t.TermFunctionRegex=o},98811:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(99441),t)},98349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermReplace=void 0;const n=r(77617),i=r(77545),o=r(77054);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.REPLACE],termFunction:!0})}async run(e){return new o.TermFunctionReplace}}t.ActorFunctionFactoryTermReplace=a},77054:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionReplace=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:[3,4],operator:i.SparqlOperator.REPLACE,overloads:(0,i.declare)(i.SparqlOperator.REPLACE).onTernaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t,r)=>(0,i.string)(o.replace(e,t,r)))).set([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>([e,t,r])=>{const n=o.replace(e.typedValue,t.typedValue,r.typedValue);return(0,i.langString)(n,e.language)})).onQuaternaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t,r,n)=>(0,i.string)(o.replace(e,t,r,n)))).set([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>([e,t,r,n])=>{const a=o.replace(e.typedValue,t.typedValue,r.typedValue,n.typedValue);return(0,i.langString)(a,e.language)})).collect()})}static replace(e,t,r,n){let i=new RegExp(t,n);return i.global||(i=new RegExp(t,`${n??""}g`)),e.replace(i,r)}}t.TermFunctionReplace=o},52452:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98349),t)},76593:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermRound=void 0;const n=r(77617),i=r(77545),o=r(55282);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ROUND],termFunction:!0})}async run(e){return new o.TermFunctionRound}}t.ActorFunctionFactoryTermRound=a},55282:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionRound=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.ROUND,overloads:(0,i.declare)(i.SparqlOperator.ROUND).numericConverter((()=>e=>Math.round(e))).collect()})}}t.TermFunctionRound=o},80748:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(76593),t)},78673:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSeconds=void 0;const n=r(77617),i=r(77545),o=r(72706);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SECONDS],termFunction:!0})}async run(e){return new o.TermFunctionSeconds}}t.ActorFunctionFactoryTermSeconds=a},72706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSeconds=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SECONDS,overloads:(0,i.declare)(i.SparqlOperator.SECONDS).onDateTime1((()=>e=>(0,i.decimal)(e.typedValue.seconds))).set([i.TypeURL.XSD_TIME],(()=>([e])=>(0,i.integer)(e.typedValue.seconds))).collect()})}}t.TermFunctionSeconds=o},9941:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(78673),t)},28223:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha1=void 0;const n=r(77617),i=r(77545),o=r(87242);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA1],termFunction:!0})}async run(e){return new o.TermFunctionSha1}}t.ActorFunctionFactoryTermSha1=a},87242:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha1=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA1,overloads:(0,i.declare)(i.SparqlOperator.SHA1).onString1Typed((()=>e=>(0,i.string)((0,o.sha1)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha1=a},45845:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(28223),t)},48767:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha256=void 0;const n=r(77617),i=r(77545),o=r(36706);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA256],termFunction:!0})}async run(e){return new o.TermFunctionSha256}}t.ActorFunctionFactoryTermSha256=a},36706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha256=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA256,overloads:(0,i.declare)(i.SparqlOperator.SHA256).onString1Typed((()=>e=>(0,i.string)((0,o.sha256)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha256=a},77267:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48767),t)},41291:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha384=void 0;const n=r(77617),i=r(77545),o=r(29814);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA384],termFunction:!0})}async run(e){return new o.TermFunctionSha384}}t.ActorFunctionFactoryTermSha384=a},29814:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha384=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA384,overloads:(0,i.declare)(i.SparqlOperator.SHA384).onString1Typed((()=>e=>(0,i.string)((0,o.sha384)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha384=a},96447:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41291),t)},39417:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha512=void 0;const n=r(77617),i=r(77545),o=r(17796);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA512],termFunction:!0})}async run(e){return new o.TermFunctionSha512}}t.ActorFunctionFactoryTermSha512=a},17796:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha512=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA512,overloads:(0,i.declare)(i.SparqlOperator.SHA512).onString1Typed((()=>e=>(0,i.string)((0,o.sha512)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha512=a},24742:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(39417),t)},33778:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrAfter=void 0;const n=r(77617),i=r(77545),o=r(79011);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRAFTER],termFunction:!0})}async run(e){return new o.TermFunctionStrAfter}}t.ActorFunctionFactoryTermStrAfter=a},79011:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrAfter=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRAFTER,overloads:(0,i.declare)(i.SparqlOperator.STRAFTER).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.string)(e.slice(e.indexOf(t)).slice(t.length)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>{const[r,n]=[e.typedValue,t.typedValue],o=r.slice(r.indexOf(n)).slice(n.length);return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);const[r,n]=[e.typedValue,t.typedValue],o=r.slice(r.indexOf(n)).slice(n.length);return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).collect()})}}t.TermFunctionStrAfter=o},30912:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33778),t)},49176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrBefore=void 0;const n=r(77617),i=r(77545),o=r(19831);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRBEFORE],termFunction:!0})}async run(e){return new o.TermFunctionStrBefore}}t.ActorFunctionFactoryTermStrBefore=a},19831:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrBefore=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRBEFORE,overloads:(0,i.declare)(i.SparqlOperator.STRBEFORE).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.string)(e.slice(0,Math.max(0,e.indexOf(t)))))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>{const[r,n]=[e.typedValue,t.typedValue],o=e.typedValue.slice(0,Math.max(0,r.indexOf(n)));return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);const[r,n]=[e.typedValue,t.typedValue],o=e.typedValue.slice(0,Math.max(0,r.indexOf(n)));return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).collect()})}}t.TermFunctionStrBefore=o},60649:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(49176),t)},40916:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrDt=void 0;const n=r(77617),i=r(77545),o=r(27403);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRDT],termFunction:!0})}async run(e){return new o.TermFunctionStrDt}}t.ActorFunctionFactoryTermStrDt=a},27403:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrDt=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.STRDT,overloads:(0,o.declare)(o.SparqlOperator.STRDT).set([o.TypeURL.XSD_STRING,"namedNode"],(e=>([t,r])=>{const n=e.context.getSafe(i.KeysInitQuery.dataFactory),a=n.literal(t.typedValue,n.namedNode(r.value));return new o.TermTransformer(e.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider)).transformLiteral(a)})).collect()})}}t.TermFunctionStrDt=a},93734:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40916),t)},64212:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrEnds=void 0;const n=r(77617),i=r(77545),o=r(24075);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRENDS],termFunction:!0})}async run(e){return new o.TermFunctionStrEnds}}t.ActorFunctionFactoryTermStrEnds=a},24075:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrEnds=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRENDS,overloads:(0,i.declare)(i.SparqlOperator.STRENDS).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(e.endsWith(t)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);return(0,i.bool)(e.typedValue.endsWith(t.typedValue))})).collect()})}}t.TermFunctionStrEnds=o},49060:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(64212),t)},48904:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrLang=void 0;const n=r(77617),i=r(77545),o=r(21115);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRLANG],termFunction:!0})}async run(e){return new o.TermFunctionStrLang}}t.ActorFunctionFactoryTermStrLang=a},21115:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrLang=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRLANG,overloads:(0,i.declare)(i.SparqlOperator.STRLANG).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>new i.LangStringLiteral(e,t.toLowerCase()))).collect()})}}t.TermFunctionStrLang=o},20554:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48904),t)},67024:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrLen=void 0;const n=r(77617),i=r(77545),o=r(76869);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRLEN],termFunction:!0})}async run(e){return new o.TermFunctionStrLen}}t.ActorFunctionFactoryTermStrLen=a},76869:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrLen=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.STRLEN,overloads:(0,i.declare)(i.SparqlOperator.STRLEN).onStringly1((()=>e=>(0,i.integer)([...e.typedValue].length))).collect()})}}t.TermFunctionStrLen=o},27869:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67024),t)},85572:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrStarts=void 0;const n=r(77617),i=r(77545),o=r(3863);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRSTARTS],termFunction:!0})}async run(e){return new o.TermFunctionStrStarts}}t.ActorFunctionFactoryTermStrStarts=a},3863:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrStarts=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRSTARTS,overloads:(0,i.declare)(i.SparqlOperator.STRSTARTS).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(e.startsWith(t)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);return(0,i.bool)(e.typedValue.startsWith(t.typedValue))})).collect()})}}t.TermFunctionStrStarts=o},94379:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(85572),t)},60808:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrUuid=void 0;const n=r(77617),i=r(77545),o=r(12147);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRUUID],termFunction:!0})}async run(e){return new o.TermFunctionStrUuid}}t.ActorFunctionFactoryTermStrUuid=a},12147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrUuid=void 0;const n=r(77617),i=r(77545),o=r(83843);class a extends n.TermFunctionBase{constructor(){super({arity:0,operator:i.SparqlOperator.STRUUID,overloads:(0,i.declare)(i.SparqlOperator.STRUUID).set([],(()=>()=>(0,i.string)(o.v4()))).collect()})}}t.TermFunctionStrUuid=a},53417:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60808),t)},83843:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return c.default}});var n=p(r(5818)),i=p(r(25968)),o=p(r(92293)),a=p(r(61574)),s=p(r(97540)),c=p(r(5915)),u=p(r(67449)),l=p(r(25714)),d=p(r(30044));function p(e){return e&&e.__esModule?e:{default:e}}},87483:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,o,a){return n((s=n(n(t,e),n(i,a)))<<(c=o)|s>>>32-c,r);var s,c}function o(e,t,r,n,o,a,s){return i(t&r|~t&n,e,t,o,a,s)}function a(e,t,r,n,o,a,s){return i(t&n|r&~n,e,t,o,a,s)}function s(e,t,r,n,o,a,s){return i(t^r^n,e,t,o,a,s)}function c(e,t,r,n,o,a,s){return i(r^(t|~n),e,t,o,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r>5]>>>i%32&255,o=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(o)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[r/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},97540:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},30044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(67449))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},48316:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},48678:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};const n=new Uint8Array(16)},96598:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r>>0;d=l,l=u,u=n(c,30)>>>0,c=a,a=s}i[0]=i[0]+a>>>0,i[1]=i[1]+c>>>0,i[2]=i[2]+u>>>0,i[3]=i[3]+l>>>0,i[4]=i[4]+d>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},25714:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var n,i=(n=r(67449))&&n.__esModule?n:{default:n};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function a(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=a(e,t);if(!(0,i.default)(r))throw TypeError("Stringified UUID is invalid");return r}},5818:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48678))&&n.__esModule?n:{default:n},o=r(25714);let a,s,c=0,u=0;t.default=function(e,t,r){let n=t&&r||0;const l=t||new Array(16);let d=(e=e||{}).node||a,p=void 0!==e.clockseq?e.clockseq:s;if(null==d||null==p){const t=e.random||(e.rng||i.default)();null==d&&(d=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==p&&(p=s=16383&(t[6]<<8|t[7]))}let h=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:u+1;const y=h-c+(f-u)/1e4;if(y<0&&void 0===e.clockseq&&(p=p+1&16383),(y<0||h>c)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=h,u=f,s=p,h+=122192928e5;const g=(1e4*(268435455&h)+f)%4294967296;l[n++]=g>>>24&255,l[n++]=g>>>16&255,l[n++]=g>>>8&255,l[n++]=255&g;const m=h/4294967296*1e4&268435455;l[n++]=m>>>8&255,l[n++]=255&m,l[n++]=m>>>24&15|16,l[n++]=m>>>16&255,l[n++]=p>>>8|128,l[n++]=255&p;for(let e=0;e<6;++e)l[n+e]=d[e];return t||(0,o.unsafeStringify)(l)}},25968:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(75853)),i=o(r(87483));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,i.default);t.default=a},75853:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var c;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(18576)),i=a(r(48678)),o=r(25714);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const a=(e=e||{}).random||(e.rng||i.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return(0,o.unsafeStringify)(a)}},61574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(75853)),i=o(r(96598));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,i.default);t.default=a},67449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48316))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&i.default.test(e)}},5915:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(67449))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},45510:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStr=void 0;const n=r(77617),i=r(77545),o=r(32834);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STR],termFunction:!0})}async run(e){return new o.TermFunctionStr}}t.ActorFunctionFactoryTermStr=a},32834:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStr=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.STR,overloads:(0,i.declare)(i.SparqlOperator.STR).onTerm1((()=>e=>(0,i.string)(e.str()))).collect()})}}t.TermFunctionStr=o},28699:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45510),t)},6912:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSubStr=void 0;const n=r(77617),i=r(77545),o=r(63369);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SUBSTR],termFunction:!0})}async run(e){return new o.TermFunctionSubStr}}t.ActorFunctionFactoryTermSubStr=a},63369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSubStr=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:[2,3],operator:i.SparqlOperator.SUBSTR,overloads:(0,i.declare)(i.SparqlOperator.SUBSTR).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_INTEGER],(()=>(e,t)=>(0,i.string)([...e].slice(t-1).join("")))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_INTEGER],(()=>(e,t)=>{const r=[...e.typedValue].slice(t.typedValue-1).join("");return(0,i.langString)(r,e.language)})).onTernaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_INTEGER,i.TypeURL.XSD_INTEGER],(()=>(e,t,r)=>(0,i.string)([...e].slice(t-1,r+t-1).join("")))).onTernary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_INTEGER,i.TypeURL.XSD_INTEGER],(()=>(e,t,r)=>{const n=[...e.typedValue].slice(t.typedValue-1,r.typedValue+t.typedValue-1).join("");return(0,i.langString)(n,e.language)})).collect()})}}t.TermFunctionSubStr=o},96404:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(6912),t)},46293:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSubject=void 0;const n=r(77617),i=r(77545),o=r(12922);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SUBJECT],termFunction:!0})}async run(e){return new o.TermFunctionSubject}}t.ActorFunctionFactoryTermSubject=a},12922:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSubject=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SUBJECT,overloads:(0,i.declare)(i.SparqlOperator.SUBJECT).onQuad1((()=>e=>e.subject)).collect()})}}t.TermFunctionSubject=o},51060:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46293),t)},37185:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSubtraction=void 0;const n=r(77617),i=r(77545),o=r(47074);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SUBTRACTION],termFunction:!0})}async run(e){return new o.TermFunctionSubtraction}}t.ActorFunctionFactoryTermSubtraction=a},47074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSubtraction=void 0;const n=r(77617),i=r(90711),o=r(77545),a=r(61594);class s extends n.TermFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.SUBTRACTION,overloads:(0,o.declare)(o.SparqlOperator.SUBTRACTION).arithmetic((()=>(e,t)=>new a.BigNumber(e).minus(t).toNumber())).set([o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],(e=>([t,r])=>new o.DayTimeDurationLiteral((0,o.elapsedDuration)(t.typedValue,r.typedValue,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone))))).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DATE]}).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_TIME,o.TypeURL.XSD_TIME]}).set([o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new o.DateTimeLiteral((0,o.addDurationToDateTime)(e.typedValue,(0,o.defaultedDurationRepresentation)((0,o.negateDuration)(t.typedValue)))))).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DAY_TIME_DURATION],to:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([o.TypeURL.XSD_DATE,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new o.DateLiteral((0,o.addDurationToDateTime)((0,o.defaultedDateTimeRepresentation)(e.typedValue),(0,o.defaultedDurationRepresentation)((0,o.negateDuration)(t.typedValue)))))).copy({from:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DAY_TIME_DURATION],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([o.TypeURL.XSD_TIME,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new o.TimeLiteral((0,o.addDurationToDateTime)((0,o.defaultedDateTimeRepresentation)(e.typedValue),(0,o.defaultedDurationRepresentation)((0,o.negateDuration)(t.typedValue)))))).collect()})}}t.TermFunctionSubtraction=s},55010:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(37185),t)},9875:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermTimezone=void 0;const n=r(77617),i=r(77545),o=r(38274);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.TIMEZONE],termFunction:!0})}async run(e){return new o.TermFunctionTimezone}}t.ActorFunctionFactoryTermTimezone=a},38274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionTimezone=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.TIMEZONE,overloads:(0,i.declare)(i.SparqlOperator.TIMEZONE).onDateTime1((()=>e=>{const t={hours:e.typedValue.zoneHours,minutes:e.typedValue.zoneMinutes};if(void 0===t.hours&&void 0===t.minutes)throw new i.InvalidTimezoneCall(e.str());return new i.DayTimeDurationLiteral(t)})).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_DATE]}).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_TIME]}).collect()})}}t.TermFunctionTimezone=o},4535:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9875),t)},2693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermTriple=void 0;const n=r(77617),i=r(77545),o=r(13252);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.TRIPLE],termFunction:!0})}async run(e){return new o.TermFunctionTriple}}t.ActorFunctionFactoryTermTriple=a},13252:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionTriple=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:3,operator:i.SparqlOperator.TRIPLE,overloads:(0,i.declare)(i.SparqlOperator.TRIPLE).onTerm3((e=>(...e)=>new i.Quad(e[0],e[1],e[2],new i.DefaultGraph))).collect()})}}t.TermFunctionTriple=o},31348:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(2693),t)},1209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermTz=void 0;const n=r(77617),i=r(77545),o=r(4e4);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.TZ],termFunction:!0})}async run(e){return new o.TermFunctionTz}}t.ActorFunctionFactoryTermTz=a},4e4:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionTz=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.TZ,overloads:(0,i.declare)(i.SparqlOperator.TZ).onDateTime1((()=>e=>(0,i.string)((0,i.extractRawTimeZone)(e.str())))).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_DATE]}).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_TIME]}).collect()})}}t.TermFunctionTz=o},4898:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1209),t)},52161:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUcase=void 0;const n=r(77617),i=r(77545),o=r(19722);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UCASE],termFunction:!0})}async run(e){return new o.TermFunctionUcase}}t.ActorFunctionFactoryTermUcase=a},19722:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUcase=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.UCASE,overloads:(0,i.declare)(i.SparqlOperator.UCASE).onString1Typed((()=>e=>(0,i.string)(e.toUpperCase()))).onLangString1((()=>e=>(0,i.langString)(e.typedValue.toUpperCase(),e.language))).collect()})}}t.TermFunctionUcase=o},55711:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52161),t)},36666:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUnaryMinus=void 0;const n=r(77617),i=r(77545),o=r(85959);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UMINUS],termFunction:!0})}async run(e){return new o.TermFunctionUnaryMinus}}t.ActorFunctionFactoryTermUnaryMinus=a},85959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUnaryMinus=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.UMINUS,overloads:(0,i.declare)(i.SparqlOperator.UMINUS).numericConverter((()=>e=>-e)).collect()})}}t.TermFunctionUnaryMinus=o},67186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36666),t)},67444:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUnaryPlus=void 0;const n=r(77617),i=r(77545),o=r(14695);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UPLUS],termFunction:!0})}async run(e){return new o.TermFunctionUnaryPlus}}t.ActorFunctionFactoryTermUnaryPlus=a},14695:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUnaryPlus=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.UPLUS,overloads:(0,i.declare)(i.SparqlOperator.UPLUS).numericConverter((()=>e=>e)).collect()})}}t.TermFunctionUnaryPlus=o},2810:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67444),t)},93111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUuid=void 0;const n=r(77617),i=r(77545),o=r(3742);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UUID],termFunction:!0})}async run(e){return new o.TermFunctionUuid}}t.ActorFunctionFactoryTermUuid=a},3742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUuid=void 0;const n=r(77617),i=r(77545),o=r(52553);class a extends n.TermFunctionBase{constructor(){super({arity:0,operator:i.SparqlOperator.UUID,overloads:(0,i.declare)(i.SparqlOperator.UUID).set([],(()=>()=>new i.NamedNode(`urn:uuid:${o.v4()}`))).collect()})}}t.TermFunctionUuid=a},2479:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(93111),t)},52553:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return c.default}});var n=p(r(19172)),i=p(r(17742)),o=p(r(78895)),a=p(r(34968)),s=p(r(44442)),c=p(r(21577)),u=p(r(48419)),l=p(r(3587)),d=p(r(23150));function p(e){return e&&e.__esModule?e:{default:e}}},93269:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,o,a){return n((s=n(n(t,e),n(i,a)))<<(c=o)|s>>>32-c,r);var s,c}function o(e,t,r,n,o,a,s){return i(t&r|~t&n,e,t,o,a,s)}function a(e,t,r,n,o,a,s){return i(t&n|r&~n,e,t,o,a,s)}function s(e,t,r,n,o,a,s){return i(t^r^n,e,t,o,a,s)}function c(e,t,r,n,o,a,s){return i(r^(t|~n),e,t,o,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r>5]>>>i%32&255,o=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(o)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[r/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},44442:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},23150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48419))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},66294:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},78036:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};const n=new Uint8Array(16)},12512:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r>>0;d=l,l=u,u=n(c,30)>>>0,c=a,a=s}i[0]=i[0]+a>>>0,i[1]=i[1]+c>>>0,i[2]=i[2]+u>>>0,i[3]=i[3]+l>>>0,i[4]=i[4]+d>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},3587:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var n,i=(n=r(48419))&&n.__esModule?n:{default:n};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function a(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=a(e,t);if(!(0,i.default)(r))throw TypeError("Stringified UUID is invalid");return r}},19172:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(78036))&&n.__esModule?n:{default:n},o=r(3587);let a,s,c=0,u=0;t.default=function(e,t,r){let n=t&&r||0;const l=t||new Array(16);let d=(e=e||{}).node||a,p=void 0!==e.clockseq?e.clockseq:s;if(null==d||null==p){const t=e.random||(e.rng||i.default)();null==d&&(d=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==p&&(p=s=16383&(t[6]<<8|t[7]))}let h=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:u+1;const y=h-c+(f-u)/1e4;if(y<0&&void 0===e.clockseq&&(p=p+1&16383),(y<0||h>c)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=h,u=f,s=p,h+=122192928e5;const g=(1e4*(268435455&h)+f)%4294967296;l[n++]=g>>>24&255,l[n++]=g>>>16&255,l[n++]=g>>>8&255,l[n++]=255&g;const m=h/4294967296*1e4&268435455;l[n++]=m>>>8&255,l[n++]=255&m,l[n++]=m>>>24&15|16,l[n++]=m>>>16&255,l[n++]=p>>>8|128,l[n++]=255&p;for(let e=0;e<6;++e)l[n+e]=d[e];return t||(0,o.unsafeStringify)(l)}},17742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(20775)),i=o(r(93269));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,i.default);t.default=a},20775:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var c;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(66806)),i=a(r(78036)),o=r(3587);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const a=(e=e||{}).random||(e.rng||i.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return(0,o.unsafeStringify)(a)}},34968:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(20775)),i=o(r(12512));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,i.default);t.default=a},48419:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(66294))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&i.default.test(e)}},21577:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48419))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},83161:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToBoolean=void 0;const n=r(77617),i=r(77545),o=r(36424);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_BOOLEAN],termFunction:!0})}async run(e){return new o.TermFunctionXsdToBoolean}}t.ActorFunctionFactoryTermXsdToBoolean=a},36424:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToBoolean=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_BOOLEAN,overloads:(0,i.declare)(i.TypeURL.XSD_BOOLEAN).onNumeric1((()=>e=>(0,i.bool)(e.coerceEBV())),!0).onUnary(i.TypeURL.XSD_BOOLEAN,(()=>e=>(0,i.bool)(e.coerceEBV())),!0).onUnary(i.TypeURL.XSD_STRING,(()=>e=>{switch(e.str()){case"true":case"1":return(0,i.bool)(!0);case"false":case"0":return(0,i.bool)(!1);default:throw new i.CastError(e,i.TypeURL.XSD_BOOLEAN)}}),!1).collect()})}}t.TermFunctionXsdToBoolean=o},11554:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(83161),t)},79217:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDate=void 0;const n=r(77617),i=r(77545),o=r(42);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DATE],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDate}}t.ActorFunctionFactoryTermXsdToDate=a},42:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDate=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DATE,overloads:(0,i.declare)(i.TypeURL.XSD_DATE).onUnary(i.TypeURL.XSD_DATE,(()=>e=>new i.DateLiteral(e.typedValue,e.strValue))).onUnary(i.TypeURL.XSD_DATE_TIME,(()=>e=>new i.DateLiteral(e.typedValue))).onStringly1((()=>e=>new i.DateLiteral((0,i.parseDate)(e.str())))).collect()})}}t.TermFunctionXsdToDate=o},43406:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79217),t)},81093:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDatetime=void 0;const n=r(77617),i=r(77545),o=r(63082);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DATE_TIME],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDatetime}}t.ActorFunctionFactoryTermXsdToDatetime=a},63082:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDatetime=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DATE_TIME,overloads:(0,i.declare)(i.TypeURL.XSD_DATE_TIME).onUnary(i.TypeURL.XSD_DATE_TIME,(()=>e=>e)).onUnary(i.TypeURL.XSD_STRING,(()=>e=>(0,i.dateTime)((0,i.parseDateTime)(e.str()),e.str())),!1).onUnary(i.TypeURL.XSD_DATE,(()=>e=>new i.DateTimeLiteral({...e.typedValue,hours:0,minutes:0,seconds:0}))).collect()})}}t.TermFunctionXsdToDatetime=o},4523:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(81093),t)},77447:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDayTimeDuration=void 0;const n=r(77617),i=r(77545),o=r(9402);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DAY_TIME_DURATION],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDayTimeDuration}}t.ActorFunctionFactoryTermXsdToDayTimeDuration=a},9402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDayTimeDuration=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DAY_TIME_DURATION,overloads:(0,i.declare)(i.TypeURL.XSD_DAY_TIME_DURATION).onUnary(i.TypeURL.XSD_DURATION,(()=>e=>new i.DayTimeDurationLiteral((0,i.trimToDayTimeDuration)(e.typedValue)))).onStringly1((()=>e=>new i.DayTimeDurationLiteral((0,i.parseDayTimeDuration)(e.str())))).collect()})}}t.TermFunctionXsdToDayTimeDuration=o},69721:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77447),t)},92015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDecimal=void 0;const n=r(77617),i=r(77545),o=r(73410);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DECIMAL],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDecimal}}t.ActorFunctionFactoryTermXsdToDecimal=a},73410:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDecimal=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DECIMAL,overloads:(0,i.declare)(i.TypeURL.XSD_DECIMAL).onNumeric1((()=>e=>{const t=(0,i.parseXSDDecimal)(e.str());if(void 0===t)throw new i.CastError(e,i.TypeURL.XSD_DECIMAL);return(0,i.decimal)(t)})).onString1((()=>e=>{const t=e.str(),r=/^([+-])?(\d+(\.\d+)?)$/u.test(t)?(0,i.parseXSDDecimal)(t):void 0;if(void 0===r)throw new i.CastError(e,i.TypeURL.XSD_DECIMAL);return(0,i.decimal)(r)}),!1).onBoolean1Typed((()=>e=>(0,i.decimal)(e?1:0))).collect()})}}t.TermFunctionXsdToDecimal=o},25033:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92015),t)},48293:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDouble=void 0;const n=r(77617),i=r(77545),o=r(92810);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DOUBLE],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDouble}}t.ActorFunctionFactoryTermXsdToDouble=a},92810:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDouble=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DOUBLE,overloads:(0,i.declare)(i.TypeURL.XSD_DOUBLE).onNumeric1((()=>e=>(0,i.double)(e.typedValue))).onBoolean1Typed((()=>e=>(0,i.double)(e?1:0))).onUnary(i.TypeURL.XSD_STRING,(()=>e=>{const t=(0,i.parseXSDFloat)(e.str());if(void 0===t)throw new i.CastError(e,i.TypeURL.XSD_DOUBLE);return(0,i.double)(t)}),!1).collect()})}}t.TermFunctionXsdToDouble=o},99507:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48293),t)},97969:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDuration=void 0;const n=r(77617),i=r(77545),o=r(2126);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DURATION],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDuration}}t.ActorFunctionFactoryTermXsdToDuration=a},2126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDuration=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DAY_TIME_DURATION,overloads:(0,i.declare)(i.TypeURL.XSD_DURATION).onUnary(i.TypeURL.XSD_DURATION,(()=>e=>new i.DurationLiteral(e.typedValue,e.strValue))).onStringly1((()=>e=>new i.DurationLiteral((0,i.parseDuration)(e.str())))).collect()})}}t.TermFunctionXsdToDuration=o},48758:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(97969),t)},20057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToFloat=void 0;const n=r(77617),i=r(77545),o=r(48260);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_FLOAT],termFunction:!0})}async run(e){return new o.TermFunctionXsdToFloat}}t.ActorFunctionFactoryTermXsdToFloat=a},48260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToFloat=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_FLOAT,overloads:(0,i.declare)(i.TypeURL.XSD_FLOAT).onNumeric1((()=>e=>(0,i.float)(e.typedValue))).onBoolean1Typed((()=>e=>(0,i.float)(e?1:0))).onUnary(i.TypeURL.XSD_STRING,(()=>e=>{const t=(0,i.parseXSDFloat)(e.str());if(void 0===t)throw new i.CastError(e,i.TypeURL.XSD_FLOAT);return(0,i.float)(t)}),!1).collect()})}}t.TermFunctionXsdToFloat=o},64068:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20057),t)},29637:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToInteger=void 0;const n=r(77617),i=r(77545),o=r(78740);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_INTEGER],termFunction:!0})}async run(e){return new o.TermFunctionXsdToInteger}}t.ActorFunctionFactoryTermXsdToInteger=a},78740:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToInteger=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_INTEGER,overloads:(0,i.declare)(i.TypeURL.XSD_INTEGER).onBoolean1Typed((()=>e=>(0,i.integer)(e?1:0))).onNumeric1((()=>e=>{if(!Number.isFinite(e.typedValue))throw new i.CastError(e,i.TypeURL.XSD_INTEGER);return(0,i.integer)(Math.trunc(e.typedValue))})).onString1((()=>e=>{const t=e.str(),r=/^\d+$/u.test(t)?Number.parseInt(t,10):void 0;if(void 0===r)throw new i.CastError(e,i.TypeURL.XSD_INTEGER);return(0,i.integer)(r)})).collect()})}}t.TermFunctionXsdToInteger=o},8096:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29637),t)},34169:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToString=void 0;const n=r(77617),i=r(77545),o=r(62082);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_STRING],termFunction:!0})}async run(e){return new o.TermFunctionXsdToString}}t.ActorFunctionFactoryTermXsdToString=a},62082:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToString=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_STRING,overloads:(0,i.declare)(i.TypeURL.XSD_STRING).onNumeric1((()=>e=>(0,i.string)((0,i.float)(e.typedValue).str()))).onBoolean1Typed((()=>e=>(0,i.string)((0,i.bool)(e).str()))).onTerm1((()=>e=>(0,i.string)(e.str()))).collect()})}}t.TermFunctionXsdToString=o},91799:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(34169),t)},57805:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToTime=void 0;const n=r(77617),i=r(77545),o=r(29754);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_TIME],termFunction:!0})}async run(e){return new o.TermFunctionXsdToTime}}t.ActorFunctionFactoryTermXsdToTime=a},29754:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToTime=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_TIME,overloads:(0,i.declare)(i.TypeURL.XSD_TIME).onUnary(i.TypeURL.XSD_TIME,(()=>e=>new i.TimeLiteral(e.typedValue,e.strValue))).onUnary(i.TypeURL.XSD_DATE_TIME,(()=>e=>new i.TimeLiteral(e.typedValue))).onStringly1((()=>e=>new i.TimeLiteral((0,i.parseTime)(e.str())))).collect()})}}t.TermFunctionXsdToTime=o},18895:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(57805),t)},17919:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToYearMonthDuration=void 0;const n=r(77617),i=r(77545),o=r(60882);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_YEAR_MONTH_DURATION],termFunction:!0})}async run(e){return new o.TermFunctionXsdToYearMonthDuration}}t.ActorFunctionFactoryTermXsdToYearMonthDuration=a},60882:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToYearMonthDuration=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_YEAR_MONTH_DURATION,overloads:(0,i.declare)(i.TypeURL.XSD_YEAR_MONTH_DURATION).onUnary(i.TypeURL.XSD_DURATION,(()=>e=>new i.YearMonthDurationLiteral((0,i.trimToYearMonthDuration)(e.typedValue)))).onStringly1((()=>e=>new i.YearMonthDurationLiteral((0,i.parseYearMonthDuration)(e.str())))).collect()})}}t.TermFunctionXsdToYearMonthDuration=o},26143:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17919),t)},29395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermYear=void 0;const n=r(77617),i=r(77545),o=r(49562);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.YEAR],termFunction:!0})}async run(e){return new o.TermFunctionYear}}t.ActorFunctionFactoryTermYear=a},49562:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionYear=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.YEAR,overloads:(0,i.declare)(i.SparqlOperator.YEAR).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.year))).set([i.TypeURL.XSD_DATE],(()=>([e])=>(0,i.integer)(e.typedValue.year))).collect()})}}t.TermFunctionYear=o},22361:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29395),t)},29856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashBindingsMurmur=void 0;const n=r(16235),i=r(90412),o=r(24799);class a extends n.ActorHashBindings{async test(e){return(0,i.passTestVoid)()}async run(e){return{hashFunction:(e,t)=>{let r=o();for(const n of t)r=r.hash(e.get(n)?.value??"UNDEF");return r.result()}}}}t.ActorHashBindingsMurmur=a},47111:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29856),t)},45122:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashQuadsMurmur=void 0;const n=r(65239),i=r(90412),o=r(24799);class a extends n.ActorHashQuads{async test(e){return(0,i.passTestVoid)()}async run(e){return{hashFunction:e=>{const t=o(e.subject.value);return t.hash(e.predicate.value),t.hash(e.object.value),t.hash(e.graph.value),t.result()}}}}t.ActorHashQuadsMurmur=a},33401:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45122),t)},38951:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpFetch=void 0;const n=r(70322),i=r(90711),o=r(90412),a=r(48393),s=r(57006);class c extends n.ActorHttp{constructor(e){super(e),this.fetchInitPreprocessor=new s.FetchInitPreprocessor(e.agentOptions)}async test(e){return(0,o.passTest)({time:Number.POSITIVE_INFINITY})}async run(e){const t=this.prepareRequestHeaders(e),r={method:"GET",...e.init,headers:t};this.logInfo(e.context,`Requesting ${n.ActorHttp.getInputUrl(e.input).href}`,(()=>({headers:n.ActorHttp.headersToHash(t),method:r.method}))),e.context.has(i.KeysHttp.fetch)&&(r.headers=n.ActorHttp.headersToHash(t)),e.context.get(i.KeysHttp.includeCredentials)&&(r.credentials="include");const o=e.context.get(i.KeysHttp.httpTimeout),a=e.context.get(i.KeysHttp.httpBodyTimeout),s=e.context.get(i.KeysHttp.fetch)??fetch,c=await this.fetchInitPreprocessor.handle(r);let u,l;if(o){const t=new AbortController;c.signal=t.signal,u=()=>t.abort(new Error(`Fetch timed out for ${n.ActorHttp.getInputUrl(e.input).href} after ${o} ms`)),l=setTimeout((()=>u()),o)}const d=await s(e.input,c);return!o||a&&d.body||clearTimeout(l),d}prepareRequestHeaders(e){const t=new Headers(e.init?.headers);n.ActorHttp.isBrowser()?t.delete("user-agent"):t.has("user-agent")||t.set("user-agent",c.userAgent);const r=e.context.get(i.KeysHttp.auth);return r&&t.set("Authorization",`Basic ${c.stringToBase64(r)}`),t}static stringToBase64(e){const t=(new TextEncoder).encode(e),r=Array.from(t,(e=>String.fromCodePoint(e))).join("");return btoa(r)}}t.ActorHttpFetch=c,c.userAgent=n.ActorHttp.createUserAgent("ActorHttpFetch",a.version)},57006:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchInitPreprocessor=void 0,t.FetchInitPreprocessor=class{async handle(e){if(e.body&&"string"!=typeof e.body&&"getReader"in e.body){const t=e.body.getReader(),r=[];for(;;){const{done:e,value:n}=await t.read();if(e)break;r.push(n)}e.body=r.join("")}return{...e,keepalive:!e.body}}}},90178:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38951),t)},44407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpProxy=void 0;const n=r(70322),i=r(90711),o=r(90412);class a extends n.ActorHttp{constructor(e){super(e)}async test(e){const t=e.context.get(i.KeysHttpProxy.httpProxyHandler);return t?await t.getProxy(e)?(0,o.passTest)({time:Number.POSITIVE_INFINITY}):(0,o.failTest)(`Actor ${this.name} could not determine a proxy for the given request.`):(0,o.failTest)(`Actor ${this.name} could not find a proxy handler in the context.`)}async run(e){const t="string"==typeof e.input?e.input:e.input.url,r=e.context.get(i.KeysHttpProxy.httpProxyHandler),n=await this.mediatorHttp.mediate({...await r.getProxy(e),context:e.context.delete(i.KeysHttpProxy.httpProxyHandler)});return Object.defineProperty(n,"url",{configurable:!0,enumerable:!0,get:()=>n.headers.get("x-final-url")??t}),n}}t.ActorHttpProxy=a},80570:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProxyHandlerStatic=void 0,t.ProxyHandlerStatic=class{constructor(e){this.prefixUrl=e}async getProxy(e){return{init:e.init,input:this.modifyInput(e.input)}}modifyInput(e){return"string"==typeof e?this.prefixUrl+e:new Request(this.prefixUrl+e.url,e)}}},75050:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(44407),t),i(r(80570),t)},26471:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpRetry=void 0;const n=r(70322),i=r(90711),o=r(90412);class a extends n.ActorHttp{constructor(e){super(e),this.activeDelays={},this.httpInvalidator=e.httpInvalidator,this.httpInvalidator.addInvalidateListener((e=>this.handleHttpInvalidateEvent(e))),this.mediatorHttp=e.mediatorHttp}async test(e){if(e.context.has(a.keyWrapped))return(0,o.failTest)(`${this.name} can only wrap a request once`);const t=e.context.get(i.KeysHttp.httpRetryCount);return!t||t<1?(0,o.failTest)(`${this.name} requires a retry count greater than zero to function`):(0,o.passTest)({time:0})}async run(e){const t=n.ActorHttp.getInputUrl(e.input),r=e.context.getSafe(i.KeysHttp.httpRetryCount)+1,o=e.context.get(i.KeysHttp.httpRetryDelayFallback)??0,s=e.context.get(i.KeysHttp.httpRetryDelayLimit),c=e.context.get(i.KeysHttp.httpRetryStatusCodes);for(let n=1;n<=r;n++){const i=t.host in this.activeDelays?this.activeDelays[t.host].date.getTime()-Date.now():o;if(s&&i>s){this.logWarn(e.context,"Requested delay exceeds the limit",(()=>({url:t.href,delay:i,delayDate:this.activeDelays[t.host].date.toISOString(),delayLimit:s,currentAttempt:`${n} / ${r}`})));break}i>0&&n>1&&(this.logDebug(e.context,"Delaying request",(()=>({url:t.href,delay:i,currentAttempt:`${n} / ${r}`}))),await a.sleep(i));const u=await this.mediatorHttp.mediate({...e,context:e.context.set(a.keyWrapped,!0)});if(u.ok)return u;if(c&&c.includes(u.status))this.logDebug(e.context,"Status code in force retry list, forcing retry",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})));else if(504!==u.status)if(429!==u.status&&503!==u.status){if(u.status>=400&&u.status<500){this.logDebug(e.context,"Server reported client-side error",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})));break}if(u.status>=500&&u.status<600){this.logDebug(e.context,"Server-side error encountered, terminating",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})));break}this.logDebug(e.context,"Request failed",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})))}else{const i=u.headers.get("retry-after");if(i){const o=a.parseRetryAfterHeader(i);o?(t.host in this.activeDelays&&clearTimeout(this.activeDelays[t.host].timeout),this.activeDelays[t.host]={date:o,timeout:setTimeout((()=>delete this.activeDelays[t.host]),Date.now()-o.getTime())}):this.logDebug(e.context,"Invalid Retry-After header value from server",(()=>({url:t.href,status:u.status,statusText:u.statusText,retryAfterHeader:i,currentAttempt:`${n} / ${r}`})))}this.logDebug(e.context,"Server temporarily unavailable",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})))}else this.logDebug(e.context,"Received proxy timeout",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})))}throw new Error(`Request failed: ${t.href}`)}static async sleep(e){e>0&&await new Promise((t=>setTimeout(t,e)))}static parseRetryAfterHeader(e){return a.numberRegex.test(e)?new Date(Date.now()+1e3*Number.parseInt(e,10)):a.dateRegex.test(e)?new Date(e):void 0}handleHttpInvalidateEvent(e){const t=e.url?new URL(e.url).host:void 0;for(const e of Object.keys(this.activeDelays))t&&e!==t||(clearTimeout(this.activeDelays[e].timeout),delete this.activeDelays[e])}}t.ActorHttpRetry=a,a.dateRegex=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$/u,a.numberRegex=/^[0-9]+$/u,a.keyWrapped=new o.ActionContextKey("urn:comunica:actor-http-retry#wrapped")},84600:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26471),t)},50311:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpWayback=void 0;const n=r(70322),i=r(90711),o=r(90412),a=r(52728),s="http://wayback.archive-it.org/";function c(e){const t=new Request(e.input,e.init);return{input:new Request(new URL(`/${t.url}`,s),t)}}function u(e){const t=e.get(i.KeysHttpProxy.httpProxyHandler);return t?e=>t.getProxy(c(e)):e=>Promise.resolve(c(e))}class l extends n.ActorHttp{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){let t=await this.mediatorHttp.mediate(e);if(404===t.status&&e.context.get(i.KeysHttpWayback.recoverBrokenLinks)){let r=await this.mediatorHttp.mediate({...e,context:e.context.set(i.KeysHttpWayback.recoverBrokenLinks,!1).set(i.KeysHttpProxy.httpProxyHandler,{getProxy:u(e.context)})});200===r.status&&([t,r]=[r,t]);const{body:o}=r;o&&("cancel"in o&&"function"==typeof o.cancel?await o.cancel():"destroy"in o&&"function"==typeof o.destroy?o.destroy():await(0,a.stringify)(n.ActorHttp.toNodeReadable(o)))}return t}}t.ActorHttpWayback=l},23794:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50311),t)},20358:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorInitQuery=void 0;const n=r(53638);"undefined"==typeof process&&(globalThis.process=r(65606));class i extends n.ActorInitQueryBase{}t.ActorInitQuery=i},53638:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorInitQueryBase=void 0;const n=r(6180),i=r(90412);class o extends n.ActorInit{async test(e){return(0,i.passTestVoid)()}async run(e){throw new Error("ActorInitSparql#run is not supported in the browser.")}}t.ActorInitQueryBase=o},76235:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryEngineBase=void 0;const n=r(90711),i=r(90412);class o{constructor(e){this.actorInitQuery=e}async queryBindings(e,t){return this.queryOfType(e,t,"bindings")}async queryQuads(e,t){return this.queryOfType(e,t,"quads")}async queryBoolean(e,t){return this.queryOfType(e,t,"boolean")}async queryVoid(e,t){return this.queryOfType(e,t,"void")}async queryOfType(e,t,r){const n=await this.query(e,t);if(n.resultType===r)return await n.execute();throw new Error(`Query result type '${r}' was expected, while '${n.resultType}' was found.`)}async query(e,t){const r=await this.queryOrExplain(e,t);if("explain"in r)throw new Error("Tried to explain a query when in query-only mode");return r}async explain(e,t,r){return t.explain=r,await this.queryOrExplain(e,t)}async queryOrExplain(e,t){const r=i.ActionContext.ensureActionContext(t);r.get(n.KeysInitQuery.invalidateCache)&&await this.invalidateHttpCache();const{result:a}=await this.actorInitQuery.mediatorQueryProcess.mediate({query:e,context:r});return"explain"in a?a:o.internalToFinalResult(a)}async getResultMediaTypes(e){return e=i.ActionContext.ensureActionContext(e),(await this.actorInitQuery.mediatorQueryResultSerializeMediaTypeCombiner.mediate({context:e,mediaTypes:!0})).mediaTypes}async getResultMediaTypeFormats(e){return e=i.ActionContext.ensureActionContext(e),(await this.actorInitQuery.mediatorQueryResultSerializeMediaTypeFormatCombiner.mediate({context:e,mediaTypeFormats:!0})).mediaTypeFormats}async resultToString(e,t,r){if(r=i.ActionContext.ensureActionContext(r),!t)switch(e.resultType){case"bindings":t="application/json";break;case"quads":t="application/trig";break;default:t="simple"}const n={...await o.finalToInternalResult(e),context:r};return(await this.actorInitQuery.mediatorQueryResultSerialize.mediate({context:r,handle:n,handleMediaType:t})).handle}invalidateHttpCache(e,t){return t=i.ActionContext.ensureActionContext(t),this.actorInitQuery.mediatorHttpInvalidate.mediate({url:e,context:t})}static internalToFinalResult(e){switch(e.type){case"bindings":return{resultType:"bindings",execute:async()=>e.bindingsStream,metadata:async()=>{const t=await e.metadata();return t.variables=t.variables.map((e=>e.variable)),t},context:e.context};case"quads":return{resultType:"quads",execute:async()=>e.quadStream,metadata:async()=>await e.metadata(),context:e.context};case"boolean":return{resultType:"boolean",execute:async()=>e.execute(),context:e.context};case"void":return{resultType:"void",execute:async()=>e.execute(),context:e.context}}}static async finalToInternalResult(e){switch(e.resultType){case"bindings":return{type:"bindings",bindingsStream:await e.execute(),metadata:async()=>{const t=await e.metadata();return t.variables=t.variables.map((e=>({variable:e,canBeUndef:!1}))),t}};case"quads":return{type:"quads",quadStream:await e.execute(),metadata:async()=>await e.metadata()};case"boolean":return{type:"boolean",execute:()=>e.execute()};case"void":return{type:"void",execute:()=>e.execute()}}}}t.QueryEngineBase=o},12301:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.QueryEngineBase=void 0,i(r(53638),t),i(r(20358),t);var o=r(76235);Object.defineProperty(t,"QueryEngineBase",{enumerable:!0,get:function(){return o.QueryEngineBase}})},85821:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationAssignSourcesExhaustive=void 0;const n=r(38912),i=r(16657),o=r(90711),a=r(90412),s=r(67021),c=r(96331);class u extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,a.passTestVoid)()}async run(e){const t=e.context.getSafe(o.KeysInitQuery.dataFactory),r=new c.Factory(t),n=e.context.get(o.KeysQueryOperation.querySources)??[];if(0===n.length)return{operation:e.operation,context:e.context};if(1===n.length){const t=n[0],r=e.context.get(o.KeysRdfUpdateQuads.destination);if(!r||t.source.referenceValue===(0,i.getDataDestinationValue)(r))try{const r=await t.source.getSelectorShape(e.context);if((0,s.doesShapeAcceptOperation)(r,e.operation))return{operation:(0,s.assignOperationSource)(e.operation,t),context:e.context}}catch{}}return{operation:this.assignExhaustive(r,e.operation,n),context:e.context.delete(o.KeysInitQuery.queryString)}}assignExhaustive(e,t,r){const n=this;return c.Util.mapOperation(t,{[c.Algebra.types.PATTERN]:(e,t)=>1===r.length?{result:(0,s.assignOperationSource)(e,r[0]),recurse:!1}:{result:t.createUnion(r.map((t=>(0,s.assignOperationSource)(e,t)))),recurse:!1},[c.Algebra.types.LINK]:(e,t)=>1===r.length?{result:(0,s.assignOperationSource)(e,r[0]),recurse:!1}:{result:t.createAlt(r.map((t=>(0,s.assignOperationSource)(e,t)))),recurse:!1},[c.Algebra.types.NPS]:(e,t)=>1===r.length?{result:(0,s.assignOperationSource)(e,r[0]),recurse:!1}:{result:t.createAlt(r.map((t=>(0,s.assignOperationSource)(e,t)))),recurse:!1},[c.Algebra.types.SERVICE]:e=>({result:e,recurse:!1}),[c.Algebra.types.CONSTRUCT]:(t,i)=>({result:i.createConstruct(n.assignExhaustive(e,t.input,r),t.template),recurse:!1}),[c.Algebra.types.DELETE_INSERT]:(t,i)=>({result:i.createDeleteInsert(t.delete,t.insert,t.where?n.assignExhaustive(e,t.where,r):void 0),recurse:!1})},e)}}t.ActorOptimizeQueryOperationAssignSourcesExhaustive=u},2425:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(85821),t)},68219:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationBgpToJoin=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{bgp:(e,t)=>({recurse:!1,result:t.createJoin(e.patterns)})},r),context:e.context}}}t.ActorOptimizeQueryOperationBgpToJoin=s},60192:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(68219),t)},25538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationConstructDistinct=void 0;const n=r(38912),i=r(19039),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return e.context.has(i.KeysInitQuery.distinctConstruct)?(0,o.passTestVoid)():(0,o.failTest)(`${this.name} was not enabled by the query.`)}async run(e){return{operation:a.Util.mapOperation(e.operation,{construct:(e,t)=>({recurse:!1,result:t.createDistinct(t.createConstruct(e.input,e.template))})}),context:e.context.delete(i.KeysInitQuery.distinctConstruct)}}}t.ActorOptimizeQueryOperationConstructDistinct=s},98832:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(25538),t)},43120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationDescribeToConstructsSubject=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return e.operation.type!==a.Algebra.types.DESCRIBE?(0,o.failTest)(`Actor ${this.name} only supports describe operations, but got ${e.operation.type}`):(0,o.passTest)(!0)}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t),n=e.operation,o=n.terms.filter((e=>"Variable"!==e.termType)).map((e=>{const r=[t.quad(e,t.variable("__predicate"),t.variable("__object"))];return r.forEach((e=>e.type="pattern")),{input:{type:a.Algebra.types.BGP,patterns:r},template:r,type:"construct"}}));if(o.length!==n.terms.length){let e=[];n.terms.filter((e=>"Variable"===e.termType)).forEach(((r,n)=>{const i=[t.quad(r,t.variable(`__predicate${n}`),t.variable(`__object${n}`))];i.forEach((e=>e.type="pattern")),e=[...e,...i]})),o.push({input:{type:a.Algebra.types.JOIN,input:[n.input,{type:a.Algebra.types.BGP,patterns:e}]},template:e,type:a.Algebra.types.CONSTRUCT})}return{operation:r.createUnion(o,!1),context:e.context}}}t.ActorOptimizeQueryOperationDescribeToConstructsSubject=s},31399:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(43120),t)},33704:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationFilterPushdown=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(67021),s=r(3285),c=r(96331);class u extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new c.Factory(t);let n=e.operation;const o=this;this.splitConjunctive&&(n=c.Util.mapOperation(n,{filter:(t,r)=>t.expression.expressionType===c.Algebra.expressionTypes.OPERATOR&&"&&"===t.expression.operator?(o.logDebug(e.context,`Split conjunctive filter into ${t.expression.args.length} nested filters`),{recurse:!0,result:t.expression.args.reduce(((e,t)=>r.createFilter(e,t)),t.input)}):{recurse:!0,result:t}},r));const a=this.getSources(n),s=new Map(await Promise.all(a.map((async t=>[t,await t.source.getSelectorShape(e.context)]))));let u=!0,l=0;for(;u&&l1&&o.logDebug(e.context,`Pushed down filters in ${l} iterations`),this.mergeConjunctive&&(n=c.Util.mapOperation(n,{filter(t,r){if(t.input.type===c.Algebra.types.FILTER){const{nestedExpressions:n,input:i}=o.getNestedFilterExpressions(t);return o.logDebug(e.context,`Merge ${n.length} nested filters into conjunctive filter`),{recurse:!0,result:r.createFilter(i,n.slice(1).reduce(((e,t)=>r.createOperatorExpression("&&",[e,t])),n[0]))}}return{recurse:!0,result:t}}})),{operation:n,context:e.context}}shouldAttemptPushDown(e,t,r){if(this.aggressivePushdown)return!0;const n=e.expression;return n.expressionType===c.Algebra.expressionTypes.OPERATOR&&"="===n.operator&&("term"===n.args[0].expressionType&&"Variable"!==n.args[0].term.termType&&"term"===n.args[1].expressionType&&"Variable"===n.args[1].term.termType||"term"===n.args[0].expressionType&&"Variable"===n.args[0].term.termType&&"term"===n.args[1].expressionType&&"Variable"!==n.args[1].term.termType)||!!t.some((t=>(0,a.doesShapeAcceptOperation)(r.get(t),e)))}getSources(e){const t=new Set,r=e=>{const r=(0,a.getOperationSource)(e);return r&&t.add(r),!1};return c.Util.recurseOperation(e,{[c.Algebra.types.PATTERN]:r,[c.Algebra.types.LINK]:r,[c.Algebra.types.NPS]:r,[c.Algebra.types.SERVICE]:r}),[...t]}getExpressionVariables(e){switch(e.expressionType){case c.Algebra.expressionTypes.AGGREGATE:case c.Algebra.expressionTypes.WILDCARD:throw new Error(`Getting expression variables is not supported for ${e.expressionType}`);case c.Algebra.expressionTypes.EXISTENCE:return c.Util.inScopeVariables(e.input);case c.Algebra.expressionTypes.NAMED:return[];case c.Algebra.expressionTypes.OPERATOR:return(0,s.uniqTerms)(e.args.flatMap((e=>this.getExpressionVariables(e))));case c.Algebra.expressionTypes.TERM:return"Variable"===e.term.termType?[e.term]:[]}}getOverlappingOperations(e,t){const r=[],n=[],i=[];for(const o of e.input){const e=c.Util.inScopeVariables(o);this.variablesSubSetOf(t,e)?r.push(o):this.variablesIntersect(t,e)?n.push(o):i.push(o)}return{fullyOverlapping:r,partiallyOverlapping:n,notOverlapping:i}}filterPushdown(e,t,r,n,i){if(this.isExpressionFalse(e))return[!0,n.createUnion([])];if(e.type===c.Algebra.types.EXPRESSION&&e.expressionType===c.Algebra.expressionTypes.EXISTENCE)return[!1,n.createFilter(r,e)];switch(r.type){case c.Algebra.types.EXTEND:return this.variablesIntersect([r.variable],t)?[!1,n.createFilter(r,e)]:[!0,n.createExtend(this.filterPushdown(e,t,r.input,n,i)[1],r.variable,r.expression)];case c.Algebra.types.FILTER:{const[o,a]=this.filterPushdown(e,t,r.input,n,i);return[o,n.createFilter(a,r.expression)]}case c.Algebra.types.JOIN:{if(0===r.input.length)return[!1,n.createFilter(r,e)];const{fullyOverlapping:o,partiallyOverlapping:a,notOverlapping:s}=this.getOverlappingOperations(r,t),c=[];let u=!1;return o.length>0&&(u=!0,c.push(n.createJoin(o.map((r=>this.filterPushdown(e,t,r,n,i)[1]))))),a.length>0&&c.push(n.createFilter(n.createJoin(a,!1),e)),s.length>0&&c.push(...s),c.length>1&&(u=!0),u&&this.logDebug(i,`Push down filter across join entries with ${o.length} fully overlapping, ${a.length} partially overlapping, and ${s.length} not overlapping`),[u,1===c.length?c[0]:n.createJoin(c)]}case c.Algebra.types.NOP:return[!0,r];case c.Algebra.types.PROJECT:return this.variablesIntersect(r.variables,t)?[!0,n.createProject(this.filterPushdown(e,t,r.input,n,i)[1],r.variables)]:[!0,r];case c.Algebra.types.UNION:{const{fullyOverlapping:o,partiallyOverlapping:a,notOverlapping:s}=this.getOverlappingOperations(r,t),c=[];let u=!1;return o.length>0&&(u=!0,c.push(n.createUnion(o.map((r=>this.filterPushdown(e,t,r,n,i)[1]))))),a.length>0&&c.push(n.createFilter(n.createUnion(a,!1),e)),s.length>0&&c.push(...s),c.length>1&&(u=!0),u&&this.logDebug(i,`Push down filter across union entries with ${o.length} fully overlapping, ${a.length} partially overlapping, and ${s.length} not overlapping`),[u,1===c.length?c[0]:n.createUnion(c)]}case c.Algebra.types.VALUES:return this.variablesIntersect(r.variables,t)?[!1,n.createFilter(r,e)]:[!0,r];case c.Algebra.types.LEFT_JOIN:if(this.pushIntoLeftJoins){const o=c.Util.inScopeVariables(r.input[1]);if(!this.variablesIntersect(t,o))return this.logDebug(i,"Push down filter into left join"),[!0,n.createLeftJoin(this.filterPushdown(e,t,r.input[0],n,i)[1],r.input[1],r.expression)]}return[!1,n.createFilter(r,e)];case c.Algebra.types.PATTERN:if(this.pushEqualityIntoPatterns){const t=this.getEqualityExpressionPushableIntoPattern(e);if(t){let e=!1;const o=r.metadata;if((r=(0,s.mapTermsNested)(r,(r=>r.equals(t.variable)?(e=!0,t.term):r))).type=c.Algebra.types.PATTERN,r.metadata=o,e)return this.logDebug(i,`Push down filter into pattern for ?${t.variable.value}`),[!0,n.createJoin([r,n.createValues([t.variable],[{[`?${t.variable.value}`]:t.term}])])]}}return[!1,n.createFilter(r,e)];case c.Algebra.types.PATH:if(this.pushEqualityIntoPatterns){const t=this.getEqualityExpressionPushableIntoPattern(e);if(t&&(r.subject.equals(t.variable)||r.object.equals(t.variable))){this.logDebug(i,`Push down filter into path for ?${t.variable.value}`);const e=r.metadata;return(r=n.createPath(r.subject.equals(t.variable)?t.term:r.subject,r.predicate,r.object.equals(t.variable)?t.term:r.object)).metadata=e,[!0,n.createJoin([r,n.createValues([t.variable],[{[`?${t.variable.value}`]:t.term}])])]}}return[!1,n.createFilter(r,e)];case c.Algebra.types.MINUS:case c.Algebra.types.ALT:case c.Algebra.types.ASK:case c.Algebra.types.BGP:case c.Algebra.types.CONSTRUCT:case c.Algebra.types.DESCRIBE:case c.Algebra.types.DISTINCT:case c.Algebra.types.EXPRESSION:case c.Algebra.types.FROM:case c.Algebra.types.GRAPH:case c.Algebra.types.GROUP:case c.Algebra.types.INV:case c.Algebra.types.LINK:case c.Algebra.types.NPS:case c.Algebra.types.ONE_OR_MORE_PATH:case c.Algebra.types.ORDER_BY:case c.Algebra.types.REDUCED:case c.Algebra.types.SEQ:case c.Algebra.types.SERVICE:case c.Algebra.types.SLICE:case c.Algebra.types.ZERO_OR_MORE_PATH:case c.Algebra.types.ZERO_OR_ONE_PATH:case c.Algebra.types.COMPOSITE_UPDATE:case c.Algebra.types.DELETE_INSERT:case c.Algebra.types.LOAD:case c.Algebra.types.CLEAR:case c.Algebra.types.CREATE:case c.Algebra.types.DROP:case c.Algebra.types.ADD:case c.Algebra.types.MOVE:case c.Algebra.types.COPY:return[!1,n.createFilter(r,e)]}}getEqualityExpressionPushableIntoPattern(e){if(e.expressionType===c.Algebra.expressionTypes.OPERATOR&&"="===e.operator){if("term"===e.args[0].expressionType&&"Variable"!==e.args[0].term.termType&&("Literal"!==e.args[0].term.termType||this.isLiteralWithCanonicalLexicalForm(e.args[0].term))&&"term"===e.args[1].expressionType&&"Variable"===e.args[1].term.termType)return{variable:e.args[1].term,term:e.args[0].term};if("term"===e.args[0].expressionType&&"Variable"===e.args[0].term.termType&&"term"===e.args[1].expressionType&&"Variable"!==e.args[1].term.termType&&("Literal"!==e.args[1].term.termType||this.isLiteralWithCanonicalLexicalForm(e.args[1].term)))return{variable:e.args[0].term,term:e.args[1].term}}}isLiteralWithCanonicalLexicalForm(e){if("Literal"===e.termType)switch(e.datatype.value){case"http://www.w3.org/2001/XMLSchema#string":case"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString":case"http://www.w3.org/2001/XMLSchema#normalizedString":case"http://www.w3.org/2001/XMLSchema#anyURI":case"http://www.w3.org/2001/XMLSchema#base64Binary":case"http://www.w3.org/2001/XMLSchema#language":case"http://www.w3.org/2001/XMLSchema#Name":case"http://www.w3.org/2001/XMLSchema#NCName":case"http://www.w3.org/2001/XMLSchema#NMTOKEN":case"http://www.w3.org/2001/XMLSchema#token":case"http://www.w3.org/2001/XMLSchema#hexBinary":return!0}return!1}variablesIntersect(e,t){return e.some((e=>t.some((t=>e.equals(t)))))}variablesSubSetOf(e,t){return e.length<=t.length&&e.every((e=>t.some((t=>e.equals(t)))))}isExpressionFalse(e){return e.term&&"Literal"===e.term.termType&&"false"===e.term.value}getNestedFilterExpressions(e){if(e.input.type===c.Algebra.types.FILTER){const t=this.getNestedFilterExpressions(e.input);return{nestedExpressions:[e.expression,...t.nestedExpressions],input:t.input}}return{nestedExpressions:[e.expression],input:e.input}}}t.ActorOptimizeQueryOperationFilterPushdown=u},62001:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33704),t)},66284:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationGroupSources=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(67021),s=r(96331);class c extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,a.getOperationSource)(e.operation)?(0,o.failTest)(`Actor ${this.name} does not work with top-level operation sources.`):(0,o.passTestVoid)()}async run(e){return{operation:await this.groupOperation(e.operation,e.context),context:e.context}}async groupOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new s.Factory(r);if((0,a.getOperationSource)(e)??!("input"in e))return e;if(!Array.isArray(e.input)){const r=await this.groupOperation(e.input,t);if(r.metadata?.scopedSource){const n=(0,a.getOperationSource)(r);(0,a.doesShapeAcceptOperation)(await n.source.getSelectorShape(t),e)&&(this.logDebug(t,`Hoist 1 source-specific operation into a single ${e.type} operation for ${n.source.toString()}`),(0,a.removeOperationSource)(r),e=(0,a.assignOperationSource)(e,n))}return{...e,input:r}}const o=await Promise.all(e.input.map((e=>this.groupOperation(e,t)))),c=this.clusterOperationsWithEqualSources(o);if(1===c.length){const r=c[0],n=(0,a.getOperationSource)(c[0][0]);return{...await this.moveSourceAnnotationUpwardsIfPossible(e,r,n,t),input:r}}if(c.length===o.length)return{...e,input:o};let u;switch(e.type){case s.Algebra.types.JOIN:u=n.createJoin.bind(n);break;case s.Algebra.types.UNION:u=n.createUnion.bind(n);break;case s.Algebra.types.ALT:u=n.createAlt.bind(n);break;case s.Algebra.types.SEQ:u=n.createSeq.bind(n);break;default:throw new Error(`Unsupported operation '${e.type}' detected while grouping sources`)}return await this.groupOperationMulti(c,u,t)}async groupOperationMulti(e,t,r){let n=!0;const i=await Promise.all(e.map((async e=>{const i=(0,a.getOperationSource)(e[0]),o=await this.moveSourceAnnotationUpwardsIfPossible(t(e,!0),e,i,r);return(0,a.getOperationSource)(o)&&(n=!1),o})));return t(i,n)}clusterOperationsWithEqualSources(e){const t=new Map,r=[];for(const n of e){const e=(0,a.getOperationSource)(n);e?(t.has(e)||t.set(e,[]),t.get(e).push(n)):r.push(n)}const n=[];r.length>0&&n.push(r);for(const[e,r]of t.entries())n.push(r.map((t=>(0,a.assignOperationSource)(t,e))));return n}async moveSourceAnnotationUpwardsIfPossible(e,t,r,n){if(r&&(0,a.doesShapeAcceptOperation)(await r.source.getSelectorShape(n),e)){this.logDebug(n,`Hoist ${t.length} source-specific operations into a single ${e.type} operation for ${r.source.toString()}`),e=(0,a.assignOperationSource)(e,r);for(const e of t)(0,a.removeOperationSource)(e)}return e}}t.ActorOptimizeQueryOperationGroupSources=c},92012:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(66284),t)},13574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationJoinBgp=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{join:(e,t)=>e.input.every((e=>"bgp"===e.type))?{recurse:!1,result:t.createBgp(e.input.flatMap((e=>e.patterns)))}:{recurse:!1,result:e}},r),context:e.context}}}t.ActorOptimizeQueryOperationJoinBgp=s},34304:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13574),t)},79646:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationJoinConnected=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{join:(e,t)=>({recurse:!1,result:s.cluster(e,t)})},r),context:e.context}}static cluster(e,t){let r,n=e.input.map((e=>({inScopeVariables:Object.fromEntries(a.Util.inScopeVariables(e).map((e=>[e.value,!0]))),entries:[e]})));do{r=n,n=s.clusterIteration(r)}while(r.length!==n.length);const i=n.map((e=>1===e.entries.length?e.entries[0]:t.createJoin(e.entries)));return 1===i.length?i[0]:t.createJoin(i,!1)}static clusterIteration(e){const t=[];for(const r of e){let e=!1;for(const n of t)if(s.haveOverlappingVariables(r.inScopeVariables,n.inScopeVariables)){n.entries=[...n.entries,...r.entries],n.inScopeVariables={...n.inScopeVariables,...r.inScopeVariables},e=!0;break}e||t.push({inScopeVariables:r.inScopeVariables,entries:r.entries})}return t}static haveOverlappingVariables(e,t){for(const r of Object.keys(e))if(t[r])return!0;return!1}}t.ActorOptimizeQueryOperationJoinConnected=s},5118:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79646),t)},1166:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationPruneEmptySourceOperations=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(67021),s=r(96331);class c extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,a.getOperationSource)(e.operation)?(0,o.failTest)(`Actor ${this.name} does not work with top-level operation sources.`):(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Factory(t);let n=e.operation;const o=[],u=this;s.Util.recurseOperation(n,{[s.Algebra.types.UNION]:e=>(u.collectMultiOperationInputs(e.input,o,s.Algebra.types.PATTERN),!0),[s.Algebra.types.ALT]:e=>(u.collectMultiOperationInputs(e.input,o,s.Algebra.types.LINK),!1),[s.Algebra.types.SERVICE]:()=>!1});const l=new Set;return await Promise.all(o.map((async n=>{const i="link"===n.type?r.createPattern(t.variable("?s"),n.iri,t.variable("?o")):n;await this.hasSourceResults(r,(0,a.getOperationSource)(n),i,e.context)||l.add(n)}))),l.size>0&&(this.logDebug(e.context,`Pruning ${l.size} source-specific operations`),n=s.Util.mapOperation(n,{[s.Algebra.types.UNION]:(e,t)=>u.mapMultiOperation(e,l,(e=>t.createUnion(e))),[s.Algebra.types.ALT]:(e,t)=>u.mapMultiOperation(e,l,(e=>t.createAlt(e)))},r),n=s.Util.mapOperation(n,{[s.Algebra.types.PROJECT]:(e,t)=>c.hasEmptyOperation(e)?{recurse:!1,result:t.createUnion([])}:{recurse:!0,result:e},[s.Algebra.types.LEFT_JOIN]:e=>c.hasEmptyOperation(e.input[1])?{recurse:!0,result:e.input[0]}:{recurse:!0,result:e}},r)),{operation:n,context:e.context}}static hasEmptyOperation(e){let t=!1;return s.Util.recurseOperation(e,{[s.Algebra.types.UNION]:e=>(e.input.every((e=>c.hasEmptyOperation(e)))&&(t=!0),!1),[s.Algebra.types.ALT]:e=>(0===e.input.length&&(t=!0),!1),[s.Algebra.types.LEFT_JOIN]:e=>(c.hasEmptyOperation(e.input[0])&&(t=!0),!1)}),t}collectMultiOperationInputs(e,t,r){for(const n of e)(0,a.getOperationSource)(n)&&n.type===r&&t.push(n)}mapMultiOperation(e,t,r){const n=e.input.filter((e=>!t.has(e)));return n.length===e.input.length?{result:e,recurse:!0}:0===n.length?{result:r([]),recurse:!1}:1===n.length?{result:n[0],recurse:!0}:{result:r(n),recurse:!0}}async hasSourceResults(e,t,r,n){if(t.context?.get(i.KeysQuerySourceIdentify.traverse))return!0;if(this.useAskIfSupported){const i=e.createAsk(r);if((0,a.doesShapeAcceptOperation)(await t.source.getSelectorShape(n),i))return t.source.queryBoolean(i,n)}const o=t.source.queryBindings(r,n);return new Promise(((e,t)=>{o.on("error",t),o.getProperty("metadata",(t=>{o.destroy(),e(t.cardinality.value>0)}))}))}}t.ActorOptimizeQueryOperationPruneEmptySourceOperations=c},94731:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1166),t)},83658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationRewriteAdd=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(47793),s=r(96331),c=new a.DataFactory;class u extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Factory(t);return{operation:s.Util.mapOperation(e.operation,{[s.Algebra.types.ADD](e,t){const r="DEFAULT"===e.destination?c.defaultGraph():e.destination,n="DEFAULT"===e.source?c.defaultGraph():e.source;return{result:t.createDeleteInsert(void 0,[t.createPattern(c.variable("s"),c.variable("p"),c.variable("o"),r)],t.createPattern(c.variable("s"),c.variable("p"),c.variable("o"),n)),recurse:!1}}},r),context:e.context}}}t.ActorOptimizeQueryOperationRewriteAdd=u},34406:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(83658),t)},42512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationRewriteCopy=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{[a.Algebra.types.COPY](e,t){let r;return r="string"==typeof e.destination&&"string"==typeof e.source&&e.destination===e.source||"string"!=typeof e.destination&&"string"!=typeof e.source&&e.destination.equals(e.source)?t.createCompositeUpdate([]):t.createCompositeUpdate([t.createDrop(e.destination,!0),t.createAdd(e.source,e.destination,e.silent)]),{result:r,recurse:!1}}},r),context:e.context}}}t.ActorOptimizeQueryOperationRewriteCopy=s},20578:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(42512),t)},80664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationRewriteMove=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{[a.Algebra.types.MOVE](e,t){let r;if("string"==typeof e.destination&&"string"==typeof e.source&&e.destination===e.source||"string"!=typeof e.destination&&"string"!=typeof e.source&&e.destination.equals(e.source))r=t.createCompositeUpdate([]);else{const n=[t.createDrop(e.destination,!0),t.createAdd(e.source,e.destination,e.silent),t.createDrop(e.source)];r=t.createCompositeUpdate(n)}return{result:r,recurse:!1}}},r),context:e.context}}}t.ActorOptimizeQueryOperationRewriteMove=s},12538:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(80664),t)},30152:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationAsk=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"ask")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t}),{bindingsStream:n}=(0,o.getSafeBindings)(r);return{type:"boolean",execute:async()=>1===(await n.take(1).toArray()).length}}}t.ActorQueryOperationAsk=a},16682:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30152),t)},12167:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationBgpJoin=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"bgp")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r);return this.mediatorQueryOperation.mediate({operation:n.createJoin(e.patterns),context:t})}}t.ActorQueryOperationBgpJoin=s},38820:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(12167),t)},5336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationConstruct=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(67021),s=r(3285),c=r(96331),u=r(77654);class l extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"construct")}static getVariables(e){return(0,s.uniqTerms)([].concat.apply([],e.map((e=>(0,s.getVariables)((0,s.getTermsNested)(e))))))}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=l.getVariables(e.template),o={type:c.Algebra.types.PROJECT,input:e.input,variables:n},s=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:o,context:t}));return{metadata:()=>s.metadata().then((t=>({...t,order:void 0,cardinality:{type:t.cardinality.type,value:t.cardinality.value*e.template.length},availableOrders:void 0}))),quadStream:new u.BindingsToQuadsIterator(r,e.template,s.bindingsStream),type:"quads"}}}t.ActorQueryOperationConstruct=l},77654:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsToQuadsIterator=void 0;const n=r(75627),i=r(3285);class o extends n.MultiTransformIterator{constructor(e,t,r){super(r,{autoStart:!1}),this.dataFactory=e,this.template=t,this.blankNodeCounter=0}static bindTerm(e,t){return"Variable"===t.termType?e.get(t):t}static bindQuad(e,t){try{return(0,i.mapTermsNested)(t,(t=>{const r=o.bindTerm(e,t);if(!r)throw new Error("Unbound term");return r}))}catch{}}static localizeBlankNode(e,t,r){return"BlankNode"===r.termType?e.blankNode(`${r.value}${t}`):r}static localizeQuad(e,t,r){return(0,i.mapTermsNested)(r,(r=>o.localizeBlankNode(e,t,r)))}bindTemplate(e,t,r){return t.map(o.localizeQuad.bind(null,this.dataFactory,r)).map((t=>o.bindQuad.bind(null,e)(t))).filter(Boolean)}_createTransformer(e){return new n.ArrayIterator(this.bindTemplate(e,this.template,this.blankNodeCounter++),{autoStart:!1})}}t.BindingsToQuadsIterator=o},34585:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5336),t),i(r(77654),t)},46271:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationDistinctHash=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"distinct")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t});if("quads"===r.type){const e=(0,o.getSafeQuads)(r);return{type:"quads",quadStream:e.quadStream.filter(await this.newHashFilterQuads(t)),metadata:e.metadata}}const n=(0,o.getSafeBindings)(r),i=(await n.metadata()).variables.map((e=>e.variable));return{type:"bindings",bindingsStream:n.bindingsStream.filter(await this.newHashFilter(t,i)),metadata:n.metadata}}async newHashFilter(e,t){const{hashFunction:r}=await this.mediatorHashBindings.mediate({context:e}),n={};return e=>{const i=r(e,t);return!(i in n)&&(n[i]=!0)}}async newHashFilterQuads(e){const{hashFunction:t}=await this.mediatorHashQuads.mediate({context:e}),r={};return e=>{const n=t(e);return!(n in r)&&(r[n]=!0)}}}t.ActorQueryOperationDistinctHash=a},24615:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46271),t)},79904:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationExtend=void 0;const n=r(66490),i=r(90412),o=r(81926),a=r(77545),s=r(67021);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"extend"),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}async testOperation(){return(0,i.passTestVoid)()}async runOperation(e,t){const{expression:r,input:n,variable:i}=e,c=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:n,context:t}));if((await c.metadata()).variables.some((e=>e.variable.equals(i))))throw new Error(`Illegal binding to variable '${i.value}' that has already been bound`);const u=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:r,context:t}),l=c.bindingsStream.transform({autoStart:!1,transform:async(e,r,n)=>{try{const t=await u.evaluate(e);n(e.set(i,t))}catch(r){(0,a.isExpressionError)(r)?(n(e),this.logWarn(t,`Expression error for extend operation (${r.message})with bindings '${(0,o.bindingsToString)(e)}'`)):l.emit("error",r)}r()}});return{type:"bindings",bindingsStream:l,async metadata(){const e=await c.metadata();return{...e,variables:[...e.variables,{variable:i,canBeUndef:!1}]}}}}}t.ActorQueryOperationExtend=c},12304:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79904),t)},13824:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationFilter=void 0;const n=r(66490),i=r(90412),o=r(81926),a=r(77545),s=r(67021);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"filter"),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}async testOperation(){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t}),n=(0,s.getSafeBindings)(r);(0,s.validateQueryOutput)(n,"bindings");const i=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),c=n.bindingsStream.transform({transform:async(e,r,n)=>{try{await i.evaluateAsEBV(e)&&n(e)}catch(r){(0,a.isExpressionError)(r)?this.logWarn(t,"Error occurred while filtering.",(()=>({error:r,bindings:(0,o.bindingsToString)(e)}))):c.emit("error",r)}r()},autoStart:!1});return{type:"bindings",bindingsStream:c,metadata:n.metadata}}}t.ActorQueryOperationFilter=c},68350:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13824),t)},20679:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationFromQuad=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"from")}static copyOperation(e,t){const r={};for(const n of Object.keys(e))Array.isArray(e[n])&&"template"!==n?r[n]="variables"===n?e[n]:e[n].map(t):s.ALGEBRA_TYPES.includes(e[n].type)?r[n]=t(e[n]):r[n]=e[n];return r}static applyOperationDefaultGraph(e,t,r){if("bgp"===t.type&&t.patterns.length>0||"path"===t.type||"pattern"===t.type){if("bgp"===t.type)return s.joinOperations(e,t.patterns.map((t=>{if("DefaultGraph"!==t.graph.termType)return e.createBgp([t]);const n=r.map((r=>e.createBgp([Object.assign(e.createPattern(t.subject,t.predicate,t.object,r),{metadata:t.metadata})])));return s.unionOperations(e,n)})));if("DefaultGraph"!==t.graph.termType)return t;const n=r.map((r=>"path"===t.type?e.createPath(t.subject,t.predicate,t.object,r):Object.assign(e.createPattern(t.subject,t.predicate,t.object,r),{metadata:t.metadata})));return s.unionOperations(e,n)}return s.copyOperation(t,(t=>this.applyOperationDefaultGraph(e,t,r)))}static applyOperationNamedGraph(e,t,r,n){if("bgp"===t.type&&t.patterns.length>0||"path"===t.type||"pattern"===t.type){const i="bgp"===t.type?t.patterns[0].graph:t.graph;if("DefaultGraph"===i.termType)return{type:a.Algebra.types.BGP,patterns:[]};if("Variable"===i.termType){if(1===r.length){const n=r[0],o={};o[`?${i.value}`]=n;const a=e.createValues([i],[o]);let s;return s="bgp"===t.type?e.createBgp(t.patterns.map((t=>e.createPattern(t.subject,t.predicate,t.object,n)))):"path"===t.type?e.createPath(t.subject,t.predicate,t.object,n):e.createPattern(t.subject,t.predicate,t.object,n),e.createJoin([a,s])}return s.unionOperations(e,r.map((r=>s.applyOperationNamedGraph(e,t,[r],n))))}return[...r,...n].some((e=>e.equals(i)))?t:{type:a.Algebra.types.BGP,patterns:[]}}return s.copyOperation(t,(t=>this.applyOperationNamedGraph(e,t,r,n)))}static joinOperations(e,t){if(1===t.length)return t[0];if(t.length>1)return e.createJoin(t);throw new Error("A join can only be applied on at least one operation")}static unionOperations(e,t){if(1===t.length)return t[0];if(t.length>1)return e.createUnion(t);throw new Error("A union can only be applied on at least one operation")}static createOperation(e,t){let r=t.input;return t.default.length>0&&(r=s.applyOperationDefaultGraph(e,r,t.default)),(t.named.length>0||t.default.length>0)&&(r=s.applyOperationNamedGraph(e,r,t.named,t.default)),r}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r),o=s.createOperation(n,e);return this.mediatorQueryOperation.mediate({operation:o,context:t})}}t.ActorQueryOperationFromQuad=s,s.ALGEBRA_TYPES=Object.keys(a.Algebra.types).map((e=>a.Algebra.types[e]))},22744:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20679),t)},38300:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationGroup=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(67021),c=r(75627),u=r(8902);class l extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"group"),this.mediatorBindingsAggregatorFactory=e.mediatorBindingsAggregatorFactory}async testOperation(){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),{input:o,aggregates:l}=e,d=await this.mediatorQueryOperation.mediate({operation:o,context:t}),p=(0,s.getSafeBindings)(d),h=[...e.variables,...l.map((e=>e.variable))].map((e=>({variable:e,canBeUndef:!1}))),f=(await p.metadata()).variables.map((e=>e.variable));return{type:"bindings",bindingsStream:new c.TransformIterator((()=>new Promise(((r,i)=>{const o=new u.GroupsState(e,this.mediatorBindingsAggregatorFactory,t,n,f);p.bindingsStream.on("end",(async()=>{try{const e=new c.ArrayIterator(await o.collectResults(),{autoStart:!1});r(e)}catch(e){i(e)}})),p.bindingsStream.on("error",i),p.bindingsStream.on("data",(e=>{o.consumeBindings(e).catch(i)}))}))),{autoStart:!1}),metadata:async()=>({...await p.metadata(),variables:h})}}}t.ActorQueryOperationGroup=l},8902:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GroupsState=void 0;const n=r(90711),i=r(81926);t.GroupsState=class{constructor(e,t,r,n,i){this.pattern=e,this.mediatorBindingsAggregatorFactory=t,this.context=r,this.bindingsFactory=n,this.variables=i,this.groups=new Map,this.groupsInitializer=new Map,this.groupVariables=new Set(this.pattern.variables.map((e=>e.value))),this.waitCounter=1,this.resultHasBeenCalled=!1}consumeBindings(e){const t=this.resultCheck();if(t)return t;this.waitCounter++;const r=e.filter(((e,t)=>this.groupVariables.has(t.value))),n=this.hashBindings(r);let i,o=this.groupsInitializer.get(n);if(o){const t=o;i=(async()=>{const r=await t;await Promise.all(this.pattern.aggregates.map((async t=>{const n=t.variable.value;await r.aggregators[n].putBindings(e)})))})().then((async()=>{await this.subtractWaitCounterAndCollect()}))}else o=(async()=>{const t={};await Promise.all(this.pattern.aggregates.map((async r=>{const n=r.variable.value;t[n]=await this.mediatorBindingsAggregatorFactory.mediate({expr:r,context:this.context}),await t[n].putBindings(e)})));const i={aggregators:t,bindings:r};return this.groups.set(n,i),await this.subtractWaitCounterAndCollect(),i})(),this.groupsInitializer.set(n,o),i=o;return i}async subtractWaitCounterAndCollect(){0==--this.waitCounter&&await this.handleResultCollection()}async handleResultCollection(){const e=this.context.getSafe(n.KeysInitQuery.dataFactory);let t=await Promise.all([...this.groups].map((async([t,r])=>{const{bindings:n,aggregators:i}=r;let o=n;for(const t in i){const r=await i[t].result();r&&(o=o.set(e.variable(t),r))}return o})));if(0===t.length&&0===this.groupVariables.size){const e=[];await Promise.all(this.pattern.aggregates.map((async t=>{const r=t.variable,n=await this.mediatorBindingsAggregatorFactory.mediate({expr:t,context:this.context}),i=await n.result();void 0!==i&&e.push([r,i])}))),t=[this.bindingsFactory.bindings(e)]}this.waitResolver(t)}resultCheck(){if(this.resultHasBeenCalled)return Promise.reject(new Error("Calling any function after calling collectResult is invalid."))}async collectResults(){const e=this.resultCheck();if(e)return e;this.resultHasBeenCalled=!0;const t=new Promise((e=>{this.waitResolver=e}));return await this.subtractWaitCounterAndCollect(),t}hashBindings(e){return(0,i.bindingsToCompactString)(e,this.variables)}}},37515:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38300),t)},27568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationJoin=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"join")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(await Promise.all(e.input.map((async e=>({output:await this.mediatorQueryOperation.mediate({operation:e,context:t}),operation:e}))))).map((({output:e,operation:t})=>({output:(0,o.getSafeBindings)(e),operation:t})));return this.mediatorJoin.mediate({type:"inner",entries:r,context:t})}}t.ActorQueryOperationJoin=a},20240:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(27568),t)},35716:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationLeftJoin=void 0;const n=r(66490),i=r(90412),o=r(77545),a=r(67021);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"leftjoin"),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(await Promise.all(e.input.map((async e=>({output:await this.mediatorQueryOperation.mediate({operation:e,context:t}),operation:e}))))).map((({output:e,operation:t})=>({output:(0,a.getSafeBindings)(e),operation:t}))),n=await this.mediatorJoin.mediate({type:"optional",entries:r,context:t});if(e.expression){const i=(await r[1].output.metadata()).variables,a=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),s=n.bindingsStream.transform({autoStart:!1,transform:async(e,r,n)=>{if(!i.every((t=>e.has(t.variable.value))))return n(e),r();try{await a.evaluateAsEBV(e)&&n(e)}catch(r){(0,o.isExpressionError)(r)?this.logWarn(t,"Error occurred while filtering.",(()=>({error:r,bindings:e}))):s.emit("error",r)}r()}});n.bindingsStream=s}return n}}t.ActorQueryOperationLeftJoin=s},75113:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35716),t)},30626:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationMinus=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"minus")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(await Promise.all(e.input.map((async e=>({output:await this.mediatorQueryOperation.mediate({operation:e,context:t}),operation:e}))))).map((({output:e,operation:t})=>({output:(0,o.getSafeBindings)(e),operation:t})));return this.mediatorJoin.mediate({type:"minus",entries:r,context:t})}}t.ActorQueryOperationMinus=a},48952:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30626),t)},98384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationNop=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(75627);class u extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"nop")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r);return{bindingsStream:new c.SingletonIterator(n.bindings()),metadata:()=>Promise.resolve({state:new s.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]}),type:"bindings"}}}t.ActorQueryOperationNop=u},79153:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98384),t)},54064:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationOrderBy=void 0;const n=r(66490),i=r(90412),o=r(77545),a=r(67021),s=r(96331),c=r(14639);class u extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"orderby"),this.window=e.window??Number.POSITIVE_INFINITY,this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory,this.mediatorTermComparatorFactory=e.mediatorTermComparatorFactory}async testOperation(){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t}),n=(0,a.getSafeBindings)(r),i={window:this.window};let{bindingsStream:s}=n;const u=await this.mediatorTermComparatorFactory.mediate({context:t});for(let r=e.expressions.length-1;r>=0;r--){let n=e.expressions[r];const a=this.isAscending(n);n=this.extractSortExpression(n);const l=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:n,context:t}),d=async(e,t,r)=>{try{r({bindings:e,result:await l.evaluate(e)})}catch(t){(0,o.isExpressionError)(t)||s.emit("error",t),r({bindings:e,result:void 0})}t()},p=s.transform({transform:d}),h=new c.SortIterator(p,((e,t)=>{let r=u.orderTypes(e.result,t.result);return a||(r*=-1),r}),i);s=h.map((({bindings:e})=>e))}return{type:"bindings",bindingsStream:s,metadata:n.metadata}}extractSortExpression(e){const{expressionType:t,operator:r}=e;return t!==s.Algebra.expressionTypes.OPERATOR?e:"desc"===r?e.args[0]:e}isAscending(e){const{expressionType:t,operator:r}=e;return t!==s.Algebra.expressionTypes.OPERATOR||"desc"!==r}}t.ActorQueryOperationOrderBy=u},14639:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SortIterator=void 0;const n=r(75627);class i extends n.TransformIterator{constructor(e,t,r){super(e,r);const n=r&&r.window;this.windowLength=Number.isFinite(n)&&n>0?n:Number.POSITIVE_INFINITY,this.sort=t,this.sorted=[]}_read(e,t){let r,{length:n}=this.sorted;for(;n!==this.windowLength&&(r=this.source.read(),null!==r);){let e,t,i=0,o=n-1;for(;i<=o;)e=Math.trunc((i+o)/2),t=this.sort(r,this.sorted[e]),t<0?i=e+1:t>0?o=e-1:(i=e,o=-1);this.sorted.splice(i,0,r),n++}n===this.windowLength&&this._push(this.sorted.pop()),t()}_flush(e){let{length:t}=this.sorted;for(;t--;)this._push(this.sorted.pop());e()}}t.SortIterator=i},73945:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(54064),t)},29111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathAlt=void 0;const n=r(97091),i=r(43415),o=r(90711),a=r(67021),s=r(75627),c=r(96331);class u extends n.ActorAbstractPath{constructor(e){super(e,c.Algebra.types.ALT)}async runOperation(e,t){const r=t.getSafe(o.KeysInitQuery.dataFactory),n=new c.Factory(r),u=e.predicate,l=(await Promise.all(u.input.map((r=>this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.subject,r,e.object,e.graph)}))))).map(a.getSafeBindings);return{type:"bindings",bindingsStream:new s.UnionIterator(l.map((e=>e.bindingsStream)),{autoStart:!1}),metadata:()=>Promise.all(l.map((e=>e.metadata()))).then((e=>i.ActorQueryOperationUnion.unionMetadata(e,!0,t,this.mediatorRdfMetadataAccumulate)))}}}t.ActorQueryOperationPathAlt=u},35529:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29111),t)},42651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathInv=void 0;const n=r(97091),i=r(90711),o=r(96331);class a extends n.ActorAbstractPath{constructor(e){super(e,o.Algebra.types.INV)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new o.Factory(r),a=e.predicate,s=n.createPath(e.object,a.path,e.subject,e.graph);return this.mediatorQueryOperation.mediate({operation:s,context:t})}}t.ActorQueryOperationPathInv=a},6809:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(42651),t)},45513:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathLink=void 0;const n=r(97091),i=r(90711),o=r(96331);class a extends n.ActorAbstractPath{constructor(e){super(e,o.Algebra.types.LINK)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new o.Factory(r),a=e.predicate,s=Object.assign(n.createPattern(e.subject,a.iri,e.object,e.graph),{metadata:a.metadata});return this.mediatorQueryOperation.mediate({operation:s,context:t})}}t.ActorQueryOperationPathLink=a},66218:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45513),t)},59383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathNps=void 0;const n=r(97091),i=r(90711),o=r(67021),a=r(96331);class s extends n.ActorAbstractPath{constructor(e){super(e,a.Algebra.types.NPS)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r),s=e.predicate,c=this.generateVariable(r,e),u=Object.assign(n.createPattern(e.subject,c,e.object,e.graph),{metadata:s.metadata}),l=(0,o.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:u,context:t}));return{type:"bindings",bindingsStream:l.bindingsStream.map((e=>s.iris.some((t=>t.equals(e.get(c))))?null:e.delete(c))),metadata:l.metadata}}}t.ActorQueryOperationPathNps=s},54309:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(59383),t)},15541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathOneOrMore=void 0;const n=r(97091),i=r(90711),o=r(81926),a=r(67021),s=r(75627),c=r(96331);class u extends n.ActorAbstractPath{constructor(e){super(e,c.Algebra.types.ONE_OR_MORE_PATH)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new c.Factory(r),u=await o.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),l=await this.isPathArbitraryLengthDistinct(n,t,e);if(l.operation)return l.operation;t=l.context;const d=e.predicate;if("Variable"!==e.subject.termType&&"Variable"===e.object.termType){const r=e.object,i=await this.getObjectsPredicateStarEval(e.subject,d.path,r,e.graph,t,!1,n,u),o=("Variable"===e.graph.termType?[r,e.graph]:[r]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:i.bindingsStream,metadata:async()=>({...await i.metadata(),variables:o})}}if("Variable"===e.subject.termType&&"Variable"===e.object.termType){const r=n.createDistinct(n.createPath(e.subject,e.predicate.path,e.object,e.graph)),i=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:r})),o=e.subject,c=e.object,l={},p=new s.MultiTransformIterator(i.bindingsStream,{multiTransform:r=>{const i=r.get(o),a=r.get(c),p="Variable"===e.graph.termType?r.get(e.graph):e.graph;return new s.TransformIterator((async()=>{const r=new s.BufferedIterator;return await this.getSubjectAndObjectBindingsPredicateStar(o,c,i,a,d.path,p,t,l,{},r,{count:0},n,u),r.transform({transform(t,r,n){"Variable"===e.graph.termType&&(t=t.set(e.graph,p)),n(t),r()}})}),{maxBufferSize:128})},autoStart:!1}),h=("Variable"===e.graph.termType?[o,c,e.graph]:[o,c]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:p,metadata:async()=>({...await i.metadata(),variables:h})}}if("Variable"===e.subject.termType&&"Variable"!==e.object.termType)return this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.object,n.createOneOrMorePath(n.createInv(d.path)),e.subject,e.graph)});const p=this.generateVariable(r),h=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.subject,d,p,e.graph)}));return{type:"bindings",bindingsStream:h.bindingsStream.transform({filter:t=>e.object.equals(t.get(p)),transform(t,r,n){n("Variable"===e.graph.termType?u.bindings([[e.graph,t.get(e.graph)]]):u.bindings()),r()}}),metadata:async()=>({...await h.metadata(),variables:("Variable"===e.graph.termType?[e.graph]:[]).map((e=>({variable:e,canBeUndef:!1})))})}}}t.ActorQueryOperationPathOneOrMore=u},23654:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15541),t)},92231:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathSeq=void 0;const n=r(97091),i=r(90711),o=r(67021),a=r(96331);class s extends n.ActorAbstractPath{constructor(e){super(e,a.Algebra.types.SEQ)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r),s=e.predicate;let c=e.subject;const u=[],l=await Promise.all(s.input.map(((i,o)=>{const a=o===s.input.length-1?e.object:this.generateVariable(r,e,`b${o}`),l=n.createPath(c,i,a,e.graph),d=this.mediatorQueryOperation.mediate({context:t,operation:l});return c=a,o({output:(0,o.getSafeBindings)(await e),operation:t})))),d=(0,o.getSafeBindings)(await this.mediatorJoin.mediate({type:"inner",entries:l,context:t}));return{type:"bindings",bindingsStream:d.bindingsStream.transform({transform(e,t,r){for(const t of u)e=e.delete(t);r(e),t()}}),async metadata(){const e=await d.metadata(),t=e.variables.filter((e=>!u.some((t=>t.value===e.variable.value))));return{...e,variables:t}}}}}t.ActorQueryOperationPathSeq=s},75049:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92231),t)},9553:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathZeroOrMore=void 0;const n=r(97091),i=r(90711),o=r(81926),a=r(67021),s=r(75627),c=r(43347),u=r(96331);class l extends n.ActorAbstractPath{constructor(e){super(e,u.Algebra.types.ZERO_OR_MORE_PATH)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),l=await o.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),d=await this.isPathArbitraryLengthDistinct(n,t,e);if(d.operation)return d.operation;t=d.context;const p=e.predicate,h=this.getPathSources(p),f="Variable"===e.subject.termType,y="Variable"===e.object.termType;if("Variable"===e.subject.termType&&"Variable"===e.object.termType){const i=this.generateVariable(r,e),o=this.assignPatternSources(n,n.createPattern(e.subject,i,e.object,e.graph),h),u=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:o})),d=e.subject,f=e.object,y=new Set,g={},m=new s.MultiTransformIterator(u.bindingsStream,{multiTransform:r=>{const i=r.get(d),o=r.get(f),a="Variable"===e.graph.termType?r.get(e.graph):e.graph,u=(0,c.termToString)(i)+(0,c.termToString)(a),h=(0,c.termToString)(o)+(0,c.termToString)(a);return new s.TransformIterator((async()=>{if(y.has(u)&&y.has(h))return new s.EmptyIterator;const r=new s.BufferedIterator,c={count:0};return y.has(u)||(y.add(u),await this.getSubjectAndObjectBindingsPredicateStar(d,f,i,i,p.path,a,t,g,{},r,c,n,l)),y.has(h)||(y.add(h),await this.getSubjectAndObjectBindingsPredicateStar(d,f,o,o,p.path,a,t,g,{},r,c,n,l)),r.transform({transform(t,r,n){"Variable"===e.graph.termType&&(t=t.set(e.graph,a)),n(t),r()}})}))}}),b=("Variable"===e.graph.termType?[d,e.object,e.graph]:[d,e.object]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:m,metadata:async()=>({...await u.metadata(),variables:b})}}if(!f&&!y){const i=this.generateVariable(r),o=await this.getObjectsPredicateStarEval(e.subject,p.path,i,e.graph,t,!0,n,l);return{type:"bindings",bindingsStream:o.bindingsStream.transform({filter:t=>e.object.equals(t.get(i)),transform(t,r,n){n("Variable"===e.graph.termType?l.bindings([[e.graph,t.get(e.graph)]]):l.bindings()),r()}}),metadata:async()=>({...await o.metadata(),variables:("Variable"===e.graph.termType?[e.graph]:[]).map((e=>({variable:e,canBeUndef:!1})))})}}const g=f?e.object:e.subject,m=f?e.subject:e.object,b=f?n.createInv(p.path):p.path,_=await this.getObjectsPredicateStarEval(g,b,m,e.graph,t,!0,n,l),v=("Variable"===e.graph.termType?[m,e.graph]:[m]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:_.bindingsStream,metadata:async()=>({...await _.metadata(),variables:v})}}}t.ActorQueryOperationPathZeroOrMore=l},85928:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9553),t)},82651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathZeroOrOne=void 0;const n=r(97091),i=r(90711),o=r(81926),a=r(99214),s=r(67021),c=r(75627),u=r(96331);class l extends n.ActorAbstractPath{constructor(e){super(e,u.Algebra.types.ZERO_OR_ONE_PATH)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),l=await o.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),d=e.predicate,p=this.getPathSources(d),h=[];if("Variable"!==e.subject.termType&&"Variable"!==e.object.termType&&e.subject.equals(e.object))return{type:"bindings",bindingsStream:new c.SingletonIterator(l.bindings()),metadata:()=>Promise.resolve({state:new a.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]})};const f=await this.isPathArbitraryLengthDistinct(n,t,e);if(f.operation)return f.operation;t=f.context;const y=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.subject,d.path,e.object,e.graph)}));let g;if("Variable"===e.subject.termType&&"Variable"===e.object.termType){const i=this.generateVariable(r,e),o=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:n.createFilter(this.assignPatternSources(n,n.createPattern(e.subject,i,e.object,e.graph),p),n.createOperatorExpression("=",[n.createTermExpression(e.subject),n.createTermExpression(e.object)]))})).bindingsStream.map((e=>e.delete(i)));g=new c.UnionIterator([o,y.bindingsStream],{autoStart:!1})}else"Variable"===e.subject.termType&&h.push(l.bindings([[e.subject,e.object]])),"Variable"===e.object.termType&&h.push(l.bindings([[e.object,e.subject]])),g=y.bindingsStream.prepend(h);return{type:"bindings",bindingsStream:g,metadata:async()=>{const e=await y.metadata();return{...e,cardinality:{...e.cardinality,value:e.cardinality.value+1}}}}}}t.ActorQueryOperationPathZeroOrOne=l},8327:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(82651),t)},89760:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationProject=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(51296),s=r(67021);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"project")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.input,context:t})),o=await n.metadata(),c=Object.fromEntries(o.variables.map((e=>[e.variable.value,e]))),u=e.variables.map((e=>({variable:e,canBeUndef:!1}))),l=Object.fromEntries(u.map((e=>[e.variable.value,e]))),d=o.variables.filter((e=>!(e.variable.value in l))),p=u.map((e=>({variable:e.variable,canBeUndef:!(e.variable.value in c)||c[e.variable.value].canBeUndef})));let h=0===d.length?n.bindingsStream:n.bindingsStream.map((e=>{for(const t of d)e=e.delete(t.variable);return e})),f=0;return h=h.map((e=>{f++;const t=new Map;return e.map((e=>{if(e instanceof a.BlankNodeBindingsScoped){let n=t.get(e.value);return n||(n=r.blankNode(`${e.value}${f}`),t.set(e.value,n)),n}return e}))})),{type:"bindings",bindingsStream:h,metadata:async()=>({...o,variables:p})}}}t.ActorQueryOperationProject=c},99817:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(89760),t)},77955:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationReducedHash=void 0;const n=r(66490),i=r(90412),o=r(67021),a=r(89096);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"reduced")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(0,o.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.input,context:t})),n=(await r.metadata()).variables.map((e=>e.variable));return{type:"bindings",bindingsStream:r.bindingsStream.filter(await this.newHashFilter(t,n)),metadata:r.metadata}}async newHashFilter(e,t){const{hashFunction:r}=await this.mediatorHashBindings.mediate({context:e}),n=new a.LRUCache({max:this.cacheSize});return e=>{const i=r(e,t);return!n.has(i)&&(n.set(i,!0),!0)}}}t.ActorQueryOperationReducedHash=s},66713:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77955),t)},87420:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationService=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(67021),u=r(75627);class l extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"service")}async testOperation(e,t){return"NamedNode"!==e.name.termType?(0,o.failTest)(`${this.name} can only query services by IRI, while a ${e.name.termType} was given.`):(0,o.passTestVoid)()}async runOperation(e,t){const{querySource:r}=await this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:{value:e.name.value,type:this.forceSparqlEndpoint?"sparql":void 0},context:t});let n;try{n=(0,c.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:(0,c.assignOperationSource)(e.input,r),context:t}))}catch(r){if(!e.silent)throw r;{const e=t.getSafe(i.KeysInitQuery.dataFactory),o=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,e);n={bindingsStream:new u.SingletonIterator(o.bindings()),type:"bindings",metadata:async()=>({state:new s.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]})},this.logWarn(t,`An error occurred when executing a SERVICE clause: ${r.message}`)}}return n}}t.ActorQueryOperationService=l},89115:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(87420),t)},46342:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationSlice=void 0;const n=r(66490),i=r(90711),o=r(90412);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"slice")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){e.length&&(t=t.set(i.KeysQueryOperation.limitIndicator,e.length));const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t});return"bindings"===r.type?{type:"bindings",bindingsStream:this.sliceStream(r.bindingsStream,e),metadata:this.sliceMetadata(r,e)}:"quads"===r.type?{type:"quads",quadStream:this.sliceStream(r.quadStream,e),metadata:this.sliceMetadata(r,e)}:r}sliceStream(e,t){const r=Boolean(t.length)||0===t.length,{start:n}=t,i=r?t.start+t.length-1:Number.POSITIVE_INFINITY;return e.transform({offset:n,limit:Math.max(i-n+1,0),autoStart:!1})}sliceMetadata(e,t){const r=Boolean(t.length)||0===t.length;return()=>e.metadata().then((e=>{const n={...e.cardinality};return Number.isFinite(n.value)&&(n.value=Math.max(0,n.value-t.start),r&&(n.value=Math.min(n.value,t.length))),{...e,cardinality:n}}))}}t.ActorQueryOperationSlice=a},24718:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46342),t)},7020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationSource=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(99214),s=r(67021),c=r(96331);class u extends n.ActorQueryOperation{constructor(e){super(e)}async test(e){return(0,s.getOperationSource)(e.operation)?(0,o.passTest)({httpRequests:1}):(0,o.failTest)(`Actor ${this.name} requires an operation with source annotation.`)}async run(e){const t=e.context.get(i.KeysInitQuery.physicalQueryPlanLogger);t&&(t.logOperation(e.operation.type,void 0,e.operation,e.context.get(i.KeysInitQuery.physicalQueryPlanNode),this.name,{}),e.context=e.context.set(i.KeysInitQuery.physicalQueryPlanNode,e.operation));const r=(0,s.getOperationSource)(e.operation),n=r.context?e.context.merge(r.context):e.context;let o=!1;if(c.Util.recurseOperation(e.operation,{construct:()=>(o=!0,!1)}),o){const t=r.source.queryQuads(e.operation,n);return{type:"quads",quadStream:t,metadata:(0,a.getMetadataQuads)(t)}}switch(e.operation.type){case c.Algebra.types.ASK:return{type:"boolean",execute:()=>r.source.queryBoolean(e.operation,n)};case c.Algebra.types.COMPOSITE_UPDATE:case c.Algebra.types.DELETE_INSERT:case c.Algebra.types.LOAD:case c.Algebra.types.CLEAR:case c.Algebra.types.CREATE:case c.Algebra.types.DROP:case c.Algebra.types.ADD:case c.Algebra.types.MOVE:case c.Algebra.types.COPY:return{type:"void",execute:()=>r.source.queryVoid(e.operation,n)}}const u=r.source.queryBindings(e.operation,n);return{type:"bindings",bindingsStream:u,metadata:(0,a.getMetadataBindings)(u)}}}t.ActorQueryOperationSource=u},48169:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7020),t)},31660:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationUnion=void 0;const n=r(66490),i=r(90412),o=r(99214),a=r(67021),s=r(75627);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"union")}static unionVariables(e){const t={};for(const r of e)for(const e of r){t[e.variable.value]||(t[e.variable.value]={variable:e.variable,canBeUndef:e.canBeUndef,occurrences:0});const r=t[e.variable.value];r.canBeUndef=r.canBeUndef||e.canBeUndef,r.occurrences++}return Object.values(t).map((t=>t.occurrences===e.length?{variable:t.variable,canBeUndef:t.canBeUndef}:{variable:t.variable,canBeUndef:!0}))}static async unionMetadata(e,t,r,n){let i=(await n.mediate({mode:"initialize",context:r})).metadata;for(const t of e)i={...t,...(await n.mediate({mode:"append",accumulatedMetadata:i,appendingMetadata:t,context:r})).metadata};i.state=new o.MetadataValidationState;const a=()=>i.state.invalidate();for(const t of e)t.state.addInvalidateListener(a);if(t){const t=e.map((e=>e.variables));i.variables=c.unionVariables(t)}return i}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await Promise.all(e.input.map((e=>this.mediatorQueryOperation.mediate({operation:e,context:t}))));let n;for(const e of r)if(void 0===n)n=e.type;else if(n!==e.type)throw new Error(`Unable to union ${n} and ${e.type}`);if("bindings"===n||0===e.input.length){const e=r.map(a.getSafeBindings);return{type:"bindings",bindingsStream:new s.UnionIterator(e.map((e=>e.bindingsStream)),{autoStart:!1}),metadata:()=>Promise.all(e.map((e=>e.metadata()))).then((e=>c.unionMetadata(e,!0,t,this.mediatorRdfMetadataAccumulate)))}}if("quads"===n){const e=r.map(a.getSafeQuads);return{type:"quads",quadStream:new s.UnionIterator(e.map((e=>e.quadStream)),{autoStart:!1}),metadata:()=>Promise.all(e.map((e=>e.metadata()))).then((e=>c.unionMetadata(e,!1,t,this.mediatorRdfMetadataAccumulate)))}}throw new Error(`Unable to union ${n}`)}}t.ActorQueryOperationUnion=c},43415:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(31660),t)},40196:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationClear=void 0;const n=r(66490),i=r(90711),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"clear")}async testOperation(e,t){return(0,o.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory);let n;n="DEFAULT"===e.source?r.defaultGraph():"string"==typeof e.source?e.source:[e.source];const{execute:o}=await this.mediatorUpdateQuads.mediate({deleteGraphs:{graphs:n,requireExistence:!e.silent,dropGraphs:!1},context:t});return{type:"void",execute:o}}}t.ActorQueryOperationClear=a},84629:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40196),t)},47113:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationUpdateCompositeUpdate=void 0;const n=r(66490),i=r(67021);class o extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"compositeupdate")}async testOperation(e,t){return(0,i.testReadOnly)(t)}async runOperation(e,t){return{type:"void",execute:()=>(async()=>{for(const r of e.updates){const e=(0,i.getSafeVoid)(await this.mediatorQueryOperation.mediate({operation:r,context:t}));await e.execute()}})()}}}t.ActorQueryOperationUpdateCompositeUpdate=o},330:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(47113),t)},33688:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationCreate=void 0;const n=r(66490),i=r(67021);class o extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"create")}async testOperation(e,t){return(0,i.testReadOnly)(t)}async runOperation(e,t){const{execute:r}=await this.mediatorUpdateQuads.mediate({createGraphs:{graphs:[e.source],requireNonExistence:!e.silent},context:t});return{type:"void",execute:r}}}t.ActorQueryOperationCreate=o},54672:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33688),t)},14801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationUpdateDeleteInsert=void 0;const n=r(34585),i=r(66490),o=r(90711),a=r(81926),s=r(67021),c=r(75627);class u extends i.ActorQueryOperationTypedMediated{constructor(e){super(e,"deleteinsert"),this.blankNodeCounter=0}async testOperation(e,t){return(0,s.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(o.KeysInitQuery.dataFactory),i=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),u=e.where?(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.where,context:t})).bindingsStream:new c.ArrayIterator([i.bindings()],{autoStart:!1});let l,d;e.insert&&(l=new n.BindingsToQuadsIterator(r,e.insert.map(n.BindingsToQuadsIterator.localizeQuad.bind(null,r,this.blankNodeCounter)),u.clone()),this.blankNodeCounter++),e.delete&&(d=new n.BindingsToQuadsIterator(r,e.delete.map(n.BindingsToQuadsIterator.localizeQuad.bind(null,r,this.blankNodeCounter)),u.clone()),this.blankNodeCounter++);const{execute:p}=await this.mediatorUpdateQuads.mediate({quadStreamInsert:l,quadStreamDelete:d,context:t});return{type:"void",execute:p}}}t.ActorQueryOperationUpdateDeleteInsert=u},63002:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(14801),t)},5008:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationDrop=void 0;const n=r(66490),i=r(90711),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"drop")}async testOperation(e,t){return(0,o.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory);let n;n="DEFAULT"===e.source?r.defaultGraph():"string"==typeof e.source?e.source:[e.source];const{execute:o}=await this.mediatorUpdateQuads.mediate({deleteGraphs:{graphs:n,requireExistence:!e.silent,dropGraphs:!0},context:t});return{type:"void",execute:o}}}t.ActorQueryOperationDrop=a},33181:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5008),t)},35392:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationLoad=void 0;const n=r(66490),i=r(90711),o=r(67021),a=r(96331);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"load")}async testOperation(e,t){return(0,o.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r);let s=t;e.silent&&(s=s.set(i.KeysInitQuery.lenient,!0));const{querySource:c}=await this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:{value:e.source.value},context:s});let u=(0,o.getSafeQuads)(await this.mediatorQueryOperation.mediate({operation:n.createConstruct((0,o.assignOperationSource)(n.createPattern(r.variable("s"),r.variable("p"),r.variable("o")),c),[n.createPattern(r.variable("s"),r.variable("p"),r.variable("o"))]),context:s})).quadStream;e.destination&&(u=u.map((t=>r.quad(t.subject,t.predicate,t.object,e.destination))));const{execute:l}=await this.mediatorUpdateQuads.mediate({quadStreamInsert:u,context:t});return{type:"void",execute:l}}}t.ActorQueryOperationLoad=s},38392:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35392),t)},20712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationValues=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(75627);class u extends n.ActorQueryOperationTyped{constructor(e){super(e,"values")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r);return{type:"bindings",bindingsStream:new c.ArrayIterator(e.bindings.map((e=>n.bindings(Object.entries(e).map((([e,t])=>[r.variable(e.slice(1)),t])))))),metadata:()=>Promise.resolve({state:new s.MetadataValidationState,cardinality:{type:"exact",value:e.bindings.length},variables:e.variables.map((t=>({variable:t,canBeUndef:e.bindings.some((e=>!(`?${t.value}`in e)))})))})}}}t.ActorQueryOperationValues=u},65178:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20712),t)},19480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryParseGraphql=void 0;const n=r(92180),i=r(90711),o=r(90412),a=r(33826);class s extends n.ActorQueryParse{constructor(e){super(e),this.graphqlToSparql=new a.Converter({requireContext:!0})}async test(e){return"graphql"!==e.queryFormat?.language?(0,o.failTest)("This actor can only parse GraphQL queries"):(0,o.passTestVoid)()}async run(e){const t=e.context.get(i.KeysInitQuery.jsonLdContext)||{},r={singularizeVariables:e.context.get(i.KeysInitQuery.graphqlSingularizeVariables)};return{operation:await this.graphqlToSparql.graphqlToSparqlAlgebra(e.query,t,r)}}}t.ActorQueryParseGraphql=s},4047:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19480),t)},27256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryParseSparql=void 0;const n=r(92180),i=r(90711),o=r(90412),a=r(96331),s=r(98082);class c extends n.ActorQueryParse{constructor(e){super(e),this.prefixes=Object.freeze(this.prefixes)}async test(e){return e.queryFormat&&"sparql"!==e.queryFormat.language?(0,o.failTest)("This actor can only parse SPARQL queries"):(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Parser({prefixes:this.prefixes,baseIRI:e.baseIRI,sparqlStar:!0,factory:t}).parse(e.query);return{baseIRI:"query"===r.type?r.base:void 0,operation:(0,a.translate)(r,{quads:!0,prefixes:this.prefixes,blankToVariable:!0,baseIRI:e.baseIRI,dataFactory:t})}}}t.ActorQueryParseSparql=c},8323:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(27256),t)},53819:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessExplainLogical=void 0;const n=r(59478),i=r(90711),o=r(90412);class a extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){return"logical"!==(e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain")))?(0,o.failTest)(`${this.name} can only explain in 'logical' mode.`):(0,o.passTestVoid)()}async run(e){let{operation:t,context:r}=await this.queryProcessor.parse(e.query,e.context);return({operation:t,context:r}=await this.queryProcessor.optimize(t,r)),{result:{explain:!0,type:"logical",data:t}}}}t.ActorQueryProcessExplainLogical=a},42281:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(53819),t)},58481:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessExplainParsed=void 0;const n=r(59478),i=r(90711),o=r(90412);class a extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){return"parsed"!==(e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain")))?(0,o.failTest)(`${this.name} can only explain in 'parsed' mode.`):(0,o.passTestVoid)()}async run(e){const{operation:t}=await this.queryProcessor.parse(e.query,e.context);return{result:{explain:!0,type:"parsed",data:t}}}}t.ActorQueryProcessExplainParsed=a},7779:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(58481),t)},86173:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessExplainPhysical=void 0;const n=r(59478),i=r(90711),o=r(90412),a=r(93974);class s extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){const t=e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain"));return"physical"!==t&&"physical-json"!==t?(0,o.failTest)(`${this.name} can only explain in 'physical' or 'physical-json' mode.`):(0,o.passTestVoid)()}async run(e){let{operation:t,context:r}=await this.queryProcessor.parse(e.query,e.context);({operation:t,context:r}=await this.queryProcessor.optimize(t,r));const n=new a.MemoryPhysicalQueryPlanLogger;r=r.set(i.KeysInitQuery.physicalQueryPlanLogger,n);const s=await this.queryProcessor.evaluate(t,r);switch(s.type){case"bindings":await s.bindingsStream.toArray();break;case"quads":await s.quadStream.toArray();break;case"boolean":case"void":await s.execute()}const c=e.context.get(i.KeysInitQuery.explain)??e.context.getSafe(new o.ActionContextKey("explain"));return{result:{explain:!0,type:c,data:"physical"===c?n.toCompactString():n.toJson()}}}}t.ActorQueryProcessExplainPhysical=s},93974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numberToString=t.MemoryPhysicalQueryPlanLogger=void 0;const n=r(43347);function i(e){return e.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:3})}t.MemoryPhysicalQueryPlanLogger=class{constructor(){this.planNodes=new Map}logOperation(e,t,r,n,i,o){const a={actor:i,logicalOperator:e,physicalOperator:t,rawNode:r,children:[],metadata:o};if(this.planNodes.set(r,a),this.rootNode){if(!n)throw new Error("Detected more than one parent-less node");const e=this.planNodes.get(n);if(!e)throw new Error("Could not find parent node");e.children.push(a)}else{if(n)throw new Error("No root node has been set yet, while a parent is being referenced");this.rootNode=a}}stashChildren(e,t){const r=this.planNodes.get(e);if(!r)throw new Error("Could not find plan node");r.children=t?r.children.filter(t):[]}unstashChild(e,t){const r=this.planNodes.get(e);if(r){const e=this.planNodes.get(t);if(!e)throw new Error("Could not find plan parent node");e.children.push(r)}}appendMetadata(e,t){const r=this.planNodes.get(e);r&&(r.metadata={...r.metadata,...t})}toJson(){return this.rootNode?this.planNodeToJson(this.rootNode):{}}planNodeToJson(e){const t={logical:e.logicalOperator,physical:e.physicalOperator,...this.getLogicalMetadata(e.rawNode),...this.compactMetadata(e.metadata)};if(e.children.length>0&&(t.children=e.children.map((e=>this.planNodeToJson(e)))),"bind"===t.physical&&t.children){const e={};for(const r of t.children){const t=r.children?.at(-1)??r,n=this.getPlanHash(t).join(",");e[n]||(e[n]=[]),e[n].push(r)}const r=[];for(const t of Object.values(e))r.push({occurrences:t.length,firstOccurrence:t[0]});t.childrenCompact=r,delete t.children}return t}getPlanHash(e){let t=[`${e.logical}-${e.physical}`];return e.children?t=[...t,...e.children.flatMap((e=>this.getPlanHash(e)))]:e.childrenCompact&&(t=[...t,...e.childrenCompact.flatMap((e=>this.getPlanHash(e.firstOccurrence)))]),t}compactMetadata(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e,this.compactMetadataValue(t)])))}compactMetadataValue(e){return e&&"object"==typeof e&&"termType"in e?this.getLogicalMetadata(e):e}getLogicalMetadata(e){const t={};if("type"in e){const r=e;switch(r.metadata?.scopedSource&&(t.source=r.metadata.scopedSource.source.toString()),r.type){case"pattern":t.pattern=this.quadToString(r);break;case"project":t.variables=r.variables.map((e=>e.value))}}return t}quadToString(e){return`${(0,n.termToString)(e.subject)} ${(0,n.termToString)(e.predicate)} ${(0,n.termToString)(e.object)}${"DefaultGraph"===e.graph.termType?"":` ${(0,n.termToString)(e.graph)}`}`}toCompactString(){const e=this.toJson(),t=[],r=new Map;if("logical"in e?this.nodeToCompactString(t,r,"",e):t.push("Empty"),r.size>0){t.push(""),t.push("sources:");for(const[e,n]of r.entries())t.push(` ${n}: ${e}`)}return t.join("\n")}nodeToCompactString(e,t,r,n,o){let a;n.source&&(a=t.get(n.source),void 0===a&&(a=t.size,t.set(n.source,a))),e.push(`${r}${n.logical}${n.physical?`(${n.physical})`:""}${n.pattern?` (${n.pattern})`:""}${n.variables?` (${n.variables.join(",")})`:""}${n.bindOperation?` bindOperation:(${n.bindOperation.pattern}) bindCardEst:${"estimate"===n.bindOperationCardinality.type?"~":""}${i(n.bindOperationCardinality.value)}`:""}${n.cardinality?` cardEst:${"estimate"===n.cardinality.type?"~":""}${i(n.cardinality.value)}`:""}${n.source?` src:${a}`:""}${n.cardinalityReal?` cardReal:${n.cardinalityReal}`:""}${n.timeSelf?` timeSelf:${i(n.timeSelf)}ms`:""}${n.timeLife?` timeLife:${i(n.timeLife)}ms`:""}${o?` ${o}`:""}`);for(const i of n.children??[])this.nodeToCompactString(e,t,`${r} `,i);for(const i of n.childrenCompact??[])this.nodeToCompactString(e,t,`${r} `,i.firstOccurrence,`compacted-occurrences:${i.occurrences}`)}},t.numberToString=i},35191:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86173),t),i(r(93974),t)},24960:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessSequential=void 0;const n=r(59478),i=r(90711),o=r(90412),a=r(81926),s=r(67021),c=r(96331);class u extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){return e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain"))?(0,o.failTest)(`${this.name} is not able to explain queries.`):(0,o.passTestVoid)()}async run(e){let{operation:t,context:r}=await this.parse(e.query,e.context);return({operation:t,context:r}=await this.optimize(t,r)),{result:await this.evaluate(t,r)}}async parse(e,t){let r;if(t=(await this.mediatorContextPreprocess.mediate({context:t,initialize:!0})).context,"string"==typeof e){const n=(t=t.set(i.KeysInitQuery.queryString,e)).get(i.KeysInitQuery.baseIRI),o=t.get(i.KeysInitQuery.queryFormat),a=await this.mediatorQueryParse.mediate({context:t,query:e,queryFormat:o,baseIRI:n});r=a.operation,a.baseIRI&&(t=t.set(i.KeysInitQuery.baseIRI,a.baseIRI))}else r=e;if(t.has(i.KeysInitQuery.initialBindings)){const e=t.getSafe(i.KeysInitQuery.dataFactory),n=new c.Factory(e),o=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,e);r=(0,s.materializeOperation)(r,t.get(i.KeysInitQuery.initialBindings),n,o),t=t.delete(i.KeysInitQuery.queryString)}return{operation:r,context:t}}async optimize(e,t){return t=t.set(i.KeysInitQuery.query,e),({operation:e,context:t}=await this.mediatorOptimizeQueryOperation.mediate({context:t,operation:e})),{operation:e,context:t=t.set(i.KeysInitQuery.query,e)}}async evaluate(e,t){const r=await this.mediatorQueryOperation.mediate({context:t,operation:e});return r.context=t,r}}t.ActorQueryProcessSequential=u},92423:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(24960),t)},30389:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeJson=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(43347),s=r(19198);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}async testHandleChecked(e,t){return["bindings","quads","boolean"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings or quad streams.")}async runHandle(e,t,r){const n=new s.Readable;if(n._read=()=>{},"bindings"===e.type||"quads"===e.type){let t="bindings"===e.type?(0,o.wrap)(e.bindingsStream).map((e=>JSON.stringify(Object.fromEntries([...e].map((([e,t])=>[e.value,a.termToString(t)])))))):(0,o.wrap)(e.quadStream).map((e=>JSON.stringify(a.quadToStringQuad(e)))),r=!0;t=t.map((e=>{const t=`${r?"":","}\n${e}`;return r=!1,t})).prepend(["["]).append(["\n]\n"]),n.wrap(t)}else try{n.push(`${JSON.stringify(await e.execute())}\n`),n.push(null)}catch(e){setTimeout((()=>n.emit("error",e)))}return{data:n}}}t.ActorQueryResultSerializeJson=c},1359:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30389),t)},98027:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeRdf=void 0;const n=r(58871),i=r(90412);class o extends n.ActorQueryResultSerialize{constructor(e){super(e)}async testHandle(e,t,r){if("quads"!==e.type)return(0,i.failTest)(`Actor ${this.name} can only handle quad streams`);const{mediaTypes:n}=await this.mediatorMediaTypeCombiner.mediate({context:r,mediaTypes:!0});return t in n?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} can not handle media type ${t}. All available types: ${Object.keys(n)}`)}async runHandle(e,t,r){return(await this.mediatorRdfSerialize.mediate({context:r,handle:{context:r,quadStream:e.quadStream},handleMediaType:t})).handle}async testMediaType(e){return(0,i.passTestVoid)()}async getMediaTypes(e){return(await this.mediatorMediaTypeCombiner.mediate({context:e,mediaTypes:!0})).mediaTypes}async testMediaTypeFormats(e){return(0,i.passTestVoid)()}async getMediaTypeFormats(e){return(await this.mediatorMediaTypeFormatCombiner.mediate({context:e,mediaTypeFormats:!0})).mediaTypeFormats}}t.ActorQueryResultSerializeRdf=o},33275:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98027),t)},36057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSimple=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(43347),s=r(19198);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}async testHandleChecked(e,t){return["bindings","quads","boolean","void"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings streams, quad streams, booleans, or updates.")}static termToString(e){return"Quad"===e.termType?(0,a.termToString)(e):e.value}async runHandle(e,t,r){const n=new s.Readable;return"bindings"===e.type?n.wrap(e.bindingsStream.map((e=>`${[...e].map((([e,t])=>`?${e.value}: ${c.termToString(t)}`)).join("\n")}\n\n`))):"quads"===e.type?n.wrap(e.quadStream.map((e=>`subject: ${c.termToString(e.subject)}\npredicate: ${c.termToString(e.predicate)}\nobject: ${c.termToString(e.object)}\ngraph: ${c.termToString(e.graph)}\n\n`))):n.wrap((0,o.wrap)("boolean"===e.type?e.execute().then((e=>[`${e}\n`])):e.execute().then((()=>["ok\n"])))),{data:n}}}t.ActorQueryResultSerializeSimple=c},1595:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36057),t)},66338:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlCsv=void 0;const n=r(58871),i=r(90412),o=r(19198);class a extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToCsvBindings(e){if(!e)return"";let t=e.value;if("Literal"===e.termType)t=`${t}`;else if("BlankNode"===e.termType)t=`_:${t}`;else if("Quad"===e.termType){let r=a.bindingToCsvBindings(e.object);"Literal"===e.object.termType&&(r=`"${r.replaceAll('"','""')}"`),t=`<< ${a.bindingToCsvBindings(e.subject)} ${a.bindingToCsvBindings(e.predicate)} ${r} >>`}else t=`<${t}>`;return/[",\n\r]/u.test(t)&&(t=`"${t.replaceAll('"','""')}"`),t}async testHandleChecked(e,t){return"bindings"!==e.type?(0,i.failTest)("This actor can only handle bindings streams."):(0,i.passTestVoid)()}async runHandle(e,t,r){const n=e,i=new o.Readable,s=await n.metadata();return i.push(`${s.variables.map((e=>e.variable.value)).join(",")}\r\n`),i.wrap(n.bindingsStream.map((e=>`${s.variables.map((t=>a.bindingToCsvBindings(e.get(t.variable)))).join(",")}\r\n`))),{data:i}}}t.ActorQueryResultSerializeSparqlCsv=a},83657:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(66338),t)},40409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionObserverHttp=void 0;const n=r(90412);class i extends n.ActionObserver{constructor(e){super(e),this.requests=0,this.bus.subscribeObserver(this),this.httpInvalidator.addInvalidateListener((()=>{this.requests=0}))}onRun(e,t,r){this.requests++}}t.ActionObserverHttp=i},71186:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlJson=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(19198);class s extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToJsonBindings(e){if("Literal"===e.termType){const t=e,r={value:t.value,type:"literal"},{language:n,datatype:i}=t;return n?r["xml:lang"]=n:i&&"http://www.w3.org/2001/XMLSchema#string"!==i.value&&(r.datatype=i.value),r}return"BlankNode"===e.termType?{value:e.value,type:"bnode"}:"Quad"===e.termType?{value:{subject:s.bindingToJsonBindings(e.subject),predicate:s.bindingToJsonBindings(e.predicate),object:s.bindingToJsonBindings(e.object)},type:"triple"}:{value:e.value,type:"uri"}}async testHandleChecked(e,t){return["bindings","boolean"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings streams or booleans.")}async runHandle(e,t,r){const n=new a.Readable,i={};if("bindings"===e.type){const c=await e.metadata();c.variables.length>0&&(i.vars=c.variables.map((e=>e.variable.value)))}if(n.push(`{"head": ${JSON.stringify(i)},\n`),"bindings"===e.type){const u=e.bindingsStream;n.push('"results": { "bindings": [\n');let l=!0;function*d(e){yield e()}n.wrap((0,o.wrap)(u).map((e=>{const t=`${l?"":",\n"}${JSON.stringify(Object.fromEntries([...e].map((([e,t])=>[e.value,s.bindingToJsonBindings(t)]))))}`;return l=!1,t})).append((0,o.wrap)(d((()=>`\n]}${this.emitMetadata?`,\n"metadata": { "httpRequests": ${this.httpObserver.requests} }`:""}}\n`)))))}else n.wrap((0,o.wrap)(e.execute().then((e=>[`"boolean":${e}\n}\n`]))));return{data:n}}}t.ActorQueryResultSerializeSparqlJson=s},13125:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40409),t),i(r(71186),t)},86780:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlTsv=void 0;const n=r(58871),i=r(90412),o=r(46898),a=r(19198);class s extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToTsvBindings(e){return e?(0,o.termToString)(e).replaceAll("\t","\\t").replaceAll("\n","\\n").replaceAll("\r","\\r"):""}async testHandleChecked(e,t){return"bindings"!==e.type?(0,i.failTest)("This actor can only handle bindings streams."):(0,i.passTestVoid)()}async runHandle(e,t,r){const n=e,i=new a.Readable,o=await n.metadata();return i.push(`${o.variables.map((e=>e.variable.value)).join("\t")}\n`),i.wrap(n.bindingsStream.map((e=>`${o.variables.map((t=>s.bindingToTsvBindings(e.get(t.variable)))).join("\t")}\n`))),{data:i}}}t.ActorQueryResultSerializeSparqlTsv=s},92796:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86780),t)},13168:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlXml=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(19198),s=r(1861);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToXmlBindings(e,t){return{name:"binding",attributes:{name:t.value},children:[this.valueToXmlValue(e)]}}static valueToXmlValue(e){let t;switch(e.termType){case"Literal":return t=e.language?{"xml:lang":e.language}:e.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==e.datatype.value?{datatype:e.datatype.value}:{},{name:"literal",attributes:t,children:e.value};case"BlankNode":return{name:"bnode",children:e.value};case"Quad":return{name:"triple",children:[{name:"subject",children:[this.valueToXmlValue(e.subject)]},{name:"predicate",children:[this.valueToXmlValue(e.predicate)]},{name:"object",children:[this.valueToXmlValue(e.object)]}]};default:return{name:"uri",children:e.value}}}async testHandleChecked(e,t){return["bindings","boolean"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings streams or booleans.")}async runHandle(e,t,r){const n=new a.Readable;n._read=()=>{};const i=new s.XmlSerializer,u=await e.metadata();if(n.push(s.XmlSerializer.header),n.push(i.open("sparql",{xmlns:"http://www.w3.org/2005/sparql-results#"})),n.push(i.serializeNode({name:"head",children:u.variables.map((e=>({name:"variable",attributes:{name:e.variable.value}})))})),"bindings"===e.type){function*l(){yield i.close(),yield i.close()}n.push(i.open("results"));const d=(0,o.wrap)(e.bindingsStream).map((e=>i.serializeNode({name:"result",children:[...e].map((([e,t])=>c.bindingToXmlBindings(t,e)))}))).append((0,o.wrap)(l()));n.wrap(d)}else try{const p=await e.execute();n.push(i.serializeNode({name:"boolean",children:p.toString()})),n.push(i.close()),setTimeout((()=>n.push(null)))}catch(h){setTimeout((()=>n.emit("error",h)))}return{data:n}}}t.ActorQueryResultSerializeSparqlXml=c},1861:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XmlSerializer=void 0;class r{constructor(){this.stack=[]}open(e,t){const r=`${this.identation()+this.formatTag(e,t,"open")}\n`;return this.stack.push(e),r}close(){const e=this.stack.pop();if(void 0===e)throw new Error("There is no tag left to close");return`${this.identation()+this.formatTag(e,{},"close")}\n`}serializeNode(e){if(void 0===e.children)return`${this.identation()+this.formatTag(e.name,e.attributes,"self-closing")}\n`;if("string"==typeof e.children)return`${this.identation()+this.formatTag(e.name,e.attributes,"open")+this.escape(e.children)+this.formatTag(e.name,{},"close")}\n`;const t=[];t.push(`${this.identation()+this.formatTag(e.name,e.attributes,"open")}\n`),this.stack.push(e.name);for(const r of e.children)t.push(this.serializeNode(r));return this.stack.pop(),t.push(`${this.identation()+this.formatTag(e.name,{},"close")}\n`),t.join("")}identation(){return this.stack.map((e=>" ")).join("")}formatTag(e,t,r){return`<${"close"===r?"/":""}${e}${Object.entries(t??{}).map((e=>` ${e[0]}="${this.escape(e[1])}"`))}${"self-closing"===r?"/":""}>`}escape(e){return e.replaceAll(/["&'<>]/gu,(e=>{switch(e){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return"""}}))}}t.XmlSerializer=r,r.header='\n'},23200:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13168),t)},94690:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionObserverHttp=void 0;const n=r(90412);class i extends n.ActionObserver{constructor(e){super(e),this.requests=0,this.bus.subscribeObserver(this),this.httpInvalidator.addInvalidateListener((()=>{this.requests=0}))}onRun(e,t,r){this.requests++}}t.ActionObserverHttp=i},98329:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeStats=void 0;const n=r(58871),i=r(90711),o=r(90412),a=r(75627),s=r(19198);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}async testHandleChecked(e,t){return["bindings","quads"].includes(e.type)?(0,o.passTestVoid)():(0,o.failTest)("This actor can only handle bindings streams or quad streams.")}pushHeader(e){const t=["Result","Delay (ms)","HTTP requests"].join(",");e.push(`${t}\n`)}createStat(e,t){return`${[t,this.delay(e),this.httpObserver.requests].join(",")}\n`}createSpecialLine(e,t){return`${[e,this.delay(t),this.httpObserver.requests].join(",")}\n`}async runHandle(e,t,r){const n=new s.Readable,o="bindings"===e.type?e.bindingsStream:e.quadStream,c=e.context.getSafe(i.KeysInitQuery.queryTimestampHighResolution);let u=1;const l=(0,a.wrap)(o).map((()=>this.createStat(c,u++))).prepend([this.createSpecialLine("PLANNING",c)]).append((0,a.wrap)(function*(e){yield e()}((()=>this.createSpecialLine("TOTAL",c)))));return this.pushHeader(n),n.wrap(l),{data:n}}now(){return performance.now()}delay(e){return this.now()-e}}t.ActorQueryResultSerializeStats=c},93408:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(94690),t),i(r(98329),t)},80991:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeTable=void 0;const n=r(58871),i=r(90711),o=r(90412),a=r(43347),s=r(3285),c=r(19198);class u extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e),this.padding=u.repeat(" ",this.columnWidth)}static repeat(e,t){return e.repeat(t)}async testHandleChecked(e,t){return["bindings","quads"].includes(e.type)?(0,o.passTestVoid)():(0,o.failTest)("This actor can only handle bindings or quad streams.")}termToString(e){return"Quad"===e.termType?(0,a.termToString)(e):e.value}pad(e){return e.length<=this.columnWidth?e+this.padding.slice(e.length):`${e.slice(0,this.columnWidth-1)}…`}pushHeader(e,t){const r=t.map((e=>this.pad(e.value))).join(" ");e.push(`${r}\n${u.repeat("-",r.length)}\n`)}createRow(e,t){return`${e.map((e=>t.has(e)?this.termToString(t.get(e)):"")).map((e=>this.pad(e))).join(" ")}\n`}async runHandle(e,t,r){const n=new c.Readable;let o;if("bindings"===e.type){o=e.bindingsStream.map((e=>this.createRow(t,e)));const t=(await e.metadata()).variables.map((e=>e.variable));this.pushHeader(n,t)}else{o=e.quadStream.map((e=>`${(0,s.getTerms)(e).map((e=>this.pad(this.termToString(e)))).join(" ")}\n`));const t=e.context.getSafe(i.KeysInitQuery.dataFactory);this.pushHeader(n,s.QUAD_TERM_NAMES.map((e=>t.variable(e))))}return n.wrap(o),{data:n}}}t.ActorQueryResultSerializeTable=u},17731:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(80991),t)},73505:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeTree=void 0;const n=r(58871),i=r(90711),o=r(90412),a=r(19198),s=r(12763);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static async bindingsStreamToGraphQl(e,t,r){const n=o.ActionContext.ensureActionContext(t),a=new s.Converter(r),c={singularizeVariables:n.get(i.KeysInitQuery.graphqlSingularizeVariables)??{}};return a.bindingsToTree(await e.map((e=>Object.fromEntries([...e].map((([e,t])=>[e.value,t]))))).toArray(),c)}async testHandleChecked(e){return"bindings"!==e.type?(0,o.failTest)("This actor can only handle bindings streams."):(0,o.passTestVoid)()}async runHandle(e,t){const r=new a.Readable;return r._read=()=>{r._read=()=>{},c.bindingsStreamToGraphQl(e.bindingsStream,e.context,{materializeRdfJsTerms:!0}).then((e=>{r.push(JSON.stringify(e,null," ")),r.push(null)})).catch((e=>r.emit("error",e)))},{data:r}}}t.ActorQueryResultSerializeTree=c},78149:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.bindingsStreamToGraphQl=void 0;const o=r(73505),{bindingsStreamToGraphQl:a}=o.ActorQueryResultSerializeTree;t.bindingsStreamToGraphQl=a,i(r(73505),t)},16850:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermediaNone=void 0;const n=r(20998),i=r(62100),o=r(90711),a=r(90412),s=r(81926),c=r(34554);class u extends i.ActorQuerySourceIdentifyHypermedia{constructor(e){super(e,"file")}async testMetadata(e){return(0,a.passTest)({filterFactor:0})}async run(e){this.logInfo(e.context,`Identified as file source: ${e.url}`);const t=e.context.getSafe(o.KeysInitQuery.dataFactory),r=new n.QuerySourceRdfJs(await(0,c.storeStream)(e.quads),t,await s.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t));return r.toString=()=>`QuerySourceRdfJs(${e.url})`,r.referenceValue=e.url,{source:r}}}t.ActorQuerySourceIdentifyHypermediaNone=u},74838:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16850),t)},75844:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermediaQpf=void 0;const n=r(62100),i=r(90711),o=r(90412),a=r(81926),s=r(96331),c=r(20715);class u extends n.ActorQuerySourceIdentifyHypermedia{constructor(e){super(e,"qpf")}async test(e){return e.forceSourceType&&"qpf"!==e.forceSourceType&&"brtpf"!==e.forceSourceType?(0,o.failTest)(`Actor ${this.name} is not able to handle source type ${e.forceSourceType}.`):this.testMetadata(e)}async testMetadata(e){const{searchForm:t}=await this.createSource(e.url,e.metadata,e.context,"brtpf"===e.forceSourceType);return t?e.handledDatasets&&e.handledDatasets[t.dataset]?(0,o.failTest)(`Actor ${this.name} can only be applied for the first page of a QPF dataset.`):(0,o.passTest)({filterFactor:1}):(0,o.failTest)("Illegal state: found no TPF/QPF search form anymore in metadata.")}async run(e){this.logInfo(e.context,`Identified as qpf source: ${e.url}`);const t=await this.createSource(e.url,e.metadata,e.context,"brtpf"===e.forceSourceType,e.quads);return{source:t,dataset:t.searchForm.dataset}}async createSource(e,t,r,n,o){const u=r.getSafe(i.KeysInitQuery.dataFactory),l=new s.Factory(u);return new c.QuerySourceQpf(this.mediatorMetadata,this.mediatorMetadataExtract,this.mediatorDereferenceRdf,u,l,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,r,u),this.subjectUri,this.predicateUri,this.objectUri,this.graphUri,e,t,n,o)}}t.ActorQuerySourceIdentifyHypermediaQpf=u},20715:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceQpf=void 0;const n=r(559),i=r(90711),o=r(99214),a=r(75627),s=r(43347),c=r(46898),u=r(3285);function l(e){return"DefaultGraph"===e.termType?"|":(0,s.termToString)(e)}t.QuerySourceQpf=class{constructor(e,t,r,n,i,s,c,u,l,d,p,h,f,y){if(this.referenceValue=p,this.mediatorMetadata=e,this.mediatorMetadataExtract=t,this.mediatorDereferenceRdf=r,this.dataFactory=n,this.algebraFactory=i,this.bindingsFactory=s,this.subjectUri=c,this.predicateUri=u,this.objectUri=l,this.graphUri=d,this.url=p,this.bindingsRestricted=f,this.cachedQuads={},this.searchForm=this.getSearchForm(h),this.defaultGraph=h.defaultGraph?this.dataFactory.namedNode(h.defaultGraph):void 0,y){let e=(0,a.wrap)(y);this.defaultGraph&&(e=this.reverseMapQuadsToDefaultGraph(e)),h={...h,state:new o.MetadataValidationState},e.setProperty("metadata",h),this.cacheQuads(e,this.dataFactory.variable(""),this.dataFactory.variable(""),this.dataFactory.variable(""),this.dataFactory.variable(""))}this.selectorShape=this.bindingsRestricted?{type:"operation",operation:{operationType:"pattern",pattern:this.algebraFactory.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g"))},variablesOptional:[this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g")],filterBindings:!0}:{type:"operation",operation:{operationType:"pattern",pattern:this.algebraFactory.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g"))},variablesOptional:[this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g")]}}async getSelectorShape(){return this.selectorShape}queryBindings(e,t,r){if("pattern"!==e.type)throw new Error(`Attempted to pass non-pattern operation '${e.type}' to QuerySourceQpf`);const o=Boolean(t.get(i.KeysQueryOperation.unionDefaultGraph));let a=this.match(e.subject,e.predicate,e.object,e.graph,o,t,r);return a=(0,n.filterMatchingQuotedQuads)(e,a),(0,n.quadsToBindings)(a,e,this.dataFactory,this.bindingsFactory,o)}getSearchForm(e){if(!e.searchForms||!e.searchForms.values)return;const{searchForms:t}=e;for(const e of t.values){if(this.graphUri&&this.subjectUri in e.mappings&&this.predicateUri in e.mappings&&this.objectUri in e.mappings&&this.graphUri in e.mappings&&4===Object.keys(e.mappings).length)return e;if(this.subjectUri in e.mappings&&this.predicateUri in e.mappings&&this.objectUri in e.mappings&&3===Object.keys(e.mappings).length)return e}}createFragmentUri(e,t,r,n,i){const o={},a=[{uri:this.subjectUri,term:t},{uri:this.predicateUri,term:r},{uri:this.objectUri,term:n},{uri:this.graphUri,term:i}];for(const e of a)e.uri&&(this.bindingsRestricted||"Variable"!==e.term.termType&&("Quad"!==e.term.termType||(0,u.everyTermsNested)(e.term,(e=>"Variable"!==e.termType))))&&(o[e.uri]=(0,s.termToString)(e.term));return e.getUri(o)}match(e,t,r,n,i,s,c){let l=!1;if("DefaultGraph"===n.termType)if(this.defaultGraph)l=!0,n=this.defaultGraph;else if(4!==Object.keys(this.searchForm.mappings).length||this.defaultGraph)3===Object.keys(this.searchForm.mappings).length&&(n=this.dataFactory.variable("g"));else{if(!i){const e=new a.ArrayIterator([],{autoStart:!1});return e.setProperty("metadata",{state:new o.MetadataValidationState,requestTime:0,cardinality:{type:"exact",value:0},first:null,next:null,last:null}),e}n=this.dataFactory.variable("g")}if(!c?.filterBindings){const i=this.getCachedQuads(e,t,r,n);if(i)return i}const d=this;let p;const h=async function(){let i=d.createFragmentUri(d.searchForm,e,t,r,n);c?.filterBindings&&(i=await d.getBindingsRestrictedLink(e,t,r,n,i,c.filterBindings));const a=await d.mediatorDereferenceRdf.mediate({context:s,url:i});i=a.url;const u=await d.mediatorMetadata.mediate({context:s,url:i,quads:a.data,triples:a.metadata?.triples}),{metadata:l}=await d.mediatorMetadataExtract.mediate({context:s,url:i,metadata:u.metadata,requestTime:a.requestTime});return p.setProperty("metadata",{...l,state:new o.MetadataValidationState,subsetOf:d.url}),u.data}();return p=new a.TransformIterator((async()=>{const i=await h,o=this.dataFactory.defaultGraph();let s=(0,a.wrap)(i).transform({filter:i=>!!(0,u.matchPattern)(i,e,t,r,n)||l&&(0,u.matchPattern)(i,e,t,r,o)});return(l||"Variable"===n.termType)&&(s=this.reverseMapQuadsToDefaultGraph(s)),s}),{autoStart:!1}),c?.filterBindings?p:(this.cacheQuads(p,e,t,r,n),this.getCachedQuads(e,t,r,n))}async getBindingsRestrictedLink(e,t,r,n,i,o){const a=[];for(const e of await o.bindings.toArray()){const t=["("];for(const r of o.metadata.variables){const n=e.get(r.variable);t.push(n?(0,c.termToString)(n):"UNDEF"),t.push(" ")}t.push(")"),a.push(t.join(""))}return 0===a.length&&a.push("()"),`${i}&values=${encodeURIComponent(`(${o.metadata.variables.map((e=>`?${e.variable.value}`)).join(" ")}) { ${a.join(" ")} }`)}`}reverseMapQuadsToDefaultGraph(e){const t=this.dataFactory.defaultGraph();return e.map((e=>(0,u.mapTerms)(e,((e,r)=>"graph"===r&&e.equals(this.defaultGraph)?t:e))))}getPatternId(e,t,r,n){return JSON.stringify({s:"Variable"===e.termType?"":l(e),p:"Variable"===t.termType?"":l(t),o:"Variable"===r.termType?"":l(r),g:"Variable"===n.termType?"":l(n)})}cacheQuads(e,t,r,n,i){const o=this.getPatternId(t,r,n,i);this.cachedQuads[o]=e.clone()}getCachedQuads(e,t,r,n){const i=this.getPatternId(e,t,r,n),o=this.cachedQuads[i];if(o)return o.clone()}queryQuads(e,t){throw new Error("queryQuads is not implemented in QuerySourceQpf")}queryBoolean(e,t){throw new Error("queryBoolean is not implemented in QuerySourceQpf")}queryVoid(e,t){throw new Error("queryVoid is not implemented in QuerySourceQpf")}}},63881:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(75844),t),i(r(20715),t)},71644:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermediaSparql=void 0;const n=r(62100),i=r(90711),o=r(90412),a=r(81926),s=r(96331),c=r(40229);class u extends n.ActorQuerySourceIdentifyHypermedia{constructor(e){super(e,"sparql")}async testMetadata(e){return e.forceSourceType||e.metadata.sparqlService||this.checkUrlSuffix&&e.url.endsWith("/sparql")?(0,o.passTest)({filterFactor:1}):(0,o.failTest)(`Actor ${this.name} could not detect a SPARQL service description or URL ending on /sparql.`)}async run(e){this.logInfo(e.context,`Identified ${e.url} as sparql source with service URL: ${e.metadata.sparqlService||e.url}`);const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Factory(t);return{source:new c.QuerySourceSparql(e.forceSourceType?e.url:e.metadata.sparqlService||e.url,e.context,this.mediatorHttp,this.bindMethod,t,r,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t),this.forceHttpGet,this.cacheSize,this.countTimeout)}}}t.ActorQuerySourceIdentifyHypermediaSparql=u},40229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceSparql=void 0;const n=r(90711),i=r(90412),o=r(99214),a=r(75627),s=r(92603),c=r(89096),u=r(3285),l=r(96331),d={type:"estimate",value:Number.POSITIVE_INFINITY};class p{constructor(e,t,r,n,i,o,a,u,l,d){this.referenceValue=e,this.url=e,this.context=t,this.mediatorHttp=r,this.bindMethod=n,this.dataFactory=i,this.algebraFactory=o,this.bindingsFactory=a,this.endpointFetcher=new s.SparqlEndpointFetcher({method:u?"GET":"POST",fetch:(e,t)=>this.mediatorHttp.mediate({input:e,init:t,context:this.lastSourceContext}),prefixVariableQuestionMark:!0,dataFactory:i}),this.cache=l>0?new c.LRUCache({max:l}):void 0,this.countTimeout=d}async getSelectorShape(){return p.SELECTOR_SHAPE}queryBindings(e,t,r){let i;i=r?.joinBindings?p.addBindingsToOperation(this.algebraFactory,this.bindMethod,e,r.joinBindings):Promise.resolve(e);const o=new a.TransformIterator((async()=>{const e=await i,o=l.Util.inScopeVariables(e),a=t.get(n.KeysInitQuery.queryString),s=!r?.joinBindings&&a?a:p.operationToSelectQuery(this.algebraFactory,e,o),c=p.getOperationUndefs(e);return this.queryBindingsRemote(this.url,s,o,t,c)}),{autoStart:!1});return this.attachMetadata(o,t,i),o}queryQuads(e,t){this.lastSourceContext=this.context.merge(t);const r=this.endpointFetcher.fetchTriples(this.url,t.get(n.KeysInitQuery.queryString)??p.operationToQuery(e));this.lastSourceContext=void 0;const i=(0,a.wrap)(r,{autoStart:!1,maxBufferSize:Number.POSITIVE_INFINITY});return this.attachMetadata(i,t,Promise.resolve(e.input)),i}queryBoolean(e,t){this.lastSourceContext=this.context.merge(t);const r=this.endpointFetcher.fetchAsk(this.url,t.get(n.KeysInitQuery.queryString)??p.operationToQuery(e));return this.lastSourceContext=void 0,r}queryVoid(e,t){this.lastSourceContext=this.context.merge(t);const r=this.endpointFetcher.fetchUpdate(this.url,t.get(n.KeysInitQuery.queryString)??p.operationToQuery(e));return this.lastSourceContext=void 0,r}attachMetadata(e,t,r){let n=[];new Promise((async(e,i)=>{let o;try{const i=await r,a=l.Util.inScopeVariables(i);o=p.operationToCountQuery(this.dataFactory,this.algebraFactory,i);const s=p.getOperationUndefs(i);n=a.map((e=>({variable:e,canBeUndef:s.some((t=>t.equals(e)))})));const c=this.cache?.get(o);if(void 0!==c)return e(c);const u=setTimeout((()=>e(d)),this.countTimeout),h=this.dataFactory.variable("count"),f=await this.queryBindingsRemote(this.url,o,[h],t,[]);f.on("data",(t=>{clearTimeout(u);const r=t.get(h),n={type:"estimate",value:Number.POSITIVE_INFINITY};if(r){const e=Number.parseInt(r.value,10);Number.isNaN(e)||(n.type="exact",n.value=e,this.cache?.set(o,n))}return e(n)})),f.on("error",(()=>{clearTimeout(u),e(d)})),f.on("end",(()=>{clearTimeout(u),e(d)}))}catch(e){return i(e)}})).then((t=>{e.setProperty("metadata",{state:new o.MetadataValidationState,cardinality:t,variables:n})})).catch((()=>e.setProperty("metadata",{state:new o.MetadataValidationState,cardinality:d,variables:n})))}static async addBindingsToOperation(e,t,r,n){const i=await n.bindings.toArray();switch(t){case"values":return e.createJoin([e.createValues(n.metadata.variables.map((e=>e.variable)),i.map((e=>Object.fromEntries([...e].map((([e,t])=>[`?${e.value}`,t])))))),r],!1);case"union":throw new Error('Not implemented yet: "union" case');case"filter":throw new Error('Not implemented yet: "filter" case')}}static operationToSelectQuery(e,t,r){return p.operationToQuery(e.createProject(t,r))}static operationToCountQuery(e,t,r){return p.operationToQuery(t.createProject(t.createExtend(t.createGroup(r,[],[t.createBoundAggregate(e.variable("var0"),"count",t.createWildcardExpression(),!1)]),e.variable("count"),t.createTermExpression(e.variable("var0"))),[e.variable("count")]))}static operationToQuery(e){return(0,l.toSparql)(e,{sparqlStar:!0})}static getOperationUndefs(e){const t=[];return l.Util.recurseOperation(e,{leftjoin(e){const r=l.Util.inScopeVariables(e.input[0]),n=l.Util.inScopeVariables(e.input[1]);for(const e of n)r.some((t=>t.equals(e)))||t.push(e);return!1},values(e){for(const r of e.variables)e.bindings.some((e=>!(`?${r.value}`in e)))&&t.push(r);return!1},union(e){const r=e.input.map(l.Util.inScopeVariables);for(const e of(0,u.uniqTerms)(r.flat()))r.every((t=>t.some((t=>t.equals(e)))))||t.push(e);return!0}}),(0,u.uniqTerms)(t)}async queryBindingsRemote(e,t,r,n,o){const s=new Set;for(const e of o)s.add(e.value);this.lastSourceContext=this.context.merge(n);const c=await this.endpointFetcher.fetchBindings(e,t);return this.lastSourceContext=void 0,(0,a.wrap)(c,{autoStart:!1,maxBufferSize:Number.POSITIVE_INFINITY}).map((t=>this.bindingsFactory.bindings(r.map((r=>{const n=t[`?${r.value}`];return s.has(r.value)||n||i.Actor.getContextLogger(this.context)?.warn(`The endpoint ${e} failed to provide a binding for ${r.value}.`),[r,n]})).filter((([e,t])=>Boolean(t))))))}toString(){return`QuerySourceSparql(${this.url})`}}t.QuerySourceSparql=p,p.SELECTOR_SHAPE={type:"disjunction",children:[{type:"operation",operation:{operationType:"wildcard"},joinBindings:!0}]}},83101:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(71644),t),i(r(40229),t)},17685:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermedia=void 0;const n=r(559),i=r(90711),o=r(90412),a=r(81926),s=r(20386);class c extends n.ActorQuerySourceIdentify{constructor(e){super(e)}async test(e){return"string"!=typeof e.querySourceUnidentified.value?(0,o.failTest)(`${this.name} requires a single query source with a URL value to be present in the context.`):(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{querySource:{source:new s.QuerySourceHypermedia(this.cacheSize,e.querySourceUnidentified.value,e.querySourceUnidentified.type,this.maxIterators,this.aggregateTraversalStore&&Boolean(e.querySourceUnidentified.context?.get(i.KeysQuerySourceIdentify.traverse)),{mediatorMetadata:this.mediatorMetadata,mediatorMetadataExtract:this.mediatorMetadataExtract,mediatorMetadataAccumulate:this.mediatorMetadataAccumulate,mediatorDereferenceRdf:this.mediatorDereferenceRdf,mediatorQuerySourceIdentifyHypermedia:this.mediatorQuerySourceIdentifyHypermedia,mediatorRdfResolveHypermediaLinks:this.mediatorRdfResolveHypermediaLinks,mediatorRdfResolveHypermediaLinksQueue:this.mediatorRdfResolveHypermediaLinksQueue},(t=>this.logWarn(e.context,t)),t,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t)),context:e.querySourceUnidentified.context??new o.ActionContext}}}}t.ActorQuerySourceIdentifyHypermedia=c},17140:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedRdfSourcesAsyncRdfIterator=void 0;const n=r(90711),i=r(99214),o=r(75627);class a extends o.BufferedIterator{constructor(e,t,r,n,i,o,a,s){if(super({autoStart:!1,...s}),this.started=!1,this.currentIterators=[],this.iteratorsPendingCreation=0,this.iteratorsPendingTermination=0,this.accumulatedMetadata=Promise.resolve(void 0),this._reading=!1,this.cacheSize=e,this.operation=t,this.queryBindingsOptions=r,this.context=n,this.firstUrl=i,this.maxIterators=o,this.sourceStateGetter=a,this.maxIterators<=0)throw new Error(`LinkedRdfSourcesAsyncRdfIterator.maxIterators must be larger than zero, but got ${this.maxIterators}`)}kickstart(){this.started||this._fillBufferAsync()}getProperty(e,t){return"metadata"!==e||this.started||(this.preflightMetadata||(this.preflightMetadata=new Promise(((e,t)=>{this.sourceStateGetter({url:this.firstUrl},{}).then((t=>{const r=t.source.queryBindings(this.operation,this.context);r.getProperty("metadata",(n=>{n.state=new i.MetadataValidationState,r.destroy(),this.accumulateMetadata(t.metadata,n).then((r=>{const i={...t.metadata,...n,...r};e(i)})).catch((()=>{e({...t.metadata,state:new i.MetadataValidationState})}))}))})).catch(t)}))),this.preflightMetadata.then((e=>this.setProperty("metadata",e))).catch((()=>{}))),super.getProperty(e,t)}_end(e){for(const e of this.currentIterators)e.destroy();super._end(e)}_read(e,t){if(this.started){for(const t of this.currentIterators){for(;e>0;){const r=t.read();if(null===r)break;e--,this._push(r)}if(e<=0)break}e>=0&&this.canStartNewIterator()?this.sourceStateGetter({url:this.firstUrl},{}).then((e=>{this.startIteratorsForNextUrls(e.handledDatasets,!1),t()})):t()}else this.started=!0,this.sourceStateGetter({url:this.firstUrl},{}).then((e=>{this.startIterator(e),t()})).catch((e=>setTimeout((()=>this.destroy(e)))))}canStartNewIterator(){return this.currentIterators.length+this.iteratorsPendingCreation+this.iteratorsPendingTermination0}startIterator(e){try{const t=e.source.queryBindings(this.operation,this.context,this.queryBindingsOptions);this.currentIterators.push(t);let r=!1,n=!1;t._destination=this,t.on("error",(e=>this.destroy(e))),t.on("readable",(()=>this._fillBuffer())),t.on("end",(()=>{this.currentIterators.splice(this.currentIterators.indexOf(t),1),r=!0,n||this.iteratorsPendingTermination++,n&&this.startIteratorsForNextUrls(e.handledDatasets,!0)})),t.getProperty("metadata",(t=>{this.accumulatedMetadata=this.accumulatedMetadata.then((o=>(async()=>(o||(o=e.metadata),this.accumulateMetadata(o,t)))().then((o=>{const a={...e.metadata,...t,...o};return a.state=new i.MetadataValidationState,this.updateMetadata(a),this.preflightMetadata&&this.preflightMetadata.then((e=>e.state.invalidate())).catch((()=>{})),this.getSourceLinks(a,e).then((e=>Promise.all(e))).then((async t=>{const i=await this.getLinkQueue();for(const r of t)i.push(r,e.link);n=!0,r&&this.iteratorsPendingTermination--,this.startIteratorsForNextUrls(e.handledDatasets,!0)})).catch((e=>this.destroy(e))),a})))).catch((e=>(this.destroy(e),{})))}))}catch(e){this.destroy(e)}}updateMetadata(e){const t=this.getProperty("metadata");this.setProperty("metadata",e),t?.state.invalidate()}isRunning(){return!this.done}startIteratorsForNextUrls(e,t){this.getLinkQueue().then((r=>{for(;this.canStartNewIterator()&&this.isRunning();){const t=r.pop();if(!t)break;this.iteratorsPendingCreation++,this.sourceStateGetter(t,e).then((e=>{const t=this.context.get(n.KeysStatistics.dereferencedLinks);t&&t.updateStatistic({url:e.link.url,metadata:{...e.metadata,...e.link.metadata}},e.source),this.iteratorsPendingCreation--,this.startIterator(e)})).catch((e=>this.emit("error",e)))}t&&this.isCloseable(r,!0)&&this.close()})).catch((e=>this.destroy(e)))}isCloseable(e,t){return e.isEmpty()&&!this.areIteratorsRunning()}}t.LinkedRdfSourcesAsyncRdfIterator=a},10037:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatedLinkedRdfSourcesAsyncRdfIterator=void 0;const n=r(90711),i=r(17140);class o extends i.LinkedRdfSourcesAsyncRdfIterator{constructor(e,t,r,n,i,o,a,s,c,u,l,d,p,h){super(e,t,r,n,o,a,s,c?{maxBufferSize:Number.POSITIVE_INFINITY}:void 0),this.wasForcefullyClosed=!1,this.forceSourceType=i,this.mediatorMetadataAccumulate=u,this.mediatorRdfResolveHypermediaLinks=l,this.mediatorRdfResolveHypermediaLinksQueue=d,this.handledUrls={[o]:!0},this.aggregatedStore=c,this.dataFactory=p,this.algebraFactory=h}close(){this.aggregatedStore?this.getLinkQueue().then((e=>{this.isCloseable(e,!1)?(this.aggregatedStore&&setTimeout((()=>this.aggregatedStore.end())),super.close()):this.wasForcefullyClosed=!0})).catch((e=>super.destroy(e))):super.close()}destroy(e){this.aggregatedStore?this.getLinkQueue().then((t=>{e??this.isCloseable(t,!1)?(this.aggregatedStore&&setTimeout((()=>this.aggregatedStore.end())),super.destroy(e)):this.wasForcefullyClosed=!0})).catch((e=>super.destroy(e))):super.destroy(e)}isCloseable(e,t){return(t?e.isEmpty():this.wasForcefullyClosed||e.isEmpty())&&!this.areIteratorsRunning()}canStartNewIterator(){return!this.wasForcefullyClosed&&this.aggregatedStore&&this.aggregatedStore.hasRunningIterators()||super.canStartNewIterator()}canStartNewIteratorConsiderReadable(){return!this.aggregatedStore}isRunning(){return this.aggregatedStore&&this.aggregatedStore.hasRunningIterators()||!this.done}getLinkQueue(){return this.linkQueue||(this.linkQueue=this.mediatorRdfResolveHypermediaLinksQueue.mediate({firstUrl:this.firstUrl,context:this.context}).then((e=>e.linkQueue))),this.linkQueue}async getSourceLinks(e,t){try{const{links:r}=await this.mediatorRdfResolveHypermediaLinks.mediate({context:this.context,metadata:e}),i=this.context.get(n.KeysStatistics.discoveredLinks);if(i)for(const e of r)i.updateStatistic({url:e.url,metadata:{...e.metadata}},t.link);return r.filter((e=>!this.handledUrls[e.url]&&(this.handledUrls[e.url]=!0,!0)))}catch{return[]}}startIterator(e){if(this.aggregatedStore&&!this.aggregatedStore.containedSources.has(e.link.url)){this.aggregatedStore?.containedSources.add(e.link.url);const t=e.source.queryBindings(this.algebraFactory.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g")),this.context.set(n.KeysQueryOperation.unionDefaultGraph,!0)).map((e=>this.dataFactory.quad(e.get("s"),e.get("p"),e.get("o"),e.get("g"))));this.aggregatedStore.import(t).on("end",(()=>{super.startIterator(e)}))}else super.startIterator(e)}async accumulateMetadata(e,t){return(await this.mediatorMetadataAccumulate.mediate({mode:"append",accumulatedMetadata:e,appendingMetadata:t,context:this.context})).metadata}updateMetadata(e){super.updateMetadata(e),this.aggregatedStore?.setBaseMetadata(e,!0)}}t.MediatedLinkedRdfSourcesAsyncRdfIterator=o},20386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceHypermedia=void 0;const n=r(20998),i=r(90711),o=r(75627),a=r(89096),s=r(19198),c=r(96331),u=r(10037),l=r(22573);t.QuerySourceHypermedia=class{constructor(e,t,r,n,i,o,s,c,u){this.referenceValue=t,this.cacheSize=e,this.firstUrl=t,this.forceSourceType=r,this.maxIterators=n,this.mediators=o,this.aggregateStore=i,this.logWarning=s,this.dataFactory=c,this.bindingsFactory=u,this.sourcesState=new a.LRUCache({max:this.cacheSize})}async getSelectorShape(e){return(await this.getSourceCached({url:this.firstUrl},{},e,this.getAggregateStore(e))).source.getSelectorShape(e)}queryBindings(e,t,r){const o=this.getAggregateStore(t);if(o&&"pattern"===e.type&&o.started)return new n.QuerySourceRdfJs(o,t.getSafe(i.KeysInitQuery.dataFactory),this.bindingsFactory).queryBindings(e,t);0===this.sourcesState.size&&this.getSourceCached({url:this.firstUrl},{},t,o).catch((e=>l.destroy(e)));const a=t.getSafe(i.KeysInitQuery.dataFactory),s=new c.Factory(a),l=new u.MediatedLinkedRdfSourcesAsyncRdfIterator(this.cacheSize,e,r,t,this.forceSourceType,this.firstUrl,this.maxIterators,((e,r)=>this.getSourceCached(e,r,t,o)),o,this.mediators.mediatorMetadataAccumulate,this.mediators.mediatorRdfResolveHypermediaLinks,this.mediators.mediatorRdfResolveHypermediaLinksQueue,a,s);if(o){o.started=!0;const e=()=>l.kickstart();o.addIteratorCreatedListener(e),l.on("end",(()=>o.removeIteratorCreatedListener(e)))}return l}queryQuads(e,t){return new o.TransformIterator((async()=>(await this.getSourceCached({url:this.firstUrl},{},t,this.getAggregateStore(t))).source.queryQuads(e,t)))}async queryBoolean(e,t){const r=await this.getSourceCached({url:this.firstUrl},{},t,this.getAggregateStore(t));return await r.source.queryBoolean(e,t)}async queryVoid(e,t){const r=await this.getSourceCached({url:this.firstUrl},{},t,this.getAggregateStore(t));return await r.source.queryVoid(e,t)}async getSource(e,t,r,n){e.context&&(r=r.merge(e.context));let i,o,a=e.url;try{const t=await this.mediators.mediatorDereferenceRdf.mediate({context:r,url:a});a=t.url;const n=await this.mediators.mediatorMetadata.mediate({context:r,url:a,quads:t.data,triples:t.metadata?.triples});n.data.on("error",(()=>{})),o=(await this.mediators.mediatorMetadataExtract.mediate({context:r,url:a,metadata:n.metadata,headers:t.headers,requestTime:t.requestTime})).metadata,i=n.data,e.transform&&(i=await e.transform(i))}catch(e){i=new s.Readable,i.read=()=>(setTimeout((()=>i.emit("error",e))),null),({metadata:o}=await this.mediators.mediatorMetadataAccumulate.mediate({context:r,mode:"initialize"})),this.logWarning(`Metadata extraction for ${a} failed: ${e.message}`)}n?.setBaseMetadata(o,!1),n?.containedSources.add(e.url),n?.import(i);const{source:c,dataset:u}=await this.mediators.mediatorQuerySourceIdentifyHypermedia.mediate({context:r,forceSourceType:e.url===this.firstUrl?this.forceSourceType:void 0,handledDatasets:t,metadata:o,quads:i,url:a});return u&&(t[u]=!0),{link:e,source:c,metadata:o,handledDatasets:t}}getSourceCached(e,t,r,n){let i=this.sourcesState.get(e.url);return i||(i=this.getSource(e,t,r,n),e.url!==this.firstUrl&&void 0!==n||this.sourcesState.set(e.url,i),i)}getAggregateStore(e){let t;if(this.aggregateStore){const r=e.get(i.KeysQuerySourceIdentify.hypermediaSourcesAggregatedStores);if(r)return t=r.get(this.firstUrl),t||(t=new l.StreamingStoreMetadata(void 0,(async(t,r)=>(await this.mediators.mediatorMetadataAccumulate.mediate({mode:"append",accumulatedMetadata:t,appendingMetadata:r,context:e})).metadata)),r.set(this.firstUrl,t)),t}}toString(){return`QuerySourceHypermedia(${this.firstUrl})`}}},22573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamingStoreMetadata=void 0;const n=r(4809),i=r(99214),o=r(18962);class a extends o.StreamingStore{constructor(e,t){super(e),this.started=!1,this.containedSources=new Set,this.runningIterators=new Set,this.iteratorCreatedListeners=new Set,this.baseMetadata={state:new i.MetadataValidationState,cardinality:{type:"exact",value:0},variables:[]},this.metadataAccumulator=t}import(e){return this.ended||super.import(e),e}hasRunningIterators(){return this.runningIterators.size>0}match(e,t,r,o){const a=super.match(e,t,r,o),s=new n.ClosableTransformIterator(a,{autoStart:!1,onClose:()=>{this.runningIterators.delete(s)}});let c=this.getStore().countQuads(e,t,r,o);const u={state:new i.MetadataValidationState,cardinality:{type:"estimate",value:c}};s.setProperty("metadata",u),s.setProperty("lastCount",c),a.on("quad",(()=>{s.setProperty("lastCount",++c),this.updateMetadataState(s,c)})),this.runningIterators.add(s);for(const e of this.iteratorCreatedListeners)e();return s}setBaseMetadata(e,t){if(this.baseMetadata={...e},this.baseMetadata.cardinality={type:"exact",value:0},t)for(const e of this.runningIterators){const t=e.getProperty("lastCount");this.updateMetadataState(e,t)}}updateMetadataState(e,t){const r={state:new i.MetadataValidationState,cardinality:{type:"estimate",value:t},variables:[]};this.metadataAccumulator(this.baseMetadata,r).then((t=>{t.state=new i.MetadataValidationState;const r=e.getProperty("metadata");e.setProperty("metadata",t),r?.state.invalidate()})).catch((()=>{}))}addIteratorCreatedListener(e){this.iteratorCreatedListeners.add(e)}removeIteratorCreatedListener(e){this.iteratorCreatedListeners.delete(e)}}t.StreamingStoreMetadata=a},79881:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17685),t),i(r(20386),t)},37859:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyRdfJs=void 0;const n=r(559),i=r(90711),o=r(90412),a=r(81926),s=r(70020);class c extends n.ActorQuerySourceIdentify{constructor(e){super(e)}async test(e){const t=e.querySourceUnidentified;return void 0!==t.type&&"rdfjs"!==t.type?(0,o.failTest)(`${this.name} requires a single query source with rdfjs type to be present in the context.`):"string"!=typeof t.value&&"match"in t.value?(0,o.passTestVoid)():(0,o.failTest)(`${this.name} received an invalid rdfjs query source.`)}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{querySource:{source:new s.QuerySourceRdfJs(e.querySourceUnidentified.value,t,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t)),context:e.querySourceUnidentified.context??new o.ActionContext}}}}t.ActorQuerySourceIdentifyRdfJs=c},31994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},70020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceRdfJs=void 0;const n=r(559),i=r(90711),o=r(99214),a=r(75627),s=r(3285),c=r(96331);class u{constructor(e,t,r){this.source=e,this.referenceValue=e,this.dataFactory=t,this.bindingsFactory=r;const n=new c.Factory(this.dataFactory);this.selectorShape={type:"operation",operation:{operationType:"pattern",pattern:n.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"))},variablesOptional:[this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o")]}}static nullifyVariables(e,t){return!e||"Variable"===e.termType||!t&&"Quad"===e.termType&&(0,s.someTermsNested)(e,(e=>"Variable"===e.termType))?void 0:e}static hasDuplicateVariables(e){const t=(0,s.filterTermsNested)(e,(e=>"Variable"===e.termType));return t.length>1&&(0,s.uniqTerms)(t).lengths.destroy(e))),(0,n.quadsToBindings)(s,e,this.dataFactory,this.bindingsFactory,Boolean(t.get(i.KeysQueryOperation.unionDefaultGraph)))}async setMetadata(e,t){const r=Boolean(this.source.features?.quotedTripleFiltering);let n;if(this.source.countQuads)n=await this.source.countQuads(u.nullifyVariables(t.subject,r),u.nullifyVariables(t.predicate,r),u.nullifyVariables(t.object,r),u.nullifyVariables(t.graph,r));else{let e=0;n=await new Promise(((n,i)=>{const o=this.source.match(u.nullifyVariables(t.subject,r),u.nullifyVariables(t.predicate,r),u.nullifyVariables(t.object,r),u.nullifyVariables(t.graph,r));o.on("error",i),o.on("end",(()=>n(e))),o.on("data",(()=>e++))}))}const i=!r&&(0,s.someTerms)(t,(e=>"Quad"===e.termType))||u.hasDuplicateVariables(t);e.setProperty("metadata",{state:new o.MetadataValidationState,cardinality:{type:i?"estimate":"exact",value:n}})}queryQuads(e,t){throw new Error("queryQuads is not implemented in QuerySourceRdfJs")}queryBoolean(e,t){throw new Error("queryBoolean is not implemented in QuerySourceRdfJs")}queryVoid(e,t){throw new Error("queryVoid is not implemented in QuerySourceRdfJs")}toString(){return`QuerySourceRdfJs(${this.source.constructor.name})`}}t.QuerySourceRdfJs=u},20998:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(37859),t),i(r(31994),t),i(r(70020),t)},15825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifySerialized=void 0;const n=r(559),i=r(90412),o=r(34554),a=r(19198);class s extends n.ActorQuerySourceIdentify{constructor(e){super(e)}async test(e){return this.isStringSource(e.querySourceUnidentified)?(0,i.passTestVoid)():(0,i.failTest)(`${this.name} requires a single query source with serialized type to be present in the context.`)}async run(e){return await this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:{type:"rdfjs",value:await this.getRdfSource(e.context,e.querySourceUnidentified),context:e.querySourceUnidentified.context},context:e.context})}async getRdfSource(e,t){const r=new a.Readable({objectMode:!0});r._read=()=>{},r.push(t.value),r.push(null);const n={context:e,handle:{metadata:{baseIRI:t.baseIRI},data:r,context:e},handleMediaType:t.mediaType},i=await this.mediatorRdfParse.mediate(n);return await(0,o.storeStream)(i.handle.data)}isStringSource(e){return"type"in e?"serialized"===e.type:"string"==typeof e.value&&"mediaType"in e}}t.ActorQuerySourceIdentifySerialized=s},34905:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15825),t)},914:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinEntriesSortCardinality=void 0;const n=r(39195),i=r(90412);class o extends n.ActorRdfJoinEntriesSort{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{entries:[...e.entries].sort(((e,t)=>e.metadata.cardinality.value-t.metadata.cardinality.value))}}}t.ActorRdfJoinEntriesSortCardinality=o},4669:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(914),t)},17937:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinHash=void 0;const n=r(95445),i=r(90412),o=r(18888),a=r(4809),s=r(75627),c=r(25579),u=r(43347);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"hash-"+(e.canHandleUndefs?"undef":"def"),limitEntries:2,requiresVariableOverlap:!0,canHandleUndefs:e.canHandleUndefs})}async getOutput(e,t){const r=t.metadatas;let i;const l=n.ActorRdfJoin.overlappingVariables(r);if(this.canHandleUndefs){const e=t.entriesSorted[0].output,r=t.entriesSorted[1].output;i=new a.ClosableTransformIterator((async()=>{const t=new o.BindingsIndexUndef(l,(e=>e&&"Variable"!==e.termType?(0,u.termToString)(e):""),!0);return await new Promise((r=>{e.bindingsStream.on("data",(e=>{(t.getFirst(e,!1)??t.put(e,[])).push(e)})),e.bindingsStream.on("end",r),e.bindingsStream.on("error",(e=>{i.emit("error",e)}))})),new s.MultiTransformIterator(r.bindingsStream,{multiTransform:e=>new s.ArrayIterator(t.get(e).flat().map((t=>n.ActorRdfJoin.joinBindings(e,t))).filter((e=>null!==e)),{autoStart:!1}),autoStart:!1})}),{autoStart:!1,onClose(){e.bindingsStream.destroy(),r.bindingsStream.destroy()}})}else{const{hashFunction:r}=await this.mediatorHashBindings.mediate({context:e.context}),o=l.map((e=>e.variable));i=new c.HashJoin(t.entriesSorted[0].output.bindingsStream,t.entriesSorted[1].output.bindingsStream,(e=>r(e,o)),n.ActorRdfJoin.joinBindings)}return{result:{type:"bindings",bindingsStream:i,metadata:async()=>await this.constructResultMetadata(t.entriesSorted,r,e.context)}}}async getJoinCoefficients(e,t){let r=e.entries;t.metadatas[1].cardinality.value{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiBindSource=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(4809),s=r(67021),c=r(75627),u=r(96331);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"bind-source",canHandleUndefs:!0})}async getOutput(e,t){const r=e.context.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),o=t.entriesSorted;this.logDebug(e.context,"First entry for Bind Join Source: ",(()=>({entry:o[0].operation,metadata:o[0].metadata})));for(const[e,t]of o.entries())0!==e&&t.output.bindingsStream.close();const l=o[0].output,d=o[0].metadata,p=[...o];p.splice(0,1);const h=(0,s.getOperationSource)(p[0].operation),f=this.createOperationFromEntries(n,p),y=new a.ChunkedIterator(l.bindingsStream,this.blockSize,{autoStart:!1});return{result:{type:"bindings",bindingsStream:new c.UnionIterator(y.map((t=>h.source.queryBindings(f,h.context?e.context.merge(h.context):e.context,{joinBindings:{bindings:t,metadata:d}})))),metadata:()=>this.constructResultMetadata(o,o.map((e=>e.metadata)),e.context)},physicalPlanMetadata:{bindIndex:t.entriesUnsorted.indexOf(o[0])}}}async sortJoinEntries(e,t){const r=await n.ActorRdfJoin.sortJoinEntries(this.mediatorJoinEntriesSort,e,t);return r.isFailed()?r:(e=(e=r.get()).sort(((e,t)=>e.operationModified&&!t.operationModified?-1:0)),(0,o.passTest)(e))}async getJoinCoefficients(e,t){let{metadatas:r}=t;const a=e.context.getSafe(i.KeysInitQuery.dataFactory),c=new u.Factory(a),l=e.entries.map(((e,t)=>({...e,metadata:r[t]}))),d=await this.sortJoinEntries(l,e.context);if(d.isFailed())return d;const p=d.get();r=p.map((e=>e.metadata));const h=n.ActorRdfJoin.getRequestInitialTimes(r),f=n.ActorRdfJoin.getRequestItemTimes(r),y=[...p],g=[...h],m=[...f];y.splice(0,1),g.splice(0,1),m.splice(0,1);const b=y.map((e=>(0,s.getOperationSource)(e.operation)));if(b.some((e=>!e)))return(0,o.failTest)(`Actor ${this.name} can not bind on remaining operations without source annotation`);if(b.some((e=>e!==b[0])))return(0,o.failTest)(`Actor ${this.name} can not bind on remaining operations with non-equal source annotation`);const _=b[0],v=this.createOperationFromEntries(c,y),w=await _.source.getSelectorShape(e.context);if(!(0,s.doesShapeAcceptOperation)(w,v,{joinBindings:!0}))return(0,o.failTest)(`Actor ${this.name} detected a source that can not handle passing down join bindings`);const S=await Promise.all(y.map((async t=>(await this.mediatorJoinSelectivity.mediate({entries:[p[0],t],context:e.context})).selectivity*this.selectivityModifier))),E=y.map(((e,t)=>e.metadata.cardinality.value*S[t])).reduce(((e,t)=>e+t),0);return(0,o.passTestWithSideData)({iterations:1,persistedItems:r[0].cardinality.value,blockingItems:r[0].cardinality.value,requestTime:h[0]+r[0].cardinality.value*f[0]+h[1]+E*f[1]},{...t,entriesUnsorted:l,entriesSorted:p})}createOperationFromEntries(e,t){return 1===t.length?t[0].operation:e.createJoin(t.map((e=>e.operation)),!0)}}t.ActorRdfJoinMultiBindSource=l},79731:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(18697),t)},14652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiBind=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(81926),s=r(67021),c=r(75627),u=r(96331);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"bind",canHandleUndefs:!0,isLeaf:!1})}static createBindStream(e,t,r,n,i,o,a){const u="depth-first"===e,l=e=>{const t=r.map((t=>(0,s.materializeOperation)(t,e,o,a,{bindFilter:!0}))),i=t=>t.merge(e);return new c.TransformIterator((async()=>(await n(t,e)).transform({map:i})),{maxBufferSize:128,autoStart:u})};switch(e){case"depth-first":return new c.MultiTransformIterator(t,{autoStart:!1,multiTransform:l,optional:i});case"breadth-first":return new c.UnionIterator(t.transform({map:l,optional:i}),{autoStart:!1});default:throw new Error(`Received request for unknown bind order: ${e}`)}}async getOutput(e,t){const r=e.context.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),o=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,r),c=t.entriesSorted;this.logDebug(e.context,"First entry for Bind Join: ",(()=>({entry:c[0].operation,metadata:c[0].metadata})));for(const[e,t]of c.entries())0!==e&&t.output.bindingsStream.close();const d=c[0].output,p=[...c];p.splice(0,1);const h=e.context.set(i.KeysQueryOperation.joinLeftMetadata,c[0].metadata).set(i.KeysQueryOperation.joinRightMetadatas,p.map((e=>e.metadata)));return{result:{type:"bindings",bindingsStream:l.createBindStream(this.bindOrder,d.bindingsStream,p.map((e=>e.operation)),(async(e,t)=>{const r=1===e.length?e[0]:n.createJoin(e);return(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:r,context:h?.set(i.KeysQueryOperation.joinBindings,t)})).bindingsStream}),!1,n,o),metadata:()=>this.constructResultMetadata(c,c.map((e=>e.metadata)),e.context)},physicalPlanMetadata:{bindIndex:t.entriesUnsorted.indexOf(c[0]),bindOperation:c[0].operation,bindOperationCardinality:c[0].metadata.cardinality,bindOrder:this.bindOrder}}}canBindWithOperation(e){let t=!0;return u.Util.recurseOperation(e,{[u.Algebra.types.EXTEND]:()=>(t=!1,!1),[u.Algebra.types.GROUP]:()=>(t=!1,!1)}),t}async getJoinCoefficients(e,t){let{metadatas:r}=t;const i=e.entries.map(((e,t)=>({...e,metadata:r[t]}))),a=await n.ActorRdfJoin.sortJoinEntries(this.mediatorJoinEntriesSort,i,e.context);if(a.isFailed())return a;const s=a.get();r=s.map((e=>e.metadata));const c=n.ActorRdfJoin.getRequestInitialTimes(r),u=n.ActorRdfJoin.getRequestItemTimes(r),l=[...s],d=[...c],p=[...u];if(l.splice(0,1),d.splice(0,1),p.splice(0,1),l.some((e=>!this.canBindWithOperation(e.operation))))return(0,o.failTest)(`Actor ${this.name} can not bind on Extend and Group operations`);if(l.some((e=>e.operationModified)))return(0,o.failTest)(`Actor ${this.name} can not be used over remaining entries with modified operations`);if(r[0].cardinality.value*this.minMaxCardinalityRatio>Math.max(...r.map((e=>e.cardinality.value))))return(0,o.failTest)(`Actor ${this.name} can only run if the smallest stream is much smaller than largest stream`);const h=await Promise.all(l.map((async t=>(await this.mediatorJoinSelectivity.mediate({entries:[s[0],t],context:e.context})).selectivity*this.selectivityModifier))),f=l.map(((e,t)=>e.metadata.cardinality.value*h[t])).reduce(((e,t)=>e+t),0),y=d.reduce(((e,t)=>e+t),0),g=p.reduce(((e,t)=>e+t),0);return(0,o.passTestWithSideData)({iterations:r[0].cardinality.value*f,persistedItems:0,blockingItems:0,requestTime:c[0]+r[0].cardinality.value*(u[0]+y+f*g)},{...t,entriesUnsorted:i,entriesSorted:s})}}t.ActorRdfJoinMultiBind=l},42815:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(14652),t)},82e3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiEmpty=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(99214),s=r(75627);class c extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"multi-empty",canHandleUndefs:!0})}async test(e){return(await n.ActorRdfJoin.getMetadatas(e.entries)).every((e=>n.ActorRdfJoin.getCardinality(e).value>0))?(0,o.failTest)(`Actor ${this.name} can only join entries where at least one is empty`):super.test(e)}async getOutput(e){for(const t of e.entries)t.output.bindingsStream.close();const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{result:{bindingsStream:new s.ArrayIterator([],{autoStart:!1}),metadata:async()=>({state:new a.MetadataValidationState,cardinality:{type:"exact",value:0},variables:n.ActorRdfJoin.joinVariables(t,await n.ActorRdfJoin.getMetadatas(e.entries))}),type:"bindings"}}}async getJoinCoefficients(e,t){return(0,o.passTestWithSideData)({iterations:0,persistedItems:0,blockingItems:0,requestTime:0},t)}}t.ActorRdfJoinMultiEmpty=c},25445:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(82e3),t)},90246:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiSmallestFilterBindings=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(81926),s=r(4809),c=r(67021),u=r(75627),l=r(96331);class d extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"multi-smallest-filter-bindings",limitEntries:2,limitEntriesMin:!0,isLeaf:!1})}async sortJoinEntries(e,t){let{entries:r}=await this.mediatorJoinEntriesSort.mediate({entries:e,context:t});r=r.sort(((e,t)=>e.operationModified&&!t.operationModified?-1:0));const n=r.splice(0,1)[0];let i,a=-1,s=0;for(const[e,t]of r.entries()){const r=n.metadata.variables.filter((e=>t.metadata.variables.some((t=>e.variable.equals(t.variable))))).length;(!i||r>s||r===s&&(t.metadata.variables.lengthp.metadata.variables.some((t=>e.variable.equals(t.variable))))),g={},m=f.clone().map((e=>e.filter(((e,t)=>y.some((e=>e.variable.equals(t))))))).filter((e=>{const t=(0,a.bindingsToString)(e);return!(t in g)&&(g[t]=!0)})),b=new s.ChunkedIterator(m,this.blockSize,{autoStart:!1}),_=(0,c.getOperationSource)(p.operation),v={output:{type:"bindings",bindingsStream:new u.UnionIterator(b.map((t=>_.source.queryBindings(p.operation,_.context?e.context.merge(_.context):e.context,{filterBindings:{bindings:t,metadata:d.metadata}})))),metadata:p.output.metadata},operation:p.operation,operationModified:!0};p.output.bindingsStream.destroy();const w={output:(0,c.getSafeBindings)(await this.mediatorJoin.mediate({type:e.type,entries:[d,v],context:e.context.set(i.KeysRdfJoin.lastPhysicalJoin,this.physicalName)})),operation:r.createJoin([d.operation,v.operation],!1),operationModified:!0},S=h;return S.unshift(w),{result:await this.mediatorJoin.mediate({type:e.type,entries:S,context:e.context}),physicalPlanMetadata:{firstIndex:o.indexOf(d),secondIndex:o.indexOf(p)}}}async getJoinCoefficients(e,t){let{metadatas:r}=t;if(e.context.get(i.KeysRdfJoin.lastPhysicalJoin)===this.physicalName)return(0,o.failTest)(`Actor ${this.name} can not be called recursively`);r=[...r];const a=await this.sortJoinEntries(e.entries.map(((e,t)=>({...e,metadata:r[t]}))),e.context);if(a.isFailed())return a;const{first:s,second:u,remaining:l}=a.get(),d=(0,c.getOperationSource)(u.operation);if(!d)return(0,o.failTest)(`Actor ${this.name} can only process if entries[1] has a source`);const p=u.operation,h=await d.source.getSelectorShape(e.context);if(!(0,c.doesShapeAcceptOperation)(h,p,{filterBindings:!0}))return(0,o.failTest)(`Actor ${this.name} can only process if entries[1] accept filterBindings`);r=[s.metadata,u.metadata,...l.map((e=>e.metadata))];const f=n.ActorRdfJoin.getRequestInitialTimes(r),y=n.ActorRdfJoin.getRequestItemTimes(r),{selectivity:g}=await this.mediatorJoinSelectivity.mediate({entries:[s,u],context:e.context}),m=l.reduce(((e,t)=>e*t.metadata.cardinality.value*this.selectivityModifier),1);return(0,o.passTestWithSideData)({iterations:g*this.selectivityModifier*u.metadata.cardinality.value*m,persistedItems:s.metadata.cardinality.value,blockingItems:s.metadata.cardinality.value,requestTime:f[0]+r[0].cardinality.value*y[0]+f[1]+m*y[1]},t)}}t.ActorRdfJoinMultiSmallestFilterBindings=d},30615:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(90246),t)},20268:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiSmallest=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(67021),s=r(96331);class c extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"multi-smallest",limitEntries:3,limitEntriesMin:!0,canHandleUndefs:!0,isLeaf:!1})}async sortJoinEntries(e,t){return(await this.mediatorJoinEntriesSort.mediate({entries:e,context:t})).entries}async getOutput(e,t){const r=e.context.getSafe(i.KeysInitQuery.dataFactory),n=new s.Factory(r),o=t.sortedEntries,c=o[0],u=o[1];o.splice(0,2);const l={output:(0,a.getSafeBindings)(await this.mediatorJoin.mediate({type:e.type,entries:[c,u],context:e.context})),operation:n.createJoin([c.operation,u.operation],!1)};return o.push(l),{result:await this.mediatorJoin.mediate({type:e.type,entries:o,context:e.context})}}async getJoinCoefficients(e,t){let{metadatas:r}=t;r=[...r];const i=await this.sortJoinEntries(e.entries.map(((e,t)=>({...e,metadata:r[t]}))),e.context);r=i.map((e=>e.metadata));const a=n.ActorRdfJoin.getRequestInitialTimes(r),s=n.ActorRdfJoin.getRequestItemTimes(r);return(0,o.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value*r.slice(2).reduce(((e,t)=>e*t.cardinality.value),1),persistedItems:0,blockingItems:0,requestTime:a[0]+r[0].cardinality.value*s[0]+a[1]+r[1].cardinality.value*s[1]+r.slice(2).reduce(((e,t,r)=>e+a.slice(2)[r]+t.cardinality.value*s.slice(2)[r]),0)},{...t,sortedEntries:i})}}t.ActorRdfJoinMultiSmallest=c},25925:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20268),t)},31523:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinNestedLoop=void 0;const n=r(95445),i=r(90412),o=r(25579);class a extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"nested-loop",limitEntries:2,canHandleUndefs:!0})}async getOutput(e){return{result:{type:"bindings",bindingsStream:new o.NestedLoopJoin(e.entries[0].output.bindingsStream,e.entries[1].output.bindingsStream,n.ActorRdfJoin.joinBindings,{autoStart:!1}),metadata:async()=>await this.constructResultMetadata(e.entries,await n.ActorRdfJoin.getMetadatas(e.entries),e.context)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);return(0,i.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value,persistedItems:0,blockingItems:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinNestedLoop=a},36229:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(31523),t)},52729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinNone=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(75627);class u extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"none",limitEntries:0})}async test(e){return e.entries.length>0?(0,o.failTest)(`Actor ${this.name} can only join zero entries`):await this.getJoinCoefficients(e,void 0)}async getOutput(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t);return{result:{bindingsStream:new c.ArrayIterator([r.bindings()],{autoStart:!1}),metadata:()=>Promise.resolve({state:new s.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]}),type:"bindings"}}}async getJoinCoefficients(e,t){return(0,o.passTestWithSideData)({iterations:0,persistedItems:0,blockingItems:0,requestTime:0},t)}}t.ActorRdfJoinNone=u},88766:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52729),t)},40721:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinSingle=void 0;const n=r(95445),i=r(90412);class o extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"single",limitEntries:1}),this.includeInLogs=!1}async test(e){return 1!==e.entries.length?(0,i.failTest)(`Actor ${this.name} can only join a single entry`):await this.getJoinCoefficients(e,void 0)}async getOutput(e){return{result:e.entries[0].output}}async getJoinCoefficients(e,t){return(0,i.passTestWithSideData)({iterations:0,persistedItems:0,blockingItems:0,requestTime:0},t)}}t.ActorRdfJoinSingle=o},71924:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40721),t)},42149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinSymmetricHash=void 0;const n=r(95445),i=r(90412),o=r(25579);class a extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"symmetric-hash",limitEntries:2,requiresVariableOverlap:!0})}async getOutput(e){const t=await n.ActorRdfJoin.getMetadatas(e.entries),r=n.ActorRdfJoin.overlappingVariables(t),{hashFunction:i}=await this.mediatorHashBindings.mediate({context:e.context}),a=r.map((e=>e.variable));return{result:{type:"bindings",bindingsStream:new o.SymmetricHashJoin(e.entries[0].output.bindingsStream,e.entries[1].output.bindingsStream,(e=>i(e,a)),n.ActorRdfJoin.joinBindings),metadata:async()=>await this.constructResultMetadata(e.entries,t,e.context)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);return(0,i.passTestWithSideData)({iterations:r[0].cardinality.value+r[1].cardinality.value,persistedItems:r[0].cardinality.value+r[1].cardinality.value,blockingItems:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinSymmetricHash=a},96835:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(42149),t)},38729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMinusHash=void 0;const n=r(95445),i=r(90412),o=r(81926),a=r(18888),s=r(4809),c=r(43347);class u extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"minus",physicalName:"hash-"+(e.canHandleUndefs?"undef":"def"),limitEntries:2,canHandleUndefs:e.canHandleUndefs})}static constructIndex(e,t){return e?new a.BindingsIndexUndef(t,(e=>e&&"Variable"!==e.termType?(0,c.termToString)(e):""),!1):new a.BindingsIndexDef(t,o.bindingsToCompactString)}async getOutput(e){const t=e.entries[1].output,r=e.entries[0].output,i=await n.ActorRdfJoin.getMetadatas(e.entries),o=n.ActorRdfJoin.overlappingVariables(i);if(0===o.length)return t.bindingsStream.destroy(),{result:r};const a=new s.ClosableTransformIterator((async()=>{const e=u.constructIndex(this.canHandleUndefs,o);return await new Promise((r=>{t.bindingsStream.on("data",(t=>e.put(t,!0))),t.bindingsStream.on("end",r),t.bindingsStream.on("error",(e=>a.emit("error",e)))})),r.bindingsStream.filter((t=>!e.getFirst(t,!0)))}),{autoStart:!1,onClose(){t.bindingsStream.destroy(),r.bindingsStream.destroy()}});return{result:{type:"bindings",bindingsStream:a,metadata:r.metadata}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);let s=r[0].cardinality.value+r[1].cardinality.value;return this.canHandleUndefs||(s*=.8),(0,i.passTestWithSideData)({iterations:s,persistedItems:r[0].cardinality.value,blockingItems:r[0].cardinality.value,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinMinusHash=u},42004:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38729),t)},75425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinOptionalBind=void 0;const n=r(42815),i=r(95445),o=r(90711),a=r(90412),s=r(81926),c=r(67021),u=r(96331);class l extends i.ActorRdfJoin{constructor(e){super(e,{logicalType:"optional",physicalName:"bind",limitEntries:2,canHandleUndefs:!0,isLeaf:!1,requiresVariableOverlap:!0})}async getOutput(e){const t=e.context.getSafe(o.KeysInitQuery.dataFactory),r=new u.Factory(t),a=await s.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t);e.entries[1].output.bindingsStream.close();const l=e.context.set(o.KeysQueryOperation.joinLeftMetadata,await e.entries[0].output.metadata()).set(o.KeysQueryOperation.joinRightMetadatas,[await e.entries[1].output.metadata()]);return{result:{type:"bindings",bindingsStream:n.ActorRdfJoinMultiBind.createBindStream(this.bindOrder,e.entries[0].output.bindingsStream,[e.entries[1].operation],(async(e,t)=>{const r=e[0];return(0,c.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:r,context:l?.set(o.KeysQueryOperation.joinBindings,t)})).bindingsStream}),!0,r,a),metadata:async()=>await this.constructResultMetadata(e.entries,await i.ActorRdfJoin.getMetadatas(e.entries),e.context,{},!0)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,n=i.ActorRdfJoin.getRequestInitialTimes(r),o=i.ActorRdfJoin.getRequestItemTimes(r);if(e.entries[1].operation.type===u.Algebra.types.EXTEND||e.entries[1].operation.type===u.Algebra.types.GROUP)return(0,a.failTest)(`Actor ${this.name} can not bind on Extend and Group operations`);const s=(await this.mediatorJoinSelectivity.mediate({entries:e.entries,context:e.context})).selectivity*this.selectivityModifier;return(0,a.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value*s,persistedItems:0,blockingItems:0,requestTime:n[0]+r[0].cardinality.value*(o[0]+n[1]+s*r[1].cardinality.value*o[1])},t)}}t.ActorRdfJoinOptionalBind=l},97237:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(75425),t)},71923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinOptionalHash=void 0;const n=r(95445),i=r(90412),o=r(81926),a=r(18888),s=r(4809),c=r(75627),u=r(43347);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"optional",physicalName:`hash-${e.canHandleUndefs?"undef":"def"}-${e.blocking?"blocking":"nonblocking"}`,limitEntries:2,canHandleUndefs:e.canHandleUndefs,requiresVariableOverlap:!0})}static constructIndex(e,t){return e?new a.BindingsIndexUndef(t,(e=>e&&"Variable"!==e.termType?(0,u.termToString)(e):""),!0):new a.BindingsIndexDef(t,o.bindingsToCompactString)}async getOutput(e){const t=e.entries[1].output,r=e.entries[0].output,i=await n.ActorRdfJoin.getMetadatas(e.entries),o=n.ActorRdfJoin.overlappingVariables(i);let a;return a=this.blocking?new s.ClosableTransformIterator((async()=>{const e=l.constructIndex(this.canHandleUndefs,o);return await new Promise((r=>{t.bindingsStream.on("data",(t=>{(e.getFirst(t,!0)??e.put(t,[])).push(t)})),t.bindingsStream.on("end",r),t.bindingsStream.on("error",(e=>{a.emit("error",e)}))})),new c.MultiTransformIterator(r.bindingsStream,{multiTransform:t=>new c.ArrayIterator(e.get(t).flat().map((e=>n.ActorRdfJoin.joinBindings(t,e))).filter((e=>null!==e)),{autoStart:!1}),optional:!0,autoStart:!1})}),{autoStart:!1,onClose(){t.bindingsStream.destroy(),r.bindingsStream.destroy()}}):new s.ClosableTransformIterator((async()=>{const e=l.constructIndex(this.canHandleUndefs,o);let i=!0;return t.bindingsStream.on("data",(t=>{(e.getFirst(t,!0)??e.put(t,new c.BufferedIterator({autoStart:!1})))._push(t)})),t.bindingsStream.on("end",(()=>{for(const t of e.values())t.close();i=!1})),t.bindingsStream.on("error",(e=>{a.emit("error",e)})),new c.MultiTransformIterator(r.bindingsStream,{multiTransform:t=>{let r=e.get(t);return 0===r.length&&(r=i?[e.put(t,new c.BufferedIterator({autoStart:!1}))]:[]),new c.UnionIterator(r.map((e=>e.clone())),{autoStart:!1}).map((e=>n.ActorRdfJoin.joinBindings(t,e)))},optional:!0,autoStart:!1})}),{autoStart:!1,onClose(){t.bindingsStream.destroy(),r.bindingsStream.destroy()}}),{result:{type:"bindings",bindingsStream:a,metadata:async()=>await this.constructResultMetadata(e.entries,i,e.context,{},!0)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);let s=r[0].cardinality.value+r[1].cardinality.value;return this.canHandleUndefs||(s*=.8),this.blocking&&(s*=.9),(0,i.passTestWithSideData)({iterations:s,persistedItems:r[0].cardinality.value,blockingItems:this.blocking?r[0].cardinality.value:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinOptionalHash=l},60146:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(71923),t)},66905:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinOptionalNestedLoop=void 0;const n=r(95445),i=r(90412),o=r(25579);class a extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"optional",physicalName:"nested-loop",limitEntries:2,canHandleUndefs:!0})}async getOutput(e){return{result:{type:"bindings",bindingsStream:new o.NestedLoopJoin(e.entries[0].output.bindingsStream,e.entries[1].output.bindingsStream,n.ActorRdfJoin.joinBindings,{optional:!0,autoStart:!1}),metadata:async()=>await this.constructResultMetadata(e.entries,await n.ActorRdfJoin.getMetadatas(e.entries),e.context,{},!0)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);return(0,i.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value,persistedItems:0,blockingItems:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinOptionalNestedLoop=a},65267:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(66905),t)},36750:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JoinTypes=t.ActorRdfJoinSelectivityVariableCounting=void 0;const n=r(95705),i=r(90412),o=r(96331);class a extends n.ActorRdfJoinSelectivity{constructor(e){super(e)}async test(e){return(0,i.passTest)({accuracy:.5})}static getPatternCost(e){let t=1;return"Variable"===e.subject.termType&&(t+=4),"Variable"!==e.predicate.termType&&e.type!==o.Algebra.types.PATH||(t+=1),"Variable"===e.object.termType&&(t+=2),"Variable"===e.graph.termType&&(t+=1),t/9}static getJoinTypes(e,t){const r=[];return"Variable"===e.subject.termType?(e.subject.equals(t.subject)&&r.push(s.unboundSS),"pattern"===t.type&&e.subject.equals(t.predicate)&&r.push(s.unboundSP),e.subject.equals(t.object)&&r.push(s.unboundSO),e.subject.equals(t.graph)&&r.push(s.unboundSG)):(e.subject.equals(t.subject)&&r.push(s.boundSS),"pattern"===t.type&&e.subject.equals(t.predicate)&&r.push(s.boundSP),e.subject.equals(t.object)&&r.push(s.boundSO),e.subject.equals(t.graph)&&r.push(s.boundSG)),"pattern"===e.type&&("Variable"===e.predicate.termType?(e.predicate.equals(t.subject)&&r.push(s.unboundPS),"pattern"===t.type&&e.predicate.equals(t.predicate)&&r.push(s.unboundPP),e.predicate.equals(t.object)&&r.push(s.unboundPO),e.predicate.equals(t.graph)&&r.push(s.unboundPG)):(e.predicate.equals(t.subject)&&r.push(s.boundPS),"pattern"===t.type&&e.predicate.equals(t.predicate)&&r.push(s.boundPP),e.predicate.equals(t.object)&&r.push(s.boundPO),e.predicate.equals(t.graph)&&r.push(s.boundPG))),"Variable"===e.object.termType?(e.object.equals(t.subject)&&r.push(s.unboundOS),"pattern"===t.type&&e.object.equals(t.predicate)&&r.push(s.unboundOP),e.object.equals(t.object)&&r.push(s.unboundOO),e.object.equals(t.graph)&&r.push(s.unboundOG)):(e.object.equals(t.subject)&&r.push(s.boundOS),"pattern"===t.type&&e.object.equals(t.predicate)&&r.push(s.boundOP),e.object.equals(t.object)&&r.push(s.boundOO),e.object.equals(t.graph)&&r.push(s.boundOG)),"Variable"===e.graph.termType?(e.graph.equals(t.subject)&&r.push(s.unboundGS),"pattern"===t.type&&e.graph.equals(t.predicate)&&r.push(s.unboundGP),e.graph.equals(t.object)&&r.push(s.unboundGO),e.graph.equals(t.graph)&&r.push(s.unboundGG)):(e.graph.equals(t.subject)&&r.push(s.boundGS),"pattern"===t.type&&e.graph.equals(t.predicate)&&r.push(s.boundGP),e.graph.equals(t.object)&&r.push(s.boundGO),e.graph.equals(t.graph)&&r.push(s.boundGG)),r}static getOperationsPairwiseJoinCost(e,t){let r=a.MAX_PAIRWISE_COST;for(const n of a.getJoinTypes(e,t))switch(n){case s.boundSS:r-=4;break;case s.boundSP:r-=6;break;case s.boundSO:r-=2;break;case s.boundSG:case s.boundPS:r-=6;break;case s.boundPP:return 1;case s.boundPO:case s.boundPG:r-=6;break;case s.boundOS:r-=2;break;case s.boundOP:r-=6;break;case s.boundOO:r-=2;break;case s.boundOG:case s.boundGS:case s.boundGP:case s.boundGO:case s.boundGG:r-=6;break;case s.unboundSS:r-=2;break;case s.unboundSP:r-=3;break;case s.unboundSO:r-=1;break;case s.unboundSG:case s.unboundPS:case s.unboundPP:case s.unboundPO:case s.unboundPG:r-=3;break;case s.unboundOS:r-=1;break;case s.unboundOP:r-=3;break;case s.unboundOO:r-=1;break;case s.unboundOG:case s.unboundGS:case s.unboundGP:case s.unboundGO:case s.unboundGG:r-=3}return r/a.MAX_PAIRWISE_COST}static getOperationsJoinCost(e){const t=[];for(const r of e)o.Util.recurseOperation(r,{[o.Algebra.types.PATTERN]:e=>(t.push(e),!1),[o.Algebra.types.PATH]:e=>(t.push(e),!1)});let r=0,n=0;for(const e of t)for(const i of t)e!==i&&(r+=a.getOperationsPairwiseJoinCost(e,i),n++);return 0===n?1:r/n*t.reduce(((e,t)=>e*a.getPatternCost(t)),1)}async run(e){return e.entries.length<=1?{selectivity:1}:{selectivity:a.getOperationsJoinCost(e.entries.map((e=>e.operation)))}}}var s;t.ActorRdfJoinSelectivityVariableCounting=a,a.MAX_PAIRWISE_COST=82,function(e){e[e.boundSS=0]="boundSS",e[e.boundSP=1]="boundSP",e[e.boundSO=2]="boundSO",e[e.boundSG=3]="boundSG",e[e.boundPS=4]="boundPS",e[e.boundPP=5]="boundPP",e[e.boundPO=6]="boundPO",e[e.boundPG=7]="boundPG",e[e.boundOS=8]="boundOS",e[e.boundOP=9]="boundOP",e[e.boundOO=10]="boundOO",e[e.boundOG=11]="boundOG",e[e.boundGS=12]="boundGS",e[e.boundGP=13]="boundGP",e[e.boundGO=14]="boundGO",e[e.boundGG=15]="boundGG",e[e.unboundSS=16]="unboundSS",e[e.unboundSP=17]="unboundSP",e[e.unboundSO=18]="unboundSO",e[e.unboundSG=19]="unboundSG",e[e.unboundPS=20]="unboundPS",e[e.unboundPP=21]="unboundPP",e[e.unboundPO=22]="unboundPO",e[e.unboundPG=23]="unboundPG",e[e.unboundOS=24]="unboundOS",e[e.unboundOP=25]="unboundOP",e[e.unboundOO=26]="unboundOO",e[e.unboundOG=27]="unboundOG",e[e.unboundGS=28]="unboundGS",e[e.unboundGP=29]="unboundGP",e[e.unboundGO=30]="unboundGO",e[e.unboundGG=31]="unboundGG"}(s||(t.JoinTypes=s={}))},3595:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36750),t)},76063:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulateCardinality=void 0;const n=r(50433),i=r(90412);class o extends n.ActorRdfMetadataAccumulate{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){if("initialize"===e.mode)return{metadata:{cardinality:{type:"exact",value:0}}};const t={...e.accumulatedMetadata.cardinality};if(t.dataset){if(e.accumulatedMetadata.defaultGraph===t.dataset&&t.dataset!==e.appendingMetadata.cardinality.dataset)return{metadata:{cardinality:e.appendingMetadata.cardinality}};if(!e.appendingMetadata.cardinality.dataset)return{metadata:{cardinality:t}};if(t.dataset!==e.appendingMetadata.cardinality.dataset&&e.appendingMetadata.subsetOf===t.dataset)return{metadata:{cardinality:e.appendingMetadata.cardinality}};if(t.dataset===e.appendingMetadata.cardinality.dataset)return{metadata:{cardinality:t}};delete t.dataset}return e.appendingMetadata.cardinality&&Number.isFinite(e.appendingMetadata.cardinality.value)?("estimate"===e.appendingMetadata.cardinality.type&&(t.type="estimate"),t.value+=e.appendingMetadata.cardinality.value):(t.type="estimate",t.value=Number.POSITIVE_INFINITY),{metadata:{cardinality:t}}}}t.ActorRdfMetadataAccumulateCardinality=o},37143:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(76063),t)},80933:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulatePageSize=void 0;const n=r(50433),i=r(90412);class o extends n.ActorRdfMetadataAccumulate{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return"initialize"===e.mode?{metadata:{}}:{metadata:{..."pageSize"in e.accumulatedMetadata||"pageSize"in e.appendingMetadata?{pageSize:(e.accumulatedMetadata.pageSize??0)+(e.appendingMetadata.pageSize??0)}:{}}}}}t.ActorRdfMetadataAccumulatePageSize=o},17215:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(80933),t)},16851:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulateRequestTime=void 0;const n=r(50433),i=r(90412);class o extends n.ActorRdfMetadataAccumulate{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return"initialize"===e.mode?{metadata:{}}:{metadata:{..."requestTime"in e.accumulatedMetadata||"requestTime"in e.appendingMetadata?{requestTime:(e.accumulatedMetadata.requestTime??0)+(e.appendingMetadata.requestTime??0)}:{}}}}}t.ActorRdfMetadataAccumulateRequestTime=o},59075:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16851),t)},45762:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAll=void 0;const n=r(14752),i=r(90412),o=r(19198);class a extends n.ActorRdfMetadata{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t=new o.Readable({objectMode:!0}),r=new o.Readable({objectMode:!0});e.quads.on("error",(e=>{t.emit("error",e),r.emit("error",e)})),e.quads.on("end",(()=>{t.push(null),r.push(null)}));const n=t._read=r._read=i=>{for(;i>0;){const o=e.quads.read();if(null===o)return e.quads.once("readable",(()=>n(i)));i--,t.push(o),r.push(o)}};return{data:t,metadata:r}}}t.ActorRdfMetadataAll=a},67831:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45762),t)},61205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractAllowHttpMethods=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t={};return e.headers?.get("allow")&&(t.allowHttpMethods=e.headers.get("allow")?.split(/, */u)),{metadata:t}}}t.ActorRdfMetadataExtractAllowHttpMethods=o},19531:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(61205),t)},40366:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractHydraControls=void 0;const n=r(18412),i=r(90412),o=r(36093);class a extends n.ActorRdfMetadataExtract{constructor(e){super(e),this.parsedUriTemplateCache={}}async test(e){return(0,i.passTestVoid)()}getLinks(e,t){return Object.fromEntries(a.LINK_TYPES.map((r=>{const n=t[r]||t[`${r}Page`],i=n&&n[e];return[r,i&&i.length>0?[i[0]]:[]]})))}parseUriTemplateCached(e){return this.parsedUriTemplateCache[e]||(this.parsedUriTemplateCache[e]=(0,o.parse)(e))}getSearchForms(e){const t=e.search,r=[];if(t)for(const n in t)for(const i of t[n]){const t=(e.template||{})[i]||[];if(1!==t.length)throw new Error(`Expected 1 hydra:template for ${i}`);const o=t[0],a=this.parseUriTemplateCached(o),s=Object.fromEntries(((e.mapping||{})[i]||[]).map((t=>{const r=((e.variable||{})[t]||[])[0],n=((e.property||{})[t]||[])[0];if(!r)throw new Error(`Expected a hydra:variable for ${t}`);if(!n)throw new Error(`Expected a hydra:property for ${t}`);return[n,r]}))),c=e=>a.expand(Object.fromEntries(Object.keys(e).map((t=>[s[t],e[t]]))));r.push({dataset:n,template:o,mappings:s,getUri:c})}return{values:r}}getHydraProperties(e){return new Promise(((t,r)=>{e.on("error",r);const n={};e.on("data",(e=>{if(e.predicate.value.startsWith(a.HYDRA)){const t=e.predicate.value.slice(a.HYDRA.length),r=n[t]||(n[t]={});(r[e.subject.value]||(r[e.subject.value]=[])).push(e.object.value)}})),e.on("end",(()=>t(n)))}))}async run(e){const t={},r=await this.getHydraProperties(e.metadata);return Object.assign(t,this.getLinks(e.url,r)),t.searchForms=this.getSearchForms(r),{metadata:t}}}t.ActorRdfMetadataExtractHydraControls=a,a.HYDRA="http://www.w3.org/ns/hydra/core#",a.LINK_TYPES=["first","next","previous","last"]},62649:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40366),t)},24582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractHydraCount=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}run(e){return new Promise(((t,r)=>{e.metadata.on("error",r),e.metadata.on("data",(e=>{this.predicates.includes(e.predicate.value)&&t({metadata:{cardinality:{type:"estimate",value:Number.parseInt(e.object.value,10),dataset:e.subject.value}}})})),e.metadata.on("end",(()=>{t({metadata:{cardinality:{type:"estimate",value:0}}})}))}))}}t.ActorRdfMetadataExtractHydraCount=o},12814:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(24582),t)},20950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractHydraPagesize=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return new Promise(((t,r)=>{e.metadata.on("error",r),e.metadata.on("data",(e=>{this.predicates.includes(e.predicate.value)&&t({metadata:{pageSize:Number.parseInt(e.object.value,10)}})})),e.metadata.on("end",(()=>{t({metadata:{}})}))}))}}t.ActorRdfMetadataExtractHydraPagesize=o},14405:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20950),t)},22719:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractPatchSparqlUpdate=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t={};return(e.headers?.get("accept-patch")?.includes("application/sparql-update")??e.headers?.get("ms-author-via")?.includes("SPARQL"))&&(t.patchSparqlUpdate=!0),{metadata:t}}}t.ActorRdfMetadataExtractPatchSparqlUpdate=o},93742:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(22719),t)},54068:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractPutAccepted=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t={};return e.headers?.get("accept-put")&&(t.putAccepted=e.headers.get("accept-put")?.split(/, */u)),{metadata:t}}}t.ActorRdfMetadataExtractPutAccepted=o},13121:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(54068),t)},18512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractRequestTime=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{metadata:{requestTime:e.requestTime}}}}t.ActorRdfMetadataExtractRequestTime=o},121:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(18512),t)},72258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractSparqlService=void 0;const n=r(18412),i=r(90412),o=r(70742);class a extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return new Promise(((t,r)=>{e.metadata.on("error",r);const n={};e.metadata.on("data",(t=>{"http://www.w3.org/ns/sparql-service-description#endpoint"!==t.predicate.value||"BlankNode"!==t.subject.termType&&t.subject.value!==e.url?"http://www.w3.org/ns/sparql-service-description#defaultGraph"===t.predicate.value&&(n.defaultGraph=t.object.value):(n.sparqlService="Literal"===t.object.termType?(0,o.resolve)(t.object.value,e.url):t.object.value,this.inferHttpsEndpoint&&e.url.startsWith("https")&&!n.sparqlService.startsWith("https")&&(n.sparqlService=n.sparqlService.replace("http:","https:")))})),e.metadata.on("end",(()=>{t({metadata:n})}))}))}}t.ActorRdfMetadataExtractSparqlService=a},19727:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(72258),t)},50789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataPrimaryTopic=void 0;const n=r(14752),i=r(90412),o=r(19198);class a extends n.ActorRdfMetadata{constructor(e){super(e)}async test(e){return e.triples?(0,i.failTest)("This actor only supports non-triple quad streams."):(0,i.passTestVoid)()}async run(e){const t=new o.Readable({objectMode:!0}),r=new o.Readable({objectMode:!0}),n=()=>{t._read=r._read=()=>{},e.quads.on("error",(e=>{t.emit("error",e),r.emit("error",e)}));const n={};let i;const o={};e.quads.on("data",(t=>{"http://rdfs.org/ns/void#subset"===t.predicate.value&&t.object.value===e.url?i=t.subject.value:"http://xmlns.com/foaf/0.1/primaryTopic"===t.predicate.value&&(o[t.object.value]=t.subject.value);let r=n[t.graph.value];r||(r=n[t.graph.value]=[]),r.push(t)})),e.quads.on("end",(()=>{const e=i?o[i]:void 0;for(const i in n)if(i===e){for(const e of n[i])r.push(e);if(this.metadataToData)for(const e of n[i])t.push(e)}else{for(const e of n[i])t.push(e);if(!e&&this.dataToMetadataOnInvalidMetadataGraph)for(const e of n[i])r.push(e)}t.push(null),r.push(null)}))};return t._read=r._read=()=>{n()},{data:t,metadata:r}}}t.ActorRdfMetadataPrimaryTopic=a},59340:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50789),t)},37701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtmlMicrodata=void 0;const n=r(92973),i=r(90711),o=r(90412),a=r(51009);class s extends n.ActorRdfParseHtml{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=e.headers?e.headers.get("content-type"):null,n=r?.includes("xml"),o=new a.MicrodataRdfParser({dataFactory:t,baseIRI:e.baseIRI,xmlMode:n});o.on("error",e.error),o.on("data",e.emit);const s=o.onEnd;return o.onEnd=()=>{s.call(o),e.end()},{htmlParseListener:o}}}t.ActorRdfParseHtmlMicrodata=s},37630:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(37701),t)},28498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfParseHtml=i},92973:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(28498),t)},33657:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtmlRdfa=void 0;const n=r(66882),i=r(90711),o=r(90412),a=r(69749);class s extends n.ActorRdfParseHtml{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=e.headers?e.headers.get("content-type"):null,n=(e.headers&&e.headers.get("content-language"))??void 0,o=r&&r.includes("xml")?"xhtml":"html",s=new a.RdfaParser({dataFactory:t,baseIRI:e.baseIRI,profile:o,language:n});s.on("error",e.error),s.on("data",e.emit);const c=s.onEnd;return s.onEnd=()=>{c.call(s),e.end()},{htmlParseListener:s}}}t.ActorRdfParseHtmlRdfa=s},59453:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33657),t)},28869:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfParseHtml=i},66882:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(28869),t)},79813:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtmlScript=void 0;const n=r(76654),i=r(90412),o=r(59311);class a extends n.ActorRdfParseHtml{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t=(await this.mediatorRdfParseMediatypes.mediate({context:e.context,mediaTypes:!0})).mediaTypes;return{htmlParseListener:new o.HtmlScriptListener(this.mediatorRdfParseHandle,e.emit,e.error,e.end,t,e.context,e.baseIRI,e.headers)}}}t.ActorRdfParseHtmlScript=a},59311:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HtmlScriptListener=void 0;const n=r(90711),i=r(19198),o=r(70742);class a{constructor(e,t,r,i,o,a,s,c){this.textChunksJsonLd=[],this.endBarrier=1,this.passedScripts=0,this.isFinalJsonLdProcessing=!1,this.mediatorRdfParseHandle=e,this.cbQuad=t,this.cbError=r,this.cbEnd=i,this.supportedTypes=o,this.context=a.set(n.KeysRdfParseHtmlScript.processingHtmlScript,!0),this.baseIRI=s,this.headers=c,this.onlyFirstScript=!1===a.get(n.KeysRdfParseHtmlScript.extractAllScripts);const u=this.baseIRI.indexOf("#");this.targetScriptId=u>0?this.baseIRI.slice(u+1,this.baseIRI.length):null}static newErrorCoded(e,t){const r=new Error(e);return r.code=t,r}onEnd(){0==--this.endBarrier&&(this.textChunksJsonLd.length>0?(this.handleMediaType="application/ld+json",this.textChunks=this.textChunksJsonLd,this.textChunks.push("]"),this.textChunksJsonLd=[],this.isFinalJsonLdProcessing=!0,this.endBarrier++,this.onTagClose()):(0===this.passedScripts&&this.targetScriptId&&this.cbError(a.newErrorCoded(`Failed to find targeted script id "${this.targetScriptId}"`,"loading document failed")),this.cbEnd()),this.isFinalJsonLdProcessing=!1)}onTagClose(){if(this.handleMediaType)if(this.requiresCustomJsonLdHandling(this.handleMediaType)&&!this.isFinalJsonLdProcessing)this.handleMediaType=void 0,this.textChunks=void 0,this.onEnd();else{const e=new i.Readable({objectMode:!0});e._read=()=>{};const t=this.textChunks,r={context:this.context,handle:{metadata:{baseIRI:this.baseIRI},data:e,headers:this.headers,context:this.context},handleMediaType:this.handleMediaType};this.mediatorRdfParseHandle.mediate(r).then((({handle:r})=>{r.data.on("error",(e=>this.cbError(a.newErrorCoded(e.message,"invalid script element")))).on("data",this.cbQuad).on("end",(()=>this.onEnd()));for(const r of t)e.push(r);e.push(null)})).catch((e=>{this.targetScriptId?this.cbError(a.newErrorCoded(e.message,"loading document failed")):this.onEnd()})),this.handleMediaType=void 0,this.textChunks=void 0}}onTagOpen(e,t){"base"===e&&t.href&&(this.baseIRI=(0,o.resolve)(t.href,this.baseIRI)),"script"!==e||this.targetScriptId&&t.id!==this.targetScriptId?this.handleMediaType=void 0:this.supportedTypes[t.type]?this.onlyFirstScript&&this.passedScripts>0?this.handleMediaType=void 0:(this.passedScripts++,this.handleMediaType=t.type,this.endBarrier++,this.requiresCustomJsonLdHandling(this.handleMediaType)?(this.textChunks=this.textChunksJsonLd,this.textChunks.push(0===this.textChunks.length?"[":",")):this.textChunks=[]):this.targetScriptId&&this.cbError(a.newErrorCoded(`Targeted script "${this.targetScriptId}" does not have a supported type`,"loading document failed"))}onText(e){this.handleMediaType&&this.textChunks.push(e)}requiresCustomJsonLdHandling(e){return!this.onlyFirstScript&&!this.targetScriptId&&"application/ld+json"===e}}t.HtmlScriptListener=a},38505:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79813),t)},53801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfParseHtml=i},76654:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(53801),t)},19036:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(95124),i=r(91989),o=r(19198);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=new o.Readable({objectMode:!0});n._read=()=>{};let a=0,s=1;function c(e){n.emit("error",e)}function u(){0==--s&&n.push(null)}const l={baseIRI:e.metadata?.baseIRI??"",context:r,emit:e=>{a--,n.push(e)},end:u,error:c,headers:e.headers};try{const t=await Promise.all(this.busRdfParseHtml.publish(l));s+=t.length;const r=[];for(const e of t){const{htmlParseListener:t}=await e.actor.run(l,void 0);r.push(t)}const o=new i.Parser({onclosetag(){try{for(const e of r)e.onTagClose()}catch(e){c(e)}},onend(){try{for(const e of r)e.onEnd()}catch(e){c(e)}u()},onopentag(e,t){try{for(const n of r)n.onTagOpen(e,t)}catch(e){c(e)}},ontext(e){try{for(const t of r)t.onText(e)}catch(e){c(e)}}},{decodeEntities:!0,recognizeSelfClosing:!0,xmlMode:!1}),d=n._read=t=>{for(a=Math.max(t,a);a>0;){const t=e.data.read();if(null===t)return void e.data.once("readable",(()=>d(0)));o.write(t.toString())}};e.data.on("error",c).on("end",(()=>o.end()))}catch(e){setTimeout((()=>{n.emit("error",e)}))}return{data:n}}}t.ActorRdfParseHtml=a},97103:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19036),t)},85898:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var a=o(r(36840)),s=r(79878),c=new Set(["input","option","optgroup","select","button","datalist","textarea"]),u=new Set(["p"]),l=new Set(["thead","tbody"]),d=new Set(["dd","dt"]),p=new Set(["rt","rp"]),h=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",u],["h1",u],["h2",u],["h3",u],["h4",u],["h5",u],["h6",u],["select",c],["input",c],["output",c],["button",c],["datalist",c],["textarea",c],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",d],["dt",d],["address",u],["article",u],["aside",u],["blockquote",u],["details",u],["div",u],["dl",u],["fieldset",u],["figcaption",u],["figure",u],["footer",u],["form",u],["header",u],["hr",u],["main",u],["nav",u],["ol",u],["pre",u],["section",u],["table",u],["ul",u],["rt",p],["rp",p],["tbody",l],["tfoot",l]]),f=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),y=new Set(["math","svg"]),g=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),m=/\s|\//,b=function(){function e(e,t){var r,n,i,o,s,c;void 0===t&&(t={}),this.options=t,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=e?e:{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=null!==(r=t.lowerCaseTags)&&void 0!==r?r:this.htmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:this.htmlMode,this.recognizeSelfClosing=null!==(i=t.recognizeSelfClosing)&&void 0!==i?i:!this.htmlMode,this.tokenizer=new(null!==(o=t.Tokenizer)&&void 0!==o?o:a.default)(this.options,this),this.foreignContext=[!this.htmlMode],null===(c=(s=this.cbs).onparserinit)||void 0===c||c.call(s,this)}return e.prototype.ontext=function(e,t){var r,n,i=this.getSlice(e,t);this.endIndex=t-1,null===(n=(r=this.cbs).ontext)||void 0===n||n.call(r,i),this.startIndex=t},e.prototype.ontextentity=function(e,t){var r,n;this.endIndex=t-1,null===(n=(r=this.cbs).ontext)||void 0===n||n.call(r,(0,s.fromCodePoint)(e)),this.startIndex=t},e.prototype.isVoidElement=function(e){return this.htmlMode&&f.has(e)},e.prototype.onopentagname=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);this.lowerCaseTagNames&&(r=r.toLowerCase()),this.emitOpenTag(r)},e.prototype.emitOpenTag=function(e){var t,r,n,i;this.openTagStart=this.startIndex,this.tagname=e;var o=this.htmlMode&&h.get(e);if(o)for(;this.stack.length>0&&o.has(this.stack[0]);){var a=this.stack.shift();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,a,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(y.has(e)?this.foreignContext.unshift(!0):g.has(e)&&this.foreignContext.unshift(!1))),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.endOpenTag=function(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},e.prototype.onopentagend=function(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1},e.prototype.onclosetag=function(e,t){var r,n,i,o,a,s,c,u;this.endIndex=t;var l=this.getSlice(e,t);if(this.lowerCaseTagNames&&(l=l.toLowerCase()),this.htmlMode&&(y.has(l)||g.has(l))&&this.foreignContext.shift(),this.isVoidElement(l))this.htmlMode&&"br"===l&&(null===(o=(i=this.cbs).onopentagname)||void 0===o||o.call(i,"br"),null===(s=(a=this.cbs).onopentag)||void 0===s||s.call(a,"br",{},!0),null===(u=(c=this.cbs).onclosetag)||void 0===u||u.call(c,"br",!1));else{var d=this.stack.indexOf(l);if(-1!==d)for(var p=0;p<=d;p++){var h=this.stack.shift();null===(n=(r=this.cbs).onclosetag)||void 0===n||n.call(r,h,p!==d)}else this.htmlMode&&"p"===l&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1},e.prototype.onselfclosingtag=function(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)},e.prototype.closeCurrentTag=function(e){var t,r,n=this.tagname;this.endOpenTag(e),this.stack[0]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.shift())},e.prototype.onattribname=function(e,t){this.startIndex=e;var r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r},e.prototype.onattribdata=function(e,t){this.attribvalue+=this.getSlice(e,t)},e.prototype.onattribentity=function(e){this.attribvalue+=(0,s.fromCodePoint)(e)},e.prototype.onattribend=function(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===a.QuoteType.Double?'"':e===a.QuoteType.Single?"'":e===a.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(m),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},e.prototype.ondeclaration=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("!".concat(n),"!".concat(r))}this.startIndex=t+1},e.prototype.onprocessinginstruction=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("?".concat(n),"?".concat(r))}this.startIndex=t+1},e.prototype.oncomment=function(e,t,r){var n,i,o,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(o=this.cbs).oncommentend)||void 0===a||a.call(o),this.startIndex=t+1},e.prototype.oncdata=function(e,t,r){var n,i,o,a,s,c,u,l,d,p;this.endIndex=t;var h=this.getSlice(e,t-r);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(o=this.cbs).ontext)||void 0===a||a.call(o,h),null===(c=(s=this.cbs).oncdataend)||void 0===c||c.call(s)):(null===(l=(u=this.cbs).oncomment)||void 0===l||l.call(u,"[CDATA[".concat(h,"]]")),null===(p=(d=this.cbs).oncommentend)||void 0===p||p.call(d)),this.startIndex=t+1},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var r=0;r=this.buffers[0].length;)this.shiftBuffer();for(var r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r},e.prototype.shiftBuffer=function(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()},e.prototype.write=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))},e.prototype.end=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuoteType=void 0;var n,i,o,a=r(79878);function s(e){return e===n.Space||e===n.NewLine||e===n.Tab||e===n.FormFeed||e===n.CarriageReturn}function c(e){return e===n.Slash||e===n.Gt||s(e)}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(n||(n={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.BeforeSpecialT=23]="BeforeSpecialT",e[e.SpecialStartSequence=24]="SpecialStartSequence",e[e.InSpecialTag=25]="InSpecialTag",e[e.InEntity=26]="InEntity"}(i||(i={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(o||(t.QuoteType=o={}));var u={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])},l=function(){function e(e,t){var r=e.xmlMode,n=void 0!==r&&r,o=e.decodeEntities,s=void 0===o||o,c=this;this.cbs=t,this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=i.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=n,this.decodeEntities=s,this.entityDecoder=new a.EntityDecoder(n?a.xmlDecodeTree:a.htmlDecodeTree,(function(e,t){return c.emitCodePoint(e,t)}))}return e.prototype.reset=function(){this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=i.Text,this.currentSequence=void 0,this.running=!0,this.offset=0},e.prototype.write=function(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()},e.prototype.end=function(){this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=i.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===n.Amp&&this.startEntity()},e.prototype.stateSpecialStartSequence=function(e){var t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=i.InTagName,this.stateInTagName(e)},e.prototype.stateInSpecialTag=function(e){if(this.sequenceIndex===this.currentSequence.length){if(e===n.Gt||s(e)){var t=this.index-this.currentSequence.length;if(this.sectionStart=n.LowerA&&e<=n.LowerZ||e>=n.UpperA&&e<=n.UpperZ}(e)},e.prototype.startSpecial=function(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=i.SpecialStartSequence},e.prototype.stateBeforeTagName=function(e){if(e===n.ExclamationMark)this.state=i.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===n.Questionmark)this.state=i.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){var t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=i.InTagName:t===u.ScriptEnd[2]?this.state=i.BeforeSpecialS:t===u.TitleEnd[2]?this.state=i.BeforeSpecialT:this.state=i.InTagName}else e===n.Slash?this.state=i.BeforeClosingTagName:(this.state=i.Text,this.stateText(e))},e.prototype.stateInTagName=function(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateBeforeClosingTagName=function(e){s(e)||(e===n.Gt?this.state=i.Text:(this.state=this.isTagStartChar(e)?i.InClosingTagName:i.InSpecialComment,this.sectionStart=this.index))},e.prototype.stateInClosingTagName=function(e){(e===n.Gt||s(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.AfterClosingTagName,this.stateAfterClosingTagName(e))},e.prototype.stateAfterClosingTagName=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeAttributeName=function(e){e===n.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=i.InSpecialTag,this.sequenceIndex=0):this.state=i.Text,this.sectionStart=this.index+1):e===n.Slash?this.state=i.InSelfClosingTag:s(e)||(this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateInSelfClosingTag=function(e){e===n.Gt?(this.cbs.onselfclosingtag(this.index),this.state=i.Text,this.sectionStart=this.index+1,this.isSpecial=!1):s(e)||(this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateInAttributeName=function(e){(e===n.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=i.AfterAttributeName,this.stateAfterAttributeName(e))},e.prototype.stateAfterAttributeName=function(e){e===n.Eq?this.state=i.BeforeAttributeValue:e===n.Slash||e===n.Gt?(this.cbs.onattribend(o.NoValue,this.sectionStart),this.sectionStart=-1,this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):s(e)||(this.cbs.onattribend(o.NoValue,this.sectionStart),this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateBeforeAttributeValue=function(e){e===n.DoubleQuote?(this.state=i.InAttributeValueDq,this.sectionStart=this.index+1):e===n.SingleQuote?(this.state=i.InAttributeValueSq,this.sectionStart=this.index+1):s(e)||(this.sectionStart=this.index,this.state=i.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))},e.prototype.handleInAttributeValue=function(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===n.DoubleQuote?o.Double:o.Single,this.index+1),this.state=i.BeforeAttributeName):this.decodeEntities&&e===n.Amp&&this.startEntity()},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,n.DoubleQuote)},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,n.SingleQuote)},e.prototype.stateInAttributeValueNoQuotes=function(e){s(e)||e===n.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(o.Unquoted,this.index),this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===n.Amp&&this.startEntity()},e.prototype.stateBeforeDeclaration=function(e){e===n.OpeningSquareBracket?(this.state=i.CDATASequence,this.sequenceIndex=0):this.state=e===n.Dash?i.BeforeComment:i.InDeclaration},e.prototype.stateInDeclaration=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateInProcessingInstruction=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeComment=function(e){e===n.Dash?(this.state=i.InCommentLike,this.currentSequence=u.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=i.InDeclaration},e.prototype.stateInSpecialComment=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeSpecialS=function(e){var t=32|e;t===u.ScriptEnd[3]?this.startSpecial(u.ScriptEnd,4):t===u.StyleEnd[3]?this.startSpecial(u.StyleEnd,4):(this.state=i.InTagName,this.stateInTagName(e))},e.prototype.stateBeforeSpecialT=function(e){var t=32|e;t===u.TitleEnd[3]?this.startSpecial(u.TitleEnd,4):t===u.TextareaEnd[3]?this.startSpecial(u.TextareaEnd,4):(this.state=i.InTagName,this.stateInTagName(e))},e.prototype.startEntity=function(){this.baseState=this.state,this.state=i.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?a.DecodingMode.Strict:this.baseState===i.Text||this.baseState===i.InSpecialTag?a.DecodingMode.Legacy:a.DecodingMode.Attribute)},e.prototype.stateInEntity=function(){var e=this.entityDecoder.write(this.buffer,this.index-this.offset);e>=0?(this.state=this.baseState,0===e&&(this.index=this.entityStart)):this.index=this.offset+this.buffer.length-1},e.prototype.cleanup=function(){this.running&&this.sectionStart!==this.index&&(this.state===i.Text||this.state===i.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==i.InAttributeValueDq&&this.state!==i.InAttributeValueSq&&this.state!==i.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))},e.prototype.shouldContinue=function(){return this.index=e||(this.state===i.InCommentLike?this.currentSequence===u.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===i.InTagName||this.state===i.BeforeAttributeName||this.state===i.BeforeAttributeValue||this.state===i.AfterAttributeName||this.state===i.InAttributeName||this.state===i.InAttributeValueSq||this.state===i.InAttributeValueDq||this.state===i.InAttributeValueNq||this.state===i.InClosingTagName||this.cbs.ontext(this.sectionStart,e))},e.prototype.emitCodePoint=function(e,t){this.baseState!==i.Text&&this.baseState!==i.InSpecialTag?(this.sectionStart{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseJsonLd=void 0;const n=r(95124),i=r(90711),o=r(90412),a=r(38690),s=r(84333);class c extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async testHandle(e,t,r){return r.has(i.KeysRdfParseHtmlScript.processingHtmlScript)&&"application/ld+json"!==t?(0,o.failTest)("JSON-LD in script tags can only have media type 'application/ld+json'"):t&&(t in this.mediaTypePriorities||t.endsWith("+json"))?await this.testHandleChecked(e):(0,o.failTest)(`Unrecognized media type: ${t}`)}async runHandle(e,t,r){const n=e.context.getSafe(i.KeysInitQuery.dataFactory);return{data:a.JsonLdParser.fromHttpResponse(e.metadata?.baseIRI??"",t,e.headers,{dataFactory:n,documentLoader:r.get(i.KeysRdfParseJsonLd.documentLoader)??new s.DocumentLoaderMediated(this.mediatorHttp,r),strictValues:r.get(i.KeysRdfParseJsonLd.strictValues),...r.get(i.KeysRdfParseJsonLd.parserOptions)}).import(e.data)}}}t.ActorRdfParseJsonLd=c},84333:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLoaderMediated=void 0;const n=r(70322),i=r(52728),o=r(42395);class a extends o.FetchDocumentLoader{constructor(e,t){super(a.createFetcher(e,t)),this.mediatorHttp=e,this.context=t}static createFetcher(e,t){return async(r,o)=>{const a=await e.mediate({input:r,init:o,context:t});return a.json=async()=>JSON.parse(await(0,i.stringify)(n.ActorHttp.toNodeReadable(a.body))),a}}}t.DocumentLoaderMediated=a},81108:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(55312),t),i(r(84333),t)},10448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseN3=void 0;const n=r(95124),i=r(90711),o=r(54378);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=e.context.getSafe(i.KeysInitQuery.dataFactory);e.data.on("error",(e=>a.emit("error",e)));const a=e.data.pipe(new o.StreamParser({factory:n,baseIRI:e.metadata?.baseIRI,format:t.endsWith("n3")?t:`${t}*`}));return{data:a,metadata:{triples:"text/turtle"===t||"application/n-triples"===t||"text/n3"===t}}}}t.ActorRdfParseN3=a},56361:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(10448),t)},8236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseRdfXml=void 0;const n=r(95124),i=r(90711),o=r(75611);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory);e.data.on("error",(e=>r.emit("error",e)));const r=e.data.pipe(new o.RdfXmlParser({dataFactory:t,baseIRI:e.metadata?.baseIRI}));return{data:r,metadata:{triples:!0}}}}t.ActorRdfParseRdfXml=a},19227:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(8236),t)},69e3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseShaclc=void 0;const n=r(95124),i=r(52728),o=r(19198),a=r(37141),s=r(44680);class c extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=new s.PrefixWrappingIterator((0,i.stringify)(e.data).then((r=>(0,a.parse)(r,{extendedSyntax:"text/shaclc-ext"===t,baseIRI:e.metadata?.baseIRI})))),c=new o.Readable({objectMode:!0});return n.on("prefix",((...e)=>c.emit("prefix",...e))),{data:c.wrap(n),metadata:{triples:!0}}}}t.ActorRdfParseShaclc=c},44680:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixWrappingIterator=void 0;const n=r(75627);class i extends n.WrappingIterator{constructor(e){super(e?.then((e=>(this.prefixes=e.prefixes,e))))}read(){if(this.prefixes){for(const e of Object.entries(this.prefixes))this.emit("prefix",...e);delete this.prefixes}return super.read()}}t.PrefixWrappingIterator=i},71356:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(69e3),t)},91685:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseXmlRdfa=void 0;const n=r(95124),i=r(90711),o=r(69749);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=e.context.getSafe(i.KeysInitQuery.dataFactory),a=(e.headers&&e.headers.get("content-language"))??void 0;e.data.on("error",(e=>s.emit("error",e)));const s=e.data.pipe(new o.RdfaParser({dataFactory:n,baseIRI:e.metadata?.baseIRI,profile:"xml",language:a}));return{data:s,metadata:{triples:!0}}}}t.ActorRdfParseXmlRdfa=a},2669:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(91685),t)},26336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinksNext=void 0;const n=r(67304),i=r(90412);class o extends n.ActorRdfResolveHypermediaLinks{constructor(e){super(e)}async test(e){return e.metadata.next&&0!==e.metadata.next.length?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} requires a 'next' metadata entry.`)}async run(e){return{links:e.metadata.next.map((e=>({url:e})))}}}t.ActorRdfResolveHypermediaLinksNext=o},34121:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26336),t)},22437:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinksQueueFifo=void 0;const n=r(86074),i=r(90412),o=r(79081);class a extends n.ActorRdfResolveHypermediaLinksQueue{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{linkQueue:new o.LinkQueueFifo}}}t.ActorRdfResolveHypermediaLinksQueueFifo=a},79081:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkQueueFifo=void 0,t.LinkQueueFifo=class{constructor(){this.links=[]}push(e){return this.links.push(e),!0}getSize(){return this.links.length}isEmpty(){return 0===this.links.length}pop(){return this.links.shift()}peek(){return this.links[0]}}},85916:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(22437),t),i(r(79081),t)},77934:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeJsonLd=void 0;const n=r(81261),i=r(43549);class o extends n.ActorRdfSerializeFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=new i.JsonLdSerializer({space:" ".repeat(this.jsonStringifyIndentSpaces)});let o;return"pipe"in e.quadStream?(e.quadStream.on("error",(e=>n.emit("error",e))),o=e.quadStream.pipe(n)):o=n.import(e.quadStream),{data:o}}}t.ActorRdfSerializeJsonLd=o},61515:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77934),t)},38522:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeN3=void 0;const n=r(81261),i=r(54378);class o extends n.ActorRdfSerializeFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t){const r=new i.StreamWriter({format:t});let n;return"pipe"in e.quadStream?(e.quadStream.on("error",(e=>r.emit("error",e))),n=e.quadStream.pipe(r)):n=r.import(e.quadStream),{data:n,triples:"text/turtle"===t||"application/n-triples"===t||"text/n3"===t}}}t.ActorRdfSerializeN3=o},42274:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38522),t)},61186:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeShaclc=void 0;const n=r(81261),i=r(43165),o=r(19198),a=r(94174);class s extends n.ActorRdfSerializeFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t){const r=new o.Readable;r._read=()=>{};try{const n={};e.quadStream.on("prefix",((e,t)=>{n[e]=t}));const{text:o}=await(0,a.write)(await(0,i.default)(e.quadStream),{errorOnUnused:!0,extendedSyntax:"text/shaclc-ext"===t,prefixes:n});r.push(o),r.push(null)}catch(e){r._read=()=>{r.emit("error",e)}}return{data:r,triples:!0}}}t.ActorRdfSerializeShaclc=s},98371:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(61186),t)},43165:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[];return r=e.on("data",(e=>t.push(e))),n=t,new Promise(((e,t)=>{r.on("end",(()=>e(n))),r.on("error",t)}));var r,n}},98603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermediaPatchSparqlUpdate=void 0;const n=r(14597),i=r(90412),o=r(88052);class a extends n.ActorRdfUpdateHypermedia{constructor(e){super(e,"patchSparqlUpdate")}async testMetadata(e){return e.forceDestinationType||e.metadata.patchSparqlUpdate?e.forceDestinationType||e.exists?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} can only patch a destination that already exists.`):(0,i.failTest)(`Actor ${this.name} could not detect a destination with 'application/sparql-update' as 'Accept-Patch' header.`)}async run(e){return this.logInfo(e.context,`Identified as patchSparqlUpdate destination: ${e.url}`),{destination:new o.QuadDestinationPatchSparqlUpdate(e.url,e.context,this.mediatorHttp)}}}t.ActorRdfUpdateHypermediaPatchSparqlUpdate=a},88052:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuadDestinationPatchSparqlUpdate=void 0;const n=r(70322),i=r(75627),o=r(46898),a=r(19198);t.QuadDestinationPatchSparqlUpdate=class{constructor(e,t,r){this.url=e,this.context=t,this.mediatorHttp=r}async update(e){const t=this.createCombinedQuadsQuery(e.insert,e.delete);await this.wrapSparqlUpdateRequest(t)}createCombinedQuadsQuery(e,t){return new i.ArrayIterator([],{autoStart:!1}).append(this.createQuadsQuery("DELETE",t)).append(t&&e?[" ;\n"]:[]).append(this.createQuadsQuery("INSERT",e))}createQuadsQuery(e,t){return t?t.map((e=>{let t=`${(0,o.termToString)(e.subject)} ${(0,o.termToString)(e.predicate)} ${(0,o.termToString)(e.object)} .`;return t="DefaultGraph"===e.graph.termType?` ${t}\n`:` GRAPH ${(0,o.termToString)(e.graph)} { ${t} }\n`,t})).prepend([`${e} DATA {\n`]).append(["}"]):new i.ArrayIterator([],{autoStart:!1})}async wrapSparqlUpdateRequest(e){const t=new a.Readable;t.wrap(e);const r=new Headers({"content-type":"application/sparql-update"}),i=await this.mediatorHttp.mediate({context:this.context,init:{headers:r,method:"PATCH",body:n.ActorHttp.toWebReadableStream(t)},input:this.url});await(0,n.validateAndCloseHttpResponse)(this.url,i)}async deleteGraphs(e,t,r){throw new Error("Patch-based SPARQL Update destinations don't support named graphs")}async createGraphs(e,t){throw new Error("Patch-based SPARQL Update destinations don't support named graphs")}}},45109:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98603),t),i(r(88052),t)},81096:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermediaPutLdp=void 0;const n=r(14597),i=r(90412),o=r(78877);class a extends n.ActorRdfUpdateHypermedia{constructor(e){super(e,"putLdp")}async testMetadata(e){if(!e.forceDestinationType){if(!e.metadata.allowHttpMethods||!e.metadata.allowHttpMethods.includes("PUT"))return(0,i.failTest)(`Actor ${this.name} could not detect a destination with 'Allow: PUT' header.`);if(e.exists)return(0,i.failTest)(`Actor ${this.name} can only put on a destination that does not already exists.`)}return(0,i.passTestVoid)()}async run(e){return this.logInfo(e.context,`Identified as putLdp destination: ${e.url}`),{destination:new o.QuadDestinationPutLdp(e.url,e.context,e.metadata.putAccepted||[],this.mediatorHttp,this.mediatorRdfSerializeMediatypes,this.mediatorRdfSerialize)}}}t.ActorRdfUpdateHypermediaPutLdp=a},78877:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuadDestinationPutLdp=void 0;const n=r(70322);t.QuadDestinationPutLdp=class{constructor(e,t,r,n,i,o){this.url=e,this.context=t,this.mediaTypes=r,this.mediatorHttp=n,this.mediatorRdfSerializeMediatypes=i,this.mediatorRdfSerialize=o}async update(e){if(e.delete)throw new Error("Put-based LDP destinations don't support deletions");e.insert&&await this.wrapRdfUpdateRequest("INSERT",e.insert)}async wrapRdfUpdateRequest(e,t){const{mediaTypes:r}=await this.mediatorRdfSerializeMediatypes.mediate({context:this.context,mediaTypes:!0}),i=this.mediaTypes.filter((e=>e in r)),o=i.length>0?i[0]:Object.keys(r).sort(((e,t)=>r[t]-r[e]))[0],{handle:{data:a}}=await this.mediatorRdfSerialize.mediate({context:this.context,handle:{quadStream:t,context:this.context},handleMediaType:o}),s=new Headers({"content-type":o}),c=await this.mediatorHttp.mediate({context:this.context,init:{headers:s,method:"PUT",body:n.ActorHttp.toWebReadableStream(a)},input:this.url});await(0,n.validateAndCloseHttpResponse)(this.url,c)}async deleteGraphs(e,t,r){throw new Error("Put-based LDP destinations don't support named graphs")}async createGraphs(e,t){throw new Error("Put-based LDP destinations don't support named graphs")}}},41363:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(81096),t),i(r(78877),t)},9159:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermediaSparql=void 0;const n=r(14597),i=r(90711),o=r(90412),a=r(27368);class s extends n.ActorRdfUpdateHypermedia{constructor(e){super(e,"sparql")}async testMetadata(e){return e.forceDestinationType||e.metadata.sparqlService||this.checkUrlSuffixSparql&&e.url.endsWith("/sparql")||this.checkUrlSuffixUpdate&&e.url.endsWith("/update")?(0,o.passTestVoid)():(0,o.failTest)(`Actor ${this.name} could not detect a SPARQL service description or URL ending on /sparql or /update.`)}async run(e){this.logInfo(e.context,`Identified as sparql destination: ${e.url}`);const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{destination:new a.QuadDestinationSparql(e.metadata.sparqlService||e.url,e.context,this.mediatorHttp,t)}}}t.ActorRdfUpdateHypermediaSparql=s},27368:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuadDestinationSparql=void 0;const n=r(52728),i=r(75627),o=r(92603),a=r(46898);t.QuadDestinationSparql=class{constructor(e,t,r,n){this.url=e,this.context=t,this.mediatorHttp=r,this.endpointFetcher=new o.SparqlEndpointFetcher({fetch:(e,t)=>this.mediatorHttp.mediate({input:e,init:t,context:this.context}),prefixVariableQuestionMark:!0,dataFactory:n})}async update(e){const t=this.createCombinedQuadsQuery(e.insert,e.delete);await this.wrapSparqlUpdateRequest(t)}createCombinedQuadsQuery(e,t){return new i.ArrayIterator([],{autoStart:!1}).append(this.createQuadsQuery("DELETE",t)).append(t&&e?[" ;\n"]:[]).append(this.createQuadsQuery("INSERT",e))}createQuadsQuery(e,t){return t?t.map((e=>{let t=`${(0,a.termToString)(e.subject)} ${(0,a.termToString)(e.predicate)} ${(0,a.termToString)(e.object)} .`;return t="DefaultGraph"===e.graph.termType?` ${t}\n`:` GRAPH ${(0,a.termToString)(e.graph)} { ${t} }\n`,t})).prepend([`${e} DATA {\n`]).append(["}"]):new i.ArrayIterator([],{autoStart:!1})}async wrapSparqlUpdateRequest(e){const t=await(0,n.stringify)(e);await this.endpointFetcher.fetchUpdate(this.url,t)}async deleteGraphs(e,t,r){const n=Array.isArray(e)?e:[e],i=[];for(const e of n){let n;n="string"==typeof e?e:"DefaultGraph"===e.termType?"DEFAULT":`GRAPH <${e.value}>`,i.push(`${r?"DROP":"CLEAR"} ${t?"":"SILENT "}${n}`)}await this.endpointFetcher.fetchUpdate(this.url,i.join("; "))}async createGraphs(e,t){const r=[];for(const n of e)r.push(`CREATE${t?"":" SILENT"} GRAPH <${n.value}>`);await this.endpointFetcher.fetchUpdate(this.url,r.join("; "))}}},50632:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9159),t),i(r(27368),t)},45757:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuadsHypermedia=void 0;const n=r(16657),i=r(90412),o=r(89096);class a extends n.ActorRdfUpdateQuadsDestination{constructor(e){super(e),this.cache=this.cacheSize?new o.LRUCache({max:this.cacheSize}):void 0;const t=this.cache;t&&this.httpInvalidator.addInvalidateListener((({url:e})=>e?t.delete(e):t.clear()))}async test(e){return(0,n.getContextDestinationUrl)((0,n.getContextDestination)(e.context))?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} can only update quads against a single destination URL.`)}getDestination(e){const t=(0,n.getContextDestination)(e);let r=(0,n.getContextDestinationUrl)(t);if(this.cache&&this.cache.has(r))return this.cache.get(r);const i=(async()=>{let i,o;try{const t=await this.mediatorDereferenceRdf.mediate({context:e,url:r,acceptErrors:!0});o=t.exists,r=t.url;const n=await this.mediatorMetadata.mediate({context:e,url:r,quads:t.data,triples:t.metadata?.triples});i=(await this.mediatorMetadataExtract.mediate({context:e,url:r,metadata:n.metadata,headers:t.headers,requestTime:t.requestTime})).metadata}catch{i={},o=!1}const{destination:a}=await this.mediatorRdfUpdateHypermedia.mediate({context:e,url:r,metadata:i,exists:o,forceDestinationType:(0,n.getDataDestinationType)(t)});return a})();return this.cache&&this.cache.set(r,i),i}}t.ActorRdfUpdateQuadsHypermedia=a},12845:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45757),t)},69160:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuadsRdfJsStore=void 0;const n=r(16657),i=r(90711),o=r(90412),a=r(29200);class s extends n.ActorRdfUpdateQuadsDestination{constructor(e){super(e)}async test(e){const t=(0,n.getContextDestination)(e.context);return!t||"string"==typeof t||!("remove"in t)&&"value"in t&&!t.value?.remove?(0,o.failTest)(`${this.name} received an invalid rdfjsStore.`):(0,o.passTestVoid)()}async getDestination(e){const t=(0,n.getContextDestination)(e);return new a.RdfJsQuadDestination(e.getSafe(i.KeysInitQuery.dataFactory),"remove"in t?t:t.value)}}t.ActorRdfUpdateQuadsRdfJsStore=s},29200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfJsQuadDestination=void 0;const n=r(66486),i=r(43347);t.RdfJsQuadDestination=class{constructor(e,t){this.dataFactory=e,this.store=t}async update(e){e.delete&&await(0,n.promisifyEventEmitter)(this.store.remove(e.delete)),e.insert&&await(0,n.promisifyEventEmitter)(this.store.import(e.insert))}async deleteGraphs(e,t,r){switch(e){case"ALL":await(0,n.promisifyEventEmitter)(this.store.deleteGraph(this.dataFactory.defaultGraph()));case"NAMED":const t=this.store.match(),r={};t.on("data",(e=>{"DefaultGraph"!==e.graph.termType&&(r[(0,i.termToString)(e.graph)]=!0)})),await(0,n.promisifyEventEmitter)(t),await Promise.all(Object.keys(r).map((e=>(0,n.promisifyEventEmitter)(this.store.deleteGraph((0,i.stringToTerm)(e,this.dataFactory))))));break;default:for(const t of Array.isArray(e)?e:[e])await(0,n.promisifyEventEmitter)(this.store.deleteGraph(t))}}async createGraphs(e,t){if(t)for(const t of e){const e=this.store.match(void 0,void 0,void 0,t);await new Promise(((r,n)=>{e.once("data",(()=>{n(new Error(`Unable to create graph ${t.value} as it already exists`))})),e.on("end",r),e.on("error",n)}))}}}},53550:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(69160),t)},16166:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorTermComparatorFactoryExpressionEvaluator=void 0;const n=r(74448),i=r(14628),o=r(90711),a=r(90412),s=r(81926),c=r(77545),u=r(78605);class l extends i.ActorTermComparatorFactory{async test(e){return(0,a.passTestVoid)()}async run({context:e}){return e=c.prepareEvaluatorActionContext(e),new u.TermComparatorExpressionEvaluator(new n.InternalEvaluator(e,this.mediatorFunctionFactory,this.mediatorQueryOperation,await s.BindingsFactory.create(this.mediatorMergeBindingsContext,e,e.getSafe(o.KeysInitQuery.dataFactory))),await this.mediatorFunctionFactory.mediate({functionName:c.SparqlOperator.EQUAL,context:e,requireTermExpression:!0}),await this.mediatorFunctionFactory.mediate({functionName:c.SparqlOperator.LT,context:e,requireTermExpression:!0}))}}t.ActorTermComparatorFactoryExpressionEvaluator=l},78605:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermComparatorExpressionEvaluator=void 0,t.TermComparatorExpressionEvaluator=class{constructor(e,t,r){this.internalEvaluator=e,this.equalityFunction=t,this.lessThanFunction=r,this._TERM_ORDERING_PRIORITY={Variable:0,BlankNode:1,NamedNode:2,Literal:3,Quad:4,DefaultGraph:5}}orderTypes(e,t){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;if(e.termType!==t.termType)return this._TERM_ORDERING_PRIORITY[e.termType]{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}}t.ActorBindingsAggregatorFactory=i},27421:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AggregateEvaluator=void 0;const n=r(90711),i=r(77545),o=r(43347);t.AggregateEvaluator=class{constructor(e,t,r=!1){this.evaluator=e,this.distinct=t,this.throwError=r,this.errorOccurred=!1,this.errorOccurred=!1,this.superTypeProvider=e.context.getSafe(n.KeysExpressionEvaluator.superTypeProvider),this.termTransformer=new i.TermTransformer(this.superTypeProvider),this.variableValues=new Set}emptyValueTerm(){}emptyValue(){const e=this.emptyValueTerm();if(void 0===e&&this.throwError)throw new i.EmptyAggregateError;return e}async putBindings(e){if(!this.errorOccurred)try{const t=await this.evaluator.evaluate(e);if(!t||this.errorOccurred)return;this.distinct&&this.variableValues.has(o.termToString(t))||(this.putTerm(t),this.distinct&&this.variableValues.add(o.termToString(t)))}catch(e){this.safeThrow(e)}}async result(){if(!this.errorOccurred)return this.termResult()}safeThrow(e){if(this.throwError)throw e;this.errorOccurred=!0}termToNumericOrError(e){if("Literal"!==e.termType)throw new Error(`Term with value ${e.value} has type ${e.termType} and is not a numeric literal`);if(!i.isSubTypeOf(e.datatype.value,i.TypeAlias.SPARQL_NUMERIC,this.superTypeProvider))throw new Error(`Term datatype ${e.datatype.value} with value ${e.value} has type ${e.termType} and is not a numeric literal`);return this.termTransformer.transformLiteral(e)}}},86581:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7625),t),i(r(27421),t)},98862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocess=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorContextPreprocess=i},98926:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98862),t)},11370:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceRdf=void 0;const n=r(42890);class i extends n.ActorDereferenceParse{constructor(e){super(e)}}t.ActorDereferenceRdf=i},86475:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11370),t)},40671:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereference=void 0;const n=r(79806);class i extends n.ActorDereferenceBase{constructor(e){super(e)}async handleDereferenceErrors(e,t,r,n=0){return this.dereferenceErrorHandler(e,t,{url:e.url,exists:!1,headers:r,requestTime:n})}}t.ActorDereference=i},79806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceBase=t.isHardError=t.emptyReadable=void 0;const n=r(90711),i=r(90412),o=r(19198);function a(){const e=new o.Readable;return e.push(null),e}function s(e){return!e.get(n.KeysInitQuery.lenient)}t.emptyReadable=a,t.isHardError=s;class c extends i.Actor{constructor(e){super(e)}async dereferenceErrorHandler(e,t,r){if(s(e.context))throw t;return this.logWarn(e.context,t.message),{...r,data:a()}}}t.ActorDereferenceBase=c},12476:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceParse=t.getMediaTypeFromExtension=void 0;const n=r(90412),i=r(19198),o=r(79806);function a(e,t){const r=e.lastIndexOf(".");return r>=0&&t?.[e.slice(r+1)]||""}t.getMediaTypeFromExtension=a;class s extends o.ActorDereferenceBase{constructor(e){super(e)}async test(e){return(0,n.passTestVoid)()}handleDereferenceStreamErrors(e,t){return(0,o.isHardError)(e.context)||(t.on("error",(r=>{this.logWarn(e.context,r.message,(()=>({url:e.url}))),t.push(null)})),t=t.pipe(new i.PassThrough({objectMode:!0}))),t}async run(e){const{context:t}=e,r=await this.mediatorDereference.mediate({...e,mediaTypes:async()=>(await(this.mediatorParseMediatypes?.mediate({context:t,mediaTypes:!0})))?.mediaTypes});let n;try{n=(await this.mediatorParse.mediate({context:t,handle:{context:t,...r,metadata:await this.getMetadata(r)},handleMediaType:r.mediaType||a(r.url,this.mediaMappings)||e.mediaType})).handle,n.data=this.handleDereferenceStreamErrors(e,n.data)}catch(t){await(r.data.close?.()),n=await this.dereferenceErrorHandler(e,t,{})}return{...r,...n}}}t.ActorDereferenceParse=s},42890:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40671),t),i(r(12476),t),i(r(79806),t)},23069:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorExpressionEvaluatorFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e),this.mediatorQueryOperation=e.mediatorQueryOperation,this.mediatorFunctionFactory=e.mediatorFunctionFactory,this.mediatorMergeBindingsContext=e.mediatorMergeBindingsContext}}t.ActorExpressionEvaluatorFactory=i},37811:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23069),t)},1028:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorFunctionFactory=t.ActorFunctionFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorFunctionFactory=i;class o extends n.Mediator{}t.MediatorFunctionFactory=o},68307:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryDedicated=void 0;const n=r(90412),i=r(1028);class o extends i.ActorFunctionFactory{constructor(e){super(e)}async test(e){return!this.functionNames.includes(e.functionName)||!this.termFunction&&e.requireTermExpression?(0,n.failTest)(`Actor ${this.name} can not provide implementation for "${e.functionName}", only for ${this.termFunction?"":"non-termExpression "}${this.functionNames.join(" and ")}.`):(0,n.passTestVoid)()}}t.ActorFunctionFactoryDedicated=o},48061:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BusFunctionFactory=void 0;const n=r(90412);class i extends n.BusIndexed{constructor(e){super({...e,actorIdentifierFields:["functionNames"],actionIdentifierFields:["functionName"]})}}t.BusFunctionFactory=i},5673:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionBase=t.ExpressionFunctionBase=void 0;const n=r(90711),i=r(77545);class o{constructor({arity:e,operator:t,apply:r}){this.arity=e,this.operator=t,this.apply=r}checkArity(e){return Array.isArray(this.arity)?this.arity.includes(e.length):this.arity===Number.POSITIVE_INFINITY||e.length===this.arity}}t.ExpressionFunctionBase=o,t.TermFunctionBase=class extends o{constructor({arity:e,operator:t,overloads:r}){super({arity:e,operator:t,apply:async({args:e,exprEval:t,mapping:r})=>this.applyOnTerms(await Promise.all(e.map((e=>t.evaluatorExpressionEvaluation(e,r)))),t)}),this.supportsTermExpressions=!0,this.overloads=r}applyOnTerms(e,t){return(this.overloads.search(e,t.context.getSafe(n.KeysExpressionEvaluator.superTypeProvider),t.context.getSafe(n.KeysInitQuery.functionArgumentsCache))??this.handleInvalidTypes(e))(t)(e)}handleInvalidTypes(e){throw new i.InvalidArgumentTypes(e,this.operator)}}},77617:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1028),t),i(r(68307),t),i(r(48061),t),i(r(5673),t)},67120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashBindings=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorHashBindings=i},16235:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67120),t)},17136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashQuads=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorHashQuads=i},65239:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17136),t)},4996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpInvalidate=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorHttpInvalidate=i},34247:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpInvalidateListenable=void 0;const n=r(90412),i=r(4996);class o extends i.ActorHttpInvalidate{constructor(e){super(e),this.invalidateListeners=[],this.invalidateListeners=[]}addInvalidateListener(e){this.invalidateListeners.push(e)}async test(e){return(0,n.passTestVoid)()}async run(e){for(const t of this.invalidateListeners)t(e);return{}}}t.ActorHttpInvalidateListenable=o},40332:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4996),t),i(r(34247),t)},91295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttp=void 0;const n=r(90412),i=r(65806),o=r(31232),a=r(35276);class s extends n.Actor{constructor(e){super(e)}static toNodeReadable(e){return o(e)||null===e?e:(0,i.readableFromWeb)(e)}static toWebReadableStream(e){return a(e)}static headersToHash(e){const t={};return e.forEach(((e,r)=>{t[r]=e})),t}static getInputUrl(e){return new URL(e instanceof Request?e.url:e)}static createUserAgent(e,t){if(!s.isBrowser()){const r=[`Comunica/${t.split(".")[0]}.0`,`${e}/${t}`];return"object"==typeof globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?r.push(globalThis.navigator.userAgent):"object"==typeof globalThis.process&&"object"==typeof globalThis.process.versions&&"string"==typeof globalThis.process.versions.node&&r.push(`Node.js/${globalThis.process.versions.node.split(".")[0]}`),"object"==typeof globalThis.process&&"string"==typeof globalThis.process.platform&&"string"==typeof globalThis.process.arch&&r.splice(1,0,`(${globalThis.process.platform}; ${globalThis.process.arch})`),r.join(" ")}}static isBrowser(){return"object"==typeof globalThis.window&&"object"==typeof globalThis.window.document||"function"==typeof globalThis.importScripts}}t.ActorHttp=s},70322:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(91295),t),i(r(36339),t)},36339:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAndCloseHttpResponse=void 0;const n=r(52728),i=r(91295);t.validateAndCloseHttpResponse=async function(e,t){if(t.status>=400){let r="empty response";if(t.body){const e=i.ActorHttp.toNodeReadable(t.body);r=await(0,n.stringify)(e)}throw new Error(`Could not update ${e} (HTTP status ${t.status}):\n${r}`)}await(t.body?.cancel())}},3251:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorInit=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorInit=i},6180:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3251),t)},5603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperation=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorOptimizeQueryOperation=i},38912:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5603),t)},31278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperation=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQueryOperation=i},95816:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationTyped=void 0;const n=r(90711),i=r(90412),o=r(99214),a=r(31278);class s extends a.ActorQueryOperation{constructor(e,t){if(super({...e,operationName:t}),!this.operationName)throw new Error('A valid "operationName" argument must be provided.')}async test(e){if(!e.operation)return(0,i.failTest)("Missing field 'operation' in a query operation action.");if(e.operation.type!==this.operationName)return(0,i.failTest)(`Actor ${this.name} only supports ${this.operationName} operations, but got ${e.operation.type}`);const t=e.operation;return this.testOperation(t,e.context)}async run(e,t){const r=e.context.get(n.KeysInitQuery.physicalQueryPlanLogger);r&&(r.logOperation(e.operation.type,void 0,e.operation,e.context.get(n.KeysInitQuery.physicalQueryPlanNode),this.name,{}),e.context=e.context.set(n.KeysInitQuery.physicalQueryPlanNode,e.operation));const i=e.operation,a=e.context.set(n.KeysQueryOperation.operation,i),s=await this.runOperation(i,a,t);return"metadata"in s&&(s.metadata=(0,o.cachifyMetadata)(s.metadata)),s}}t.ActorQueryOperationTyped=s},33381:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationTypedMediated=void 0;const n=r(95816);class i extends n.ActorQueryOperationTyped{constructor(e,t){super(e,t)}}t.ActorQueryOperationTypedMediated=i},74501:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BusQueryOperation=void 0;const n=r(90412);class i extends n.BusIndexed{constructor(e){super({...e,actorIdentifierFields:["operationName"],actionIdentifierFields:["operation","type"]})}}t.BusQueryOperation=i},66490:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(31278),t),i(r(95816),t),i(r(33381),t),i(r(74501),t)},39830:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryParse=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQueryParse=i},92180:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(39830),t)},60622:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcess=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQueryProcess=i},59478:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60622),t)},74871:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerialize=void 0;const n=r(48092);class i extends n.ActorAbstractMediaTyped{constructor(e){super(e)}}t.ActorQueryResultSerialize=i},33152:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeFixedMediaTypes=void 0;const n=r(48092),i=r(90412);class o extends n.ActorAbstractMediaTypedFixed{constructor(e){super(e)}async testHandleChecked(e,t){return(0,i.passTestVoid)()}}t.ActorQueryResultSerializeFixedMediaTypes=o},58871:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(74871),t),i(r(33152),t)},23038:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermedia=void 0;const n=r(90412);class i extends n.Actor{constructor(e,t){super(e),this.sourceType=t}async test(e){return e.forceSourceType&&this.sourceType!==e.forceSourceType?(0,n.failTest)(`Actor ${this.name} is not able to handle source type ${e.forceSourceType}.`):this.testMetadata(e)}}t.ActorQuerySourceIdentifyHypermedia=i},62100:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23038),t)},21645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentify=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQuerySourceIdentify=i},33386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filterMatchingQuotedQuads=t.quadsOrderToBindingsOrder=t.quadsMetadataToBindingsMetadata=t.setMetadata=t.getDuplicateElementLinks=t.getVariables=t.isTermVariable=t.quadsToBindings=void 0;const n=r(4809),i=r(99214),o=r(43347),a=r(3285),s=r(64232);function c(e){return"Variable"===e.termType}function u(e){return(0,a.uniqTerms)((0,a.getTermsNested)(e).filter(c))}function l(e){const t={};let r=!1;if((0,a.forEachTermsNested)(e,((e,n)=>{if("Variable"===e.termType){const i=(0,o.termToString)(e),a=(t[i]||(t[i]=[])).push(n);r=r||a>1}})),!r)return;const n={};for(const e in t){const r=t[e],i=r.slice(1);i.length>0&&(n[r[0].join("_")]=i)}return n}function d(e,t,r,n,o,a){const s=s=>{a&&(s.cardinality.type="estimate"),t.setProperty("metadata",p(e,(0,i.validateMetadataQuads)(s),n,o)),s.state&&s.state.addInvalidateListener((()=>{d(e,t,r,n,o,a)}))},c=r.getProperty("metadata");c?s(c):r.getProperty("metadata",s)}function p(e,t,r,n){return{...t,order:t.order?h(e,t.order,r):void 0,availableOrders:t.availableOrders?t.availableOrders.map((t=>({cost:t.cost,terms:h(e,t.terms,r)}))):void 0,variables:n.map((e=>({variable:e,canBeUndef:!1})))}}function h(e,t,r){const n={};return t.map((t=>{const i=r[t.term];if(i&&!n[i])return n[i]=!0,{term:e.variable(i),direction:t.direction}})).filter(Boolean)}t.quadsToBindings=function(e,t,r,i,o){const s=u(t),c="Variable"===t.graph.termType&&!o,p=l(t),h=(0,a.reduceTermsNested)(t,((e,t,r)=>("Variable"===t.termType&&(e[r.join("_")]=t.value),e)),{});let f=e;c&&(f=f.filter((e=>"DefaultGraph"!==e.graph.termType))),p&&(f=f.filter((e=>{for(const t in p){const r=t.split("_"),n=(0,a.getValueNestedPath)(e,r);for(const r of p[t])if(!n.equals((0,a.getValueNestedPath)(e,r)))return!1}return!0})));const y=new n.ClosableIterator(f.map((e=>i.bindings(Object.keys(h).map((t=>{const n=t.split("_"),i=h[t],o=(0,a.getValueNestedPath)(e,n);return[r.variable(i),o]}))))),{onClose:()=>e.destroy()});return d(r,y,e,h,s,c||Boolean(p)),y},t.isTermVariable=c,t.getVariables=u,t.getDuplicateElementLinks=l,t.setMetadata=d,t.quadsMetadataToBindingsMetadata=p,t.quadsOrderToBindingsOrder=h,t.filterMatchingQuotedQuads=function(e,t){return(0,a.someTerms)(e,(e=>"Quad"===e.termType))&&(t=t.filter((t=>(0,s.matchPatternMappings)(t,e)))),t}},559:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(21645),t),i(r(33386),t)},39582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinEntriesSort=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfJoinEntriesSort=i},39195:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(39582),t)},4945:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinSelectivity=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfJoinSelectivity=i},95705:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4945),t)},57042:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoin=void 0;const n=r(90711),i=r(90412),o=r(4809),a=r(99214);class s extends i.Actor{constructor(e,t){super(e),this.includeInLogs=!0,this.logicalType=t.logicalType,this.physicalName=t.physicalName,this.limitEntries=t.limitEntries??Number.POSITIVE_INFINITY,this.limitEntriesMin=t.limitEntriesMin??!1,this.canHandleUndefs=t.canHandleUndefs??!1,this.isLeaf=t.isLeaf??!0,this.requiresVariableOverlap=t.requiresVariableOverlap??!1}static overlappingVariables(e){const t={};for(const r of e)for(const e of r.variables){t[e.variable.value]||(t[e.variable.value]={variable:e.variable,canBeUndef:e.canBeUndef,occurrences:0});const r=t[e.variable.value];r.canBeUndef=r.canBeUndef||e.canBeUndef,r.occurrences++}return Object.values(t).filter((t=>t.occurrences===e.length)).map((e=>({variable:e.variable,canBeUndef:e.canBeUndef})))}static joinVariables(e,t,r=!1){const n={};let i=!0;for(const e of t){for(const t of e.variables)n[t.variable.value]=n[t.variable.value]||t.canBeUndef||!i&&r&&!(t.variable.value in n);i=!1}return Object.entries(n).map((([t,r])=>({variable:e.variable(t),canBeUndef:r})))}static joinBindings(...e){if(0===e.length)return null;if(1===e.length)return e[0];let t=e[0];for(const r of e.slice(1)){const e=t.merge(r);if(!e)return null;t=e}return t}static getCardinality(e){return e.cardinality}static async getMetadatas(e){return await Promise.all(e.map((e=>e.output.metadata())))}static async getEntriesWithMetadatas(e){const t=await s.getMetadatas(e);return e.map(((e,r)=>({...e,metadata:t[r]})))}static getRequestInitialTimes(e){return e.map((e=>e.pageSize?0:e.requestTime??0))}static getRequestItemTimes(e){return e.map((e=>e.pageSize?(e.requestTime??0)/e.pageSize:0))}constructState(e){const t=new a.MetadataValidationState,r=()=>t.invalidate();for(const t of e)t.state.addInvalidateListener(r);return t}async constructResultMetadata(e,t,r,i={},o=!1){let a;return i.cardinality?a=i.cardinality:(a=t.reduce(((e,t)=>{const r=s.getCardinality(t);return{type:"estimate"===r.type?"estimate":e.type,value:e.value*(o?Math.max(1,r.value):r.value)}}),{type:"exact",value:1}),a.value*=(await this.mediatorJoinSelectivity.mediate({entries:e,context:r})).selectivity),{state:this.constructState(t),...i,cardinality:{type:a.type,value:a.value},variables:s.joinVariables(r.getSafe(n.KeysInitQuery.dataFactory),t,o)}}static async sortJoinEntries(e,t,r){if(t.some((e=>e.metadata.variables.some((e=>e.canBeUndef)))))return(0,i.passTest)(t);const n={};for(const e of t)for(const t of e.metadata.variables){let e=n[t.variable.value];e||(e=0),n[t.variable.value]=++e}const o=[];for(const[e,t]of Object.entries(n))t>=2&&o.push(e);if(0===o.length)return(0,i.failTest)("Bind join can only join entries with at least one common variable");const a=[];for(const e of t){let t=!1;for(const r of e.metadata.variables)if(o.includes(r.variable.value)){t=!0;break}t||a.push(e)}return(0,i.passTest)((await e.mediate({entries:t,context:r})).entries.sort(((e,t)=>{const r=a.includes(e);return r===a.includes(t)?0:r?1:-1})))}async test(e){if(e.type!==this.logicalType)return(0,i.failTest)(`${this.name} can only handle logical joins of type '${this.logicalType}', while '${e.type}' was given.`);if(e.entries.length<=1)return(0,i.failTest)(`${this.name} requires at least two join entries.`);if(this.limitEntriesMin?e.entries.lengththis.limitEntries)return(0,i.failTest)(`${this.name} requires ${this.limitEntries} join entries at ${this.limitEntriesMin?"least":"most"}. The input contained ${e.entries.length}.`);for(const t of e.entries)if("bindings"!==t.output.type)return(0,i.failTest)(`Invalid type of a join entry: Expected 'bindings' but got '${t.output.type}'`);const t=await s.getMetadatas(e.entries);let r;return!this.canHandleUndefs&&(r=s.overlappingVariables(t),r.some((e=>e.canBeUndef)))?(0,i.failTest)(`Actor ${this.name} can not join streams containing undefs`):this.requiresVariableOverlap&&0===(r??s.overlappingVariables(t)).length?(0,i.failTest)(`Actor ${this.name} can only join entries with at least one common variable`):await this.getJoinCoefficients(e,{metadatas:t})}async run(e,t){let r;e.context.has(n.KeysInitQuery.physicalQueryPlanLogger)&&(r=e.context.get(n.KeysInitQuery.physicalQueryPlanNode),e.context=e.context.set(n.KeysInitQuery.physicalQueryPlanNode,e));const i=e.context.get(n.KeysInitQuery.physicalQueryPlanLogger);let c;this.includeInLogs&&i&&(c={},i.stashChildren(r,(e=>e.logicalOperator.startsWith("join"))),i.logOperation(`join-${this.logicalType}`,this.physicalName,e,r,this.name,c));const{result:u,physicalPlanMetadata:l}=await this.getOutput(e,t);if(c){(0,o.instrumentIterator)(u.bindingsStream).then((t=>{i.appendMetadata(e,{cardinalityReal:t.count,timeSelf:t.timeSelf,timeLife:t.timeLife})})),Object.assign(c,l);const r=t.metadatas.map(s.getCardinality);if(c.cardinalities=r,c.joinCoefficients=(await this.getJoinCoefficients(e,t)).getOrThrow(),this.isLeaf)for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulate=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfMetadataAccumulate=i},50433:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(12957),t)},30795:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtract=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfMetadataExtract=i},18412:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30795),t)},86080:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadata=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfMetadata=i},14752:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86080),t)},47062:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParse=void 0;const n=r(48092);class i extends n.ActorAbstractMediaTyped{constructor(e){super(e)}}t.ActorRdfParse=i},46691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseFixedMediaTypes=void 0;const n=r(48092),i=r(90412);class o extends n.ActorAbstractMediaTypedFixed{constructor(e){super(e)}async testHandleChecked(e){return(0,i.passTestVoid)()}}t.ActorRdfParseFixedMediaTypes=o},95124:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(47062),t),i(r(46691),t)},44609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinksQueue=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfResolveHypermediaLinksQueue=i},24690:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},29306:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkQueueWrapper=void 0,t.LinkQueueWrapper=class{constructor(e){this.linkQueue=e}push(e,t){return this.linkQueue.push(e,t)}getSize(){return this.linkQueue.getSize()}isEmpty(){return this.linkQueue.isEmpty()}pop(){return this.linkQueue.pop()}peek(){return this.linkQueue.peek()}}},86074:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(44609),t),i(r(24690),t),i(r(29306),t)},96430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinks=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfResolveHypermediaLinks=i},67304:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(96430),t)},17538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerialize=void 0;const n=r(48092);class i extends n.ActorAbstractMediaTyped{constructor(e){super(e)}}t.ActorRdfSerialize=i},9527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeFixedMediaTypes=void 0;const n=r(48092),i=r(90412);class o extends n.ActorAbstractMediaTypedFixed{constructor(e){super(e)}async testHandleChecked(){return(0,i.passTestVoid)()}}t.ActorRdfSerializeFixedMediaTypes=o},81261:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17538),t),i(r(9527),t)},16305:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermedia=void 0;const n=r(90412);class i extends n.Actor{constructor(e,t){super(e),this.destinationType=t}async test(e){return e.forceDestinationType&&this.destinationType!==e.forceDestinationType?(0,n.failTest)(`Actor ${this.name} is not able to handle destination type ${e.forceDestinationType}.`):this.testMetadata(e)}}t.ActorRdfUpdateHypermedia=i},14597:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16305),t)},38291:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuads=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfUpdateQuads=i},85459:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuadsDestination=t.deskolemize=t.deskolemizeStream=void 0;const n=r(21806),i=r(90711),o=r(90412),a=r(38291);function s(e,t,r){return t?.map((t=>(0,n.deskolemizeQuad)(e,t,r)))}function c(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=e.context.get(i.KeysRdfUpdateQuads.destination),n=e.context.get(i.KeysQuerySourceIdentify.sourceIds)?.get(r);return n?{...e,quadStreamInsert:s(t,e.quadStreamInsert,n),quadStreamDelete:s(t,e.quadStreamDelete,n)}:e}t.deskolemizeStream=s,t.deskolemize=c;class u extends a.ActorRdfUpdateQuads{async test(e){return(0,o.passTestVoid)()}async run(e){const t=await this.getDestination(e.context);return await this.getOutput(t,c(e))}async getOutput(e,t){return{execute:async()=>{await e.update({insert:t.quadStreamInsert,delete:t.quadStreamDelete}),await(t.deleteGraphs?e.deleteGraphs(t.deleteGraphs.graphs,t.deleteGraphs.requireExistence,t.deleteGraphs.dropGraphs):Promise.resolve()),await(t.createGraphs?e.createGraphs(t.createGraphs.graphs,t.createGraphs.requireNonExistence):Promise.resolve())}}}}t.ActorRdfUpdateQuadsDestination=u},41937:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},16657:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38291),t),i(r(85459),t),i(r(41937),t),i(r(52604),t)},52604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getContextDestinationUrl=t.getContextDestination=t.getDataDestinationContext=t.getDataDestinationValue=t.getDataDestinationType=t.isDataDestinationRawType=void 0;const n=r(90711);function i(e){return"string"==typeof e||"remove"in e}function o(e){return i(e)?e:e.value}t.isDataDestinationRawType=i,t.getDataDestinationType=function(e){return"string"==typeof e?"":"remove"in e?"rdfjsStore":e.type},t.getDataDestinationValue=o,t.getDataDestinationContext=function(e,t){return"string"==typeof e||"remove"in e||!e.context?t:t.merge(e.context)},t.getContextDestination=function(e){return e.get(n.KeysRdfUpdateQuads.destination)},t.getContextDestinationUrl=function(e){if(e){let t=o(e);if("string"==typeof t){const e=t.indexOf("#");return e>=0&&(t=t.slice(0,e)),t}}}},77401:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorTermComparatorFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e),this.mediatorQueryOperation=e.mediatorQueryOperation,this.mediatorFunctionFactory=e.mediatorFunctionFactory,this.mediatorMergeBindingsContext=e.mediatorMergeBindingsContext}}t.ActorTermComparatorFactory=i},14628:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77401),t)},19039:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeysStatistics=t.KeysRdfJoin=t.KeysMergeBindingsContext=t.KeysRdfUpdateQuads=t.KeysQuerySourceIdentify=t.KeysRdfParseHtmlScript=t.KeysRdfParseJsonLd=t.KeysQueryOperation=t.KeysExpressionEvaluator=t.KeysInitQuery=t.KeysHttpProxy=t.KeysHttpMemento=t.KeysHttpWayback=t.KeysHttp=t.KeysCore=void 0;const n=r(90412);t.KeysCore={log:n.CONTEXT_KEY_LOGGER},t.KeysHttp={includeCredentials:new n.ActionContextKey("@comunica/bus-http:include-credentials"),auth:new n.ActionContextKey("@comunica/bus-http:auth"),fetch:new n.ActionContextKey("@comunica/bus-http:fetch"),httpTimeout:new n.ActionContextKey("@comunica/bus-http:http-timeout"),httpBodyTimeout:new n.ActionContextKey("@comunica/bus-http:http-body-timeout"),httpRetryCount:new n.ActionContextKey("@comunica/bus-http:http-retry-count"),httpRetryDelayFallback:new n.ActionContextKey("@comunica/bus-http:http-retry-delay-fallback"),httpRetryDelayLimit:new n.ActionContextKey("@comunica/bus-http:http-retry-delay-limit"),httpRetryStatusCodes:new n.ActionContextKey("@comunica/bus-http:http-retry-status-codes")},t.KeysHttpWayback={recoverBrokenLinks:new n.ActionContextKey("@comunica/bus-http:recover-broken-links")},t.KeysHttpMemento={datetime:new n.ActionContextKey("@comunica/actor-http-memento:datetime")},t.KeysHttpProxy={httpProxyHandler:new n.ActionContextKey("@comunica/actor-http-proxy:httpProxyHandler")},t.KeysInitQuery={querySourcesUnidentified:new n.ActionContextKey("@comunica/actor-init-query:querySourcesUnidentified"),initialBindings:new n.ActionContextKey("@comunica/actor-init-query:initialBindings"),queryFormat:new n.ActionContextKey("@comunica/actor-init-query:queryFormat"),graphqlSingularizeVariables:new n.ActionContextKey("@comunica/actor-init-query:singularizeVariables"),lenient:new n.ActionContextKey("@comunica/actor-init-query:lenient"),queryString:new n.ActionContextKey("@comunica/actor-init-query:queryString"),query:new n.ActionContextKey("@comunica/actor-init-query:query"),baseIRI:new n.ActionContextKey("@comunica/actor-init-query:baseIRI"),functionArgumentsCache:new n.ActionContextKey("@comunica/actor-init-query:functionArgumentsCache"),queryTimestamp:new n.ActionContextKey("@comunica/actor-init-query:queryTimestamp"),queryTimestampHighResolution:new n.ActionContextKey("@comunica/actor-init-query:queryTimestampHighResolution"),extensionFunctionCreator:new n.ActionContextKey("@comunica/actor-init-query:extensionFunctionCreator"),extensionFunctions:new n.ActionContextKey("@comunica/actor-init-query:extensionFunctions"),cliArgsHandlers:new n.ActionContextKey("@comunica/actor-init-query:cliArgsHandlers"),explain:new n.ActionContextKey("@comunica/actor-init-query:explain"),physicalQueryPlanLogger:new n.ActionContextKey("@comunica/actor-init-query:physicalQueryPlanLogger"),physicalQueryPlanNode:new n.ActionContextKey("@comunica/actor-init-query:physicalQueryPlanNode"),jsonLdContext:new n.ActionContextKey("@context"),invalidateCache:new n.ActionContextKey("@comunica/actor-init-query:invalidateCache"),dataFactory:new n.ActionContextKey("@comunica/actor-init-query:dataFactory"),distinctConstruct:new n.ActionContextKey("@comunica/actor-init-query:distinctConstruct")},t.KeysExpressionEvaluator={extensionFunctionCreator:new n.ActionContextKey("@comunica/utils-expression-evaluator:extensionFunctionCreator"),superTypeProvider:new n.ActionContextKey("@comunica/utils-expression-evaluator:superTypeProvider"),defaultTimeZone:new n.ActionContextKey("@comunica/utils-expression-evaluator:defaultTimeZone"),actionContext:new n.ActionContextKey("@comunica/utils-expression-evaluator:actionContext")},t.KeysQueryOperation={operation:new n.ActionContextKey("@comunica/bus-query-operation:operation"),joinLeftMetadata:new n.ActionContextKey("@comunica/bus-query-operation:joinLeftMetadata"),joinRightMetadatas:new n.ActionContextKey("@comunica/bus-query-operation:joinRightMetadatas"),joinBindings:new n.ActionContextKey("@comunica/bus-query-operation:joinBindings"),readOnly:new n.ActionContextKey("@comunica/bus-query-operation:readOnly"),isPathArbitraryLengthDistinctKey:new n.ActionContextKey("@comunica/bus-query-operation:isPathArbitraryLengthDistinct"),limitIndicator:new n.ActionContextKey("@comunica/bus-query-operation:limitIndicator"),unionDefaultGraph:new n.ActionContextKey("@comunica/bus-query-operation:unionDefaultGraph"),querySources:new n.ActionContextKey("@comunica/bus-query-operation:querySources")},t.KeysRdfParseJsonLd={documentLoader:new n.ActionContextKey("@comunica/actor-rdf-parse-jsonld:documentLoader"),strictValues:new n.ActionContextKey("@comunica/actor-rdf-parse-jsonld:strictValues"),parserOptions:new n.ActionContextKey("@comunica/actor-rdf-parse-jsonld:parserOptions")},t.KeysRdfParseHtmlScript={processingHtmlScript:new n.ActionContextKey("@comunica/actor-rdf-parse-html-script:processingHtmlScript"),extractAllScripts:new n.ActionContextKey("extractAllScripts")},t.KeysQuerySourceIdentify={sourceIds:new n.ActionContextKey("@comunica/bus-query-source-identify:sourceIds"),hypermediaSourcesAggregatedStores:new n.ActionContextKey("@comunica/bus-query-source-identify:hypermediaSourcesAggregatedStores"),traverse:new n.ActionContextKey("@comunica/bus-query-source-identify:traverse")},t.KeysRdfUpdateQuads={destination:new n.ActionContextKey("@comunica/bus-rdf-update-quads:destination")},t.KeysMergeBindingsContext={sourcesBinding:new n.ActionContextKey("@comunica/bus-merge-bindings-context:sourcesBinding")},t.KeysRdfJoin={lastPhysicalJoin:new n.ActionContextKey("@comunica/bus-rdf-join:lastPhysicalJoin")},t.KeysStatistics={discoveredLinks:new n.ActionContextKey("@comunica/bus-context-preprocess:discoveredLinks"),dereferencedLinks:new n.ActionContextKey("@comunica/bus-context-preprocess:dereferencedLinks")}},90711:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19039),t)},94301:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionContextKey=t.ActionContext=void 0;const n=r(84779);class i{constructor(e={}){this.map=(0,n.Map)(e)}setDefault(e,t){return this.has(e)?this:this.set(e,t)}set(e,t){return this.setRaw(e.name,t)}setRaw(e,t){return new i(this.map.set(e,t))}delete(e){return new i(this.map.delete(e.name))}get(e){return this.getRaw(e.name)}getRaw(e){return this.map.get(e)}getSafe(e){if(!this.has(e))throw new Error(`Context entry ${e.name} is required but not available`);return this.get(e)}has(e){return this.hasRaw(e.name)}hasRaw(e){return this.map.has(e)}merge(...e){let t=this;for(const r of e)for(const e of r.keys())t=t.set(e,r.get(e));return t}keys(){return[...this.map.keys()].map((e=>new o(e)))}toJS(){return this.map.toJS()}toString(){return`ActionContext(${JSON.stringify(this.map.toJS())})`}[Symbol.for("nodejs.util.inspect.custom")](){return`ActionContext(${JSON.stringify(this.map.toJS(),null," ")})`}static ensureActionContext(e){return e instanceof i?e:new i((0,n.Map)(e??{}))}}t.ActionContext=i;class o{constructor(e){this.name=e}}t.ActionContextKey=o},61782:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionObserver=void 0,t.ActionObserver=class{constructor(e){Object.assign(this,e)}}},681:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Actor=void 0;const n=r(84983);class i{constructor(e){this.beforeActors=[],Object.assign(this,e),this.bus.subscribe(this),this.beforeActors.length>0&&this.bus.addDependencies(this,this.beforeActors),e.busFailMessage&&(this.bus.failMessage=e.busFailMessage)}static getContextLogger(e){return e.get(n.CONTEXT_KEY_LOGGER)}runObservable(e,t){const r=this.run(e,t);return this.bus.onRun(this,e,r),r}getDefaultLogData(e,t){const r=t?t():{};return r.actor=this.name,r}logTrace(e,t,r){const n=i.getContextLogger(e);n&&n.trace(t,this.getDefaultLogData(e,r))}logDebug(e,t,r){const n=i.getContextLogger(e);n&&n.debug(t,this.getDefaultLogData(e,r))}logInfo(e,t,r){const n=i.getContextLogger(e);n&&n.info(t,this.getDefaultLogData(e,r))}logWarn(e,t,r){const n=i.getContextLogger(e);n&&n.warn(t,this.getDefaultLogData(e,r))}logError(e,t,r){const n=i.getContextLogger(e);n&&n.error(t,this.getDefaultLogData(e,r))}logFatal(e,t,r){const n=i.getContextLogger(e);n&&n.fatal(t,this.getDefaultLogData(e,r))}}t.Actor=i},92126:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Bus=void 0,t.Bus=class{constructor(e){this.actors=[],this.observers=[],this.dependencyLinks=new Map,Object.assign(this,e),this.failMessage=`All actors over bus ${this.name} failed to handle an action`}subscribe(e){this.actors.push(e),this.reorderForDependencies()}subscribeObserver(e){this.observers.push(e)}unsubscribe(e){const t=this.actors.indexOf(e);return t>=0&&(this.actors.splice(t,1),!0)}unsubscribeObserver(e){const t=this.observers.indexOf(e);return t>=0&&(this.observers.splice(t,1),!0)}publish(e){return this.actors.map((t=>({actor:t,reply:t.test(e)})))}onRun(e,t,r){for(const n of this.observers)n.onRun(e,t,r)}addDependencies(e,t){for(const r of t){let t=this.dependencyLinks.get(r);t||(t=[],this.dependencyLinks.set(r,t)),t.push(e)}this.reorderForDependencies()}reorderForDependencies(){if(this.dependencyLinks.size>0){const e=[];for(const t of this.dependencyLinks.keys()){const r=this.actors.indexOf(t);r>=0&&(this.actors.splice(r,1),e.push(t))}for(;e.length>0;){let t=-1;for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BusIndexed=void 0;const n=r(92126);class i extends n.Bus{constructor(e){super(e),this.actorsIndex={}}subscribe(e){const t=this.getActorIdentifiers(e)??["_undefined_"];for(const r of t){let t=this.actorsIndex[r];t||(t=this.actorsIndex[r]=[]),t.push(e),super.subscribe(e)}}unsubscribe(e){const t=this.getActorIdentifiers(e)??["_undefined_"];let r=!1;for(const n of t){const t=this.actorsIndex[n];if(t){const r=t.indexOf(e);r>=0&&t.splice(r,1),0===t.length&&delete this.actorsIndex[n]}r=r||super.unsubscribe(e)}return r}publish(e){const t=this.getActionIdentifier(e);return t?[...this.actorsIndex[t]||[],...this.actorsIndex._undefined_||[]].map((t=>({actor:t,reply:t.test(e)}))):super.publish(e)}getActorIdentifiers(e){const t=this.actorIdentifierFields.reduce(((e,t)=>e[t]),e);if(t)return Array.isArray(t)?t:[t]}getActionIdentifier(e){return this.actionIdentifierFields.reduce(((e,t)=>e[t]),e)}}t.BusIndexed=i},84983:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CONTEXT_KEY_LOGGER=void 0;const n=r(94301);t.CONTEXT_KEY_LOGGER=new n.ActionContextKey("@comunica/core:log")},65991:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Mediator=void 0;class r{constructor(e){Object.assign(this,e)}publish(e){const t=this.bus.publish(e);if(0===t.length)throw new Error(`No actors are able to reply to a message in the bus ${this.bus.name}`);return t}async mediateActor(e){return await this.mediateWith(e,this.publish(e))}async mediateTestable(e){return(await this.mediateActor(e)).mapAsync(((t,r)=>t.runObservable(e,r)))}async mediate(e){return(await this.mediateTestable(e)).getOrThrow()}constructFailureMessage(e,t){const n="\n ";return`${this.bus.failMessage.replaceAll(/\$\{(.*?)\}/gu,((t,n)=>r.getObjectValue({action:e},n.split("."))||t))}\n Error messages of failing actors:${n}${t.join(n)}`}static getObjectValue(e,t){return 0===t.length?e:e?r.getObjectValue(e[t[0]],t.slice(1)):void 0}}t.Mediator=r},14231:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TestResultFailed=t.TestResultPassed=t.failTest=t.passTestVoidWithSideData=t.passTestWithSideData=t.passTestVoid=t.passTest=void 0,t.passTest=function(e){return new r(e,void 0)},t.passTestVoid=function(){return new r(!0,void 0)},t.passTestWithSideData=function(e,t){return new r(e,t)},t.passTestVoidWithSideData=function(e){return new r(!0,e)},t.failTest=function(e){return new n(e)};class r{constructor(e,t){this.value=e,this.sideData=t}isPassed(){return!0}isFailed(){return!1}get(){return this.value}getOrThrow(){return this.value}getSideData(){return this.sideData}getFailMessage(){}map(e){return new r(e(this.value,this.sideData),this.sideData)}async mapAsync(e){return new r(await e(this.value,this.sideData),this.sideData)}}t.TestResultPassed=r;class n{constructor(e){this.failMessage=e}isPassed(){return!1}isFailed(){return!0}get(){}getOrThrow(){throw new Error(this.getFailMessage())}getSideData(){throw new Error(this.getFailMessage())}getFailMessage(){return this.failMessage}map(){return this}async mapAsync(){return this}}t.TestResultFailed=n},90412:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(94301),t),i(r(92126),t),i(r(2437),t),i(r(84983),t),i(r(61782),t),i(r(681),t),i(r(65991),t),i(r(14231),t)},84779:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Collection:()=>O,Iterable:()=>In,List:()=>cr,Map:()=>Lt,OrderedMap:()=>Sr,OrderedSet:()=>ln,PairSorting:()=>yn,Range:()=>Kr,Record:()=>gn,Repeat:()=>En,Seq:()=>X,Set:()=>Ur,Stack:()=>Ir,default:()=>Rn,fromJS:()=>Tn,get:()=>ct,getIn:()=>Qr,has:()=>st,hasIn:()=>Jr,hash:()=>me,is:()=>he,isAssociative:()=>T,isCollection:()=>_,isImmutable:()=>N,isIndexed:()=>E,isKeyed:()=>w,isList:()=>sr,isMap:()=>le,isOrdered:()=>C,isOrderedMap:()=>de,isOrderedSet:()=>Cr,isPlainObject:()=>it,isRecord:()=>D,isSeq:()=>P,isSet:()=>jr,isStack:()=>Ar,isValueObject:()=>pe,merge:()=>Tt,mergeDeep:()=>xt,mergeDeepWith:()=>At,mergeWith:()=>Ot,remove:()=>lt,removeIn:()=>gt,set:()=>dt,setIn:()=>ft,update:()=>bt,updateIn:()=>pt,version:()=>An});var n="delete",i=5,o=1<>>0;if(""+r!==t||4294967295===r)return NaN;t=r}return t<0?l(e)+t:t}function p(){return!0}function h(e,t,r){return(0===e&&!m(e)||void 0!==r&&e<=-r)&&(void 0===t||void 0!==r&&t>=r)}function f(e,t){return g(e,t,0)}function y(e,t){return g(e,t,t)}function g(e,t,r){return void 0===e?r:m(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function m(e){return e<0||0===e&&1/e==-1/0}var b="@@__IMMUTABLE_ITERABLE__@@";function _(e){return Boolean(e&&e[b])}var v="@@__IMMUTABLE_KEYED__@@";function w(e){return Boolean(e&&e[v])}var S="@@__IMMUTABLE_INDEXED__@@";function E(e){return Boolean(e&&e[S])}function T(e){return w(e)||E(e)}var O=function(e){return _(e)?e:X(e)},x=function(e){function t(e){return w(e)?e:Y(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),A=function(e){function t(e){return E(e)?e:Z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),I=function(e){function t(e){return _(e)&&!T(e)?e:ee(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O);O.Keyed=x,O.Indexed=A,O.Set=I;var R="@@__IMMUTABLE_SEQ__@@";function P(e){return Boolean(e&&e[R])}var F="@@__IMMUTABLE_RECORD__@@";function D(e){return Boolean(e&&e[F])}function N(e){return _(e)||D(e)}var j="@@__IMMUTABLE_ORDERED__@@";function C(e){return Boolean(e&&e[j])}var M=0,k=1,L=2,U="function"==typeof Symbol&&Symbol.iterator,B="@@iterator",V=U||B,q=function(e){this.next=e};function H(e,t,r,n){var i=0===e?t:1===e?r:[t,r];return n?n.value=i:n={value:i,done:!1},n}function $(){return{value:void 0,done:!0}}function G(e){return!!Array.isArray(e)||!!z(e)}function K(e){return e&&"function"==typeof e.next}function Q(e){var t=z(e);return t&&t.call(e)}function z(e){var t=e&&(U&&e[U]||e[B]);if("function"==typeof t)return t}q.prototype.toString=function(){return"[Iterator]"},q.KEYS=M,q.VALUES=k,q.ENTRIES=L,q.prototype.inspect=q.prototype.toSource=function(){return this.toString()},q.prototype[V]=function(){return this};var J=Object.prototype.hasOwnProperty;function W(e){return!(!Array.isArray(e)&&"string"!=typeof e)||e&&"object"==typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var X=function(e){function t(e){return null==e?oe():N(e)?e.toSeq():function(e){var t,r,n=ce(e);if(n)return(r=z(t=e))&&r===t.entries?n.fromEntrySeq():function(e){var t=z(e);return t&&t===e.keys}(e)?n.toSetSeq():n;if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of values, or keyed object: "+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq {","}")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[t?n-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var r=this._cache;if(r){var n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=r[t?n-++i:i++];return H(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(O),Y=function(e){function t(e){return null==e?oe().toKeyedSeq():_(e)?w(e)?e.toSeq():e.fromEntrySeq():D(e)?e.toSeq():ae(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(X),Z=function(e){function t(e){return null==e?oe():_(e)?w(e)?e.entrySeq():e.toIndexedSeq():D(e)?e.toSeq().entrySeq():se(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq [","]")},t}(X),ee=function(e){function t(e){return(_(e)&&!T(e)?e:Z(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(X);X.isSeq=P,X.Keyed=Y,X.Set=ee,X.Indexed=Z,X.prototype[R]=!0;var te=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[d(this,e)]:t},t.prototype.__iterate=function(e,t){for(var r=this._array,n=r.length,i=0;i!==n;){var o=t?n-++i:i++;if(!1===e(r[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var r=this._array,n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=t?n-++i:i++;return H(e,o,r[o])}))},t}(Z),re=function(e){function t(e){var t=Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return J.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var a=n[t?i-++o:o++];if(!1===e(r[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var r=this._object,n=this._keys,i=n.length,o=0;return new q((function(){if(o===i)return{value:void 0,done:!0};var a=n[t?i-++o:o++];return H(e,a,r[a])}))},t}(Y);re.prototype[j]=!0;var ne,ie=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var r=Q(this._collection),n=0;if(K(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,n++,this););return n},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=Q(this._collection);if(!K(r))return new q($);var n=0;return new q((function(){var t=r.next();return t.done?t:H(e,n++,t.value)}))},t}(Z);function oe(){return ne||(ne=new te([]))}function ae(e){var t=ce(e);if(t)return t.fromEntrySeq();if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+e)}function se(e){var t=ce(e);if(t)return t;throw new TypeError("Expected Array or collection object of values: "+e)}function ce(e){return W(e)?new te(e):G(e)?new ie(e):void 0}var ue="@@__IMMUTABLE_MAP__@@";function le(e){return Boolean(e&&e[ue])}function de(e){return le(e)&&C(e)}function pe(e){return Boolean(e&&"function"==typeof e.equals&&"function"==typeof e.hashCode)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!!(pe(e)&&pe(t)&&e.equals(t))}var fe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var r=65535&(e|=0),n=65535&(t|=0);return r*n+((e>>>16)*n+r*(t>>>16)<<16>>>0)|0};function ye(e){return e>>>1&1073741824|3221225471&e}var ge=Object.prototype.valueOf;function me(e){if(null==e)return be(e);if("function"==typeof e.hashCode)return ye(e.hashCode(e));var t,r,n,i=(t=e).valueOf!==ge&&"function"==typeof t.valueOf?t.valueOf(t):t;if(null==i)return be(i);switch(typeof i){case"boolean":return i?1108378657:1108378656;case"number":return function(e){if(e!=e||e===1/0)return 0;var t=0|e;for(t!==e&&(t^=4294967295*e);e>4294967295;)t^=e/=4294967295;return ye(t)}(i);case"string":return i.length>Ie?(void 0===(n=Fe[r=i])&&(n=_e(r),Pe===Re&&(Pe=0,Fe={}),Pe++,Fe[r]=n),n):_e(i);case"object":case"function":return function(e){var t;if(Te&&void 0!==(t=Ee.get(e)))return t;if(void 0!==(t=e[Ae]))return t;if(!we){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ae]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=Se(),Te)Ee.set(e,t);else{if(void 0!==ve&&!1===ve(e))throw new Error("Non-extensible objects are not allowed as keys.");if(we)Object.defineProperty(e,Ae,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ae]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ae]=t}}return t}(i);case"symbol":return function(e){var t=Oe[e];return void 0!==t||(t=Se(),Oe[e]=t),t}(i);default:if("function"==typeof i.toString)return _e(i.toString());throw new Error("Value type "+typeof i+" cannot be hashed.")}}function be(e){return null===e?1108378658:1108378659}function _e(e){for(var t=0,r=0;r=0&&(c.get=function(t,r){return(t=d(this,t))>=0&&to)return{value:void 0,done:!0};var e=i.next();return n||t===k||e.done?e:H(t,c-1,t===M?void 0:e.value[1],e)}))},c}function Ve(e,t,r,n){var i=We(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,c=0;return e.__iterate((function(e,o,u){if(!s||!(s=t.call(r,e,o,u)))return c++,i(e,n?o:c-1,a)})),c},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(L,o),c=!0,u=0;return new q((function(){var e,o,l;do{if((e=s.next()).done)return n||i===k?e:H(i,u++,i===M?void 0:e.value[1],e);var d=e.value;o=d[0],l=d[1],c&&(c=t.call(r,l,o,a))}while(c);return i===L?e:H(i,o,l,e)}))},i}function qe(e,t,r){var n=We(e);return n.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(c,u){c.__iterate((function(o,c){return(!t||u0}function Ke(e,t,r,n){var i=We(e),o=new te(r).map((function(e){return e.size}));return i.size=n?o.max():o.min(),i.__iterate=function(e,t){for(var r,n=this.__iterator(k,t),i=0;!(r=n.next()).done&&!1!==e(r.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map((function(e){return e=O(e),Q(i?e.reverse():e)})),a=0,s=!1;return new q((function(){var r;return s||(r=o.map((function(e){return e.next()})),s=n?r.every((function(e){return e.done})):r.some((function(e){return e.done}))),s?{value:void 0,done:!0}:H(e,a++,t.apply(null,r.map((function(e){return e.value}))))}))},i}function Qe(e,t){return e===t?e:P(e)?t:e.constructor(t)}function ze(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Je(e){return w(e)?x:E(e)?A:I}function We(e){return Object.create((w(e)?Y:E(e)?Z:ee).prototype)}function Xe(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):X.prototype.cacheResult.call(this)}function Ye(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[r]=arguments[r+1];if("function"!=typeof e)throw new TypeError("Invalid merger function: "+e);return Et(this,t,e)}function Et(e,t,r){for(var n=[],i=0;i0;)t[r]=arguments[r+1];return Rt(e,t)}function Ot(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return Rt(t,r,e)}function xt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return It(e,t)}function At(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return It(t,r,e)}function It(e,t,r){return Rt(e,t,function(e){return function t(r,n,i){return ot(r)&&ot(n)&&(o=n,a=X(r),s=X(o),E(a)===E(s)&&w(a)===w(s))?Rt(r,[n],t):e?e(r,n,i):n;var o,a,s}}(r))}function Rt(e,t,r){if(!ot(e))throw new TypeError("Cannot merge into non-data-structure value: "+e);if(N(e))return"function"==typeof r&&e.mergeWith?e.mergeWith.apply(e,[r].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var n=Array.isArray(e),i=e,o=n?A:x,a=n?function(t){i===e&&(i=ut(i)),i.push(t)}:function(t,n){var o=J.call(i,n),a=o&&r?r(i[n],t,n):t;o&&a===i[n]||(i===e&&(i=ut(i)),i[n]=a)},s=0;s0;)t[r]=arguments[r+1];return It(this,t,e)}function Dt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return Rt(e,t)}))}function Nt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return It(e,t)}))}function jt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function Ct(){return this.__ownerID?this:this.__ensureOwner(new u)}function Mt(){return this.__ensureOwner()}function kt(){return this.__altered}var Lt=function(e){function t(t){return null==t?Wt():le(t)&&!C(t)?t:Wt().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e,t){return r.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Wt().withMutations((function(t){for(var r=0;r=e.length)throw new Error("Missing value for key: "+e[r]);t.set(e[r],e[r+1])}}))},t.prototype.toString=function(){return this.__toString("Map {","}")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return Xt(this,e,t)},t.prototype.remove=function(e){return Xt(this,e,s)},t.prototype.deleteAll=function(e){var t=O(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Wt()},t.prototype.sort=function(e){return Sr(He(this,e))},t.prototype.sortBy=function(e,t){return Sr(He(this,t,e))},t.prototype.map=function(e,t){var r=this;return this.withMutations((function(n){n.forEach((function(i,o){n.set(o,e.call(t,i,o,r))}))}))},t.prototype.__iterator=function(e,t){return new Kt(this,e,t)},t.prototype.__iterate=function(e,t){var r=this,n=0;return this._root&&this._root.iterate((function(t){return n++,e(t[1],t[0],r)}),t),n},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Jt(this.size,this._root,e,this.__hash):0===this.size?Wt():(this.__ownerID=e,this.__altered=!1,this)},t}(x);Lt.isMap=le;var Ut=Lt.prototype;Ut[ue]=!0,Ut[n]=Ut.remove,Ut.removeAll=Ut.deleteAll,Ut.setIn=yt,Ut.removeIn=Ut.deleteIn=mt,Ut.update=_t,Ut.updateIn=vt,Ut.merge=Ut.concat=wt,Ut.mergeWith=St,Ut.mergeDeep=Pt,Ut.mergeDeepWith=Ft,Ut.mergeIn=Dt,Ut.mergeDeepIn=Nt,Ut.withMutations=jt,Ut.wasAltered=kt,Ut.asImmutable=Mt,Ut["@@transducer/init"]=Ut.asMutable=Ct,Ut["@@transducer/step"]=function(e,t){return e.set(t[0],t[1])},Ut["@@transducer/result"]=function(e){return e.asImmutable()};var Bt=function(e,t){this.ownerID=e,this.entries=t};Bt.prototype.get=function(e,t,r,n){for(var i=this.entries,o=0,a=i.length;o=nr)return function(e,t,r,n){e||(e=new u);for(var i=new $t(e,me(r),[r,n]),o=0;o>>e)&a),s=this.bitmap;return s&o?this.nodes[tr(s&o-1)].get(e+i,t,r,n):n},Vt.prototype.update=function(e,t,r,n,c,u,l){void 0===r&&(r=me(n));var d=(0===t?r:r>>>t)&a,p=1<=ir)return function(e,t,r,n,i){for(var a=0,s=new Array(o),c=0;0!==r;c++,r>>>=1)s[c]=1&r?t[a++]:void 0;return s[n]=i,new qt(e,a+1,s)}(e,g,h,d,b);if(f&&!b&&2===g.length&&Zt(g[1^y]))return g[1^y];if(f&&b&&1===g.length&&Zt(b))return b;var _=e&&e===this.ownerID,v=f?b?h:h^p:h|p,w=f?b?rr(g,y,b,_):function(e,t,r){var n=e.length-1;if(r&&t===n)return e.pop(),e;for(var i=new Array(n),o=0,a=0;a>>e)&a,s=this.nodes[o];return s?s.get(e+i,t,r,n):n},qt.prototype.update=function(e,t,r,n,o,c,u){void 0===r&&(r=me(n));var l=(0===t?r:r>>>t)&a,d=o===s,p=this.nodes,h=p[l];if(d&&!h)return this;var f=Yt(h,e,t+i,r,n,o,c,u);if(f===h)return this;var y=this.count;if(h){if(!f&&--y>>r)&a,u=(0===r?n:n>>>r)&a,l=c===u?[er(e,t,r+i,n,o)]:(s=new $t(t,n,o),c>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,127&(e+=e>>8)+(e>>16)}function rr(e,t,r,n){var i=n?e:Ze(e);return i[t]=r,i}var nr=o/4,ir=o/2,or=o/4,ar="@@__IMMUTABLE_LIST__@@";function sr(e){return Boolean(e&&e[ar])}var cr=function(e){function t(t){var r=yr();if(null==t)return r;if(sr(t))return t;var n=e(t),a=n.size;return 0===a?r:(tt(a),a>0&&a=0&&e=e.size||t<0)return e.withMutations((function(e){t<0?_r(e,t).set(0,r):_r(e,0,t+1).set(t,r)}));t+=e._origin;var n=e._tail,i=e._root,o={value:!1};return t>=vr(e._capacity)?n=gr(n,e.__ownerID,0,t,r,o):i=gr(i,e.__ownerID,e._level,t,r,o),o.value?e.__ownerID?(e._root=i,e._tail=n,e.__hash=void 0,e.__altered=!0,e):fr(e._origin,e._capacity,e._level,i,n):e}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=i,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):yr()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(r){_r(r,0,t+e.length);for(var n=0;n>>t&a;if(n>=this.array.length)return new lr([],e);var o,s=0===n;if(t>0){var c=this.array[n];if((o=c&&c.removeBefore(e,t-i,r))===c&&s)return this}if(s&&!o)return this;var u=mr(this,e);if(!s)for(var l=0;l>>t&a;if(o>=this.array.length)return this;if(t>0){var s=this.array[o];if((n=s&&s.removeAfter(e,t-i,r))===s&&o===this.array.length-1)return this}var c=mr(this,e);return c.array.splice(o+1),n&&(c.array[o]=n),c};var dr,pr={};function hr(e,t){var r=e._origin,n=e._capacity,a=vr(n),s=e._tail;return function e(c,u,l){return 0===u?function(e,i){var c=i===a?s&&s.array:e&&e.array,u=i>r?0:r-i,l=n-i;return l>o&&(l=o),function(){if(u===l)return pr;var e=t?--l:u++;return c&&c[e]}}(c,l):function(a,s,c){var u,l=a&&a.array,d=c>r?0:r-c>>s,p=1+(n-c>>s);return p>o&&(p=o),function(){for(;;){if(u){var r=u();if(r!==pr)return r;u=null}if(d===p)return pr;var n=t?--p:d++;u=e(l&&l[n],s-i,c+(n<>>r&a,d=e&&l0){var p=e&&e.array[l],h=gr(p,t,r-i,n,o,s);return h===p?e:((u=mr(e,t)).array[l]=h,u)}return d&&e.array[l]===o?e:(s&&c(s),u=mr(e,t),void 0===o&&l===u.array.length-1?u.array.pop():u.array[l]=o,u)}function mr(e,t){return t&&e&&t===e.ownerID?e:new lr(e?e.array.slice():[],t)}function br(e,t){if(t>=vr(e._capacity))return e._tail;if(t<1<0;)r=r.array[t>>>n&a],n-=i;return r}}function _r(e,t,r){void 0!==t&&(t|=0),void 0!==r&&(r|=0);var n=e.__ownerID||new u,o=e._origin,s=e._capacity,c=o+t,l=void 0===r?s:r<0?s+r:o+r;if(c===o&&l===s)return e;if(c>=l)return e.clear();for(var d=e._level,p=e._root,h=0;c+h<0;)p=new lr(p&&p.array.length?[void 0,p]:[],n),h+=1<<(d+=i);h&&(c+=h,o+=h,l+=h,s+=h);for(var f=vr(s),y=vr(l);y>=1<f?new lr([],n):g;if(g&&y>f&&ci;_-=i){var v=f>>>_&a;b=b.array[v]=mr(b.array[v],n)}b.array[f>>>i&a]=g}if(l=y)c-=y,l-=y,d=i,p=null,m=m&&m.removeBefore(n,0,c);else if(c>o||y>>d&a;if(w!==y>>>d&a)break;w&&(h+=(1<o&&(p=p.removeBefore(n,d,c-h)),p&&y>>i<=o&&c.size>=2*a.size?(n=(i=c.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(n.__ownerID=i.__ownerID=e.__ownerID)):(n=a.remove(t),i=u===c.size-1?c.pop():c.set(u,void 0))}else if(l){if(r===c.get(u)[1])return e;n=a,i=c.set(u,[t,r])}else n=a.set(t,c.size),i=c.set(c.size,[t,r]);return e.__ownerID?(e.size=n.size,e._map=n,e._list=i,e.__hash=void 0,e.__altered=!0,e):Er(n,i)}Sr.isOrderedMap=de,Sr.prototype[j]=!0,Sr.prototype[n]=Sr.prototype.remove;var xr="@@__IMMUTABLE_STACK__@@";function Ar(e){return Boolean(e&&e[xr])}var Ir=function(e){function t(e){return null==e?Dr():Ar(e)?e:Dr().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("Stack [","]")},t.prototype.get=function(e,t){var r=this._head;for(e=d(this,e);r&&e--;)r=r.next;return r?r.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,r=this._head,n=arguments.length-1;n>=0;n--)r={value:e[n],next:r};return this.__ownerID?(this.size=t,this._head=r,this.__hash=void 0,this.__altered=!0,this):Fr(t,r)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&Ar(t))return t;tt(t.size);var r=this.size,n=this._head;return t.__iterate((function(e){r++,n={value:e,next:n}}),!0),this.__ownerID?(this.size=r,this._head=n,this.__hash=void 0,this.__altered=!0,this):Fr(r,n)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Dr()},t.prototype.slice=function(t,r){if(h(t,r,this.size))return this;var n=f(t,this.size);if(y(r,this.size)!==this.size)return e.prototype.slice.call(this,t,r);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Fr(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Fr(this.size,this._head,e,this.__hash):0===this.size?Dr():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var r=this;if(t)return new te(this.toArray()).__iterate((function(t,n){return e(t,n,r)}),t);for(var n=0,i=this._head;i&&!1!==e(i.value,n++,this);)i=i.next;return n},t.prototype.__iterator=function(e,t){if(t)return new te(this.toArray()).__iterator(e,t);var r=0,n=this._head;return new q((function(){if(n){var t=n.value;return n=n.next,H(e,r++,t)}return{value:void 0,done:!0}}))},t}(A);Ir.isStack=Ar;var Rr,Pr=Ir.prototype;function Fr(e,t,r,n){var i=Object.create(Pr);return i.size=e,i._head=t,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Dr(){return Rr||(Rr=Fr(0))}Pr[xr]=!0,Pr.shift=Pr.pop,Pr.unshift=Pr.push,Pr.unshiftAll=Pr.pushAll,Pr.withMutations=jt,Pr.wasAltered=kt,Pr.asImmutable=Mt,Pr["@@transducer/init"]=Pr.asMutable=Ct,Pr["@@transducer/step"]=function(e,t){return e.unshift(t)},Pr["@@transducer/result"]=function(e){return e.asImmutable()};var Nr="@@__IMMUTABLE_SET__@@";function jr(e){return Boolean(e&&e[Nr])}function Cr(e){return jr(e)&&C(e)}function Mr(e,t){if(e===t)return!0;if(!_(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||w(e)!==w(t)||E(e)!==E(t)||C(e)!==C(t))return!1;if(0===e.size&&0===t.size)return!0;var r=!T(e);if(C(e)){var n=e.entries();return t.every((function(e,t){var i=n.next().value;return i&&he(i[1],e)&&(r||he(i[0],t))}))&&n.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var a=!0,c=t.__iterate((function(t,n){if(r?!e.has(t):i?!he(t,e.get(n,s)):!he(e.get(n,s),t))return a=!1,!1}));return a&&e.size===c}function kr(e,t){var r=function(r){e.prototype[r]=t[r]};return Object.keys(t).forEach(r),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(r),e}function Lr(e){if(!e||"object"!=typeof e)return e;if(!_(e)){if(!ot(e))return e;e=X(e)}if(w(e)){var t={};return e.__iterate((function(e,r){t[r]=Lr(e)})),t}var r=[];return e.__iterate((function(e){r.push(Lr(e))})),r}var Ur=function(e){function t(t){return null==t?$r():jr(t)&&!C(t)?t:$r().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e){return r.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.intersect=function(e){return(e=O(e).toArray()).length?Vr.intersect.apply(t(e.pop()),e):$r()},t.union=function(e){return(e=O(e).toArray()).length?Vr.union.apply(t(e.pop()),e):$r()},t.prototype.toString=function(){return this.__toString("Set {","}")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return qr(this,this._map.set(e,e))},t.prototype.remove=function(e){return qr(this,this._map.remove(e))},t.prototype.clear=function(){return qr(this,this._map.clear())},t.prototype.map=function(e,t){var r=this,n=!1,i=qr(this,this._map.mapEntries((function(i){var o=i[1],a=e.call(t,o,o,r);return a!==o&&(n=!0),[a,a]}),t));return n?i:this},t.prototype.union=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(r){for(var n=0;n=0&&t=0&&r>>-15,461845907),t=fe(t<<13|t>>>-13,5),t=fe((t=t+3864292196^e)^t>>>16,2246822507),t=ye((t=fe(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(r?t?function(e,t){n=31*n+un(me(e),me(t))|0}:function(e,t){n=n+un(me(e),me(t))|0}:t?function(e){n=31*n+me(e)|0}:function(e){n=n+me(e)|0}),n)}(this))}});var Xr=O.prototype;Xr[b]=!0,Xr[V]=Xr.values,Xr.toJSON=Xr.toArray,Xr.__toStringMapper=at,Xr.inspect=Xr.toSource=function(){return this.toString()},Xr.chain=Xr.flatMap,Xr.contains=Xr.includes,kr(x,{flip:function(){return Qe(this,Me(this))},mapEntries:function(e,t){var r=this,n=0;return Qe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],n++,r)})).fromEntrySeq())},mapKeys:function(e,t){var r=this;return Qe(this,this.toSeq().flip().map((function(n,i){return e.call(t,n,i,r)})).flip())}});var Yr=x.prototype;Yr[v]=!0,Yr[V]=Xr.entries,Yr.toJSON=Wr,Yr.__toStringMapper=function(e,t){return at(t)+": "+at(e)},kr(A,{toKeyedSeq:function(){return new De(this,!1)},filter:function(e,t){return Qe(this,Ue(this,e,t,!1))},findIndex:function(e,t){var r=this.findEntry(e,t);return r?r[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Qe(this,Le(this,!1))},slice:function(e,t){return Qe(this,Be(this,e,t,!1))},splice:function(e,t){var r=arguments.length;if(t=Math.max(t||0,0),0===r||2===r&&!t)return this;e=f(e,e<0?this.count():this.size);var n=this.slice(0,e);return Qe(this,1===r?n:n.concat(Ze(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var r=this.findLastEntry(e,t);return r?r[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Qe(this,qe(this,e,!1))},get:function(e,t){return(e=d(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,r){return r===e}),void 0,t)},has:function(e){return(e=d(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function un(e,t){return e^t+2654435769+(e<<6)+(e>>2)}en.has=Xr.includes,en.contains=en.includes,en.keys=en.values,kr(Y,Yr),kr(Z,Zr),kr(ee,en);var ln=function(e){function t(e){return null==e?fn():Cr(e)?e:fn().withMutations((function(t){var r=I(e);tt(r.size),r.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.prototype.toString=function(){return this.__toString("OrderedSet {","}")},t}(Ur);ln.isOrderedSet=Cr;var dn,pn=ln.prototype;function hn(e,t){var r=Object.create(pn);return r.size=e?e.size:0,r._map=e,r.__ownerID=t,r}function fn(){return dn||(dn=hn(Tr()))}pn[j]=!0,pn.zip=Zr.zip,pn.zipWith=Zr.zipWith,pn.zipAll=Zr.zipAll,pn.__empty=fn,pn.__make=hn;var yn={LeftThenRight:-1,RightThenLeft:1},gn=function(e,t){var r;!function(e){if(D(e))throw new Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(N(e))throw new Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===e||"object"!=typeof e)throw new Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(e);var n=function(o){var a=this;if(o instanceof n)return o;if(!(this instanceof n))return new n(o);if(!r){r=!0;var s=Object.keys(e),c=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var u=0;u2?[]:void 0,{"":e})}function On(e,t,r,n,i,o){if("string"!=typeof r&&!N(r)&&(W(r)||G(r)||it(r))){if(~e.indexOf(r))throw new TypeError("Cannot convert circular structure to Immutable");e.push(r),i&&""!==n&&i.push(n);var a=t.call(o,n,X(r).map((function(n,o){return On(e,t,n,o,i,r)})),i&&i.slice());return e.pop(),i&&i.pop(),a}return r}function xn(e,t){return E(t)?t.toList():w(t)?t.toMap():t.toSet()}var An="4.3.7",In=O;const Rn={version:An,Collection:O,Iterable:O,Seq:X,Map:Lt,OrderedMap:Sr,List:cr,Stack:Ir,Set:Ur,OrderedSet:ln,PairSorting:yn,Record:gn,Range:Kr,Repeat:En,is:he,fromJS:Tn,hash:me,isImmutable:N,isCollection:_,isKeyed:w,isIndexed:E,isAssociative:T,isOrdered:C,isValueObject:pe,isPlainObject:it,isSeq:P,isList:sr,isMap:le,isOrderedMap:de,isStack:Ar,isSet:jr,isOrderedSet:Cr,isRecord:D,get:ct,getIn:Qr,has:st,hasIn:Jr,merge:Tt,mergeDeep:xt,mergeWith:Ot,mergeDeepWith:At,remove:lt,removeIn:gt,set:dt,setIn:ft,update:bt,updateIn:pt}},88296:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerPretty=void 0;const n=r(42996),i=r(58859),o=r(65606);class a extends n.Logger{constructor(e){super(),this.level=e.level,this.levelOrdinal=n.Logger.getLevelOrdinal(this.level),this.actors=e.actors}debug(e,t){this.log("debug",a.COLOR_GRAY,e,t)}error(e,t){this.log("error",a.COLOR_RED,e,t)}fatal(e,t){this.log("fatal",a.COLOR_CYAN,e,t)}info(e,t){this.log("info",a.COLOR_GREEN,e,t)}trace(e,t){this.log("trace",a.COLOR_BLUE,e,t)}warn(e,t){this.log("warn",a.COLOR_YELLOW,e,t)}log(e,t,r,s){!(n.Logger.getLevelOrdinal(e)>=this.levelOrdinal)||s&&"actor"in s&&this.actors&&!this.actors[s.actor]||o.stderr.write(a.withColor(`[${(new Date).toISOString()}] ${e.toUpperCase()}: ${r} ${i(s)}\n`,t))}static withColor(e,t){return`${t}${e}${a.COLOR_RESET}`}}t.LoggerPretty=a,a.COLOR_RESET="",a.COLOR_RED="",a.COLOR_GREEN="",a.COLOR_YELLOW="",a.COLOR_BLUE="",a.COLOR_MAGENTA="",a.COLOR_CYAN="",a.COLOR_GRAY=""},76510:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(88296),t)},40932:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerVoid=void 0;const n=r(42996);class i extends n.Logger{debug(){}error(){}fatal(){}info(){}trace(){}warn(){}}t.LoggerVoid=i},11832:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40932),t)},60004:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorAll=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e)}async mediate(e){const t=[];let r;try{r=this.publish(e)}catch{r=[]}for(const e of r){const r=await e.reply;r.isPassed()&&t.push({actor:e.actor,sideData:r.getSideData()})}return(await Promise.all(t.map((t=>t.actor.runObservable(e,t.sideData)))))[0]}async mediateWith(){throw new Error("Unsupported operation: MediatorAll#mediateWith")}}t.MediatorAll=i},60504:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60004),t)},6535:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorCombinePipeline=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e)}async mediate(e){let t;try{t=this.publish(e)}catch{return e}if(this.filterFailures){const e=[];for(const r of t)(await r.reply).isPassed()&&e.push(r);t=e}const r=[];if(t=await Promise.all(t.map((async({actor:t,reply:n},i)=>{try{const e=await n,o=e.getOrThrow();return r[i]=e.getSideData(),{actor:t,reply:o}}catch(t){throw new Error(this.constructFailureMessage(e,[t.message]))}}))),this.order){const e=e=>{const t=this.field?e[this.field]:e;if("number"!=typeof t)throw new TypeError("Cannot order elements that are not numbers.");return t};t=t.sort(((t,r)=>("increasing"===this.order?1:-1)*(e(t.reply)-e(r.reply))))}let n=e,i=0;for(const{actor:e}of t)n={...n,...await e.runObservable(n,r[i++])};return n}mediateWith(){throw new Error("Method not supported.")}}t.MediatorCombinePipeline=i},83223:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(6535),t)},1667:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorCombineUnion=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e),this.combiner=this.createCombiner()}async mediate(e){let t;try{t=this.publish(e)}catch{t=[]}if(this.filterFailures){const e=[];for(const r of t)(await r.reply).isPassed()&&e.push(r);t=e}const r=[];await Promise.all(t.map((async({reply:e},t)=>{const n=await e,i=n.getOrThrow();return r[t]=n.getSideData(),i})));const n=await Promise.all(t.map(((t,n)=>t.actor.runObservable(e,r[n]))));return this.combiner(n)}mediateWith(){throw new Error("Method not supported.")}createCombiner(){return e=>{const t={};return t[this.field]={},[{}].concat(e.map((e=>e[this.field]))).forEach((e=>{t[this.field]={...e,...t[this.field]}})),t}}}t.MediatorCombineUnion=i},54560:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1667),t)},12278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorJoinCoefficientsFixed=void 0;const n=r(90711),i=r(90412);class o extends i.Mediator{constructor(e){super(e)}async mediateWith(e,t){const r=[],o=t.map((({reply:e})=>e)),a=(await Promise.all(o)).map((e=>{if(!e.isFailed())return{value:e.get(),sideData:e.getSideData()};r.push(e.getFailMessage())}));let s=a.map((e=>{if(e)return e.value.iterations*this.cpuWeight+e.value.persistedItems*this.memoryWeight+e.value.blockingItems*this.timeWeight+e.value.requestTime*this.ioWeight}));const c=Math.max(...s.filter((e=>void 0!==e))),u=e.context.get(n.KeysQueryOperation.limitIndicator);u&&(s=s.map(((e,t)=>void 0!==e&&(a[t]?.value).blockingItems>0&&(a[t]?.value).iterations>u?e+c:e)));let l=-1,d=Number.POSITIVE_INFINITY;for(const[e,t]of s.entries())void 0!==t&&(-1===l||t(await e.output.metadata()).variables.map((e=>e.variable.value))))),costs:Object.fromEntries(s.map(((e,r)=>[`${t[r].actor.logicalType}-${t[r].actor.physicalName}`,e])).filter((e=>void 0!==e[1]))),coefficients:Object.fromEntries(a.map(((e,r)=>[`${t[r].actor.logicalType}-${t[r].actor.physicalName}`,e?.value])).filter((e=>void 0!==e[1])))}),(0,i.passTestWithSideData)(p,a[l].sideData)}}t.MediatorJoinCoefficientsFixed=o},47633:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(12278),t)},18202:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorNumber=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e),this.indexPicker=this.createIndexPicker()}createIndexPicker(){switch(this.type){case"min":return e=>e.reduce(((e,t,r)=>{const n=this.getOrDefault(t[this.field],Number.POSITIVE_INFINITY);return null!==n&&(Number.isNaN(e[0])||e[0]>n)?[n,r]:e}),[Number.NaN,-1])[1];case"max":return e=>e.reduce(((e,t,r)=>{const n=this.getOrDefault(t[this.field],Number.NEGATIVE_INFINITY);return null!==n&&(Number.isNaN(e[0])||e[0]e)));const i=[];if(this.ignoreFailures){const e={};e[this.field]=null,r=r.map((t=>t.isFailed()?(i.push(t.getFailMessage()),(0,n.passTestWithSideData)(e,void 0)):t))}const o=[],a=r.map(((e,t)=>{const r=e.getOrThrow();return o[t]=e.getSideData(),r})),s=this.indexPicker(a);return s<0?(0,n.failTest)(this.constructFailureMessage(e,i)):(0,n.passTestWithSideData)(t[s].actor,o[s])}}t.MediatorNumber=i},31588:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(18202),t)},15950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorRace=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e)}mediateWith(e,t){return new Promise(((r,i)=>{const o=[];for(const a of t)a.reply.then((i=>{i.isPassed()?r((0,n.passTestWithSideData)(a.actor,i.getSideData())):(o.push(i.getFailMessage()),o.length===t.length&&r((0,n.failTest)(this.constructFailureMessage(e,o))))})).catch((e=>{i(e)}))}))}}t.MediatorRace=i},12740:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15950),t)},41388:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22545:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1707:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionType=void 0,function(e){e.Aggregate="aggregate",e.Existence="existence",e.Operator="operator",e.Term="term",e.Variable="variable"}(r||(t.ExpressionType=r={}))},65358:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},17169:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},53846:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},19383:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},85947:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46671:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},10766:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},63599:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},57755:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},80220:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6841:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9243:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},51690:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},90602:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=void 0;class r{static getLevelOrdinal(e){return r.LEVELS[e]}}t.Logger=r,r.LEVELS={trace:0,debug:1,info:2,warn:3,error:4,fatal:5}},42996:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41388),t),i(r(22545),t),i(r(65358),t),i(r(17169),t),i(r(53846),t),i(r(19383),t),i(r(85947),t),i(r(10766),t),i(r(63599),t),i(r(57755),t),i(r(80220),t),i(r(6841),t),i(r(9243),t),i(r(51690),t),i(r(39614),t),i(r(88680),t),i(r(46671),t),i(r(90602),t),i(r(1707),t)},88680:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},39614:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},16994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Bindings=void 0;const n=r(90412),i=r(49568),o=r(18594);class a{constructor(e,t,r){this.type="bindings",this.dataFactory=e,this.entries=t,this.contextHolder=r}has(e){return this.entries.has("string"==typeof e?e:e.value)}get(e){return this.entries.get("string"==typeof e?e:e.value)}set(e,t){return new a(this.dataFactory,this.entries.set("string"==typeof e?e:e.value,t),this.contextHolder)}delete(e){return new a(this.dataFactory,this.entries.delete("string"==typeof e?e:e.value),this.contextHolder)}keys(){return this.mapIterable(this.iteratorToIterable(this.entries.keys()),(e=>this.dataFactory.variable(e)))}values(){return this.iteratorToIterable(this.entries.values())}forEach(e){for(const[t,r]of this.entries.entries())e(r,this.dataFactory.variable(t))}get size(){return this.entries.size}[Symbol.iterator](){return this.mapIterable(this.iteratorToIterable(this.entries.entries()),(([e,t])=>[this.dataFactory.variable(e),t]))[Symbol.iterator]()}equals(e){if(!e)return!1;if(this===e)return!0;if(this.size!==e.size)return!1;for(const t of this.keys())if(!this.get(t)?.equals(e.get(t)))return!1;return!0}filter(e){return new a(this.dataFactory,(0,i.Map)(this.entries.filter(((t,r)=>e(t,this.dataFactory.variable(r))))),this.contextHolder)}map(e){return new a(this.dataFactory,(0,i.Map)(this.entries.map(((t,r)=>e(t,this.dataFactory.variable(r))))),this.contextHolder)}merge(e){if(this.sizee.name))),c=t.keys().filter((e=>s.has(e.name)));for(const n of i){if(1===a[n.name])continue;a[n.name]=1;const i=c.some((e=>e.name===n.name));e[n.name]&&i?o[n.name]=e[n.name].run(t.get(n),r.get(n)):!e[n.name]&&i||(t.get(n)?r.get(n)||(o[n.name]=t.get(n)):o[n.name]=r.get(n))}return new n.ActionContext(o)}setContextEntry(e,t){return this.setContextEntryRaw(e,t)}setContextEntryRaw(e,t){return this.contextHolder&&this.contextHolder.context?new a(this.dataFactory,this.entries,{contextMergeHandlers:this.contextHolder.contextMergeHandlers,context:this.contextHolder.context.set(e,t)}):new a(this.dataFactory,this.entries,{contextMergeHandlers:this.contextHolder?.contextMergeHandlers??{},context:(new n.ActionContext).set(e,t)})}deleteContextEntry(e){return this.deleteContextEntryRaw(e)}deleteContextEntryRaw(e){return this.contextHolder?new a(this.dataFactory,this.entries,{contextMergeHandlers:this.contextHolder.contextMergeHandlers,context:this.contextHolder.context?.delete(e)}):new a(this.dataFactory,this.entries)}getContext(){return this.contextHolder?.context}getContextEntry(e){return this.getContext()?.get(e)}toString(){return(0,o.bindingsToString)(this)}*mapIterable(e,t){for(const r of e)yield t(r)}iteratorToIterable(e){return{[Symbol.iterator]:()=>e}}}t.Bindings=a},2922:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsFactory=void 0;const n=r(49568),i=r(16994);class o{constructor(e,t){this.dataFactory=e,this.contextMergeHandlers=t}static async create(e,t,r){return new o(r,(await e.mediate({context:t})).mergeHandlers)}bindings(e=[]){return new i.Bindings(this.dataFactory,(0,n.Map)(e.map((([e,t])=>[e.value,t]))),this.contextMergeHandlers?{contextMergeHandlers:this.contextMergeHandlers}:void 0)}fromBindings(e){return this.bindings([...e])}fromRecord(e){return this.bindings(Object.entries(e).map((([e,t])=>[this.dataFactory.variable(e),t])))}}t.BindingsFactory=o},18594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bindingsToCompactString=t.bindingsToString=void 0;const n=r(43347);t.bindingsToString=function(e){const t={};for(const r of e.keys())t[r.value]=(0,n.termToString)(e.get(r));return JSON.stringify(t,null," ")},t.bindingsToCompactString=function(e,t){return t.map((t=>{const r=e.get(t);return r?(0,n.termToString)(r):""})).join("")}},81926:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16994),t),i(r(2922),t),i(r(18594),t)},4519:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsIndexDef=void 0,t.BindingsIndexDef=class{constructor(e,t){this.keys=e.map((e=>e.variable)),this.hashFn=t,this.index={}}put(e,t){return this.index[this.hashFn(e,this.keys)]=t}get(e){const t=this.getFirst(e);return t?[t]:[]}getFirst(e){return this.index[this.hashFn(e,this.keys)]}values(){return Object.values(this.index)}}},30862:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsIndexUndef=void 0,t.BindingsIndexUndef=class{constructor(e,t,r){this.data={},this.keys=e.map((e=>e.variable)),this.hashFn=t,this.allowDisjointDomains=r&&this.keys.length>0}put(e,t){if(this.allowDisjointDomains||this.isBindingsValid(e)){let r=this.data;for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},18888:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4519),t),i(r(30862),t),i(r(73833),t)},11752:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNodeBindingsScoped=void 0,t.BlankNodeBindingsScoped=class{constructor(e){this.termType="BlankNode",this.singleBindingsScope=!0,this.value=e}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}},4450:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNodeScoped=void 0,t.BlankNodeScoped=class{constructor(e,t){this.termType="BlankNode",this.value=e,this.skolemized=t}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}},51296:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4450),t),i(r(11752),t)},80722:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Aggregate=void 0;const n=r(42996);t.Aggregate=class{constructor(e,t){this.name=e,this.expression=t,this.expressionType=n.ExpressionType.Aggregate}}},61013:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Existence=void 0;const n=r(42996);t.Existence=class{constructor(e){this.expression=e,this.expressionType=n.ExpressionType.Existence}}},79434:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.asTermType=void 0,t.asTermType=function(e){if("namedNode"===e||"literal"===e||"blankNode"===e||"quad"===e)return e}},54853:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Operator=void 0;const n=r(42996);t.Operator=class{constructor(e,t,r){this.name=e,this.args=t,this.apply=r,this.expressionType=n.ExpressionType.Operator}}},81791:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNonLexicalLiteral=t.NonLexicalLiteral=t.YearMonthDurationLiteral=t.DayTimeDurationLiteral=t.DurationLiteral=t.DateLiteral=t.TimeLiteral=t.DateTimeLiteral=t.StringLiteral=t.LangStringLiteral=t.BooleanLiteral=t.DoubleLiteral=t.FloatLiteral=t.DecimalLiteral=t.IntegerLiteral=t.NumericLiteral=t.Literal=t.isLiteralTermExpression=t.DefaultGraph=t.Quad=t.BlankNode=t.NamedNode=t.Term=void 0;const n=r(42996),i=r(64900),o=r(64900),a=r(98575),s=r(72374),c=r(86273);class u{constructor(){this.expressionType=n.ExpressionType.Term}str(){throw new a.InvalidArgumentTypes([this],i.SparqlOperator.STR)}coerceEBV(){throw new a.EBVCoercionError(this)}}t.Term=u,t.NamedNode=class extends u{constructor(e){super(),this.value=e,this.termType="namedNode"}toRDF(e){return e.namedNode(this.value)}str(){return this.value}},t.BlankNode=class extends u{constructor(e){super(),this.termType="blankNode",this.value=e}toRDF(e){return"string"==typeof this.value?e.blankNode(this.value):this.value}},t.Quad=class extends u{constructor(e,t,r,n){super(),this.subject=e,this.predicate=t,this.object=r,this.graph=n,this.termType="quad"}toRDF(e){return e.quad(this.subject.toRDF(e),this.predicate.toRDF(e),this.object.toRDF(e),this.graph.toRDF(e))}str(){return`Quad: [${this.subject.str()}, ${this.predicate.str()}, ${this.object.str()}, ${this.graph.str()}]`}},t.DefaultGraph=class extends u{constructor(){super(),this.termType="defaultGraph"}toRDF(e){return e.defaultGraph()}str(){return"DefaultGraph"}},t.isLiteralTermExpression=function(e){if("literal"===e.termType)return e};class l extends u{constructor(e,t,r,n){super(),this.typedValue=e,this.dataType=t,this.strValue=r,this.language=n,this.termType="literal"}toRDF(e){return e.literal(this.strValue??this.str(),this.language??e.namedNode(this.dataType))}str(){return this.strValue??this.typedValue.toString()}}t.Literal=l;class d extends l{constructor(e,t,r,n){super(e,t,r,n),this.typedValue=e,this.strValue=r,this.language=n}coerceEBV(){return Boolean(this.typedValue)}toRDF(e){const t=super.toRDF(e);return Number.isFinite(this.typedValue)||(t.value=t.value.replace("Infinity","INF")),t}str(){return this.strValue??this.specificFormatter(this.typedValue)}}t.NumericLiteral=d,t.IntegerLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_INTEGER,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){return e.toFixed(0)}},t.DecimalLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_DECIMAL,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){return e.toString()}},t.FloatLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_FLOAT,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){return e.toString()}},t.DoubleLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_DOUBLE,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){if(!Number.isFinite(e))return e>0?"INF":e<0?"-INF":"NaN";const t=e.toExponential(),[r,n]=t.split("e"),i=n.replace(/\+/u,"");return`${r.includes(".")?r:`${r}.0`}E${i}`}},t.BooleanLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_BOOLEAN,t),this.typedValue=e,this.strValue=t}coerceEBV(){return this.typedValue}},t.LangStringLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.RDF_LANG_STRING,e,t),this.typedValue=e,this.language=t}coerceEBV(){return this.str().length>0}},t.StringLiteral=class extends l{constructor(e,t){super(e,t??o.TypeURL.XSD_STRING,e),this.typedValue=e}coerceEBV(){return this.str().length>0}},t.DateTimeLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_DATE_TIME,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDateTime)(this.typedValue)}},t.TimeLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_TIME,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeTime)(this.typedValue)}},t.DateLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_DATE,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDate)(this.typedValue)}};class p extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_DURATION,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDuration)(this.typedValue)}}t.DurationLiteral=p,t.DayTimeDurationLiteral=class extends p{constructor(e,t,r){super(e,t,r??o.TypeURL.XSD_DAY_TIME_DURATION),this.typedValue=e,this.strValue=t}},t.YearMonthDurationLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_YEAR_MONTH_DURATION,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDuration)(this.typedValue,"P0M")}};class h extends l{constructor(e,t,r,n,i){super({toString:()=>"undefined"},t,n,i),this.openWorldType=r}coerceEBV(){if((0,c.isSubTypeOf)(this.dataType,o.TypeURL.XSD_BOOLEAN,this.openWorldType)||(0,c.isSubTypeOf)(this.dataType,o.TypeAlias.SPARQL_NUMERIC,this.openWorldType))return!1;throw new a.EBVCoercionError(this)}toRDF(e){return e.literal(this.str(),this.language??e.namedNode(this.dataType))}str(){return this.strValue??""}}t.NonLexicalLiteral=h,t.isNonLexicalLiteral=function(e){if(e instanceof h)return e}},33369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0;const n=r(42996);t.Variable=class{constructor(e){this.expressionType=n.ExpressionType.Variable,this.name=e}}},54833:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79434),t),i(r(33369),t),i(r(81791),t),i(r(54853),t),i(r(80722),t),i(r(61013),t)},97618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.expressionToVar=t.dateTime=t.langString=t.string=t.double=t.float=t.decimal=t.integer=t.bool=t.Builder=t.declare=void 0;const n=r(90711),i=r(54833),o=r(54833),a=r(64900),s=r(64900),c=r(98575),u=r(34641);t.declare=function(e){return new l(e)};class l{constructor(e){this.overloadTree=new u.OverloadTree(e),this.collected=!1}collect(){if(this.collected)throw new Error("Builders can only be collected once!");return this.collected=!0,this.overloadTree}static wrapInvalidLexicalProtected(e){return t=>r=>{for(const[e,i]of r.entries())if(i instanceof o.NonLexicalLiteral)throw new c.InvalidLexicalForm(r[e].toRDF(t.context.getSafe(n.KeysInitQuery.dataFactory)));return e(t)(r)}}set(e,t,r=!0){return this.overloadTree.addOverload(e,r?l.wrapInvalidLexicalProtected(t):t),this}copy({from:e,to:t}){const r=this.overloadTree.getImplementationExact(e);if(!r)throw new c.UnexpectedError("Tried to copy implementation, but types not found",{from:e,to:t});return this.set(t,r)}onUnary(e,t,r=!0){return this.set([e],(e=>([r])=>t(e)(r)),r)}onUnaryTyped(e,t,r=!0){return this.set([e],(e=>([r])=>t(e)(r.typedValue)),r)}onBinary(e,t,r=!0){return this.set(e,(e=>([r,n])=>t(e)(r,n)),r)}onBinaryTyped(e,t,r=!0){return this.set(e,(e=>([r,n])=>t(e)(r.typedValue,n.typedValue)),r)}onTernaryTyped(e,t,r=!0){return this.set(e,(e=>([r,n,i])=>t(e)(r.typedValue,n.typedValue,i.typedValue)),r)}onTernary(e,t,r=!0){return this.set(e,(e=>([r,n,i])=>t(e)(r,n,i)),r)}onQuaternaryTyped(e,t,r=!0){return this.set(e,(e=>([r,n,i,o])=>t(e)(r.typedValue,n.typedValue,i.typedValue,o.typedValue)),r)}onTerm1(e,t=!1){return this.set(["term"],(t=>([r])=>e(t)(r)),t)}onTerm3(e){return this.set(["term","term","term"],(t=>([r,n,i])=>e(t)(r,n,i)))}onQuad1(e){return this.set(["quad"],(t=>([r])=>e(t)(r)))}onLiteral1(e,t=!0){return this.set(["literal"],(t=>([r])=>e(t)(r)),t)}onBoolean1(e,t=!0){return this.set([a.TypeURL.XSD_BOOLEAN],(t=>([r])=>e(t)(r)),t)}onBoolean1Typed(e,t=!0){return this.set([a.TypeURL.XSD_BOOLEAN],(t=>([r])=>e(t)(r.typedValue)),t)}onString1(e,t=!0){return this.set([a.TypeURL.XSD_STRING],(t=>([r])=>e(t)(r)),t)}onString1Typed(e,t=!0){return this.set([a.TypeURL.XSD_STRING],(t=>([r])=>e(t)(r.typedValue)),t)}onLangString1(e,t=!0){return this.set([a.TypeURL.RDF_LANG_STRING],(t=>([r])=>e(t)(r)),t)}onStringly1(e,t=!0){return this.set([a.TypeAlias.SPARQL_STRINGLY],(t=>([r])=>e(t)(r)),t)}onStringly1Typed(e,t=!0){return this.set([a.TypeAlias.SPARQL_STRINGLY],(t=>([r])=>e(t)(r.typedValue)),t)}onNumeric1(e,t=!0){return this.set([a.TypeAlias.SPARQL_NUMERIC],(t=>([r])=>e(t)(r)),t)}onDateTime1(e,t=!0){return this.set([a.TypeURL.XSD_DATE_TIME],(t=>([r])=>e(t)(r)),t)}numericConverter(e,t=!0){const r=t=>r=>e(t)(r.typedValue);return this.onUnary(s.TypeURL.XSD_INTEGER,(e=>t=>p(r(e)(t))),t).onUnary(s.TypeURL.XSD_DECIMAL,(e=>t=>h(r(e)(t))),t).onUnary(s.TypeURL.XSD_FLOAT,(e=>t=>f(r(e)(t))),t).onUnary(s.TypeURL.XSD_DOUBLE,(e=>t=>y(r(e)(t))),t)}arithmetic(e,t=!0){const r=t=>(r,n)=>e(t)(r.typedValue,n.typedValue);return this.onBinary([s.TypeURL.XSD_INTEGER,s.TypeURL.XSD_INTEGER],(e=>(t,n)=>p(r(e)(t,n))),t).onBinary([s.TypeURL.XSD_DECIMAL,s.TypeURL.XSD_DECIMAL],(e=>(t,n)=>h(r(e)(t,n))),t).onBinary([s.TypeURL.XSD_FLOAT,s.TypeURL.XSD_FLOAT],(e=>(t,n)=>f(r(e)(t,n))),t).onBinary([s.TypeURL.XSD_DOUBLE,s.TypeURL.XSD_DOUBLE],(e=>(t,n)=>y(r(e)(t,n))),t)}numberTest(e){return this.numeric((t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))))}stringTest(e,t=!0){return this.set([a.TypeURL.XSD_STRING,a.TypeURL.XSD_STRING],(t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))),t)}booleanTest(e,t=!0){return this.set([a.TypeURL.XSD_BOOLEAN,a.TypeURL.XSD_BOOLEAN],(t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))),t)}dateTimeTest(e,t=!0){return this.set([a.TypeURL.XSD_DATE_TIME,a.TypeURL.XSD_DATE_TIME],(t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))),t)}numeric(e){return this.set([a.TypeAlias.SPARQL_NUMERIC,a.TypeAlias.SPARQL_NUMERIC],e)}}function d(e){return new i.BooleanLiteral(e)}function p(e){return new i.IntegerLiteral(e)}function h(e){return new i.DecimalLiteral(e)}function f(e){return new i.FloatLiteral(e)}function y(e){return new i.DoubleLiteral(e)}t.Builder=l,t.bool=d,t.integer=p,t.decimal=h,t.float=f,t.double=y,t.string=function(e){return new i.StringLiteral(e)},t.langString=function(e,t){return new i.LangStringLiteral(e,t)},t.dateTime=function(e,t){return new i.DateTimeLiteral(e,t)},t.expressionToVar=function(e,t){return e.variable(t.name.slice(1))}},34641:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverloadTree=void 0;const n=r(54833),i=r(86273);class o{constructor(e,t){this.identifier=e,this.implementation=void 0,this.generalOverloads=Object.create(null),this.literalOverLoads=[],this.depth=t??0,this.promotionCount=void 0}getSubtree(e){const t=(0,i.asGeneralType)(e);if(t)return this.generalOverloads[t];for(const[t,r]of this.literalOverLoads)if(e===t)return r}getImplementationExact(e){let t=this;for(const r of e)if(t=t.getSubtree(r),!t)return;return t.implementation}search(e,t,r){let i=r[this.identifier],o=0;for(;o({node:e,index:1}))));a.length>0;){const{index:n,node:i}=a.pop();if(n===e.length&&i.implementation)return this.addToCache(r,e,i.implementation),i.implementation;a.push(...i.getSubTreeWithArg(e[n],t).map((e=>({node:e,index:n+1}))))}}addToCache(e,t,r){function i(e,t){return t in e||(e[t]={}),e[t]}let o=i(e,this.identifier);for(const e of t){const t=(0,n.isLiteralTermExpression)(e),r=t?t.dataType:e.termType;o.cache=o.cache??{},o=i(o.cache,r)}o.func=r}addOverload(e,t){this._addOverload([...e],t,0)}_addOverload(e,t,r){const[n,...a]=e;if(!n)return void((void 0===this.promotionCount||r<=this.promotionCount)&&(this.promotionCount=r,this.implementation=t));let s=this.getSubtree(n);if(!s){const e=new o(this.identifier,this.depth+1),t=(0,i.asGeneralType)(n);t&&(this.generalOverloads[t]=e);const r=(0,i.asOverrideType)(n);r&&this.literalOverLoads.push([r,e]),s=e}if(s._addOverload(a,t,r),i.typePromotion[n])for(const e of i.typePromotion[n])this.addPromotedOverload(e.typeToPromote,t,e.conversionFunction,a,r)}addPromotedOverload(e,t,r,n,i){let a=this.getSubtree(e);if(!a){const t=new o(this.identifier,this.depth+1);this.literalOverLoads.push([e,t]),a=t}a._addOverload(n,(e=>n=>t(e)([...n.slice(0,this.depth),r(n[this.depth]),...n.slice(this.depth+1,n.length)])),i+1)}getSubTreeWithArg(e,t){const r=[],o=(0,n.isLiteralTermExpression)(e);if(this.generalOverloads.term&&r.push(this.generalOverloads.term),this.generalOverloads[e.termType]&&r.push(this.generalOverloads[e.termType]),o){const e=(0,i.asKnownLiteralType)(o.dataType);let n;n=e?i.superTypeDictTable[e]:(0,i.getSuperTypes)(o.dataType,t);const a=this.literalOverLoads.filter((([e,t])=>e in n)).map((([e,t])=>[n[e],t]));a.sort((([e,t],[r,n])=>e-r)),r.push(...a.map((([e,t])=>t)))}return r}}t.OverloadTree=o},77545:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LangStringLiteral=t.TimeLiteral=t.DurationLiteral=t.DateLiteral=t.DayTimeDurationLiteral=t.DateTimeLiteral=t.yearMonthDurationsToMonths=t.toUTCDate=t.toDateTimeRepresentation=t.negateDuration=t.extractRawTimeZone=t.defaultedYearMonthDurationRepresentation=t.defaultedDurationRepresentation=t.defaultedDayTimeDurationRepresentation=t.defaultedDateTimeRepresentation=t.dayTimeDurationsToSeconds=t.isSubTypeOf=t.SparqlOperator=t.TypeAlias=t.TypeURL=t.typedLiteral=t.InvalidArity=t.InvalidLexicalForm=t.ExtensionFunctionError=t.CastError=t.UnboundVariableError=t.NoAggregator=t.InError=t.CoalesceError=t.InvalidArgumentTypes=t.InvalidTimezoneCall=t.IncompatibleLanguageOperation=t.RDFEqualTypeError=t.EmptyAggregateError=t.isExpressionError=t.ExpressionError=t.Builder=t.expressionToVar=t.float=t.decimal=t.langString=t.dateTime=t.integer=t.double=t.string=t.bool=t.declare=t.prepareEvaluatorActionContext=t.OverloadTree=t.TermTransformer=void 0,t.trimToDayTimeDuration=t.trimToYearMonthDuration=t.parseDate=t.parseXSDFloat=t.parseXSDDecimal=t.parseYearMonthDuration=t.parseTime=t.parseDuration=t.parseDayTimeDuration=t.parseDateTime=t.elapsedDuration=t.addDurationToDateTime=t.isNonLexicalLiteral=t.StringLiteral=t.NonLexicalLiteral=t.FloatLiteral=t.IntegerLiteral=t.Literal=t.Existence=t.Aggregate=t.DoubleLiteral=t.DefaultGraph=t.DecimalLiteral=t.BlankNode=t.BooleanLiteral=t.NumericLiteral=t.Variable=t.NamedNode=t.Operator=t.Quad=t.YearMonthDurationLiteral=t.Term=void 0;var n=r(53119);Object.defineProperty(t,"TermTransformer",{enumerable:!0,get:function(){return n.TermTransformer}});var i=r(34641);Object.defineProperty(t,"OverloadTree",{enumerable:!0,get:function(){return i.OverloadTree}});var o=r(17845);Object.defineProperty(t,"prepareEvaluatorActionContext",{enumerable:!0,get:function(){return o.prepareEvaluatorActionContext}});var a=r(97618);Object.defineProperty(t,"declare",{enumerable:!0,get:function(){return a.declare}}),Object.defineProperty(t,"bool",{enumerable:!0,get:function(){return a.bool}}),Object.defineProperty(t,"string",{enumerable:!0,get:function(){return a.string}}),Object.defineProperty(t,"double",{enumerable:!0,get:function(){return a.double}}),Object.defineProperty(t,"integer",{enumerable:!0,get:function(){return a.integer}}),Object.defineProperty(t,"dateTime",{enumerable:!0,get:function(){return a.dateTime}}),Object.defineProperty(t,"langString",{enumerable:!0,get:function(){return a.langString}}),Object.defineProperty(t,"decimal",{enumerable:!0,get:function(){return a.decimal}}),Object.defineProperty(t,"float",{enumerable:!0,get:function(){return a.float}}),Object.defineProperty(t,"expressionToVar",{enumerable:!0,get:function(){return a.expressionToVar}}),Object.defineProperty(t,"Builder",{enumerable:!0,get:function(){return a.Builder}});var s=r(98575);Object.defineProperty(t,"ExpressionError",{enumerable:!0,get:function(){return s.ExpressionError}}),Object.defineProperty(t,"isExpressionError",{enumerable:!0,get:function(){return s.isExpressionError}}),Object.defineProperty(t,"EmptyAggregateError",{enumerable:!0,get:function(){return s.EmptyAggregateError}}),Object.defineProperty(t,"RDFEqualTypeError",{enumerable:!0,get:function(){return s.RDFEqualTypeError}}),Object.defineProperty(t,"IncompatibleLanguageOperation",{enumerable:!0,get:function(){return s.IncompatibleLanguageOperation}}),Object.defineProperty(t,"InvalidTimezoneCall",{enumerable:!0,get:function(){return s.InvalidTimezoneCall}}),Object.defineProperty(t,"InvalidArgumentTypes",{enumerable:!0,get:function(){return s.InvalidArgumentTypes}}),Object.defineProperty(t,"CoalesceError",{enumerable:!0,get:function(){return s.CoalesceError}}),Object.defineProperty(t,"InError",{enumerable:!0,get:function(){return s.InError}}),Object.defineProperty(t,"NoAggregator",{enumerable:!0,get:function(){return s.NoAggregator}}),Object.defineProperty(t,"UnboundVariableError",{enumerable:!0,get:function(){return s.UnboundVariableError}}),Object.defineProperty(t,"CastError",{enumerable:!0,get:function(){return s.CastError}}),Object.defineProperty(t,"ExtensionFunctionError",{enumerable:!0,get:function(){return s.ExtensionFunctionError}}),Object.defineProperty(t,"InvalidLexicalForm",{enumerable:!0,get:function(){return s.InvalidLexicalForm}}),Object.defineProperty(t,"InvalidArity",{enumerable:!0,get:function(){return s.InvalidArity}});var c=r(64900);Object.defineProperty(t,"typedLiteral",{enumerable:!0,get:function(){return c.typedLiteral}}),Object.defineProperty(t,"TypeURL",{enumerable:!0,get:function(){return c.TypeURL}}),Object.defineProperty(t,"TypeAlias",{enumerable:!0,get:function(){return c.TypeAlias}}),Object.defineProperty(t,"SparqlOperator",{enumerable:!0,get:function(){return c.SparqlOperator}});var u=r(86273);Object.defineProperty(t,"isSubTypeOf",{enumerable:!0,get:function(){return u.isSubTypeOf}});var l=r(31296);Object.defineProperty(t,"dayTimeDurationsToSeconds",{enumerable:!0,get:function(){return l.dayTimeDurationsToSeconds}}),Object.defineProperty(t,"defaultedDateTimeRepresentation",{enumerable:!0,get:function(){return l.defaultedDateTimeRepresentation}}),Object.defineProperty(t,"defaultedDayTimeDurationRepresentation",{enumerable:!0,get:function(){return l.defaultedDayTimeDurationRepresentation}}),Object.defineProperty(t,"defaultedDurationRepresentation",{enumerable:!0,get:function(){return l.defaultedDurationRepresentation}}),Object.defineProperty(t,"defaultedYearMonthDurationRepresentation",{enumerable:!0,get:function(){return l.defaultedYearMonthDurationRepresentation}}),Object.defineProperty(t,"extractRawTimeZone",{enumerable:!0,get:function(){return l.extractRawTimeZone}}),Object.defineProperty(t,"negateDuration",{enumerable:!0,get:function(){return l.negateDuration}}),Object.defineProperty(t,"toDateTimeRepresentation",{enumerable:!0,get:function(){return l.toDateTimeRepresentation}}),Object.defineProperty(t,"toUTCDate",{enumerable:!0,get:function(){return l.toUTCDate}}),Object.defineProperty(t,"yearMonthDurationsToMonths",{enumerable:!0,get:function(){return l.yearMonthDurationsToMonths}});var d=r(54833);Object.defineProperty(t,"DateTimeLiteral",{enumerable:!0,get:function(){return d.DateTimeLiteral}}),Object.defineProperty(t,"DayTimeDurationLiteral",{enumerable:!0,get:function(){return d.DayTimeDurationLiteral}}),Object.defineProperty(t,"DateLiteral",{enumerable:!0,get:function(){return d.DateLiteral}}),Object.defineProperty(t,"DurationLiteral",{enumerable:!0,get:function(){return d.DurationLiteral}}),Object.defineProperty(t,"TimeLiteral",{enumerable:!0,get:function(){return d.TimeLiteral}}),Object.defineProperty(t,"LangStringLiteral",{enumerable:!0,get:function(){return d.LangStringLiteral}}),Object.defineProperty(t,"Term",{enumerable:!0,get:function(){return d.Term}}),Object.defineProperty(t,"YearMonthDurationLiteral",{enumerable:!0,get:function(){return d.YearMonthDurationLiteral}}),Object.defineProperty(t,"Quad",{enumerable:!0,get:function(){return d.Quad}}),Object.defineProperty(t,"Operator",{enumerable:!0,get:function(){return d.Operator}}),Object.defineProperty(t,"NamedNode",{enumerable:!0,get:function(){return d.NamedNode}}),Object.defineProperty(t,"Variable",{enumerable:!0,get:function(){return d.Variable}}),Object.defineProperty(t,"NumericLiteral",{enumerable:!0,get:function(){return d.NumericLiteral}}),Object.defineProperty(t,"BooleanLiteral",{enumerable:!0,get:function(){return d.BooleanLiteral}}),Object.defineProperty(t,"BlankNode",{enumerable:!0,get:function(){return d.BlankNode}}),Object.defineProperty(t,"DecimalLiteral",{enumerable:!0,get:function(){return d.DecimalLiteral}}),Object.defineProperty(t,"DefaultGraph",{enumerable:!0,get:function(){return d.DefaultGraph}}),Object.defineProperty(t,"DoubleLiteral",{enumerable:!0,get:function(){return d.DoubleLiteral}}),Object.defineProperty(t,"Aggregate",{enumerable:!0,get:function(){return d.Aggregate}}),Object.defineProperty(t,"Existence",{enumerable:!0,get:function(){return d.Existence}}),Object.defineProperty(t,"Literal",{enumerable:!0,get:function(){return d.Literal}}),Object.defineProperty(t,"IntegerLiteral",{enumerable:!0,get:function(){return d.IntegerLiteral}}),Object.defineProperty(t,"FloatLiteral",{enumerable:!0,get:function(){return d.FloatLiteral}}),Object.defineProperty(t,"NonLexicalLiteral",{enumerable:!0,get:function(){return d.NonLexicalLiteral}}),Object.defineProperty(t,"StringLiteral",{enumerable:!0,get:function(){return d.StringLiteral}}),Object.defineProperty(t,"isNonLexicalLiteral",{enumerable:!0,get:function(){return d.isNonLexicalLiteral}});var p=r(84427);Object.defineProperty(t,"addDurationToDateTime",{enumerable:!0,get:function(){return p.addDurationToDateTime}}),Object.defineProperty(t,"elapsedDuration",{enumerable:!0,get:function(){return p.elapsedDuration}});var h=r(29658);Object.defineProperty(t,"parseDateTime",{enumerable:!0,get:function(){return h.parseDateTime}}),Object.defineProperty(t,"parseDayTimeDuration",{enumerable:!0,get:function(){return h.parseDayTimeDuration}}),Object.defineProperty(t,"parseDuration",{enumerable:!0,get:function(){return h.parseDuration}}),Object.defineProperty(t,"parseTime",{enumerable:!0,get:function(){return h.parseTime}}),Object.defineProperty(t,"parseYearMonthDuration",{enumerable:!0,get:function(){return h.parseYearMonthDuration}}),Object.defineProperty(t,"parseXSDDecimal",{enumerable:!0,get:function(){return h.parseXSDDecimal}}),Object.defineProperty(t,"parseXSDFloat",{enumerable:!0,get:function(){return h.parseXSDFloat}}),Object.defineProperty(t,"parseDate",{enumerable:!0,get:function(){return h.parseDate}});var f=r(31296);Object.defineProperty(t,"trimToYearMonthDuration",{enumerable:!0,get:function(){return f.trimToYearMonthDuration}}),Object.defineProperty(t,"trimToDayTimeDuration",{enumerable:!0,get:function(){return f.trimToDayTimeDuration}})},53119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermTransformer=void 0;const n=r(43347),i=r(96331),o=r(54833),a=r(64900),s=r(98575),c=r(98575),u=r(29658),l=r(29658),d=r(86273);t.TermTransformer=class{constructor(e){this.superTypeProvider=e}transformRDFTermUnsafe(e){return this.transformTerm({term:e,type:i.Algebra.types.EXPRESSION,expressionType:i.Algebra.expressionTypes.TERM})}transformTerm(e){if(!e.term)throw new s.InvalidExpression(e);switch(e.term.termType){case"Variable":return new o.Variable(n.termToString(e.term));case"Literal":return this.transformLiteral(e.term);case"NamedNode":return new o.NamedNode(e.term.value);case"BlankNode":return new o.BlankNode(e.term.value);case"Quad":return new o.Quad(this.transformRDFTermUnsafe(e.term.subject),this.transformRDFTermUnsafe(e.term.predicate),this.transformRDFTermUnsafe(e.term.object),this.transformRDFTermUnsafe(e.term.graph));case"DefaultGraph":return new o.DefaultGraph}}transformLiteral(e){if(!e.datatype||[null,void 0,""].includes(e.datatype.value))return e.language?new o.LangStringLiteral(e.value,e.language):new o.StringLiteral(e.value);const t=e.datatype.value,r=(0,d.getSuperTypeDict)(t,this.superTypeProvider);try{if(a.TypeURL.XSD_STRING in r)return new o.StringLiteral(e.value,t);if(a.TypeURL.RDF_LANG_STRING in r)return new o.LangStringLiteral(e.value,e.language);if(a.TypeURL.XSD_YEAR_MONTH_DURATION in r)return new o.YearMonthDurationLiteral((0,u.parseYearMonthDuration)(e.value),e.value,t);if(a.TypeURL.XSD_DAY_TIME_DURATION in r)return new o.DayTimeDurationLiteral((0,u.parseDayTimeDuration)(e.value),e.value,t);if(a.TypeURL.XSD_DURATION in r)return new o.DurationLiteral((0,u.parseDuration)(e.value),e.value,t);if(a.TypeURL.XSD_DATE_TIME in r){const r=new Date(e.value);return Number.isNaN(r.getTime())?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):new o.DateTimeLiteral((0,u.parseDateTime)(e.value),e.value,t)}if(a.TypeURL.XSD_DATE in r)return new o.DateLiteral((0,u.parseDate)(e.value),e.value,t);if(a.TypeURL.XSD_TIME in r)return new o.TimeLiteral((0,u.parseTime)(e.value),e.value,t);if(a.TypeURL.XSD_BOOLEAN in r)return"true"!==e.value&&"false"!==e.value&&"1"!==e.value&&"0"!==e.value?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):new o.BooleanLiteral("true"===e.value||"1"===e.value,e.value);if(a.TypeURL.XSD_DECIMAL in r){const n=l.parseXSDDecimal(e.value);return void 0===n?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):a.TypeURL.XSD_INTEGER in r?new o.IntegerLiteral(n,t,e.value):new o.DecimalLiteral(n,t,e.value)}const n=a.TypeURL.XSD_FLOAT in r,i=a.TypeURL.XSD_DOUBLE in r;if(n||i){const r=l.parseXSDFloat(e.value);return void 0===r?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):n?new o.FloatLiteral(r,t,e.value):new o.DoubleLiteral(r,t,e.value)}return new o.Literal(e.value,t,e.value)}catch(r){if((0,c.isExpressionError)(r))return new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value);throw r}}}},64900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlOperator=t.TypeURL=t.typedLiteral=t.TypeAlias=void 0;const n=r(47793);var i;!function(e){e.SPARQL_NUMERIC="SPARQL_NUMERIC",e.SPARQL_STRINGLY="SPARQL_STRINGLY"}(i||(t.TypeAlias=i={}));const o=new n.DataFactory;var a,s;t.typedLiteral=function(e,t){return o.literal(e,o.namedNode(t))},function(e){e.XSD_ANY_URI="http://www.w3.org/2001/XMLSchema#anyURI",e.XSD_STRING="http://www.w3.org/2001/XMLSchema#string",e.RDF_LANG_STRING="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString",e.XSD_BOOLEAN="http://www.w3.org/2001/XMLSchema#boolean",e.XSD_DATE_TIME="http://www.w3.org/2001/XMLSchema#dateTime",e.XSD_DATE_TIME_STAMP="http://www.w3.org/2001/XMLSchema#dateTimeStamp",e.XSD_DATE="http://www.w3.org/2001/XMLSchema#date",e.XSD_G_MONTH="http://www.w3.org/2001/XMLSchema#gMonth",e.XSD_G_MONTHDAY="http://www.w3.org/2001/XMLSchema#gMonthDay",e.XSD_G_YEAR="http://www.w3.org/2001/XMLSchema#gYear",e.XSD_G_YEAR_MONTH="http://www.w3.org/2001/XMLSchema#gYearMonth",e.XSD_TIME="http://www.w3.org/2001/XMLSchema#time",e.XSD_G_DAY="http://www.w3.org/2001/XMLSchema#gDay",e.XSD_DECIMAL="http://www.w3.org/2001/XMLSchema#decimal",e.XSD_FLOAT="http://www.w3.org/2001/XMLSchema#float",e.XSD_DOUBLE="http://www.w3.org/2001/XMLSchema#double",e.XSD_INTEGER="http://www.w3.org/2001/XMLSchema#integer",e.XSD_NON_POSITIVE_INTEGER="http://www.w3.org/2001/XMLSchema#nonPositiveInteger",e.XSD_NEGATIVE_INTEGER="http://www.w3.org/2001/XMLSchema#negativeInteger",e.XSD_LONG="http://www.w3.org/2001/XMLSchema#long",e.XSD_INT="http://www.w3.org/2001/XMLSchema#int",e.XSD_SHORT="http://www.w3.org/2001/XMLSchema#short",e.XSD_BYTE="http://www.w3.org/2001/XMLSchema#byte",e.XSD_NON_NEGATIVE_INTEGER="http://www.w3.org/2001/XMLSchema#nonNegativeInteger",e.XSD_POSITIVE_INTEGER="http://www.w3.org/2001/XMLSchema#positiveInteger",e.XSD_UNSIGNED_LONG="http://www.w3.org/2001/XMLSchema#unsignedLong",e.XSD_UNSIGNED_INT="http://www.w3.org/2001/XMLSchema#unsignedInt",e.XSD_UNSIGNED_SHORT="http://www.w3.org/2001/XMLSchema#unsignedShort",e.XSD_UNSIGNED_BYTE="http://www.w3.org/2001/XMLSchema#unsignedByte",e.XSD_NORMALIZED_STRING="http://www.w3.org/2001/XMLSchema#normalizedString",e.XSD_TOKEN="http://www.w3.org/2001/XMLSchema#token",e.XSD_LANGUAGE="http://www.w3.org/2001/XMLSchema#language",e.XSD_NM_TOKEN="http://www.w3.org/2001/XMLSchema#NMTOKEN",e.XSD_NAME="http://www.w3.org/2001/XMLSchema#name",e.XSD_NC_NAME="http://www.w3.org/2001/XMLSchema#NCName",e.XSD_ENTITY="http://www.w3.org/2001/XMLSchema#ENTITY",e.XSD_ID="http://www.w3.org/2001/XMLSchema#ID",e.XSD_ID_REF="http://www.w3.org/2001/XMLSchema#IDREF",e.XSD_DURATION="http://www.w3.org/2001/XMLSchema#duration",e.XSD_YEAR_MONTH_DURATION="http://www.w3.org/2001/XMLSchema#yearMonthDuration",e.XSD_DAY_TIME_DURATION="http://www.w3.org/2001/XMLSchema#dayTimeDuration"}(a||(t.TypeURL=a={})),function(e){e.NOT="!",e.UMINUS="uminus",e.UPLUS="uplus",e.LOGICAL_OR="||",e.LOGICAL_AND="&&",e.EQUAL="=",e.NOT_EQUAL="!=",e.LT="<",e.GT=">",e.LTE="<=",e.GTE=">=",e.SAME_TERM="sameterm",e.IN="in",e.NOT_IN="notin",e.MULTIPLICATION="*",e.DIVISION="/",e.ADDITION="+",e.SUBTRACTION="-",e.IS_IRI="isiri",e.IS_URI="isuri",e.IS_BLANK="isblank",e.IS_LITERAL="isliteral",e.IS_NUMERIC="isnumeric",e.STR="str",e.LANG="lang",e.DATATYPE="datatype",e.IRI="iri",e.URI="uri",e.BNODE="bnode",e.STRDT="strdt",e.STRLANG="strlang",e.UUID="uuid",e.STRUUID="struuid",e.STRLEN="strlen",e.SUBSTR="substr",e.UCASE="ucase",e.LCASE="lcase",e.STRSTARTS="strstarts",e.STRENDS="strends",e.CONTAINS="contains",e.STRBEFORE="strbefore",e.STRAFTER="strafter",e.ENCODE_FOR_URI="encode_for_uri",e.CONCAT="concat",e.LANG_MATCHES="langmatches",e.REGEX="regex",e.REPLACE="replace",e.ABS="abs",e.ROUND="round",e.CEIL="ceil",e.FLOOR="floor",e.RAND="rand",e.NOW="now",e.YEAR="year",e.MONTH="month",e.DAY="day",e.HOURS="hours",e.MINUTES="minutes",e.SECONDS="seconds",e.TIMEZONE="timezone",e.TZ="tz",e.MD5="md5",e.SHA1="sha1",e.SHA256="sha256",e.SHA384="sha384",e.SHA512="sha512",e.TRIPLE="triple",e.SUBJECT="subject",e.PREDICATE="predicate",e.OBJECT="object",e.IS_TRIPLE="istriple",e.BOUND="bound",e.IF="if",e.COALESCE="coalesce"}(s||(t.SparqlOperator=s={}))},17845:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prepareEvaluatorActionContext=void 0;const n=r(90711),i=r(89096),o=r(31296);t.prepareEvaluatorActionContext=function(e){let t=e;if(t.has(n.KeysInitQuery.extensionFunctionCreator)&&t.has(n.KeysInitQuery.extensionFunctions))throw new Error("Illegal simultaneous usage of extensionFunctionCreator and extensionFunctions in context");if(t.has(n.KeysInitQuery.extensionFunctionCreator))t=t.set(n.KeysExpressionEvaluator.extensionFunctionCreator,t.get(n.KeysInitQuery.extensionFunctionCreator));else if(t.has(n.KeysInitQuery.extensionFunctions)){const e=t.getSafe(n.KeysInitQuery.extensionFunctions);t=t.set(n.KeysExpressionEvaluator.extensionFunctionCreator,(async t=>e[t.value]))}else t=t.setDefault(n.KeysExpressionEvaluator.extensionFunctionCreator,(async()=>{}));return t=t.setDefault(n.KeysExpressionEvaluator.defaultTimeZone,(0,o.extractTimeZone)(t.getSafe(n.KeysInitQuery.queryTimestamp))),t=t.setDefault(n.KeysExpressionEvaluator.superTypeProvider,{cache:new i.LRUCache({max:1e3}),discoverer:()=>"term"}),t}},31296:(e,t)=>{"use strict";function r(e){return{day:e.day??0,hours:e.hours??0,minutes:e.minutes??0,seconds:e.seconds??0}}function n(e){return{year:e.year??0,month:e.month??0}}function i(e){return{...r(e),...n(e)}}function o(e){return{...e,day:e.day??1,hours:e.hours??0,month:e.month??1,year:e.year??0,seconds:e.seconds??0,minutes:e.minutes??0}}function a(e){const t=new Date(e.year,e.month-1,e.day,e.hours,e.minutes,Math.trunc(e.seconds),e.seconds%1*1e3);if(e.year>=0&&e.year<100){const e=1900;t.setFullYear(t.getFullYear()-e)}return t}Object.defineProperty(t,"__esModule",{value:!0}),t.extractTimeZone=t.extractRawTimeZone=t.dayTimeDurationsToSeconds=t.yearMonthDurationsToMonths=t.trimToDayTimeDuration=t.trimToYearMonthDuration=t.toUTCDate=t.toJSDate=t.negateDuration=t.toDateTimeRepresentation=t.defaultedDateTimeRepresentation=t.simplifyDurationRepresentation=t.defaultedDurationRepresentation=t.defaultedYearMonthDurationRepresentation=t.defaultedDayTimeDurationRepresentation=void 0,t.defaultedDayTimeDurationRepresentation=r,t.defaultedYearMonthDurationRepresentation=n,t.defaultedDurationRepresentation=i,t.simplifyDurationRepresentation=function(e){const t=i(e),r={},n=t.year+Math.trunc(t.month/12);n&&(r.year=n,t.month%=12),t.month&&(r.month=t.month);const o=t.day+Math.trunc(t.hours/24)+Math.trunc(t.minutes/1440)+Math.trunc(t.seconds/86400);o&&(r.day=o,t.hours%=24,t.minutes%=1440,t.seconds%=86400);const a=t.hours+Math.trunc(t.minutes/60)+Math.trunc(t.seconds/3600);a&&(r.hours=a,t.minutes%=60,t.seconds%=3600);const s=t.minutes+Math.trunc(t.seconds/60);return s&&(r.minutes=s,t.seconds%=60),t.seconds&&(r.seconds=t.seconds),r},t.defaultedDateTimeRepresentation=o,t.toDateTimeRepresentation=function({date:e,timeZone:t}){return{year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate(),hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),zoneHours:t.zoneHours,zoneMinutes:t.zoneMinutes}},t.negateDuration=function(e){return{year:void 0===e.year?void 0:-1*e.year,month:void 0===e.month?void 0:-1*e.month,day:void 0===e.day?void 0:-1*e.day,hours:void 0===e.hours?void 0:-1*e.hours,minutes:void 0===e.minutes?void 0:-1*e.minutes,seconds:void 0===e.seconds?void 0:-1*e.seconds}},t.toJSDate=a,t.toUTCDate=function(e,t){const r=a(o(e)),n=r.getTimezoneOffset(),i=e.zoneHours??t.zoneHours,s=e.zoneMinutes??t.zoneMinutes;return new Date(r.getTime()-60*(n+60*i+s)*1e3)},t.trimToYearMonthDuration=function(e){return{year:e.year,month:e.month}},t.trimToDayTimeDuration=function(e){return{day:e.day,hours:e.hours,minutes:e.minutes,seconds:e.seconds}},t.yearMonthDurationsToMonths=function(e){return 12*e.year+e.month},t.dayTimeDurationsToSeconds=function(e){return 60*(60*(24*e.day+e.hours)+e.minutes)+e.seconds},t.extractRawTimeZone=function(e){return/(Z|([+-]\d\d:\d\d))?$/u.exec(e)[0]},t.extractTimeZone=function(e){return{zoneHours:e.getTimezoneOffset()/60,zoneMinutes:e.getTimezoneOffset()%60}}},98575:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NoAggregator=t.ExtensionFunctionError=t.InvalidExpression=t.InvalidArity=t.UnexpectedError=t.ParseError=t.EmptyAggregateError=t.IncompatibleLanguageOperation=t.InvalidTimezoneCall=t.CastError=t.InvalidArgumentTypes=t.InError=t.CoalesceError=t.RDFEqualTypeError=t.EBVCoercionError=t.UnboundVariableError=t.InvalidLexicalForm=t.isExpressionError=t.ExpressionError=void 0;class r extends Error{}t.ExpressionError=r,t.isExpressionError=function(e){return e instanceof r},t.InvalidLexicalForm=class extends r{constructor(e){super(`Invalid lexical form '${c(e)}'`),this.arg=e}},t.UnboundVariableError=class extends r{constructor(e,t){super(`Unbound variable '${c(e)}'`),this.variable=e,this.bindings=t}},t.EBVCoercionError=class extends r{constructor(e){super(`Cannot coerce term to EBV '${c(e)}'`),this.arg=e}},t.RDFEqualTypeError=class extends r{constructor(e){super("Equality test for literals with unsupported datatypes"),this.args=e}},t.CoalesceError=class extends r{constructor(e){super("All COALESCE arguments threw errors"),this.errors=e}},t.InError=class extends r{constructor(e){super(`Some argument to IN errorred and none where equal. ${e.map((e=>`(${e.toString()}) `)).join("and ")}`),this.errors=e}},t.InvalidArgumentTypes=class extends r{constructor(e,t){super(`Argument types not valid for operator: '${c(t)}' with '${c(e)}`),this.args=e,this.op=t}},t.CastError=class extends r{constructor(e,t){super(`Invalid cast: '${c(e)}' to '${c(t)}'`),this.arg=e}},t.InvalidTimezoneCall=class extends r{constructor(e){super(`TIMEZONE call on ${e} which has no timezone`),this.dateString=e}},t.IncompatibleLanguageOperation=class extends r{constructor(e,t){super(`Operation on incompatible language literals '${c(e)}' and '${c(t)}'`),this.arg1=e,this.arg2=t}},t.EmptyAggregateError=class extends r{constructor(){super("Empty aggregate expression")}},t.ParseError=class extends r{constructor(e,t){super(`Failed to parse "${e}" as ${t}.`)}};class n extends Error{constructor(e,t){super(`Programmer Error '${e}'`),this.payload=t}}t.UnexpectedError=n;class i extends Error{constructor(e,t){super(`The number of args does not match the arity of the operator '${c(t)}'.`),this.args=e,this.op=t}}t.InvalidArity=i;class o extends Error{constructor(e){super(`Invalid SPARQL Expression '${c(e)}'`)}}t.InvalidExpression=o;class a extends Error{constructor(e,t){t instanceof Error?super(`Error thrown in ${e}: ${t.message}${t.stack?`\n${t.stack}`:""}`):super(`Error thrown in ${e}`)}}t.ExtensionFunctionError=a;class s extends Error{constructor(e){super(`Aggregate expression ${c(e)} found, but no aggregate hook provided.`)}}function c(e){return JSON.stringify(e)}t.NoAggregator=s},29658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseDayTimeDuration=t.parseYearMonthDuration=t.parseDuration=t.parseTime=t.parseDate=t.parseDateTime=t.parseXSDDecimal=t.parseXSDFloat=void 0;const n=r(31296),i=r(98575),o=r(84427);function a(e){if(""===e)return{zoneHours:void 0,zoneMinutes:void 0};if("Z"===e)return{zoneHours:0,zoneMinutes:0};const t=e.replaceAll(/^([+|-])(\d\d):(\d\d)$/gu,"$11!$2!$3").split("!").map(Number);return{zoneHours:t[0]*t[1],zoneMinutes:t[0]*t[2]}}function s(e){const t=e.replaceAll(/^(-)?([123456789]*\d{4})-(\d\d)-(\d\d)(Z|([+-]\d\d:\d\d))?$/gu,"$11!$2!$3!$4!$5");if(t===e)throw new i.ParseError(e,"date");const r=t.split("!"),n=r.slice(0,-1).map(Number),s={year:n[0]*n[1],month:n[2],day:n[3],...a(r[4])};if(!(s.month>=1&&s.month<=12&&s.day>=1&&s.day<=(0,o.maximumDayInMonthFor)(s.year,s.month)))throw new i.ParseError(e,"date");return s}function c(e){const t=e.replaceAll(/^(\d\d):(\d\d):(\d\d(\.\d+)?)(Z|([+-]\d\d:\d\d))?$/gu,"$1!$2!$3!$5");if(t===e)throw new i.ParseError(e,"time");const r=t.split("!"),n=r.slice(0,-1).map(Number),o={hours:n[0],minutes:n[1],seconds:n[2],...a(r[3])};if(o.seconds>=60||o.minutes>=60||o.hours>24||24===o.hours&&(0!==o.minutes||0!==o.seconds))throw new i.ParseError(e,"time");return o}function u(e){const[t,r]=e.split("T"),o=t.replaceAll(/^(-)?P(\d+Y)?(\d+M)?(\d+D)?$/gu,"$11S!$2!$3!$4");if(o===t)throw new i.ParseError(e,"duration");const a=o.split("!");if(void 0!==r){const t=r.replaceAll(/^(\d+H)?(\d+M)?(\d+(\.\d+)?S)?$/gu,"$1!$2!$3");if(""===r||r===t)throw new i.ParseError(e,"duration");a.push(...t.split("!"))}const s=a.map((e=>e.slice(0,-1)));if(!s.slice(1).some(Boolean))throw new i.ParseError(e,"duration");const c=Number(s[0]);return(0,n.simplifyDurationRepresentation)({year:s[1]?c*Number(s[1]):void 0,month:s[2]?c*Number(s[2]):void 0,day:s[3]?c*Number(s[3]):void 0,hours:s[4]?c*Number(s[4]):void 0,minutes:s[5]?c*Number(s[5]):void 0,seconds:s[6]?c*Number(s[6]):void 0})}t.parseXSDFloat=function(e){const t=Number(e);return Number.isNaN(t)?"NaN"===e?Number.NaN:"INF"===e||"+INF"===e?Number.POSITIVE_INFINITY:"-INF"===e?Number.NEGATIVE_INFINITY:void 0:t},t.parseXSDDecimal=function(e){const t=Number(e);return Number.isNaN(t)?void 0:t},t.parseDateTime=function(e){const[t,r]=e.split("T");if(void 0===r)throw new i.ParseError(e,"dateTime");return{...s(t),...c(r)}},t.parseDate=s,t.parseTime=function(e){const t=c(e);return t.hours%=24,t},t.parseDuration=u,t.parseYearMonthDuration=function(e){const t=u(e);if(["hours","minutes","seconds","day"].some((e=>Boolean(t[e]))))throw new i.ParseError(e,"yearMonthDuration");return t},t.parseDayTimeDuration=function(e){const t=u(e);if(["year","month"].some((e=>Boolean(t[e]))))throw new i.ParseError(e,"dayTimeDuration");return t}},72374:(e,t)=>{"use strict";function r(e,t=2){return e.toLocaleString(void 0,{minimumIntegerDigits:t,useGrouping:!1})}function n(e){return void 0===e.zoneHours||void 0===e.zoneMinutes?"":0===e.zoneHours&&0===e.zoneMinutes?"Z":`${e.zoneHours>=0?`+${r(e.zoneHours)}`:r(e.zoneHours)}:${r(Math.abs(e.zoneMinutes))}`}function i(e){return`${r(e.year,4)}-${r(e.month)}-${r(e.day)}${n(e)}`}function o(e){return`${r(e.hours)}:${r(e.minutes)}:${r(e.seconds)}${n(e)}`}Object.defineProperty(t,"__esModule",{value:!0}),t.serializeDuration=t.serializeTime=t.serializeDate=t.serializeDateTime=void 0,t.serializeDateTime=function(e){return`${i({year:e.year,month:e.month,day:e.day})}T${o(e)}`},t.serializeDate=i,t.serializeTime=o,t.serializeDuration=function(e,t="PT0S"){if(!Object.values(e).some((e=>0!==(e||0))))return t;const r=`${Object.values(e).some((e=>(e||0)<0))?"-":""}P${e.year?`${Math.abs(e.year)}Y`:""}${e.month?`${Math.abs(e.month)}M`:""}${e.day?`${Math.abs(e.day)}D`:""}`;return e.hours||e.minutes||e.seconds?`${r}T${e.hours?`${Math.abs(e.hours)}H`:""}${e.minutes?`${Math.abs(e.minutes)}M`:""}${e.seconds?`${Math.abs(e.seconds)}S`:""}`:r}},84427:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.elapsedDuration=t.addDurationToDateTime=t.maximumDayInMonthFor=void 0;const n=r(31296);function i(e,t,r=0){const n=e-r,i=t-r,o=Math.floor(n/i);return{intDiv:o,remainder:e-o*i}}function o(e,t){const{intDiv:r,remainder:n}=i(t,13,1),o=e+r;return[1,3,5,7,8,10,12].includes(n)?31:[4,6,9,11].includes(n)?30:2===n&&(0===i(o,400).remainder||0!==i(o,100).remainder&&0===i(o,4).remainder)?29:28}t.maximumDayInMonthFor=o,t.addDurationToDateTime=function(e,t){const r={...e};let n=i(e.month+t.month,13,1);for(r.month=n.remainder,r.year=e.year+t.year+n.intDiv,n=i(e.seconds+t.seconds,60),r.seconds=n.remainder,n=i(e.minutes+t.minutes+n.intDiv,60),r.minutes=n.remainder,n=i(e.hours+t.hours+n.intDiv,24),r.hours=n.remainder,r.day=e.day+t.day+n.intDiv;;){let e;if(r.day<1)r.day+=o(r.year,r.month-1),e=-1;else{if(!(r.day>o(r.year,r.month)))break;r.day-=o(r.year,r.month),e=1}n=i(r.month+e,13,1),r.month=n.remainder,r.year+=n.intDiv}return r},t.elapsedDuration=function(e,t,r){const i=(0,n.toUTCDate)(e,r),o=(0,n.toUTCDate)(t,r),a=i.getTime()-o.getTime();return{day:Math.floor(a/864e5),hours:Math.floor(a%864e5/36e5),minutes:Math.floor(a%36e5/6e4),seconds:a%6e4}}},86273:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typePromotion=t.isSubTypeOf=t.getSuperTypeDict=t.isInternalSubType=t.asGeneralType=t.asOverrideType=t.asKnownLiteralType=t.asTypeAlias=t.typeAliasCheck=t.extensionTableInit=t.getSuperTypes=t.superTypeDictTable=t.extensionTableInput=void 0;const n=r(54833),i=r(97618),o=r(64900);function a(e,r){const n=r.cache.get(e);if(n)return n;const i=r.discoverer(e);if("term"===i){const t=Object.create(null);return t.__depth=0,t[e]=0,r.cache.set(e,t),t}let o;const s=u(i);return o=s?{...t.superTypeDictTable[s]}:{...a(i,r)},o.__depth++,o[e]=o.__depth,r.cache.set(e,o),o}function s(){for(const[e,r]of Object.entries(t.extensionTableInput)){const n=e;t.superTypeDictTable[n]||c(n,r,t.superTypeDictTable)}}function c(e,r,n){if("term"===r||void 0===r){const t=Object.create(null);return t.__depth=0,t[e]=0,void(n[e]=t)}n[r]||c(r,t.extensionTableInput[r],n),n[e]={...n[r],[e]:n[r].__depth+1,__depth:n[r].__depth+1}}function u(e){if(e in t.superTypeDictTable)return e}function l(e,r){const n=u(e);return n?t.superTypeDictTable[n]:a(e,r)}t.extensionTableInput={[o.TypeURL.XSD_DATE_TIME_STAMP]:o.TypeURL.XSD_DATE_TIME,[o.TypeURL.XSD_DAY_TIME_DURATION]:o.TypeURL.XSD_DURATION,[o.TypeURL.XSD_YEAR_MONTH_DURATION]:o.TypeURL.XSD_DURATION,[o.TypeURL.RDF_LANG_STRING]:o.TypeAlias.SPARQL_STRINGLY,[o.TypeURL.XSD_STRING]:o.TypeAlias.SPARQL_STRINGLY,[o.TypeURL.XSD_NORMALIZED_STRING]:o.TypeURL.XSD_STRING,[o.TypeURL.XSD_TOKEN]:o.TypeURL.XSD_NORMALIZED_STRING,[o.TypeURL.XSD_LANGUAGE]:o.TypeURL.XSD_TOKEN,[o.TypeURL.XSD_NM_TOKEN]:o.TypeURL.XSD_TOKEN,[o.TypeURL.XSD_NAME]:o.TypeURL.XSD_TOKEN,[o.TypeURL.XSD_NC_NAME]:o.TypeURL.XSD_NAME,[o.TypeURL.XSD_ENTITY]:o.TypeURL.XSD_NC_NAME,[o.TypeURL.XSD_ID]:o.TypeURL.XSD_NC_NAME,[o.TypeURL.XSD_ID_REF]:o.TypeURL.XSD_NC_NAME,[o.TypeURL.XSD_DOUBLE]:o.TypeAlias.SPARQL_NUMERIC,[o.TypeURL.XSD_FLOAT]:o.TypeAlias.SPARQL_NUMERIC,[o.TypeURL.XSD_DECIMAL]:o.TypeAlias.SPARQL_NUMERIC,[o.TypeURL.XSD_INTEGER]:o.TypeURL.XSD_DECIMAL,[o.TypeURL.XSD_NON_POSITIVE_INTEGER]:o.TypeURL.XSD_INTEGER,[o.TypeURL.XSD_NEGATIVE_INTEGER]:o.TypeURL.XSD_NON_POSITIVE_INTEGER,[o.TypeURL.XSD_LONG]:o.TypeURL.XSD_INTEGER,[o.TypeURL.XSD_INT]:o.TypeURL.XSD_LONG,[o.TypeURL.XSD_SHORT]:o.TypeURL.XSD_INT,[o.TypeURL.XSD_BYTE]:o.TypeURL.XSD_SHORT,[o.TypeURL.XSD_NON_NEGATIVE_INTEGER]:o.TypeURL.XSD_INTEGER,[o.TypeURL.XSD_POSITIVE_INTEGER]:o.TypeURL.XSD_NON_NEGATIVE_INTEGER,[o.TypeURL.XSD_UNSIGNED_LONG]:o.TypeURL.XSD_NON_NEGATIVE_INTEGER,[o.TypeURL.XSD_UNSIGNED_INT]:o.TypeURL.XSD_UNSIGNED_LONG,[o.TypeURL.XSD_UNSIGNED_SHORT]:o.TypeURL.XSD_UNSIGNED_INT,[o.TypeURL.XSD_UNSIGNED_BYTE]:o.TypeURL.XSD_UNSIGNED_SHORT,[o.TypeURL.XSD_DATE_TIME]:"term",[o.TypeURL.XSD_BOOLEAN]:"term",[o.TypeURL.XSD_DATE]:"term",[o.TypeURL.XSD_G_MONTH]:"term",[o.TypeURL.XSD_G_MONTHDAY]:"term",[o.TypeURL.XSD_G_YEAR]:"term",[o.TypeURL.XSD_G_YEAR_MONTH]:"term",[o.TypeURL.XSD_TIME]:"term",[o.TypeURL.XSD_G_DAY]:"term",[o.TypeURL.XSD_DURATION]:"term",[o.TypeAlias.SPARQL_NUMERIC]:"term",[o.TypeAlias.SPARQL_STRINGLY]:"term",[o.TypeURL.XSD_ANY_URI]:"term"},t.superTypeDictTable=Object.create(null),t.getSuperTypes=a,t.extensionTableInit=s,s(),t.typeAliasCheck=Object.create(null),function(){for(const e of Object.values(o.TypeAlias))t.typeAliasCheck[e]=!0}(),t.asTypeAlias=function(e){if(e in t.typeAliasCheck)return e},t.asKnownLiteralType=u,t.asOverrideType=function(e){if(u(e)??"term"===e)return e},t.asGeneralType=function(e){if("term"===e||(0,n.asTermType)(e))return e},t.isInternalSubType=function(e,r){return"term"!==e&&t.superTypeDictTable[e]&&void 0!==t.superTypeDictTable[e][r]},t.getSuperTypeDict=l,t.isSubTypeOf=function(e,t,r){return"term"!==e&&void 0!==l(e,r)[t]},t.typePromotion={[o.TypeURL.XSD_STRING]:[{typeToPromote:o.TypeURL.XSD_ANY_URI,conversionFunction:e=>(0,i.string)(e.str())}],[o.TypeURL.XSD_DOUBLE]:[{typeToPromote:o.TypeURL.XSD_FLOAT,conversionFunction:e=>(0,i.double)(e.typedValue)},{typeToPromote:o.TypeURL.XSD_DECIMAL,conversionFunction:e=>(0,i.double)(e.typedValue)}],[o.TypeURL.XSD_FLOAT]:[{typeToPromote:o.TypeURL.XSD_DECIMAL,conversionFunction:e=>(0,i.float)(e.typedValue)}]}},77571:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChunkedIterator=void 0;const n=r(75627);class i extends n.TransformIterator{constructor(e,t,r){super(e,r),this.chunk=[],this.blockSize=t}consumeChunkAsIterator(){const e=new n.ArrayIterator(this.chunk,{autoStart:!1});return this.chunk=[],e}_transform(e,t,r){this.chunk.push(e),this.chunk.length>=this.blockSize&&r(this.consumeChunkAsIterator()),t()}_flush(e){this.chunk.length>0&&this._push(this.consumeChunkAsIterator()),super._flush(e)}}t.ChunkedIterator=i},40274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClosableIterator=void 0;const n=r(75627);class i extends n.AsyncIterator{constructor(e,t){super(),this.onClose=t.onClose,this._source=e,this._source[n.DESTINATION]=this,this._source.on("end",s),this._source.on("error",a),this._source.on("readable",o),this.readable=this._source.readable}read(){const e=this._source.read();return e||(this.readable=!1,this._source.done&&this.close()),e}_end(e){this.onClose(),this._source.removeListener("end",s),this._source.removeListener("error",a),this._source.removeListener("readable",o),delete this._source[n.DESTINATION],this._source.destroy(),super._end(e)}}function o(){this[n.DESTINATION].readable=!0}function a(e){this[n.DESTINATION].emit("error",e)}function s(){this[n.DESTINATION].close()}t.ClosableIterator=i},54236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClosableTransformIterator=void 0;const n=r(75627);class i extends n.TransformIterator{constructor(e,t){super(e,t),this.onClose=t.onClose}_end(e){this.onClose(),super._end(e)}}t.ClosableTransformIterator=i},4809:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77571),t),i(r(40274),t),i(r(54236),t),i(r(44858),t)},44858:(e,t)=>{"use strict";function r(e,t,n){if(!("_profileInstrumented"in e)){if(e._profileInstrumented=!0,"_read"in e){const r=e._read;e._read=(n,i)=>{const o=performance.now();r.call(e,n,(()=>{t.timeSelf+=performance.now()-o,i()}))}}if("read"in e){const r=e.read;e.read=()=>{const i=performance.now(),o=r.call(e);return n&&o&&t.count++,t.timeSelf+=performance.now()-i,o}}if(n){const r=performance.now();e.on("end",(()=>{t.timeLife=performance.now()-r}))}"_source"in e&&r(e._source,t,!1)}}Object.defineProperty(t,"__esModule",{value:!0}),t.instrumentIterator=void 0,t.instrumentIterator=function(e){const t={count:0,timeSelf:0,timeLife:0};return r(e,t,!0),new Promise((r=>{e.on("end",(()=>{r(t)}))}))}},32549:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MetadataValidationState=void 0,t.MetadataValidationState=class{constructor(){this.invalidateListeners=[],this.valid=!0}addInvalidateListener(e){this.invalidateListeners.push(e)}invalidate(){if(this.valid){this.valid=!1;for(const e of this.invalidateListeners)e()}}}},2527:(e,t)=>{"use strict";function r(e){for(const t of["cardinality"])if(!(t in e))throw new Error(`Invalid metadata: missing ${t} in ${JSON.stringify(e)}`);return e}function n(e){for(const t of["cardinality","variables"])if(!(t in e))throw new Error(`Invalid metadata: missing ${t} in ${JSON.stringify(e)}`);return e}function i(e){let t;return()=>(t||(t=e(),t.then((e=>e.state.addInvalidateListener((()=>{t=void 0})))).catch((()=>{}))),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.cachifyMetadata=t.validateMetadataBindings=t.validateMetadataQuads=t.getMetadataBindings=t.getMetadataQuads=void 0,t.getMetadataQuads=function(e){return i((()=>new Promise(((t,r)=>{e.getProperty("metadata",(e=>t(e))),e.on("error",r)})).then((e=>r(e)))))},t.getMetadataBindings=function(e){return i((()=>new Promise(((t,r)=>{e.getProperty("metadata",(e=>t(e))),e.on("error",r)})).then((e=>n(e)))))},t.validateMetadataQuads=r,t.validateMetadataBindings=n,t.cachifyMetadata=i},99214:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(32549),t),i(r(2527),t)},11582:(e,t)=>{"use strict";function r(e,t,i,o){if("conjunction"===t.type)return t.children.every((t=>r(e,t,i,o)));if("disjunction"===t.type)return t.children.some((t=>r(e,t,i,o)));if("arity"===t.type)return r(e,t.child,i,o);if((o?.joinBindings&&!t.joinBindings)??(o?.filterBindings&&!t.filterBindings))return!1;const a=t.operation;switch(a.operationType){case"type":return!!n(e,0,i,o)&&a.type===i.type;case"pattern":return!!n(e,0,i,o)&&a.pattern.type===i.type;case"wildcard":return!0}}function n(e,t,n,i){return!(n.input&&!(Array.isArray(n.input)?n.input:[n.input]).every((t=>r(e,e,t,i))))&&!(n.patterns&&!n.patterns.every((t=>r(e,e,t,i))))}Object.defineProperty(t,"__esModule",{value:!0}),t.doesShapeAcceptOperation=void 0,t.doesShapeAcceptOperation=function(e,t,n){return r(e,e,t,n)}},45534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.materializeOperation=t.materializeTerm=void 0;const n=r(43347),i=r(3285),o=r(96331);function a(e,t){if("Variable"===e.termType){const r=t.get(e);if(r)return r}return"Quad"===e.termType&&(0,i.someTermsNested)(e,(e=>"Variable"===e.termType))?(0,i.mapTermsNested)(e,(e=>a(e,t))):e}function s(e,t,r){const i=[];for(const[o,a]of t)if(!r||r.some((e=>e.equals(o)))){const t={[(0,n.termToString)(o)]:a};i.push(e.createValues([o],[t]))}return i}t.materializeTerm=a,t.materializeOperation=function e(t,r,i,c,u={}){return u={strictTargetVariables:"strictTargetVariables"in u&&u.strictTargetVariables,bindFilter:!("bindFilter"in u)||u.bindFilter,originalBindings:"originalBindings"in u?u.originalBindings:r},o.Util.mapOperation(t,{path:(e,t)=>({recurse:!1,result:Object.assign(t.createPath(a(e.subject,r),e.predicate,a(e.object,r),a(e.graph,r)),{metadata:e.metadata})}),pattern:(e,t)=>({recurse:!1,result:Object.assign(t.createPattern(a(e.subject,r),a(e.predicate,r),a(e.object,r),a(e.graph,r)),{metadata:e.metadata})}),extend(t){if(r.has(t.variable)){if(u.strictTargetVariables)throw new Error(`Tried to bind variable ${(0,n.termToString)(t.variable)} in a BIND operator.`);return{recurse:!0,result:e(t.input,r,i,c,u)}}return{recurse:!0,result:t}},group(e,t){if(u.strictTargetVariables){for(const t of e.variables)if(r.has(t))throw new Error(`Tried to bind variable ${(0,n.termToString)(t)} in a GROUP BY operator.`);return{recurse:!0,result:e}}const i=e.variables.filter((e=>!r.has(e)));return{recurse:!0,result:t.createGroup(e.input,i,e.aggregates)}},filter(t,n){const o=u.originalBindings;if("operator"!==t.expression.expressionType||0===o.size)return{recurse:!1,result:t};const a=s(n,o),l=e(t.expression,r,i,c,u);let d=e(t.input,r,i,c,u);return a.length>0&&(d=n.createJoin([...a,d])),{recurse:!1,result:n.createFilter(d,l)}},project(t,o){if(u.strictTargetVariables){for(const e of t.variables)if(r.has(e))throw new Error(`Tried to bind variable ${(0,n.termToString)(e)} in a SELECT operator.`);return{recurse:!0,result:t}}for(const e of r.keys())for(const n of t.variables)if(n.equals(e)){r=r.delete(e);break}const a=s(o,u.originalBindings,t.variables);let l=e(t.input,r,i,c,u);return a.length>0&&(l=o.createJoin([...a,l])),{recurse:!1,result:o.createProject(l,t.variables)}},values(e,t){if(!u.strictTargetVariables){const i=e.variables.filter((e=>!r.has(e))),o=e.bindings.map((e=>{const t={...e};let i=!0;return r.forEach(((e,r)=>{const o=(0,n.termToString)(r);o in t&&(e.equals(t[o])||(i=!1),delete t[o])})),i?t:void 0})).filter(Boolean);return{recurse:!0,result:t.createValues(i,o)}}for(const t of e.variables)if(r.has(t))throw new Error(`Tried to bind variable ${(0,n.termToString)(t)} in a VALUES operator.`);return{recurse:!1,result:e}},expression(e,t){if(!u.bindFilter)return{recurse:!1,result:e};if("term"===e.expressionType)return{recurse:!1,result:t.createTermExpression(a(e.term,r))};if("operator"===e.expressionType)return"bound"===e.operator&&1===e.args.length&&"term"===e.args[0].expressionType&&[...r.keys()].some((t=>e.args[0].term.equals(t)))?{recurse:!1,result:t.createTermExpression(t.dataFactory.literal("true",t.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean")))}:{recurse:!0,result:e};if("aggregate"===e.expressionType&&"variable"in e&&r.has(e.variable)){if(u.strictTargetVariables)throw new Error(`Tried to bind ${(0,n.termToString)(e.variable)} in a ${e.aggregator} aggregate.`);return{recurse:!0,result:e}}return{recurse:!0,result:e}}},i)}},6072:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeOperationSource=t.assignOperationSource=t.getOperationSource=t.testReadOnly=t.validateQueryOutput=t.getSafeVoid=t.getSafeBoolean=t.getSafeQuads=t.getSafeBindings=void 0;const n=r(90711),i=r(90412);function o(e,t){if(e.type!==t)throw new Error(`Invalid query output type: Expected '${t}' but got '${e.type}'`)}t.getSafeBindings=function(e){return o(e,"bindings"),e},t.getSafeQuads=function(e){return o(e,"quads"),e},t.getSafeBoolean=function(e){return o(e,"boolean"),e},t.getSafeVoid=function(e){return o(e,"void"),e},t.validateQueryOutput=o,t.testReadOnly=function(e){return e.get(n.KeysQueryOperation.readOnly)?(0,i.failTest)("Attempted a write operation in read-only mode"):(0,i.passTestVoid)()},t.getOperationSource=function(e){return e.metadata?.scopedSource},t.assignOperationSource=function(e,t){return(e={...e}).metadata=e.metadata?{...e.metadata}:{},e.metadata.scopedSource=t,e},t.removeOperationSource=function(e){delete e.metadata?.scopedSource,e.metadata&&0===Object.keys(e.metadata).length&&delete e.metadata}},67021:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11582),t),i(r(6072),t),i(r(45534),t)},76516:function(e){var t;t=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=22)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r=4){for(var e=arguments.length,t=Array(e),r=0;r=3){for(var e=arguments.length,t=Array(e),r=0;r=2){for(var e=arguments.length,t=Array(e),r=0;r=1){for(var e=arguments.length,t=Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=t,this._jsonService=new r(["application/jwk-set+json"])}return e.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},e.prototype.getMetadata=function(){var e=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(t){i.Log.debug("MetadataService.getMetadata: json received");var r=e._settings.metadataSeed||{};return e._settings.metadata=Object.assign({},r,t),e._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},e.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},e.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},e.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},e.prototype.getTokenEndpoint=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",e)},e.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},e.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},e.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},e.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},e.prototype._getMetadataProperty=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+e),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[e]){if(!0===t)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+e);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+e),new Error("Metadata does not contain property "+e)}return r[e]}))},e.prototype.getSigningKeys=function(){var e=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(t){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",t),e._jsonService.getJson(t).then((function(t){if(i.Log.debug("MetadataService.getSigningKeys: key set received",t),!t.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return e._settings.signingKeys=t.keys,e._settings.signingKeys}))}))},n(e,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(a)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=a))),this._metadataUrl}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UrlUtility=void 0;var n=r(0),i=r(1);t.UrlUtility=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return e.addQueryParam=function(e,t,r){return e.indexOf("?")<0&&(e+="?"),"?"!==e[e.length-1]&&(e+="&"),e+=encodeURIComponent(t),(e+="=")+encodeURIComponent(r)},e.parseUrlFragment=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof e&&(e=r.location.href);var o=e.lastIndexOf(t);o>=0&&(e=e.substr(o+1)),"?"===t&&(o=e.indexOf("#"))>=0&&(e=e.substr(0,o));for(var a,s={},c=/([^&=]+)=([^&]*)/g,u=0;a=c.exec(e);)if(s[decodeURIComponent(a[1])]=decodeURIComponent(a[2].replace(/\+/g," ")),u++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",e),{error:"Response exceeded expected number of parameters"};for(var l in s)return s;return{}},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JoseUtil=void 0;var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(r(33));t.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OidcClientSettings=void 0;var n="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},i=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=t.authority,i=t.metadataUrl,o=t.metadata,l=t.signingKeys,d=t.metadataSeed,p=t.client_id,h=t.client_secret,f=t.response_type,y=void 0===f?"id_token":f,g=t.scope,m=void 0===g?"openid":g,b=t.redirect_uri,_=t.post_logout_redirect_uri,v=t.client_authentication,w=void 0===v?"client_secret_post":v,S=t.prompt,E=t.display,T=t.max_age,O=t.ui_locales,x=t.acr_values,A=t.resource,I=t.response_mode,R=t.filterProtocolClaims,P=void 0===R||R,F=t.loadUserInfo,D=void 0===F||F,N=t.staleStateAge,j=void 0===N?900:N,C=t.clockSkew,M=void 0===C?300:C,k=t.clockService,L=void 0===k?new a.ClockService:k,U=t.userInfoJwtIssuer,B=void 0===U?"OP":U,V=t.mergeClaims,q=void 0!==V&&V,H=t.stateStore,$=void 0===H?new s.WebStorageStateStore:H,G=t.ResponseValidatorCtor,K=void 0===G?c.ResponseValidator:G,Q=t.MetadataServiceCtor,z=void 0===Q?u.MetadataService:Q,J=t.extraQueryParams,W=void 0===J?{}:J,X=t.extraTokenParams,Y=void 0===X?{}:X;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=d,this._signingKeys=l,this._client_id=p,this._client_secret=h,this._response_type=y,this._scope=m,this._redirect_uri=b,this._post_logout_redirect_uri=_,this._client_authentication=w,this._prompt=S,this._display=E,this._max_age=T,this._ui_locales=O,this._acr_values=x,this._resource=A,this._response_mode=I,this._filterProtocolClaims=!!P,this._loadUserInfo=!!D,this._staleStateAge=j,this._clockSkew=M,this._clockService=L,this._userInfoJwtIssuer=B,this._mergeClaims=!!q,this._stateStore=$,this._validator=new K(this),this._metadataService=new z(this),this._extraQueryParams="object"===(void 0===W?"undefined":n(W))?W:{},this._extraTokenParams="object"===(void 0===Y?"undefined":n(Y))?Y:{}}return e.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(e,[{key:"client_id",get:function(){return this._client_id},set:function(e){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=e}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(e){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=e}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(l)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=l)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(e){this._metadata=e}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(e){this._metadataSeed=e}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(e){this._signingKeys=e}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(e){"object"===(void 0===e?"undefined":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(e){"object"===(void 0===e?"undefined":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebStorageStateStore=void 0;var n=r(0),i=r(1);t.WebStorageStateStore=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.prefix,n=void 0===r?"oidc.":r,o=t.store,a=void 0===o?i.Global.localStorage:o;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._store=a,this._prefix=n}return e.prototype.set=function(e,t){return n.Log.debug("WebStorageStateStore.set",e),e=this._prefix+e,this._store.setItem(e,t),Promise.resolve()},e.prototype.get=function(e){n.Log.debug("WebStorageStateStore.get",e),e=this._prefix+e;var t=this._store.getItem(e);return Promise.resolve(t)},e.prototype.remove=function(e){n.Log.debug("WebStorageStateStore.remove",e),e=this._prefix+e;var t=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(t)},e.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var e=[],t=0;t0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),t&&Array.isArray(t)?this._contentTypes=t.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return e.prototype.getJson=function(e,t){var r=this;if(!e)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",e),new Promise((function(i,o){var a=new r._XMLHttpRequest;a.open("GET",e);var s=r._contentTypes,c=r._jwtHandler;a.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",a.status),200===a.status){var t=a.getResponseHeader("Content-Type");if(t){var r=s.find((function(e){if(t.startsWith(e))return!0}));if("application/jwt"==r)return void c(a).then(i,o);if(r)try{return void i(JSON.parse(a.responseText))}catch(e){return n.Log.error("JsonService.getJson: Error parsing JSON response",e.message),void o(e)}}o(Error("Invalid response Content-Type: "+t+", from URL: "+e))}else o(Error(a.statusText+" ("+a.status+")"))},a.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},t&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),a.setRequestHeader("Authorization","Bearer "+t)),a.send()}))},e.prototype.postForm=function(e,t,r){var i=this;if(!e)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",e),new Promise((function(o,a){var s=new i._XMLHttpRequest;s.open("POST",e);var c=i._contentTypes;s.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",s.status),200!==s.status){if(400===s.status&&(r=s.getResponseHeader("Content-Type"))&&c.find((function(e){if(r.startsWith(e))return!0})))try{var t=JSON.parse(s.responseText);if(t&&t.error)return n.Log.error("JsonService.postForm: Error from server: ",t.error),void a(new Error(t.error))}catch(e){return n.Log.error("JsonService.postForm: Error parsing JSON response",e.message),void a(e)}a(Error(s.statusText+" ("+s.status+")"))}else{var r;if((r=s.getResponseHeader("Content-Type"))&&c.find((function(e){if(r.startsWith(e))return!0})))try{return void o(JSON.parse(s.responseText))}catch(e){return n.Log.error("JsonService.postForm: Error parsing JSON response",e.message),void a(e)}a(Error("Invalid response Content-Type: "+r+", from URL: "+e))}},s.onerror=function(){n.Log.error("JsonService.postForm: network error"),a(Error("Network Error"))};var u="";for(var l in t){var d=t[l];d&&(u.length>0&&(u+="&"),u+=encodeURIComponent(l),u+="=",u+=encodeURIComponent(d))}s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&s.setRequestHeader("Authorization","Basic "+btoa(r)),s.send(u)}))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);t.SigninRequest=function(){function e(t){var r=t.url,a=t.client_id,s=t.redirect_uri,c=t.response_type,u=t.scope,l=t.authority,d=t.data,p=t.prompt,h=t.display,f=t.max_age,y=t.ui_locales,g=t.id_token_hint,m=t.login_hint,b=t.acr_values,_=t.resource,v=t.response_mode,w=t.request,S=t.request_uri,E=t.extraQueryParams,T=t.request_type,O=t.client_secret,x=t.extraTokenParams,A=t.skipUserInfo;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!a)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!s)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!c)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!u)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!l)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var I=e.isOidc(c),R=e.isCode(c);v||(v=e.isCode(c)?"query":null),this.state=new o.SigninState({nonce:I,data:d,client_id:a,authority:l,redirect_uri:s,code_verifier:R,request_type:T,response_mode:v,client_secret:O,scope:u,extraTokenParams:x,skipUserInfo:A}),r=i.UrlUtility.addQueryParam(r,"client_id",a),r=i.UrlUtility.addQueryParam(r,"redirect_uri",s),r=i.UrlUtility.addQueryParam(r,"response_type",c),r=i.UrlUtility.addQueryParam(r,"scope",u),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),I&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),R&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var P={prompt:p,display:h,max_age:f,ui_locales:y,id_token_hint:g,login_hint:m,acr_values:b,resource:_,request:w,request_uri:S,response_mode:v};for(var F in P)P[F]&&(r=i.UrlUtility.addQueryParam(r,F,P[F]));for(var D in E)r=i.UrlUtility.addQueryParam(r,D,E[D]);this.url=r}return e.isOidc=function(e){return!!e.split(/\s+/g).filter((function(e){return"id_token"===e}))[0]},e.isOAuth=function(e){return!!e.split(/\s+/g).filter((function(e){return"token"===e}))[0]},e.isCode=function(e){return!!e.split(/\s+/g).filter((function(e){return"code"===e}))[0]},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.State=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=t.id,n=t.data,i=t.created,a=t.request_type;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=a}return e.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},e.fromStorageString=function(t){return i.Log.debug("State.fromStorageString"),new e(JSON.parse(t))},e.clearStaleState=function(t,r){var n=Date.now()/1e3-r;return t.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],a=function(a){var s=r[a];c=t.get(s).then((function(r){var o=!1;if(r)try{var a=e.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",s,a.created),a.created<=n&&(o=!0)}catch(e){i.Log.error("State.clearStaleState: Error parsing state for key",s,e.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",s),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",s),t.remove(s)})),o.push(c)},s=0;s0&&void 0!==arguments[0]?arguments[0]:{};(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),t instanceof o.OidcClientSettings?this._settings=t:this._settings=new o.OidcClientSettings(t)}return e.prototype.createSigninRequest=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.response_type,n=t.scope,o=t.redirect_uri,a=t.data,c=t.state,u=t.prompt,l=t.display,d=t.max_age,p=t.ui_locales,h=t.id_token_hint,f=t.login_hint,y=t.acr_values,g=t.resource,m=t.request,b=t.request_uri,_=t.response_mode,v=t.extraQueryParams,w=t.extraTokenParams,S=t.request_type,E=t.skipUserInfo,T=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var O=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,u=u||this._settings.prompt,l=l||this._settings.display,d=d||this._settings.max_age,p=p||this._settings.ui_locales,y=y||this._settings.acr_values,g=g||this._settings.resource,_=_||this._settings.response_mode,v=v||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var x=this._settings.authority;return s.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(t){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",t);var A=new s.SigninRequest({url:t,client_id:O,redirect_uri:o,response_type:r,scope:n,data:a||c,authority:x,prompt:u,display:l,max_age:d,ui_locales:p,id_token_hint:h,login_hint:f,acr_values:y,resource:g,request:m,request_uri:b,extraQueryParams:v,extraTokenParams:w,request_type:S,response_mode:_,client_secret:e._settings.client_secret,skipUserInfo:E}),I=A.state;return(T=T||e._stateStore).set(I.id,I.toStorageString()).then((function(){return A}))}))},e.prototype.readSigninResponseState=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&s.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new c.SigninResponse(e,n);return o.state?(t=t||this._stateStore,(r?t.remove.bind(t):t.get.bind(t))(o.state).then((function(e){if(!e)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:d.SigninState.fromStorageString(e),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},e.prototype.processSigninResponse=function(e,t){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(e,t,!0).then((function(e){var t=e.state,n=e.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(t,n)}))},e.prototype.createSignoutRequest=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.id_token_hint,n=t.data,o=t.state,a=t.post_logout_redirect_uri,s=t.extraQueryParams,c=t.request_type,l=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),a=a||this._settings.post_logout_redirect_uri,s=s||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(t){if(!t)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",t);var d=new u.SignoutRequest({url:t,id_token_hint:r,post_logout_redirect_uri:a,data:n||o,extraQueryParams:s,request_type:c}),p=d.state;return p&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(l=l||e._stateStore).set(p.id,p.toStorageString())),d}))},e.prototype.readSignoutResponseState=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new l.SignoutResponse(e);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new a.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return t=t||this._stateStore,(r?t.remove.bind(t):t.get.bind(t))(o).then((function(e){if(!e)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:p.State.fromStorageString(e),response:n}}))},e.prototype.processSignoutResponse=function(e,t){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(e,t,!0).then((function(e){var t=e.state,n=e.response;return t?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(t,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},e.prototype.clearStaleState=function(e){return i.Log.debug("OidcClient.clearStaleState"),e=e||this._stateStore,p.State.clearStaleState(e,this.settings.staleStateAge)},n(e,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);t.TokenClient=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=t,this._jsonService=new r,this._metadataService=new a(this._settings)}return e.prototype.exchangeCode=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).grant_type=t.grant_type||"authorization_code",t.client_id=t.client_id||this._settings.client_id,t.client_secret=t.client_secret||this._settings.client_secret,t.redirect_uri=t.redirect_uri||this._settings.redirect_uri;var r=void 0,n=t._client_authentication||this._settings._client_authentication;return delete t._client_authentication,t.code?t.redirect_uri?t.code_verifier?t.client_id?t.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=t.client_id+":"+t.client_secret,delete t.client_id,delete t.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),e._jsonService.postForm(n,t,r).then((function(e){return o.Log.debug("TokenClient.exchangeCode: response received"),e}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},e.prototype.exchangeRefreshToken=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).grant_type=t.grant_type||"refresh_token",t.client_id=t.client_id||this._settings.client_id,t.client_secret=t.client_secret||this._settings.client_secret;var r=void 0,n=t._client_authentication||this._settings._client_authentication;return delete t._client_authentication,t.refresh_token?t.client_id?("client_secret_basic"==n&&(r=t.client_id+":"+t.client_secret,delete t.client_id,delete t.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),e._jsonService.postForm(n,t,r).then((function(e){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),e}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorResponse=void 0;var n=r(0);t.ErrorResponse=function(e){function t(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,a=r.error_uri,s=r.state,c=r.session_state;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var u=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,o||i));return u.name="ErrorResponse",u.error=i,u.error_description=o,u.error_uri=a,u.state=s,u.session_state=c,u}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(Error)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SigninState=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,c=r.redirect_uri,u=r.code_verifier,l=r.response_mode,d=r.client_secret,p=r.scope,h=r.extraTokenParams,f=r.skipUserInfo;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var y=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,arguments[0]));if(!0===n?y._nonce=(0,s.default)():n&&(y._nonce=n),!0===u?y._code_verifier=(0,s.default)()+(0,s.default)()+(0,s.default)():u&&(y._code_verifier=u),y.code_verifier){var g=a.JoseUtil.hashString(y.code_verifier,"SHA256");y._code_challenge=a.JoseUtil.hexToBase64Url(g)}return y._redirect_uri=c,y._authority=i,y._client_id=o,y._response_mode=l,y._client_secret=d,y._scope=p,y._extraTokenParams=h,y._skipUserInfo=f,y}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},t.fromStorageString=function(e){return i.Log.debug("SigninState.fromStorageString"),new t(JSON.parse(e))},n(t,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),t}(o.State)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(e){return(e^n.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(e){return(e^16*Math.random()>>e/4).toString(16)}))}e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.User=void 0;var n=function(){function e(e,t){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+t}}},{key:"expired",get:function(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccessTokenEvents=void 0;var n=r(0),i=r(46);t.AccessTokenEvents=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=t.accessTokenExpiringTimer,a=void 0===o?new i.Timer("Access token expiring"):o,s=t.accessTokenExpiredTimer,c=void 0===s?new i.Timer("Access token expired"):s;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return e.prototype.load=function(e){if(e.access_token&&void 0!==e.expires_in){var t=e.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",t),t>0){var r=t-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=t+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},e.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},e.prototype.addAccessTokenExpiring=function(e){this._accessTokenExpiring.addHandler(e)},e.prototype.removeAccessTokenExpiring=function(e){this._accessTokenExpiring.removeHandler(e)},e.prototype.addAccessTokenExpired=function(e){this._accessTokenExpired.addHandler(e)},e.prototype.removeAccessTokenExpired=function(e){this._accessTokenExpired.removeHandler(e)},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event=void 0;var n=r(0);t.Event=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._name=t,this._callbacks=[]}return e.prototype.addHandler=function(e){this._callbacks.push(e)},e.prototype.removeHandler=function(e){var t=this._callbacks.findIndex((function(t){return t===e}));t>=0&&this._callbacks.splice(t,1)},e.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.Global.timer;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=t,this._CheckSessionIFrameCtor=n,this._timer=s,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(e){e?r._start(e):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(e){var t={session_state:e.session_state};e.sub&&e.sid&&(t.profile={sub:e.sub,sid:e.sid}),r._start(t)})).catch((function(e){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",e.message)}))})).catch((function(e){i.Log.error("SessionMonitor ctor: error from getUser:",e.message)})))}return e.prototype._start=function(e){var t=this,r=e.session_state;r&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(e){if(e){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=t._client_id,o=t._checkSessionInterval,a=t._stopCheckSessionOnError;t._checkSessionIFrame=new t._CheckSessionIFrameCtor(t._callback.bind(t),n,e,o,a),t._checkSessionIFrame.load().then((function(){t._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(e){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",e.message)})))},e.prototype._stop=function(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var t=this._timer.setInterval((function(){e._timer.clearInterval(t),e._userManager.querySessionStatus().then((function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)})).catch((function(e){i.Log.error("SessionMonitor: error from querySessionStatus:",e.message)}))}),1e3)},e.prototype._callback=function(){var e=this;this._userManager.querySessionStatus().then((function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",t.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",t.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(e._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),e._userManager.events._raiseUserSignedIn()))})).catch((function(t){e._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",t.message),e._userManager.events._raiseUserSignedOut())}))},n(e,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CheckSessionIFrame=void 0;var n=r(0);t.CheckSessionIFrame=function(){function e(t,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._callback=t,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var a=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,a),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return e.prototype.load=function(){var e=this;return new Promise((function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener("message",e._boundMessageEvent,!1)}))},e.prototype._message=function(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&("error"===e.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===e.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+e.data+" message from check session op iframe"))},e.prototype.start=function(e){var t=this;if(this._session_state!==e){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=e;var r=function(){t._frame.contentWindow.postMessage(t._client_id+" "+t._session_state,t._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},e.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);t.TokenRevocationClient=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=t,this._XMLHttpRequestCtor=r,this._metadataService=new a(this._settings)}return e.prototype.revoke=function(e,t){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!e)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var a=r._settings.client_id,s=r._settings.client_secret;return r._revoke(o,a,s,e,i)}if(t)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},e.prototype._revoke=function(e,t,r,i,o){var a=this;return new Promise((function(s,c){var u=new a._XMLHttpRequestCtor;u.open("POST",e),u.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",u.status),200===u.status?s():c(Error(u.statusText+" ("+u.status+")"))},u.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),c("Network Error")};var l="client_id="+encodeURIComponent(t);r&&(l+="&client_secret="+encodeURIComponent(r)),l+="&token_type_hint="+encodeURIComponent(o),l+="&token="+encodeURIComponent(i),u.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),u.send(l)}))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CordovaPopupWindow=void 0;var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.UserInfoService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u.JoseUtil,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.TokenClient;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=t,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=c,this._tokenClient=new l(this._settings)}return e.prototype.validateSigninResponse=function(e,t){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(e,t).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(e,t).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(e,t).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),e}))}))}))},e.prototype.validateSignoutResponse=function(e,t){return e.id!==t.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),t.state=e.data,t.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",t.error),Promise.reject(new c.ErrorResponse(t))):Promise.resolve(t))},e.prototype._processSigninParams=function(e,t){if(e.id!==t.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!e.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!e.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=e.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),t.state=e.data,t.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",t.error),Promise.reject(new c.ErrorResponse(t))):e.nonce&&!t.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!e.nonce&&t.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):e.code_verifier&&!t.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!e.code_verifier&&t.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(t.scope||(t.scope=e.scope),Promise.resolve(t))},e.prototype._processClaims=function(e,t){var r=this;if(t.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),t.profile=this._filterProtocolClaims(t.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&t.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(t.access_token).then((function(e){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),e.sub!==t.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(t.profile=r._mergeClaims(t.profile,e),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",t.profile),t)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(t)},e.prototype._mergeClaims=function(e,t){var r=Object.assign({},e);for(var i in t){var o=t[i];Array.isArray(o)||(o=[o]);for(var a=0;a1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},e.prototype._getSigningKeyForJwtWithSingleRetry=function(e){var t=this;return this._getSigningKeyForJwt(e).then((function(r){return r?Promise.resolve(r):(t._metadataService.resetSigningKeys(),t._getSigningKeyForJwt(e))}))},e.prototype._validateIdToken=function(e,t){var r=this;if(!e.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(t.id_token);return n&&n.header&&n.payload?e.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(a){if(!a)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var s=e.client_id,c=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(t.id_token,a,o,s,c).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(t.profile=n.payload,t):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},e.prototype._filterByAlg=function(e,t){var r=null;if(t.startsWith("RS"))r="RSA";else if(t.startsWith("PS"))r="PS";else{if(!t.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",t),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),e=e.filter((function(e){return e.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,e.length),e},e.prototype._validateAccessToken=function(e){if(!e.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!e.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!e.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var t=this._joseUtil.parseJwt(e.id_token);if(!t||!t.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",t),Promise.reject(new Error("Failed to parse id_token"));var r=t.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,a=this._joseUtil.hashString(e.access_token,o);if(!a)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var s=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(s);return c!==e.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",c,e.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(e))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),a=r(4);t.UserInfoService=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.JoseUtil;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=t,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new s(this._settings),this._joseUtil=c}return e.prototype.getClaims=function(e){var t=this;return e?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),t._jsonService.getJson(r,e).then((function(e){return o.Log.debug("UserInfoService.getClaims: claims received",e),e}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},e.prototype._getClaimsFromJwt=function e(t){var r=this;try{var n=this._joseUtil.parseJwt(t.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,a=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":a=this._metadataService.getIssuer();break;case"ANY":a=Promise.resolve(n.payload.iss);break;default:a=Promise.resolve(this._settings.userInfoJwtIssuer)}return a.then((function(e){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+e),r._metadataService.getSigningKeys().then((function(a){if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var s=void 0;if(i)s=a.filter((function(e){return e.kid===i}))[0];else{if((a=r._filterByAlg(a,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));s=a[0]}if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var c=r._settings.client_id,u=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(t.responseText,s,e,c,u,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(e){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",e.message),void reject(e)}},e.prototype._filterByAlg=function(e,t){var r=null;if(t.startsWith("RS"))r="RSA";else if(t.startsWith("PS"))r="PS";else{if(!t.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",t),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),e=e.filter((function(e){return e.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,e.length),e},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AllowedSigningAlgs=t.b64tohex=t.hextob64u=t.crypto=t.X509=t.KeyUtil=t.jws=void 0;var n=r(27);t.jws=n.jws,t.KeyUtil=n.KEYUTIL,t.X509=n.X509,t.crypto=n.crypto,t.hextob64u=n.hextob64u,t.b64tohex=n.b64tohex,t.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r,n,i,o,a,s,c,u,l,d,p,h="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},f={userAgent:!1},y={},g=g||(r=Math,i=(n={}).lib={},o=i.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var r=new e;return t&&r.mixIn(t),r.hasOwnProperty("init")||(r.init=function(){r.$super.init.apply(this,arguments)}),r.init.prototype=r,r.$super=this,r},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=r.ceil(t/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(r,t/2)}},u=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,i=t.sigBytes,o=this.blockSize,s=i/(4*o),c=(s=e?r.ceil(s):r.max((0|s)-this._minBufferSize,0))*o,u=r.min(4*c,i);if(c){for(var l=0;l>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;4>a&&i+.75*a>>6*(3-a)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var r=e.length,n=this._map;(i=n.charAt(64))&&-1!=(i=e.indexOf(i))&&(r=i);for(var i=[],o=0,a=0;a>>6-a%4*2;i[o>>>2]|=(s|c)<<24-o%4*8,o++}return t.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(e){for(var t=g,r=(i=t.lib).WordArray,n=i.Hasher,i=t.algo,o=[],a=[],s=function(e){return 4294967296*(e-(0|e))|0},c=2,u=0;64>u;){var l;e:{l=c;for(var d=e.sqrt(l),p=2;p<=d;p++)if(!(l%p)){l=!1;break e}l=!0}l&&(8>u&&(o[u]=s(e.pow(c,.5))),a[u]=s(e.pow(c,1/3)),u++),c++}var h=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],c=r[4],u=r[5],l=r[6],d=r[7],p=0;64>p;p++){if(16>p)h[p]=0|e[t+p];else{var f=h[p-15],y=h[p-2];h[p]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+h[p-7]+((y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10)+h[p-16]}f=d+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&u^~c&l)+a[p]+h[p],y=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),d=l,l=u,u=c,c=s+f|0,s=o,o=i,i=n,n=f+y|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0,r[5]=r[5]+u|0,r[6]=r[6]+l|0,r[7]=r[7]+d|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=n._createHelper(i),t.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function e(){return n.create.apply(n,arguments)}for(var t=g,r=t.lib.Hasher,n=(o=t.x64).Word,i=o.WordArray,o=t.algo,a=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],s=[],c=0;80>c;c++)s[c]=e();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=(d=this._hash.words)[0],n=d[1],i=d[2],o=d[3],c=d[4],u=d[5],l=d[6],d=d[7],p=r.high,h=r.low,f=n.high,y=n.low,g=i.high,m=i.low,b=o.high,_=o.low,v=c.high,w=c.low,S=u.high,E=u.low,T=l.high,O=l.low,x=d.high,A=d.low,I=p,R=h,P=f,F=y,D=g,N=m,j=b,C=_,M=v,k=w,L=S,U=E,B=T,V=O,q=x,H=A,$=0;80>$;$++){var G=s[$];if(16>$)var K=G.high=0|e[t+2*$],Q=G.low=0|e[t+2*$+1];else{K=((Q=(K=s[$-15]).high)>>>1|(z=K.low)<<31)^(Q>>>8|z<<24)^Q>>>7;var z=(z>>>1|Q<<31)^(z>>>8|Q<<24)^(z>>>7|Q<<25),J=((Q=(J=s[$-2]).high)>>>19|(W=J.low)<<13)^(Q<<3|W>>>29)^Q>>>6,W=(W>>>19|Q<<13)^(W<<3|Q>>>29)^(W>>>6|Q<<26),X=(Q=s[$-7]).high,Y=(Z=s[$-16]).high,Z=Z.low;K=(K=(K=K+X+((Q=z+Q.low)>>>0>>0?1:0))+J+((Q+=W)>>>0>>0?1:0))+Y+((Q+=Z)>>>0>>0?1:0),G.high=K,G.low=Q}X=M&L^~M&B,Z=k&U^~k&V,G=I&P^I&D^P&D;var ee=R&F^R&N^F&N,te=(z=(I>>>28|R<<4)^(I<<30|R>>>2)^(I<<25|R>>>7),J=(R>>>28|I<<4)^(R<<30|I>>>2)^(R<<25|I>>>7),(W=a[$]).high),re=W.low;Y=q+((M>>>14|k<<18)^(M>>>18|k<<14)^(M<<23|k>>>9))+((W=H+((k>>>14|M<<18)^(k>>>18|M<<14)^(k<<23|M>>>9)))>>>0>>0?1:0),q=B,H=V,B=L,V=U,L=M,U=k,M=j+(Y=(Y=(Y=Y+X+((W+=Z)>>>0>>0?1:0))+te+((W+=re)>>>0>>0?1:0))+K+((W+=Q)>>>0>>0?1:0))+((k=C+W|0)>>>0>>0?1:0)|0,j=D,C=N,D=P,N=F,P=I,F=R,I=Y+(G=z+G+((Q=J+ee)>>>0>>0?1:0))+((R=W+Q|0)>>>0>>0?1:0)|0}h=r.low=h+R,r.high=p+I+(h>>>0>>0?1:0),y=n.low=y+F,n.high=f+P+(y>>>0>>0?1:0),m=i.low=m+N,i.high=g+D+(m>>>0>>0?1:0),_=o.low=_+C,o.high=b+j+(_>>>0>>0?1:0),w=c.low=w+k,c.high=v+M+(w>>>0>>0?1:0),E=u.low=E+U,u.high=S+L+(E>>>0>>0?1:0),O=l.low=O+V,l.high=T+B+(O>>>0>>0?1:0),A=d.low=A+H,d.high=x+q+(A>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=r._createHelper(o),t.HmacSHA512=r._createHmacHelper(o)}(),function(){var e=g,t=(i=e.x64).Word,r=i.WordArray,n=(i=e.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});e.SHA384=n._createHelper(i),e.HmacSHA384=n._createHmacHelper(i)}();var m,b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function _(e){var t,r,n="";for(t=0;t+3<=e.length;t+=3)r=parseInt(e.substring(t,t+3),16),n+=b.charAt(r>>6)+b.charAt(63&r);for(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=b.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=b.charAt(r>>2)+b.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function v(e){var t,r,n,i="",o=0;for(t=0;t>2),r=3&n,o=1):1==o?(i+=A(r<<2|n>>4),r=15&n,o=2):2==o?(i+=A(r),i+=A(n>>2),r=3&n,o=3):(i+=A(r<<2|n>>4),i+=A(15&n),o=0));return 1==o&&(i+=A(r<<2)),i}function w(e){var t,r=v(e),n=new Array;for(t=0;2*t>15;--o>=0;){var c=32767&this[e],u=this[e++]>>15,l=s*c+u*a;i=((c=a*c+((32767&l)<<15)+r[n]+(1073741823&i))>>>30)+(l>>>15)+s*u+(i>>>30),r[n++]=1073741823&c}return i},m=30):"Netscape"!=f.appName?(S.prototype.am=function(e,t,r,n,i,o){for(;--o>=0;){var a=t*this[e++]+r[n]+i;i=Math.floor(a/67108864),r[n++]=67108863&a}return i},m=26):(S.prototype.am=function(e,t,r,n,i,o){for(var a=16383&t,s=t>>14;--o>=0;){var c=16383&this[e],u=this[e++]>>14,l=s*c+u*a;i=((c=a*c+((16383&l)<<14)+r[n]+i)>>28)+(l>>14)+s*u,r[n++]=268435455&c}return i},m=28),S.prototype.DB=m,S.prototype.DM=(1<>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function F(e){this.m=e}function D(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,t+=16),!(255&e)&&(e>>=8,t+=8),!(15&e)&&(e>>=4,t+=4),!(3&e)&&(e>>=2,t+=2),!(1&e)&&++t,t}function L(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function U(){}function B(e){return e}function V(e){this.r2=E(),this.q3=E(),S.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}F.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},F.prototype.revert=function(e){return e},F.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},F.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},F.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},D.prototype.convert=function(e){var t=E();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t},D.prototype.revert=function(e){var t=E();return e.copyTo(t),this.reduce(t),t},D.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[r=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},D.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},D.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},S.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},S.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},S.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var a=8==r?255&e[n]:I(e,n);a<0?"-"==e.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=a:o+r>this.DB?(this[this.t-1]|=(a&(1<>this.DB-o):this[this.t-1]|=a<=this.DB&&(o-=this.DB))}8==r&&!!(128&e[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t},S.prototype.dlShiftTo=function(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s},S.prototype.drShiftTo=function(e,t){for(var r=e;r=0;--r)t[r+a+1]=this[r]>>i|s,s=(this[r]&o)<=0;--r)t[r]=0;t[a]=s,t.t=this.t+a+1,t.s=this.s,t.clamp()},S.prototype.rShiftTo=function(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,o=(1<>n;for(var a=r+1;a>n;n>0&&(t[this.t-r-1]|=(this.s&o)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()},S.prototype.multiplyTo=function(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()},S.prototype.divRemTo=function(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,l=o[u-1];if(0!=l){var d=l*(1<1?o[u-2]>>this.F2:0),p=this.FV/d,h=(1<=0&&(r[r.t++]=1,r.subTo(m,r)),S.ONE.dlShiftTo(u,m),m.subTo(o,o);o.t=0;){var b=r[--y]==l?this.DM:Math.floor(r[y]*p+(r[y-1]+f)*h);if((r[y]+=o.am(0,b,r,g,0,u))0&&r.rShiftTo(c,r),a<0&&S.ZERO.subTo(r,r)}}},S.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},S.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},S.prototype.exp=function(e,t){if(e>4294967295||e<1)return S.ONE;var r=E(),n=E(),i=t.convert(this),o=P(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,i,r);else{var a=r;r=n,n=a}return t.revert(r)},S.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,n=(1<0)for(s>s)>0&&(i=!0,o=A(r));a>=0;)s>(s+=this.DB-t)):(r=this[a]>>(s-=t)&n,s<=0&&(s+=this.DB,--a)),r>0&&(i=!0),i&&(o+=A(r));return i?o:"0"},S.prototype.negate=function(){var e=E();return S.ZERO.subTo(this,e),e},S.prototype.abs=function(){return this.s<0?this.negate():this},S.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this[r]-e[r]))return t;return 0},S.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)},S.prototype.mod=function(e){var t=E();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&e.subTo(t,t),t},S.prototype.modPowInt=function(e,t){var r;return r=e<256||t.isEven()?new F(t):new D(t),this.exp(e,r)},S.ZERO=R(0),S.ONE=R(1),U.prototype.convert=B,U.prototype.revert=B,U.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r)},U.prototype.sqrTo=function(e,t){e.squareTo(t)},V.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=E();return e.copyTo(t),this.reduce(t),t},V.prototype.revert=function(e){return e},V.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},V.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},V.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var q,H,$,G=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],K=(1<<26)/G[G.length-1];function Q(){this.i=0,this.j=0,this.S=new Array}function z(){!function(e){H[$++]^=255&e,H[$++]^=e>>8&255,H[$++]^=e>>16&255,H[$++]^=e>>24&255,$>=256&&($-=256)}((new Date).getTime())}if(S.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},S.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=R(r),i=E(),o=E(),a="";for(this.divRemTo(n,i,o);i.signum()>0;)a=(r+o.intValue()).toString(e).substr(1)+a,i.divRemTo(n,i,o);return o.intValue().toString(e)+a},S.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,a=0,s=0;s=r&&(this.dMultiply(n),this.dAddOffset(a,0),o=0,a=0))}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(a,0)),i&&S.ZERO.subTo(this,this)},S.prototype.fromNumber=function(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(S.ONE.shiftLeft(e-1),j,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(S.ONE.shiftLeft(e-1),this);else{var n=new Array,i=7&e;n.length=1+(e>>3),t.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()},S.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},S.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},S.prototype.multiplyLowerTo=function(e,t,r){var n,i=Math.min(this.t+e.t,t);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(t-this.t,0);n0)if(0==t)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r},S.prototype.millerRabin=function(e){var t=this.subtract(S.ONE),r=t.getLowestSetBit();if(r<=0)return!1;var n=t.shiftRight(r);(e=e+1>>1)>G.length&&(e=G.length);for(var i=E(),o=0;o>24},S.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},S.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},S.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var r,n=this.DB-e*this.DB%8,i=0;if(e-- >0)for(n>n)!=(this.s&this.DM)>>n&&(t[i++]=r|this.s<=0;)n<8?(r=(this[e]&(1<>(n+=this.DB-8)):(r=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),!!(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(t[i++]=r);return t},S.prototype.equals=function(e){return 0==this.compareTo(e)},S.prototype.min=function(e){return this.compareTo(e)<0?this:e},S.prototype.max=function(e){return this.compareTo(e)>0?this:e},S.prototype.and=function(e){var t=E();return this.bitwiseTo(e,N,t),t},S.prototype.or=function(e){var t=E();return this.bitwiseTo(e,j,t),t},S.prototype.xor=function(e){var t=E();return this.bitwiseTo(e,C,t),t},S.prototype.andNot=function(e){var t=E();return this.bitwiseTo(e,M,t),t},S.prototype.not=function(){for(var e=E(),t=0;t=this.t?0!=this.s:!!(this[t]&1<1){var l=E();for(n.sqrTo(a[1],l);s<=u;)a[s]=E(),n.mulTo(l,a[s-2],a[s]),s+=2}var d,p,h=e.t-1,f=!0,y=E();for(i=P(e[h])-1;h>=0;){for(i>=c?d=e[h]>>i-c&u:(d=(e[h]&(1<0&&(d|=e[h-1]>>this.DB+i-c)),s=r;!(1&d);)d>>=1,--s;if((i-=s)<0&&(i+=this.DB,--h),f)a[d].copyTo(o),f=!1;else{for(;s>1;)n.sqrTo(o,y),n.sqrTo(y,o),s-=2;s>0?n.sqrTo(o,y):(p=o,o=y,y=p),n.mulTo(y,a[d],o)}for(;h>=0&&!(e[h]&1<=0?(r.subTo(n,r),t&&i.subTo(a,i),o.subTo(s,o)):(n.subTo(r,n),t&&a.subTo(i,a),s.subTo(o,s))}return 0!=n.compareTo(S.ONE)?S.ZERO:s.compareTo(e)>=0?s.subtract(e):s.signum()<0?(s.addTo(e,s),s.signum()<0?s.add(e):s):s},S.prototype.pow=function(e){return this.exp(e,new U)},S.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},S.prototype.isProbablePrime=function(e){var t,r=this.abs();if(1==r.t&&r[0]<=G[G.length-1]){for(t=0;t>>8,H[$++]=255&J;$=0,z()}function Z(){if(null==q){for(z(),(q=new Q).init(H),$=0;$>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function ne(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ie(e,t){this.x=t,this.q=e}function oe(e,t,r,n){this.curve=e,this.x=t,this.y=r,this.z=null==n?S.ONE:n,this.zinv=null}function ae(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new oe(this,null,null)}ee.prototype.nextBytes=function(e){var t;for(t=0;t0&&t.length>0))throw"Invalid RSA public key";this.n=te(e,16),this.e=parseInt(t,16)}},ne.prototype.encrypt=function(e){var t=function(e,t){if(t=0&&t>0;){var i=e.charCodeAt(n--);i<128?r[--t]=i:i>127&&i<2048?(r[--t]=63&i|128,r[--t]=i>>6|192):(r[--t]=63&i|128,r[--t]=i>>6&63|128,r[--t]=i>>12|224)}r[--t]=0;for(var o=new ee,a=new Array;t>2;){for(a[0]=0;0==a[0];)o.nextBytes(a);r[--t]=a[0]}return r[--t]=2,r[--t]=0,new S(r)}(e,this.n.bitLength()+7>>3);if(null==t)return null;var r=this.doPublic(t);if(null==r)return null;var n=r.toString(16);return 1&n.length?"0"+n:n},ne.prototype.encryptOAEP=function(e,t,r){var n=function(e,t,r,n){var i=ce.crypto.MessageDigest,o=ce.crypto.Util,a=null;if(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(e){return Se(o.hashHex(Ee(e),a))}),e.length+2*n+2>t)throw"Message too long for RSA";var s,c="";for(s=0;s>3,t,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 1&o.length?"0"+o:o},ne.prototype.type="RSA",ie.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.x.equals(e.x)},ie.prototype.toBigInteger=function(){return this.x},ie.prototype.negate=function(){return new ie(this.q,this.x.negate().mod(this.q))},ie.prototype.add=function(e){return new ie(this.q,this.x.add(e.toBigInteger()).mod(this.q))},ie.prototype.subtract=function(e){return new ie(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))},ie.prototype.multiply=function(e){return new ie(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))},ie.prototype.square=function(){return new ie(this.q,this.x.square().mod(this.q))},ie.prototype.divide=function(e){return new ie(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))},oe.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},oe.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},oe.prototype.equals=function(e){return e==this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():!!e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(S.ZERO)&&e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(S.ZERO))},oe.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(S.ZERO)&&!this.y.toBigInteger().equals(S.ZERO)},oe.prototype.negate=function(){return new oe(this.curve,this.x,this.y.negate(),this.z)},oe.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),r=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);if(S.ZERO.equals(r))return S.ZERO.equals(t)?this.twice():this.curve.getInfinity();var n=new S("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),a=(e.x.toBigInteger(),e.y.toBigInteger(),r.square()),s=a.multiply(r),c=i.multiply(a),u=t.square().multiply(this.z),l=u.subtract(c.shiftLeft(1)).multiply(e.z).subtract(s).multiply(r).mod(this.curve.q),d=c.multiply(n).multiply(t).subtract(o.multiply(s)).subtract(u.multiply(t)).multiply(e.z).add(t.multiply(s)).mod(this.curve.q),p=s.multiply(this.z).multiply(e.z).mod(this.curve.q);return new oe(this.curve,this.curve.fromBigInteger(l),this.curve.fromBigInteger(d),p)},oe.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=new S("3"),t=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),a=t.square().multiply(e);S.ZERO.equals(o)||(a=a.add(this.z.square().multiply(o)));var s=(a=a.mod(this.curve.q)).square().subtract(t.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),c=a.multiply(e).multiply(t).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(a.square().multiply(a)).mod(this.curve.q),u=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new oe(this.curve,this.curve.fromBigInteger(s),this.curve.fromBigInteger(c),u)},oe.prototype.multiply=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,r=e,n=r.multiply(new S("3")),i=this.negate(),o=this,a=this.curve.q.subtract(e),s=a.multiply(new S("3")),c=new oe(this.curve,this.x,this.y),u=c.negate();for(t=n.bitLength()-2;t>0;--t){o=o.twice();var l=n.testBit(t);l!=r.testBit(t)&&(o=o.add(l?this:i))}for(t=s.bitLength()-2;t>0;--t){c=c.twice();var d=s.testBit(t);d!=a.testBit(t)&&(c=c.add(d?c:u))}return o},oe.prototype.multiplyTwo=function(e,t,r){var n;n=e.bitLength()>r.bitLength()?e.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(t);n>=0;)i=i.twice(),e.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(t)),--n;return i},ae.prototype.getQ=function(){return this.q},ae.prototype.getA=function(){return this.a},ae.prototype.getB=function(){return this.b},ae.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)},ae.prototype.getInfinity=function(){return this.infinity},ae.prototype.fromBigInteger=function(e){return new ie(this.q,e)},ae.prototype.decodePointHex=function(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var t=(e.length-2)/2,r=e.substr(2,t),n=e.substr(t+2,t);return new oe(this,this.fromBigInteger(new S(r,16)),this.fromBigInteger(new S(n,16)))}},ie.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},oe.prototype.getEncoded=function(e){var t=function(e,t){var r=e.toByteArrayUnsigned();if(tr.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=t(r,32);return e?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(t(n,32))),i},oe.decodeFrom=function(e,t){t[0];var r=t.length-1,n=t.slice(1,1+r/2),i=t.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new S(n),a=new S(i);return new oe(e,e.fromBigInteger(o),e.fromBigInteger(a))},oe.decodeFromHex=function(e,t){t.substr(0,2);var r=t.length-2,n=t.substr(2,r/2),i=t.substr(2+r/2,r/2),o=new S(n,16),a=new S(i,16);return new oe(e,e.fromBigInteger(o),e.fromBigInteger(a))},oe.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y).divide(t),n=r.square().subtract(this.x).subtract(e.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new oe(this.curve,n,i)},oe.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=this.curve.fromBigInteger(S.valueOf(2)),t=this.curve.fromBigInteger(S.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new oe(this.curve,n,i)},oe.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,r=e,n=r.multiply(new S("3")),i=this.negate(),o=this;for(t=n.bitLength()-2;t>0;--t){o=o.twice();var a=n.testBit(t);a!=r.testBit(t)&&(o=o.add2D(a?this:i))}return o},oe.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=t.multiply(t).mod(i),a=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(i);return o.equals(a)},oe.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},oe.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(S.ONE)<0||t.compareTo(e.subtract(S.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(S.ONE)<0||r.compareTo(e.subtract(S.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var se=function(){var e=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),t=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),r={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function n(e,t,n){return t?r[t]:String.fromCharCode(parseInt(n,16))}var i=new String(""),o=Object.hasOwnProperty;return function(r,a){var s,c,u=r.match(e),l=u[0],d=!1;"{"===l?s={}:"["===l?s=[]:(s=[],d=!0);for(var p=[s],f=1-d,y=u.length;f=0;)delete n[i[u]]}return a.call(t,r,n)}({"":s},"")),s}}();void 0!==ce&&ce||(t.KJUR=ce={}),void 0!==ce.asn1&&ce.asn1||(ce.asn1={}),ce.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var r=t.substr(1).length;r%2==1?r+=1:t.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+r).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(e){this.params=e},null!=e&&null!=e.tlv&&(this.hTLV=e.tlv,this.isModified=!1)},ce.asn1.DERAbstractString=function(e){ce.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=ve(this.s).toLowerCase()},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?this.setString(e):void 0!==e.str?this.setString(e.str):void 0!==e.hex&&this.setStringHex(e.hex))},Ve(ce.asn1.DERAbstractString,ce.asn1.ASN1Object),ce.asn1.DERAbstractTime=function(e){ce.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(e){var t=e.getTime()+6e4*e.getTimezoneOffset();return new Date(t)},this.formatDate=function(e,t,r){var n=this.zeroPadding,i=this.localDateToUTC(e),o=String(i.getFullYear());"utc"==t&&(o=o.substr(2,2));var a=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var s=i.getMilliseconds();if(0!=s){var c=n(String(s),3);a=a+"."+(c=c.replace(/[0]+$/,""))}}return a+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=ye(e)},this.setByDateValue=function(e,t,r,n,i,o){var a=new Date(Date.UTC(e,t-1,r,n,i,o,0));this.setByDate(a)},this.getFreshValueHex=function(){return this.hV}},Ve(ce.asn1.DERAbstractTime,ce.asn1.ASN1Object),ce.asn1.DERAbstractStructured=function(e){ce.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,void 0!==e&&void 0!==e.array&&(this.asn1Array=e.array)},Ve(ce.asn1.DERAbstractStructured,ce.asn1.ASN1Object),ce.asn1.DERBoolean=function(e){ce.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==e?"010100":"0101ff"},Ve(ce.asn1.DERBoolean,ce.asn1.ASN1Object),ce.asn1.DERInteger=function(e){ce.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=ce.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new S(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.bigint?this.setByBigInteger(e.bigint):void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},Ve(ce.asn1.DERInteger,ce.asn1.ASN1Object),ce.asn1.DERBitString=function(e){if(void 0!==e&&void 0!==e.obj){var t=ce.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}ce.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7i.length&&(i=n[r]);return(e=e.replace(i,"::")).slice(1,-1)}function Ce(e){var t="malformed hex value";if(!e.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(8!=e.length)return 32==e.length?je(e):e;try{return parseInt(e.substr(0,2),16)+"."+parseInt(e.substr(2,2),16)+"."+parseInt(e.substr(4,2),16)+"."+parseInt(e.substr(6,2),16)}catch(e){throw t}}function Me(e){return e.match(/.{4}/g).map((function(e){var t=parseInt(e.substr(0,2),16),r=parseInt(e.substr(2),16);if(0==t&r<128)return String.fromCharCode(r);if(t<8){var n=128|63&r;return we((192|(7&t)<<3|(192&r)>>6).toString(16)+n.toString(16))}n=128|(15&t)<<2|(192&r)>>6;var i=128|63&r;return we((224|(240&t)>>4).toString(16)+n.toString(16)+i.toString(16))})).join("")}function ke(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}de.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var r=parseInt(e.substr(t+3,1));return 0==r?-1:0=n)break}return a},de.getNthChildIdx=function(e,t,r){return de.getChildIdx(e,t)[r]},de.getIdxbyList=function(e,t,r,n){var i,o,a=de;return 0==r.length?void 0!==n&&e.substr(t,2)!==n?-1:t:(i=r.shift())>=(o=a.getChildIdx(e,t)).length?-1:a.getIdxbyList(e,o[i],r,n)},de.getIdxbyListEx=function(e,t,r,n){var i,o,a=de;if(0==r.length)return void 0!==n&&e.substr(t,2)!==n?-1:t;i=r.shift(),o=a.getChildIdx(e,t);for(var s=0,c=0;c=e.length?null:i.getTLV(e,o)},de.getTLVbyListEx=function(e,t,r,n){var i=de,o=i.getIdxbyListEx(e,t,r,n);return-1==o?null:i.getTLV(e,o)},de.getVbyList=function(e,t,r,n,i){var o,a,s=de;return-1==(o=s.getIdxbyList(e,t,r,n))||o>=e.length?null:(a=s.getV(e,o),!0===i&&(a=a.substr(2)),a)},de.getVbyListEx=function(e,t,r,n,i){var o,a,s=de;return-1==(o=s.getIdxbyListEx(e,t,r,n))?null:(a=s.getV(e,o),"03"==e.substr(o,2)&&!1!==i&&(a=a.substr(2)),a)},de.getInt=function(e,t,r){null==r&&(r=-1);try{var n=e.substr(t,2);if("02"!=n&&"03"!=n)return r;var i=de.getV(e,t);return"02"==n?parseInt(i,16):function(e){try{var t=e.substr(0,2);if("00"==t)return parseInt(e.substr(2),16);var r=parseInt(t,16),n=e.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(e){return-1}}(i)}catch(e){return r}},de.getOID=function(e,t,r){null==r&&(r=null);try{return"06"!=e.substr(t,2)?r:function(e){if(!Le(e))return null;try{var t=[],r=e.substr(0,2),n=parseInt(r,16);t[0]=new String(Math.floor(n/40)),t[1]=new String(n%40);for(var i=e.substr(2),o=[],a=0;a0&&(u=u+"."+s.join(".")),u}catch(e){return null}}(de.getV(e,t))}catch(e){return r}},de.getOIDName=function(e,t,r){null==r&&(r=null);try{var n=de.getOID(e,t,r);if(n==r)return r;var i=ce.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(e){return r}},de.getString=function(e,t,r){null==r&&(r=null);try{return Se(de.getV(e,t))}catch(e){return r}},de.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=e.substr(2),a=[],s=0;s0&&(l=l+"."+c.join(".")),l},de.dump=function(e,t,r,n){var i=de,o=i.getV,a=i.dump,s=i.getChildIdx,c=e;e instanceof ce.asn1.ASN1Object&&(c=e.getEncodedHex());var u=function(e,t){return e.length<=2*t?e:e.substr(0,t)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-t,t)};void 0===t&&(t={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var l,d=t.ommit_long_octet;if("01"==(l=c.substr(r,2)))return"00"==(p=o(c,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==l)return n+"INTEGER "+u(p=o(c,r),d)+"\n";if("03"==l){var p=o(c,r);return i.isASN1HEX(p.substr(2))?(w=n+"BITSTRING, encapsulates\n")+a(p.substr(2),t,0,n+" "):n+"BITSTRING "+u(p,d)+"\n"}if("04"==l)return p=o(c,r),i.isASN1HEX(p)?(w=n+"OCTETSTRING, encapsulates\n")+a(p,t,0,n+" "):n+"OCTETSTRING "+u(p,d)+"\n";if("05"==l)return n+"NULL\n";if("06"==l){var h=o(c,r),f=ce.asn1.ASN1Util.oidHexToInt(h),y=ce.asn1.x509.OID.oid2name(f),g=f.replace(/\./g," ");return""!=y?n+"ObjectIdentifier "+y+" ("+g+")\n":n+"ObjectIdentifier ("+g+")\n"}if("0a"==l)return n+"ENUMERATED "+parseInt(o(c,r))+"\n";if("0c"==l)return n+"UTF8String '"+we(o(c,r))+"'\n";if("13"==l)return n+"PrintableString '"+we(o(c,r))+"'\n";if("14"==l)return n+"TeletexString '"+we(o(c,r))+"'\n";if("16"==l)return n+"IA5String '"+we(o(c,r))+"'\n";if("17"==l)return n+"UTCTime "+we(o(c,r))+"\n";if("18"==l)return n+"GeneralizedTime "+we(o(c,r))+"\n";if("1a"==l)return n+"VisualString '"+we(o(c,r))+"'\n";if("1e"==l)return n+"BMPString '"+Me(o(c,r))+"'\n";if("30"==l){if("3000"==c.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var m=t;if((2==(v=s(c,r)).length||3==v.length)&&"06"==c.substr(v[0],2)&&"04"==c.substr(v[v.length-1],2)){y=i.oidname(o(c,v[0]));var b=JSON.parse(JSON.stringify(t));b.x509ExtName=y,m=b}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(e){return!1}},de.isASN1HEX=function(e){var t=de;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0);return e.length-n.length-i.length==2*r},de.checkStrictDER=function(e,t,r,n,i){var o=de;if(void 0===r){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!ce.lang.String.isHex(e))throw new Error("not hex string");r=e.length,i=(n=e.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(e,t).length>2*i)throw new Error("L of TLV too long: idx="+t);var a=o.getVblen(e,t);if(a>n)throw new Error("value of L too long than hex: idx="+t);var s=o.getTLV(e,t),c=s.length-2-o.getL(e,t).length;if(c!==2*a)throw new Error("V string length and L's value not the same:"+c+"/"+2*a);if(0===t&&e.length!=s.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+s.length);var u=e.substr(t,2);if("02"===u){var l=o.getVidx(e,t);if("00"==e.substr(l,2)&&e.charCodeAt(l+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(u,16)){for(var d=o.getVblen(e,t),p=0,h=o.getChildIdx(e,t),f=0;f=t?e:new Array(t-e.length+1).join(r)+e};function Ve(e,t){var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t)}void 0!==ce&&ce||(t.KJUR=ce={}),void 0!==ce.crypto&&ce.crypto||(ce.crypto={}),ce.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:g.algo.MD5,sha1:g.algo.SHA1,sha224:g.algo.SHA224,sha256:g.algo.SHA256,sha384:g.algo.SHA384,sha512:g.algo.SHA512,ripemd160:g.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(void 0===this.DIGESTINFOHEAD[t])throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+t;for(var o="00"+n,a="",s=i-4-o.length,c=0;c=0)return!1;if(n.compareTo(r.ONE)<0||n.compareTo(o)>=0)return!1;var s=n.modInverse(o),c=e.multiply(s).mod(o),u=t.multiply(s).mod(o);return a.multiply(c).add(i.multiply(u)).getX().toBigInteger().mod(o).equals(t)},this.serializeSig=function(e,t){var r=e.toByteArraySigned(),n=t.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(e){var t;if(48!=e[0])throw new Error("Signature not a valid DERSequence");if(2!=e[t=2])throw new Error("First element in signature must be a DERInteger");var n=e.slice(t+2,t+2+e[t+1]);if(2!=e[t+=2+e[t+1]])throw new Error("Second element in signature must be a DERInteger");var i=e.slice(t+2,t+2+e[t+1]);return t+=2+e[t+1],{r:r.fromByteArrayUnsigned(n),s:r.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(e){if(65!==e.length)throw"Signature has the wrong length";var t=e[0]-27;if(t<0||t>7)throw"Invalid signature type";var n=this.ecparams.n;return{r:r.fromByteArrayUnsigned(e.slice(1,33)).mod(n),s:r.fromByteArrayUnsigned(e.slice(33,65)).mod(n),i:t}},this.readPKCS5PrvKeyHex=function(e){if(!1===u(e))throw new Error("not ASN.1 hex string");var t,r,n;try{t=c(e,0,["[0]",0],"06"),r=c(e,0,[1],"04");try{n=c(e,0,["[1]",0],"03")}catch(e){}}catch(e){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(t),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(e){if(!1===u(e))throw new t("not ASN.1 hex string");var r,n,i;try{c(e,0,[1,0],"06"),r=c(e,0,[1,1],"06"),n=c(e,0,[2,0,1],"04");try{i=c(e,0,[2,0,"[1]",0],"03")}catch(e){}}catch(e){throw new t("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(e){if(!1===u(e))throw new t("not ASN.1 hex string");var r,n;try{c(e,0,[0,0],"06"),r=c(e,0,[0,1],"06"),n=c(e,0,[1],"03")}catch(e){throw new t("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(e,r){if(!1===u(e))throw new t("not ASN.1 hex string");var n,i;try{n=c(e,0,[0,5,0,1],"06"),i=c(e,0,[0,5,1],"03")}catch(e){throw new t("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==e&&void 0!==e.curve&&(this.curveName=e.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==e&&(void 0!==e.prv&&this.setPrivateKeyHex(e.prv),void 0!==e.pub&&this.setPublicKeyHex(e.pub))},ce.crypto.ECDSA.parseSigHex=function(e){var t=ce.crypto.ECDSA.parseSigHexInHexRS(e);return{r:new S(t.r,16),s:new S(t.s,16)}},ce.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=de,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),"30"!=e.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(e,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],a=i[1];if("02"!=e.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=e.substr(a,2))throw new Error("2nd item not ASN.1 integer");return{r:n(e,o),s:n(e,a)}},ce.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=ce.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ce.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return ce.crypto.ECDSA.hexRSSigToASN1Sig(t,r)},ce.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new S(e,16),n=new S(t,16);return ce.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ce.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=ce.asn1,n=new r.DERInteger({bigint:e}),i=new r.DERInteger({bigint:t});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ce.crypto.ECDSA.getName=function(e){return"2b8104001f"===e?"secp192k1":"2a8648ce3d030107"===e?"secp256r1":"2b8104000a"===e?"secp256k1":"2b81040021"===e?"secp224r1":"2b81040022"===e?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)?"secp256r1":-1!=="|secp256k1|".indexOf(e)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(e)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(e)?"secp384r1":null},void 0!==ce&&ce||(t.KJUR=ce={}),void 0!==ce.crypto&&ce.crypto||(ce.crypto={}),ce.crypto.ECParameterDB=new function(){var e={},t={};function r(e){return new S(e,16)}this.getByName=function(r){var n=r;if(void 0!==t[n]&&(n=t[r]),void 0!==e[n])return e[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,a,s,c,u,l,d,p,h,f){e[n]={};var y=r(o),g=r(a),m=r(s),b=r(c),_=r(u),v=new ae(y,g,m),w=v.decodePointHex("04"+l+d);e[n].name=n,e[n].keylen=i,e[n].curve=v,e[n].G=w,e[n].n=b,e[n].h=_,e[n].oid=h,e[n].info=f;for(var S=0;S=2*s)break}var d={};return d.keyhex=c.substr(0,2*i[e].keylen),d.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),d},s=function(e,t,r,n){var o=g.enc.Base64.parse(e),a=g.enc.Hex.stringify(o);return(0,i[t].proc)(a,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,r){return a(e,t,r)},decryptKeyB64:function(e,t,r,n){return s(e,t,r,n)},getDecryptedKeyHex:function(e,t){var r=o(e),n=(r.type,r.cipher),i=r.ivsalt,c=r.data,u=a(n,t,i).keyhex;return s(c,n,u,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,r,n,o){var s="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw new Error("KEYUTIL unsupported algorithm: "+n);void 0!==o&&null!=o||(o=function(e){var t=g.lib.WordArray.random(e);return g.enc.Hex.stringify(t)}(i[n].ivlen).toUpperCase());var c=function(e,t,r,n){return(0,i[t].eproc)(e,r,n)}(t,n,a(n,r,o).keyhex,o);return s="-----BEGIN "+e+" PRIVATE KEY-----\r\n",s+="Proc-Type: 4,ENCRYPTED\r\n",s+="DEK-Info: "+n+","+o+"\r\n",s+="\r\n",(s+=c.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={},o=r(e,0);if(2!=o.length)throw new Error("malformed format: SEQUENCE(0).items != 2: "+o.length);i.ciphertext=n(e,o[1]);var a=r(e,o[0]);if(2!=a.length)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+a.length);if("2a864886f70d01050d"!=n(e,a[0]))throw new Error("this only supports pkcs5PBES2");var s=r(e,a[1]);if(2!=a.length)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+s.length);var c=r(e,s[1]);if(2!=c.length)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+c.length);if("2a864886f70d0307"!=n(e,c[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(e,c[1]);var u=r(e,s[0]);if(2!=u.length)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+u.length);if("2a864886f70d01050c"!=n(e,u[0]))throw new Error("this only supports pkcs5PBKDF2");var l=r(e,u[1]);if(l.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+l.length);i.pbkdf2Salt=n(e,l[0]);var d=n(e,l[1]);try{i.pbkdf2Iter=parseInt(d,16)}catch(e){throw new Error("malformed format pbkdf2Iter: "+d)}return i},getPBKDF2KeyHexFromParam:function(e,t){var r=g.enc.Hex.parse(e.pbkdf2Salt),n=e.pbkdf2Iter,i=g.PBKDF2(t,r,{keySize:6,iterations:n});return g.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var r=Ie(e,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=qe.getPBKDF2KeyHexFromParam(n,t),o={};o.ciphertext=g.enc.Hex.parse(n.ciphertext);var a=g.enc.Hex.parse(i),s=g.enc.Hex.parse(n.encryptionSchemeIV),c=g.TripleDES.decrypt(o,a,{iv:s});return g.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function(e,t){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={algparam:null};if("30"!=e.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var o=r(e,0);if(o.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=e.substr(o[1],2))throw new Error("malformed PKCS8 private key(code:003)");var a=r(e,o[1]);if(2!=a.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=e.substr(a[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(i.algoid=n(e,a[0]),"06"==e.substr(a[1],2)&&(i.algparam=n(e,a[1])),"04"!=e.substr(o[2],2))throw new Error("malformed PKCS8 private key(code:006)");return i.keyidx=t.getVidx(e,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=Ie(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,r=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==r.algoid)t=new ne;else if("2a8648ce380401"==r.algoid)t=new ce.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw new Error("unsupported private key algorithm");t=new ce.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,r=de.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===r)t=new ne;else if("2a8648ce380401"===r)t=new ce.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw new Error("unsupported PKCS#8 public key hex");t=new ce.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={};if("30"!=e.substr(0,2))throw new Error("malformed RSA key(code:001)");var o=r(e,0);if(2!=o.length)throw new Error("malformed RSA key(code:002)");if("02"!=e.substr(o[0],2))throw new Error("malformed RSA key(code:003)");if(i.n=n(e,o[0]),"02"!=e.substr(o[1],2))throw new Error("malformed RSA key(code:004)");return i.e=n(e,o[1]),i},parsePublicPKCS8Hex:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={algparam:null},o=r(e,0);if(2!=o.length)throw new Error("outer DERSequence shall have 2 elements: "+o.length);var a=o[0];if("30"!=e.substr(a,2))throw new Error("malformed PKCS8 public key(code:001)");var s=r(e,a);if(2!=s.length)throw new Error("malformed PKCS8 public key(code:002)");if("06"!=e.substr(s[0],2))throw new Error("malformed PKCS8 public key(code:003)");if(i.algoid=n(e,s[0]),"06"==e.substr(s[1],2)?i.algparam=n(e,s[1]):"30"==e.substr(s[1],2)&&(i.algparam={},i.algparam.p=t.getVbyList(e,s[1],[0],"02"),i.algparam.q=t.getVbyList(e,s[1],[1],"02"),i.algparam.g=t.getVbyList(e,s[1],[2],"02")),"03"!=e.substr(o[1],2))throw new Error("malformed PKCS8 public key(code:004)");return i.key=n(e,o[1]).substr(2),i}}}();function He(e,t){for(var r="",n=t/4-e.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Ge(e){for(var t in ce.crypto.Util.DIGESTINFOHEAD){var r=ce.crypto.Util.DIGESTINFOHEAD[t],n=r.length;if(e.substring(0,n)==r)return[t,e.substring(n)]}return[]}function Ke(e){var t,r=de,n=r.getChildIdx,i=r.getV,o=r.getTLV,a=r.getVbyList,s=r.getVbyListEx,c=r.getTLVbyList,u=r.getTLVbyListEx,l=r.getIdxbyList,d=r.getIdxbyListEx,p=r.getVidx,h=r.getInt,f=r.oidname,y=r.hextooidstr,g=Ie;try{t=ce.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(e){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(null===this.hex||0!==this.version)return this.version;var e=c(this.hex,0,[0,0]);if("a0"==e.substr(0,2)){var t=c(e,0,[0]),r=h(t,0);if(r<0||21){var s=o(e,a[1]),c=this.getGeneralName(s);null!=c.uri&&(i.uri=c.uri)}if(a.length>2){var u=o(e,a[2]);"0101ff"==u&&(i.reqauth=!0),"010100"==u&&(i.reqauth=!1)}return i},this.getX500NameRule=function(e){for(var t=null,r=[],n=0;n0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){null==e&&-1!=d(this.hex,0,[0,"[3]"])&&(e=u(this.hex,0,[0,"[3]",0],"30"));for(var t=[],r=n(e,0),i=0;i2&&"04"===g.substr(y[1],2)))throw new Error("unsupported PKCS#1/5 hexadecimal key");(R=new s).readPKCS5PrvKeyHex(g)}return R}if("pkcs8prv"===r)return d.getKeyFromPlainPrivatePKCS8Hex(e);if("pkcs8pub"===r)return d._getKeyFromPublicPKCS8Hex(e);if("x509pub"===r)return Ke.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return Ke.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var b=Ie(e,"PUBLIC KEY");return d._getKeyFromPublicPKCS8Hex(b)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var _=l(e,"RSA PRIVATE KEY");return d.getKey(_,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var v=o(n=l(e,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),E=o(n,0,[3],"02"),T=o(n,0,[4],"02"),O=o(n,0,[5],"02");return(R=new c).setPrivate(new S(v,16),new S(w,16),new S(E,16),new S(T,16),new S(O,16)),R}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED"))return _=l(e,"EC PRIVATE KEY"),d.getKey(_,null,"pkcs5prv");if(-1!=e.indexOf("-END PRIVATE KEY-"))return d.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var x=d.getDecryptedKeyHex(e,t),A=new ne;return A.readPKCS5PrvKeyHex(x),A}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var I,R=o(n=d.getDecryptedKeyHex(e,t),0,[1],"04"),P=o(n,0,[2,0],"06"),F=o(n,0,[3,0],"03").substr(2);if(void 0===ce.crypto.OID.oidhex2name[P])throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+P);return(I=new s({curve:ce.crypto.OID.oidhex2name[P]})).setPublicKeyHex(F),I.setPrivateKeyHex(R),I.isPublic=!1,I}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED"))return v=o(n=d.getDecryptedKeyHex(e,t),0,[1],"02"),w=o(n,0,[2],"02"),E=o(n,0,[3],"02"),T=o(n,0,[4],"02"),O=o(n,0,[5],"02"),(R=new c).setPrivate(new S(v,16),new S(w,16),new S(E,16),new S(T,16),new S(O,16)),R;if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return d.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},qe.generateKeypair=function(e,t){if("RSA"==e){var r=t;(a=new ne).generate(r,"10001"),a.isPrivate=!0,a.isPublic=!0;var n=new ne,i=a.n.toString(16),o=a.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(s={}).prvKeyObj=a,s.pubKeyObj=n,s}if("EC"==e){var a,s,c=t,u=new ce.crypto.ECDSA({curve:c}).generateKeyPairHex();return(a=new ce.crypto.ECDSA({curve:c})).setPublicKeyHex(u.ecpubhex),a.setPrivateKeyHex(u.ecprvhex),a.isPrivate=!0,a.isPublic=!1,(n=new ce.crypto.ECDSA({curve:c})).setPublicKeyHex(u.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(s={}).prvKeyObj=a,s.pubKeyObj=n,s}throw new Error("unknown algorithm: "+e)},qe.getPEM=function(e,t,r,n,i,o){var a=ce,s=a.asn1,c=s.DERObjectIdentifier,u=s.DERInteger,l=s.ASN1Util.newObject,d=s.x509.SubjectPublicKeyInfo,p=a.crypto,h=p.DSA,f=p.ECDSA,y=ne;function m(e){return l({seq:[{int:0},{int:{bigint:e.n}},{int:e.e},{int:{bigint:e.d}},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.dmp1}},{int:{bigint:e.dmq1}},{int:{bigint:e.coeff}}]})}function b(e){return l({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a0",!0,{oid:{name:e.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]})}function _(e){return l({seq:[{int:0},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}},{int:{bigint:e.y}},{int:{bigint:e.x}}]})}if((void 0!==y&&e instanceof y||void 0!==h&&e instanceof h||void 0!==f&&e instanceof f)&&1==e.isPublic&&(void 0===t||"PKCS8PUB"==t))return Ae(E=new d(e).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==t&&void 0!==y&&e instanceof y&&(void 0===r||null==r)&&1==e.isPrivate)return Ae(E=m(e).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==t&&void 0!==f&&e instanceof f&&(void 0===r||null==r)&&1==e.isPrivate){var v=new c({name:e.curveName}).getEncodedHex(),w=b(e).getEncodedHex(),S="";return(S+=Ae(v,"EC PARAMETERS"))+Ae(w,"EC PRIVATE KEY")}if("PKCS1PRV"==t&&void 0!==h&&e instanceof h&&(void 0===r||null==r)&&1==e.isPrivate)return Ae(E=_(e).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==t&&void 0!==y&&e instanceof y&&void 0!==r&&null!=r&&1==e.isPrivate){var E=m(e).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",E,r,n,o)}if("PKCS5PRV"==t&&void 0!==f&&e instanceof f&&void 0!==r&&null!=r&&1==e.isPrivate)return E=b(e).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",E,r,n,o);if("PKCS5PRV"==t&&void 0!==h&&e instanceof h&&void 0!==r&&null!=r&&1==e.isPrivate)return E=_(e).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",E,r,n,o);var T=function(e,t){var r=O(e,t);return new l({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},O=function(e,t){var r=g.lib.WordArray.random(8),n=g.lib.WordArray.random(8),i=g.PBKDF2(t,r,{keySize:6,iterations:100}),o=g.enc.Hex.parse(e),a=g.TripleDES.encrypt(o,i,{iv:n})+"",s={};return s.ciphertext=a,s.pbkdf2Salt=g.enc.Hex.stringify(r),s.pbkdf2Iter=100,s.encryptionSchemeAlg="DES-EDE3-CBC",s.encryptionSchemeIV=g.enc.Hex.stringify(n),s};if("PKCS8PRV"==t&&null!=y&&e instanceof y&&1==e.isPrivate){var x=m(e).getEncodedHex();return E=l({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:x}}]}).getEncodedHex(),void 0===r||null==r?Ae(E,"PRIVATE KEY"):Ae(w=T(E,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==f&&e instanceof f&&1==e.isPrivate)return x=new l({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]}).getEncodedHex(),E=l({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:x}}]}).getEncodedHex(),void 0===r||null==r?Ae(E,"PRIVATE KEY"):Ae(w=T(E,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==t&&void 0!==h&&e instanceof h&&1==e.isPrivate)return x=new u({bigint:e.x}).getEncodedHex(),E=l({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:x}}]}).getEncodedHex(),void 0===r||null==r?Ae(E,"PRIVATE KEY"):Ae(w=T(E,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},qe.getKeyFromCSRPEM=function(e){var t=Ie(e,"CERTIFICATE REQUEST");return qe.getKeyFromCSRHex(t)},qe.getKeyFromCSRHex=function(e){var t=qe.parseCSRHex(e);return qe.getKey(t.p8pubkeyhex,null,"pkcs8pub")},qe.parseCSRHex=function(e){var t=de,r=t.getChildIdx,n=t.getTLV,i={},o=e;if("30"!=o.substr(0,2))throw new Error("malformed CSR(code:001)");var a=r(o,0);if(a.length<1)throw new Error("malformed CSR(code:002)");if("30"!=o.substr(a[0],2))throw new Error("malformed CSR(code:003)");var s=r(o,a[0]);if(s.length<3)throw new Error("malformed CSR(code:004)");return i.p8pubkeyhex=n(o,s[2]),i},qe.getKeyID=function(e){var t=qe,r=de;"string"==typeof e&&-1!=e.indexOf("BEGIN ")&&(e=t.getKey(e));var n=Ie(t.getPEM(e)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ce.crypto.Util.hashHex(o,"sha1")},qe.getJWKFromKey=function(e){var t={};if(e instanceof ne&&e.isPrivate)return t.kty="RSA",t.n=be(e.n.toString(16)),t.e=be(e.e.toString(16)),t.d=be(e.d.toString(16)),t.p=be(e.p.toString(16)),t.q=be(e.q.toString(16)),t.dp=be(e.dmp1.toString(16)),t.dq=be(e.dmq1.toString(16)),t.qi=be(e.coeff.toString(16)),t;if(e instanceof ne&&e.isPublic)return t.kty="RSA",t.n=be(e.n.toString(16)),t.e=be(e.e.toString(16)),t;if(e instanceof ce.crypto.ECDSA&&e.isPrivate){if("P-256"!==(n=e.getShortNISTPCurveName())&&"P-384"!==n)throw new Error("unsupported curve name for JWT: "+n);var r=e.getPublicKeyXYHex();return t.kty="EC",t.crv=n,t.x=be(r.x),t.y=be(r.y),t.d=be(e.prvKeyHex),t}if(e instanceof ce.crypto.ECDSA&&e.isPublic){var n;if("P-256"!==(n=e.getShortNISTPCurveName())&&"P-384"!==n)throw new Error("unsupported curve name for JWT: "+n);return r=e.getPublicKeyXYHex(),t.kty="EC",t.crv=n,t.x=be(r.x),t.y=be(r.y),t}throw new Error("not supported key object")},ne.getPosArrayOfChildrenFromHex=function(e){return de.getChildIdx(e,0)},ne.getHexValueArrayOfChildrenFromHex=function(e){var t,r=de.getV,n=r(e,(t=ne.getPosArrayOfChildrenFromHex(e))[0]),i=r(e,t[1]),o=r(e,t[2]),a=r(e,t[3]),s=r(e,t[4]),c=r(e,t[5]),u=r(e,t[6]),l=r(e,t[7]),d=r(e,t[8]);return(t=new Array).push(n,i,o,a,s,c,u,l,d),t},ne.prototype.readPrivateKeyFromPEMString=function(e){var t=Ie(e),r=ne.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},ne.prototype.readPKCS5PrvKeyHex=function(e){var t=ne.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},ne.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,o,a,s,c,u=de,l=u.getVbyListEx;if(!1===u.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=l(e,0,[2,0,1],"02"),r=l(e,0,[2,0,2],"02"),n=l(e,0,[2,0,3],"02"),i=l(e,0,[2,0,4],"02"),o=l(e,0,[2,0,5],"02"),a=l(e,0,[2,0,6],"02"),s=l(e,0,[2,0,7],"02"),c=l(e,0,[2,0,8],"02")}catch(e){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,o,a,s,c)},ne.prototype.readPKCS5PubKeyHex=function(e){var t=de,r=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(2!==n.length||"02"!==e.substr(n[0],2)||"02"!==e.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),o=r(e,n[1]);this.setPublic(i,o)},ne.prototype.readPKCS8PubKeyHex=function(e){var t=de;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)},ne.prototype.readCertPubKeyHex=function(e,t){var r,n;(r=new Ke).readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},new RegExp("[^0-9a-f]","gi"),ne.prototype.sign=function(e,t){var r=function(e){return ce.crypto.Util.hashString(e,t)}(e);return this.signWithMessageHash(r,t)},ne.prototype.signWithMessageHash=function(e,t){var r=te(ce.crypto.Util.getPaddedDigestInfoHex(e,t,this.n.bitLength()),16);return He(this.doPrivate(r).toString(16),this.n.bitLength())},ne.prototype.signPSS=function(e,t,r){var n=function(e){return ce.crypto.Util.hashHex(e,t)}(Ee(e));return void 0===r&&(r=-1),this.signWithMessageHashPSS(n,t,r)},ne.prototype.signWithMessageHashPSS=function(e,t,r){var n,i=Se(e),o=i.length,a=this.n.bitLength()-1,s=Math.ceil(a/8),c=function(e){return ce.crypto.Util.hashHex(e,t)};if(-1===r||void 0===r)r=o;else if(-2===r)r=s-o-2;else if(r<-2)throw new Error("invalid salt length");if(s0&&(u=new Array(r),(new ee).nextBytes(u),u=String.fromCharCode.apply(String,u));var l=Se(c(Ee("\0\0\0\0\0\0\0\0"+i+u))),d=[];for(n=0;n>8*s-a&255;for(f[0]&=~y,n=0;nn)return!1;var i=this.doPublic(r).toString(16);if(i.length+3!=n/4)return!1;var o=Ge(i.replace(/^1f+00/,""));if(0==o.length)return!1;var a=o[0];return o[1]==function(e){return ce.crypto.Util.hashString(e,a)}(e)},ne.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=te(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Ge(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==e)},ne.prototype.verifyPSS=function(e,t,r,n){var i=function(e){return ce.crypto.Util.hashHex(e,r)}(Ee(e));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,t,r,n)},ne.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new S(t,16),a=function(e){return ce.crypto.Util.hashHex(e,r)},s=Se(e),c=s.length,u=this.n.bitLength()-1,l=Math.ceil(u/8);if(-1===n||void 0===n)n=c;else if(-2===n)n=l-c-2;else if(n<-2)throw new Error("invalid salt length");if(l>8*l-u&255;if(p.charCodeAt(0)&f)throw new Error("bits beyond keysize not zero");var y=$e(h,p.length,a),g=[];for(i=0;i0&&-1==(":"+r.join(":")+":").indexOf(":"+m+":"))throw"algorithm '"+m+"' not accepted in the list";if("none"!=m&&null===t)throw"key shall be specified to verify.";if("string"==typeof t&&-1!=t.indexOf("-----BEGIN ")&&(t=qe.getKey(t)),!("RS"!=p&&"PS"!=p||t instanceof n))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==p&&!(t instanceof c))throw"key shall be a ECDSA obj for ES* algs";var b=null;if(void 0===o.jwsalg2sigalg[g.alg])throw"unsupported alg name: "+m;if("none"==(b=o.jwsalg2sigalg[m]))throw"not supported";if("Hmac"==b.substr(0,4)){if(void 0===t)throw"hexadecimal key shall be specified for HMAC";var _=new u({alg:b,pass:t});return _.updateString(f),y==_.doFinal()}if(-1!=b.indexOf("withECDSA")){var v,w=null;try{w=c.concatSigToASN1Sig(y)}catch(e){return!1}return(v=new l({alg:b})).init(t),v.updateString(f),v.verify(w)}return(v=new l({alg:b})).init(t),v.updateString(f),v.verify(y)},ce.jws.JWS.parse=function(e){var t,r,n,i=e.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return t=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ce.jws.JWS.readSafeJSONString(le(t)),o.payloadObj=ce.jws.JWS.readSafeJSONString(le(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=le(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=_e(n)),o},ce.jws.JWS.verifyJWT=function(e,t,r){var n=ce.jws,i=n.JWS,o=i.readSafeJSONString,a=i.inArray,s=i.includedArray,c=e.split("."),u=c[0],l=c[1],d=(_e(c[2]),o(le(u))),p=o(le(l));if(void 0===d.alg)return!1;if(void 0===r.alg)throw"acceptField.alg shall be specified";if(!a(d.alg,r.alg))return!1;if(void 0!==p.iss&&"object"===h(r.iss)&&!a(p.iss,r.iss))return!1;if(void 0!==p.sub&&"object"===h(r.sub)&&!a(p.sub,r.sub))return!1;if(void 0!==p.aud&&"object"===h(r.aud))if("string"==typeof p.aud){if(!a(p.aud,r.aud))return!1}else if("object"==h(p.aud)&&!s(p.aud,r.aud))return!1;var f=n.IntDate.getNow();return void 0!==r.verifyAt&&"number"==typeof r.verifyAt&&(f=r.verifyAt),void 0!==r.gracePeriod&&"number"==typeof r.gracePeriod||(r.gracePeriod=0),!(void 0!==p.exp&&"number"==typeof p.exp&&p.exp+r.gracePeriodt.length&&(r=t.length);for(var n=0;n=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function f(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return q(e).length;default:if(n)return V(e).length;t=(""+t).toLowerCase(),n=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return I(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return O(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):b(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){var o,a=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=r;os&&(r=s-c),o=r;o>=0;o--){for(var d=!0,p=0;pi&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function O(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&u)<<6|63&o)>127&&(l=c);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(c=(15&u)<<12|(63&o)<<6|63&a)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);for(var r="",n=0;n0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},c.prototype.compare=function(e,t,r,n,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(n,i),l=e.slice(t,r),d=0;di)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return w(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function I(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,r,n,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function j(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function C(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function M(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function k(e,t,r,n,o){return o||M(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function L(e,t,r,n,o){return o||M(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||N(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},c.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):C(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):C(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);N(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a|0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):C(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):C(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,r){return k(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return k(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return L(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return L(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(29))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],s=n[1],u=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),l=0,d=s>0?a-4:a;for(r=0;r>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],a=16383,s=0,c=r-i;sc?c:s+a));return 1===i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var i,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,p=r?-1:1,h=e[t+d];for(d+=p,o=h&(1<<-l)-1,h>>=-l,l+=s;l>0;o=256*o+e[t+d],d+=p,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+d],d+=p,l-=8);if(0===o)o=1-u;else{if(o===c)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,n),o-=u}return(h?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,c,u=8*o-i-1,l=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,f=n?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?p/c:p*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*c-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+h]=255&s,h+=f,s/=256,i-=8);for(a=a<0;e[r+h]=255&a,h+=f,a/=256,u-=8);e[r+h-f]|=128*y}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.jws,r=e.KeyUtil,i=e.X509,o=e.crypto,a=e.hextob64u,s=e.b64tohex,c=e.AllowedSigningAlgs;return function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return e.parseJwt=function e(r){n.Log.debug("JoseUtil.parseJwt");try{var i=t.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(e){n.Log.error(e)}},e.validateJwt=function(t,o,a,c,u,l,d){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var p=s(o.x5c[0]);o=i.getPublicKeyFromCertHex(p)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return e._validateJwt(t,o,a,c,u,l,d)}catch(e){return n.Log.error(e&&e.message||e),Promise.reject("JWT validation failed")}},e.validateJwtAttributes=function(t,r,i,o,a,s){o||(o=0),a||(a=parseInt(Date.now()/1e3));var c=e.parseJwt(t).payload;if(!c.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(c.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",c.iss),Promise.reject(new Error("Invalid issuer in token: "+c.iss));if(!c.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(c.aud===i||Array.isArray(c.aud)&&c.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",c.aud),Promise.reject(new Error("Invalid audience in token: "+c.aud));if(c.azp&&c.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",c.azp),Promise.reject(new Error("Invalid azp in token: "+c.azp));if(!s){var u=a+o,l=a-o;if(!c.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(u1&&void 0!==arguments[1]?arguments[1]:"#";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=i.UrlUtility.parseUrlFragment(t,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(e,[{key:"expires_in",get:function(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function(e){var t=parseInt(e);if("number"==typeof t&&t>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+t}}},{key:"expired",get:function(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);t.SignoutRequest=function e(t){var r=t.url,a=t.id_token_hint,s=t.post_logout_redirect_uri,c=t.data,u=t.extraQueryParams,l=t.request_type;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var d in a&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",a)),s&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",s),c&&(this.state=new o.State({data:c,request_type:l}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),u)r=i.UrlUtility.addQueryParam(r,d,u[d]);this.url=r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignoutResponse=void 0;var n=r(3);t.SignoutResponse=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=n.UrlUtility.parseUrlFragment(t,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InMemoryWebStorage=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.SessionMonitor,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:p.TokenRevocationClient,d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:h.TokenClient,y=arguments.length>5&&void 0!==arguments[5]?arguments[5]:f.JoseUtil;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,t),r instanceof a.UserManagerSettings||(r=new a.UserManagerSettings(r));var g=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return g._events=new c.UserManagerEvents(r),g._silentRenewService=new n(g),g.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),g.startSilentRenew()),g.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),g._sessionMonitor=new o(g)),g._tokenRevocationClient=new s(g._settings),g._tokenClient=new d(g._settings),g._joseUtil=y,g}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getUser=function(){var e=this;return this._loadUser().then((function(t){return t?(i.Log.info("UserManager.getUser: user loaded"),e._events.load(t,!1),t):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},t.prototype.removeUser=function(){var e=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),e._events.unload()}))},t.prototype.signinRedirect=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:r";var t={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,t).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},t.prototype.signinRedirectCallback=function(e){return this._signinEnd(e||this._redirectNavigator.url).then((function(e){return e.profile&&e.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),e}))},t.prototype.signinPopup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:p";var t=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.display="popup",this._signin(e,this._popupNavigator,{startUrl:t,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),e}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},t.prototype.signinPopupCallback=function(e){return this._signinCallback(e,this._popupNavigator).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),e})).catch((function(e){i.Log.error(e.message)}))},t.prototype.signinSilent=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=Object.assign({},t),this._loadUser().then((function(r){return r&&r.refresh_token?(t.refresh_token=r.refresh_token,e._useRefreshToken(t)):(t.request_type="si:s",t.id_token_hint=t.id_token_hint||e.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&e._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),t.current_sub=r.profile.sub),e._signinSilentIframe(t))}))},t.prototype._useRefreshToken=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(t).then((function(t){return t?t.access_token?e._loadUser().then((function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=t.id_token||r.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then((function(){return e._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},t.prototype._validateIdTokenFromTokenRefreshToken=function(e,t){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(t,n,r._settings.client_id,r._settings.clockSkew,o).then((function(t){return t?t.sub!==e.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):t.azp&&t.azp!==e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!t.azp&&e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},t.prototype._signinSilentIframe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.prompt=e.prompt||"none",this._signin(e,this._iframeNavigator,{startUrl:t,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),e}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},t.prototype.signinSilentCallback=function(e){return this._signinCallback(e,this._iframeNavigator).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),e}))},t.prototype.signinCallback=function(e){var t=this;return this.readSigninResponseState(e).then((function(r){var n=r.state;return r.response,"si:r"===n.request_type?t.signinRedirectCallback(e):"si:p"===n.request_type?t.signinPopupCallback(e):"si:s"===n.request_type?t.signinSilentCallback(e):Promise.reject(new Error("invalid response_type in state"))}))},t.prototype.signoutCallback=function(e,t){var r=this;return this.readSignoutResponseState(e).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(e):"so:p"===i.request_type?r.signoutPopupCallback(e,t):Promise.reject(new Error("invalid response_type in state")):o}))},t.prototype.querySessionStatus=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:s";var r=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(t.redirect_uri=r,t.prompt="none",t.response_type=t.response_type||this.settings.query_status_response_type,t.scope=t.scope||"openid",t.skipUserInfo=!0,this._signinStart(t,this._iframeNavigator,{startUrl:r,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return e.processSigninResponse(t.url).then((function(e){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),e.session_state&&e.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",e.profile.sub),{session_state:e.session_state,sub:e.profile.sub,sid:e.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&("login_required"==t.message||"consent_required"==t.message||"interaction_required"==t.message||"account_selection_required"==t.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:t.session_state};throw t}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},t.prototype._signin=function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,t,n).then((function(t){return r._signinEnd(t.url,e)}))},t.prototype._signinStart=function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.prepare(n).then((function(t){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(e).then((function(e){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=e.url,n.id=e.state.id,t.navigate(n)})).catch((function(e){throw t.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),t.close()),e}))}))},t.prototype._signinEnd=function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then((function(e){i.Log.debug("UserManager._signinEnd: got signin response");var n=new s.User(e);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return t.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),t._events.load(n),n}))}))},t.prototype._signinCallback=function(e,t){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&d.SigninRequest.isCode(this._settings.response_type)?"?":"#";return t.callback(e,void 0,r)},t.prototype.signoutRedirect=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:r";var t=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;t&&(e.post_logout_redirect_uri=t);var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},t.prototype.signoutRedirectCallback=function(e){return this._signoutEnd(e||this._redirectNavigator.url).then((function(e){return i.Log.info("UserManager.signoutRedirectCallback: successful"),e}))},t.prototype.signoutPopup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:p";var t=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=t,e.display="popup",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:t,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},t.prototype.signoutPopupCallback=function(e,t){return void 0===t&&"boolean"==typeof e&&(t=e,e=null),this._popupNavigator.callback(e,t,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},t.prototype._signout=function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,t,n).then((function(e){return r._signoutEnd(e.url)}))},t.prototype._signoutStart=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),t._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(t._settings.revokeAccessTokenOnSignout?t._revokeInternal(o):Promise.resolve()).then((function(){var a=e.id_token_hint||o&&o.id_token;return a&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),e.id_token_hint=a),t.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),t.createSignoutRequest(e).then((function(e){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=e.url,e.state&&(r.id=e.state.id),n.navigate(r)}))}))}))})).catch((function(e){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),e}))}))},t.prototype._signoutEnd=function(e){return this.processSignoutResponse(e).then((function(e){return i.Log.debug("UserManager._signoutEnd: got signout response"),e}))},t.prototype.revokeAccessToken=function(){var e=this;return this._loadUser().then((function(t){return e._revokeInternal(t,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),e._events.load(t)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},t.prototype._revokeInternal=function(e,t){var r=this;if(e){var n=e.access_token,o=e.refresh_token;return this._revokeAccessTokenInternal(n,t).then((function(e){return r._revokeRefreshTokenInternal(o,t).then((function(t){return e||t||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),e||t}))}))}return Promise.resolve(!1)},t.prototype._revokeAccessTokenInternal=function(e,t){return!e||e.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,t).then((function(){return!0}))},t.prototype._revokeRefreshTokenInternal=function(e,t){return e?this._tokenRevocationClient.revoke(e,t,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},t.prototype.startSilentRenew=function(){this._silentRenewService.start()},t.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},t.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(e){return e?(i.Log.debug("UserManager._loadUser: user storageString loaded"),s.User.fromStorageString(e)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},t.prototype.storeUser=function(e){if(e){i.Log.debug("UserManager.storeUser: storing user");var t=e.toStorageString();return this._userStore.set(this._userStoreKey,t)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(t,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),t}(o.OidcClient)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserManagerSettings=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,d=r.popupWindowFeatures,p=r.popupWindowTarget,h=r.silent_redirect_uri,f=r.silentRequestTimeout,y=r.automaticSilentRenew,g=void 0!==y&&y,m=r.validateSubOnSilentRenew,b=void 0!==m&&m,_=r.includeIdTokenInSilentRenew,v=void 0===_||_,w=r.monitorSession,S=void 0===w||w,E=r.monitorAnonymousSession,T=void 0!==E&&E,O=r.checkSessionInterval,x=void 0===O?2e3:O,A=r.stopCheckSessionOnError,I=void 0===A||A,R=r.query_status_response_type,P=r.revokeAccessTokenOnSignout,F=void 0!==P&&P,D=r.accessTokenExpiringNotificationTime,N=void 0===D?60:D,j=r.redirectNavigator,C=void 0===j?new o.RedirectNavigator:j,M=r.popupNavigator,k=void 0===M?new a.PopupNavigator:M,L=r.iframeNavigator,U=void 0===L?new s.IFrameNavigator:L,B=r.userStore,V=void 0===B?new c.WebStorageStateStore({store:u.Global.sessionStorage}):B;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var q=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,arguments[0]));return q._popup_redirect_uri=n,q._popup_post_logout_redirect_uri=i,q._popupWindowFeatures=d,q._popupWindowTarget=p,q._silent_redirect_uri=h,q._silentRequestTimeout=f,q._automaticSilentRenew=g,q._validateSubOnSilentRenew=b,q._includeIdTokenInSilentRenew=v,q._accessTokenExpiringNotificationTime=N,q._monitorSession=S,q._monitorAnonymousSession=T,q._checkSessionInterval=x,q._stopCheckSessionOnError=I,R?q._query_status_response_type=R:arguments[0]&&arguments[0].response_type?q._query_status_response_type=l.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":q._query_status_response_type="id_token",q._revokeAccessTokenOnSignout=F,q._redirectNavigator=C,q._popupNavigator=k,q._iframeNavigator=U,q._userStore=V,q}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),t}(i.OidcClientSettings)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RedirectNavigator=void 0;var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),e.prototype.load.call(this,t),r&&this._userLoaded.raise(t)},t.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),e.prototype.unload.call(this),this._userUnloaded.raise()},t.prototype.addUserLoaded=function(e){this._userLoaded.addHandler(e)},t.prototype.removeUserLoaded=function(e){this._userLoaded.removeHandler(e)},t.prototype.addUserUnloaded=function(e){this._userUnloaded.addHandler(e)},t.prototype.removeUserUnloaded=function(e){this._userUnloaded.removeHandler(e)},t.prototype.addSilentRenewError=function(e){this._silentRenewError.addHandler(e)},t.prototype.removeSilentRenewError=function(e){this._silentRenewError.removeHandler(e)},t.prototype._raiseSilentRenewError=function(e){n.Log.debug("UserManagerEvents._raiseSilentRenewError",e.message),this._silentRenewError.raise(e)},t.prototype.addUserSignedIn=function(e){this._userSignedIn.addHandler(e)},t.prototype.removeUserSignedIn=function(e){this._userSignedIn.removeHandler(e)},t.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},t.prototype.addUserSignedOut=function(e){this._userSignedOut.addHandler(e)},t.prototype.removeUserSignedOut=function(e){this._userSignedOut.removeHandler(e)},t.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},t.prototype.addUserSessionChanged=function(e){this._userSessionChanged.addHandler(e)},t.prototype.removeUserSessionChanged=function(e){this._userSessionChanged.removeHandler(e)},t.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},t}(i.AccessTokenEvents)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Timer=void 0;var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return a._timer=n,a._nowFunc=i||function(){return Date.now()/1e3},a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.init=function(e){e<=0&&(e=1),e=parseInt(e);var t=this.now+e;if(this.expiration===t&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",e),this._expiration=t;var r=5;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fragment=void 0,t.fragment=function(e){let t=function(e){let t=e;(t.endsWith("/")||t.endsWith("#"))&&(t=t.slice(0,t.length-1));const r=[];t.lastIndexOf("/")>0&&r.push(t.lastIndexOf("/")),t.lastIndexOf("#")>0&&r.push(t.lastIndexOf("#"));const n=Math.max(...r);return t.slice(n+1)}(e);return t=t?function(e){var t;const r=null===(t=e.split(/[^a-z0-9]+/gi).filter((e=>""!==e)).map((e=>e[0].toUpperCase()+e.slice(1))).join("").match(/[a-z][a-z0-9]+/gi))||void 0===t?void 0:t[0];return void 0===r?void 0:r[0].toLowerCase()+r.slice(1)}(t):void 0,t||"v"}},35030:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupAllPrefixes=t.prefixToUri=t.uriToPrefix=void 0;const i=r(62620),o=r(88993);t.uriToPrefix=function(e,t){return n(this,void 0,void 0,(function*(){let r;try{r=yield(0,o.lookupPrefix)(e,t)}catch(n){(null==t?void 0:t.mintOnUnknown)&&(r=(0,i.fragment)(e).slice(0,4))}if(void 0!==r&&"object"==typeof(null==t?void 0:t.existingPrefixes)&&r in t.existingPrefixes){let e=0;for(;`${r}${e}`in t.existingPrefixes;)e+=1;r=`${r}${e}`}return r}))},t.prefixToUri=function(e,t){return n(this,void 0,void 0,(function*(){try{return yield(0,o.lookupUri)(e,t)}catch(e){return}}))};var a=r(88993);Object.defineProperty(t,"lookupAllPrefixes",{enumerable:!0,get:function(){return a.lookupAllPrefixes}})},37338:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchContext=t.fetchJson=void 0;const i=r(74945);function o(e,t){var r;return n(this,void 0,void 0,(function*(){const n=null!==(r=null==t?void 0:t.fetch)&&void 0!==r?r:i.fetch;return(yield n(e)).json()}))}t.fetchJson=o,t.fetchContext=function(e,t){return n(this,void 0,void 0,(function*(){return(yield o(e,t))["@context"]}))}},88993:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(51192),t),i(r(35535),t),i(r(45144),t)},45144:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupAllPrefixes=void 0;const i=r(37338);t.lookupAllPrefixes=function(e){return n(this,void 0,void 0,(function*(){return(0,i.fetchContext)("https://prefix.cc/context",e)}))}},51192:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupUri=void 0;const i=r(37338);t.lookupUri=function(e,t){return n(this,void 0,void 0,(function*(){const r=(yield(0,i.fetchContext)(`https://prefix.cc/${e}.file.jsonld`,t))[e];if("string"!=typeof r)throw new Error(`Expected uri to be a string, received: ${r} of type ${typeof r}`);return r}))}},35535:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupPrefix=void 0;const i=r(37338);t.lookupPrefix=function(e,t){return n(this,void 0,void 0,(function*(){const r=new URL("https://prefix.cc/reverse");r.searchParams.append("uri",e),r.searchParams.append("format","jsonld");const n=Object.keys(yield(0,i.fetchContext)(r,t));if(0===n.length)throw new Error("No prefixes returned");return n[0]}))}},52728:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.stringify=function(e){return n(this,void 0,void 0,(function*(){let t="";return e.on("data",(e=>{t+=e})),yield(0,i.promisifyEventEmitter)(e),t}))};const i=r(66486)},40319:(e,t,r)=>{"use strict";r.r(t),r.d(t,{CordovaIFrameNavigator:()=>n.CordovaIFrameNavigator,CordovaPopupNavigator:()=>n.CordovaPopupNavigator,InMemoryWebStorage:()=>n.InMemoryWebStorage,Log:()=>n.Log,OidcClient:()=>n.OidcClient,SessionMonitor:()=>n.SessionMonitor,User:()=>n.User,UserManager:()=>n.UserManager,Version:()=>n.Version,WebStorageStateStore:()=>n.WebStorageStateStore,clearOidcPersistentStorage:()=>h,getBearerToken:()=>c,getDpopToken:()=>u,refresh:()=>d,registerClient:()=>o,removeOidcQueryParam:()=>p});var n=r(76516),i=r(30710);async function o(e,t){var r;if(!t.registrationEndpoint)throw new Error("Dynamic Registration could not be completed because the issuer has no registration endpoint.");if(!Array.isArray(t.idTokenSigningAlgValuesSupported))throw new Error("The OIDC issuer discovery profile is missing the 'id_token_signing_alg_values_supported' value, which is mandatory.");const n=(0,i.determineSigningAlg)(t.idTokenSigningAlgValuesSupported,i.PREFERRED_SIGNING_ALG),o={client_name:e.clientName,application_type:"web",redirect_uris:[null===(r=e.redirectUrl)||void 0===r?void 0:r.toString()],subject_type:"public",token_endpoint_auth_method:"client_secret_basic",id_token_signed_response_alg:n,grant_types:["authorization_code","refresh_token"]},a=await fetch(t.registrationEndpoint.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(a.ok){const t=await a.json();return function(e,t){if(void 0===e.client_id)throw new Error(`Dynamic client registration failed: no client_id has been found on ${JSON.stringify(e)}`);if(t.redirectUrl&&(void 0===e.redirect_uris||e.redirect_uris[0]!==t.redirectUrl.toString()))throw new Error(`Dynamic client registration failed: the returned redirect URIs ${JSON.stringify(e.redirect_uris)} don't match the provided ${JSON.stringify([t.redirectUrl.toString()])}`)}(t,e),{clientId:t.client_id,clientSecret:t.client_secret,idTokenSignedResponseAlg:t.id_token_signed_response_alg,clientType:"dynamic"}}throw 400===a.status&&function(e,t){var r,n,i,o;if("invalid_redirect_uri"===e.error)throw new Error(`Dynamic client registration failed: the provided redirect uri [${null===(r=t.redirectUrl)||void 0===r?void 0:r.toString()}] is invalid - ${null!==(n=e.error_description)&&void 0!==n?n:""}`);if("invalid_client_metadata"===e.error)throw new Error(`Dynamic client registration failed: the provided client metadata ${JSON.stringify(t)} is invalid - ${null!==(i=e.error_description)&&void 0!==i?i:""}`);throw new Error(`Dynamic client registration failed: ${e.error} - ${null!==(o=e.error_description)&&void 0!==o?o:""}`)}(await a.json(),e),new Error(`Dynamic client registration failed: the server returned ${a.status} ${a.statusText} - ${await a.text()}`)}function a(e){return void 0!==e.error_description&&"string"==typeof e.error_description}function s(e,t){if(void 0!==(r=e).error&&"string"==typeof r.error)throw new i.OidcProviderError(`Token endpoint returned error [${e.error}]${a(e)?`: ${e.error_description}`:""}${function(e){return void 0!==e.error_uri&&"string"==typeof e.error_uri}(e)?` (see ${e.error_uri})`:""}`,e.error,a(e)?e.error_description:void 0);var r;if(!function(e){return void 0!==e.access_token&&"string"==typeof e.access_token}(e))throw new i.InvalidResponseError(["access_token"]);if(!function(e){return void 0!==e.id_token&&"string"==typeof e.id_token}(e))throw new i.InvalidResponseError(["id_token"]);if(!function(e){return void 0!==e.token_type&&"string"==typeof e.token_type}(e))throw new i.InvalidResponseError(["token_type"]);if(!function(e){return void 0===e.expires_in||"number"==typeof e.expires_in}(e))throw new i.InvalidResponseError(["expires_in"]);if(!t&&"bearer"!==e.token_type.toLowerCase())throw new Error(`Invalid token endpoint response: requested a [Bearer] token, but got a 'token_type' value of [${e.token_type}].`);return e}async function c(e){let t;try{const r=new n.OidcClient({response_mode:"query",loadUserInfo:!1});if(t=await r.processSigninResponse(e),void 0===r.settings.metadata)throw new Error("Cannot retrieve issuer metadata from client information in storage.");if(void 0===r.settings.metadata.jwks_uri)throw new Error("Missing some issuer metadata from client information in storage: 'jwks_uri' is undefined");if(void 0===r.settings.metadata.issuer)throw new Error("Missing some issuer metadata from client information in storage: 'issuer' is undefined");if(void 0===r.settings.client_id)throw new Error("Missing some client information in storage: 'client_id' is undefined");const o=await(0,i.getWebidFromTokenPayload)(t.id_token,r.settings.metadata.jwks_uri,r.settings.metadata.issuer,r.settings.client_id);return{accessToken:t.access_token,idToken:t.id_token,webId:o,refreshToken:t.refresh_token}}catch(t){throw new Error(`Problem handling Auth Code Grant (Flow) redirect - URL [${e}]: ${t}`)}}async function u(e,t,r){return async function(e,t,r,n){!function(e,t){if(t.grantType&&(!e.grantTypesSupported||!e.grantTypesSupported.includes(t.grantType)))throw new Error(`The issuer [${e.issuer}] does not support the [${t.grantType}] grant`);if(!e.tokenEndpoint)throw new Error(`This issuer [${e.issuer}] does not have a token endpoint`)}(e,r);const o={"content-type":"application/x-www-form-urlencoded"};let a;n&&(a=await(0,i.generateDpopKeyPair)(),o.DPoP=await(0,i.createDpopHeader)(e.tokenEndpoint,"POST",a)),t.clientSecret&&(o.Authorization=`Basic ${btoa(`${t.clientId}:${t.clientSecret}`)}`);const c={grant_type:r.grantType,redirect_uri:r.redirectUrl,code:r.code,code_verifier:r.codeVerifier,client_id:t.clientId},u={method:"POST",headers:o,body:new URLSearchParams(c).toString()},l=await await fetch(e.tokenEndpoint,u),d=s(await l.json(),n),p=await(0,i.getWebidFromTokenPayload)(d.id_token,e.jwksUri,e.issuer,t.clientId);return{accessToken:d.access_token,idToken:d.id_token,refreshToken:(h=d,void 0!==h.refresh_token&&"string"==typeof h.refresh_token?d.refresh_token:void 0),webId:p,dpopKey:a,expiresIn:d.expires_in};var h}(e,t,r,!0)}const l=e=>{try{return new URL(e),!0}catch(e){return!1}};async function d(e,t,r,n){if(void 0===r.clientId)throw new Error("No client ID available when trying to refresh the access token.");const o={grant_type:"refresh_token",refresh_token:e,scope:i.DEFAULT_SCOPES};let a={};void 0!==n&&(a={DPoP:await(0,i.createDpopHeader)(t.tokenEndpoint,"POST",n)});let c={};void 0!==r.clientSecret?c={Authorization:`Basic ${btoa(`${r.clientId}:${r.clientSecret}`)}`}:l(r.clientId)&&(o.client_id=r.clientId);const u=await fetch(t.tokenEndpoint,{method:"POST",body:new URLSearchParams(o).toString(),headers:{...a,...c,"Content-Type":"application/x-www-form-urlencoded"}});let d;try{d=await u.json()}catch(e){throw new Error(`The token endpoint of issuer ${t.issuer} returned a malformed response.`)}const p=s(d,void 0!==n),h=await(0,i.getWebidFromTokenPayload)(p.id_token,t.jwksUri,t.issuer,r.clientId);return{accessToken:p.access_token,idToken:p.id_token,refreshToken:"string"==typeof p.refresh_token?p.refresh_token:void 0,webId:h,dpopKey:n,expiresIn:p.expires_in}}function p(e){const t=new URL(e);return t.searchParams.delete("code"),t.searchParams.delete("state"),t.hash="",t.toString()}async function h(){const e=new n.OidcClient({response_mode:"query"});await e.clearStaleState(new n.WebStorageStateStore({}));const t=window.localStorage,r=[];for(let e=0;e<=t.length;e+=1){const n=t.key(e);n&&(n.match(/^oidc\..+$/)||n.match(/^solidClientAuthenticationUser:.+$/))&&r.push(n)}r.forEach((e=>t.removeItem(e)))}},55201:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SaxesParser=t.EVENTS=void 0;const n=r(31487),i=r(84797),o=r(60446);var a=n.isS,s=n.isChar,c=n.isNameStartChar,u=n.isNameChar,l=n.S_LIST,d=n.NAME_RE,p=i.isChar,h=o.isNCNameStartChar,f=o.isNCNameChar,y=o.NC_NAME_RE;const g="http://www.w3.org/XML/1998/namespace",m="http://www.w3.org/2000/xmlns/",b={__proto__:null,xml:g,xmlns:m},_={__proto__:null,amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},v=-1,w=-2,S=13,E=33,T=10,O=60,x=61,A=62,I=63,R=93,P=e=>34===e||39===e,F=[34,39],D=[...F,91,A],N=[...F,O,R],j=[x,I,...l],C=[...l,A,38,O];function M(e,t,r){switch(t){case"xml":r!==g&&e.fail(`xml prefix must be bound to ${g}.`);break;case"xmlns":r!==m&&e.fail(`xmlns prefix must be bound to ${m}.`)}switch(r){case m:e.fail(""===t?`the default namespace may not be set to ${r}.`:`may not assign a prefix (even "xmlns") to the URI ${m}.`);break;case g:switch(t){case"xml":break;case"":e.fail(`the default namespace may not be set to ${r}.`);break;default:e.fail("may not assign the xml namespace to another prefix.")}}}const k=e=>y.test(e),L=e=>d.test(e);t.EVENTS=["xmldecl","text","processinginstruction","doctype","comment","opentagstart","attribute","opentag","closetag","cdata","error","end","ready"];const U={xmldecl:"xmldeclHandler",text:"textHandler",processinginstruction:"piHandler",doctype:"doctypeHandler",comment:"commentHandler",opentagstart:"openTagStartHandler",attribute:"attributeHandler",opentag:"openTagHandler",closetag:"closeTagHandler",cdata:"cdataHandler",error:"errorHandler",end:"endHandler",ready:"readyHandler"};t.SaxesParser=class{get closed(){return this._closed}constructor(e){this.opt=null!=e?e:{},this.fragmentOpt=!!this.opt.fragment;const t=this.xmlnsOpt=!!this.opt.xmlns;if(this.trackPosition=!1!==this.opt.position,this.fileName=this.opt.fileName,t){this.nameStartCheck=h,this.nameCheck=f,this.isName=k,this.processAttribs=this.processAttribsNS,this.pushAttrib=this.pushAttribNS,this.ns=Object.assign({__proto__:null},b);const e=this.opt.additionalNamespaces;null!=e&&(function(e,t){for(const r of Object.keys(t))M(e,r,t[r])}(this,e),Object.assign(this.ns,e))}else this.nameStartCheck=c,this.nameCheck=u,this.isName=L,this.processAttribs=this.processAttribsPlain,this.pushAttrib=this.pushAttribPlain;this.stateTable=[this.sBegin,this.sBeginWhitespace,this.sDoctype,this.sDoctypeQuote,this.sDTD,this.sDTDQuoted,this.sDTDOpenWaka,this.sDTDOpenWakaBang,this.sDTDComment,this.sDTDCommentEnding,this.sDTDCommentEnded,this.sDTDPI,this.sDTDPIEnding,this.sText,this.sEntity,this.sOpenWaka,this.sOpenWakaBang,this.sComment,this.sCommentEnding,this.sCommentEnded,this.sCData,this.sCDataEnding,this.sCDataEnding2,this.sPIFirstChar,this.sPIRest,this.sPIBody,this.sPIEnding,this.sXMLDeclNameStart,this.sXMLDeclName,this.sXMLDeclEq,this.sXMLDeclValueStart,this.sXMLDeclValue,this.sXMLDeclSeparator,this.sXMLDeclEnding,this.sOpenTag,this.sOpenTagSlash,this.sAttrib,this.sAttribName,this.sAttribNameSawWhite,this.sAttribValue,this.sAttribValueQuoted,this.sAttribValueClosed,this.sAttribValueUnquoted,this.sCloseTag,this.sCloseTagSawWhite],this._init()}_init(){var e;this.openWakaBang="",this.text="",this.name="",this.piTarget="",this.entity="",this.q=null,this.tags=[],this.tag=null,this.topNS=null,this.chunk="",this.chunkPosition=0,this.i=0,this.prevI=0,this.carriedFromPrevious=void 0,this.forbiddenState=0,this.attribList=[];const{fragmentOpt:t}=this;this.state=t?S:0,this.reportedTextBeforeRoot=this.reportedTextAfterRoot=this.closedRoot=this.sawRoot=t,this.xmlDeclPossible=!t,this.xmlDeclExpects=["version"],this.entityReturnState=void 0;let{defaultXMLVersion:r}=this.opt;if(void 0===r){if(!0===this.opt.forceXMLVersion)throw new Error("forceXMLVersion set but defaultXMLVersion is not set");r="1.0"}this.setXMLVersion(r),this.positionAtNewLine=0,this.doctype=!1,this._closed=!1,this.xmlDecl={version:void 0,encoding:void 0,standalone:void 0},this.line=1,this.column=0,this.ENTITIES=Object.create(_),null===(e=this.readyHandler)||void 0===e||e.call(this)}get position(){return this.chunkPosition+this.i}get columnIndex(){return this.position-this.positionAtNewLine}on(e,t){this[U[e]]=t}off(e){this[U[e]]=void 0}makeError(e){var t;let r=null!==(t=this.fileName)&&void 0!==t?t:"";return this.trackPosition&&(r.length>0&&(r+=":"),r+=`${this.line}:${this.column}`),r.length>0&&(r+=": "),new Error(r+e)}fail(e){const t=this.makeError(e),r=this.errorHandler;if(void 0===r)throw t;return r(t),this}write(e){if(this.closed)return this.fail("cannot write after close; assign an onready handler.");let t=!1;null===e?(t=!0,e=""):"object"==typeof e&&(e=e.toString()),void 0!==this.carriedFromPrevious&&(e=`${this.carriedFromPrevious}${e}`,this.carriedFromPrevious=void 0);let r=e.length;const n=e.charCodeAt(r-1);!t&&(13===n||n>=55296&&n<=56319)&&(this.carriedFromPrevious=e[r-1],r--,e=e.slice(0,r));const{stateTable:i}=this;for(this.chunk=e,this.i=0;this.i=e.length)return v;const r=e.charCodeAt(t);if(this.column++,r<55296){if(r>=32||9===r)return r;switch(r){case T:return this.line++,this.column=0,this.positionAtNewLine=this.position,T;case 13:return e.charCodeAt(t+1)===T&&(this.i=t+2),this.line++,this.column=0,this.positionAtNewLine=this.position,w;default:return this.fail("disallowed character."),r}}if(r>56319)return r>=57344&&r<=65533||this.fail("disallowed character."),r;const n=65536+1024*(r-55296)+(e.charCodeAt(t+1)-56320);return this.i=t+2,n>1114111&&this.fail("disallowed character."),n}getCode11(){const{chunk:e,i:t}=this;if(this.prevI=t,this.i=t+1,t>=e.length)return v;const r=e.charCodeAt(t);if(this.column++,r<55296){if(r>31&&r<127||r>159&&8232!==r||9===r)return r;switch(r){case T:return this.line++,this.column=0,this.positionAtNewLine=this.position,T;case 13:{const r=e.charCodeAt(t+1);r!==T&&133!==r||(this.i=t+2)}case 133:case 8232:return this.line++,this.column=0,this.positionAtNewLine=this.position,w;default:return this.fail("disallowed character."),r}}if(r>56319)return r>=57344&&r<=65533||this.fail("disallowed character."),r;const n=65536+1024*(r-55296)+(e.charCodeAt(t+1)-56320);return this.i=t+2,n>1114111&&this.fail("disallowed character."),n}getCodeNorm(){const e=this.getCode();return e===w?T:e}unget(){this.i=this.prevI,this.column--}captureTo(e){let{i:t}=this;const{chunk:r}=this;for(;;){const n=this.getCode(),i=n===w,o=i?T:n;if(o===v||e.includes(o))return this.text+=r.slice(t,this.prevI),o;i&&(this.text+=`${r.slice(t,this.prevI)}\n`,t=this.i)}}captureToChar(e){let{i:t}=this;const{chunk:r}=this;for(;;){let n=this.getCode();switch(n){case w:this.text+=`${r.slice(t,this.prevI)}\n`,t=this.i,n=T;break;case v:return this.text+=r.slice(t),!1}if(n===e)return this.text+=r.slice(t,this.prevI),!0}}captureNameChars(){const{chunk:e,i:t}=this;for(;;){const r=this.getCode();if(r===v)return this.name+=e.slice(t),v;if(!u(r))return this.name+=e.slice(t,this.prevI),r===w?T:r}}skipSpaces(){for(;;){const e=this.getCodeNorm();if(e===v||!a(e))return e}}setXMLVersion(e){this.currentXMLVersion=e,"1.0"===e?(this.isChar=s,this.getCode=this.getCode10):(this.isChar=p,this.getCode=this.getCode11)}sBegin(){65279===this.chunk.charCodeAt(0)&&(this.i++,this.column++),this.state=1}sBeginWhitespace(){const e=this.i,t=this.skipSpaces();switch(this.prevI!==e&&(this.xmlDeclPossible=!1),t){case O:if(this.state=15,0!==this.text.length)throw new Error("no-empty text at start");break;case v:break;default:this.unget(),this.state=S,this.xmlDeclPossible=!1}}sDoctype(){var e;const t=this.captureTo(D);switch(t){case A:null===(e=this.doctypeHandler)||void 0===e||e.call(this,this.text),this.text="",this.state=S,this.doctype=!0;break;case v:break;default:this.text+=String.fromCodePoint(t),91===t?this.state=4:P(t)&&(this.state=3,this.q=t)}}sDoctypeQuote(){const e=this.q;this.captureToChar(e)&&(this.text+=String.fromCodePoint(e),this.q=null,this.state=2)}sDTD(){const e=this.captureTo(N);e!==v&&(this.text+=String.fromCodePoint(e),e===R?this.state=2:e===O?this.state=6:P(e)&&(this.state=5,this.q=e))}sDTDQuoted(){const e=this.q;this.captureToChar(e)&&(this.text+=String.fromCodePoint(e),this.state=4,this.q=null)}sDTDOpenWaka(){const e=this.getCodeNorm();switch(this.text+=String.fromCodePoint(e),e){case 33:this.state=7,this.openWakaBang="";break;case I:this.state=11;break;default:this.state=4}}sDTDOpenWakaBang(){const e=String.fromCodePoint(this.getCodeNorm()),t=this.openWakaBang+=e;this.text+=e,"-"!==t&&(this.state="--"===t?8:4,this.openWakaBang="")}sDTDComment(){this.captureToChar(45)&&(this.text+="-",this.state=9)}sDTDCommentEnding(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),this.state=45===e?10:8}sDTDCommentEnded(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),e===A?this.state=4:(this.fail("malformed comment."),this.state=8)}sDTDPI(){this.captureToChar(I)&&(this.text+="?",this.state=12)}sDTDPIEnding(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),e===A&&(this.state=4)}sText(){0!==this.tags.length?this.handleTextInRoot():this.handleTextOutsideRoot()}sEntity(){let{i:e}=this;const{chunk:t}=this;e:for(;;)switch(this.getCode()){case w:this.entity+=`${t.slice(e,this.prevI)}\n`,e=this.i;break;case 59:{const{entityReturnState:r}=this,n=this.entity+t.slice(e,this.prevI);let i;this.state=r,""===n?(this.fail("empty entity name."),i="&;"):(i=this.parseEntity(n),this.entity=""),r===S&&void 0===this.textHandler||(this.text+=i);break e}case v:this.entity+=t.slice(e);break e}}sOpenWaka(){const e=this.getCode();if(c(e))this.state=34,this.unget(),this.xmlDeclPossible=!1;else switch(e){case 47:this.state=43,this.xmlDeclPossible=!1;break;case 33:this.state=16,this.openWakaBang="",this.xmlDeclPossible=!1;break;case I:this.state=23;break;default:this.fail("disallowed character in tag name"),this.state=S,this.xmlDeclPossible=!1}}sOpenWakaBang(){switch(this.openWakaBang+=String.fromCodePoint(this.getCodeNorm()),this.openWakaBang){case"[CDATA[":this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0),this.state=20,this.openWakaBang="";break;case"--":this.state=17,this.openWakaBang="";break;case"DOCTYPE":this.state=2,(this.doctype||this.sawRoot)&&this.fail("inappropriately located doctype declaration."),this.openWakaBang="";break;default:this.openWakaBang.length>=7&&this.fail("incorrect syntax.")}}sComment(){this.captureToChar(45)&&(this.state=18)}sCommentEnding(){var e;const t=this.getCodeNorm();45===t?(this.state=19,null===(e=this.commentHandler)||void 0===e||e.call(this,this.text),this.text=""):(this.text+=`-${String.fromCodePoint(t)}`,this.state=17)}sCommentEnded(){const e=this.getCodeNorm();e!==A?(this.fail("malformed comment."),this.text+=`--${String.fromCodePoint(e)}`,this.state=17):this.state=S}sCData(){this.captureToChar(R)&&(this.state=21)}sCDataEnding(){const e=this.getCodeNorm();e===R?this.state=22:(this.text+=`]${String.fromCodePoint(e)}`,this.state=20)}sCDataEnding2(){var e;const t=this.getCodeNorm();switch(t){case A:null===(e=this.cdataHandler)||void 0===e||e.call(this,this.text),this.text="",this.state=S;break;case R:this.text+="]";break;default:this.text+=`]]${String.fromCodePoint(t)}`,this.state=20}}sPIFirstChar(){const e=this.getCodeNorm();this.nameStartCheck(e)?(this.piTarget+=String.fromCodePoint(e),this.state=24):e===I||a(e)?(this.fail("processing instruction without a target."),this.state=e===I?26:25):(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(e),this.state=24)}sPIRest(){const{chunk:e,i:t}=this;for(;;){const r=this.getCodeNorm();if(r===v)return void(this.piTarget+=e.slice(t));if(!this.nameCheck(r)){this.piTarget+=e.slice(t,this.prevI);const n=r===I;n||a(r)?"xml"===this.piTarget?(this.xmlDeclPossible||this.fail("an XML declaration must be at the start of the document."),this.state=n?E:27):this.state=n?26:25:(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(r));break}}}sPIBody(){if(0===this.text.length){const e=this.getCodeNorm();e===I?this.state=26:a(e)||(this.text=String.fromCodePoint(e))}else this.captureToChar(I)&&(this.state=26)}sPIEnding(){var e;const t=this.getCodeNorm();if(t===A){const{piTarget:t}=this;"xml"===t.toLowerCase()&&this.fail("the XML declaration must appear at the start of the document."),null===(e=this.piHandler)||void 0===e||e.call(this,{target:t,body:this.text}),this.piTarget=this.text="",this.state=S}else t===I?this.text+="?":(this.text+=`?${String.fromCodePoint(t)}`,this.state=25);this.xmlDeclPossible=!1}sXMLDeclNameStart(){const e=this.skipSpaces();e!==I?e!==v&&(this.state=28,this.name=String.fromCodePoint(e)):this.state=E}sXMLDeclName(){const e=this.captureTo(j);if(e===I)return this.state=E,this.name+=this.text,this.text="",void this.fail("XML declaration is incomplete.");if(a(e)||e===x){if(this.name+=this.text,this.text="",!this.xmlDeclExpects.includes(this.name))switch(this.name.length){case 0:this.fail("did not expect any more name/value pairs.");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail(`expected one of ${this.xmlDeclExpects.join(", ")}`)}this.state=e===x?30:29}}sXMLDeclEq(){const e=this.getCodeNorm();if(e===I)return this.state=E,void this.fail("XML declaration is incomplete.");a(e)||(e!==x&&this.fail("value required."),this.state=30)}sXMLDeclValueStart(){const e=this.getCodeNorm();if(e===I)return this.state=E,void this.fail("XML declaration is incomplete.");a(e)||(P(e)?this.q=e:(this.fail("value must be quoted."),this.q=32),this.state=31)}sXMLDeclValue(){const e=this.captureTo([this.q,I]);if(e===I)return this.state=E,this.text="",void this.fail("XML declaration is incomplete.");if(e===v)return;const t=this.text;switch(this.text="",this.name){case"version":{this.xmlDeclExpects=["encoding","standalone"];const e=t;this.xmlDecl.version=e,/^1\.[0-9]+$/.test(e)?this.opt.forceXMLVersion||this.setXMLVersion(e):this.fail("version number must match /^1\\.[0-9]+$/.");break}case"encoding":/^[A-Za-z][A-Za-z0-9._-]*$/.test(t)||this.fail("encoding value must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/."),this.xmlDeclExpects=["standalone"],this.xmlDecl.encoding=t;break;case"standalone":"yes"!==t&&"no"!==t&&this.fail('standalone value must match "yes" or "no".'),this.xmlDeclExpects=[],this.xmlDecl.standalone=t}this.name="",this.state=32}sXMLDeclSeparator(){const e=this.getCodeNorm();e!==I?(a(e)||(this.fail("whitespace required."),this.unget()),this.state=27):this.state=E}sXMLDeclEnding(){var e;this.getCodeNorm()===A?("xml"!==this.piTarget?this.fail("processing instructions are not allowed before root."):"version"!==this.name&&this.xmlDeclExpects.includes("version")&&this.fail("XML declaration must contain a version."),null===(e=this.xmldeclHandler)||void 0===e||e.call(this,this.xmlDecl),this.name="",this.piTarget=this.text="",this.state=S):this.fail("The character ? is disallowed anywhere in XML declarations."),this.xmlDeclPossible=!1}sOpenTag(){var e;const t=this.captureNameChars();if(t===v)return;const r=this.tag={name:this.name,attributes:Object.create(null)};switch(this.name="",this.xmlnsOpt&&(this.topNS=r.ns=Object.create(null)),null===(e=this.openTagStartHandler)||void 0===e||e.call(this,r),this.sawRoot=!0,!this.fragmentOpt&&this.closedRoot&&this.fail("documents may contain only one root."),t){case A:this.openTag();break;case 47:this.state=35;break;default:a(t)||this.fail("disallowed character in tag name."),this.state=36}}sOpenTagSlash(){this.getCode()===A?this.openSelfClosingTag():(this.fail("forward-slash in opening tag not followed by >."),this.state=36)}sAttrib(){const e=this.skipSpaces();e!==v&&(c(e)?(this.unget(),this.state=37):e===A?this.openTag():47===e?this.state=35:this.fail("disallowed character in attribute name."))}sAttribName(){const e=this.captureNameChars();e===x?this.state=39:a(e)?this.state=38:e===A?(this.fail("attribute without value."),this.pushAttrib(this.name,this.name),this.name=this.text="",this.openTag()):e!==v&&this.fail("disallowed character in attribute name.")}sAttribNameSawWhite(){const e=this.skipSpaces();switch(e){case v:return;case x:this.state=39;break;default:this.fail("attribute without value."),this.text="",this.name="",e===A?this.openTag():c(e)?(this.unget(),this.state=37):(this.fail("disallowed character in attribute name."),this.state=36)}}sAttribValue(){const e=this.getCodeNorm();P(e)?(this.q=e,this.state=40):a(e)||(this.fail("unquoted attribute value."),this.state=42,this.unget())}sAttribValueQuoted(){const{q:e,chunk:t}=this;let{i:r}=this;for(;;)switch(this.getCode()){case e:return this.pushAttrib(this.name,this.text+t.slice(r,this.prevI)),this.name=this.text="",this.q=null,void(this.state=41);case 38:return this.text+=t.slice(r,this.prevI),this.state=14,void(this.entityReturnState=40);case T:case w:case 9:this.text+=`${t.slice(r,this.prevI)} `,r=this.i;break;case O:return this.text+=t.slice(r,this.prevI),void this.fail("disallowed character.");case v:return void(this.text+=t.slice(r))}}sAttribValueClosed(){const e=this.getCodeNorm();a(e)?this.state=36:e===A?this.openTag():47===e?this.state=35:c(e)?(this.fail("no whitespace between attributes."),this.unget(),this.state=37):this.fail("disallowed character in attribute name.")}sAttribValueUnquoted(){const e=this.captureTo(C);switch(e){case 38:this.state=14,this.entityReturnState=42;break;case O:this.fail("disallowed character.");break;case v:break;default:this.text.includes("]]>")&&this.fail('the string "]]>" is disallowed in char data.'),this.pushAttrib(this.name,this.text),this.name=this.text="",e===A?this.openTag():this.state=36}}sCloseTag(){const e=this.captureNameChars();e===A?this.closeTag():a(e)?this.state=44:e!==v&&this.fail("disallowed character in closing tag.")}sCloseTagSawWhite(){switch(this.skipSpaces()){case A:this.closeTag();break;case v:break;default:this.fail("disallowed character in closing tag.")}}handleTextInRoot(){let{i:e,forbiddenState:t}=this;const{chunk:r,textHandler:n}=this;e:for(;;)switch(this.getCode()){case O:if(this.state=15,void 0!==n){const{text:t}=this,i=r.slice(e,this.prevI);0!==t.length?(n(t+i),this.text=""):0!==i.length&&n(i)}t=0;break e;case 38:this.state=14,this.entityReturnState=S,void 0!==n&&(this.text+=r.slice(e,this.prevI)),t=0;break e;case R:switch(t){case 0:t=1;break;case 1:t=2;break;case 2:break;default:throw new Error("impossible state")}break;case A:2===t&&this.fail('the string "]]>" is disallowed in char data.'),t=0;break;case w:void 0!==n&&(this.text+=`${r.slice(e,this.prevI)}\n`),e=this.i,t=0;break;case v:void 0!==n&&(this.text+=r.slice(e));break e;default:t=0}this.forbiddenState=t}handleTextOutsideRoot(){let{i:e}=this;const{chunk:t,textHandler:r}=this;let n=!1;e:for(;;){const i=this.getCode();switch(i){case O:if(this.state=15,void 0!==r){const{text:n}=this,i=t.slice(e,this.prevI);0!==n.length?(r(n+i),this.text=""):0!==i.length&&r(i)}break e;case 38:this.state=14,this.entityReturnState=S,void 0!==r&&(this.text+=t.slice(e,this.prevI)),n=!0;break e;case w:void 0!==r&&(this.text+=`${t.slice(e,this.prevI)}\n`),e=this.i;break;case v:void 0!==r&&(this.text+=t.slice(e));break e;default:a(i)||(n=!0)}}n&&(this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0))}pushAttribNS(e,t){var r;const{prefix:n,local:i}=this.qname(e),o={name:e,prefix:n,local:i,value:t};if(this.attribList.push(o),null===(r=this.attributeHandler)||void 0===r||r.call(this,o),"xmlns"===n){const e=t.trim();"1.0"===this.currentXMLVersion&&""===e&&this.fail("invalid attempt to undefine prefix in XML 1.0"),this.topNS[i]=e,M(this,i,e)}else if("xmlns"===e){const e=t.trim();this.topNS[""]=e,M(this,"",e)}}pushAttribPlain(e,t){var r;const n={name:e,value:t};this.attribList.push(n),null===(r=this.attributeHandler)||void 0===r||r.call(this,n)}end(){var e,t;this.sawRoot||this.fail("document must contain a root element.");const{tags:r}=this;for(;r.length>0;){const e=r.pop();this.fail(`unclosed tag: ${e.name}`)}0!==this.state&&this.state!==S&&this.fail("unexpected end.");const{text:n}=this;return 0!==n.length&&(null===(e=this.textHandler)||void 0===e||e.call(this,n),this.text=""),this._closed=!0,null===(t=this.endHandler)||void 0===t||t.call(this),this._init(),this}resolve(e){var t,r;let n=this.topNS[e];if(void 0!==n)return n;const{tags:i}=this;for(let t=i.length-1;t>=0;t--)if(n=i[t].ns[e],void 0!==n)return n;return n=this.ns[e],void 0!==n?n:null===(r=(t=this.opt).resolvePrefix)||void 0===r?void 0:r.call(t,e)}qname(e){const t=e.indexOf(":");if(-1===t)return{prefix:"",local:e};const r=e.slice(t+1),n=e.slice(0,t);return(""===n||""===r||r.includes(":"))&&this.fail(`malformed name: ${e}.`),{prefix:n,local:r}}processAttribsNS(){var e;const{attribList:t}=this,r=this.tag;{const{prefix:t,local:n}=this.qname(r.name);r.prefix=t,r.local=n;const i=r.uri=null!==(e=this.resolve(t))&&void 0!==e?e:"";""!==t&&("xmlns"===t&&this.fail('tags may not have "xmlns" as prefix.'),""===i&&(this.fail(`unbound namespace prefix: ${JSON.stringify(t)}.`),r.uri=t))}if(0===t.length)return;const{attributes:n}=r,i=new Set;for(const e of t){const{name:t,prefix:r,local:o}=e;let a,s;""===r?(a="xmlns"===t?m:"",s=t):(a=this.resolve(r),void 0===a&&(this.fail(`unbound namespace prefix: ${JSON.stringify(r)}.`),a=r),s=`{${a}}${o}`),i.has(s)&&this.fail(`duplicate attribute: ${s}.`),i.add(s),e.uri=a,n[t]=e}this.attribList=[]}processAttribsPlain(){const{attribList:e}=this,t=this.tag.attributes;for(const{name:r,value:n}of e)void 0!==t[r]&&this.fail(`duplicate attribute: ${r}.`),t[r]=n;this.attribList=[]}openTag(){var e;this.processAttribs();const{tags:t}=this,r=this.tag;r.isSelfClosing=!1,null===(e=this.openTagHandler)||void 0===e||e.call(this,r),t.push(r),this.state=S,this.name=""}openSelfClosingTag(){var e,t,r;this.processAttribs();const{tags:n}=this,i=this.tag;i.isSelfClosing=!0,null===(e=this.openTagHandler)||void 0===e||e.call(this,i),null===(t=this.closeTagHandler)||void 0===t||t.call(this,i),null===(this.tag=null!==(r=n[n.length-1])&&void 0!==r?r:null)&&(this.closedRoot=!0),this.state=S,this.name=""}closeTag(){const{tags:e,name:t}=this;if(this.state=S,this.name="",""===t)return this.fail("weird empty close tag."),void(this.text+="");const r=this.closeTagHandler;let n=e.length;for(;n-- >0;){const n=this.tag=e.pop();if(this.topNS=n.ns,null==r||r(n),n.name===t)break;this.fail("unexpected close tag.")}0===n?this.closedRoot=!0:n<0&&(this.fail(`unmatched closing tag: ${t}.`),this.text+=``)}parseEntity(e){if("#"!==e[0]){const t=this.ENTITIES[e];return void 0!==t?t:(this.fail(this.isName(e)?"undefined entity.":"disallowed character in entity name."),`&${e};`)}let t=NaN;return"x"===e[1]&&/^#x[0-9a-f]+$/i.test(e)?t=parseInt(e.slice(2),16):/^#[0-9]+$/.test(e)&&(t=parseInt(e.slice(1),10)),this.isChar(t)?String.fromCodePoint(t):(this.fail("malformed character entity."),`&${e};`)}}},11908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710),i=r(40319),o=(e,t)=>window.fetch(e,t),a=()=>Promise.reject(new Error("headersAuthenticator is not initialized yet"));t.default=class{constructor(e,t,r,s,c){this.loginHandler=e,this.redirectHandler=t,this.logoutHandler=r,this.sessionInfoManager=s,this.issuerConfigFetcher=c,this.login=async(e,t)=>{var r,n;await this.sessionInfoManager.clear(e.sessionId);const o=(0,i.removeOidcQueryParam)(null!==(r=e.redirectUrl)&&void 0!==r?r:window.location.href);await this.loginHandler.handle({...e,redirectUrl:o,clientName:null!==(n=e.clientName)&&void 0!==n?n:e.clientId,eventEmitter:t})},this.fetch=o,this.headersAuthenticator=a,this.logout=async e=>{await this.logoutHandler.handle(e),this.fetch=o,this.headersAuthenticator=a},this.getSessionInfo=async e=>this.sessionInfoManager.get(e),this.getAllSessionInfo=async()=>this.sessionInfoManager.getAll(),this.validateCurrentSession=async e=>{const t=await this.sessionInfoManager.get(e);return void 0===t||void 0===t.clientAppId||void 0===t.issuer?null:t},this.handleIncomingRedirect=async(e,t)=>{try{const r=await this.redirectHandler.handle(e,t);return this.fetch=r.fetch.bind(window),this.headersAuthenticator=r.headersAuthenticator,this.cleanUrlAfterRedirect(e),{isLoggedIn:r.isLoggedIn,webId:r.webId,sessionId:r.sessionId,expirationDate:r.expirationDate}}catch(r){return this.cleanUrlAfterRedirect(e),void t.emit(n.EVENTS.ERROR,"redirect",r)}}}cleanUrlAfterRedirect(e){const t=new URL(e);t.searchParams.delete("state"),t.searchParams.delete("code"),t.searchParams.delete("id_token"),t.searchParams.delete("access_token"),t.searchParams.delete("error"),t.searchParams.delete("error_description"),window.history.replaceState(null,"",t.toString())}}},80687:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Session=t.silentlyAuthenticate=void 0;const n=r(37007),i=r(30710),o=r(10611),a=r(77818),s=r(14935);async function c(e,t,r){var n;const i=await t.validateCurrentSession(e);return null!==i&&(window.localStorage.setItem(s.KEY_CURRENT_URL,window.location.href),await t.login({sessionId:e,prompt:"none",oidcIssuer:i.issuer,redirectUrl:i.redirectUrl,clientId:i.clientAppId,clientSecret:i.clientAppSecret,tokenType:null!==(n=i.tokenType)&&void 0!==n?n:"DPoP"},r),!0)}t.silentlyAuthenticate=c;class u extends n.EventEmitter{constructor(e={},t){super(),this.tokenRequestInProgress=!1,this.login=async e=>{var t;return await this.clientAuthentication.login({sessionId:this.info.sessionId,...e,tokenType:null!==(t=e.tokenType)&&void 0!==t?t:"DPoP"},this),new Promise((()=>{}))},this.fetch=async(e,t)=>this.clientAuthentication.fetch(e,t),this.authenticateHeaders=(e,t,r)=>this.clientAuthentication.headersAuthenticator(e,t,r),this.internalLogout=async e=>{window.localStorage.removeItem(s.KEY_CURRENT_SESSION),await this.clientAuthentication.logout(this.info.sessionId),this.info.isLoggedIn=!1,e&&this.emit(i.EVENTS.LOGOUT)},this.logout=async()=>this.internalLogout(!0),this.handleIncomingRedirect=async(e={})=>{var t;if(this.info.isLoggedIn)return this.info;if(this.tokenRequestInProgress)return;const r="string"==typeof e?{url:e}:e,n=null!==(t=r.url)&&void 0!==t?t:window.location.href;this.tokenRequestInProgress=!0;const o=await this.clientAuthentication.handleIncomingRedirect(n,this);if(function(e){return!!(null==e?void 0:e.isLoggedIn)}(o)){this.setSessionInfo(o);const e=window.localStorage.getItem(s.KEY_CURRENT_URL);null===e?this.emit(i.EVENTS.LOGIN):(window.localStorage.removeItem(s.KEY_CURRENT_URL),this.emit(i.EVENTS.SESSION_RESTORED,e))}else if(!0===r.restorePreviousSession){const e=window.localStorage.getItem(s.KEY_CURRENT_SESSION);if(null!==e&&await c(e,this.clientAuthentication,this))return new Promise((()=>{}))}return this.tokenRequestInProgress=!1,o},e.clientAuthentication?this.clientAuthentication=e.clientAuthentication:e.secureStorage&&e.insecureStorage?this.clientAuthentication=(0,a.getClientAuthenticationWithDependencies)({secureStorage:e.secureStorage,insecureStorage:e.insecureStorage}):this.clientAuthentication=(0,a.getClientAuthenticationWithDependencies)({}),e.sessionInfo?this.info={sessionId:e.sessionInfo.sessionId,isLoggedIn:!1,webId:e.sessionInfo.webId}:this.info={sessionId:null!=t?t:(0,o.v4)(),isLoggedIn:!1},this.on(i.EVENTS.LOGIN,(()=>window.localStorage.setItem(s.KEY_CURRENT_SESSION,this.info.sessionId))),this.on(i.EVENTS.SESSION_EXPIRED,(()=>this.internalLogout(!1))),this.on(i.EVENTS.ERROR,(()=>this.internalLogout(!1)))}onLogin(e){this.on(i.EVENTS.LOGIN,e)}onLogout(e){this.on(i.EVENTS.LOGOUT,e)}onError(e){this.on(i.EVENTS.ERROR,e)}onSessionRestore(e){this.on(i.EVENTS.SESSION_RESTORED,e)}onSessionExpiration(e){this.on(i.EVENTS.SESSION_EXPIRED,e)}setSessionInfo(e){this.info.isLoggedIn=e.isLoggedIn,this.info.webId=e.webId,this.info.sessionId=e.sessionId,this.info.expirationDate=e.expirationDate,this.on(i.EVENTS.SESSION_EXTENDED,(e=>{this.info.expirationDate=Date.now()+1e3*e}))}}t.Session=u},14935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KEY_CURRENT_URL=t.KEY_CURRENT_SESSION=void 0;const n=r(30710);t.KEY_CURRENT_SESSION=`${n.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentSession`,t.KEY_CURRENT_URL=`${n.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentUrl`},96520:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.onSessionRestore=t.onLogout=t.onLogin=t.handleIncomingRedirect=t.logout=t.login=t.fetch=t.getDefaultSession=void 0;const n=r(80687);let i;function o(){return void 0===i&&(i=new n.Session),i}t.getDefaultSession=o,t.fetch=(...e)=>o().fetch(...e),t.login=(...e)=>o().login(...e),t.logout=(...e)=>o().logout(...e),t.handleIncomingRedirect=(...e)=>o().handleIncomingRedirect(...e),t.onLogin=(...e)=>o().onLogin(...e),t.onLogout=(...e)=>o().onLogout(...e),t.onSessionRestore=(...e)=>o().onSessionRestore(...e)},77818:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getClientAuthenticationWithDependencies=void 0;const i=r(30710),o=n(r(83258)),a=n(r(11908)),s=n(r(38349)),c=n(r(1642)),u=n(r(51103)),l=r(76994),d=n(r(91366)),p=r(87177),h=r(3025),f=n(r(31858)),y=n(r(89292)),g=n(r(75970)),m=n(r(3149)),b=r(47747),_=n(r(7160));t.getClientAuthenticationWithDependencies=function(e){const t=new i.InMemoryStorage,r=e.secureStorage||t,n=e.insecureStorage||new y.default,v=new o.default(r,n),w=new u.default(v),S=new m.default(v),E=new p.SessionInfoManager(v),T=new _.default(v,w,S),O=new s.default(v,new c.default(v,new g.default),w,S),x=new f.default([new b.ErrorOidcHandler,new h.AuthCodeRedirectHandler(v,E,w,S,T),new l.FallbackRedirectHandler]);return new a.default(O,x,new d.default(E),E,w)}},89279:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.InMemoryStorage=t.ConfigurationError=t.NotImplementedError=t.getClientAuthenticationWithDependencies=t.Session=void 0;var o=r(80687);Object.defineProperty(t,"Session",{enumerable:!0,get:function(){return o.Session}});var a=r(77818);Object.defineProperty(t,"getClientAuthenticationWithDependencies",{enumerable:!0,get:function(){return a.getClientAuthenticationWithDependencies}}),i(r(96520),t),i(r(88602),t),i(r(89774),t);var s=r(30710);Object.defineProperty(t,"NotImplementedError",{enumerable:!0,get:function(){return s.NotImplementedError}}),Object.defineProperty(t,"ConfigurationError",{enumerable:!0,get:function(){return s.ConfigurationError}}),Object.defineProperty(t,"InMemoryStorage",{enumerable:!0,get:function(){return s.InMemoryStorage}})},31858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710);class i extends n.AggregateHandler{constructor(e){super(e)}}t.default=i},3149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(40319);t.default=class{constructor(e){this.storageUtility=e}async getClient(e,t){const[r,i]=await Promise.all([this.storageUtility.getForUser(e.sessionId,"clientId",{secure:!1}),this.storageUtility.getForUser(e.sessionId,"clientSecret",{secure:!1})]);if(r)return{clientId:r,clientSecret:i,clientType:"dynamic"};try{const r=await(0,n.registerClient)(e,t),i={clientId:r.clientId};return r.clientSecret&&(i.clientSecret=r.clientSecret),r.idTokenSignedResponseAlg&&(i.idTokenSignedResponseAlg=r.idTokenSignedResponseAlg),await this.storageUtility.setForUser(e.sessionId,i,{secure:!1}),r}catch(e){throw new Error(`Client registration failed: [${e}]`)}}}},51103:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WELL_KNOWN_OPENID_CONFIG=void 0;const n=r(30710),i=r(2654);t.WELL_KNOWN_OPENID_CONFIG=".well-known/openid-configuration";const o={issuer:{toKey:"issuer",convertToUrl:!0},authorization_endpoint:{toKey:"authorizationEndpoint",convertToUrl:!0},token_endpoint:{toKey:"tokenEndpoint",convertToUrl:!0},userinfo_endpoint:{toKey:"userinfoEndpoint",convertToUrl:!0},jwks_uri:{toKey:"jwksUri",convertToUrl:!0},registration_endpoint:{toKey:"registrationEndpoint",convertToUrl:!0},scopes_supported:{toKey:"scopesSupported"},response_types_supported:{toKey:"responseTypesSupported"},response_modes_supported:{toKey:"responseModesSupported"},grant_types_supported:{toKey:"grantTypesSupported"},acr_values_supported:{toKey:"acrValuesSupported"},subject_types_supported:{toKey:"subjectTypesSupported"},id_token_signing_alg_values_supported:{toKey:"idTokenSigningAlgValuesSupported"},id_token_encryption_alg_values_supported:{toKey:"idTokenEncryptionAlgValuesSupported"},id_token_encryption_enc_values_supported:{toKey:"idTokenEncryptionEncValuesSupported"},userinfo_signing_alg_values_supported:{toKey:"userinfoSigningAlgValuesSupported"},userinfo_encryption_alg_values_supported:{toKey:"userinfoEncryptionAlgValuesSupported"},userinfo_encryption_enc_values_supported:{toKey:"userinfoEncryptionEncValuesSupported"},request_object_signing_alg_values_supported:{toKey:"requestObjectSigningAlgValuesSupported"},request_object_encryption_alg_values_supported:{toKey:"requestObjectEncryptionAlgValuesSupported"},request_object_encryption_enc_values_supported:{toKey:"requestObjectEncryptionEncValuesSupported"},token_endpoint_auth_methods_supported:{toKey:"tokenEndpointAuthMethodsSupported"},token_endpoint_auth_signing_alg_values_supported:{toKey:"tokenEndpointAuthSigningAlgValuesSupported"},display_values_supported:{toKey:"displayValuesSupported"},claim_types_supported:{toKey:"claimTypesSupported"},claims_supported:{toKey:"claimsSupported"},service_documentation:{toKey:"serviceDocumentation"},claims_locales_supported:{toKey:"claimsLocalesSupported"},ui_locales_supported:{toKey:"uiLocalesSupported"},claims_parameter_supported:{toKey:"claimsParameterSupported"},request_parameter_supported:{toKey:"requestParameterSupported"},request_uri_parameter_supported:{toKey:"requestUriParameterSupported"},require_request_uri_registration:{toKey:"requireRequestUriRegistration"},op_policy_uri:{toKey:"opPolicyUri",convertToUrl:!0},op_tos_uri:{toKey:"opTosUri",convertToUrl:!0}};class a{constructor(e){this.storageUtility=e}static getLocalStorageKey(e){return`issuerConfig:${e}`}async fetchConfig(e){let r;const s=(0,i.appendToUrlPathname)(e,t.WELL_KNOWN_OPENID_CONFIG),c=await window.fetch(s);try{r=function(e){const t={};return Object.keys(e).forEach((r=>{o[r]&&(t[o[r].toKey]=e[r])})),Array.isArray(t.scopesSupported)||(t.scopesSupported=["openid"]),t}(await c.json())}catch(t){throw new n.ConfigurationError(`[${e.toString()}] has an invalid configuration: ${t.message}`)}return await this.storageUtility.set(a.getLocalStorageKey(e),JSON.stringify(r)),r}}t.default=a},38349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710);function i(e){return"string"==typeof e.oidcIssuer}function o(e){return"string"==typeof e.redirectUrl}t.default=class{constructor(e,t,r,n){this.storageUtility=e,this.oidcHandler=t,this.issuerConfigFetcher=r,this.clientRegistrar=n}async canHandle(e){return i(e)&&o(e)}async handle(e){if(!i(e))throw new n.ConfigurationError(`OidcLoginHandler requires an OIDC issuer: missing property 'oidcIssuer' in ${JSON.stringify(e)}`);if(!o(e))throw new n.ConfigurationError(`OidcLoginHandler requires a redirect URL: missing property 'redirectUrl' in ${JSON.stringify(e)}`);const t=await this.issuerConfigFetcher.fetchConfig(e.oidcIssuer),r=await(0,n.handleRegistration)(e,t,this.storageUtility,this.clientRegistrar),a={issuer:t.issuer,dpop:"dpop"===e.tokenType.toLowerCase(),...e,issuerConfiguration:t,client:r};return this.oidcHandler.handle(a)}}},75970:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{redirect(e,t){t&&t.handleRedirect?t.handleRedirect(e):t&&t.redirectByReplacingState?window.history.replaceState({},"",e):window.location.href=e}}},3025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthCodeRedirectHandler=void 0;const n=r(30710),i=r(40319);t.AuthCodeRedirectHandler=class{constructor(e,t,r,n,i){this.storageUtility=e,this.sessionInfoManager=t,this.issuerConfigFetcher=r,this.clientRegistrar=n,this.tokerRefresher=i}async canHandle(e){try{const t=new URL(e);return null!==t.searchParams.get("code")&&null!==t.searchParams.get("state")}catch(t){throw new Error(`[${e}] is not a valid URL, and cannot be used as a redirect URL: ${t}`)}}async handle(e,t){if(!await this.canHandle(e))throw new Error(`AuthCodeRedirectHandler cannot handle [${e}]: it is missing one of [code, state].`);const r=new URL(e),o=r.searchParams.get("state"),a=await this.storageUtility.getForUser(o,"sessionId",{errorIfNull:!0}),{issuerConfig:s,codeVerifier:c,redirectUrl:u,dpop:l}=await(0,n.loadOidcContextFromStorage)(a,this.storageUtility,this.issuerConfigFetcher);if(void 0===c)throw new Error(`The code verifier for session ${a} is missing from storage.`);if(void 0===u)throw new Error(`The redirect URL for session ${a} is missing from storage.`);const d=await this.clientRegistrar.getClient({sessionId:a},s);let p;const h=Date.now();let f;l?(p=await(0,i.getDpopToken)(s,d,{grantType:"authorization_code",code:r.searchParams.get("code"),codeVerifier:c,redirectUrl:u}),window.localStorage.removeItem(`oidc.${o}`)):p=await(0,i.getBearerToken)(r.toString()),void 0!==p.refreshToken&&(f={sessionId:a,refreshToken:p.refreshToken,tokenRefresher:this.tokerRefresher});const y=await(0,n.buildAuthenticatedFetch)(fetch,p.accessToken,{dpopKey:p.dpopKey,refreshOptions:f,eventEmitter:t,expiresIn:p.expiresIn}),g=await(0,n.buildHeadersAuthenticator)(p.accessToken,{dpopKey:p.dpopKey});await this.storageUtility.setForUser(a,{webId:p.webId,isLoggedIn:"true"},{secure:!0}),r.searchParams.delete("code"),await this.storageUtility.setForUser(a,{redirectUrl:r.toString()},{secure:!1});const m=await this.sessionInfoManager.get(a);if(!m)throw new Error(`Could not retrieve session: [${a}].`);return Object.assign(m,{fetch:y,headersAuthenticator:g,expirationDate:"number"==typeof p.expiresIn?h+1e3*p.expiresIn:null})}}},47747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorOidcHandler=void 0;const n=r(30710),i=r(87177);t.ErrorOidcHandler=class{async canHandle(e){try{return new URL(e).searchParams.has("error")}catch(t){throw new Error(`[${e}] is not a valid URL, and cannot be used as a redirect URL: ${t}`)}}async handle(e,t){if(void 0!==t){const r=new URL(e),i=r.searchParams.get("error"),o=r.searchParams.get("error_description");t.emit(n.EVENTS.ERROR,i,o)}return(0,i.getUnauthenticatedSession)()}}},76994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FallbackRedirectHandler=void 0;const n=r(87177);t.FallbackRedirectHandler=class{async canHandle(e){try{return new URL(e),!0}catch(t){throw new Error(`[${e}] is not a valid URL, and cannot be used as a redirect URL: ${t}`)}}async handle(e){return(0,n.getUnauthenticatedSession)()}}},1642:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710),i=r(40319);t.default=class{constructor(e,t){this.storageUtility=e,this.redirector=t}async canHandle(e){return!!(e.issuerConfiguration.grantTypesSupported&&e.issuerConfiguration.grantTypesSupported.indexOf("authorization_code")>-1)}async handle(e){var t;const r={authority:e.issuer.toString(),client_id:e.client.clientId,client_secret:e.client.clientSecret,redirect_uri:e.redirectUrl.toString(),post_logout_redirect_uri:e.redirectUrl.toString(),response_type:"code",scope:n.DEFAULT_SCOPES,filterProtocolClaims:!0,loadUserInfo:!1,code_verifier:!0,prompt:null!==(t=e.prompt)&&void 0!==t?t:"consent"},o=new i.OidcClient(r),{redirector:a}=this,s=this.storageUtility;try{const t=await o.createSigninRequest();await Promise.all([s.setForUser(t.state._id,{sessionId:e.sessionId}),s.setForUser(e.sessionId,{codeVerifier:t.state._code_verifier,issuer:e.issuer.toString(),redirectUrl:e.redirectUrl,dpop:e.dpop?"true":"false"})]),a.redirect(t.url.toString(),{handleRedirect:e.handleRedirect})}catch(e){console.error(e)}}}},7160:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710),i=r(40319);t.default=class{constructor(e,t,r){this.storageUtility=e,this.issuerConfigFetcher=t,this.clientRegistrar=r}async refresh(e,t,r,o){const a=await(0,n.loadOidcContextFromStorage)(e,this.storageUtility,this.issuerConfigFetcher),s=await this.clientRegistrar.getClient({sessionId:e},a.issuerConfig);if(void 0===t)throw new Error(`Session [${e}] has no refresh token to allow it to refresh its access token.`);if(a.dpop&&void 0===r)throw new Error(`For session [${e}], the key bound to the DPoP access token must be provided to refresh said access token.`);const c=await(0,i.refresh)(t,a.issuerConfig,s,r);return void 0!==c.refreshToken&&(null==o||o.emit(n.EVENTS.NEW_REFRESH_TOKEN,c.refreshToken),await this.storageUtility.setForUser(e,{refreshToken:c.refreshToken})),c}}},91366:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.sessionInfoManager=e}async canHandle(){return!0}async handle(e){await this.sessionInfoManager.clear(e)}}},87177:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionInfoManager=t.clear=t.getUnauthenticatedSession=void 0;const n=r(30710),i=r(10611),o=r(40319);async function a(e,t){await Promise.all([t.deleteAllUserData(e,{secure:!1}),t.deleteAllUserData(e,{secure:!0}),t.delete("clientKey",{secure:!1})]),await(0,o.clearOidcPersistentStorage)()}t.getUnauthenticatedSession=function(){return{isLoggedIn:!1,sessionId:(0,i.v4)(),fetch,headersAuthenticator:async(e,t,r)=>r}},t.clear=a,t.SessionInfoManager=class{constructor(e){this.storageUtility=e}update(e,t){throw new Error("Not Implemented")}async get(e){var t;const r=await this.storageUtility.getForUser(e,"isLoggedIn",{secure:!0}),i=await this.storageUtility.getForUser(e,"webId",{secure:!0}),o=await this.storageUtility.getForUser(e,"clientId",{secure:!1}),a=await this.storageUtility.getForUser(e,"clientSecret",{secure:!1}),s=await this.storageUtility.getForUser(e,"redirectUrl",{secure:!1}),c=await this.storageUtility.getForUser(e,"refreshToken",{secure:!0}),u=await this.storageUtility.getForUser(e,"issuer",{secure:!1}),l=null!==(t=await this.storageUtility.getForUser(e,"tokenType",{secure:!1}))&&void 0!==t?t:"DPoP";if(!(0,n.isSupportedTokenType)(l))throw new Error(`Tokens of type [${l}] are not supported.`);if(void 0!==o||void 0!==r||void 0!==i||void 0!==c)return{sessionId:e,webId:i,isLoggedIn:"true"===r,redirectUrl:s,refreshToken:c,issuer:u,clientAppId:o,clientAppSecret:a,tokenType:l}}async getAll(){throw new Error("Not implemented")}async clear(e){return a(e,this.storageUtility)}async register(e){throw new Error("Not implemented")}async getRegisteredSessionIdAll(){throw new Error("Not implemented")}async clearAll(){throw new Error("Not implemented")}}},89292:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{get storage(){return window.localStorage}async get(e){return this.storage.getItem(e)||void 0}async set(e,t){this.storage.setItem(e,t)}async delete(e){this.storage.removeItem(e)}}},83258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710);class i extends n.StorageUtility{constructor(e,t){super(e,t)}}t.default=i},2654:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.appendToUrlPathname=void 0,t.appendToUrlPathname=function(e,t){const r=new URL(e),n=r.pathname;return r.pathname=`${n}${n.endsWith("/")?"":"/"}${t.startsWith("/")?t.substring(1):t}`,r.toString()}},88602:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowToWorkerHandler=void 0;const n=r(89774);t.WindowToWorkerHandler=class{constructor(e,t,r){this.windowSelf=e,this.worker=t,this.session=r}onmessage(e){if("object"==typeof e.data&&n.WorkerToWindowHandler.MESSAGE_KEY_POST in e.data){const t=e.data[n.WorkerToWindowHandler.MESSAGE_KEY_POST];return this.session.authenticateHeaders(t.resource,t.method,new Headers(t.headersUnauthenticatedRaw)).then((e=>{const r={messageId:t.messageId,headersAuthenticatedRaw:[...e.entries()]};this.worker.postMessage({[n.WorkerToWindowHandler.MESSAGE_KEY_RESPONSE]:r})})).catch((e=>{const r={messageId:t.messageId,errorMessage:e.message};this.worker.postMessage({[n.WorkerToWindowHandler.MESSAGE_KEY_RESPONSE]:r})})),!0}return!1}}},89774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerToWindowHandler=void 0;class n{constructor(e){this.workerSelf=e,this.messageCounter=0,this.messageReceiveCallbackBuffer={}}onmessage(e){if("object"==typeof e.data&&n.MESSAGE_KEY_RESPONSE in e.data){const t=e.data[n.MESSAGE_KEY_RESPONSE],r=this.messageReceiveCallbackBuffer[t.messageId];if(!r)throw new Error(`Received unexpected authenticated headers response for id ${t.messageId}`);return t.errorMessage?r.reject(new Error(t.errorMessage)):r.resolve(new Headers(t.headersAuthenticatedRaw)),delete this.messageReceiveCallbackBuffer[t.messageId],!0}return!1}buildAuthenticatedFetch(){return async(e,t)=>{const n="string"==typeof e,i=e instanceof URL,o=await this.authenticateHeaders(n?e:i?e.toString():e.url,(n||i?null==t?void 0:t.method:e.method)||"get",new Headers(i||n||!e.headers?null==t?void 0:t.headers:e.headers));return"string"!=typeof e?r.g.fetch({...e,headers:o},{...t}):r.g.fetch(e,{...t,headers:o})}}authenticateHeaders(e,t,r){const i=this.messageCounter,o=new Promise(((e,t)=>{this.messageReceiveCallbackBuffer[i]={resolve:e,reject:t}}));this.messageCounter+=1;const a={messageId:i,resource:e,method:t,headersUnauthenticatedRaw:[...r.entries()]};return this.workerSelf.postMessage({[n.MESSAGE_KEY_POST]:a}),o}}t.WorkerToWindowHandler=n,n.MESSAGE_KEY_POST="solid-client-authn-js.requestUnauthenticated",n.MESSAGE_KEY_RESPONSE="solid-client-authn-js.headersAuthenticated"},73050:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateDpopKeyPair=t.createDpopHeader=void 0;const n=r(31613),i=r(10611),o=r(42968);function a(e){const t=new URL(e);return new URL(t.pathname,t.origin).toString()}t.createDpopHeader=async function(e,t,r){return new n.SignJWT({htu:a(e),htm:t.toUpperCase(),jti:(0,i.v4)()}).setProtectedHeader({alg:o.PREFERRED_SIGNING_ALG[0],jwk:r.publicKey,typ:"dpop+jwt"}).setIssuedAt().sign(r.privateKey,{})},t.generateDpopKeyPair=async function(){const{privateKey:e,publicKey:t}=await(0,n.generateKeyPair)(o.PREFERRED_SIGNING_ALG[0]),r={privateKey:e,publicKey:await(0,n.exportJWK)(t)};return[r.publicKey.alg]=o.PREFERRED_SIGNING_ALG,r}},29074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildHeadersAuthenticator=t.buildAuthenticatedFetch=t.DEFAULT_EXPIRATION_TIME_SECONDS=void 0;const n=r(74945),i=r(42968),o=r(73050),a=r(46134),s=r(51072);async function c(e,t,r,i){if(void 0!==r)return async function(e,t,r,i){var a;const s=new n.Headers(null==i?void 0:i.headers);return s.set("Authorization",`DPoP ${t}`),s.set("DPoP",await(0,o.createDpopHeader)(e,null!==(a=null==i?void 0:i.method)&&void 0!==a?a:"get",r)),{...i,headers:s}}(e,t,r,i);const a=new n.Headers(null==i?void 0:i.headers);return a.set("Authorization",`Bearer ${t}`),{...i,headers:a}}async function u(e,t,r,n,i){return e(r,await c(r.toString(),t,i,n))}t.DEFAULT_EXPIRATION_TIME_SECONDS=600;const l=e=>void 0!==e?e-i.REFRESH_BEFORE_EXPIRATION_SECONDS>0?e-i.REFRESH_BEFORE_EXPIRATION_SECONDS:e:t.DEFAULT_EXPIRATION_TIME_SECONDS;t.buildAuthenticatedFetch=async function(e,r,n){var o;let c,d=r;const p=null==n?void 0:n.refreshOptions;if(void 0!==p){const e=async()=>{var r,o,u,h;try{const{accessToken:o,refreshToken:a,expiresIn:s}=await async function(e,r,n){var o;const a=await e.tokenRefresher.refresh(e.sessionId,e.refreshToken,r);return null==n||n.emit(i.EVENTS.SESSION_EXTENDED,null!==(o=a.expiresIn)&&void 0!==o?o:t.DEFAULT_EXPIRATION_TIME_SECONDS),"string"==typeof a.refreshToken&&(null==n||n.emit(i.EVENTS.NEW_REFRESH_TOKEN,a.refreshToken)),{accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:a.expiresIn}}(p,n.dpopKey,n.eventEmitter);d=o,void 0!==a&&(p.refreshToken=a),clearTimeout(c),c=setTimeout(e,1e3*l(s)),null===(r=n.eventEmitter)||void 0===r||r.emit(i.EVENTS.TIMEOUT_SET,c)}catch(e){e instanceof a.OidcProviderError&&(null===(o=null==n?void 0:n.eventEmitter)||void 0===o||o.emit(i.EVENTS.ERROR,e.error,e.errorDescription),null===(u=null==n?void 0:n.eventEmitter)||void 0===u||u.emit(i.EVENTS.SESSION_EXPIRED)),e instanceof s.InvalidResponseError&&e.missingFields.includes("access_token")&&(null===(h=null==n?void 0:n.eventEmitter)||void 0===h||h.emit(i.EVENTS.SESSION_EXPIRED))}};c=setTimeout(e,1e3*l(n.expiresIn)),null===(o=n.eventEmitter)||void 0===o||o.emit(i.EVENTS.TIMEOUT_SET,c)}else if(void 0!==n&&void 0!==n.eventEmitter){const e=setTimeout((()=>{n.eventEmitter.emit(i.EVENTS.SESSION_EXPIRED)}),1e3*l(n.expiresIn));n.eventEmitter.emit(i.EVENTS.TIMEOUT_SET,e)}return async(t,r)=>{let i=await u(e,d,t,r,null==n?void 0:n.dpopKey);const o=!i.ok&&(a=i.status,![401,403].includes(a));var a;return i.ok||o||i.url!==t&&void 0!==(null==n?void 0:n.dpopKey)&&(i=await u(e,d,i.url,r,n.dpopKey)),i}},t.buildHeadersAuthenticator=async function(e,t){return async(r,i,o)=>{const a=new n.Headers((await c(r.toString(),e,null==t?void 0:t.dpopKey,{method:i})).headers);return o.forEach(((e,t)=>{a.has(t)||a.set(t,e)})),a}}},42968:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SCOPES=t.REFRESH_BEFORE_EXPIRATION_SECONDS=t.EVENTS=t.PREFERRED_SIGNING_ALG=t.SOLID_CLIENT_AUTHN_KEY_PREFIX=void 0,t.SOLID_CLIENT_AUTHN_KEY_PREFIX="solidClientAuthn:",t.PREFERRED_SIGNING_ALG=["ES256","RS256"],t.EVENTS={ERROR:"error",LOGIN:"login",LOGOUT:"logout",NEW_REFRESH_TOKEN:"newRefreshToken",SESSION_EXPIRED:"sessionExpired",SESSION_EXTENDED:"sessionExtended",SESSION_RESTORED:"sessionRestore",TIMEOUT_SET:"timeoutSet"},t.REFRESH_BEFORE_EXPIRATION_SECONDS=5,t.DEFAULT_SCOPES=["openid","offline_access","webid"].join(" ")},58178:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(e)}}t.default=r},42312:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e,t,n=!0){super("string"==typeof e?r.substituteParams(e,t):r.appendErrorIri(r.lookupErrorIri(e,t),e,n))}httpResponse(e,t=!0){return this.message=r.appendHttpResponseDetails(this.message,e,t),this.httpErrorResponse=e,this}hasHttpResponse(){return void 0!==this.httpErrorResponse}getHttpResponse(){return this.httpErrorResponse}getHttpStatusCode(){if(void 0===this.httpErrorResponse)throw new r("This InruptError was not provided with a HTTP response - so we can't get its HTTP Status Code.");return this.httpErrorResponse.status}getHttpStatusText(){if(void 0===this.httpErrorResponse)throw new r("This InruptError was not provided with a HTTP response - so we can't get its HTTP Status Text!");return this.httpErrorResponse.statusText}static determineIfVocabTerm(e){return void 0!==e.strict}static lookupErrorIri(e,t){if(r.determineIfVocabTerm(e)){const r=void 0===t?e.message:e.messageParams(...t);return void 0===r?`Looked up error message IRI [${e.value}], but found no message value.`:r}return`Error message looked up at: [${e.value}]${void 0===t?"":`, with params [${t.toString()}]`}`}static appendHttpResponseDetails(e,t,r){return r&&void 0!==t?`${e} HTTP details: status code [${t.status}], status text [${t.statusText}].`:e}static appendErrorIri(e,t,r){return r?`${e} Error IRI: [${t.value}].`:e}static substituteParams(e,t){let r=e;if(void 0!==t){const n=e.split("{{").length-1;if(n!==t.length)throw new Error(`Setting parameters on message [${e}], but it requires [${n}] params and we received [${t.length}].`);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidResponseError=void 0;class r extends Error{constructor(e){super(`Invalid response from OIDC provider: missing fields ${e}`),this.missingFields=e}}t.InvalidResponseError=r},43063:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(`[${e}] is not implemented`)}}t.default=r},46134:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OidcProviderError=void 0;class r extends Error{constructor(e,t,r){super(e),this.error=t,this.errorDescription=r}}t.OidcProviderError=r},30710:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StorageUtilityGetResponse=t.StorageUtilityMock=t.mockStorageUtility=t.mockStorage=t.buildHeadersAuthenticator=t.buildAuthenticatedFetch=t.generateDpopKeyPair=t.createDpopHeader=t.OidcProviderError=t.InvalidResponseError=t.NotImplementedError=t.ConfigurationError=t.InMemoryStorage=t.getSessionIdFromOauthState=t.saveSessionInfoToStorage=t.loadOidcContextFromStorage=t.StorageUtility=t.determineSigningAlg=t.handleRegistration=t.USER_SESSION_PREFIX=t.isSupportedTokenType=t.fetchJwks=t.getWebidFromTokenPayload=t.AggregateHandler=void 0,i(r(42968),t);var a=r(68897);Object.defineProperty(t,"AggregateHandler",{enumerable:!0,get:function(){return o(a).default}});var s=r(402);Object.defineProperty(t,"getWebidFromTokenPayload",{enumerable:!0,get:function(){return s.getWebidFromTokenPayload}}),Object.defineProperty(t,"fetchJwks",{enumerable:!0,get:function(){return s.fetchJwks}});var c=r(73796);Object.defineProperty(t,"isSupportedTokenType",{enumerable:!0,get:function(){return c.isSupportedTokenType}});var u=r(14337);Object.defineProperty(t,"USER_SESSION_PREFIX",{enumerable:!0,get:function(){return u.USER_SESSION_PREFIX}});var l=r(81185);Object.defineProperty(t,"handleRegistration",{enumerable:!0,get:function(){return l.handleRegistration}}),Object.defineProperty(t,"determineSigningAlg",{enumerable:!0,get:function(){return l.determineSigningAlg}});var d=r(66833);Object.defineProperty(t,"StorageUtility",{enumerable:!0,get:function(){return o(d).default}}),Object.defineProperty(t,"loadOidcContextFromStorage",{enumerable:!0,get:function(){return d.loadOidcContextFromStorage}}),Object.defineProperty(t,"saveSessionInfoToStorage",{enumerable:!0,get:function(){return d.saveSessionInfoToStorage}}),Object.defineProperty(t,"getSessionIdFromOauthState",{enumerable:!0,get:function(){return d.getSessionIdFromOauthState}});var p=r(81);Object.defineProperty(t,"InMemoryStorage",{enumerable:!0,get:function(){return o(p).default}});var h=r(58178);Object.defineProperty(t,"ConfigurationError",{enumerable:!0,get:function(){return o(h).default}});var f=r(43063);Object.defineProperty(t,"NotImplementedError",{enumerable:!0,get:function(){return o(f).default}});var y=r(51072);Object.defineProperty(t,"InvalidResponseError",{enumerable:!0,get:function(){return y.InvalidResponseError}});var g=r(46134);Object.defineProperty(t,"OidcProviderError",{enumerable:!0,get:function(){return g.OidcProviderError}});var m=r(73050);Object.defineProperty(t,"createDpopHeader",{enumerable:!0,get:function(){return m.createDpopHeader}}),Object.defineProperty(t,"generateDpopKeyPair",{enumerable:!0,get:function(){return m.generateDpopKeyPair}});var b=r(29074);Object.defineProperty(t,"buildAuthenticatedFetch",{enumerable:!0,get:function(){return b.buildAuthenticatedFetch}}),Object.defineProperty(t,"buildHeadersAuthenticator",{enumerable:!0,get:function(){return b.buildHeadersAuthenticator}});var _=r(83993);Object.defineProperty(t,"mockStorage",{enumerable:!0,get:function(){return _.mockStorage}}),Object.defineProperty(t,"mockStorageUtility",{enumerable:!0,get:function(){return _.mockStorageUtility}}),Object.defineProperty(t,"StorageUtilityMock",{enumerable:!0,get:function(){return _.StorageUtilityMock}}),Object.defineProperty(t,"StorageUtilityGetResponse",{enumerable:!0,get:function(){return _.StorageUtilityGetResponse}})},81185:(e,t)=>{"use strict";function r(e){try{return new URL(e),!0}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.handleRegistration=t.determineSigningAlg=void 0,t.determineSigningAlg=function(e,t){var r;return null!==(r=t.find((t=>e.includes(t))))&&void 0!==r?r:null},t.handleRegistration=async function(e,t,n,i){const o=function(e,t){return void 0===e.clientId||r(e.clientId)?t.scopesSupported.includes("webid")&&void 0!==e.clientId&&r(e.clientId)?"solid-oidc":"dynamic":"static"}(e,t);return"dynamic"===o?i.getClient({sessionId:e.sessionId,clientName:e.clientName,redirectUrl:e.redirectUrl},t):(await n.setForUser(e.sessionId,{clientId:e.clientId}),e.clientSecret&&await n.setForUser(e.sessionId,{clientSecret:e.clientSecret}),e.clientName&&await n.setForUser(e.sessionId,{clientName:e.clientName}),{clientId:e.clientId,clientSecret:e.clientSecret,clientName:e.clientName,clientType:o})}},73796:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSupportedTokenType=void 0,t.isSupportedTokenType=function(e){return"string"==typeof e&&["DPoP","Bearer"].includes(e)}},14337:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.USER_SESSION_PREFIX=void 0,t.USER_SESSION_PREFIX="solidClientAuthenticationUser"},81:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.map={}}async get(e){return this.map[e]||void 0}async set(e,t){this.map[e]=t}async delete(e){delete this.map[e]}}},66833:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.saveSessionInfoToStorage=t.loadOidcContextFromStorage=t.getSessionIdFromOauthState=void 0;const i=r(31613),o=n(r(42312));t.getSessionIdFromOauthState=async function(e,t){return e.getForUser(t,"sessionId")},t.loadOidcContextFromStorage=async function(e,t,r){try{const[n,i,o,a]=await Promise.all([t.getForUser(e,"issuer",{errorIfNull:!0}),t.getForUser(e,"codeVerifier"),t.getForUser(e,"redirectUrl"),t.getForUser(e,"dpop",{errorIfNull:!0})]);return await t.deleteForUser(e,"codeVerifier"),{codeVerifier:i,redirectUrl:o,issuerConfig:await r.fetchConfig(n),dpop:"true"===a}}catch(t){throw new Error(`Failed to retrieve OIDC context from storage associated with session [${e}]: ${t}`)}},t.saveSessionInfoToStorage=async function(e,t,r,n,o,a,s){void 0!==o&&await e.setForUser(t,{refreshToken:o},{secure:a}),void 0!==r&&await e.setForUser(t,{webId:r},{secure:a}),void 0!==n&&await e.setForUser(t,{isLoggedIn:n},{secure:a}),void 0!==s&&await e.setForUser(t,{publicKey:JSON.stringify(s.publicKey),privateKey:JSON.stringify(await(0,i.exportJWK)(s.privateKey))},{secure:a})},t.default=class{constructor(e,t){this.secureStorage=e,this.insecureStorage=t}getKey(e){return`solidClientAuthenticationUser:${e}`}async getUserData(e,t){const r=await(t?this.secureStorage:this.insecureStorage).get(this.getKey(e));if(void 0===r)return{};try{return JSON.parse(r)}catch(n){throw new o.default(`Data for user [${e}] in [${t?"secure":"unsecure"}] storage is corrupted - expected valid JSON, but got: ${r}`)}}async setUserData(e,t,r){await(r?this.secureStorage:this.insecureStorage).set(this.getKey(e),JSON.stringify(t))}async get(e,t){const r=await((null==t?void 0:t.secure)?this.secureStorage:this.insecureStorage).get(e);if(void 0===r&&(null==t?void 0:t.errorIfNull))throw new o.default(`[${e}] is not stored`);return r}async set(e,t,r){return((null==r?void 0:r.secure)?this.secureStorage:this.insecureStorage).set(e,t)}async delete(e,t){return((null==t?void 0:t.secure)?this.secureStorage:this.insecureStorage).delete(e)}async getForUser(e,t,r){const n=await this.getUserData(e,null==r?void 0:r.secure);let i;if(n&&n[t]||(i=void 0),i=n[t],void 0===i&&(null==r?void 0:r.errorIfNull))throw new o.default(`Field [${t}] for user [${e}] is not stored`);return i||void 0}async setForUser(e,t,r){let n;try{n=await this.getUserData(e,null==r?void 0:r.secure)}catch(e){n={}}await this.setUserData(e,{...n,...t},null==r?void 0:r.secure)}async deleteForUser(e,t,r){const n=await this.getUserData(e,null==r?void 0:r.secure);delete n[t],await this.setUserData(e,n,null==r?void 0:r.secure)}async deleteAllUserData(e,t){await((null==t?void 0:t.secure)?this.secureStorage:this.insecureStorage).delete(this.getKey(e))}}},83993:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.mockStorageUtility=t.mockStorage=t.StorageUtilityMock=t.StorageUtilityGetResponse=void 0;const i=n(r(66833));t.StorageUtilityGetResponse="getResponse",t.StorageUtilityMock={get:async(e,r)=>t.StorageUtilityGetResponse,set:async(e,t)=>{},delete:async e=>{},getForUser:async(e,r,n)=>t.StorageUtilityGetResponse,setForUser:async(e,t,r)=>{},deleteForUser:async(e,t,r)=>{},deleteAllUserData:async(e,t)=>{}},t.mockStorage=e=>{const t=e;return{get:async e=>{if(void 0!==t[e])return"string"==typeof t[e]?t[e]:JSON.stringify(t[e])},set:async(e,r)=>{t[e]=r},delete:async e=>{delete t[e]}}},t.mockStorageUtility=(e,r=!1)=>r?new i.default((0,t.mockStorage)(e),(0,t.mockStorage)({})):new i.default((0,t.mockStorage)({}),(0,t.mockStorage)(e))},68897:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(42312));t.default=class{constructor(e){this.handleables=e}async getProperHandler(e){const t=await Promise.all(this.handleables.map((t=>t.canHandle(...e))));for(let e=0;e{try{return JSON.stringify(e)}catch(t){return e.toString()}})).join(", ")}`)}}},402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWebidFromTokenPayload=t.fetchJwks=void 0;const n=r(74945),i=r(31613);async function o(e,t){const r=await(0,n.fetch)(e);if(200!==r.status)throw new Error(`Could not fetch JWKS for [${t}] at [${e}]: ${r.status} ${r.statusText}`);let i;try{i=(await r.json()).keys[0]}catch(r){throw new Error(`Malformed JWKS for [${t}] at [${e}]: ${r.message}`)}return i}t.fetchJwks=o,t.getWebidFromTokenPayload=async function(e,t,r,n){const a=await o(t,r);let s;try{const{payload:t}=await(0,i.jwtVerify)(e,await(0,i.importJWK)(a),{issuer:r,audience:n});s=t}catch(e){throw new Error(`Token verification failed: ${e.stack}`)}if("string"==typeof s.webid)return s.webid;if("string"!=typeof s.sub)throw new Error(`The token ${JSON.stringify(s)} is invalid: it has no 'webid' claim and no 'sub' claim.`);try{return new URL(s.sub),s.sub}catch(e){throw new Error(`The token has no 'webid' claim, and its 'sub' claim of [${s.sub}] is invalid as a URL - error [${e}].`)}}},25568:e=>{"use strict";const{AbortController:t,AbortSignal:r}="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0;e.exports=t,e.exports.AbortSignal=r,e.exports.default=t},25579:(e,t,r)=>{const n=r(2044),i=r(4518),o=r(12391),a=r(23111),s=r(32106);e.exports={DynamicNestedLoopJoin:n,HashJoin:i,NestedLoopJoin:o,SymmetricHashJoin:a,MergeStream:s}},2044:(e,t,r)=>{let n=r(75627),i=n.MultiTransformIterator,o=n.SimpleTransformIterator;e.exports=class extends i{constructor(e,t,r,n){super(e,n),this.funRight=t,this.funJoin=r}_createTransformer(e){return new o(this.funRight(e),{transform:(t,r,n)=>{let i=this.funJoin(e,t);null!==i&&n(i),r()}})}}},4518:(e,t,r)=>{let n=r(75627).AsyncIterator;e.exports=class extends n{constructor(e,t,r,n){super(),this.addedDataListener=!1,this.left=e,this.right=t,this.funHash=r,this.funJoin=n,this.leftMap=new Map,this.match=null,this.matches=[],this.matchIdx=0,this.left.on("error",(e=>this.destroy(e))),this.right.on("error",(e=>this.destroy(e))),this.readable=!1,this.left.on("end",function(){this.readable=!0,this.right.on("readable",(()=>this.readable=!0)),this.right.on("end",(()=>{this.hasResults()||this._end()}))}.bind(this)),this.on("newListener",(e=>{"data"===e&&this._addDataListenerIfNeeded()})),this.left.readable&&this._addDataListenerIfNeeded(),this.left.on("readable",(()=>this._addDataListenerIfNeeded()))}hasResults(){return!this.right.ended||this.matchIdx{const{MultiTransformIterator:n,SimpleTransformIterator:i,scheduleTask:o}=r(75627);e.exports=class extends n{constructor(e,t,r,n){super(e,n),this.right=t,this.funJoin=r,this.on("end",(()=>this.right.close()))}_end(){super._end(),o((()=>this.right.destroy()))}_createTransformer(e){return new i(this.right.clone(),{transform:(t,r,n)=>{let i=this.funJoin(e,t);null!==i&&n(i),r()}})}}},23111:(e,t,r)=>{let n=r(75627).AsyncIterator;e.exports=class extends n{constructor(e,t,r,n){super(),this.left=e,this.right=t,this.funHash=r,this.funJoin=n,this.usedLeft=!1,this.leftMap=new Map,this.rightMap=new Map,this.on("end",(()=>this._cleanup())),this.match=null,this.matches=[],this.matchIdx=0,(this.left.readable||this.right.readable)&&(this.readable=!0),this.left.on("error",(e=>this.destroy(e))),this.right.on("error",(e=>this.destroy(e))),this.left.on("readable",(()=>this.readable=!0)),this.right.on("readable",(()=>this.readable=!0)),this.left.on("end",(()=>{this.hasResults()||this._end()})),this.right.on("end",(()=>{this.hasResults()||this._end()}))}hasResults(){return!this.left.ended||!this.right.ended||!!this.matches&&this.matchIdx{let n=r(75627).AsyncIterator;e.exports=class extends n{constructor(e){super(),Array.isArray(e)||(e=Array.prototype.slice.call(arguments)),this.streams=e;for(let t of e)t.on("readable",(()=>this.emit("readable"))),t.on("end",(()=>this._removeStream(t)));0===this.streams.length&&this.close(),this.idx=this.streams.length-1}_removeStream(e){let t=this.streams.indexOf(e);t<0||(this.streams.splice(t,1),this.idx>=this.streams.length&&--this.idx,0===this.streams.length&&this._end())}close(){super.close();for(let e of this.streams)e.close()}read(){for(let e=0;e{const n=new(r(11832).LoggerVoid),i=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-init/^4.0.0/components/ActorInit.jsonld#ActorInit_default_bus"}),o=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-context-preprocess/^4.0.0/components/ActorContextPreprocess.jsonld#ActorContextPreprocess_default_bus"}),a=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-hash-bindings/^4.0.0/components/ActorHashBindings.jsonld#ActorHashBindings_default_bus"}),s=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-hash-quads/^4.0.0/components/ActorHashQuads.jsonld#ActorHashQuads_default_bus"}),c=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-query-operation/^4.0.0/components/ActorOptimizeQueryOperation.jsonld#ActorOptimizeQueryOperation_default_bus"}),u=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-parse/^4.0.0/components/ActorQueryParse.jsonld#ActorQueryParse_default_bus"}),l=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-result-serialize/^4.0.0/components/ActorQueryResultSerialize.jsonld#ActorQueryResultSerialize_default_bus"}),d=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-source-identify-hypermedia/^4.0.0/components/ActorQuerySourceIdentifyHypermedia.jsonld#ActorQuerySourceIdentifyHypermedia_default_bus"}),p=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-dereference/^4.0.0/components/ActorDereference.jsonld#ActorDereference_default_bus"}),h=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-dereference-rdf/^4.0.0/components/ActorDereferenceRdf.jsonld#ActorDereferenceRdf_default_bus"}),f=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join-entries-sort/^4.0.0/components/ActorRdfJoinEntriesSort.jsonld#ActorRdfJoinEntriesSort_default_bus"}),y=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join-selectivity/^4.0.0/components/ActorRdfJoinSelectivity.jsonld#ActorRdfJoinSelectivity_default_bus"}),g=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata/^4.0.0/components/ActorRdfMetadata.jsonld#ActorRdfMetadata_default_bus"}),m=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata-accumulate/^4.0.0/components/ActorRdfMetadataAccumulate.jsonld#ActorRdfMetadataAccumulate_default_bus"}),b=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata-extract/^4.0.0/components/ActorRdfMetadataExtract.jsonld#ActorRdfMetadataExtract_default_bus"}),_=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-parse/^4.0.0/components/ActorRdfParse.jsonld#ActorRdfParse_default_bus"}),v=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-parse-html/^4.0.0/components/ActorRdfParseHtml.jsonld#ActorRdfParseHtml_default_bus"}),w=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-resolve-hypermedia-links/^4.0.0/components/ActorRdfResolveHypermediaLinks.jsonld#ActorRdfResolveHypermediaLinks_default_bus"}),S=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-resolve-hypermedia-links-queue/^4.0.0/components/ActorRdfResolveHypermediaLinksQueue.jsonld#ActorRdfResolveHypermediaLinksQueue_default_bus"}),E=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-serialize/^4.0.0/components/ActorRdfSerialize.jsonld#ActorRdfSerialize_default_bus"}),T=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-hypermedia/^4.0.0/components/ActorRdfUpdateHypermedia.jsonld#ActorRdfUpdateHypermedia_default_bus"}),O=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-quads/^4.0.0/components/ActorRdfUpdateQuads.jsonld#ActorRdfUpdateQuads_default_bus"}),x=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-bindings-aggregator-factory/^4.0.0/components/ActorBindingsAggregatorFactory.jsonld#ActorBindingsAggregatorFactory_default_bus"}),A=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-expression-evaluator-factory/^4.0.0/components/ActorExpressionEvaluatorFactory.jsonld#ActorExpressionEvaluatorFactory_default_bus"}),I=new(r(77617).BusFunctionFactory)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-function-factory/^4.0.0/components/ActorFunctionFactory.jsonld#ActorFunctionFactory_default_bus"}),R=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http/^4.0.0/components/ActorHttp.jsonld#ActorHttp_default_bus"}),P=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http/^4.0.0/components/ActorHttp.jsonld#ActorHttp_fallback_bus"}),F=new(r(66490).BusQueryOperation)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^4.0.0/components/ActorQueryOperation.jsonld#ActorQueryOperation_default_bus"}),D=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-process/^4.0.0/components/ActorQueryProcess.jsonld#ActorQueryProcess_default_bus"}),N=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-source-identify/^4.0.0/components/ActorQuerySourceIdentify.jsonld#ActorQuerySourceIdentify_default_bus"}),j=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join/^4.0.0/components/ActorRdfJoin.jsonld#ActorRdfJoin_default_bus"}),C=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-term-comparator-factory/^4.0.0/components/ActorTermComparatorFactory.jsonld#ActorTermComparatorFactory_default_bus"}),M=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http-invalidate/^4.0.0/components/ActorHttpInvalidate.jsonld#ActorHttpInvalidate_default_bus"}),k=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-merge-bindings-context/^4.0.0/components/ActorMergeBindingsContext.jsonld#ActorMergeBindingsContext_default_bus"}),L=(new(r(71871).ActorContextPreprocessConvertShortcuts)({contextKeyShortcuts:{baseIRI:"@comunica/actor-init-query:baseIRI",dataFactory:"@comunica/actor-init-query:dataFactory",datetime:"@comunica/actor-http-memento:datetime",destination:"@comunica/bus-rdf-update-quads:destination",distinctConstruct:"@comunica/actor-init-query:distinctConstruct",explain:"@comunica/actor-init-query:explain",extensionFunctionCreator:"@comunica/actor-init-query:extensionFunctionCreator",extensionFunctions:"@comunica/actor-init-query:extensionFunctions",fetch:"@comunica/bus-http:fetch",functionArgumentsCache:"@comunica/actor-init-query:functionArgumentsCache",httpAuth:"@comunica/bus-http:auth",httpBodyTimeout:"@comunica/bus-http:http-body-timeout",httpIncludeCredentials:"@comunica/bus-http:include-credentials",httpProxyHandler:"@comunica/actor-http-proxy:httpProxyHandler",httpRetryCount:"@comunica/bus-http:http-retry-count",httpRetryDelayFallback:"@comunica/bus-http:http-retry-delay-fallback",httpRetryDelayLimit:"@comunica/bus-http:http-retry-delay-limit",httpTimeout:"@comunica/bus-http:http-timeout",initialBindings:"@comunica/actor-init-query:initialBindings",invalidateCache:"@comunica/actor-init-query:invalidateCache",lenient:"@comunica/actor-init-query:lenient",log:"@comunica/core:log",queryFormat:"@comunica/actor-init-query:queryFormat",queryTimestamp:"@comunica/actor-init-query:queryTimestamp",queryTimestampHighResolution:"@comunica/actor-init-query:queryTimestampHighResolution",readOnly:"@comunica/bus-query-operation:readOnly",recoverBrokenLinks:"@comunica/bus-http-wayback:recover-broken-links",sources:"@comunica/actor-init-query:querySourcesUnidentified",traverse:"@comunica/bus-query-source-identify:traverse",unionDefaultGraph:"@comunica/bus-query-operation:unionDefaultGraph"},name:"urn:comunica:default:context-preprocess/actors#convert-shortcuts",bus:o,busFailMessage:"Context preprocessing failed"}),new(r(10607).ActorContextPreprocessSetDefaults)({logger:n,name:"urn:comunica:default:context-preprocess/actors#set-defaults",bus:o,busFailMessage:"Context preprocessing failed"}),new(r(94410).ActorContextPreprocessSourceToDestination)({name:"urn:comunica:default:context-preprocess/actors#source-to-destination",bus:o,busFailMessage:"Context preprocessing failed"}),new(r(21806).ActorContextPreprocessQuerySourceSkolemize)({name:"urn:comunica:default:context-preprocess/actors#query-source-skolemize",bus:o,busFailMessage:"Context preprocessing failed"})),U=new(r(83223).MediatorCombinePipeline)({name:"urn:comunica:default:context-preprocess/mediators#main",bus:o}),B=(new(r(47111).ActorHashBindingsMurmur)({name:"urn:comunica:default:hash-bindings/actors#murmur",bus:a,busFailMessage:"Failed to obtaining hash functions for bindings"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:hash-bindings/mediators#main",bus:a})),V=(new(r(33401).ActorHashQuadsMurmur)({name:"urn:comunica:default:hash-quads/actors#murmur",bus:s,busFailMessage:"Failed to obtaining hash functions for quads"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:hash-quads/mediators#main",bus:s})),q=(new(r(20578).ActorOptimizeQueryOperationRewriteCopy)({name:"urn:comunica:default:optimize-query-operation/actors#rewrite-copy",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(12538).ActorOptimizeQueryOperationRewriteMove)({name:"urn:comunica:default:optimize-query-operation/actors#rewrite-move",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(34406).ActorOptimizeQueryOperationRewriteAdd)({name:"urn:comunica:default:optimize-query-operation/actors#rewrite-add",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(92012).ActorOptimizeQueryOperationGroupSources)({name:"urn:comunica:default:optimize-query-operation/actors#group-sources",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"})),H=(new(r(98832).ActorOptimizeQueryOperationConstructDistinct)({name:"urn:comunica:default:optimize-query-operation/actors#construct-distinct",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(83223).MediatorCombinePipeline)({filterFailures:!0,name:"urn:comunica:default:optimize-query-operation/mediators#main",bus:c})),$=(new(r(8323).ActorQueryParseSparql)({prefixes:{dbpedia:"http://dbpedia.org/resource/","dbpedia-owl":"http://dbpedia.org/ontology/",dbpprop:"http://dbpedia.org/property/",dc:"http://purl.org/dc/terms/",dc11:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",foaf:"http://xmlns.com/foaf/0.1/",geo:"http://www.w3.org/2003/01/geo/wgs84_pos#",owl:"http://www.w3.org/2002/07/owl#",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",schema:"http://schema.org/",skos:"http://www.w3.org/2008/05/skos#",xsd:"http://www.w3.org/2001/XMLSchema#"},name:"urn:comunica:default:query-parse/actors#sparql",bus:u,busFailMessage:'Query parsing failed: none of the configured parsers were able to the query "${action.query}"'}),new(r(4047).ActorQueryParseGraphql)({name:"urn:comunica:default:query-parse/actors#graphql",bus:u,busFailMessage:'Query parsing failed: none of the configured parsers were able to the query "${action.query}"'}),new(r(12740).MediatorRace)({name:"urn:comunica:default:query-parse/mediators#main",bus:u})),G=(new(r(1359).ActorQueryResultSerializeJson)({mediaTypePriorities:{"application/json":1},mediaTypeFormats:{"application/json":"https://comunica.linkeddatafragments.org/#results_JSON"},name:"urn:comunica:default:query-result-serialize/actors#json",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(1595).ActorQueryResultSerializeSimple)({mediaTypePriorities:{simple:.9},mediaTypeFormats:{simple:"https://comunica.linkeddatafragments.org/#results_simple"},name:"urn:comunica:default:query-result-serialize/actors#simple",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(83657).ActorQueryResultSerializeSparqlCsv)({mediaTypePriorities:{"text/csv":.75},mediaTypeFormats:{"text/csv":"http://www.w3.org/ns/formats/SPARQL_Results_CSV"},name:"urn:comunica:default:query-result-serialize/actors#csv",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(92796).ActorQueryResultSerializeSparqlTsv)({mediaTypePriorities:{"text/tab-separated-values":.75},mediaTypeFormats:{"text/tab-separated-values":"http://www.w3.org/ns/formats/SPARQL_Results_TSV"},name:"urn:comunica:default:query-result-serialize/actors#sparql-tsv",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(23200).ActorQueryResultSerializeSparqlXml)({mediaTypePriorities:{"application/sparql-results+xml":.8},mediaTypeFormats:{"application/sparql-results+xml":"http://www.w3.org/ns/formats/SPARQL_Results_XML"},name:"urn:comunica:default:query-result-serialize/actors#sparql-xml",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(17731).ActorQueryResultSerializeTable)({columnWidth:50,mediaTypePriorities:{table:.6},mediaTypeFormats:{table:"https://comunica.linkeddatafragments.org/#results_table"},name:"urn:comunica:default:query-result-serialize/actors#table",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(78149).ActorQueryResultSerializeTree)({mediaTypePriorities:{tree:.5},mediaTypeFormats:{tree:"https://comunica.linkeddatafragments.org/#results_tree"},name:"urn:comunica:default:query-result-serialize/actors#tree",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:query-result-serialize/mediators#serialize",bus:l})),K=new(r(54560).MediatorCombineUnion)({field:"mediaTypes",name:"urn:comunica:default:query-result-serialize/mediators#mediaType",bus:l}),Q=new(r(54560).MediatorCombineUnion)({field:"mediaTypeFormats",name:"urn:comunica:default:query-result-serialize/mediators#mediaTypeFormat",bus:l}),z=new(r(31588).MediatorNumber)({field:"filterFactor",type:"max",ignoreFailures:!0,name:"urn:comunica:default:query-source-identify-hypermedia/mediators#main",bus:d}),J=new(r(67498).ActorDereferenceFallback)({name:"urn:comunica:default:dereference/actors#fallback",bus:p,busFailMessage:"Dereferencing failed: none of the configured actors were able to handle ${action.url}"}),W=new(r(12740).MediatorRace)({name:"urn:comunica:default:dereference/mediators#main",bus:p}),X=new(r(12740).MediatorRace)({name:"urn:comunica:default:dereference-rdf/mediators#main",bus:h}),Y=(new(r(4669).ActorRdfJoinEntriesSortCardinality)({name:"urn:comunica:default:rdf-join-entries-sort/actors#cardinality",bus:f,busFailMessage:"Sorting join entries failed: none of the configured actors were able to sort"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-join-entries-sort/mediators#main",bus:f})),Z=(new(r(3595).ActorRdfJoinSelectivityVariableCounting)({name:"urn:comunica:default:rdf-join-selectivity/actors#variable-counting",bus:y,busFailMessage:"Determining join selectivity failed: none of the configured actors were able to calculate selectivities"}),new(r(31588).MediatorNumber)({field:"accuracy",type:"max",ignoreFailures:!0,name:"urn:comunica:default:rdf-join-selectivity/mediators#main",bus:y})),ee=(new(r(59340).ActorRdfMetadataPrimaryTopic)({metadataToData:!1,dataToMetadataOnInvalidMetadataGraph:!0,name:"urn:comunica:default:rdf-metadata/actors#primary-topic",bus:g,busFailMessage:"Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}"}),new(r(67831).ActorRdfMetadataAll)({name:"urn:comunica:default:rdf-metadata/actors#all",bus:g,busFailMessage:"Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-metadata/mediators#main",bus:g})),te=(new(r(37143).ActorRdfMetadataAccumulateCardinality)({name:"urn:comunica:default:rdf-metadata-accumulate/actors#cardinality",bus:m,busFailMessage:"Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}"}),new(r(17215).ActorRdfMetadataAccumulatePageSize)({name:"urn:comunica:default:rdf-metadata-accumulate/actors#pagesize",bus:m,busFailMessage:"Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}"}),new(r(59075).ActorRdfMetadataAccumulateRequestTime)({name:"urn:comunica:default:rdf-metadata-accumulate/actors#requesttime",bus:m,busFailMessage:"Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}"}),new(r(54560).MediatorCombineUnion)({field:"metadata",name:"urn:comunica:default:rdf-metadata-accumulate/mediators#main",bus:m})),re=(new(r(62649).ActorRdfMetadataExtractHydraControls)({name:"urn:comunica:default:rdf-metadata-extract/actors#hydra-controls",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(12814).ActorRdfMetadataExtractHydraCount)({predicates:["http://www.w3.org/ns/hydra/core#totalItems","http://rdfs.org/ns/void#triples"],name:"urn:comunica:default:rdf-metadata-extract/actors#hydra-count",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(14405).ActorRdfMetadataExtractHydraPagesize)({predicates:["http://www.w3.org/ns/hydra/core#itemsPerPage"],name:"urn:comunica:default:rdf-metadata-extract/actors#hydra-pagesize",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(121).ActorRdfMetadataExtractRequestTime)({name:"urn:comunica:default:rdf-metadata-extract/actors#request-time",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(19531).ActorRdfMetadataExtractAllowHttpMethods)({name:"urn:comunica:default:rdf-metadata-extract/actors#allow-http-methods",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(13121).ActorRdfMetadataExtractPutAccepted)({name:"urn:comunica:default:rdf-metadata-extract/actors#put-accepted",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(93742).ActorRdfMetadataExtractPatchSparqlUpdate)({name:"urn:comunica:default:rdf-metadata-extract/actors#patch-sparql-update",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(19727).ActorRdfMetadataExtractSparqlService)({inferHttpsEndpoint:!0,name:"urn:comunica:default:rdf-metadata-extract/actors#sparql-service",bus:b,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(54560).MediatorCombineUnion)({filterFailures:!0,field:"metadata",name:"urn:comunica:default:rdf-metadata-extract/mediators#main",bus:b})),ne=(new(r(56361).ActorRdfParseN3)({mediaTypePriorities:{"application/n-quads":1,"application/n-triples":.8,"application/trig":.95,"text/n3":.35,"text/turtle":.6},mediaTypeFormats:{"application/n-quads":"http://www.w3.org/ns/formats/N-Quads","application/n-triples":"http://www.w3.org/ns/formats/N-Triples","application/trig":"http://www.w3.org/ns/formats/TriG","text/n3":"http://www.w3.org/ns/formats/N3","text/turtle":"http://www.w3.org/ns/formats/Turtle"},priorityScale:1,name:"urn:comunica:default:rdf-parse/actors#n3",bus:_,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(19227).ActorRdfParseRdfXml)({mediaTypePriorities:{"application/rdf+xml":1},mediaTypeFormats:{"application/rdf+xml":"http://www.w3.org/ns/formats/RDF_XML"},priorityScale:.5,name:"urn:comunica:default:rdf-parse/actors#rdfxml",bus:_,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(2669).ActorRdfParseXmlRdfa)({mediaTypePriorities:{"application/xml":1,"image/svg+xml":1,"text/xml":1},mediaTypeFormats:{"application/xml":"http://www.w3.org/ns/formats/RDFa","image/svg+xml":"http://www.w3.org/ns/formats/RDFa","text/xml":"http://www.w3.org/ns/formats/RDFa"},priorityScale:.3,name:"urn:comunica:default:rdf-parse/actors#xmlrdfa",bus:_,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(71356).ActorRdfParseShaclc)({mediaTypePriorities:{"text/shaclc":1,"text/shaclc-ext":.5},mediaTypeFormats:{"text/shaclc":"http://www.w3.org/ns/formats/Shaclc","text/shaclc-ext":"http://www.w3.org/ns/formats/ShaclcExtended"},priorityScale:.1,name:"urn:comunica:default:rdf-parse/actors#shaclc",bus:_,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-parse/mediators#parse",bus:_})),ie=new(r(54560).MediatorCombineUnion)({field:"mediaTypes",name:"urn:comunica:default:rdf-parse/mediators#mediaType",bus:_}),oe=(new(r(97103).ActorRdfParseHtml)({busRdfParseHtml:v,mediaTypePriorities:{"application/xhtml+xml":.9,"text/html":1},mediaTypeFormats:{"application/xhtml+xml":"http://www.w3.org/ns/formats/HTML","text/html":"http://www.w3.org/ns/formats/HTML"},priorityScale:.2,name:"urn:comunica:default:rdf-parse/actors#html",bus:_,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(37630).ActorRdfParseHtmlMicrodata)({name:"urn:comunica:default:rdf-parse-html/actors#microdata",bus:v,busFailMessage:"RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML"}),new(r(59453).ActorRdfParseHtmlRdfa)({name:"urn:comunica:default:rdf-parse-html/actors#rdfa",bus:v,busFailMessage:"RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML"}),new(r(34121).ActorRdfResolveHypermediaLinksNext)({name:"urn:comunica:default:rdf-resolve-hypermedia-links/actors#next",bus:w,busFailMessage:"Hypermedia link resolution failed: none of the configured actors were able to resolve links from metadata"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-resolve-hypermedia-links/mediators#main",bus:w})),ae=(new(r(85916).ActorRdfResolveHypermediaLinksQueueFifo)({name:"urn:comunica:default:rdf-resolve-hypermedia-links-queue/actors#fifo",bus:S,busFailMessage:"Link queue creation failed: none of the configured actors were able to create a link queue starting from ${action.firstUrl}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-resolve-hypermedia-links-queue/mediators#main",bus:S})),se=(new(r(42274).ActorRdfSerializeN3)({mediaTypePriorities:{"application/n-quads":1,"application/n-triples":.8,"application/trig":.95,"text/n3":.35,"text/turtle":.6},mediaTypeFormats:{"application/n-quads":"http://www.w3.org/ns/formats/N-Quads","application/n-triples":"http://www.w3.org/ns/formats/N-Triples","application/trig":"http://www.w3.org/ns/formats/TriG","text/n3":"http://www.w3.org/ns/formats/N3","text/turtle":"http://www.w3.org/ns/formats/Turtle"},name:"urn:comunica:default:rdf-serialize/actors#n3",bus:E,busFailMessage:"RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}"}),new(r(61515).ActorRdfSerializeJsonLd)({jsonStringifyIndentSpaces:2,mediaTypePriorities:{"application/ld+json":1},mediaTypeFormats:{"application/ld+json":"http://www.w3.org/ns/formats/JSON-LD"},priorityScale:.9,name:"urn:comunica:default:rdf-serialize/actors#jsonld",bus:E,busFailMessage:"RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}"}),new(r(98371).ActorRdfSerializeShaclc)({mediaTypePriorities:{"text/shaclc":1,"text/shaclc-ext":.5},mediaTypeFormats:{"text/shaclc":"http://www.w3.org/ns/formats/Shaclc","text/shaclc-ext":"http://www.w3.org/ns/formats/ShaclcExtended"},priorityScale:.1,name:"urn:comunica:default:rdf-serialize/actors#shaclc",bus:E,busFailMessage:"RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-serialize/mediators#serialize",bus:E})),ce=new(r(54560).MediatorCombineUnion)({field:"mediaTypes",name:"urn:comunica:default:rdf-serialize/mediators#mediaType",bus:E}),ue=new(r(54560).MediatorCombineUnion)({field:"mediaTypeFormats",name:"urn:comunica:default:rdf-serialize/mediators#mediaTypeFormat",bus:E}),le=new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-update-hypermedia/mediators#main",bus:T}),de=(new(r(53550).ActorRdfUpdateQuadsRdfJsStore)({name:"urn:comunica:default:rdf-update-quads/actors#rdfjs-store",bus:O,busFailMessage:"RDF updating failed: none of the configured actors were able to handle an update"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-update-quads/mediators#main",bus:O})),pe=new(r(12740).MediatorRace)({name:"urn:comunica:default:bindings-aggregator-factory/mediators#main",bus:x}),he=new(r(12740).MediatorRace)({name:"urn:comunica:default:expression-evaluator-factory/mediators#main",bus:A}),fe=(new(r(52598).ActorFunctionFactoryExpressionBnode)({name:"urn:comunica:default:function-factory/actors#expression-function-bnode",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(19856).ActorFunctionFactoryExpressionBound)({name:"urn:comunica:default:function-factory/actors#expression-function-bound",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4475).ActorFunctionFactoryExpressionCoalesce)({name:"urn:comunica:default:function-factory/actors#expression-function-coalesce",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(85312).ActorFunctionFactoryExpressionConcat)({name:"urn:comunica:default:function-factory/actors#expression-function-concat",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(66478).ActorFunctionFactoryExpressionExtensions)({name:"urn:comunica:default:function-factory/actors#expression-function-extensions",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(40767).ActorFunctionFactoryExpressionIf)({name:"urn:comunica:default:function-factory/actors#expression-function-if",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(12067).ActorFunctionFactoryExpressionLogicalAnd)({name:"urn:comunica:default:function-factory/actors#expression-function-logical-and",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(1223).ActorFunctionFactoryExpressionLogicalOr)({name:"urn:comunica:default:function-factory/actors#expression-function-logical-or",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(14579).ActorFunctionFactoryExpressionSameTerm)({name:"urn:comunica:default:function-factory/actors#expression-function-same-term",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(59812).ActorFunctionFactoryTermAbs)({name:"urn:comunica:default:function-factory/actors#term-function-abs",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(91172).ActorFunctionFactoryTermAddition)({name:"urn:comunica:default:function-factory/actors#term-function-addition",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30953).ActorFunctionFactoryTermCeil)({name:"urn:comunica:default:function-factory/actors#term-function-ceil",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(72945).ActorFunctionFactoryTermContains)({name:"urn:comunica:default:function-factory/actors#term-function-contains",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(24700).ActorFunctionFactoryTermDatatype)({name:"urn:comunica:default:function-factory/actors#term-function-datatype",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(99778).ActorFunctionFactoryTermDay)({name:"urn:comunica:default:function-factory/actors#term-function-day",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(61103).ActorFunctionFactoryTermDivision)({name:"urn:comunica:default:function-factory/actors#term-function-division",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30971).ActorFunctionFactoryTermEncodeForUri)({name:"urn:comunica:default:function-factory/actors#term-function-encode-for-uri",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(61688).ActorFunctionFactoryTermEquality)({name:"urn:comunica:default:function-factory/actors#term-function-equality",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(56718).ActorFunctionFactoryTermFloor)({name:"urn:comunica:default:function-factory/actors#term-function-floor",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(54531).ActorFunctionFactoryTermHours)({name:"urn:comunica:default:function-factory/actors#term-function-hours",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(16686).ActorFunctionFactoryTermIri)({name:"urn:comunica:default:function-factory/actors#term-function-iri",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(92959).ActorFunctionFactoryTermIsBlank)({name:"urn:comunica:default:function-factory/actors#term-function-is-blank",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(11767).ActorFunctionFactoryTermIsIri)({name:"urn:comunica:default:function-factory/actors#term-function-is-iri",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30254).ActorFunctionFactoryTermIsLiteral)({name:"urn:comunica:default:function-factory/actors#term-function-is-literal",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(6082).ActorFunctionFactoryTermIsNumeric)({name:"urn:comunica:default:function-factory/actors#term-function-is-numeric",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(61151).ActorFunctionFactoryTermIsTriple)({name:"urn:comunica:default:function-factory/actors#term-function-is-triple",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(33032).ActorFunctionFactoryTermLang)({name:"urn:comunica:default:function-factory/actors#term-function-lang",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(15769).ActorFunctionFactoryTermLangmatches)({name:"urn:comunica:default:function-factory/actors#term-function-langmatches",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(22460).ActorFunctionFactoryTermLcase)({name:"urn:comunica:default:function-factory/actors#term-function-lcase",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(12744).ActorFunctionFactoryTermMd5)({name:"urn:comunica:default:function-factory/actors#term-function-md5",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(24713).ActorFunctionFactoryTermMinutes)({name:"urn:comunica:default:function-factory/actors#term-function-minutes",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(32310).ActorFunctionFactoryTermMonth)({name:"urn:comunica:default:function-factory/actors#term-function-month",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(23610).ActorFunctionFactoryTermMultiplication)({name:"urn:comunica:default:function-factory/actors#term-function-multiplication",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(52505).ActorFunctionFactoryTermNot)({name:"urn:comunica:default:function-factory/actors#term-function-not",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(69636).ActorFunctionFactoryTermNow)({name:"urn:comunica:default:function-factory/actors#term-function-now",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(20379).ActorFunctionFactoryTermObject)({name:"urn:comunica:default:function-factory/actors#term-function-object",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(68545).ActorFunctionFactoryTermPredicate)({name:"urn:comunica:default:function-factory/actors#term-function-predicate",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(86155).ActorFunctionFactoryTermRand)({name:"urn:comunica:default:function-factory/actors#term-function-rand",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(98811).ActorFunctionFactoryTermRegex)({name:"urn:comunica:default:function-factory/actors#term-function-regex",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(52452).ActorFunctionFactoryTermReplace)({name:"urn:comunica:default:function-factory/actors#term-function-replace",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(80748).ActorFunctionFactoryTermRound)({name:"urn:comunica:default:function-factory/actors#term-function-round",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(9941).ActorFunctionFactoryTermSeconds)({name:"urn:comunica:default:function-factory/actors#term-function-seconds",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(45845).ActorFunctionFactoryTermSha1)({name:"urn:comunica:default:function-factory/actors#term-function-sha1",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(77267).ActorFunctionFactoryTermSha256)({name:"urn:comunica:default:function-factory/actors#term-function-sha256",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(96447).ActorFunctionFactoryTermSha384)({name:"urn:comunica:default:function-factory/actors#term-function-sha384",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(24742).ActorFunctionFactoryTermSha512)({name:"urn:comunica:default:function-factory/actors#term-function-sha512",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30912).ActorFunctionFactoryTermStrAfter)({name:"urn:comunica:default:function-factory/actors#term-function-str-after",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(60649).ActorFunctionFactoryTermStrBefore)({name:"urn:comunica:default:function-factory/actors#term-function-str-before",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(93734).ActorFunctionFactoryTermStrDt)({name:"urn:comunica:default:function-factory/actors#term-function-str-dt",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(49060).ActorFunctionFactoryTermStrEnds)({name:"urn:comunica:default:function-factory/actors#term-function-str-ends",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(20554).ActorFunctionFactoryTermStrLang)({name:"urn:comunica:default:function-factory/actors#term-function-str-lang",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(27869).ActorFunctionFactoryTermStrLen)({name:"urn:comunica:default:function-factory/actors#term-function-str-len",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(94379).ActorFunctionFactoryTermStrStarts)({name:"urn:comunica:default:function-factory/actors#term-function-str-starts",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(53417).ActorFunctionFactoryTermStrUuid)({name:"urn:comunica:default:function-factory/actors#term-function-str-uuid",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(28699).ActorFunctionFactoryTermStr)({name:"urn:comunica:default:function-factory/actors#term-function-str",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(96404).ActorFunctionFactoryTermSubStr)({name:"urn:comunica:default:function-factory/actors#term-function-sub-str",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(51060).ActorFunctionFactoryTermSubject)({name:"urn:comunica:default:function-factory/actors#term-function-subject",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(55010).ActorFunctionFactoryTermSubtraction)({name:"urn:comunica:default:function-factory/actors#term-function-subtraction",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4535).ActorFunctionFactoryTermTimezone)({name:"urn:comunica:default:function-factory/actors#term-function-timezone",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(31348).ActorFunctionFactoryTermTriple)({name:"urn:comunica:default:function-factory/actors#term-function-triple",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4898).ActorFunctionFactoryTermTz)({name:"urn:comunica:default:function-factory/actors#term-function-tz",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(55711).ActorFunctionFactoryTermUcase)({name:"urn:comunica:default:function-factory/actors#term-function-ucase",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(67186).ActorFunctionFactoryTermUnaryMinus)({name:"urn:comunica:default:function-factory/actors#term-function-unary-minus",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(2810).ActorFunctionFactoryTermUnaryPlus)({name:"urn:comunica:default:function-factory/actors#term-function-unary-plus",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(2479).ActorFunctionFactoryTermUuid)({name:"urn:comunica:default:function-factory/actors#term-function-uuid",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(11554).ActorFunctionFactoryTermXsdToBoolean)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-boolean",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(43406).ActorFunctionFactoryTermXsdToDate)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-date",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4523).ActorFunctionFactoryTermXsdToDatetime)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-datetime",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(69721).ActorFunctionFactoryTermXsdToDayTimeDuration)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-day-time-duration",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(25033).ActorFunctionFactoryTermXsdToDecimal)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-decimal",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(99507).ActorFunctionFactoryTermXsdToDouble)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-double",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(48758).ActorFunctionFactoryTermXsdToDuration)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-duration",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(64068).ActorFunctionFactoryTermXsdToFloat)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-float",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(8096).ActorFunctionFactoryTermXsdToInteger)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-integer",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(91799).ActorFunctionFactoryTermXsdToString)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-string",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(18895).ActorFunctionFactoryTermXsdToTime)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-time",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(26143).ActorFunctionFactoryTermXsdToYearMonthDuration)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-year-month-duration",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(22361).ActorFunctionFactoryTermYear)({name:"urn:comunica:default:function-factory/actors#term-function-year",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:function-factory/mediators#main",bus:I})),ye=new(r(90178).ActorHttpFetch)({agentOptions:{keepAlive:!0,maxSockets:5},name:"urn:comunica:default:http/actors#fetch",bus:R,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}"}),ge=new(r(31588).MediatorNumber)({field:"time",type:"min",ignoreFailures:!0,name:"urn:comunica:default:http/mediators#no-fallback",bus:R}),me=new(r(31588).MediatorNumber)({field:"time",type:"min",ignoreFailures:!0,name:"urn:comunica:default:http/mediators#main",bus:P}),be=(new(r(48169).ActorQueryOperationSource)({name:"urn:comunica:default:query-operation/actors#source",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(31588).MediatorNumber)({field:"httpRequests",type:"min",ignoreFailures:!0,name:"urn:comunica:default:query-operation/mediators#main",bus:F})),_e=new(r(12740).MediatorRace)({name:"urn:comunica:default:query-process/mediators#main",bus:D}),ve=new(r(12740).MediatorRace)({name:"urn:comunica:default:query-source-identify/mediators#main",bus:N}),we=new(r(47633).MediatorJoinCoefficientsFixed)({cpuWeight:10,memoryWeight:1,timeWeight:2,ioWeight:10,name:"urn:comunica:default:rdf-join/mediators#main",bus:j}),Se=new(r(12740).MediatorRace)({name:"urn:comunica:default:term-comparator-factory/mediators#main",bus:C}),Ee=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-context-preprocess-query-source-identify/^4.0.0/components/ActorContextPreprocessQuerySourceIdentify.jsonld#IActorContextPreprocessQuerySourceIdentifyArgs_default_invalidator",bus:M,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Te=new(r(60504).MediatorAll)({name:"urn:comunica:default:http-invalidate/mediators#main",bus:M}),Oe=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-rdf-update-quads-hypermedia/^4.0.0/components/ActorRdfUpdateQuadsHypermedia.jsonld#IActorRdfUpdateQuadsHypermediaArgs_default_invalidator",bus:M,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),xe=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-http-retry/^4.0.0/components/ActorHttpRetry.jsonld#IActorHttpQueueArgs_default_invalidator",bus:M,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Ae=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-sparql-json/^4.0.0/components/ActionObserverHttp.jsonld#IActionObserverHttpArgs_default_invalidator",bus:M,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Ie=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-stats/^4.0.0/components/ActionObserverHttp.jsonld#IActionObserverHttpArgs_default_invalidator",bus:M,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Re=new(r(54560).MediatorCombineUnion)({field:"mergeHandlers",name:"urn:comunica:default:merge-bindings-context/mediators#main",bus:k}),Pe=(new(r(71924).ActorRdfJoinSingle)({mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-single",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(25445).ActorRdfJoinMultiEmpty)({mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-multi-empty",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(96848).ActorRdfJoinHash)({mediatorHashBindings:B,canHandleUndefs:!1,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-hash-def",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"})),Fe=new(r(96848).ActorRdfJoinHash)({mediatorHashBindings:B,canHandleUndefs:!0,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-hash-undef",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),De=new(r(96835).ActorRdfJoinSymmetricHash)({mediatorHashBindings:B,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-symmetric-hash",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),Ne=new(r(36229).ActorRdfJoinNestedLoop)({mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-nested-loop",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),je=(new(r(42004).ActorRdfJoinMinusHash)({canHandleUndefs:!1,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#minus-hash-def",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(42004).ActorRdfJoinMinusHash)({canHandleUndefs:!0,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#minus-hash-undef",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!1,blocking:!1,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#optional-hash-def-nonblocking",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!1,blocking:!0,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#optional-hash-def-blocking",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!0,blocking:!1,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#optional-hash-undef-nonblocking",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!0,blocking:!0,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#optional-hash-undef-blocking",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(65267).ActorRdfJoinOptionalNestedLoop)({mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#optional-nested-loop",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(11558).ActorDereferenceRdfParse)({mediatorDereference:W,mediatorParse:ne,mediatorParseMediatypes:ie,mediaMappings:{htm:"text/html",html:"text/html",json:"application/json",jsonld:"application/ld+json",n3:"text/n3",nq:"application/n-quads",nquads:"application/n-quads",nt:"application/n-triples",ntriples:"application/n-triples",owl:"application/rdf+xml",rdf:"application/rdf+xml",rdfxml:"application/rdf+xml",shaclc:"text/shaclc",shaclce:"text/shaclc-ext",shc:"text/shaclc",shce:"text/shaclc-ext",svg:"image/svg+xml",svgz:"image/svg+xml",trig:"application/trig",ttl:"text/turtle",turtle:"text/turtle",xht:"application/xhtml+xml",xhtml:"application/xhtml+xml",xml:"application/xml"},name:"urn:comunica:default:dereference-rdf/actors#parse",bus:h,busFailMessage:"RDF dereferencing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(38505).ActorRdfParseHtmlScript)({mediatorRdfParseMediatypes:ie,mediatorRdfParseHandle:ne,name:"urn:comunica:default:rdf-parse-html/actors#script",bus:v,busFailMessage:"RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML"}),new(r(33275).ActorQueryResultSerializeRdf)({mediatorRdfSerialize:se,mediatorMediaTypeCombiner:ce,mediatorMediaTypeFormatCombiner:ue,name:"urn:comunica:default:query-result-serialize/actors#rdf",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(2236).ActorBindingsAggregatorFactoryCount)({mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#count",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(37779).ActorBindingsAggregatorFactoryGroupConcat)({mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#group-concat",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(71271).ActorBindingsAggregatorFactorySample)({mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#sample",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(20489).ActorBindingsAggregatorFactoryWildcardCount)({mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#wildcard-count",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(17352).ActorBindingsAggregatorFactoryAverage)({mediatorFunctionFactory:fe,mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#average",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(26568).ActorBindingsAggregatorFactorySum)({mediatorFunctionFactory:fe,mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#sum",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(94311).ActorFunctionFactoryExpressionIn)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#expression-function-in",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(63067).ActorFunctionFactoryExpressionNotIn)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#expression-function-not-in",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(8711).ActorFunctionFactoryTermGreaterThanEqual)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#term-function-greater-than-equal",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(31038).ActorFunctionFactoryTermGreaterThan)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#term-function-greater-than",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(76695).ActorFunctionFactoryTermInequality)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#term-function-inequality",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(38507).ActorFunctionFactoryTermLesserThanEqual)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#term-function-lesser-than-equal",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(95426).ActorFunctionFactoryTermLesserThan)({mediatorFunctionFactory:fe,name:"urn:comunica:default:function-factory/actors#term-function-lesser-than",bus:I,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(23794).ActorHttpWayback)({mediatorHttp:ge,name:"urn:comunica:default:http/actors#wayback",bus:P,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}"}),new(r(81108).ActorRdfParseJsonLd)({mediatorHttp:me,mediaTypePriorities:{"application/json":.15,"application/ld+json":1},mediaTypeFormats:{"application/json":"http://www.w3.org/ns/formats/JSON-LD","application/ld+json":"http://www.w3.org/ns/formats/JSON-LD"},priorityScale:.9,name:"urn:comunica:default:rdf-parse/actors#jsonld",bus:_,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(45109).ActorRdfUpdateHypermediaPatchSparqlUpdate)({mediatorHttp:me,name:"urn:comunica:default:rdf-update-hypermedia/actors#patch-sparql-update",bus:T,busFailMessage:"RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}"}),new(r(41363).ActorRdfUpdateHypermediaPutLdp)({mediatorHttp:me,mediatorRdfSerializeMediatypes:ce,mediatorRdfSerialize:se,name:"urn:comunica:default:rdf-update-hypermedia/actors#put-ldp",bus:T,busFailMessage:"RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}"}),new(r(50632).ActorRdfUpdateHypermediaSparql)({mediatorHttp:me,checkUrlSuffixSparql:!0,checkUrlSuffixUpdate:!0,name:"urn:comunica:default:rdf-update-hypermedia/actors#sparql",bus:T,busFailMessage:"RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}"}),new(r(16682).ActorQueryOperationAsk)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#ask",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(38820).ActorQueryOperationBgpJoin)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#bgp",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(34585).ActorQueryOperationConstruct)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#construct",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(24615).ActorQueryOperationDistinctHash)({mediatorHashBindings:B,mediatorHashQuads:V,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#distinct",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(12304).ActorQueryOperationExtend)({mediatorExpressionEvaluatorFactory:he,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#extend",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(68350).ActorQueryOperationFilter)({mediatorExpressionEvaluatorFactory:he,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#filter",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(22744).ActorQueryOperationFromQuad)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#from",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(99817).ActorQueryOperationProject)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#project",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(66713).ActorQueryOperationReducedHash)({mediatorHashBindings:B,cacheSize:100,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#reduced",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(24718).ActorQueryOperationSlice)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#slice",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(43415).ActorQueryOperationUnion)({mediatorRdfMetadataAccumulate:te,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#union",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(35529).ActorQueryOperationPathAlt)({mediatorRdfMetadataAccumulate:te,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-alt",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(6809).ActorQueryOperationPathInv)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-inv",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(66218).ActorQueryOperationPathLink)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-link",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(54309).ActorQueryOperationPathNps)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-nps",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(84629).ActorQueryOperationClear)({mediatorUpdateQuads:de,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#update-clear",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(330).ActorQueryOperationUpdateCompositeUpdate)({mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#update-composite",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(54672).ActorQueryOperationCreate)({mediatorUpdateQuads:de,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#update-create",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(33181).ActorQueryOperationDrop)({mediatorUpdateQuads:de,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#update-drop",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(38392).ActorQueryOperationLoad)({mediatorUpdateQuads:de,mediatorQuerySourceIdentify:ve,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#update-load",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(20240).ActorQueryOperationJoin)({mediatorJoin:we,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#join",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(75113).ActorQueryOperationLeftJoin)({mediatorJoin:we,mediatorExpressionEvaluatorFactory:he,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#leftjoin",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(48952).ActorQueryOperationMinus)({mediatorJoin:we,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#minus",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(75049).ActorQueryOperationPathSeq)({mediatorJoin:we,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-seq",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(25925).ActorRdfJoinMultiSmallest)({mediatorJoinEntriesSort:Y,mediatorJoin:we,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-multi-smallest",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"})),Ce=(new(r(51237).ActorBindingsAggregatorFactoryMax)({mediatorTermComparatorFactory:Se,mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#max",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(13847).ActorBindingsAggregatorFactoryMin)({mediatorTermComparatorFactory:Se,mediatorExpressionEvaluatorFactory:he,name:"urn:comunica:default:bindings-aggregator-factory/actors#min",bus:x,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(73945).ActorQueryOperationOrderBy)({mediatorExpressionEvaluatorFactory:he,mediatorTermComparatorFactory:Se,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#orderby",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(62001).ActorOptimizeQueryOperationFilterPushdown)({aggressivePushdown:!1,maxIterations:10,splitConjunctive:!0,mergeConjunctive:!0,pushIntoLeftJoins:!0,pushEqualityIntoPatterns:!0,name:"urn:comunica:default:optimize-query-operation/actors#filter-pushdown",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[q]})),Me=(new(r(78e3).ActorDereferenceHttp)({mediatorHttp:me,maxAcceptHeaderLength:1024,maxAcceptHeaderLengthBrowser:128,name:"urn:comunica:default:dereference/actors#http",bus:p,busFailMessage:"Dereferencing failed: none of the configured actors were able to handle ${action.url}",beforeActors:[J]}),new(r(75050).ActorHttpProxy)({mediatorHttp:me,name:"urn:comunica:default:http/actors#proxy",bus:R,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}",beforeActors:[ye]})),ke=(new(r(38235).ActorContextPreprocessQuerySourceIdentify)({cacheSize:100,httpInvalidator:Ee,mediatorQuerySourceIdentify:ve,mediatorContextPreprocess:U,name:"urn:comunica:default:context-preprocess/actors#query-source-identify",bus:o,busFailMessage:"Context preprocessing failed",beforeActors:[L]}),new(r(12301).ActorInitQuery)({mediatorQueryProcess:_e,mediatorQueryResultSerialize:G,mediatorQueryResultSerializeMediaTypeCombiner:K,mediatorQueryResultSerializeMediaTypeFormatCombiner:Q,mediatorHttpInvalidate:Te,defaultQueryInputFormat:"sparql",allowNoSources:!1,name:"urn:comunica:default:init/actors#query",bus:i,busFailMessage:"Initialization failed: none of the configured actors were to initialize"})),Le=(new(r(12845).ActorRdfUpdateQuadsHypermedia)({cacheSize:100,httpInvalidator:Oe,mediatorDereferenceRdf:X,mediatorMetadata:ee,mediatorMetadataExtract:re,mediatorRdfUpdateHypermedia:le,name:"urn:comunica:default:rdf-update-quads/actors#hypermedia",bus:O,busFailMessage:"RDF updating failed: none of the configured actors were able to handle an update"}),new(r(13125).ActionObserverHttp)({httpInvalidator:Ae,name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-sparql-json/^4.0.0/components/ActorQueryResultSerializeSparqlJson.jsonld#ActorQueryResultSerializeSparqlJson_default_observer",bus:R})),Ue=new(r(93408).ActionObserverHttp)({httpInvalidator:Ie,name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-stats/^4.0.0/components/ActorQueryResultSerializeStats.jsonld#ActorQueryResultSerializeStats_default_observer",bus:R}),Be=(new(r(63881).ActorQuerySourceIdentifyHypermediaQpf)({mediatorMetadata:ee,mediatorMetadataExtract:re,mediatorDereferenceRdf:X,mediatorMergeBindingsContext:Re,subjectUri:"http://www.w3.org/1999/02/22-rdf-syntax-ns#subject",predicateUri:"http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate",objectUri:"http://www.w3.org/1999/02/22-rdf-syntax-ns#object",graphUri:"http://www.w3.org/ns/sparql-service-description#graph",name:"urn:comunica:default:query-source-identify-hypermedia/actors#qpf",bus:d,busFailMessage:"Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}"}),new(r(83101).ActorQuerySourceIdentifyHypermediaSparql)({mediatorHttp:me,mediatorMergeBindingsContext:Re,checkUrlSuffix:!0,forceHttpGet:!1,cacheSize:1024,bindMethod:"values",countTimeout:3e3,name:"urn:comunica:default:rdf-resolve-quad-pattern/actors#sparql",bus:d,busFailMessage:"Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}"}),new(r(74838).ActorQuerySourceIdentifyHypermediaNone)({mediatorMergeBindingsContext:Re,name:"urn:comunica:default:query-source-identify-hypermedia/actors#none",bus:d,busFailMessage:"Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}"}),new(r(76810).ActorExpressionEvaluatorFactoryDefault)({mediatorQueryOperation:be,mediatorFunctionFactory:fe,mediatorMergeBindingsContext:Re,name:"urn:comunica:default:expression-evaluator-factory/actors#default",bus:A,busFailMessage:"Creation of Expression Evaluator failed"}),new(r(37515).ActorQueryOperationGroup)({mediatorMergeBindingsContext:Re,mediatorBindingsAggregatorFactory:pe,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#group",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(79153).ActorQueryOperationNop)({mediatorMergeBindingsContext:Re,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#nop",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(89115).ActorQueryOperationService)({forceSparqlEndpoint:!1,mediatorMergeBindingsContext:Re,mediatorQuerySourceIdentify:ve,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#service",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(65178).ActorQueryOperationValues)({mediatorMergeBindingsContext:Re,name:"urn:comunica:default:query-operation/actors#values",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(23654).ActorQueryOperationPathOneOrMore)({mediatorMergeBindingsContext:Re,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-one-or-more",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(85928).ActorQueryOperationPathZeroOrMore)({mediatorMergeBindingsContext:Re,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-zero-or-more",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(8327).ActorQueryOperationPathZeroOrOne)({mediatorMergeBindingsContext:Re,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#path-zero-or-one",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(63002).ActorQueryOperationUpdateDeleteInsert)({mediatorUpdateQuads:de,mediatorMergeBindingsContext:Re,mediatorQueryOperation:be,name:"urn:comunica:default:query-operation/actors#update-delete-insert",bus:F,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(92423).ActorQueryProcessSequential)({mediatorContextPreprocess:U,mediatorQueryParse:$,mediatorOptimizeQueryOperation:H,mediatorQueryOperation:be,mediatorMergeBindingsContext:Re,name:"urn:comunica:default:query-process/actors#sequential",bus:D,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'})),Ve=new(r(79881).ActorQuerySourceIdentifyHypermedia)({cacheSize:100,maxIterators:64,aggregateTraversalStore:!0,mediatorDereferenceRdf:X,mediatorMetadata:ee,mediatorMetadataExtract:re,mediatorMetadataAccumulate:te,mediatorQuerySourceIdentifyHypermedia:z,mediatorRdfResolveHypermediaLinks:oe,mediatorRdfResolveHypermediaLinksQueue:ae,mediatorMergeBindingsContext:Re,name:"urn:comunica:default:query-source-identify/actors#hypermedia",bus:N,busFailMessage:"Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}"}),qe=(new(r(88766).ActorRdfJoinNone)({mediatorMergeBindingsContext:Re,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-none",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(97237).ActorRdfJoinOptionalBind)({bindOrder:"depth-first",selectivityModifier:1e-6,mediatorQueryOperation:be,mediatorMergeBindingsContext:Re,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#optional-bind",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(64468).ActorTermComparatorFactoryExpressionEvaluator)({mediatorQueryOperation:be,mediatorFunctionFactory:fe,mediatorMergeBindingsContext:Re,name:"urn:comunica:default:term-comparator-factory/actors#expression-evaluator",bus:C,busFailMessage:"Creation of term comparator failed"}),new(r(42815).ActorRdfJoinMultiBind)({bindOrder:"depth-first",selectivityModifier:1e-4,minMaxCardinalityRatio:60,mediatorJoinEntriesSort:Y,mediatorQueryOperation:be,mediatorMergeBindingsContext:Re,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-multi-bind",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}",beforeActors:[je,Pe,Fe,De,Ne]})),He=(new(r(30615).ActorRdfJoinMultiSmallestFilterBindings)({selectivityModifier:1e-4,blockSize:64,mediatorJoinEntriesSort:Y,mediatorJoin:we,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-multi-smallest-filter-bindings",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}",beforeActors:[je,Pe,Fe,De,Ne]}),new(r(13125).ActorQueryResultSerializeSparqlJson)({emitMetadata:!0,httpObserver:Le,mediaTypePriorities:{"application/sparql-results+json":.8},mediaTypeFormats:{"application/sparql-results+json":"http://www.w3.org/ns/formats/SPARQL_Results_JSON"},name:"urn:comunica:default:query-result-serialize/actors#sparql-json",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(93408).ActorQueryResultSerializeStats)({httpObserver:Ue,mediaTypePriorities:{stats:.5},mediaTypeFormats:{stats:"https://comunica.linkeddatafragments.org/#results_stats"},name:"urn:comunica:default:query-result-serialize/actors#stats",bus:l,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(7779).ActorQueryProcessExplainParsed)({queryProcessor:Be,name:"urn:comunica:default:query-process/actors#explain-parsed",bus:D,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'}),new(r(42281).ActorQueryProcessExplainLogical)({queryProcessor:Be,name:"urn:comunica:default:query-process/actors#explain-logical",bus:D,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'}),new(r(35191).ActorQueryProcessExplainPhysical)({queryProcessor:Be,name:"urn:comunica:default:query-process/actors#explain-physical",bus:D,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'}),new(r(94731).ActorOptimizeQueryOperationPruneEmptySourceOperations)({useAskIfSupported:!1,name:"urn:comunica:default:optimize-query-operation/actors#prune-empty-source-operations",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[Ce]})),$e=(new(r(84600).ActorHttpRetry)({mediatorHttp:me,httpInvalidator:xe,name:"urn:comunica:default:http/actors#retry",bus:R,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}",beforeActors:[Me]}),new(r(20998).ActorQuerySourceIdentifyRdfJs)({mediatorMergeBindingsContext:Re,name:"urn:comunica:default:query-source-identify/actors#rdfjs",bus:N,busFailMessage:"Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}",beforeActors:[Ve]}),new(r(34905).ActorQuerySourceIdentifySerialized)({mediatorRdfParse:ne,mediatorQuerySourceIdentify:ve,name:"urn:comunica:default:query-source-identify/actors#serialized",bus:N,busFailMessage:"Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}",beforeActors:[Ve]}),new(r(79731).ActorRdfJoinMultiBindSource)({selectivityModifier:1e-4,blockSize:16,mediatorJoinEntriesSort:Y,mediatorJoinSelectivity:Z,name:"urn:comunica:default:rdf-join/actors#inner-multi-bind-source",bus:j,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}",beforeActors:[je,qe,Pe,Fe,De,Ne]}),new(r(5118).ActorOptimizeQueryOperationJoinConnected)({name:"urn:comunica:default:optimize-query-operation/actors#join-connected",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[He]})),Ge=new(r(60192).ActorOptimizeQueryOperationBgpToJoin)({name:"urn:comunica:default:optimize-query-operation/actors#bgp-to-join",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[$e]}),Ke=new(r(34304).ActorOptimizeQueryOperationJoinBgp)({name:"urn:comunica:default:optimize-query-operation/actors#join-bgp",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[Ge]}),Qe=new(r(2425).ActorOptimizeQueryOperationAssignSourcesExhaustive)({name:"urn:comunica:default:optimize-query-operation/actors#assign-sources-exhaustive",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[Ke]});new(r(31399).ActorOptimizeQueryOperationDescribeToConstructsSubject)({name:"urn:comunica:default:optimize-query-operation/actors#describe-to-constructs-subject",bus:c,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[Qe]}),e.exports=ke},67526:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],c=o[1],u=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,c)),l=0,d=c>0?a-4:a;for(r=0;r>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===c&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===c&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,s=0,u=n-i;su?u:s+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],s=t;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},61594:function(e,t,r){var n;!function(i){"use strict";var o,a=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,s=Math.ceil,c=Math.floor,u="[BigNumber Error] ",l=u+"Number primitive has more than 15 significant digits: ",d=1e14,p=14,h=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],y=1e7,g=1e9;function m(e){var t=0|e;return e>0||e===t?t:t-1}function b(e){for(var t,r,n=1,i=e.length,o=e[0]+"";nu^r?1:-1;for(s=(c=i.length)<(u=o.length)?c:u,a=0;ao[a]^r?1:-1;return c==u?0:c>u^r?1:-1}function v(e,t,r,n){if(er||e!==c(e))throw Error(u+(n||"Argument")+("number"==typeof e?er?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function w(e){var t=e.c.length-1;return m(e.e/p)==t&&e.c[t]%2!=0}function S(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function E(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else tk?m.c=m.e=null:e.e=10;d/=10,u++);return void(u>k?m.c=m.e=null:(m.e=u,m.c=[e]))}g=String(e)}else{if(!a.test(g=String(e)))return i(m,g,f);m.s=45==g.charCodeAt(0)?(g=g.slice(1),-1):1}(u=g.indexOf("."))>-1&&(g=g.replace(".","")),(d=g.search(/e/i))>0?(u<0&&(u=d),u+=+g.slice(d+1),g=g.substring(0,d)):u<0&&(u=g.length)}else{if(v(t,2,q.length,"Base"),10==t&&H)return z(m=new $(e),D+m.e+1,N);if(g=String(e),f="number"==typeof e){if(0*e!=0)return i(m,g,f,t);if(m.s=1/e<0?(g=g.slice(1),-1):1,$.DEBUG&&g.replace(/^0\.0*|\./,"").length>15)throw Error(l+e)}else m.s=45===g.charCodeAt(0)?(g=g.slice(1),-1):1;for(r=q.slice(0,t),u=d=0,y=g.length;du){u=y;continue}}else if(!s&&(g==g.toUpperCase()&&(g=g.toLowerCase())||g==g.toLowerCase()&&(g=g.toUpperCase()))){s=!0,d=-1,u=0;continue}return i(m,String(e),f,t)}f=!1,(u=(g=n(g,t,10,m.s)).indexOf("."))>-1?g=g.replace(".",""):u=g.length}for(d=0;48===g.charCodeAt(d);d++);for(y=g.length;48===g.charCodeAt(--y););if(g=g.slice(d,++y)){if(y-=d,f&&$.DEBUG&&y>15&&(e>h||e!==c(e)))throw Error(l+m.s*e);if((u=u-d-1)>k)m.c=m.e=null;else if(u=C)?S(c,a):E(c,a,"0");else if(o=(e=z(new $(e),t,r)).e,s=(c=b(e.c)).length,1==n||2==n&&(t<=o||o<=j)){for(;ss){if(--t>0)for(c+=".";t--;c+="0");}else if((t+=o-s)>0)for(o+1==s&&(c+=".");t--;c+="0");return e.s<0&&i?"-"+c:c}function K(e,t){for(var r,n,i=1,o=new $(e[0]);i=10;i/=10,n++);return(r=n+r*p-1)>k?e.c=e.e=null:r=10;u/=10,i++);if((o=t-i)<0)o+=p,a=t,l=g[h=0],y=c(l/m[i-a-1]%10);else if((h=s((o+1)/p))>=g.length){if(!n)break e;for(;g.length<=h;g.push(0));l=y=0,i=1,a=(o%=p)-p+1}else{for(l=u=g[h],i=1;u>=10;u/=10,i++);y=(a=(o%=p)-p+i)<0?0:c(l/m[i-a-1]%10)}if(n=n||t<0||null!=g[h+1]||(a<0?l:l%m[i-a-1]),n=r<4?(y||n)&&(0==r||r==(e.s<0?3:2)):y>5||5==y&&(4==r||n||6==r&&(o>0?a>0?l/m[i-a]:0:g[h-1])%10&1||r==(e.s<0?8:7)),t<1||!g[0])return g.length=0,n?(t-=e.e+1,g[0]=m[(p-t%p)%p],e.e=-t||0):g[0]=e.e=0,e;if(0==o?(g.length=h,u=1,h--):(g.length=h+1,u=m[p-o],g[h]=a>0?c(l/m[i-a]%m[a])*u:0),n)for(;;){if(0==h){for(o=1,a=g[0];a>=10;a/=10,o++);for(a=g[0]+=u,u=1;a>=10;a/=10,u++);o!=u&&(e.e++,g[0]==d&&(g[0]=1));break}if(g[h]+=u,g[h]!=d)break;g[h--]=0,u=1}for(o=g.length;0===g[--o];g.pop());}e.e>k?e.c=e.e=null:e.e=C?S(t,r):E(t,r,"0"),e.s<0?"-"+t:t)}return $.clone=e,$.ROUND_UP=0,$.ROUND_DOWN=1,$.ROUND_CEIL=2,$.ROUND_FLOOR=3,$.ROUND_HALF_UP=4,$.ROUND_HALF_DOWN=5,$.ROUND_HALF_EVEN=6,$.ROUND_HALF_CEIL=7,$.ROUND_HALF_FLOOR=8,$.EUCLID=9,$.config=$.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(u+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(v(r=e[t],0,g,t),D=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(v(r=e[t],0,8,t),N=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(v(r[0],-g,0,t),v(r[1],0,g,t),j=r[0],C=r[1]):(v(r,-g,g,t),j=-(C=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)v(r[0],-g,-1,t),v(r[1],1,g,t),M=r[0],k=r[1];else{if(v(r,-g,g,t),!r)throw Error(u+t+" cannot be zero: "+r);M=-(k=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(u+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw L=!r,Error(u+"crypto unavailable");L=r}else L=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(v(r=e[t],0,9,t),U=r),e.hasOwnProperty(t="POW_PRECISION")&&(v(r=e[t],0,g,t),B=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(u+t+" not an object: "+r);V=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(u+t+" invalid: "+r);H="0123456789"==r.slice(0,10),q=r}}return{DECIMAL_PLACES:D,ROUNDING_MODE:N,EXPONENTIAL_AT:[j,C],RANGE:[M,k],CRYPTO:L,MODULO_MODE:U,POW_PRECISION:B,FORMAT:V,ALPHABET:q}},$.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!$.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&i>=-g&&i<=g&&i===c(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%p)<1&&(t+=p),String(n[0]).length==t){for(t=0;t=d||r!==c(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(u+"Invalid BigNumber: "+e)},$.maximum=$.max=function(){return K(arguments,-1)},$.minimum=$.min=function(){return K(arguments,1)},$.random=(o=9007199254740992,T=Math.random()*o&2097151?function(){return c(Math.random()*o)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,i,o,a=0,l=[],d=new $(F);if(null==e?e=D:v(e,0,g),i=s(e/p),L)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));a>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[a]=r[0],t[a+1]=r[1]):(l.push(o%1e14),a+=2);a=i/2}else{if(!crypto.randomBytes)throw L=!1,Error(u+"crypto unavailable");for(t=crypto.randomBytes(i*=7);a=9e15?crypto.randomBytes(7).copy(t,a):(l.push(o%1e14),a+=7);a=i/7}if(!L)for(;a=10;o/=10,a++);ar-1&&(null==a[i+1]&&(a[i+1]=0),a[i+1]+=a[i]/r|0,a[i]%=r)}return a.reverse()}return function(n,i,o,a,s){var c,u,l,d,p,h,f,y,g=n.indexOf("."),m=D,_=N;for(g>=0&&(d=B,B=0,n=n.replace(".",""),h=(y=new $(i)).pow(n.length-g),B=d,y.c=t(E(b(h.c),h.e,"0"),10,o,e),y.e=y.c.length),l=d=(f=t(n,i,o,s?(c=q,e):(c=e,q))).length;0==f[--d];f.pop());if(!f[0])return c.charAt(0);if(g<0?--l:(h.c=f,h.e=l,h.s=a,f=(h=r(h,y,m,_,o)).c,p=h.r,l=h.e),g=f[u=l+m+1],d=o/2,p=p||u<0||null!=f[u+1],p=_<4?(null!=g||p)&&(0==_||_==(h.s<0?3:2)):g>d||g==d&&(4==_||p||6==_&&1&f[u-1]||_==(h.s<0?8:7)),u<1||!f[0])n=p?E(c.charAt(1),-m,c.charAt(0)):c.charAt(0);else{if(f.length=u,p)for(--o;++f[--u]>o;)f[u]=0,u||(++l,f=[1].concat(f));for(d=f.length;!f[--d];);for(g=0,n="";g<=d;n+=c.charAt(f[g++]));n=E(n,l,c.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,i,o,a,s=0,c=e.length,u=t%y,l=t/y|0;for(e=e.slice();c--;)s=((i=u*(o=e[c]%y)+(n=l*o+(a=e[c]/y|0)*u)%y*y+s)/r|0)+(n/y|0)+l*a,e[c]=i%r;return s&&(e=[s].concat(e)),e}function t(e,t,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;it[i]?1:-1;break}return o}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]1;e.splice(0,1));}return function(n,i,o,a,s){var u,l,h,f,y,g,b,_,v,w,S,E,T,O,x,A,I,R=n.s==i.s?1:-1,P=n.c,F=i.c;if(!(P&&P[0]&&F&&F[0]))return new $(n.s&&i.s&&(P?!F||P[0]!=F[0]:F)?P&&0==P[0]||!F?0*R:R/0:NaN);for(v=(_=new $(R)).c=[],R=o+(l=n.e-i.e)+1,s||(s=d,l=m(n.e/p)-m(i.e/p),R=R/p|0),h=0;F[h]==(P[h]||0);h++);if(F[h]>(P[h]||0)&&l--,R<0)v.push(1),f=!0;else{for(O=P.length,A=F.length,h=0,R+=2,(y=c(s/(F[0]+1)))>1&&(F=e(F,y,s),P=e(P,y,s),A=F.length,O=P.length),T=A,S=(w=P.slice(0,A)).length;S=s/2&&x++;do{if(y=0,(u=t(F,w,A,S))<0){if(E=w[0],A!=S&&(E=E*s+(w[1]||0)),(y=c(E/x))>1)for(y>=s&&(y=s-1),b=(g=e(F,y,s)).length,S=w.length;1==t(g,w,b,S);)y--,r(g,A=10;R/=10,h++);z(_,o+(_.e=h+l*p-1)+1,a,f)}else _.e=l,_.r=+f;return _}}(),O=/^(-?)0([xbo])(?=\w[\w.]*$)/i,x=/^([^.]+)\.$/,A=/^\.([^.]+)$/,I=/^-?(Infinity|NaN)$/,R=/^\s*\+(?=[\w.])|^\s+|\s+$/g,i=function(e,t,r,n){var i,o=r?t:t.replace(R,"");if(I.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!r&&(o=o.replace(O,(function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t})),n&&(i=n,o=o.replace(x,"$1").replace(A,"0.$1")),t!=o))return new $(o,i);if($.DEBUG)throw Error(u+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},P.absoluteValue=P.abs=function(){var e=new $(this);return e.s<0&&(e.s=1),e},P.comparedTo=function(e,t){return _(this,new $(e,t))},P.decimalPlaces=P.dp=function(e,t){var r,n,i,o=this;if(null!=e)return v(e,0,g),null==t?t=N:v(t,0,8),z(new $(o),e+o.e+1,t);if(!(r=o.c))return null;if(n=((i=r.length-1)-m(this.e/p))*p,i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},P.dividedBy=P.div=function(e,t){return r(this,new $(e,t),D,N)},P.dividedToIntegerBy=P.idiv=function(e,t){return r(this,new $(e,t),0,1)},P.exponentiatedBy=P.pow=function(e,t){var r,n,i,o,a,l,d,h,f=this;if((e=new $(e)).c&&!e.isInteger())throw Error(u+"Exponent not an integer: "+J(e));if(null!=t&&(t=new $(t)),a=e.e>14,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return h=new $(Math.pow(+J(f),a?e.s*(2-w(e)):+J(e))),t?h.mod(t):h;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new $(NaN);(n=!l&&f.isInteger()&&t.isInteger())&&(f=f.mod(t))}else{if(e.e>9&&(f.e>0||f.e<-1||(0==f.e?f.c[0]>1||a&&f.c[1]>=24e7:f.c[0]<8e13||a&&f.c[0]<=9999975e7)))return o=f.s<0&&w(e)?-0:0,f.e>-1&&(o=1/o),new $(l?1/o:o);B&&(o=s(B/p+2))}for(a?(r=new $(.5),l&&(e.s=1),d=w(e)):d=(i=Math.abs(+J(e)))%2,h=new $(F);;){if(d){if(!(h=h.times(f)).c)break;o?h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}if(i){if(0===(i=c(i/2)))break;d=i%2}else if(z(e=e.times(r),e.e+1,1),e.e>14)d=w(e);else{if(0==(i=+J(e)))break;d=i%2}f=f.times(f),o?f.c&&f.c.length>o&&(f.c.length=o):n&&(f=f.mod(t))}return n?h:(l&&(h=F.div(h)),t?h.mod(t):o?z(h,B,N,void 0):h)},P.integerValue=function(e){var t=new $(this);return null==e?e=N:v(e,0,8),z(t,t.e+1,e)},P.isEqualTo=P.eq=function(e,t){return 0===_(this,new $(e,t))},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(e,t){return _(this,new $(e,t))>0},P.isGreaterThanOrEqualTo=P.gte=function(e,t){return 1===(t=_(this,new $(e,t)))||0===t},P.isInteger=function(){return!!this.c&&m(this.e/p)>this.c.length-2},P.isLessThan=P.lt=function(e,t){return _(this,new $(e,t))<0},P.isLessThanOrEqualTo=P.lte=function(e,t){return-1===(t=_(this,new $(e,t)))||0===t},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&0==this.c[0]},P.minus=function(e,t){var r,n,i,o,a=this,s=a.s;if(t=(e=new $(e,t)).s,!s||!t)return new $(NaN);if(s!=t)return e.s=-t,a.plus(e);var c=a.e/p,u=e.e/p,l=a.c,h=e.c;if(!c||!u){if(!l||!h)return l?(e.s=-t,e):new $(h?a:NaN);if(!l[0]||!h[0])return h[0]?(e.s=-t,e):new $(l[0]?a:3==N?-0:0)}if(c=m(c),u=m(u),l=l.slice(),s=c-u){for((o=s<0)?(s=-s,i=l):(u=c,i=h),i.reverse(),t=s;t--;i.push(0));i.reverse()}else for(n=(o=(s=l.length)<(t=h.length))?s:t,s=t=0;t0)for(;t--;l[r++]=0);for(t=d-1;n>s;){if(l[--n]=0;){for(r=0,f=E[i]%v,g=E[i]/v|0,o=i+(a=c);o>i;)r=((u=f*(u=S[--a]%v)+(s=g*u+(l=S[a]/v|0)*f)%v*v+b[o]+r)/_|0)+(s/v|0)+g*l,b[o--]=u%_;b[o]=r}return r?++n:b.splice(0,1),Q(e,b,n)},P.negated=function(){var e=new $(this);return e.s=-e.s||null,e},P.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new $(e,t)).s,!i||!t)return new $(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/p,a=e.e/p,s=n.c,c=e.c;if(!o||!a){if(!s||!c)return new $(i/0);if(!s[0]||!c[0])return c[0]?e:new $(s[0]?n:0*i)}if(o=m(o),a=m(a),s=s.slice(),i=o-a){for(i>0?(a=o,r=c):(i=-i,r=s),r.reverse();i--;r.push(0));r.reverse()}for((i=s.length)-(t=c.length)<0&&(r=c,c=s,s=r,t=i),i=0;t;)i=(s[--t]=s[t]+c[t]+i)/d|0,s[t]=d===s[t]?0:s[t]%d;return i&&(s=[i].concat(s),++a),Q(e,s,a)},P.precision=P.sd=function(e,t){var r,n,i,o=this;if(null!=e&&e!==!!e)return v(e,1,g),null==t?t=N:v(t,0,8),z(new $(o),e,t);if(!(r=o.c))return null;if(n=(i=r.length-1)*p+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},P.shiftedBy=function(e){return v(e,-9007199254740991,h),this.times("1e"+e)},P.squareRoot=P.sqrt=function(){var e,t,n,i,o,a=this,s=a.c,c=a.s,u=a.e,l=D+4,d=new $("0.5");if(1!==c||!s||!s[0])return new $(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);if(0==(c=Math.sqrt(+J(a)))||c==1/0?(((t=b(s)).length+u)%2==0&&(t+="0"),c=Math.sqrt(+t),u=m((u+1)/2)-(u<0||u%2),n=new $(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):n=new $(c+""),n.c[0])for((c=(u=n.e)+l)<3&&(c=0);;)if(o=n,n=d.times(o.plus(r(a,o,l,1))),b(o.c).slice(0,c)===(t=b(n.c)).slice(0,c)){if(n.e0&&y>0){for(o=y%s||s,d=f.substr(0,o);o0&&(d+=l+f.slice(o)),h&&(d="-"+d)}n=p?d+(r.decimalSeparator||"")+((c=+r.fractionGroupSize)?p.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):p):d}return(r.prefix||"")+n+(r.suffix||"")},P.toFraction=function(e){var t,n,i,o,a,s,c,l,d,h,y,g,m=this,_=m.c;if(null!=e&&(!(c=new $(e)).isInteger()&&(c.c||1!==c.s)||c.lt(F)))throw Error(u+"Argument "+(c.isInteger()?"out of range: ":"not an integer: ")+J(c));if(!_)return new $(m);for(t=new $(F),d=n=new $(F),i=l=new $(F),g=b(_),a=t.e=g.length-m.e-1,t.c[0]=f[(s=a%p)<0?p+s:s],e=!e||c.comparedTo(t)>0?a>0?t:d:c,s=k,k=1/0,c=new $(g),l.c[0]=0;h=r(c,t,0,1),1!=(o=n.plus(h.times(i))).comparedTo(e);)n=i,i=o,d=l.plus(h.times(o=d)),l=o,t=c.minus(h.times(o=t)),c=o;return o=r(e.minus(n),i,0,1),l=l.plus(o.times(d)),n=n.plus(o.times(i)),l.s=d.s=m.s,y=r(d,i,a*=2,N).minus(m).abs().comparedTo(r(l,n,a,N).minus(m).abs())<1?[d,i]:[l,n],k=s,y},P.toNumber=function(){return+J(this)},P.toPrecision=function(e,t){return null!=e&&v(e,1,g),G(this,e,t,2)},P.toString=function(e){var t,r=this,i=r.s,o=r.e;return null===o?i?(t="Infinity",i<0&&(t="-"+t)):t="NaN":(null==e?t=o<=j||o>=C?S(b(r.c),o):E(b(r.c),o,"0"):10===e&&H?t=E(b((r=z(new $(r),D+o+1,N)).c),r.e,"0"):(v(e,2,q.length,"Base"),t=n(E(b(r.c),o,"0"),10,e,i,!0)),i<0&&r.c[0]&&(t="-"+t)),t},P.valueOf=P.toJSON=function(){return J(this)},P._isBigNumber=!0,null!=t&&$.set(t),$}(),o.default=o.BigNumber=o,void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)}()},48287:(e,t,r)=>{"use strict";const n=r(67526),i=r(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=c,t.SlowBuffer=function(e){return+e!=e&&(e=0),c.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}return u(e,t,r)}function u(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|y(e,t);let n=s(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|f(e.length),r=s(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||W(e.length)?s(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return l(e),s(e<0?0:0|f(e))}function p(e){const t=e.length<0?0:0|f(e.length),r=s(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function y(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(e).length;default:if(i)return n?-1:K(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return I(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return O(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function b(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),W(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:_(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,i){let o,a=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(o=r;os&&(r=s-c),o=r;o>=0;o--){let r=!0;for(let n=0;ni&&(n=i):n=i;const o=t.length;let a;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function O(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,s,c;switch(a){case 1:t<128&&(o=t);break;case 2:r=e[i+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(o=c));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,c>65535&&c<1114112&&(o=c))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=a}return function(e){const t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=y,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(J(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const s=Math.min(o,a),u=this.slice(n,i),l=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return v(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":case"latin1":case"binary":return S(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function I(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,r,n,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function j(e,t,r,n,i){q(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function C(e,t,r,n,i){q(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o>>=8,e[r+6]=o,o>>=8,e[r+5]=o,o>>=8,e[r+4]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function M(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function k(e,t,r,n,o){return t=+t,r>>>=0,o||M(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function L(e,t,r,n,o){return t=+t,r>>>=0,o||M(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||D(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>=0,t>>>=0,r||D(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||D(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||D(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||D(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=Y((function(e){H(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||D(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||D(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return e>>>=0,t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||D(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||D(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=Y((function(e){H(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||D(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||D(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||D(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||D(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||N(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,n||N(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=Y((function(e,t=0){return j(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=Y((function(e,t=0){return C(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);N(this,e,t,r,n-1,-n)}let i=0,o=1,a=0;for(this[t]=255&e;++i>>=0,!n){const n=Math.pow(2,8*r-1);N(this,e,t,r,n-1,-n)}let i=r-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o|0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=Y((function(e,t=0){return j(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=Y((function(e,t=0){return C(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(e,t,r){return k(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return k(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return L(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return L(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function q(e,t,r,n,i,o){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new U.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){H(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||$(t,e.length-(r+1))}(n,i,o)}function H(e,t){if("number"!=typeof e)throw new U.ERR_INVALID_ARG_TYPE(t,"number",e)}function $(e,t,r){if(Math.floor(e)!==e)throw H(e,r),new U.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}B("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),B("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),B("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=V(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=V(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n}),RangeError);const G=/[^+/0-9A-Za-z-_]/g;function K(e,t){let r;t=t||1/0;const n=e.length;let i=null;const o=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Q(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(G,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function z(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function W(e){return e!=e}const X=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Y(e){return"undefined"==typeof BigInt?Z:e}function Z(){throw new Error("BigInt not supported")}},82341:e=>{"use strict";e.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(((t,r,n)=>t+(0===n?"":",")+e(void 0===r||"symbol"==typeof r?null:r)),"")+"]":"{"+Object.keys(t).sort().reduce(((r,n,i)=>void 0===t[n]||"symbol"==typeof t[n]?r:r+(0===r.length?"":",")+e(n)+":"+e(t[n])),"")+"}"}},86547:function(){!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function f(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=f(t);return t.readAsArrayBuffer(e),r}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=f(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function v(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new p(t.headers),this.url=t.url||"",this._initBody(e)}_.prototype.clone=function(){return new _(this,{body:this._bodyInit})},m.call(_.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var S=[301,302,303,307,308];w.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function E(e,r){return new Promise((function(n,o){var a=new _(e,r);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new p,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;n(new w(i,r))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&i&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}E.polyfill=!0,e.fetch||(e.fetch=E,e.Headers=p,e.Request=_,e.Response=w),t.Headers=p,t.Request=_,t.Response=w,t.fetch=E,Object.defineProperty(t,"__esModule",{value:!0})}({})}("undefined"!=typeof self?self:this)},74945:function(e,t){var r="undefined"!=typeof self?self:this,n=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function f(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=f(t);return t.readAsArrayBuffer(e),r}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=f(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function v(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new p(t.headers),this.url=t.url||"",this._initBody(e)}_.prototype.clone=function(){return new _(this,{body:this._bodyInit})},m.call(_.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var S=[301,302,303,307,308];w.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function E(e,r){return new Promise((function(n,o){var a=new _(e,r);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new p,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;n(new w(i,r))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&i&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}E.polyfill=!0,e.fetch||(e.fetch=E,e.Headers=p,e.Request=_,e.Response=w),t.Headers=p,t.Request=_,t.Response=w,t.fetch=E,Object.defineProperty(t,"__esModule",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=n;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},94460:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((function(e){return[e.toLowerCase(),e]}))),t.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((function(e){return[e.toLowerCase(),e]})))},53806:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r");case s.Comment:return"\x3c!--".concat(e.data,"--\x3e");case s.CDATA:return function(e){return"")}(e);case s.Script:case s.Style:case s.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=u.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&y.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<".concat(e.name),o=function(e,t){var r;if(e){var n=!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)?d:t.xmlMode||"utf8"!==t.encodeEntities?c.encodeXML:c.escapeAttribute;return Object.keys(e).map((function(r){var i,o,a=null!==(i=e[r])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(r=null!==(o=u.attributeNames.get(r))&&void 0!==o?o:r),t.emptyAttrs||t.xmlMode||""!==a?"".concat(r,'="').concat(n(a),'"'):r})).join(" ")}}(e.attribs,t);return o&&(i+=" ".concat(o)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&p.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=h(e.children,t)),!t.xmlMode&&p.has(e.name)||(i+=""))),i}(e,t);case s.Text:return function(e,t){var r,n=e.data||"";return!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)||!t.xmlMode&&e.parent&&l.has(e.parent.name)||(n=t.xmlMode||"utf8"!==t.encodeEntities?(0,c.encodeXML)(n):(0,c.escapeText)(n)),n}(e,t)}}t.render=h,t.default=h;var y=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},45413:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(r=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===r.Tag||e.type===r.Script||e.type===r.Style},t.Root=r.Root,t.Text=r.Text,t.Directive=r.Directive,t.Comment=r.Comment,t.Script=r.Script,t.Style=r.Style,t.Tag=r.Tag,t.CDATA=r.CDATA,t.Doctype=r.Doctype},41141:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.DomHandler=void 0;var o=r(45413),a=r(36957);i(r(36957),t);var s={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},c=function(){function e(e,t,r){this.dom=[],this.root=new a.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(r=t,t=s),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:s,this.elementCB=null!=r?r:null}return e.prototype.onparserinit=function(e){this.parser=e},e.prototype.onreset=function(){this.dom=[],this.root=new a.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},e.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},e.prototype.onerror=function(e){this.handleCallback(e)},e.prototype.onclosetag=function(){this.lastNode=null;var e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)},e.prototype.onopentag=function(e,t){var r=this.options.xmlMode?o.ElementType.Tag:void 0,n=new a.Element(e,t,void 0,r);this.addNode(n),this.tagStack.push(n)},e.prototype.ontext=function(e){var t=this.lastNode;if(t&&t.type===o.ElementType.Text)t.data+=e,this.options.withEndIndices&&(t.endIndex=this.parser.endIndex);else{var r=new a.Text(e);this.addNode(r),this.lastNode=r}},e.prototype.oncomment=function(e){if(this.lastNode&&this.lastNode.type===o.ElementType.Comment)this.lastNode.data+=e;else{var t=new a.Comment(e);this.addNode(t),this.lastNode=t}},e.prototype.oncommentend=function(){this.lastNode=null},e.prototype.oncdatastart=function(){var e=new a.Text(""),t=new a.CDATA([e]);this.addNode(t),e.parent=t,this.lastNode=e},e.prototype.oncdataend=function(){this.lastNode=null},e.prototype.onprocessinginstruction=function(e,t){var r=new a.ProcessingInstruction(e,t);this.addNode(r)},e.prototype.handleCallback=function(e){if("function"==typeof this.callback)this.callback(e,this.dom);else if(e)throw e},e.prototype.addNode=function(e){var t=this.tagStack[this.tagStack.length-1],r=t.children[t.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),t.children.push(e),r&&(e.prev=r,r.next=e),e.parent=t,this.lastNode=null},e}();t.DomHandler=c,t.default=c},36957:function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(s);t.NodeWithChildren=p;var h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(p);t.CDATA=h;var f=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(p);t.Document=f;var y=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var o=e.call(this,n)||this;return o.name=t,o.attribs=r,o.type=i,o}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}}))},enumerable:!1,configurable:!0}),t}(p);function g(e){return(0,a.isTag)(e)}function m(e){return e.type===a.ElementType.CDATA}function b(e){return e.type===a.ElementType.Text}function _(e){return e.type===a.ElementType.Comment}function v(e){return e.type===a.ElementType.Directive}function w(e){return e.type===a.ElementType.Root}function S(e,t){var r;if(void 0===t&&(t=!1),b(e))r=new u(e.data);else if(_(e))r=new l(e.data);else if(g(e)){var n=t?E(e.children):[],i=new y(e.name,o({},e.attribs),n);n.forEach((function(e){return e.parent=i})),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=o({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=o({},e["x-attribsPrefix"])),r=i}else if(m(e)){n=t?E(e.children):[];var a=new h(n);n.forEach((function(e){return e.parent=a})),r=a}else if(w(e)){n=t?E(e.children):[];var s=new f(n);n.forEach((function(e){return e.parent=s})),e["x-mode"]&&(s["x-mode"]=e["x-mode"]),r=s}else{if(!v(e))throw new Error("Not implemented yet: ".concat(e.type));var c=new d(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function E(e){for(var t=e.map((function(e){return S(e,!0)})),r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFeed=void 0;var n=r(76037),i=r(43209);t.getFeed=function(e){var t=c(d,e);return t?"feed"===t.name?function(e){var t,r=e.children,n={type:"atom",items:(0,i.getElementsByTagName)("entry",r).map((function(e){var t,r=e.children,n={media:s(r)};l(n,"id","id",r),l(n,"title","title",r);var i=null===(t=c("link",r))||void 0===t?void 0:t.attribs.href;i&&(n.link=i);var o=u("summary",r)||u("content",r);o&&(n.description=o);var a=u("updated",r);return a&&(n.pubDate=new Date(a)),n}))};l(n,"id","id",r),l(n,"title","title",r);var o=null===(t=c("link",r))||void 0===t?void 0:t.attribs.href;o&&(n.link=o),l(n,"description","subtitle",r);var a=u("updated",r);return a&&(n.updated=new Date(a)),l(n,"author","email",r,!0),n}(t):function(e){var t,r,n=null!==(r=null===(t=c("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==r?r:[],o={type:e.name.substr(0,3),id:"",items:(0,i.getElementsByTagName)("item",e.children).map((function(e){var t=e.children,r={media:s(t)};l(r,"id","guid",t),l(r,"title","title",t),l(r,"link","link",t),l(r,"description","description",t);var n=u("pubDate",t)||u("dc:date",t);return n&&(r.pubDate=new Date(n)),r}))};l(o,"title","title",n),l(o,"link","link",n),l(o,"description","description",n);var a=u("lastBuildDate",n);return a&&(o.updated=new Date(a)),l(o,"author","managingEditor",n,!0),o}(t):null};var o=["url","type","lang"],a=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function s(e){return(0,i.getElementsByTagName)("media:content",e).map((function(e){for(var t=e.attribs,r={medium:t.medium,isDefault:!!t.isDefault},n=0,i=o;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSort=t.compareDocumentPosition=t.DocumentPosition=t.removeSubsets=void 0;var n,i=r(41141);function o(e,t){var r=[],o=[];if(e===t)return 0;for(var a=(0,i.hasChildren)(e)?e:e.parent;a;)r.unshift(a),a=a.parent;for(a=(0,i.hasChildren)(t)?t:t.parent;a;)o.unshift(a),a=a.parent;for(var s=Math.min(r.length,o.length),c=0;cl.indexOf(p)?u===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:u===e?n.PRECEDING|n.CONTAINS:n.PRECEDING}t.removeSubsets=function(e){for(var t=e.length;--t>=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(n=t.DocumentPosition||(t.DocumentPosition={})),t.compareDocumentPosition=o,t.uniqueSort=function(e){return e=e.filter((function(e,t,r){return!r.includes(e,t+1)})),e.sort((function(e,t){var r=o(e,t);return r&n.PRECEDING?-1:r&n.FOLLOWING?1:0})),e}},98888:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(76037),t),i(r(8938),t),i(r(73403),t),i(r(90718),t),i(r(43209),t),i(r(45397),t),i(r(54437),t);var o=r(41141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return o.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return o.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return o.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return o.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return o.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return o.hasChildren}})},43209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var n=r(41141),i=r(90718),o={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function s(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map((function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(o,t)?o[t](r):a(t,r)}));return 0===t.length?null:t.reduce(s)}t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var o=c(e);return o?(0,i.filter)(o,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(o.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(o.tag_type(e),t,r,n)}},73403:(e,t)=>{"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}Object.defineProperty(t,"__esModule",{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var o=i.children;o[o.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var o=n.children;o.splice(o.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},90718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var n=r(41141);function i(e,t,r,i){for(var o=[],a=[t],s=[0];;)if(s[0]>=a[0].length){if(1===s.length)return o;a.shift(),s.shift()}else{var c=a[0][s[0]++];if(e(c)&&(o.push(c),--i<=0))return o;r&&(0,n.hasChildren)(c)&&c.children.length>0&&(s.unshift(0),a.unshift(c.children))}}t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),i(e,Array.isArray(t)?t:[t],r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var o=null,a=0;a0&&(o=e(t,s.children,!0)))}return o},t.existsOne=function e(t,r){return r.some((function(r){return(0,n.isTag)(r)&&(t(r)||e(t,r.children))}))},t.findAll=function(e,t){for(var r=[],i=[t],o=[0];;)if(o[0]>=i[0].length){if(1===i.length)return r;i.shift(),o.shift()}else{var a=i[0][o[0]++];(0,n.isTag)(a)&&(e(a)&&r.push(a),a.children.length>0&&(o.unshift(0),i.unshift(a.children)))}}},76037:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.innerText=t.textContent=t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var i=r(41141),o=n(r(53806)),a=r(45413);function s(e,t){return(0,o.default)(e,t)}t.getOuterHTML=s,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map((function(e){return s(e,t)})).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""}},8938:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var n=r(41141);function i(e){return(0,n.hasChildren)(e)?e.children:[]}function o(e){return e.parent||null}t.getChildren=i,t.getParent=o,t.getSiblings=function(e){var t=o(e);if(null!=t)return i(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t}},79878:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTMLAttribute=t.decodeHTML=t.determineBranch=t.EntityDecoder=t.DecodingMode=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var s=a(r(13603));t.htmlDecodeTree=s.default;var c=a(r(22517));t.xmlDecodeTree=c.default;var u=o(r(55096));t.decodeCodePoint=u.default;var l,d,p,h,f=r(55096);function y(e){return e>=l.ZERO&&e<=l.NINE}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return f.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return f.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(l||(l={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(d=t.BinTrieFlags||(t.BinTrieFlags={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(p||(p={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(h=t.DecodingMode||(t.DecodingMode={}));var g=function(){function e(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=p.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=h.Strict}return e.prototype.startEntity=function(e){this.decodeMode=e,this.state=p.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},e.prototype.write=function(e,t){switch(this.state){case p.EntityStart:return e.charCodeAt(t)===l.NUM?(this.state=p.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=p.NamedEntity,this.stateNamedEntity(e,t));case p.NumericStart:return this.stateNumericStart(e,t);case p.NumericDecimal:return this.stateNumericDecimal(e,t);case p.NumericHex:return this.stateNumericHex(e,t);case p.NamedEntity:return this.stateNamedEntity(e,t)}},e.prototype.stateNumericStart=function(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===l.LOWER_X?(this.state=p.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=p.NumericDecimal,this.stateNumericDecimal(e,t))},e.prototype.addToNumericResult=function(e,t,r,n){if(t!==r){var i=r-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}},e.prototype.stateNumericHex=function(e,t){for(var r,n=t;t=l.UPPER_A&&r<=l.UPPER_F||r>=l.LOWER_A&&r<=l.LOWER_F)))return this.addToNumericResult(e,n,t,16),this.emitNumericEntity(i,3);t+=1}return this.addToNumericResult(e,n,t,16),-1},e.prototype.stateNumericDecimal=function(e,t){for(var r=t;t>14;t=l.UPPER_A&&e<=l.UPPER_Z||e>=l.LOWER_A&&e<=l.LOWER_Z||y(e)}(a)))?0:this.emitNotTerminatedNamedEntity();if(0!=(i=((n=r[this.treeIndex])&d.VALUE_LENGTH)>>14)){if(o===l.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==h.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}var a;return-1},e.prototype.emitNotTerminatedNamedEntity=function(){var e,t=this.result,r=(this.decodeTree[t]&d.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed},e.prototype.emitNamedEntityData=function(e,t,r){var n=this.decodeTree;return this.emitCodePoint(1===t?n[e]&~d.VALUE_LENGTH:n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r},e.prototype.end=function(){var e;switch(this.state){case p.NamedEntity:return 0===this.result||this.decodeMode===h.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case p.NumericDecimal:return this.emitNumericEntity(0,2);case p.NumericHex:return this.emitNumericEntity(0,3);case p.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case p.EntityStart:return 0}},e}();function m(e){var t="",r=new g(e,(function(e){return t+=(0,u.fromCodePoint)(e)}));return function(e,n){for(var i=0,o=0;(o=e.indexOf("&",o))>=0;){t+=e.slice(i,o),r.startEntity(n);var a=r.write(e,o+1);if(a<0){i=o+r.end();break}i=o+a,o=0===a?i+1:i}var s=t+e.slice(i);return t="",s}}function b(e,t,r,n){var i=(t&d.BRANCH_LENGTH)>>7,o=t&d.JUMP_TABLE;if(0===i)return 0!==o&&n===o?r:-1;if(o){var a=n-o;return a<0||a>=i?-1:e[r+a]-1}for(var s=r,c=s+i-1;s<=c;){var u=s+c>>>1,l=e[u];if(ln))return e[u+i];c=u-1}}return-1}t.EntityDecoder=g,t.determineBranch=b;var _=m(s.default),v=m(c.default);t.decodeHTML=function(e,t){return void 0===t&&(t=h.Legacy),_(e,t)},t.decodeHTMLAttribute=function(e){return _(e,h.Attribute)},t.decodeHTMLStrict=function(e){return _(e,h.Strict)},t.decodeXML=function(e){return v(e,h.Strict)}},55096:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}},71818:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var i=n(r(35504)),o=r(5987),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function s(e,t){for(var r,n="",a=0;null!==(r=e.exec(t));){var s=r.index;n+=t.substring(a,s);var c=t.charCodeAt(s),u=i.default.get(c);if("object"==typeof u){if(s+1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.getCodePoint=t.xmlReplacer=void 0,t.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var r=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function n(e){for(var n,i="",o=0;null!==(n=t.xmlReplacer.exec(e));){var a=n.index,s=e.charCodeAt(a),c=r.get(s);void 0!==c?(i+=e.substring(o,a)+c,o=a+1):(i+="".concat(e.substring(o,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),o=t.xmlReplacer.lastIndex+=Number(55296==(64512&s)))}return i+e.substr(o)}function i(e,t){return function(r){for(var n,i=0,o="";n=e.exec(r);)i!==n.index&&(o+=r.substring(i,n.index)),o+=t.get(n[0].charCodeAt(0)),i=n.index+1;return o+r.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=n,t.escape=n,t.escapeUTF8=i(/[&<>'"]/g,r),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},13603:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((function(e){return e.charCodeAt(0)})))},22517:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(e){return e.charCodeAt(0)})))},35504:(e,t)=>{"use strict";function r(e){for(var t=1;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLAttribute=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.DecodingMode=t.EntityDecoder=t.encodeHTML5=t.encodeHTML4=t.encodeNonAsciiHTML=t.encodeHTML=t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.encode=t.decodeStrict=t.decode=t.EncodingMode=t.EntityLevel=void 0;var n,i,o=r(79878),a=r(71818),s=r(5987);function c(e,t){if(void 0===t&&(t=n.XML),("number"==typeof t?t:t.level)===n.HTML){var r="object"==typeof t?t.mode:void 0;return(0,o.decodeHTML)(e,r)}return(0,o.decodeXML)(e)}!function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"}(n=t.EntityLevel||(t.EntityLevel={})),function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"}(i=t.EncodingMode||(t.EncodingMode={})),t.decode=c,t.decodeStrict=function(e,t){var r;void 0===t&&(t=n.XML);var i="number"==typeof t?{level:t}:t;return null!==(r=i.mode)&&void 0!==r||(i.mode=o.DecodingMode.Strict),c(e,i)},t.encode=function(e,t){void 0===t&&(t=n.XML);var r="number"==typeof t?{level:t}:t;return r.mode===i.UTF8?(0,s.escapeUTF8)(e):r.mode===i.Attribute?(0,s.escapeAttribute)(e):r.mode===i.Text?(0,s.escapeText)(e):r.level===n.HTML?r.mode===i.ASCII?(0,a.encodeNonAsciiHTML)(e):(0,a.encodeHTML)(e):(0,s.encodeXML)(e)};var u=r(5987);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return u.encodeXML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return u.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return u.escapeUTF8}}),Object.defineProperty(t,"escapeAttribute",{enumerable:!0,get:function(){return u.escapeAttribute}}),Object.defineProperty(t,"escapeText",{enumerable:!0,get:function(){return u.escapeText}});var l=r(71818);Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return l.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return l.encodeNonAsciiHTML}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return l.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return l.encodeHTML}});var d=r(79878);Object.defineProperty(t,"EntityDecoder",{enumerable:!0,get:function(){return d.EntityDecoder}}),Object.defineProperty(t,"DecodingMode",{enumerable:!0,get:function(){return d.DecodingMode}}),Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return d.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTMLAttribute",{enumerable:!0,get:function(){return d.decodeHTMLAttribute}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return d.decodeXML}})},66486:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.promisifyEventEmitter=void 0,t.promisifyEventEmitter=function(e,t){return new Promise(((r,n)=>{e.on("end",(()=>r(t))),e.on("error",n)}))}},37007:e=>{"use strict";var t,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,o),n(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}y(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&y(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,o,a,u;if(s(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),a=o[t]),void 0===a)a=o[t]=r,++e._eventsCount;else if("function"==typeof a?a=o[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(i=c(e))>0&&a.length>i&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,u=l,console&&console.warn&&console.warn(u)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=l.bind(n);return i.listener=r,n.wrapFn=i,i}function p(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)n(c,this,t);else{var u=c.length,l=f(c,u);for(r=0;r=0;o--)if(r[o]===t||r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},29252:e=>{"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(!e(t[i],r[i]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(i of t.entries())if(!r.has(i[0]))return!1;for(i of t.entries())if(!e(i[1],r.get(i[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(i of t.entries())if(!r.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(t[i]!==r[i])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;0!=i--;){var a=o[i];if(!e(t[a],r[a]))return!1}return!0}return t!=t&&r!=r}},92603:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(59636),t)},59636:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlEndpointFetcher=void 0;const i=r(31232),o=r(30684),a=r(65806),s=r(76196),c=r(916),u=r(75295),l=r(43789);class d{constructor(e){var t,r,n;this.method=null!==(t=null==e?void 0:e.method)&&void 0!==t?t:"POST",this.timeout=null==e?void 0:e.timeout,this.additionalUrlParams=null!==(r=null==e?void 0:e.additionalUrlParams)&&void 0!==r?r:new URLSearchParams,this.defaultHeaders=null!==(n=null==e?void 0:e.defaultHeaders)&&void 0!==n?n:new Headers,this.fetchCb=null==e?void 0:e.fetch,this.sparqlJsonParser=new c.SparqlJsonParser(e),this.sparqlXmlParser=new u.SparqlXmlParser(e),this.sparqlParsers={[d.CONTENTTYPE_SPARQL_JSON]:{parseBooleanStream:e=>this.sparqlJsonParser.parseJsonBooleanStream(e),parseResultsStream:e=>this.sparqlJsonParser.parseJsonResultsStream(e)},[d.CONTENTTYPE_SPARQL_XML]:{parseBooleanStream:e=>this.sparqlXmlParser.parseXmlBooleanStream(e),parseResultsStream:e=>this.sparqlXmlParser.parseXmlResultsStream(e)}}}getQueryType(e){const t=new s.Parser({sparqlStar:!0}).parse(e);return"query"===t.type?"DESCRIBE"===t.queryType?"CONSTRUCT":t.queryType:"UNKNOWN"}getUpdateTypes(e){const t=new s.Parser({sparqlStar:!0}).parse(e);if("update"===t.type){const e={};for(const r of t.updates)"type"in r?e[r.type]=!0:e[r.updateType]=!0;return e}return"UNKNOWN"}fetchBindings(e,t){return n(this,void 0,void 0,(function*(){const[r,n]=yield this.fetchRawStream(e,t,d.CONTENTTYPE_SPARQL),i=this.sparqlParsers[r];if(!i)throw new Error(`Unknown SPARQL results content type: ${r}`);return i.parseResultsStream(n)}))}fetchAsk(e,t){return n(this,void 0,void 0,(function*(){const[r,n]=yield this.fetchRawStream(e,t,d.CONTENTTYPE_SPARQL),i=this.sparqlParsers[r];if(!i)throw new Error(`Unknown SPARQL results content type: ${r}`);return i.parseBooleanStream(n)}))}fetchTriples(e,t){return n(this,void 0,void 0,(function*(){const[r,n]=yield this.fetchRawStream(e,t,d.CONTENTTYPE_TURTLE);return n.pipe(new o.StreamParser({format:r}))}))}fetchUpdate(e,t){return n(this,void 0,void 0,(function*(){const r=new AbortController,n={};this.defaultHeaders.forEach(((e,t)=>{n[t]=e}));const i={method:"POST",headers:Object.assign(Object.assign({},n),{"content-type":"application/sparql-update"}),body:t,signal:r.signal};yield this.handleFetchCall(e,i,{ignoreBody:!0}),r.abort()}))}fetchRawStream(e,t,r){return n(this,void 0,void 0,(function*(){let n,i="POST"===this.method?e:`${e}?query=${encodeURIComponent(t)}`;const o=new Headers(this.defaultHeaders);if(o.append("Accept",r),"POST"===this.method){o.append("Content-Type","application/x-www-form-urlencoded"),n=new URLSearchParams,n.set("query",t);for(const[e,t]of this.additionalUrlParams.entries())n.set(e,t);o.append("Content-Length",n.toString().length.toString())}else this.additionalUrlParams.toString().length>0&&(i+=`&${this.additionalUrlParams.toString()}`);return this.handleFetchCall(i,{headers:o,method:this.method,body:n})}))}handleFetchCall(e,t,r){return n(this,void 0,void 0,(function*(){var n,o,s;let c,u;if(this.timeout){const e=new AbortController;t.signal=e.signal,c=setTimeout((()=>e.abort()),this.timeout)}const d=yield(null!==(n=this.fetchCb)&&void 0!==n?n:fetch)(e,t);if(clearTimeout(c),!(null==r?void 0:r.ignoreBody)&&d.body&&(u=i(d.body)?d.body:(0,a.readableFromWeb)(d.body)),!d.ok||!u&&!(null==r?void 0:r.ignoreBody)){const t=e.split("?").at(0),r=u?yield l(u):"empty response";throw new Error(`Invalid SPARQL endpoint response from ${t} (HTTP status ${d.status}):\n${r}`)}return[null!==(s=null===(o=d.headers.get("Content-Type"))||void 0===o?void 0:o.split(";").at(0))&&void 0!==s?s:"",u]}))}}t.SparqlEndpointFetcher=d,d.CONTENTTYPE_SPARQL_JSON="application/sparql-results+json",d.CONTENTTYPE_SPARQL_XML="application/sparql-results+xml",d.CONTENTTYPE_TURTLE="text/turtle",d.CONTENTTYPE_SPARQL=`${d.CONTENTTYPE_SPARQL_JSON};q=1.0,${d.CONTENTTYPE_SPARQL_XML};q=0.7`},30684:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BlankNode:()=>A,DataFactory:()=>E,DefaultGraph:()=>R,EntityIndex:()=>he,Lexer:()=>m,Literal:()=>x,NamedNode:()=>O,Parser:()=>V,Quad:()=>D,Reasoner:()=>_e,Store:()=>fe,StoreFactory:()=>me,StreamParser:()=>Se,StreamWriter:()=>Ee,Term:()=>T,Triple:()=>D,Util:()=>n,Variable:()=>I,Writer:()=>oe,default:()=>Te,getRulesFromDataset:()=>be,termFromId:()=>P,termToId:()=>F});var n={};r.r(n),r.d(n,{inDefaultGraph:()=>J,isBlankNode:()=>G,isDefaultGraph:()=>z,isLiteral:()=>K,isNamedNode:()=>$,isVariable:()=>Q,prefix:()=>W,prefixes:()=>X});var i=r(48287),o=r(79596),a=r.n(o);const s="http://www.w3.org/1999/02/22-rdf-syntax-ns#",c="http://www.w3.org/2001/XMLSchema#",u="http://www.w3.org/2000/10/swap/",l={xsd:{decimal:`${c}decimal`,boolean:`${c}boolean`,double:`${c}double`,integer:`${c}integer`,string:`${c}string`},rdf:{type:`${s}type`,nil:`${s}nil`,first:`${s}first`,rest:`${s}rest`,langString:`${s}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${u}reify#forSome`,forAll:`${u}reify#forAll`},log:{implies:`${u}log#implies`}},{xsd:d}=l,p=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,h={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},f=/[\x00-\x20<>\\"\{\}\|\^\`]/,y={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},g=/$0^/;class m{constructor(e){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,e=e||{},this._lineMode=!!e.lineMode){this._n3Mode=!1;for(const e in this)!(e in y)&&this[e]instanceof RegExp&&(this[e]=g)}else this._n3Mode=!1!==e.n3;this.comments=!!e.comments,this._literalClosingPos=0}_tokenizeToEnd(e,t){let r=this._input,n=r.length;for(;;){let e,a;for(;e=this._newline.exec(r);)this.comments&&(a=this._comment.exec(e[0]))&&i("comment",a[1],"",this._line,e[0].length),r=r.substr(e[0].length,r.length),n=r.length,this._line++;if(!e&&(e=this._whitespace.exec(r))&&(r=r.substr(e[0].length,r.length)),this._endOfFile.test(r))return t&&(this.comments&&(a=this._comment.exec(r))&&i("comment",a[1],"",this._line,r.length),r=null,i("eof","","",this._line,0)),this._input=r;const s=this._line,c=r[0];let u="",l="",p="",h=null,y=0,g=!1;switch(c){case"^":if(r.length<3)break;if("^"!==r[1]){this._n3Mode&&(y=1,u="^");break}if(this._previousMarker="^^",r=r.substr(2),"<"!==r[0]){g=!0;break}case"<":if(h=this._unescapedIri.exec(r))u="IRI",l=h[1];else if(h=this._iri.exec(r)){if(l=this._unescape(h[1]),null===l||f.test(l))return o(this);u="IRI"}else r.length>1&&"<"===r[1]?(u="<<",y=2):this._n3Mode&&r.length>1&&"="===r[1]&&(u="inverse",y=2,l=">");break;case">":r.length>1&&">"===r[1]&&(u=">>",y=2);break;case"_":((h=this._blank.exec(r))||t&&(h=this._blank.exec(`${r} `)))&&(u="blank",p="_",l=h[1]);break;case'"':if(h=this._simpleQuotedString.exec(r))l=h[1];else if(({value:l,matchLength:y}=this._parseLiteral(r)),null===l)return o(this);null===h&&0===y||(u="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(h=this._simpleApostropheString.exec(r))l=h[1];else if(({value:l,matchLength:y}=this._parseLiteral(r)),null===l)return o(this);null===h&&0===y||(u="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(h=this._variable.exec(r))&&(u="var",l=h[0]);break;case"@":"literal"===this._previousMarker&&(h=this._langcode.exec(r))?(u="langcode",l=h[1]):(h=this._keyword.exec(r))&&(u=h[0]);break;case".":if(1===r.length?t:r[1]<"0"||r[1]>"9"){u=".",y=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(h=this._number.exec(r)||t&&(h=this._number.exec(`${r} `)))&&(u="literal",l=h[0],p="string"==typeof h[1]?d.double:"string"==typeof h[2]?d.decimal:d.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(h=this._sparqlKeyword.exec(r))?u=h[0].toUpperCase():g=!0;break;case"f":case"t":(h=this._boolean.exec(r))?(u="literal",l=h[0],p=d.boolean):g=!0;break;case"a":(h=this._shortPredicates.exec(r))?(u="abbreviation",l="a"):g=!0;break;case"=":this._n3Mode&&r.length>1&&(u="abbreviation",">"!==r[1]?(y=1,l="="):(y=2,l=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"}":this._lineMode||(y=1,u=c);break;case"{":!this._lineMode&&r.length>=2&&("|"===r[1]?(u="{|",y=2):(u=c,y=1));break;case"|":r.length>=2&&"}"===r[1]&&(u="|}",y=2);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(h=this._prefix.exec(r))?((h=this._prefixed.exec(r))||t&&(h=this._prefixed.exec(`${r} `)))&&(u="prefixed",p=h[1]||"",l=this._unescape(h[2])):(u="prefix",l=h[1]||"")),"^^"===this._previousMarker)switch(u){case"prefixed":u="type";break;case"IRI":u="typeIRI";break;default:u=""}if(!u)return t||!/^'''|^"""/.test(r)&&/\n|\r/.test(r)?o(this):this._input=r;const m=y||h[0].length,b=i(u,l,p,s,m);this.previousToken=b,this._previousMarker=u,r=r.substr(m,r.length)}function i(t,i,o,a,s){const c=r?n-r.length:n,u={type:t,value:i,prefix:o,line:a,start:c,end:c+s};return e(null,u),u}function o(t){e(t._syntaxError(/^\S*/.exec(r)[0]))}}_unescape(e){let t=!1;const r=e.replace(p,((e,r,n,i)=>{if("string"==typeof r)return String.fromCharCode(Number.parseInt(r,16));if("string"==typeof n){let e=Number.parseInt(n,16);return e<=65535?String.fromCharCode(Number.parseInt(n,16)):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}return i in h?h[i]:(t=!0,"")}));return t?null:r}_parseLiteral(e){if(e.length>=3){const t=e.match(/^(?:"""|"|'''|'|)/)[0],r=t.length;let n=Math.max(this._literalClosingPos,r);for(;(n=e.indexOf(t,n))>0;){let t=0;for(;"\\"===e[n-t-1];)t++;if(t%2==0){const t=e.substring(r,n),i=t.split(/\r\n|\r|\n/).length-1,o=n+r;if(1===r&&0!==i||3===r&&this._lineMode)break;return this._line+=i,{value:this._unescape(t),matchLength:o}}n++}this._literalClosingPos=e.length-r+1}return{value:"",matchLength:0}}_syntaxError(e){this._input=null;const t=new Error(`Unexpected "${e}" on line ${this._line}.`);return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}_readStartingBom(e){return e.startsWith("\ufeff")?e.substr(1):e}tokenize(e,t){if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof t){const e=[];let t;if(this._tokenizeToEnd(((r,n)=>r?t=r:e.push(n)),!0),t)throw t;return e}a()((()=>this._tokenizeToEnd(t,!0)))}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",(e=>{null!==this._input&&0!==e.length&&(this._pendingBuffer&&(e=i.Buffer.concat([this._pendingBuffer,e]),this._pendingBuffer=null),128&e[e.length-1]?this._pendingBuffer=e:(void 0===this._input?this._input=this._readStartingBom("string"==typeof e?e:e.toString()):this._input+=e,this._tokenizeToEnd(t,!1)))})),e.on("end",(()=>{"string"==typeof this._input&&this._tokenizeToEnd(t,!0)})),e.on("error",t)}}const{rdf:b,xsd:_}=l;let v,w=0;const S={namedNode:N,blankNode:j,variable:M,literal:C,defaultGraph:function(){return v},quad:k,triple:k,fromTerm:L,fromQuad:U},E=S;class T{constructor(e){this.id=e}get value(){return this.id}equals(e){return e instanceof T?this.id===e.id:!!e&&this.termType===e.termType&&this.value===e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}class O extends T{get termType(){return"NamedNode"}}class x extends T{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const e=this.id;let t=e.lastIndexOf('"')+1;return t0?"INF":"-INF")))),""===r||r===_.string?new x(`"${e}"`):new x(`"${e}"^^${r}`)}function M(e){return new I(e)}function k(e,t,r,n){return new D(e,t,r,n)}function L(e){if(e instanceof T)return e;switch(e.termType){case"NamedNode":return N(e.value);case"BlankNode":return j(e.value);case"Variable":return M(e.value);case"DefaultGraph":return v;case"Literal":return C(e.value,e.language||e.datatype);case"Quad":return U(e);default:throw new Error(`Unexpected termType: ${e.termType}`)}}function U(e){if(e instanceof D)return e;if("Quad"!==e.termType)throw new Error(`Unexpected termType: ${e.termType}`);return k(L(e.subject),L(e.predicate),L(e.object),L(e.graph))}let B=0;class V{constructor(e){this._contextStack=[],this._graph=null,e=e||{},this._setBase(e.baseIRI),e.factory&&H(this,e.factory);const t="string"==typeof e.format?e.format.match(/\w*$/)[0].toLowerCase():"",r=/turtle/.test(t),n=/trig/.test(t),i=/triple/.test(t),o=/quad/.test(t),a=this._n3Mode=/n3/.test(t),s=i||o;(this._supportsNamedGraphs=!(r||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(r||n||i||a),this._supportsRDFStar=""===t||/star|\*$/.test(t),s&&(this._resolveRelativeIRI=e=>null),this._blankNodePrefix="string"!=typeof e.blankNodePrefix?"":e.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=e.lexer||new m({lineMode:s,n3:a}),this._explicitQuantifiers=!!e.explicitQuantifiers}static _resetBlankNodePrefix(){B=0}_setBase(e){if(e){const t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}_saveContext(e,t,r,n,i){const o=this._n3Mode;this._contextStack.push({type:e,subject:r,predicate:n,object:i,graph:t,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.value}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(e,t){const r=this._contextStack.pop();if(!r||r.type!==e)return this._error(`Unexpected ${t.type}`,t);this._subject=r.subject,this._predicate=r.predicate,this._object=r.object,this._graph=r.graph,this._n3Mode&&(this._inversePredicate=r.inverse,this._prefixes._=r.blankPrefix,this._quantified=r.quantified)}_readInTopContext(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}_readEntity(e,t){let r;switch(e.type){case"IRI":case"typeIRI":const t=this._resolveIRI(e.value);if(null===t)return this._error("Invalid IRI",e);r=this._namedNode(t);break;case"type":case"prefixed":const n=this._prefixes[e.prefix];if(void 0===n)return this._error(`Undefined prefix "${e.prefix}:"`,e);r=this._namedNode(n+e.value);break;case"blank":r=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":r=this._variable(e.value.substr(1));break;default:return this._error(`Expected entity but got ${e.type}`,e)}return!t&&this._n3Mode&&r.id in this._quantified&&(r=this._quantified[r.id]),r}_readSubject(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(e){const t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${t}`,e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}_readObject(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}_readGraph(e){return"{"!==e.type?this._error(`Expected graph but got ${e.type}`,e):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}_readBlankNodeTail(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const t=null===this._predicate;return this._restoreContext("blank",e),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}_readListItem(e){let t=null,r=null,n=this._readListItem;const i=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,r=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),n=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,r=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext("list",e),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(n=this._readPredicate,this._subject===this.RDF_NIL)return n}else if(n=this._getContextEndReader(),this._object===this.RDF_NIL)return n;r=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,n=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),n=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===r&&(this._subject=r=this._blankNode()),null===i?null===a.predicate?a.subject=r:a.object=r:this._emit(i,this.RDF_REST,r,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,r,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(r,this.RDF_FIRST,t,this._graph)}return n}_readDataTypeOrLang(e){return this._completeObjectLiteral(e,!1)}_readListItemDataTypeOrLang(e){return this._completeObjectLiteral(e,!0)}_completeLiteral(e){let t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":const r=this._readEntity(e);if(void 0===r)return;t=this._literal(this._literalValue,r),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}_completeSubjectLiteral(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(e,t){const r=this._completeLiteral(e);if(r)return this._object=r.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===r.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(r.token))}_readFormulaTail(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext("formula",e),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(e){let t,r=this._graph;const n=this._subject,i=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,i&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;case"{|":if(!this._supportsRDFStar)return this._error("Unexpected RDF-star syntax",e);const o=this._predicate,a=this._object;this._subject=this._quad(n,o,a,this.DEFAULTGRAPH),t=this._readPredicate;break;case"|}":if("Quad"!==this._subject.termType)return this._error("Unexpected asserted triple closing",e);this._subject=null,t=this._readPunctuation;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(r=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}if(null!==n){const e=this._predicate,t=this._object;i?this._emit(t,e,n,r):this._emit(n,e,t,r)}return t}_readBlankNodePunctuation(e){let t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}_readQuadPunctuation(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}_readPrefix(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}_readPrefixIRI(e){if("IRI"!==e.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,e);const t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}_readBaseIRI(e){const t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}_readNamedGraphLabel(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}_readNamedGraphBlankLabel(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}_readQuantifierList(e){let t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error(`Unexpected ${e.type}`,e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}_getPathReader(e){return this._afterPath=e,this._readPath}_readPath(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const t=this._contextStack,r=t.length&&t[t.length-1];if(r&&"item"===r.type){const t=this._subject;this._restoreContext("item",e),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(e)}}_readForwardPath(e){let t,r;const n=this._blankNode();if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=n):(t=this._object,this._object=n),this._emit(t,r,n,this._graph),this._readPath}_readBackwardPath(e){const t=this._blankNode();let r,n;if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=t):(n=this._object,this._object=t),this._emit(t,r,n,this._graph),this._readPath}_readRDFStarTailOrGraph(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,e):this._readRDFStarTail(e)}_readRDFStarTail(e){if(">>"!==e.type)return this._error(`Expected >> but got ${e.type}`,e);const t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext("<<",e),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}_getContextEndReader(){const e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(e,t,r,n){this._callback(null,this._quad(e,t,r,n||this.DEFAULTGRAPH))}_error(e,t){const r=new Error(`${e} on line ${t.line}.`);r.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(r),this._callback=q}_resolveIRI(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}_resolveRelativeIRI(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}_removeDotSegments(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;const t=e.length;let r="",n=-1,i=-1,o=0,a="/";for(;n=i&&(r=r.substr(0,o)),"/"!==a)return`${r}/${e.substr(n+1)}`;o=n+1}}}a=e[++n]}return r+e.substring(o)}parse(e,t,r){let n,i,o;if(t&&(t.onQuad||t.onPrefix||t.onComment)?(n=t.onQuad,i=t.onPrefix,o=t.onComment):(n=t,i=r),this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${B++}_`,this._prefixCallback=i||q,this._inversePredicate=!1,this._quantified=Object.create(null),!n){const t=[];let r;if(this._callback=(e,n)=>{e?r=e:n&&t.push(n)},this._lexer.tokenize(e).every((e=>this._readCallback=this._readCallback(e))),r)throw r;return t}let a=(e,t)=>{null!==e?(this._callback(e),this._callback=q):this._readCallback&&(this._readCallback=this._readCallback(t))};o&&(this._lexer.comments=!0,a=(e,t)=>{null!==e?(this._callback(e),this._callback=q):this._readCallback&&("comment"===t.type?o(t.value):this._readCallback=this._readCallback(t))}),this._callback=n,this._lexer.tokenize(e,a)}}function q(){}function H(e,t){const r=t.namedNode;e._namedNode=r,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=r(l.rdf.first),e.RDF_REST=r(l.rdf.rest),e.RDF_NIL=r(l.rdf.nil),e.N3_FORALL=r(l.r.forAll),e.N3_FORSOME=r(l.r.forSome),e.ABBREVIATIONS={a:r(l.rdf.type),"=":r(l.owl.sameAs),">":r(l.log.implies)},e.QUANTIFIERS_GRAPH=r("urn:n3:quantifiers")}function $(e){return!!e&&"NamedNode"===e.termType}function G(e){return!!e&&"BlankNode"===e.termType}function K(e){return!!e&&"Literal"===e.termType}function Q(e){return!!e&&"Variable"===e.termType}function z(e){return!!e&&"DefaultGraph"===e.termType}function J(e){return z(e.graph)}function W(e,t){return X({"":e.value||e},t)("")}function X(e,t){const r=Object.create(null);for(const t in e)n(t,e[t]);function n(e,n){if("string"==typeof n){const i=Object.create(null);r[e]=e=>i[e]||(i[e]=t.namedNode(n+e))}else if(!(e in r))throw new Error(`Unknown prefix: ${e}`);return r[e]}return t=t||E,n}H(V.prototype,E);const Y=E.defaultGraph(),{rdf:Z,xsd:ee}=l,te=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,re=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,ne={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class ie extends T{equals(e){return e===this}}class oe{constructor(e,t){if(this._prefixRegex=/$0^/,e&&"function"!=typeof e.write&&(t=e,e=null),t=t||{},this._lists=t.lists,e)this._outputStream=e,this._endStream=void 0===t.end||!!t.end;else{let e="";this._outputStream={write(t,r,n){e+=t,n&&n()},end:t=>{t&&t(null,e)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(t.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=Y,this._prefixIRIs=Object.create(null),t.prefixes&&this.addPrefixes(t.prefixes),t.baseIRI&&(this._baseMatcher=new RegExp(`^${se(t.baseIRI)}${t.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=t.baseIRI.length))}get _inDefaultGraph(){return Y.equals(this._graph)}_write(e,t){this._outputStream.write(e,"utf8",t)}_writeQuad(e,t,r,n,i){try{n.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(Y.equals(n)?"":`${this._encodeIriOrBlank(n)} {\n`)),this._graph=n,this._subject=null),e.equals(this._subject)?t.equals(this._predicate)?this._write(`, ${this._encodeObject(r)}`,i):this._write(`;\n ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=e)} ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i)}catch(e){i&&i(e)}}_writeQuadLine(e,t,r,n,i){delete this._prefixMatch,this._write(this.quadToString(e,t,r,n),i)}quadToString(e,t,r,n){return`${this._encodeSubject(e)} ${this._encodeIriOrBlank(t)} ${this._encodeObject(r)}${n&&n.value?` ${this._encodeIriOrBlank(n)} .\n`:" .\n"}`}quadsToString(e){let t="";for(const r of e)t+=this.quadToString(r.subject,r.predicate,r.object,r.graph);return t}_encodeSubject(e){return"Quad"===e.termType?this._encodeQuad(e):this._encodeIriOrBlank(e)}_encodeIriOrBlank(e){if("NamedNode"!==e.termType)return this._lists&&e.value in this._lists&&(e=this.list(this._lists[e.value])),"id"in e?e.id:`_:${e.value}`;let t=e.value;this._baseMatcher&&this._baseMatcher.test(t)&&(t=t.substr(this._baseLength)),te.test(t)&&(t=t.replace(re,ae));const r=this._prefixRegex.exec(t);return r?r[1]?this._prefixIRIs[r[1]]+r[2]:t:`<${t}>`}_encodeLiteral(e){let t=e.value;if(te.test(t)&&(t=t.replace(re,ae)),e.language)return`"${t}"@${e.language}`;if(this._lineMode){if(e.datatype.value===ee.string)return`"${t}"`}else switch(e.datatype.value){case ee.string:return`"${t}"`;case ee.boolean:if("true"===t||"false"===t)return t;break;case ee.integer:if(/^[+-]?\d+$/.test(t))return t;break;case ee.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case ee.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return`"${t}"^^${this._encodeIriOrBlank(e.datatype)}`}_encodePredicate(e){return e.value===Z.type?"a":this._encodeIriOrBlank(e)}_encodeObject(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}_encodeQuad({subject:e,predicate:t,object:r,graph:n}){return`<<${this._encodeSubject(e)} ${this._encodePredicate(t)} ${this._encodeObject(r)}${z(n)?"":` ${this._encodeIriOrBlank(n)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(e,t,r,n,i){void 0===r?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof n?this._writeQuad(e,t,r,Y,n):this._writeQuad(e,t,r,n||Y,i)}addQuads(e){for(let t=0;t.\n`)}if(r){let e="",t="";for(const r in this._prefixIRIs)e+=e?`|${r}`:r,t+=(t?"|":"")+this._prefixIRIs[r];e=se(e),this._prefixRegex=new RegExp(`^(?:${t})[^/]*$|^(${e})([_a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(r?"\n":"",t)}blank(e,t){let r,n,i=e;switch(void 0===e?i=[]:e.termType?i=[{predicate:e,object:t}]:"length"in e||(i=[e]),n=i.length){case 0:return new ie("[]");case 1:if(r=i[0],!(r.object instanceof ie))return new ie(`[ ${this._encodePredicate(r.predicate)} ${this._encodeObject(r.object)} ]`);default:let t="[";for(let o=0;o{t=null,e(r,n)});if(this._endStream)try{return this._outputStream.end(t)}catch(e){}t&&t()}}function ae(e){let t=ne[e];return void 0===t&&(1===e.length?(t=e.charCodeAt(0).toString(16),t="\\u0000".substr(0,6-t.length)+t):(t=(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)+9216).toString(16),t="\\U00000000".substr(0,10-t.length)+t)),t}function se(e){return e.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}var ce=r(19198);const ue=Symbol("iter");function le(e,t,r=4){if(0===r)return Object.assign(e,t);for(const n in t)e[n]=le(e[n]||Object.create(null),t[n],r-1);return e}function de(e,t,r=4){let n=!1;for(const i in e)if(i in t){const o=0===r?null:de(e[i],t[i],r-1);if(!1!==o)n=n||Object.create(null),n[i]=o;else if(3===r)return!1}return n}function pe(e,t,r=4){let n=!1;for(const i in e)if(i in t){if(0!==r){const o=pe(e[i],t[i],r-1);if(!1!==o)n=n||Object.create(null),n[i]=o;else if(3===r)return!1}}else n=n||Object.create(null),n[i]=0===r?null:le({},e[i],r-1);return n}class he{constructor(e={}){this._id=1,this._ids=Object.create(null),this._ids[""]=1,this._entities=Object.create(null),this._entities[1]="",this._blankNodeIndex=0,this._factory=e.factory||E}_termFromId(e){if("."===e[0]){const t=this._entities,r=e.split(".");return this._factory.quad(this._termFromId(t[r[1]]),this._termFromId(t[r[2]]),this._termFromId(t[r[3]]),r[4]&&this._termFromId(t[r[4]]))}return P(e,this._factory)}_termToNumericId(e){if("Quad"===e.termType){const t=this._termToNumericId(e.subject),r=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object);let i;return t&&r&&n&&(z(e.graph)||(i=this._termToNumericId(e.graph)))&&this._ids[i?`.${t}.${r}.${n}.${i}`:`.${t}.${r}.${n}`]}return this._ids[F(e)]}_termToNewNumericId(e){const t=e&&"Quad"===e.termType?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${z(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:F(e);return this._ids[t]||(this._ids[this._entities[++this._id]=t]=this._id)}createBlankNode(e){let t,r;if(e)for(t=e=`_:${e}`,r=1;this._ids[t];)t=e+r++;else do{t="_:b"+this._blankNodeIndex++}while(this._ids[t]);return this._ids[t]=++this._id,this._entities[this._id]=t,this._factory.blankNode(t.substr(2))}}class fe{constructor(e,t){this._size=0,this._graphs=Object.create(null),t||!e||e[0]||(t=e,e=null),t=t||{},this._factory=t.factory||E,this._entityIndex=t.entityIndex||new he({factory:this._factory}),this._entities=this._entityIndex._entities,this._termFromId=this._entityIndex._termFromId.bind(this._entityIndex),this._termToNumericId=this._entityIndex._termToNumericId.bind(this._entityIndex),this._termToNewNumericId=this._entityIndex._termToNewNumericId.bind(this._entityIndex),e&&this.addQuads(e)}get size(){let e=this._size;if(null!==e)return e;e=0;const t=this._graphs;let r,n;for(const i in t)for(const o in r=t[i].subjects)for(const t in n=r[o])e+=Object.keys(n[t]).length;return this._size=e}_addToIndex(e,t,r,n){const i=e[t]||(e[t]={}),o=i[r]||(i[r]={}),a=n in o;return a||(o[n]=null),!a}_removeFromIndex(e,t,r,n){const i=e[t],o=i[r];delete o[n];for(const e in o)return;delete i[r];for(const e in i)return;delete e[t]}*_findInIndex(e,t,r,n,i,o,a,s){let c,u,l;const d=this._entities,p=this._termFromId(d[s]),h={subject:null,predicate:null,object:null};t&&((c=e,e={})[t]=c[t]);for(const t in e)if(u=e[t]){h[i]=this._termFromId(d[t]),r&&((c=u,u={})[r]=c[r]);for(const e in u)if(l=u[e]){h[o]=this._termFromId(d[e]);const t=n?n in l?[n]:[]:Object.keys(l);for(let e=0;e{r in t||(t[r]=!0,e(this._termFromId(this._entities[r],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,t,r,n){t||(n=e.graph,r=e.object,t=e.predicate,e=e.subject),n=n?this._termToNewNumericId(n):1;let i=this._graphs[n];return i||(i=this._graphs[n]={subjects:{},predicates:{},objects:{}},Object.freeze(i)),e=this._termToNewNumericId(e),t=this._termToNewNumericId(t),r=this._termToNewNumericId(r),!!this._addToIndex(i.subjects,e,t,r)&&(this._addToIndex(i.predicates,t,r,e),this._addToIndex(i.objects,r,e,t),this._size=null,!0)}addQuads(e){for(let t=0;t{this.addQuad(e)})),e}removeQuad(e,t,r,n){t||({subject:e,predicate:t,object:r,graph:n}=e),n=n?this._termToNumericId(n):1;const i=this._graphs;let o,a,s;if(!((e=e&&this._termToNumericId(e))&&(t=t&&this._termToNumericId(t))&&(r=r&&this._termToNumericId(r))&&(o=i[n])&&(a=o.subjects[e])&&(s=a[t])&&r in s))return!1;for(e in this._removeFromIndex(o.subjects,e,t,r),this._removeFromIndex(o.predicates,t,r,e),this._removeFromIndex(o.objects,r,e,t),null!==this._size&&this._size--,o.subjects)return!0;return delete i[n],!0}removeQuads(e){for(let t=0;t{this.removeQuad(e)})),e}removeMatches(e,t,r,n){const i=new ce.Readable({objectMode:!0}),o=this.readQuads(e,t,r,n);return i._read=e=>{for(;--e>=0;){const{done:e,value:t}=o.next();if(e)return void i.push(null);i.push(t)}},this.remove(i)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,t,r,n){return[...this.readQuads(e,t,r,n)]}*readQuads(e,t,r,n){const i=this._getGraphs(n);let o,a,s,c;if(!(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r))))for(const e in i)(o=i[e])&&(a?c?yield*this._findInIndex(o.objects,c,a,s,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,a,s,null,"subject","predicate","object",e):s?yield*this._findInIndex(o.predicates,s,c,null,"predicate","object","subject",e):c?yield*this._findInIndex(o.objects,c,null,null,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",e))}match(e,t,r,n){return new ge(this,e,t,r,n,{entityIndex:this._entityIndex})}countQuads(e,t,r,n){const i=this._getGraphs(n);let o,a,s,c,u=0;if(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r)))return 0;for(const n in i)(o=i[n])&&(u+=e?r?this._countInIndex(o.objects,c,a,s):this._countInIndex(o.subjects,a,s,c):t?this._countInIndex(o.predicates,s,c,a):this._countInIndex(o.objects,c,a,s));return u}forEach(e,t,r,n,i){this.some((t=>(e(t,this),!1)),t,r,n,i)}every(e,t,r,n,i){return!this.some((t=>!e(t,this)),t,r,n,i)}some(e,t,r,n,i){for(const o of this.readQuads(t,r,n,i))if(e(o))return!0;return!1}getSubjects(e,t,r){const n=[];return this.forSubjects((e=>{n.push(e)}),e,t,r),n}forSubjects(e,t,r,n){const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.predicates,a,s,e):this._loopByKey1(o.subjects,a,e):s?this._loopByKey0(o.objects,s,e):this._loop(o.subjects,e))}getPredicates(e,t,r){const n=[];return this.forPredicates((e=>{n.push(e)}),e,t,r),n}forPredicates(e,t,r,n){const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.objects,s,a,e):this._loopByKey0(o.subjects,a,e):s?this._loopByKey1(o.predicates,s,e):this._loop(o.predicates,e))}getObjects(e,t,r){const n=[];return this.forObjects((e=>{n.push(e)}),e,t,r),n}forObjects(e,t,r,n){const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.subjects,a,s,e):this._loopByKey1(o.objects,a,e):s?this._loopByKey0(o.predicates,s,e):this._loop(o.objects,e))}getGraphs(e,t,r){const n=[];return this.forGraphs((e=>{n.push(e)}),e,t,r),n}forGraphs(e,t,r,n){for(const i in this._graphs)this.some((t=>(e(t.graph),!0)),t,r,n,this._termFromId(this._entities[i]))}createBlankNode(e){return this._entityIndex.createBlankNode(e)}extractLists({remove:e=!1,ignoreErrors:t=!1}={}){const r={},n=t?()=>!0:(e,t)=>{throw new Error(`${e.value} ${t}`)},i=this.getQuads(null,l.rdf.rest,l.rdf.nil,null),o=e?[...i]:[];return i.forEach((t=>{const i=[];let a,s,c=!1;const u=t.graph;let d=t.subject;for(;d&&!c;){const e=this.getQuads(null,null,d,null),t=this.getQuads(d,null,null,null);let r,p=null,h=null,f=null;for(let i=0;ithis.has(e)));const t=this._graphs,r=e._graphs;let n,i,o,a,s;for(const e in r){if(!(n=t[e]))return!1;n=n.subjects;for(const t in i=r[e].subjects){if(!(o=n[t]))return!1;for(const e in a=i[t]){if(!(s=o[e]))return!1;for(const t in a[e])if(!(t in s))return!1}}}return!0}deleteMatches(e,t,r,n){for(const i of this.match(e,t,r,n))this.removeQuad(i);return this}difference(e){if(e&&e instanceof ge&&(e=e.filtered),e===this)return new fe({entityIndex:this._entityIndex});if(e instanceof fe&&e._entityIndex===this._entityIndex){const t=new fe({entityIndex:this._entityIndex}),r=pe(this._graphs,e._graphs);return r&&(t._graphs=r,t._size=null),t}return this.filter((t=>!e.has(t)))}equals(e){return e instanceof ge&&(e=e.filtered),e===this||this.size===e.size&&this.contains(e)}filter(e){const t=new fe({entityIndex:this._entityIndex});for(const r of this)e(r,this)&&t.add(r);return t}intersection(e){if(e instanceof ge&&(e=e.filtered),e===this){const e=new fe({entityIndex:this._entityIndex});return e._graphs=le(Object.create(null),this._graphs),e._size=this._size,e}if(e instanceof fe&&this._entityIndex===e._entityIndex){const t=new fe({entityIndex:this._entityIndex}),r=de(e._graphs,this._graphs);return r&&(t._graphs=r,t._size=null),t}return this.filter((t=>e.has(t)))}map(e){const t=new fe({entityIndex:this._entityIndex});for(const r of this)t.add(e(r,this));return t}reduce(e,t){const r=this.readQuads();let n=void 0===t?r.next().value:t;for(const t of r)n=e(n,t,this);return n}toArray(){return this.getQuads()}toCanonical(){throw new Error("not implemented")}toStream(){return this.match()}toString(){return(new oe).quadsToString(this)}union(e){const t=new fe({entityIndex:this._entityIndex});return t._graphs=le(Object.create(null),this._graphs),t._size=this._size,t.addAll(e),t}*[Symbol.iterator](){yield*this.readQuads()}}function ye(e,t,r=0){const n=t[r];if(n&&!(n in e))return!1;let i=!1;for(const o in n?{[n]:e[n]}:e){const n=2===r?null:ye(e[o],t,r+1);!1!==n&&(i=i||Object.create(null),i[o]=n)}return i}class ge extends ce.Readable{constructor(e,t,r,n,i,o){super({objectMode:!0}),Object.assign(this,{n3Store:e,subject:t,predicate:r,object:n,graph:i,options:o})}get filtered(){if(!this._filtered){const{n3Store:e,graph:t,object:r,predicate:n,subject:i}=this,o=this._filtered=new fe({factory:e._factory,entityIndex:this.options.entityIndex});let a,s,c;if(i&&!(a=o._termToNumericId(i))||n&&!(s=o._termToNumericId(n))||r&&!(c=o._termToNumericId(r)))return o;const u=e._getGraphs(t);for(const e in u){let t,r,n;!a&&s?(r=ye(u[e].predicates,[s,c,a]))&&(t=ye(u[e].subjects,[a,s,c]),n=ye(u[e].objects,[c,a,s])):c?(n=ye(u[e].objects,[c,a,s]))&&(t=ye(u[e].subjects,[a,s,c]),r=ye(u[e].predicates,[s,c,a])):(t=ye(u[e].subjects,[a,s,c]))&&(r=ye(u[e].predicates,[s,c,a]),n=ye(u[e].objects,[c,a,s])),t&&(o._graphs[e]={subjects:t,predicates:r,objects:n})}o._size=null}return this._filtered}get size(){return this.filtered.size}_read(e){e>0&&!this[ue]&&(this[ue]=this[Symbol.iterator]());const t=this[ue];for(;--e>=0;){const{done:e,value:r}=t.next();if(e)return void this.push(null);this.push(r)}}addAll(e){return this.filtered.addAll(e)}contains(e){return this.filtered.contains(e)}deleteMatches(e,t,r,n){return this.filtered.deleteMatches(e,t,r,n)}difference(e){return this.filtered.difference(e)}equals(e){return this.filtered.equals(e)}every(e,t,r,n,i){return this.filtered.every(e,t,r,n,i)}filter(e){return this.filtered.filter(e)}forEach(e,t,r,n,i){return this.filtered.forEach(e,t,r,n,i)}import(e){return this.filtered.import(e)}intersection(e){return this.filtered.intersection(e)}map(e){return this.filtered.map(e)}some(e,t,r,n,i){return this.filtered.some(e,t,r,n,i)}toCanonical(){return this.filtered.toCanonical()}toStream(){return this._filtered?this._filtered.toStream():this.n3Store.match(this.subject,this.predicate,this.object,this.graph)}union(e){return this._filtered?this._filtered.union(e):this.n3Store.match(this.subject,this.predicate,this.object,this.graph).addAll(e)}toArray(){return this._filtered?this._filtered.toArray():this.n3Store.getQuads(this.subject,this.predicate,this.object,this.graph)}reduce(e,t){return this.filtered.reduce(e,t)}toString(){return(new oe).quadsToString(this)}add(e){return this.filtered.add(e)}delete(e){return this.filtered.delete(e)}has(e){return this.filtered.has(e)}match(e,t,r,n){return new ge(this.filtered,e,t,r,n,this.options)}*[Symbol.iterator](){yield*this._filtered||this.n3Store.readQuads(this.subject,this.predicate,this.object,this.graph)}}class me{dataset(e){return new fe(e)}}function be(e){const t=[];for(const{subject:r,object:n}of e.match(null,E.namedNode("http://www.w3.org/2000/10/swap/log#implies"),null,E.defaultGraph())){const i=[...e.match(null,null,null,r)],o=[...e.match(null,null,null,n)];t.push({premise:i,conclusion:o})}return t}class _e{constructor(e){this._store=e}_add(e,t,r,n,i){this._store._addToIndex(n.subjects,e,t,r)&&(this._store._addToIndex(n.predicates,t,r,e),this._store._addToIndex(n.objects,r,e,t),i())}_evaluatePremise(e,t,r,n=0){let i,o,a,s,c;const[u,l,d]=e.premise[n].value,p=t[e.premise[n].content],h=!(a=u.value);for(a in h?p:{[a]:p[a]})if(s=p[a]){for(a in h&&(u.value=Number(a)),i=!(a=l.value),i?s:{[a]:s[a]})if(c=s[a]){for(a in i&&(l.value=Number(a)),o=!(a=d.value),o?c:{[a]:c[a]})o&&(d.value=Number(a)),n===e.premise.length-1?e.conclusion.forEach((e=>{this._add(e.subject.value,e.predicate.value,e.object.value,t,(()=>{r(e)}))})):this._evaluatePremise(e,t,r,n+1);o&&(d.value=null)}i&&(l.value=null)}h&&(u.value=null)}_evaluateRules(e,t,r){for(let n=0;n{r.push([e.subject.value,e.predicate.value,e.object.value,t])}))}const i=e=>{e.forEach((e=>{this._add(e.subject.value,e.predicate.value,e.object.value,t,(()=>{n(e)}))}))};let o;for(this._evaluateRules(e,t,n);void 0!==(o=r.pop());){const[e,r,a,s]=o,c=s.basePremise.subject.value;c||(s.basePremise.subject.value=e);const u=s.basePremise.predicate.value;u||(s.basePremise.predicate.value=r);const l=s.basePremise.object.value;l||(s.basePremise.object.value=a),0===s.premise.length?i(s.conclusion):this._evaluatePremise(s,t,n),c||(s.basePremise.subject.value=null),u||(s.basePremise.predicate.value=null),l||(s.basePremise.object.value=null)}}_createRule({premise:e,conclusion:t}){const r={},n=e=>"Variable"===e.termType?r[e.value]=r[e.value]||{}:{value:this._store._termToNewNumericId(e)},i=e=>({subject:n(e.subject),predicate:n(e.predicate),object:n(e.object)});return{premise:e.map((e=>i(e))),conclusion:t.map((e=>i(e))),variables:Object.values(r)}}reason(e){Array.isArray(e)||(e=be(e)),e=e.map((e=>this._createRule(e)));for(const t of e)for(const r of e)for(let e=0;e{e.value=null}))}}for(const t of e){const e=new Set;t.premise=t.premise.map((t=>ve(t,e)))}const t=this._store._getGraphs();for(const r in t)this._reasonGraphNaive(e,t[r]);this._store._size=null}}function ve({subject:e,predicate:t,object:r},n){const i=e.value||n.has(e)||(n.add(e),!1),o=t.value||n.has(t)||(n.add(t),!1),a=r.value||n.has(r)||(n.add(r),!1);return!i&&o?{content:"predicates",value:[t,r,e]}:a?{content:"objects",value:[r,e,t]}:{content:"subjects",value:[e,t,r]}}function we(e,t){return null===e.value&&(e.value=t.value),e.value===t.value}class Se extends ce.Transform{constructor(e){super({decodeStrings:!0}),this._readableState.objectMode=!0;const t=new V(e);let r,n;const i={onQuad:(e,t)=>{e&&this.emit("error",e)||t&&this.push(t)},onPrefix:(e,t)=>{this.emit("prefix",e,t)}};e&&e.comments&&(i.onComment=e=>{this.emit("comment",e)}),t.parse({on:(e,t)=>{switch(e){case"data":r=t;break;case"end":n=t}}},i),this._transform=(e,t,n)=>{r(e),n()},this._flush=e=>{n(),e()}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),this}}class Ee extends ce.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0});const t=this._writer=new oe({write:(e,t,r)=>{this.push(e),r&&r()},end:e=>{this.push(null),e&&e()}},e);this._transform=(e,r,n)=>{t.addQuad(e,n)},this._flush=e=>{t.end(e)}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),e.on("prefix",((e,t)=>{this._writer.addPrefix(e,t)})),this}}const Te={Lexer:m,Parser:V,Writer:oe,Store:fe,StoreFactory:me,EntityIndex:he,StreamParser:Se,StreamWriter:Ee,Util:n,Reasoner:_e,DataFactory:E,Term:T,NamedNode:O,Literal:x,BlankNode:A,Variable:I,DefaultGraph:R,Quad:D,Triple:D,termFromId:P,termToId:F}},51915:e=>{function t(e){this._options=e=e||{};var t=e.prefixes||{};this._prefixByIri={};var r=[];for(var n in t){var i=t[n];a(i)&&(this._prefixByIri[i]=n,r.push(i))}var o=r.join("|").replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&");this._prefixRegex=new RegExp("^("+o+")([a-zA-Z][\\-_a-zA-Z0-9]*)$"),this._usedPrefixes={},this._sparqlStar=e.sparqlStar,this._indent=a(e.indent)?e.indent:" ",this._newline=a(e.newline)?e.newline:"\n",this._explicitDatatype=Boolean(e.explicitDatatype)}t.prototype.toQuery=function(e){var t="";return e.queryType&&(t+=e.queryType.toUpperCase()+" "),e.reduced&&(t+="REDUCED "),e.distinct&&(t+="DISTINCT "),e.variables?t+=u(e.variables,void 0,(function(e){return/^[?$]/.test(e)?e:s(e)?this.toEntity(e):"("+this.toExpression(e.expression)+" AS "+o(e.variable)+")"}),this)+" ":e.template&&(t+=this.group(e.template,!0)+this._newline),e.from&&(t+=this.graphs("FROM ",e.from.default)+this.graphs("FROM NAMED ",e.from.named)),e.where&&(t+="WHERE "+this.group(e.where,!0)+this._newline),e.updates&&(t+=u(e.updates,";"+this._newline,this.toUpdate,this)),e.group&&(t+="GROUP BY "+u(e.group,void 0,(function(e){var t=s(e.expression)?this.toEntity(e.expression):"("+this.toExpression(e.expression)+")";return e.variable?"("+t+" AS "+o(e.variable)+")":t}),this)+this._newline),e.having&&(t+="HAVING ("+u(e.having,void 0,this.toExpression,this)+")"+this._newline),e.order&&(t+="ORDER BY "+u(e.order,void 0,(function(e){var t="("+this.toExpression(e.expression)+")";return e.descending?"DESC "+t:t}),this)+this._newline),e.offset&&(t+="OFFSET "+e.offset+this._newline),e.limit&&(t+="LIMIT "+e.limit+this._newline),e.values&&(t+=this.values(e)),(t=this.baseAndPrefixes(e)+t).trim()},t.prototype.baseAndPrefixes=function(e){var t=e.base?"BASE <"+e.base+">"+this._newline:"",r="";for(var n in e.prefixes)(this._options.allPrefixes||this._usedPrefixes[n])&&(r+="PREFIX "+n+": <"+e.prefixes[n]+">"+this._newline);return t+r},t.prototype.toPattern=function(e){var t=e.type||e instanceof Array&&"array"||(e.subject&&e.predicate&&e.object?"triple":"");if(!(t in this))throw new Error("Unknown entry type: "+t);return this[t](e)},t.prototype.triple=function(e){return this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+"."},t.prototype.array=function(e){return u(e,this._newline,this.toPattern,this)},t.prototype.bgp=function(e){return this.encodeTriples(e.triples)},t.prototype.encodeTriples=function(e){if(!e.length)return"";for(var t=[],r=void 0,n=void 0,i=0;i":case">=":case"<=":case"&&":case"||":case"=":case"!=":case"+":case"-":case"*":case"/":return(s(i[0])?this.toEntity(i[0]):"("+this.toExpression(i[0])+")")+" "+t+" "+(s(i[1])?this.toEntity(i[1]):"("+this.toExpression(i[1])+")");case"!":return"!("+this.toExpression(i[0])+")";case"uplus":return"+("+this.toExpression(i[0])+")";case"uminus":return"-("+this.toExpression(i[0])+")";case"notin":t="NOT IN";case"in":return this.toExpression(i[0])+" "+t+"("+(a(i[1])?i[1]:u(i[1],", ",this.toExpression,this))+")";case"notexists":t="NOT EXISTS";case"exists":return t+" "+this.group(i[0],!0);default:return t+"("+u(i,", ",this.toExpression,this)+")"}default:throw new Error("Unknown expression type: "+e.type)}},t.prototype.toEntity=function(e){if(s(e))switch(e.termType){case"Wildcard":return"*";case"Variable":return o(e);case"BlankNode":return"_:"+e.value;case"Literal":var t=e.value||"",i=e.language||"",a=e.datatype;if(e='"'+t.replace(r,n)+'"',i)e+="@"+i;else if(a){if(!this._explicitDatatype)switch(a.value){case"http://www.w3.org/2001/XMLSchema#string":return e;case"http://www.w3.org/2001/XMLSchema#integer":if(/^\d+$/.test(t))return t+" "}e+="^^"+this.encodeIRI(a.value)}return e;case"Quad":if(!this._sparqlStar)throw new Error("SPARQL* support is not enabled");return e.graph&&"DefaultGraph"!==e.graph.termType?"<< GRAPH "+this.toEntity(e.graph)+" { "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" } >>":"<< "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" >>";default:return this.encodeIRI(e.value)}else{var c=e.items.map(this.toEntity,this),u=e.pathType;switch(u){case"^":case"!":return u+c[0];case"*":case"+":case"?":return"("+c[0]+u+")";default:return"("+c.join(u)+")"}}};var r=/["\\\t\n\r\b\f]/g,n=function(e){return i[e]},i={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};function o(e){return"?"+e.value}function a(e){return"string"==typeof e}function s(e){return"string"==typeof e.termType}function c(e,t){if(!e||!s(e))return!1;if(!t||!s(t))return!1;if(e.termType!==t.termType)return!1;switch(e.termType){case"Literal":return e.value===t.value&&e.language===t.language&&c(e.datatype,t.datatype);case"Quad":return c(e.subject,t.subject)&&c(e.predicate,t.predicate)&&c(e.object,t.object)&&c(e.graph,t.graph);default:return e.value===t.value}}function u(e,t,r,n){return e.map(r,n).join(a(t)?t:" ")}t.prototype.encodeIRI=function(e){var t=this._prefixRegex.exec(e);if(t){var r=this._prefixByIri[t[1]];return this._usedPrefixes[r]=!0,r+":"+t[2]}return"<"+e+">"},t.prototype.toUpdate=function(e){switch(e.type||e.updateType){case"load":return"LOAD"+(e.source?" "+this.toEntity(e.source):"")+(e.destination?" INTO GRAPH "+this.toEntity(e.destination):"");case"insert":return"INSERT DATA "+this.group(e.insert,!0);case"delete":return"DELETE DATA "+this.group(e.delete,!0);case"deletewhere":return"DELETE WHERE "+this.group(e.delete,!0);case"insertdelete":return(e.graph?"WITH "+this.toEntity(e.graph)+this._newline:"")+(e.delete.length?"DELETE "+this.group(e.delete,!0)+this._newline:"")+(e.insert.length?"INSERT "+this.group(e.insert,!0)+this._newline:"")+(e.using?this.graphs("USING ",e.using.default):"")+(e.using?this.graphs("USING NAMED ",e.using.named):"")+"WHERE "+this.group(e.where,!0);case"add":case"copy":case"move":return e.type.toUpperCase()+" "+(e.silent?"SILENT ":"")+(e.source.default?"DEFAULT":this.toEntity(e.source.name))+" TO "+this.toEntity(e.destination.name);case"create":case"clear":case"drop":return e.type.toUpperCase()+(e.silent?" SILENT ":" ")+(e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.all?"ALL":"GRAPH "+this.toEntity(e.graph.name));default:throw new Error("Unknown update query type: "+e.type)}},t.prototype.indent=function(e){return e.replace(/^/gm,this._indent)},e.exports={Generator:function(e={}){return{stringify:function(r){var n=Object.create(e);return n.prefixes=r.prefixes,new t(n).toQuery(r)},createGenerator:function(){return new t(e)}}}}},72663:(e,t,r)=>{var n=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[6,12,13,15,16,24,32,36,41,45,100,110,113,115,116,123,126,131,197,224,229,308,329,330,331,332,333],n=[2,247],i=[100,110,113,115,116,123,126,131,329,330,331,332,333],o=[2,409],a=[1,18],s=[1,27],c=[13,16,45,197,224,229,308],u=[28,29,53],l=[28,53],d=[1,42],p=[1,45],h=[1,41],f=[1,44],y=[123,126],g=[1,67],m=[39,45,87],b=[13,16,45,197,224,308],_=[1,87],v=[2,281],w=[1,86],S=[13,16,45,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],E=[6,28,29,53,63,70,73,81,83,85],T=[6,13,16,28,29,53,63,70,73,81,83,85,87,308],O=[6,13,16,28,29,45,53,63,70,73,81,82,83,85,87,89,197,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314],x=[6,13,16,28,29,31,39,45,47,48,53,63,70,73,81,82,83,85,87,89,109,112,121,123,126,128,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,337,338,340,341,342,343,344,345,346],A=[13,16,308],I=[112,132,327,334],R=[13,16,112,132,308],P=[1,111],F=[1,117],D=[112,132,327,328,334],N=[13,16,112,132,308,328],j=[28,29,45,53,87],C=[1,138],M=[1,151],k=[1,128],L=[1,127],U=[1,129],B=[1,140],V=[1,141],q=[1,142],H=[1,143],$=[1,144],G=[1,145],K=[1,147],Q=[1,148],z=[2,457],J=[1,158],W=[1,159],X=[1,160],Y=[1,152],Z=[1,153],ee=[1,156],te=[1,171],re=[1,172],ne=[1,173],ie=[1,174],oe=[1,175],ae=[1,176],se=[1,167],ce=[1,168],ue=[1,169],le=[1,170],de=[1,157],pe=[1,166],he=[1,161],fe=[1,162],ye=[1,163],ge=[1,164],me=[1,165],be=[6,13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],_e=[1,195],ve=[6,31,73,81,83,85],we=[2,285],Se=[1,199],Ee=[1,201],Te=[6,31,70,73,81,83,85],Oe=[2,283],xe=[1,207],Ae=[1,218],Ie=[1,223],Re=[1,219],Pe=[1,225],Fe=[1,226],De=[1,224],Ne=[6,63,70,73,81,83,85],je=[1,236],Ce=[2,334],Me=[1,243],ke=[1,241],Le=[6,193],Ue=[2,349],Be=[2,339],Ve=[28,128],qe=[47,48,193,272],He=[47,48,193,242,272],$e=[47,48,193,242,246,272],Ge=[47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,341,342,343,344,345,346],Ke=[39,47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,338,341,342,343,344,345,346],Qe=[1,271],ze=[1,270],Je=[6,13,16,29,31,39,45,47,48,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,338,341,342,343,344,345,346,347,348,349,350,351],We=[1,281],Xe=[1,280],Ye=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],Ze=[45,89],et=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],tt=[13,16,31,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rt=[31,89],nt=[48,87],it=[6,13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338],ot=[6,13,16,39,45,48,82,87,89,231,263,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338,340],at=[1,313],st=[6,85],ct=[6,31,81,83,85],ut=[2,361],lt=[2,353],dt=[1,343],pt=[31,112,335],ht=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],ft=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335],yt=[6,109,193],gt=[31,112],mt=[13,16,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],bt=[1,390],_t=[1,391],vt=[13,16,87,197,308,314],wt=[13,16,39,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],St=[1,417],Et=[1,418],Tt=[13,16,48,197,229,308],Ot=[6,31,85],xt=[6,13,16,31,45,73,81,83,85,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],At=[6,13,16,29,31,45,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,231,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,346,347,348,349,350,351],It=[29,31,85,112,159,160,161,163,164],Rt=[1,443],Pt=[1,444],Ft=[1,449],Dt=[31,112,193,232,318,335],Nt=[13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],jt=[13,16,31,45,48,82,87,89,112,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Ct=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Mt=[13,16,31,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],kt=[31,45],Lt=[1,507],Ut=[1,508],Bt=[6,13,16,29,31,39,45,47,48,63,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,336,338,341,342,343,344,345,346,347,348,349,350,351],Vt=[29,31,85,112,159,160,161,163,164,335],qt=[6,13,16,31,45,70,73,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],Ht=[13,16,31,45,48,82,87,89,112,193,197,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],$t=[2,352],Gt=[13,16,197,308,314],Kt=[1,565],Qt=[6,13,16,31,45,76,78,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],zt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],Jt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],Wt=[13,16,87,308],Xt=[2,364],Yt=[29,31,85,112,159,160,161,163,164,193,232,318,335],Zt=[31,112,193,232,272,318,335],er=[2,359],tr=[13,16,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rr=[29,31,85,112,159,160,161,163,164,193,232,272,318,335],nr=[13,16,31,45,82,87,89,112,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],ir=[2,347],or={trace:function(){},yy:{},symbols_:{error:2,QueryOrUpdate:3,Prologue:4,QueryOrUpdate_group0:5,EOF:6,Query:7,Qry:8,Query_option0:9,Prologue_repetition0:10,BaseDecl:11,BASE:12,IRIREF:13,PrefixDecl:14,PREFIX:15,PNAME_NS:16,SelectClauseWildcard:17,Qry_repetition0:18,WhereClause:19,SolutionModifierNoGroup:20,SelectClauseVars:21,Qry_repetition1:22,SolutionModifier:23,CONSTRUCT:24,ConstructTemplate:25,Qry_repetition2:26,Qry_repetition3:27,WHERE:28,"{":29,Qry_option0:30,"}":31,DESCRIBE:32,Qry_group0:33,Qry_repetition4:34,Qry_option1:35,ASK:36,Qry_repetition5:37,SelectClauseBase:38,"*":39,SelectClauseVars_repetition_plus0:40,SELECT:41,SelectClauseBase_option0:42,SelectClauseItem:43,Var:44,"(":45,Expression:46,AS:47,")":48,SubSelect:49,SubSelect_option0:50,SubSelect_option1:51,DatasetClause:52,FROM:53,DatasetClause_option0:54,iri:55,WhereClause_option0:56,GroupGraphPattern:57,SolutionModifier_option0:58,SolutionModifierNoGroup_option0:59,SolutionModifierNoGroup_option1:60,SolutionModifierNoGroup_option2:61,GroupClause:62,GROUP:63,BY:64,GroupClause_repetition_plus0:65,GroupCondition:66,BuiltInCall:67,FunctionCall:68,HavingClause:69,HAVING:70,HavingClause_repetition_plus0:71,OrderClause:72,ORDER:73,OrderClause_repetition_plus0:74,OrderCondition:75,ASC:76,BrackettedExpression:77,DESC:78,Constraint:79,LimitOffsetClauses:80,LIMIT:81,INTEGER:82,OFFSET:83,ValuesClause:84,VALUES:85,InlineData:86,VAR:87,InlineData_repetition0:88,NIL:89,InlineData_repetition1:90,InlineData_repetition_plus2:91,InlineData_repetition3:92,DataBlock:93,DataBlockValueList:94,DataBlockValueList_repetition_plus0:95,Update:96,Update_repetition0:97,Update1:98,Update_option0:99,LOAD:100,Update1_option0:101,Update1_option1:102,Update1_group0:103,Update1_option2:104,GraphRefAll:105,Update1_group1:106,Update1_option3:107,GraphOrDefault:108,TO:109,CREATE:110,Update1_option4:111,GRAPH:112,INSERTDATA:113,QuadPattern:114,DELETEDATA:115,DELETEWHERE:116,Update1_option5:117,InsertDeleteClause:118,Update1_repetition0:119,IntoGraphClause:120,INTO:121,GraphRef:122,DELETE:123,InsertDeleteClause_option0:124,InsertClause:125,INSERT:126,UsingClause:127,USING:128,UsingClause_option0:129,WithClause:130,WITH:131,DEFAULT:132,GraphOrDefault_option0:133,GraphRefAll_group0:134,Quads:135,Quads_option0:136,Quads_repetition0:137,QuadsNotTriples:138,VarOrIri:139,QuadsNotTriples_option0:140,QuadsNotTriples_option1:141,QuadsNotTriples_option2:142,TriplesTemplate:143,TriplesTemplate_repetition0:144,TriplesSameSubject:145,TriplesTemplate_option0:146,GroupGraphPatternSub:147,GroupGraphPatternSub_option0:148,GroupGraphPatternSub_repetition0:149,GroupGraphPatternSubTail:150,GraphPatternNotTriples:151,GroupGraphPatternSubTail_option0:152,GroupGraphPatternSubTail_option1:153,TriplesBlock:154,TriplesBlock_repetition0:155,TriplesSameSubjectPath:156,TriplesBlock_option0:157,GroupOrUnionGraphPattern:158,OPTIONAL:159,MINUS:160,SERVICE:161,GraphPatternNotTriples_option0:162,FILTER:163,BIND:164,InlineDataOneVar:165,InlineDataFull:166,InlineDataOneVar_repetition0:167,InlineDataFull_repetition0:168,InlineDataFull_repetition_plus1:169,InlineDataFull_repetition2:170,DataBlockValue:171,Literal:172,QuotedTriple:173,UNDEF:174,GroupOrUnionGraphPattern_repetition0:175,ArgList:176,ArgList_option0:177,ArgList_repetition0:178,ExpressionList:179,ExpressionList_repetition0:180,ConstructTemplate_option0:181,ConstructTriples:182,ConstructTriples_repetition0:183,ConstructTriples_option0:184,VarOrTermOrQuotedTP:185,PropertyListNotEmpty:186,TriplesNode:187,PropertyList:188,PropertyList_option0:189,VerbObjectList:190,PropertyListNotEmpty_repetition0:191,SemiOptionalVerbObjectList:192,";":193,SemiOptionalVerbObjectList_option0:194,Verb:195,ObjectList:196,a:197,ObjectList_repetition0:198,Object:199,GraphNode:200,Object_option0:201,PropertyListPathNotEmpty:202,TriplesNodePath:203,TriplesSameSubjectPath_option0:204,O:205,PropertyListPathNotEmpty_repetition0:206,PropertyListPathNotEmptyTail:207,O_group0:208,ObjectListPath:209,ObjectListPath_repetition0:210,ObjectPath:211,GraphNodePath:212,ObjectPath_option0:213,Path:214,Path_repetition0:215,PathSequence:216,PathSequence_repetition0:217,PathEltOrInverse:218,PathElt:219,PathPrimary:220,PathElt_option0:221,PathEltOrInverse_option0:222,IriOrA:223,"!":224,PathNegatedPropertySet:225,PathOneInPropertySet:226,PathNegatedPropertySet_repetition0:227,PathNegatedPropertySet_option0:228,"^":229,TriplesNode_repetition_plus0:230,"[":231,"]":232,TriplesNodePath_repetition_plus0:233,VarOrTermOrQuotedTPExpr:234,VarOrTerm:235,GraphTerm:236,BlankNode:237,ConditionalOrExpression:238,ConditionalAndExpression:239,ConditionalOrExpression_repetition0:240,ConditionalOrExpressionTail:241,"||":242,RelationalExpression:243,ConditionalAndExpression_repetition0:244,ConditionalAndExpressionTail:245,"&&":246,NumericExpression:247,RelationalExpression_group0:248,RelationalExpression_option0:249,IN:250,MultiplicativeExpression:251,NumericExpression_repetition0:252,AdditiveExpressionTail:253,AdditiveExpressionTail_group0:254,NumericLiteralPositive:255,AdditiveExpressionTail_repetition0:256,NumericLiteralNegative:257,AdditiveExpressionTail_repetition1:258,UnaryExpression:259,MultiplicativeExpression_repetition0:260,MultiplicativeExpressionTail:261,MultiplicativeExpressionTail_group0:262,"+":263,PrimaryExpression:264,"-":265,ExprQuotedTP:266,Aggregate:267,FUNC_ARITY0:268,FUNC_ARITY1:269,FUNC_ARITY1_SPARQL_STAR:270,FUNC_ARITY2:271,",":272,FUNC_ARITY3:273,FUNC_ARITY3_SPARQL_STAR:274,BuiltInCall_group0:275,BOUND:276,BNODE:277,BuiltInCall_option0:278,EXISTS:279,COUNT:280,Aggregate_option0:281,Aggregate_group0:282,FUNC_AGGREGATE:283,Aggregate_option1:284,GROUP_CONCAT:285,Aggregate_option2:286,Aggregate_option3:287,GroupConcatSeparator:288,SEPARATOR:289,"=":290,String:291,LANGTAG:292,"^^":293,DECIMAL:294,DOUBLE:295,BOOLEAN:296,INTEGER_POSITIVE:297,DECIMAL_POSITIVE:298,DOUBLE_POSITIVE:299,INTEGER_NEGATIVE:300,DECIMAL_NEGATIVE:301,DOUBLE_NEGATIVE:302,STRING_LITERAL1:303,STRING_LITERAL2:304,STRING_LITERAL_LONG1:305,STRING_LITERAL_LONG2:306,PrefixedName:307,PNAME_LN:308,BLANK_NODE_LABEL:309,ANON:310,QuotedTP:311,"<<":312,qtSubjectOrObject:313,">>":314,DataValueTerm:315,AnnotationPattern:316,"{|":317,"|}":318,AnnotationPatternPath:319,ExprVarOrTerm:320,QueryOrUpdate_group0_option0:321,Prologue_repetition0_group0:322,Qry_group0_repetition_plus0:323,SelectClauseBase_option0_group0:324,DISTINCT:325,REDUCED:326,NAMED:327,SILENT:328,CLEAR:329,DROP:330,ADD:331,MOVE:332,COPY:333,ALL:334,".":335,UNION:336,"|":337,"/":338,PathElt_option0_group0:339,"?":340,"!=":341,"<":342,">":343,"<=":344,">=":345,NOT:346,CONCAT:347,COALESCE:348,SUBSTR:349,REGEX:350,REPLACE:351,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",12:"BASE",13:"IRIREF",15:"PREFIX",16:"PNAME_NS",24:"CONSTRUCT",28:"WHERE",29:"{",31:"}",32:"DESCRIBE",36:"ASK",39:"*",41:"SELECT",45:"(",47:"AS",48:")",53:"FROM",63:"GROUP",64:"BY",70:"HAVING",73:"ORDER",76:"ASC",78:"DESC",81:"LIMIT",82:"INTEGER",83:"OFFSET",85:"VALUES",87:"VAR",89:"NIL",100:"LOAD",109:"TO",110:"CREATE",112:"GRAPH",113:"INSERTDATA",115:"DELETEDATA",116:"DELETEWHERE",121:"INTO",123:"DELETE",126:"INSERT",128:"USING",131:"WITH",132:"DEFAULT",159:"OPTIONAL",160:"MINUS",161:"SERVICE",163:"FILTER",164:"BIND",174:"UNDEF",193:";",197:"a",224:"!",229:"^",231:"[",232:"]",242:"||",246:"&&",250:"IN",263:"+",265:"-",268:"FUNC_ARITY0",269:"FUNC_ARITY1",270:"FUNC_ARITY1_SPARQL_STAR",271:"FUNC_ARITY2",272:",",273:"FUNC_ARITY3",274:"FUNC_ARITY3_SPARQL_STAR",276:"BOUND",277:"BNODE",279:"EXISTS",280:"COUNT",283:"FUNC_AGGREGATE",285:"GROUP_CONCAT",289:"SEPARATOR",290:"=",292:"LANGTAG",293:"^^",294:"DECIMAL",295:"DOUBLE",296:"BOOLEAN",297:"INTEGER_POSITIVE",298:"DECIMAL_POSITIVE",299:"DOUBLE_POSITIVE",300:"INTEGER_NEGATIVE",301:"DECIMAL_NEGATIVE",302:"DOUBLE_NEGATIVE",303:"STRING_LITERAL1",304:"STRING_LITERAL2",305:"STRING_LITERAL_LONG1",306:"STRING_LITERAL_LONG2",308:"PNAME_LN",309:"BLANK_NODE_LABEL",310:"ANON",312:"<<",314:">>",317:"{|",318:"|}",325:"DISTINCT",326:"REDUCED",327:"NAMED",328:"SILENT",329:"CLEAR",330:"DROP",331:"ADD",332:"MOVE",333:"COPY",334:"ALL",335:".",336:"UNION",337:"|",338:"/",340:"?",341:"!=",342:"<",343:">",344:"<=",345:">=",346:"NOT",347:"CONCAT",348:"COALESCE",349:"SUBSTR",350:"REGEX",351:"REPLACE"},productions_:[0,[3,3],[7,2],[4,1],[11,2],[14,3],[8,4],[8,4],[8,5],[8,7],[8,5],[8,4],[17,2],[21,2],[38,2],[43,1],[43,5],[49,4],[49,4],[52,3],[19,2],[23,2],[20,3],[62,3],[66,1],[66,1],[66,3],[66,5],[66,1],[69,2],[72,3],[75,2],[75,2],[75,1],[75,1],[80,2],[80,2],[80,4],[80,4],[84,2],[86,4],[86,4],[86,6],[86,2],[94,3],[96,3],[98,4],[98,3],[98,5],[98,4],[98,2],[98,2],[98,2],[98,5],[120,2],[118,3],[118,1],[125,2],[127,3],[130,2],[108,1],[108,2],[122,2],[105,1],[105,1],[114,3],[135,2],[138,7],[143,3],[57,3],[57,3],[147,2],[150,3],[154,3],[151,1],[151,2],[151,2],[151,3],[151,4],[151,2],[151,6],[151,1],[93,1],[93,1],[165,4],[166,4],[166,6],[171,1],[171,1],[171,1],[171,1],[158,2],[79,1],[79,1],[79,1],[68,2],[176,1],[176,5],[179,1],[179,4],[25,3],[182,3],[145,2],[145,2],[188,1],[186,2],[192,2],[190,2],[195,1],[195,1],[196,2],[199,2],[156,2],[156,2],[202,2],[207,1],[207,2],[205,2],[209,2],[211,2],[214,2],[216,2],[219,2],[218,2],[220,1],[220,2],[220,3],[225,1],[225,1],[225,4],[226,1],[226,2],[187,3],[187,3],[203,3],[203,3],[200,1],[200,1],[212,1],[212,1],[234,1],[235,1],[235,1],[139,1],[139,1],[44,1],[236,1],[236,1],[236,1],[236,1],[46,1],[238,2],[241,2],[239,2],[245,2],[243,1],[243,3],[243,4],[247,2],[253,2],[253,2],[253,2],[251,2],[261,2],[259,2],[259,2],[259,2],[259,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[77,3],[67,1],[67,2],[67,4],[67,4],[67,6],[67,8],[67,8],[67,2],[67,4],[67,2],[67,4],[67,3],[267,5],[267,5],[267,6],[288,4],[172,1],[172,2],[172,3],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[255,1],[255,1],[255,1],[257,1],[257,1],[257,1],[291,1],[291,1],[291,1],[291,1],[55,1],[55,1],[307,1],[307,1],[237,1],[237,1],[311,5],[173,5],[313,1],[313,1],[313,1],[313,1],[313,1],[315,1],[315,1],[315,1],[185,1],[185,1],[185,1],[316,3],[319,3],[266,5],[320,1],[320,1],[320,1],[223,1],[223,1],[321,0],[321,1],[5,1],[5,1],[5,1],[9,0],[9,1],[322,1],[322,1],[10,0],[10,2],[18,0],[18,2],[22,0],[22,2],[26,0],[26,2],[27,0],[27,2],[30,0],[30,1],[323,1],[323,2],[33,1],[33,1],[34,0],[34,2],[35,0],[35,1],[37,0],[37,2],[40,1],[40,2],[324,1],[324,1],[42,0],[42,1],[50,0],[50,1],[51,0],[51,1],[54,0],[54,1],[56,0],[56,1],[58,0],[58,1],[59,0],[59,1],[60,0],[60,1],[61,0],[61,1],[65,1],[65,2],[71,1],[71,2],[74,1],[74,2],[88,0],[88,2],[90,0],[90,2],[91,1],[91,2],[92,0],[92,2],[95,1],[95,2],[97,0],[97,4],[99,0],[99,2],[101,0],[101,1],[102,0],[102,1],[103,1],[103,1],[104,0],[104,1],[106,1],[106,1],[106,1],[107,0],[107,1],[111,0],[111,1],[117,0],[117,1],[119,0],[119,2],[124,0],[124,1],[129,0],[129,1],[133,0],[133,1],[134,1],[134,1],[134,1],[136,0],[136,1],[137,0],[137,2],[140,0],[140,1],[141,0],[141,1],[142,0],[142,1],[144,0],[144,3],[146,0],[146,1],[148,0],[148,1],[149,0],[149,2],[152,0],[152,1],[153,0],[153,1],[155,0],[155,3],[157,0],[157,1],[162,0],[162,1],[167,0],[167,2],[168,0],[168,2],[169,1],[169,2],[170,0],[170,2],[175,0],[175,3],[177,0],[177,1],[178,0],[178,3],[180,0],[180,3],[181,0],[181,1],[183,0],[183,3],[184,0],[184,1],[189,0],[189,1],[191,0],[191,2],[194,0],[194,1],[198,0],[198,3],[201,0],[201,1],[204,0],[204,1],[206,0],[206,2],[208,1],[208,1],[210,0],[210,3],[213,0],[213,1],[215,0],[215,3],[217,0],[217,3],[339,1],[339,1],[339,1],[221,0],[221,1],[222,0],[222,1],[227,0],[227,3],[228,0],[228,1],[230,1],[230,2],[233,1],[233,2],[240,0],[240,2],[244,0],[244,2],[248,1],[248,1],[248,1],[248,1],[248,1],[248,1],[249,0],[249,1],[252,0],[252,2],[254,1],[254,1],[256,0],[256,2],[258,0],[258,2],[260,0],[260,2],[262,1],[262,1],[275,1],[275,1],[275,1],[275,1],[275,1],[278,0],[278,1],[281,0],[281,1],[282,1],[282,1],[284,0],[284,1],[286,0],[286,1],[287,0],[287,1]],performAction:function(e,t,r,n,i,o,a){var s,c,u,l,d=o.length-1;switch(i){case 1:if(o[d-1]=o[d-1]||{},nn.base&&(o[d-1].base=nn.base),nn.base="",o[d-1].prefixes=nn.prefixes,nn.prefixes=null,nn.pathOnly){if("path"===o[d-1].type||"termType"in o[d-1])return o[d-1];throw new Error("Received full SPARQL query in path only mode")}if("path"===o[d-1].type||"termType"in o[d-1])throw new Error("Received only path in full SPARQL mode");if("update"===o[d-1].type){const e={};for(const t of o[d-1].updates)if("insert"===t.updateType){const r={};for(const e of t.insert)if("bgp"===e.type||"graph"===e.type)for(const t of e.triples)"BlankNode"===t.subject.termType&&(r[t.subject.value]=!0),"BlankNode"===t.predicate.termType&&(r[t.predicate.value]=!0),"BlankNode"===t.object.termType&&(r[t.object.value]=!0);for(const t of Object.keys(r)){if(e[t])throw new Error("Detected reuse blank node across different INSERT DATA clauses");e[t]=!0}}}return o[d-1];case 2:this.$={...o[d-1],...o[d],type:"query"};break;case 4:nn.base=Or(o[d]);break;case 5:nn.prefixes||(nn.prefixes={}),o[d-1]=o[d-1].substr(0,o[d-1].length-1),o[d]=Or(o[d]),nn.prefixes[o[d-1]]=o[d];break;case 6:this.$={...o[d-3],...Fr(o[d-2]),...o[d-1],...o[d]};break;case 7:if(!nn.skipValidation&&(zr(o[d-3].variables.map((e=>Kr(e.expression)))).some((e=>"count"===e.aggregation&&!(e.expression instanceof ar)))||o[d].group))for(const e of o[d-3].variables)if("Variable"===e.termType){if(!o[d].group||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Projection of ungrouped variable (?"+Gr(e)+")")}else if(0===Kr(e.expression).length){const t=Qr(e.expression);for(const e of t)if(!o[d].group||!o[d].group.map||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Use of ungrouped variable in projection of operation (?"+Gr(e)+")")}const e=o[d-1].where.filter((e=>"query"===e.type));if(e.length>0){const t=o[d-3].variables.filter((e=>e.variable&&e.variable.value)).map((e=>e.variable.value)),r=zr(e.map((e=>e.variables))).map((e=>e.value||e.variable.value));for(const e of t)if(r.indexOf(e)>=0)throw Error("Target id of 'AS' (?"+e+") already used in subquery")}this.$=Er(o[d-3],Fr(o[d-2]),o[d-1],o[d]);break;case 8:this.$=Er({queryType:"CONSTRUCT",template:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 9:this.$=Er({queryType:"CONSTRUCT",template:o[d-2]=o[d-2]?o[d-2].triples:[]},Fr(o[d-5]),{where:[{type:"bgp",triples:Sr([],o[d-2])}]},o[d]);break;case 10:this.$=Er({queryType:"DESCRIBE",variables:"*"===o[d-3]?[new ar]:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 11:this.$=Er({queryType:"ASK"},Fr(o[d-2]),o[d-1],o[d]);break;case 12:this.$=Er(o[d-1],{variables:[new ar]});break;case 13:const t=function(e){const t=e.slice().sort(),r=[];for(let e=0;ee.value||e.variable.value)));if(t.length>0)throw Error("Two or more of the resulting columns have the same name (?"+t[0]+")");this.$=Er(o[d-1],{variables:o[d]});break;case 14:this.$=Er({queryType:"SELECT"},o[d]&&(o[d-1]=vr(o[d]),o[d]={},o[d][o[d-1]]=!0,o[d]));break;case 16:case 27:this.$=Ir(o[d-3],{variable:o[d-1]});break;case 17:case 18:this.$=Er(o[d-3],o[d-2],o[d-1],o[d],{type:"query"});break;case 19:case 58:this.$={iri:o[d],named:!!o[d-1]};break;case 20:this.$={where:o[d].patterns};break;case 21:this.$=Er(o[d-1],o[d]);break;case 22:this.$=Er(o[d-2],o[d-1],o[d]);break;case 23:this.$={group:o[d]};break;case 24:case 25:case 28:case 31:case 33:case 34:this.$=Ir(o[d]);break;case 26:this.$=Ir(o[d-1]);break;case 29:this.$={having:o[d]};break;case 30:this.$={order:o[d]};break;case 32:this.$=Ir(o[d],{descending:!0});break;case 35:this.$={limit:Dr(o[d])};break;case 36:this.$={offset:Dr(o[d])};break;case 37:this.$={limit:Dr(o[d-2]),offset:Dr(o[d])};break;case 38:this.$={limit:Dr(o[d]),offset:Dr(o[d-2])};break;case 39:case 43:this.$={type:"values",values:o[d]};break;case 40:case 84:this.$=o[d-1].map((e=>({[o[d-3]]:e})));break;case 41:case 85:this.$=o[d-1].map((()=>({})));break;case 42:case 86:var p=o[d-4].length;o[d-4]=o[d-4].map(xr),this.$=o[d-1].map((function(e){if(e.length!==p)throw Error("Inconsistent VALUES length");for(var t={},r=0;r"bind"===e.type))){const t=o[d-1].indexOf(e),r=new Set;for(const e of o[d-1].slice(0,t))"group"!==e.type&&"bgp"!==e.type||Wr(e).forEach((e=>r.add(e)));if(r.has(e.variable.value))throw Error("Variable used to bind is already bound (?"+e.variable.value+")")}this.$={type:"group",patterns:o[d-1]};break;case 71:this.$=o[d-1]?Tr([o[d-1]],o[d]):Tr(o[d]);break;case 72:this.$=o[d]?[o[d-2],o[d]]:o[d-2];break;case 75:this.$=Er(o[d],{type:"optional"});break;case 76:this.$=Er(o[d],{type:"minus"});break;case 77:this.$=Er(o[d],{type:"graph",name:o[d-1]});break;case 78:this.$=Er(o[d],{type:"service",name:o[d-1],silent:!!o[d-2]});break;case 79:this.$={type:"filter",expression:o[d]};break;case 80:this.$={type:"bind",variable:o[d-1],expression:o[d-3]};break;case 89:this.$=Xr(o[d]);break;case 90:this.$=void 0;break;case 91:this.$=o[d-1].length?{type:"union",patterns:Tr(o[d-1].map(Nr),[Nr(o[d])])}:o[d];break;case 95:this.$={...o[d],function:o[d-1]};break;case 96:this.$={type:"functionCall",args:[]};break;case 97:this.$={type:"functionCall",args:wr(o[d-2],o[d-1]),distinct:!!o[d-3]};break;case 98:case 115:case 128:case 247:case 249:case 251:case 253:case 255:case 263:case 267:case 297:case 299:case 303:case 307:case 328:case 341:case 349:case 355:case 361:case 367:case 369:case 373:case 375:case 379:case 381:case 385:case 391:case 395:case 401:case 405:case 409:case 411:case 420:case 428:case 430:case 440:case 444:case 446:case 448:this.$=[];break;case 99:this.$=wr(o[d-2],o[d-1]);break;case 101:this.$=Tr(o[d-2],[o[d-1]]);break;case 102:case 112:this.$=Zr(o[d].map((e=>Er(Mr(o[d-1]),e))));break;case 103:this.$=Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples));break;case 105:this.$=Tr([o[d-1]],o[d]);break;case 106:this.$=Tr(o[d]);break;case 107:this.$=$r(o[d-1],o[d]);break;case 109:case 237:this.$=nn.factory.namedNode(cr);break;case 110:case 118:this.$=wr(o[d-1],o[d]);break;case 111:this.$=o[d]?{annotation:o[d],object:o[d-1]}:o[d-1];break;case 113:this.$=o[d]?Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples)):o[d-1].triples;break;case 114:this.$=$r(...o[d-1],o[d]);break;case 116:this.$=$r(...o[d]);break;case 117:case 159:case 163:this.$=[o[d-1],o[d]];break;case 119:this.$=o[d]?{object:o[d-1],annotation:o[d]}:o[d-1];break;case 120:this.$=o[d-1].length?Rr("|",wr(o[d-1],o[d])):o[d];break;case 121:this.$=o[d-1].length?Rr("/",wr(o[d-1],o[d])):o[d];break;case 122:this.$=o[d]?Rr(o[d],[o[d-1]]):o[d-1];break;case 123:this.$=o[d-1]?Rr(o[d-1],[o[d]]):o[d];break;case 125:case 131:this.$=Rr(o[d-1],[o[d]]);break;case 129:this.$=Rr("|",wr(o[d-2],o[d-1]));break;case 132:case 134:this.$=function(e){var t=kr(),r=t,n=[],i=[];e.forEach((function(e){n.push(e.entity),Sr(i,e.triples)}));for(var o=0,a=0,s=n.length,c=Array(2*s);o2&&O.push("'"+this.terminals_[S]+"'");A=d.showPosition?"Parse error on line "+(s+1)+":\n"+d.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:f,expected:O})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(v[0]){case 1:r.push(m),n.push(d.yytext),i.push(d.yylloc),r.push(v[1]),m=null,b?(m=b,b=null):(c=d.yyleng,a=d.yytext,s=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[v[1]][1],x.$=n[n.length-E],x._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},g&&(x._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(x,[a,c,s,p.yy,v[1],n,i].concat(l))))return w;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[v[1]][0]),n.push(x.$),i.push(x._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}},ar=r(10419).Wildcard,sr="http://www.w3.org/1999/02/22-rdf-syntax-ns#",cr=sr+"type",ur=sr+"first",lr=sr+"rest",dr=sr+"nil",pr="http://www.w3.org/2001/XMLSchema#",hr=pr+"integer",fr=pr+"decimal",yr=pr+"double",gr=pr+"boolean",mr="",br="",_r="";function vr(e){return e.toLowerCase()}function wr(e,t){return e.push(t),e}function Sr(e,t){return e.push.apply(e,t),e}function Er(e){e||(e={});for(var t,r=1,n=arguments.length;r>10),56320+(1023&i))}var o=Br[n];if(!o)throw new Error;return o}))}catch(e){return""}if(Vr.exec(e))throw new Error("Invalid unicode codepoint of surrogate pair without corresponding codepoint in "+e);return e}function $r(e,t,r){var n=[],i=[];return t.forEach((function(t){let r=null;t.annotation&&(r=t.annotation,t=t.object),n.push(Mr(null,e,t.entity,r)),Sr(i,t.triples)})),Tr(n,r||[],i)}function Gr(e){return e.variable?e.variable.value:e.value||e.expression.value}function Kr(e){if(!e)return[];if("aggregate"===e.type)return[e];if("operation"===e.type){const t=[];for(const r of e.args)t.push(...Kr(r));return t}return[]}function Qr(e){const t=new Set,r=function(e){e&&("Variable"===e.termType?t.add(e):"operation"===e.type&&e.args.forEach(r))};return r(e),t}function zr(e,t=1,r=[]){for(const n of e)t>0&&n instanceof Array?zr(n,t-1,r):r.push(n);return r}function Jr(e){return"Variable"===e.termType}function Wr(e){if(e.triples){const t=[];for(const r of e.triples)Jr(r.subject)&&t.push(r.subject.value),Jr(r.predicate)&&t.push(r.predicate.value),Jr(r.object)&&t.push(r.object.value);return t}if(e.patterns){const t=[];for(const r of e.patterns)t.push(...Wr(r));return t}return[]}function Xr(e){if(!nn.sparqlStar)throw new Error("SPARQL-star support is not enabled");return e}function Yr(e,t,r){for(const n of t){const t=Mr("subject"in n?n.subject:e,n.predicate,n.object);r.push(t),n.annotations&&Yr(Cr(e,n.predicate,n.object),n.annotations,r)}}function Zr(e){if(nn.sparqlStar){const t=[];return e.forEach((e=>{const r=Mr(e.subject,e.predicate,e.object);t.push(r),e.annotations&&Yr(Cr(e.subject,e.predicate,e.object),e.annotations,t)})),t}return e}function en(e){for(const t of e){if("graph"===t.type&&"Variable"===t.name.termType)throw new Error("Detected illegal variable in GRAPH");if("bgp"===t.type||"graph"===t.type)for(const e of t.triples)if("Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType)throw new Error("Detected illegal variable in BGP")}return e}function tn(e){for(const t of e)if("bgp"===t.type)for(const e of t.triples)if("BlankNode"===e.subject.termType||"BlankNode"===e.predicate.termType||"BlankNode"===e.object.termType)throw new Error("Detected illegal blank node in BGP");return e}var rn=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;ot[0].length)){if(t=r,n=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{flex:!0,"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 12;case 2:return 15;case 3:return 41;case 4:return 325;case 5:return 326;case 6:return 45;case 7:return 47;case 8:return 48;case 9:return 39;case 10:return 24;case 11:return 28;case 12:return 29;case 13:return 31;case 14:return 32;case 15:return 36;case 16:return 53;case 17:return 327;case 18:return 63;case 19:return 64;case 20:return 70;case 21:return 73;case 22:return 76;case 23:return 78;case 24:return 81;case 25:return 83;case 26:return 85;case 27:return 193;case 28:return 100;case 29:return 328;case 30:return 121;case 31:return 329;case 32:return 330;case 33:return 110;case 34:return 331;case 35:return 109;case 36:return 332;case 37:return 333;case 38:return 113;case 39:return 115;case 40:return 116;case 41:return 131;case 42:return 123;case 43:return 126;case 44:return 128;case 45:return 132;case 46:return 112;case 47:return 334;case 48:return 335;case 49:return 159;case 50:return 161;case 51:return 164;case 52:return 174;case 53:return 160;case 54:return 336;case 55:return 163;case 56:return 312;case 57:return 314;case 58:return 317;case 59:return 318;case 60:return 272;case 61:return 197;case 62:return 337;case 63:return 338;case 64:return 229;case 65:return 340;case 66:return 263;case 67:return 224;case 68:return 231;case 69:return 232;case 70:return 242;case 71:return 246;case 72:return 290;case 73:return 341;case 74:return 342;case 75:return 343;case 76:return 344;case 77:return 345;case 78:return 250;case 79:return 346;case 80:return 265;case 81:return 276;case 82:return 277;case 83:return 268;case 84:return 269;case 85:return 270;case 86:return 271;case 87:return 347;case 88:return 348;case 89:return 273;case 90:return 274;case 91:return 350;case 92:return 349;case 93:return 351;case 94:return 279;case 95:return 280;case 96:return 283;case 97:return 285;case 98:return 289;case 99:return 293;case 100:return 296;case 101:return 13;case 102:return 16;case 103:return 308;case 104:return 309;case 105:return 87;case 106:return 292;case 107:return 82;case 108:return 294;case 109:return 295;case 110:return 297;case 111:return 298;case 112:return 299;case 113:return 300;case 114:return 301;case 115:return 302;case 116:return"EXPONENT";case 117:return 303;case 118:return 304;case 119:return 305;case 120:return 306;case 121:return 89;case 122:return 310;case 123:return 6;case 124:return"INVALID";case 125:console.log(t.yytext)}},rules:[/^(?:\s+|(#[^\n\r]*))/i,/^(?:BASE)/i,/^(?:PREFIX)/i,/^(?:SELECT)/i,/^(?:DISTINCT)/i,/^(?:REDUCED)/i,/^(?:\()/i,/^(?:AS)/i,/^(?:\))/i,/^(?:\*)/i,/^(?:CONSTRUCT)/i,/^(?:WHERE)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:DESCRIBE)/i,/^(?:ASK)/i,/^(?:FROM)/i,/^(?:NAMED)/i,/^(?:GROUP)/i,/^(?:BY)/i,/^(?:HAVING)/i,/^(?:ORDER)/i,/^(?:ASC)/i,/^(?:DESC)/i,/^(?:LIMIT)/i,/^(?:OFFSET)/i,/^(?:VALUES)/i,/^(?:;)/i,/^(?:LOAD)/i,/^(?:SILENT)/i,/^(?:INTO)/i,/^(?:CLEAR)/i,/^(?:DROP)/i,/^(?:CREATE)/i,/^(?:ADD)/i,/^(?:TO)/i,/^(?:MOVE)/i,/^(?:COPY)/i,/^(?:INSERT((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)WHERE)/i,/^(?:WITH)/i,/^(?:DELETE)/i,/^(?:INSERT)/i,/^(?:USING)/i,/^(?:DEFAULT)/i,/^(?:GRAPH)/i,/^(?:ALL)/i,/^(?:\.)/i,/^(?:OPTIONAL)/i,/^(?:SERVICE)/i,/^(?:BIND)/i,/^(?:UNDEF)/i,/^(?:MINUS)/i,/^(?:UNION)/i,/^(?:FILTER)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:\{\|)/i,/^(?:\|\})/i,/^(?:,)/i,/^(?:a)/i,/^(?:\|)/i,/^(?:\/)/i,/^(?:\^)/i,/^(?:\?)/i,/^(?:\+)/i,/^(?:!)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:<)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:>=)/i,/^(?:IN)/i,/^(?:NOT)/i,/^(?:-)/i,/^(?:BOUND)/i,/^(?:BNODE)/i,/^(?:(RAND|NOW|UUID|STRUUID))/i,/^(?:(LANG|DATATYPE|IRI|URI|ABS|CEIL|FLOOR|ROUND|STRLEN|STR|UCASE|LCASE|ENCODE_FOR_URI|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|MD5|SHA1|SHA256|SHA384|SHA512|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC))/i,/^(?:(SUBJECT|PREDICATE|OBJECT|isTRIPLE))/i,/^(?:(LANGMATCHES|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|STRLANG|STRDT|sameTerm))/i,/^(?:CONCAT)/i,/^(?:COALESCE)/i,/^(?:IF)/i,/^(?:TRIPLE)/i,/^(?:REGEX)/i,/^(?:SUBSTR)/i,/^(?:REPLACE)/i,/^(?:EXISTS)/i,/^(?:COUNT)/i,/^(?:SUM|MIN|MAX|AVG|SAMPLE)/i,/^(?:GROUP_CONCAT)/i,/^(?:SEPARATOR)/i,/^(?:\^\^)/i,/^(?:true|false)/i,/^(?:(<(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*>))/i,/^(?:((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:)((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|:|[0-9]|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(_:(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?))/i,/^(?:([\?\$]((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])*)))/i,/^(?:(@[a-zA-Z]+(?:-[a-zA-Z0-9]+)*))/i,/^(?:([0-9]+))/i,/^(?:([0-9]*\.[0-9]+))/i,/^(?:([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+)))/i,/^(?:(\+([0-9]+)))/i,/^(?:(\+([0-9]*\.[0-9]+)))/i,/^(?:(\+([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:(-([0-9]+)))/i,/^(?:(-([0-9]*\.[0-9]+)))/i,/^(?:(-([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*"""))/i,/^(?:(\((\u0020|\u0009|\u000D|\u000A)*\)))/i,/^(?:(\[(\u0020|\u0009|\u000D|\u000A)*\]))/i,/^(?:$)/i,/^(?:.)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],inclusive:!0}}};return e}();function nn(){this.yy={}}return or.lexer=rn,nn.prototype=or,or.Parser=nn,new nn}();e.exports=n},10419:e=>{class t{constructor(){return r||this}equals(e){return e&&this.termType===e.termType}}Object.defineProperty(t.prototype,"value",{enumerable:!0,value:"*"}),Object.defineProperty(t.prototype,"termType",{enumerable:!0,value:"Wildcard"});var r=new t;e.exports.Wildcard=t},76196:(e,t,r)=>{const{Parser:n}=r(72663),{Generator:i}=r(51915),{Wildcard:o}=r(10419),{DataFactory:a}=r(47793);e.exports={Parser:function({prefixes:e,baseIRI:t,factory:r,pathOnly:i,sparqlStar:o,skipValidation:s,skipUngroupedVariableCheck:c}={}){const u={};for(const t in e??{})u[t]=e[t];const l=new n;return l.parse=function(){return n.base=t||"",n.prefixes=Object.create(u),n.factory=r||new a,n.sparqlStar=Boolean(o),n.pathOnly=Boolean(i),n.skipValidation=Boolean(s)||Boolean(c),n.prototype.parse.apply(l,arguments)},l._resetBlanks=n._resetBlanks,l},Generator:i,Wildcard:o}},33826:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(70297),t),i(r(3062),t),i(r(65183),t),i(r(91475),t),i(r(97480),t)},3062:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Converter=void 0;const i=r(80425),o=r(70297),a=r(2307),s=r(65183),c=r(97480);class u{constructor(e){(e=e||{}).variableDelimiter=e.variableDelimiter||"_",e.expressionVariableCounter=e.expressionVariableCounter||0,this.util=new c.Util(e),this.initializeNodeHandlers(e)}static registerNodeHandlers(e,t){e.registerNodeHandler(new o.NodeHandlerDocument(e,t)),e.registerNodeHandler(new o.NodeHandlerDefinitionOperation(e,t)),e.registerNodeHandler(new o.NodeHandlerDefinitionFragment(e,t)),e.registerNodeHandler(new o.NodeHandlerSelectionFragmentSpread(e,t)),e.registerNodeHandler(new o.NodeHandlerSelectionInlineFragment(e,t)),e.registerNodeHandler(new o.NodeHandlerSelectionField(e,t))}static registerNodeValueHandlers(e,t){e.registerNodeValueHandler(new o.NodeValueHandlerVariable(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerInt(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerFloat(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerString(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerBoolean(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerNull(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerEnum(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerList(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerObject(e,t))}static registerDirectiveNodeHandlers(e,t){e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerInclude(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerOptional(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerPlural(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerSingle(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerSkip(e,t))}graphqlToSparqlAlgebra(e,t,r){return n(this,void 0,void 0,(function*(){return this.graphqlToSparqlAlgebraRawContext(e,yield this.util.contextParser.parse(t),r)}))}graphqlToSparqlAlgebraRawContext(e,t,r){r=r||{};const n="string"==typeof e?(0,i.parse)(e):e,o={context:t,fragmentDefinitions:this.indexFragments(n),graph:this.util.dataFactory.defaultGraph(),path:[],singularizeState:s.SingularizeState.PLURAL,singularizeVariables:r.singularizeVariables||{},subject:null,terminalVariables:[],variablesDict:r.variablesDict||{},variablesMetaDict:{}};return this.util.handleNode(n,o)}indexFragments(e){const t={},r=[];for(const n of e.definitions)"FragmentDefinition"===n.kind?t[n.name.value]=n:r.push(n);return e.definitions=r,t}initializeNodeHandlers(e){u.registerNodeHandlers(this.util,e),u.registerNodeValueHandlers(this.util,e),u.registerDirectiveNodeHandlers(this.util,e)}}t.Converter=u},65183:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.SingularizeState=void 0,(r=t.SingularizeState||(t.SingularizeState={}))[r.SINGLE=0]="SINGLE",r[r.PLURAL=1]="PLURAL"},91475:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},97480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(47793),i=r(61082),o=r(17394);t.Util=class{constructor(e){this.nodeHandlers={},this.nodeValueHandlers={},this.directiveNodeHandlers={},this.settings=e,this.dataFactory=e.dataFactory||new n.DataFactory,this.operationFactory=new o.Factory(this.dataFactory),this.contextParser=new i.ContextParser}registerNodeHandler(e){this.nodeHandlers[e.targetKind]=e}registerNodeValueHandler(e){this.nodeValueHandlers[e.targetKind]=e}registerDirectiveNodeHandler(e){this.directiveNodeHandlers[e.targetKind]=e}handleNode(e,t){const r=this.nodeHandlers[e.kind];if(!r)throw new Error(`Unsupported GraphQL node '${e.kind}'`);return r.handle(e,t)}handleNodeValue(e,t,r){const n=this.nodeValueHandlers[e.kind];if(!n)throw new Error(`Unsupported GraphQL value node '${e.kind}'`);return n.handle(e,t,r)}handleDirectiveNode(e,t){const r=this.directiveNodeHandlers[e.directive.name.value];return r?r.handle(e,t):null}joinOperations(e){if(1===e.length)return e[0];const t=[],r=[];for(const n of e)"bgp"===n.type?t.push(n):r.push(n);if(t.length===e.length)return this.joinOperationsAsBgp(t);if(t.length===e.length-1&&"leftjoin"===r[0].type&&"bgp"===r[0].input[0].type){const e=r[0];return t.push(e.input[0]),this.operationFactory.createLeftJoin(this.joinOperationsAsBgp(t),e.input[1])}return r.length===e.length?this.joinOperationsAsNestedJoin(r):this.joinOperationsAsNestedJoin([this.joinOperationsAsBgp(t),this.joinOperationsAsNestedJoin(r)])}joinOperationsAsBgp(e){return this.operationFactory.createBgp([].concat.apply([],e.map((e=>e.patterns))))}joinOperationsAsNestedJoin(e){return this.operationFactory.createJoin(e)}appendFieldToPath(e,t){return e.concat([t])}getFieldLabel(e){return(e.alias?e.alias:e.name).value}nameToVariable(e,t){return this.dataFactory.variable((t.path.length?t.path.join(this.settings.variableDelimiter)+this.settings.variableDelimiter:"")+e)}valueToNamedNode(e,t){const r=t.expandTerm(e,!0);if(this.settings.requireContext&&!r)throw new Error("No context entry was found for "+e);return this.dataFactory.namedNode(r||e)}getArgument(e,t){if(e)for(const r of e)if(r.name.value===t)return r}newTypePattern(e,t,r){return this.operationFactory.createPattern(e,this.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),this.valueToNamedNode(t.name.value,r.context),r.graph)}createQuadPattern(e,t,r,n,i){const o=this.valueToNamedNode(t.value,i);return i&&i.getContextRaw()[t.value]&&i.getContextRaw()[t.value]["@reverse"]?this.operationFactory.createPattern(r,o,e,n):this.operationFactory.createPattern(e,o,r,n)}createQuadPath(e,t,r,n,i,o){const a=this.valueToNamedNode(t.value,o);let s=this.operationFactory.createLink(a);for(const e of r.values){if("EnumValue"!==e.kind)throw new Error("Invalid value type for 'alt' argument, must be EnumValue, but got "+e.kind);s=this.operationFactory.createAlt([s,this.operationFactory.createLink(this.valueToNamedNode(e.value,o))])}return o&&o.getContextRaw()[t.value]&&o.getContextRaw()[t.value]["@reverse"]?this.operationFactory.createPath(n,s,e,i):this.operationFactory.createPath(e,s,n,i)}}},75566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerAdapter=void 0,t.NodeHandlerAdapter=class{constructor(e,t,r){this.targetKind=e,this.util=t,this.settings=r}getNodeQuadContextSelectionSet(e,t,r){const n={};if(e)for(const t of e.selections)if("Field"===t.kind){const e=t;this.handleNodeQuadContextField(e,r,n,"id","subject"),this.handleNodeQuadContextField(e,r,n,"graph","graph")}return n}handleNodeQuadContextField(e,t,r,n,i){if(!r[i]&&e.name.value===n){if(!r[i]){const o=this.util.getArgument(e.arguments,"_");if(o){const a=this.util.handleNodeValue(o.value,e.name.value,t);if(1!==a.terms.length)throw new Error(`Only single values can be set as ${n}, but got ${a.terms.length} at ${e.name.value}`);r[i]=a.terms[0],a.auxiliaryPatterns&&(r.auxiliaryPatterns||(r.auxiliaryPatterns=[]),r.auxiliaryPatterns.concat(a.auxiliaryPatterns))}}if(!r[i]){const n=this.util.nameToVariable(this.util.getFieldLabel(e),t);t.terminalVariables.push(n),r[i]=n}}}getDirectiveOutputs(e,t,r){const n=[];if(e)for(const i of e){const e=this.util.handleDirectiveNode({directive:i,fieldLabel:t},r);if(e){if(e.ignore)return null;n.push(e)}}return n}handleDirectiveOutputs(e,t){for(const r of e){if(r.ignore)return this.util.operationFactory.createBgp([]);r.operationOverrider&&(t=r.operationOverrider(t))}return t}}},66337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDefinitionAdapter=void 0;const n=r(75566);class i extends n.NodeHandlerAdapter{constructor(e,t,r){super(e,t,r)}}t.NodeHandlerDefinitionAdapter=i},13260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDefinitionFragment=void 0;const n=r(66337);class i extends n.NodeHandlerDefinitionAdapter{constructor(e,t){super("FragmentDefinition",e,t)}handle(e,t){throw new Error("Illegal state: fragment definitions must be indexed and removed before processing")}}t.NodeHandlerDefinitionFragment=i},91891:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDefinitionOperation=void 0;const n=r(66337);class i extends n.NodeHandlerDefinitionAdapter{constructor(e,t){super("OperationDefinition",e,t)}handle(e,t){if("query"!==e.operation)throw new Error("Unsupported definition operation: "+e.operation);if(e.variableDefinitions)for(const r of e.variableDefinitions){const e=r.variable.name.value;r.defaultValue&&(t.variablesDict[e]||(t.variablesDict[e]=r.defaultValue));let n=r.type;const i="NonNullType"===n.kind;i&&(n=n.type);const o="ListType"===n.kind;o&&(n=n.type);const a=n.name.value;t.variablesMetaDict[e]={mandatory:i,list:o,type:a}}const r=this.getDirectiveOutputs(e.directives,e.name?e.name.value:"",t);if(!r)return this.util.operationFactory.createBgp([]);const n=this.util.joinOperations(e.selectionSet.selections.map((e=>this.util.handleNode(e,t))));return this.handleDirectiveOutputs(r,n)}}t.NodeHandlerDefinitionOperation=i},98960:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDocument=void 0;const n=r(17394),i=r(75566);class o extends i.NodeHandlerAdapter{constructor(e,t){super("Document",e,t)}handle(e,t){const r=e.definitions.map((e=>{const r=this.getNodeQuadContextDefinitionNode(e,Object.assign(Object.assign({},t),{ignoreUnknownVariables:!0})),n=Object.assign(Object.assign({},t),{graph:r.graph||t.graph,subject:r.subject||this.util.dataFactory.blankNode()});let i=this.util.handleNode(e,n);return r&&r.auxiliaryPatterns&&(i=this.util.joinOperations([i,this.util.operationFactory.createBgp(r.auxiliaryPatterns)])),i})),n=this.util.operationFactory.createProject(1===r.length?r[0]:this.util.operationFactory.createUnion(r),t.terminalVariables);return this.translateBlankNodesToVariables(n)}getNodeQuadContextDefinitionNode(e,t){if("OperationDefinition"===e.kind)return this.getNodeQuadContextSelectionSet(e.selectionSet,e.name?e.name.value:"",t);throw new Error(`Unsupported definition: ${e.kind}`)}translateBlankNodesToVariables(e){const t=this,r={},i=Array.from(e.variables).reduce(((e,t)=>(e[t.value]=!0,e)),{});return n.Util.mapOperation(e,{path:(e,t)=>({recurse:!1,result:t.createPath(o(e.subject),e.predicate,o(e.object),o(e.graph))}),pattern:(e,t)=>({recurse:!1,result:t.createPattern(o(e.subject),o(e.predicate),o(e.object),o(e.graph))})});function o(e){if("BlankNode"===e.termType){let o=r[e.value];return o||(o=n.Util.createUniqueVariable(e.value,i,t.util.dataFactory),i[o.value]=!0,r[e.value]=o),o}return e}}}t.NodeHandlerDocument=o},53284:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionAdapter=void 0;const n=r(17394),i=r(65183),o=r(75566);class a extends o.NodeHandlerAdapter{constructor(e,t,r){super(e,t,r)}getNodeQuadContextFieldNode(e,t,r){return this.getNodeQuadContextSelectionSet(e.selectionSet,t,Object.assign(Object.assign({},r),{path:this.util.appendFieldToPath(r.path,t)}))}fieldToOperation(e,t,r,o){const a=r;let s,c=0;if(("id"===t.name.value||"graph"===t.name.value)&&(r=!1,t.arguments))for(const r of t.arguments)"_"===r.name.value&&this.util.handleNodeValue(r.value,t.name.value,e);const u=this.util.getFieldLabel(t);if(e.singularizeState===i.SingularizeState.SINGLE&&(e.singularizeVariables[this.util.nameToVariable(u,e).value]=!0),r){const t=this.handleMetaField(e,u,o);if(t)return t}const l=o?[this.util.operationFactory.createBgp(o)]:[],d=this.getNodeQuadContextFieldNode(t,u,e);let p=d.subject||this.util.nameToVariable(u,e),h=d.graph||e.graph;d.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(d.auxiliaryPatterns));let f=!0,y=null;if(r&&t.arguments&&t.arguments.length)for(const n of t.arguments){if("_"===n.name.value){const i=this.util.handleNodeValue(n.value,t.name.value,e);y=i.terms,l.push(this.util.operationFactory.createBgp(i.terms.map((r=>this.util.createQuadPattern(e.subject,t.name,r,e.graph,e.context))))),i.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(i.auxiliaryPatterns)),r=!1;break}if("graph"===n.name.value){const r=this.util.handleNodeValue(n.value,t.name.value,e);if(1!==r.terms.length)throw new Error(`Only single values can be set as graph, but got ${r.terms.length} at ${t.name.value}`);h=r.terms[0],e=Object.assign(Object.assign({},e),{graph:h}),r.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(r.auxiliaryPatterns));break}if("alt"===n.name.value){let r=n.value;"ListValue"!==r.kind&&(r={kind:"ListValue",values:[r]}),l.push(this.util.createQuadPath(e.subject,t.name,r,p,e.graph,e.context)),f=!1;break}}if(r&&f&&l.push(this.util.operationFactory.createBgp([this.util.createQuadPattern(e.subject,t.name,p,e.graph,e.context)])),t.arguments&&t.arguments.length)for(const r of t.arguments)if("_"===r.name.value||"graph"===r.name.value||"alt"===r.name.value);else if("first"===r.name.value){if("IntValue"!==r.value.kind)throw new Error("Invalid value type for 'first' argument: "+r.value.kind);s=parseInt(r.value.value,10)}else if("offset"===r.name.value){if("IntValue"!==r.value.kind)throw new Error("Invalid value type for 'offset' argument: "+r.value.kind);c=parseInt(r.value.value,10)}else{const t=this.util.handleNodeValue(r.value,r.name.value,e);l.push(this.util.operationFactory.createBgp(t.terms.map((t=>this.util.createQuadPattern(p,r.name,t,e.graph,e.context))))),t.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(t.auxiliaryPatterns))}const g=this.getDirectiveOutputs(t.directives,u,e);if(!g)return this.util.operationFactory.createBgp([]);let m=this.util.joinOperations(l);if(t.selectionSet&&t.selectionSet.selections.length){if(y){if(1!==y.length)throw new Error(`Only single values can be set as id, but got ${y.length} at ${t.name.value}`);p=y[0]}const r=Object.assign(Object.assign(Object.assign({},e),a?{path:this.util.appendFieldToPath(e.path,u)}:{}),{graph:h,subject:a?p:e.subject});let n=!1;const i=t.selectionSet.selections.filter((e=>"Field"!==e.kind||"totalCount"!==e.name.value||(n=!0,!1)));let o=this.util.joinOperations(l.concat(i.map((e=>this.util.handleNode(e,r)))));if(n){const t=this.util.dataFactory.variable("var"+this.settings.expressionVariableCounter++),r=this.util.dataFactory.variable(p.value+this.settings.variableDelimiter+"totalCount"),n=this.util.operationFactory.createBoundAggregate(t,"count",this.util.operationFactory.createTermExpression(p),!1),a=this.util.operationFactory.createProject(this.util.operationFactory.createExtend(this.util.operationFactory.createGroup(m,[],[n]),r,this.util.operationFactory.createTermExpression(t)),[r]);e.terminalVariables.push(r),o=i.length?this.util.operationFactory.createJoin([this.util.operationFactory.createProject(o,[]),a]):a}m=o}else r&&"Variable"===p.termType&&e.terminalVariables.push(p);return(c||s)&&(m=this.util.operationFactory.createSlice(this.util.operationFactory.createProject(m,n.Util.inScopeVariables(m)),c,s)),this.handleDirectiveOutputs(g,m)}handleMetaField(e,t,r){if("__typename"===t){const n=this.util.nameToVariable(t,e);return e.terminalVariables.push(n),this.util.operationFactory.createBgp([this.util.operationFactory.createPattern(e.subject,this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),this.util.nameToVariable(t,e),e.graph)].concat(r||[]))}}}t.NodeHandlerSelectionAdapter=a},89275:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionField=void 0;const n=r(53284);class i extends n.NodeHandlerSelectionAdapter{constructor(e,t){super("Field",e,t)}handle(e,t){return this.fieldToOperation(t,e,!0)}}t.NodeHandlerSelectionField=i},16332:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionFragmentSpread=void 0;const n=r(53284);class i extends n.NodeHandlerSelectionAdapter{constructor(e,t){super("FragmentSpread",e,t)}handle(e,t){const r=t.fragmentDefinitions[e.name.value];if(!r)throw new Error("Undefined fragment definition: "+e.name.value);const n={alias:void 0,arguments:void 0,directives:r.directives,kind:"Field",name:e.name,selectionSet:r.selectionSet},i=[this.util.newTypePattern(t.subject,r.typeCondition,t)];return this.util.operationFactory.createLeftJoin(this.util.operationFactory.createBgp([]),this.fieldToOperation(t,n,!1,i))}}t.NodeHandlerSelectionFragmentSpread=i},29638:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionInlineFragment=void 0;const n=r(53284);class i extends n.NodeHandlerSelectionAdapter{constructor(e,t){super("InlineFragment",e,t)}handle(e,t){const r={alias:void 0,arguments:void 0,directives:e.directives,kind:"Field",name:{kind:"Name",value:t.subject.value},selectionSet:e.selectionSet},n=e.typeCondition?[this.util.newTypePattern(t.subject,e.typeCondition,t)]:[];return this.util.operationFactory.createLeftJoin(this.util.operationFactory.createBgp([]),this.fieldToOperation(t,r,!1,n))}}t.NodeHandlerSelectionInlineFragment=i},67797:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerAdapter=void 0,t.DirectiveNodeHandlerAdapter=class{constructor(e,t,r){this.targetKind=e,this.util=t,this.settings=r}getDirectiveConditionalValue(e,t){const r=this.util.getArgument(e.arguments,"if");if(!r)throw new Error(`The directive ${e.name.value} is missing an if-argument.`);const n=this.util.handleNodeValue(r.value,r.name.value,t);if(1!==n.terms.length)throw new Error(`Can not apply the directive ${e.name.value} with a list.`);return n.terms[0]}isDirectiveScopeAll(e){const t=this.util.getArgument(e.arguments,"scope");return t&&"EnumValue"===t.value.kind&&"all"===t.value.value}}},63125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerInclude=void 0;const n=r(67797);class i extends n.DirectiveNodeHandlerAdapter{constructor(e,t){super("include",e,t)}handle(e,t){const r=this.getDirectiveConditionalValue(e.directive,t);return"Literal"===r.termType&&"false"===r.value?{ignore:!0}:{}}}t.DirectiveNodeHandlerInclude=i},53992:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerOptional=void 0;const n=r(67797);class i extends n.DirectiveNodeHandlerAdapter{constructor(e,t){super("optional",e,t)}handle(e,t){return{operationOverrider:e=>this.util.operationFactory.createLeftJoin(this.util.operationFactory.createBgp([]),e)}}}t.DirectiveNodeHandlerOptional=i},95570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerPlural=void 0;const n=r(65183),i=r(67797);class o extends i.DirectiveNodeHandlerAdapter{constructor(e,t){super("plural",e,t)}handle(e,t){return this.isDirectiveScopeAll(e.directive)&&(t.singularizeState=n.SingularizeState.PLURAL),delete t.singularizeVariables[this.util.nameToVariable(e.fieldLabel,t).value],{}}}t.DirectiveNodeHandlerPlural=o},15064:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerSingle=void 0;const n=r(65183),i=r(67797);class o extends i.DirectiveNodeHandlerAdapter{constructor(e,t){super("single",e,t)}handle(e,t){return this.isDirectiveScopeAll(e.directive)&&(t.singularizeState=n.SingularizeState.SINGLE),t.singularizeVariables[this.util.nameToVariable(e.fieldLabel,t).value]=!0,{}}}t.DirectiveNodeHandlerSingle=o},30879:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerSkip=void 0;const n=r(67797);class i extends n.DirectiveNodeHandlerAdapter{constructor(e,t){super("skip",e,t)}handle(e,t){const r=this.getDirectiveConditionalValue(e.directive,t);return"Literal"===r.termType&&"true"===r.value?{ignore:!0}:{}}}t.DirectiveNodeHandlerSkip=i},2307:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67797),t),i(r(63125),t),i(r(53992),t),i(r(95570),t),i(r(15064),t),i(r(30879),t)},70297:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(2307),t),i(r(4391),t),i(r(75566),t),i(r(66337),t),i(r(13260),t),i(r(91891),t),i(r(98960),t),i(r(53284),t),i(r(89275),t),i(r(16332),t),i(r(29638),t)},55009:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerAdapter=void 0,t.NodeValueHandlerAdapter=class{constructor(e,t,r){this.targetKind=e,this.util=t,this.settings=r}}},22910:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerBoolean=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("BooleanValue",e,t),this.datatype=this.util.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean")}handle(e,t,r){return{terms:[this.util.dataFactory.literal(e.value?"true":"false",this.datatype)]}}}t.NodeValueHandlerBoolean=i},67057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerEnum=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("EnumValue",e,t)}handle(e,t,r){return{terms:[this.util.valueToNamedNode(e.value,r.context)]}}}t.NodeValueHandlerEnum=i},968:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerFloat=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("FloatValue",e,t),this.datatype=this.util.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#float")}handle(e,t,r){return{terms:[this.util.dataFactory.literal(e.value,this.datatype)]}}}t.NodeValueHandlerFloat=i},1463:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerInt=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("IntValue",e,t),this.datatype=this.util.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer")}handle(e,t,r){return{terms:[this.util.dataFactory.literal(e.value,this.datatype)]}}}t.NodeValueHandlerInt=i},57044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerList=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("ListValue",e,t),this.nodeFirst=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first"),this.nodeRest=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest"),this.nodeNil=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil")}handle(e,t,r){const n=[];let i=[];for(const o of e.values){const e=this.util.handleNodeValue(o,t,r);for(const t of e.terms)n.push(t);e.auxiliaryPatterns&&(i=i.concat(e.auxiliaryPatterns))}if(this.settings.arraysToRdfLists){const e=this.util.dataFactory.blankNode();let t=e,o=n.length;for(const e of n){i.push(this.util.operationFactory.createPattern(t,this.nodeFirst,e,r.graph));const n=0==--o?this.nodeNil:this.util.dataFactory.blankNode();i.push(this.util.operationFactory.createPattern(t,this.nodeRest,n,r.graph)),t=n}return{terms:[e],auxiliaryPatterns:i}}return{terms:n,auxiliaryPatterns:i}}}t.NodeValueHandlerList=i},13381:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerNull=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("NullValue",e,t),this.nil=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil")}handle(e,t,r){return{terms:[this.nil]}}}t.NodeValueHandlerNull=i},89339:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerObject=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("ObjectValue",e,t)}handle(e,t,r){const n=this.util.dataFactory.blankNode();let i=[];for(const o of e.fields){const e=this.util.handleNodeValue(o.value,t,r);for(const t of e.terms)i.push(this.util.createQuadPattern(n,o.name,t,r.graph,r.context));e.auxiliaryPatterns&&(i=i.concat(e.auxiliaryPatterns))}return{terms:[n],auxiliaryPatterns:i}}}t.NodeValueHandlerObject=i},86085:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerString=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("StringValue",e,t)}handle(e,t,r){const n=r.context.getContextRaw()[t];let i,o;return n&&"string"!=typeof n&&(n["@language"]?i=n["@language"]:n["@type"]&&(o=this.util.dataFactory.namedNode(n["@type"]))),{terms:[this.util.dataFactory.literal(e.value,i||o)]}}}t.NodeValueHandlerString=i},62784:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerVariable=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("Variable",e,t)}handle(e,t,r){const n=e.name.value,i=r.variablesDict[n],o=r.variablesMetaDict[n];if(!i){if(r.ignoreUnknownVariables||o&&!o.mandatory){const e=this.util.dataFactory.variable(n);return r.terminalVariables.map((e=>e.value)).indexOf(n)<0&&r.terminalVariables.push(e),{terms:[e]}}throw new Error(`Undefined variable: ${n}`)}if("Variable"===i.kind)throw new Error(`Variable refers to another variable: ${n}`);if(o)if(o.list){if("ListValue"!==i.kind)throw new Error(`Expected a list, but got ${i.kind} for ${n}`);if(o.type){const e=i;for(const t of e.values)if(t.kind!==o.type)throw new Error(`Expected ${o.type}, but got ${t.kind} for ${n}`)}}else o.type;return this.util.handleNodeValue(i,t,r)}}t.NodeValueHandlerVariable=i},4391:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(55009),t),i(r(22910),t),i(r(67057),t),i(r(968),t),i(r(1463),t),i(r(57044),t),i(r(13381),t),i(r(89339),t),i(r(86085),t),i(r(62784),t)},61082:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(57930),t),i(r(44785),t),i(r(32176),t),i(r(16347),t),i(r(46043),t),i(r(63146),t),i(r(36624),t)},57930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0;const n=r(70742),i=r(44785),o=r(32176),a=r(63146),s=r(36624);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},44785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},32176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0;const n=r(44785),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},16347:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46043:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},63146:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(44785),o=r(36624);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},17394:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.toSparqlJs=t.toSparql=t.Factory=t.Algebra=t.translate=void 0;const s=a(r(70189));t.translate=s.default;const c=o(r(8498));t.Algebra=c;const u=a(r(35344));t.Factory=u.default;const l=r(74093);Object.defineProperty(t,"toSparql",{enumerable:!0,get:function(){return l.toSparql}}),Object.defineProperty(t,"toSparqlJs",{enumerable:!0,get:function(){return l.toSparqlJs}});const d=a(r(53496));t.Util=d.default},8498:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.expressionTypes=t.types=void 0,(n=t.types||(t.types={})).ALT="alt",n.ASK="ask",n.BGP="bgp",n.CONSTRUCT="construct",n.DESCRIBE="describe",n.DISTINCT="distinct",n.EXPRESSION="expression",n.EXTEND="extend",n.FILTER="filter",n.FROM="from",n.GRAPH="graph",n.GROUP="group",n.INV="inv",n.JOIN="join",n.LEFT_JOIN="leftjoin",n.LINK="link",n.MINUS="minus",n.NOP="nop",n.NPS="nps",n.ONE_OR_MORE_PATH="OneOrMorePath",n.ORDER_BY="orderby",n.PATH="path",n.PATTERN="pattern",n.PROJECT="project",n.REDUCED="reduced",n.SEQ="seq",n.SERVICE="service",n.SLICE="slice",n.UNION="union",n.VALUES="values",n.ZERO_OR_MORE_PATH="ZeroOrMorePath",n.ZERO_OR_ONE_PATH="ZeroOrOnePath",n.COMPOSITE_UPDATE="compositeupdate",n.DELETE_INSERT="deleteinsert",n.LOAD="load",n.CLEAR="clear",n.CREATE="create",n.DROP="drop",n.ADD="add",n.MOVE="move",n.COPY="copy",(r=t.expressionTypes||(t.expressionTypes={})).AGGREGATE="aggregate",r.EXISTENCE="existence",r.NAMED="named",r.OPERATOR="operator",r.TERM="term",r.WILDCARD="wildcard"},35344:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(8498)),s=r(47793),c=r(43347),u=r(98082);t.default=class{constructor(e){this.dataFactory=e||new s.DataFactory,this.stringType=this.createTerm("http://www.w3.org/2001/XMLSchema#string")}createAlt(e,t=!0){return this.flattenMulti({type:a.types.ALT,input:e},t)}createAsk(e){return{type:a.types.ASK,input:e}}createBoundAggregate(e,t,r,n,i){const o=this.createAggregateExpression(t,r,n,i);return o.variable=e,o}createBgp(e){return{type:a.types.BGP,patterns:e}}createConstruct(e,t){return{type:a.types.CONSTRUCT,input:e,template:t}}createDescribe(e,t){return{type:a.types.DESCRIBE,input:e,terms:t}}createDistinct(e){return{type:a.types.DISTINCT,input:e}}createExtend(e,t,r){return{type:a.types.EXTEND,input:e,variable:t,expression:r}}createFrom(e,t,r){return{type:a.types.FROM,input:e,default:t,named:r}}createFilter(e,t){return{type:a.types.FILTER,input:e,expression:t}}createGraph(e,t){return{type:a.types.GRAPH,input:e,name:t}}createGroup(e,t,r){return{type:a.types.GROUP,input:e,variables:t,aggregates:r}}createInv(e){return{type:a.types.INV,path:e}}createJoin(e,t=!0){return this.flattenMulti({type:a.types.JOIN,input:e},t)}createLeftJoin(e,t,r){return r?{type:a.types.LEFT_JOIN,input:[e,t],expression:r}:{type:a.types.LEFT_JOIN,input:[e,t]}}createLink(e){return{type:a.types.LINK,iri:e}}createMinus(e,t){return{type:a.types.MINUS,input:[e,t]}}createNop(){return{type:a.types.NOP}}createNps(e){return{type:a.types.NPS,iris:e}}createOneOrMorePath(e){return{type:a.types.ONE_OR_MORE_PATH,path:e}}createOrderBy(e,t){return{type:a.types.ORDER_BY,input:e,expressions:t}}createPath(e,t,r,n){return n?{type:a.types.PATH,subject:e,predicate:t,object:r,graph:n}:{type:a.types.PATH,subject:e,predicate:t,object:r,graph:this.dataFactory.defaultGraph()}}createPattern(e,t,r,n){const i=this.dataFactory.quad(e,t,r,n);return i.type=a.types.PATTERN,i}createProject(e,t){return{type:a.types.PROJECT,input:e,variables:t}}createReduced(e){return{type:a.types.REDUCED,input:e}}createSeq(e,t=!0){return this.flattenMulti({type:a.types.SEQ,input:e},t)}createService(e,t,r){return{type:a.types.SERVICE,input:e,name:t,silent:Boolean(r)}}createSlice(e,t,r){return t=t||0,void 0!==r?{type:a.types.SLICE,input:e,start:t,length:r}:{type:a.types.SLICE,input:e,start:t}}createUnion(e,t=!0){return this.flattenMulti({type:a.types.UNION,input:e},t)}createValues(e,t){return{type:a.types.VALUES,variables:e,bindings:t}}createZeroOrMorePath(e){return{type:a.types.ZERO_OR_MORE_PATH,path:e}}createZeroOrOnePath(e){return{type:a.types.ZERO_OR_ONE_PATH,path:e}}createAggregateExpression(e,t,r,n){return n?{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,separator:n,distinct:r}:{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,distinct:r}}createExistenceExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.EXISTENCE,not:e,input:t}}createNamedExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.NAMED,name:e,args:t}}createOperatorExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.OPERATOR,operator:e,args:t}}createTermExpression(e){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.TERM,term:e}}createWildcardExpression(){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.WILDCARD,wildcard:new u.Wildcard}}createTerm(e){return(0,c.stringToTerm)(e,this.dataFactory)}createCompositeUpdate(e){return{type:a.types.COMPOSITE_UPDATE,updates:e}}createDeleteInsert(e,t,r){const n={type:a.types.DELETE_INSERT};return e&&(n.delete=e),t&&(n.insert=t),r&&(n.where=r),n}createLoad(e,t,r){const n={type:a.types.LOAD,source:e};return t&&(n.destination=t),this.addSilent(n,Boolean(r))}createClear(e,t){return this.addSilent({type:a.types.CLEAR,source:e},Boolean(t))}createCreate(e,t){return this.addSilent({type:a.types.CREATE,source:e},Boolean(t))}createDrop(e,t){return this.addSilent({type:a.types.DROP,source:e},Boolean(t))}createAdd(e,t,r){return this.addSilent({type:a.types.ADD,source:e,destination:t},Boolean(r))}createMove(e,t,r){return this.addSilent({type:a.types.MOVE,source:e,destination:t},Boolean(r))}createCopy(e,t,r){return this.addSilent({type:a.types.COPY,source:e,destination:t},Boolean(r))}addSilent(e,t){return t&&(e.silent=t),e}flattenMulti(e,t){if(!t)return e;const r=e.type,n=e.input;let i=[];for(const e of n)e.type===r?i.push(...e.input):i.push(e);return e.input=i,e}}},74093:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.toSparqlJs=t.toSparql=void 0;const s=r(62699),c=r(43347),u=r(98082),l=o(r(8498)),d=a(r(35344)),p=a(r(53496)),h=l.types,f=l.expressionTypes;let y;const g=new d.default;function m(e){b();let t=_(e=function(e){return D(e,[])}(e));return"group"===t.type?t.patterns[0]:t}function b(){y={project:!1,extend:[],group:[],aggregates:[],order:[]}}function _(e){switch(e.type!==h.EXTEND&&e.type!==h.ORDER_BY&&e.type!==h.GRAPH&&(y.project=!1),e.type){case h.EXPRESSION:return v(e);case h.ASK:return A(e,h.ASK);case h.BGP:return function(e){let t=e.patterns.map(O);return 0===t.length?null:{type:"bgp",triples:t}}(e);case h.CONSTRUCT:return function(e){return{type:"query",prefixes:{},queryType:"CONSTRUCT",template:e.template.map(O),where:p.default.flatten([_(e.input)])}}(e);case h.DESCRIBE:return A(e,h.DESCRIBE);case h.DISTINCT:return function(e){let t=_(e.input);return t.patterns[0].distinct=!0,t}(e);case h.EXTEND:return function(e){return y.project?(y.extend.push(e),_(e.input)):p.default.flatten([_(e.input),{type:"bind",variable:e.variable,expression:v(e.expression)}])}(e);case h.FROM:return function(e){const t=_(e.input);let r=t;return"group"===t.type&&(r=t.patterns[0]),r.from={default:e.default,named:e.named},t}(e);case h.FILTER:return function(e){return{type:"group",patterns:p.default.flatten([_(e.input),{type:"filter",expression:v(e.expression)}])}}(e);case h.GRAPH:return function(e){return{type:"graph",patterns:p.default.flatten([_(e.input)]),name:e.name}}(e);case h.GROUP:return function(e){const t=_(e.input),r=e.aggregates.map(T);return y.aggregates.push(...r),y.group.push(...e.variables),t}(e);case h.JOIN:return function(e){return p.default.flatten(e.input.map(_)).reduce(((e,t)=>("bgp"!==t.type||0==e.length||"bgp"!==e[e.length-1].type?e.push(t):e[e.length-1].triples.push(...t.triples),e)),[])}(e);case h.LEFT_JOIN:return function(e){const t={type:"optional",patterns:[_(e.input[1])]};return e.expression&&t.patterns.push({type:"filter",expression:v(e.expression)}),t.patterns=p.default.flatten(t.patterns),p.default.flatten([_(e.input[0]),t])}(e);case h.MINUS:return function(e){let t=_(e.input[1]);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),p.default.flatten([_(e.input[0]),{type:"minus",patterns:t}])}(e);case h.NOP:return{};case h.ORDER_BY:return function(e){return y.order.push(...e.expressions),_(e.input)}(e);case h.PATH:return function(e){return{type:"bgp",triples:[{subject:e.subject,predicate:w(e.predicate),object:e.object}]}}(e);case h.PATTERN:return O(e);case h.PROJECT:return A(e,h.PROJECT);case h.REDUCED:return function(e){let t=_(e.input);return t.patterns[0].reduced=!0,t}(e);case h.SERVICE:return function(e){let t=_(e.input);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),{type:"service",name:e.name,silent:e.silent,patterns:t}}(e);case h.SLICE:return function(e){let t=_(e.input),r=t;return t.type&&"group"===t.type&&(r=t.patterns[0]),0!==e.start&&(r.offset=e.start),void 0!==e.length&&(r.limit=e.length),t}(e);case h.UNION:return function(e){return{type:"union",patterns:e.input.map(_).map(E)}}(e);case h.VALUES:return function(e){return{type:"values",values:e.bindings.map((t=>{let r={};for(let n of e.variables){let e=`?${n.value}`;t[e]?r[e]=t[e]:r[e]=void 0}return r}))}}(e);case h.COMPOSITE_UPDATE:return function(e){return{prefixes:{},type:"update",updates:e.updates.map((e=>_(e).updates[0]))}}(e);case h.DELETE_INSERT:return function(e){var t;let r,n=e.where;if(n&&n.type===h.FROM){let e=n;n=e.input,r={default:e.default,named:e.named}}const i=[{updateType:"insertdelete",delete:F(e.delete||[]),insert:F(e.insert||[])}];if(r&&(i[0].using=r),!n||n.type===h.BGP&&0===n.patterns.length)i[0].where=[];else{const e=[];let r=_(D(n,e));if("group"===r.type?i[0].where=r.patterns:i[0].where=[r],e.length>0){if(1!==e.length)throw new Error("This is unexpected and might indicate an error in graph handling for updates.");""!==(null===(t=e[0])||void 0===t?void 0:t.value)&&(i[0].where=[{type:"graph",patterns:i[0].where,name:e[0]}])}}return e.delete||e.where?e.insert||e.where?!e.insert&&e.where&&"bgp"===e.where.type&&(0,s.isomorphic)(e.delete,e.where.patterns)&&(delete i[0].where,i[0].updateType="deletewhere"):(delete i[0].insert,delete i[0].where,e.delete.some((e=>"Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType))?i[0].updateType="deletewhere":i[0].updateType="delete"):(i[0].updateType="insert",delete i[0].delete,delete i[0].where),{prefixes:{},type:"update",updates:i}}(e);case h.LOAD:return function(e){const t=[{type:"load",silent:Boolean(e.silent),source:e.source}];return e.destination&&(t[0].destination=e.destination),{prefixes:{},type:"update",updates:t}}(e);case h.CLEAR:return function(e){return R(e,"clear")}(e);case h.CREATE:return function(e){return R(e,"create")}(e);case h.DROP:return function(e){return R(e,"drop")}(e);case h.ADD:return function(e){return P(e,"add")}(e);case h.MOVE:return function(e){return P(e,"move")}(e);case h.COPY:return function(e){return P(e,"copy")}(e)}throw new Error(`Unknown Operation type ${e.type}`)}function v(e){switch(e.expressionType){case f.AGGREGATE:return function(e){const t={expression:v(e.expression),type:"aggregate",aggregation:e.aggregator,distinct:e.distinct};return e.separator&&(t.separator=e.separator),t}(e);case f.EXISTENCE:return function(e){return{type:"operation",operator:e.not?"notexists":"exists",args:p.default.flatten([_(e.input)])}}(e);case f.NAMED:return function(e){return{type:"functionCall",function:e.name,args:e.args.map(v)}}(e);case f.OPERATOR:return function(e){if("desc"===e.operator){return{expression:v(e.args[0]),descending:!0}}const t={type:"operation",operator:e.operator,args:e.args.map(v)};return"in"!==t.operator&&"notin"!==t.operator||(t.args=[t.args[0]].concat([t.args.slice(1)])),t}(e);case f.TERM:return function(e){return e.term}(e);case f.WILDCARD:return function(e){return e.wildcard}(e)}throw new Error(`Unknown Expression Operation type ${e.expressionType}`)}function w(e){switch(e.type){case h.ALT:return function(e){const t=e.input.map(w);return t.every((e=>"pathType"in e&&"!"===e.pathType))?{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:p.default.flatten(t.map((e=>e.items)))}]}:{type:"path",pathType:"|",items:t}}(e);case h.INV:return function(e){if(e.path.type===h.NPS){const t=e.path.iris.map((e=>({type:"path",pathType:"^",items:[e]})));return t.length<=1?{type:"path",pathType:"!",items:t}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:t}]}}return{type:"path",pathType:"^",items:[w(e.path)]}}(e);case h.LINK:return function(e){return e.iri}(e);case h.NPS:return function(e){return e.iris.length<=1?{type:"path",pathType:"!",items:e.iris}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:e.iris}]}}(e);case h.ONE_OR_MORE_PATH:return function(e){return{type:"path",pathType:"+",items:[w(e.path)]}}(e);case h.SEQ:return function(e){return{type:"path",pathType:"/",items:e.input.map(w)}}(e);case h.ZERO_OR_MORE_PATH:return function(e){return{type:"path",pathType:"*",items:[w(e.path)]}}(e);case h.ZERO_OR_ONE_PATH:return function(e){return{type:"path",pathType:"?",items:[w(e.path)]}}(e)}throw new Error(`Unknown Path type ${e.type}`)}function S(e){return(0,c.termToString)(e)}function E(e){return Array.isArray(e)?1===e.length?e[0]:{type:"group",patterns:e}:e}function T(e){return e}function O(e){return{subject:e.subject,predicate:e.predicate,object:e.object}}function x(e,t){let r=p.default.isSimpleTerm(e)?S(e):e;if("string"==typeof r){if(t[r])return t[r]}else if(Array.isArray(e))e=e.map((e=>x(e,t)));else for(let r of Object.keys(e))e[r]=x(e[r],t);return e}function A(e,t){const r={type:"query",prefixes:{}},n=r;let i;t===h.PROJECT?(r.queryType="SELECT",i=e.variables):t===h.ASK?r.queryType="ASK":t===h.DESCRIBE&&(r.queryType="DESCRIBE",i=e.terms);const o=y.extend,a=y.group,s=y.aggregates,c=y.order;b(),y.project=!0;let l=p.default.flatten([_(e.input)]);1===l.length&&"group"===l[0].type&&(l=l[0].patterns),r.where=l;let d={};for(let e of y.aggregates)d[S(e.variable)]=v(e);let f={};for(let e=y.extend.length-1;e>=0;--e){let t=y.extend[e];f[S(t.variable)]=x(v(t.expression),d)}if(y.group.length>0&&(n.group=y.group.map((e=>{let t=S(e);if(f[t]){let r=f[t];return delete f[t],{variable:e,expression:r}}return{expression:e}}))),y.order.length>0&&(n.order=y.order.map(_).map((e=>e.descending?e:{expression:e}))),i&&(n.variables=i.map((e=>{let t=S(e);return f[t]?{variable:e,expression:f[t]}:e})),0===n.variables.length&&(n.variables=[new u.Wildcard])),r.where.length>0&&"filter"===r.where[r.where.length-1].type){const e=r.where[r.where.length-1];I(e,Object.keys(d))&&(n.having=p.default.flatten([x(e.expression,d)]),r.where.splice(-1))}return y.extend=o,y.group=a,y.aggregates=s,y.order=c,{type:"group",patterns:[n]}}function I(e,t){return p.default.isSimpleTerm(e)?t.indexOf(S(e))>=0:Array.isArray(e)?e.some((e=>I(e,t))):e===Object(e)?Object.keys(e).some((r=>I(e[r],t))):t.indexOf(e)>=0}function R(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return"DEFAULT"===e.source?r[0].graph={default:!0}:"NAMED"===e.source?r[0].graph={named:!0}:"ALL"===e.source?r[0].graph={all:!0}:r[0].graph={type:"graph",name:e.source},{prefixes:{},type:"update",updates:r}}function P(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return r[0].source="DEFAULT"===e.source?{type:"graph",default:!0}:{type:"graph",name:e.source},r[0].destination="DEFAULT"===e.destination?{type:"graph",default:!0}:{type:"graph",name:e.destination},{prefixes:{},type:"update",updates:r}}function F(e){if(!e)return[];const t={};return e.forEach((e=>{const r=e.graph.value;t[r]||(t[r]=[]),t[r].push(e)})),Object.keys(t).map((e=>""===e?{type:"bgp",triples:t[e].map(O)}:{type:"graph",triples:t[e].map(O),name:t[e][0].graph}))}function D(e,t){if(Array.isArray(e))return e.map((e=>D(e,t)));if(!e.type)return e;if(e.type===h.DELETE_INSERT)return e;if((e.type===h.PATTERN||e.type===h.PATH)&&e.graph)return t.push(e.graph),""!==e.graph.name?e.type===h.PATTERN?g.createPattern(e.subject,e.predicate,e.object):g.createPath(e.subject,e.predicate,e.object):e;const r={},n={},i={};for(let t of Object.keys(e)){const o=[];if(r[t]=D(e[t],o),o.length>0){n[t]=o;for(const e of o)i[e.value]=e}}const o=Object.keys(i);if(o.length>0)if(1!==o.length||[h.PROJECT,h.SERVICE].includes(e.type)){if(e.type===h.BGP)return function(e,t){var r;const n={};for(let i=0;i""===n[e][0].value?t:g.createGraph(t,n[e][r]))):""!==n[e][0].value&&(r[e]=g.createGraph(t,n[e][0]))}}else t.push(i[o[0]]);return r}t.toSparql=function(e,t={}){return new u.Generator(t).stringify(m(e))},t.toSparqlJs=m},70189:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(29252),c=r(43347),u=o(r(8498)),l=a(r(35344)),d=a(r(53496)),p=r(98082).Parser,h=u.types;let f,y=new Set,g=0,m=!1;function b(e,t,r){if(y=new Set,g=0,m=Boolean(t),!e.type)return f.createNop();if("query"!==e.type&&"update"!==e.type)throw new Error("Translate only works on complete query or update objects.");let n;var i;return w(e),"query"===e.type?(n=E({type:"group",patterns:e.where||[]}),n=function(e,t){const r=e,n=[],i={};if(r.variables=r.variables&&r.variables.map((e=>j(e,i))),r.having=r.having&&r.having.map((e=>j(e,i))),r.order=r.order&&r.order.map((e=>j(e,i))),r.group||Object.keys(i).length>0){const e=Object.keys(i).map((e=>function(e,t){if("aggregate"!==e.type||!e.aggregation)throw new Error(`Unexpected input: ${JSON.stringify(e)}`);const r=T(e);return r.variable=t,r}(i[e],f.createTerm(e)))),n=[];if(r.group)for(const e of r.group)if(d.default.isSimpleTerm(e.expression))n.push(e.expression);else{const r="variable"in e?e.variable:A();t=f.createExtend(t,r,T(e.expression)),n.push(r)}t=f.createGroup(t,n,e)}if(r.having)for(let e of r.having)t=f.createFilter(t,T(e));e.values&&(t=f.createJoin([t,N(e)]));let o=[];if("SELECT"===e.queryType||"DESCRIBE"===e.queryType)if(e.variables.some((e=>e&&d.default.isWildcard(e))))o=Object.values(S(e)).sort(((e,t)=>e.value.localeCompare(t.value)));else for(let t of e.variables)v(t)||!("variable"in t)?o.push(t):t.variable&&(o.push(t.variable),n.push(t));for(let e of n)t=f.createExtend(t,e.variable,T(e.expression));return r.order&&(t=f.createOrderBy(t,r.order.map((e=>{let t=T(e.expression);return e.descending&&(t=f.createOperatorExpression("desc",[t])),t})))),"SELECT"===e.queryType&&(t=f.createProject(t,o)),r.distinct&&(t=f.createDistinct(t)),r.reduced&&(t=f.createReduced(t)),"CONSTRUCT"===e.queryType?t=f.createConstruct(t,(e.template||[]).map(I)):"ASK"===e.queryType?t=f.createAsk(t):"DESCRIBE"===e.queryType&&(t=f.createDescribe(t,o)),(r.offset||r.limit)&&(t=f.createSlice(t,r.offset||0,r.limit)),r.from&&(t=f.createFrom(t,r.from.default,r.from.named)),t}(e,n)):"update"===e.type&&(n=1===(i=e).updates.length?C(i.updates[0]):f.createCompositeUpdate(i.updates.map(C))),r&&(n=k(n)),n}function _(e){return Boolean(null==e?void 0:e.termType)}function v(e){return"Variable"===(null==e?void 0:e.termType)}function w(e){if(_(e))v(e)&&y.add(`?${e.value}`);else if(Array.isArray(e))for(const t of e)w(t);else if(e&&"object"==typeof e)for(let t of Object.keys(e))t.startsWith("?")&&y.add(t),w(e[t])}function S(e){let t={};if((r=e).subject&&r.predicate&&r.object){const r=[S(e.subject),S(e.predicate),S(e.object),e.graph?S(e.graph):{}];Object.assign(t,...r)}else if(_(e))v(e)&&(t[e.value]=e);else if("bgp"===e.type){const r=e.triples;Object.assign(t,...r.map(S))}else if("path"===e.type)Object.assign(t,...e.items.map(S));else if("group"===e.type||"union"===e.type||"optional"===e.type)Object.assign(t,...e.patterns.map(S));else if("service"===e.type||"graph"===e.type)Object.assign(t,S(e.name)),Object.assign(t,...e.patterns.map(S));else if("bind"===e.type)Object.assign(t,S(e.variable));else if("values"===e.type){if(e.values.length>0){const r=Object.keys(e.values[0]).map((e=>f.createTerm(e)));Object.assign(t,...r.map(S))}}else if("query"===e.type&&("SELECT"===e.queryType||"DESCRIBE"===e.queryType)){e.where&&e.variables.some(d.default.isWildcard)&&Object.assign(t,...e.where.map(S));for(const r of e.variables)v(r)?Object.assign(t,S(r)):r.variable&&Object.assign(t,S(r.variable));if("SELECT"===e.queryType){if(e.group)for(const r of e.group)r.variable&&Object.assign(t,S(r.variable));if(e.values){const r={type:"values",values:e.values};Object.assign(t,S(r))}}}var r;return t}function E(e){if("bgp"===e.type)return function(e){let t=[],r=[];for(let i of e.triples)if("pathType"in i.predicate){let e=x((n=i).subject,O(n.predicate),n.object);for(let n of e)n.type===h.PATH?(t.length>0&&r.push(f.createBgp(t)),t=[],r.push(n)):t.push(n)}else t.push(I(i));var n;return t.length>0&&r.push(f.createBgp(t)),1===r.length?r[0]:f.createJoin(r)}(e);if("union"===e.type)return f.createUnion(e.patterns.map((e=>("group"!==e.type&&(e={type:"group",patterns:[e]}),E(e)))));if("graph"===e.type){let t=E({type:"group",patterns:e.patterns});return t=m?P(t,e.name):f.createGraph(t,e.name),t}if("values"===e.type)return N(e);if("query"===e.type)return b(e,m,!1);if("group"===e.type){let t=[],r=[];for(let n of e.patterns)("filter"===n.type?t:r).push(n);let n=r.reduce(F,f.createBgp([])),i=t.map((e=>T(e.expression)));return i.length>0&&(n=f.createFilter(n,i.reduce(((e,t)=>f.createOperatorExpression("&&",[e,t]))))),n}throw new Error(`Unexpected type: ${e.type}`)}function T(e){if(d.default.isSimpleTerm(e))return f.createTermExpression(e);if(d.default.isQuad(e))return d.default.hasQuadVariables(e)?f.createOperatorExpression("triple",[T(e.subject),T(e.predicate),T(e.object)]):f.createTermExpression(e);if(d.default.isWildcard(e))return f.createWildcardExpression();if("aggregation"in e)return f.createAggregateExpression(e.aggregation,T(e.expression),Boolean(e.distinct),e.separator);if("function"in e)return f.createNamedExpression(e.function,e.args.map(T));if("operator"in e)return"exists"===e.operator||"notexists"===e.operator?f.createExistenceExpression("notexists"===e.operator,E(e.args[0])):("in"!==e.operator&&"notin"!==e.operator||(e.args=[e.args[0]].concat(e.args[1])),f.createOperatorExpression(e.operator,e.args.map(T)));throw new Error(`Unknown expression: ${JSON.stringify(e)}`)}function O(e){if(d.default.isSimpleTerm(e)){if("NamedNode"===e.termType)return f.createLink(e);throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(e)}`)}if("^"===e.pathType)return f.createInv(O(e.items[0]));if("!"===e.pathType){let t,r=[],n=[];t="pathType"in e.items[0]&&"|"===e.items[0].pathType?e.items[0].items:e.items;for(let e of t)if(d.default.isSimpleTerm(e))r.push(e);else{if("^"!==e.pathType)throw new Error(`Unexpected item: ${JSON.stringify(e)}`);n.push(e.items[0])}let i=f.createNps(r),o=f.createInv(f.createNps(n));return 0===n.length?i:0===r.length?o:f.createAlt([i,o])}if("/"===e.pathType)return f.createSeq(e.items.map(O));if("|"===e.pathType)return f.createAlt(e.items.map(O));if("*"===e.pathType)return f.createZeroOrMorePath(O(e.items[0]));if("+"===e.pathType)return f.createOneOrMorePath(O(e.items[0]));if("?"===e.pathType)return f.createZeroOrOnePath(O(e.items[0]));throw new Error(`Unable to translate path expression ${JSON.stringify(e)}`)}function x(e,t,r){if(t.type===h.LINK)return[f.createPattern(e,t.iri,r)];if(t.type===h.INV)return x(r,t.path,e);if(t.type===h.SEQ){let n=e;return d.default.flatten(t.input.map(((e,i)=>{const o=i===t.input.length-1?r:A(),a=x(n,e,o);return"Variable"===o.termType&&(n=o),a})))}return[f.createPath(e,t,r)]}function A(){let e="?var"+g++;return y.has(e)?A():(y.add(e),f.createTerm(e))}function I(e){if("pathType"in e.predicate)throw new Error("Trying to translate property path to quad.");return f.createPattern(e.subject,e.predicate,e.object,e.graph)}t.default=function(e,t){let r;if(t=t||{},f=new l.default(t.dataFactory),"string"==typeof e){let n=new p(t);n._resetBlanks(),r=n.parse(e)}else r=e;return b(r,t.quads,t.blankToVariable)};let R=Object.values(h);function P(e,t,r){if(e.type===h.GRAPH){if(r)throw new Error("Recursing through nested GRAPH statements with a replacement is impossible.");e=P(e.input,e.name)}else if(e.type===h.SERVICE);else if(e.type===h.BGP)e.patterns=e.patterns.map((e=>(r&&(e.subject.equals(t)&&(e.subject=r),e.predicate.equals(t)&&(e.predicate=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t),e)));else if(e.type===h.PATH)r&&(e.subject.equals(t)&&(e.subject=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t);else if(e.type!==h.PROJECT||r)if(e.type!==h.EXTEND||r)for(let n of Object.keys(e))Array.isArray(e[n])?e[n]=e[n].map((e=>P(e,t,r))):R.indexOf(e[n].type)>=0?e[n]=P(e[n],t,r):r&&v(e[n])&&e[n].equals(t)&&(e[n]=r);else e.variable.equals(t)&&(r=A()),e.input=P(e.input,t,r);else e.variables.some((e=>e.equals(t)))||(r=A()),e.input=P(e.input,t,r);return e}function F(e,t){if("optional"===t.type){const r=E({type:"group",patterns:t.patterns});e=r.type===h.FILTER?f.createLeftJoin(e,r.input,r.expression):f.createLeftJoin(e,r)}else if("minus"===t.type){const r=E({type:"group",patterns:t.patterns});e=f.createMinus(e,r)}else if("bind"===t.type)e=f.createExtend(e,t.variable,T(t.expression));else if("service"===t.type){const r={type:"group",patterns:t.patterns};e=D(e,f.createService(E(r),t.name,t.silent))}else e=D(e,E(t));return e}function D(e,t){return e.type===h.BGP&&t.type===h.BGP?e=f.createBgp([...e.patterns,...t.patterns]):e.type===h.BGP&&0===e.patterns.length?e=t:t.type===h.BGP&&0===t.patterns.length||(e=f.createJoin([e,t])),e}function N(e){let t=(0===e.values.length?[]:Object.keys(e.values[0])).map(f.createTerm.bind(f)),r=e.values.map((e=>{let t=Object.keys(e);t=t.filter((t=>void 0!==e[t]));let r={};for(let n of t)r[n]=e[n];return r}));return f.createValues(t,r)}function j(e,t){if("type"in e&&"aggregate"===e.type){let r,n=!1;for(let i of Object.keys(t))if(s(t[i],e)){r=f.createTerm(i),n=!0;break}return n||(r=A(),t[(0,c.termToString)(r)]=e),r}return"expression"in e&&e.expression?{...e,expression:j(e.expression,t)}:"args"in e&&e.args?{...e,args:e.args.map((e=>j(e,t)))}:e}function C(e){if("type"in e){if("load"===e.type)return function(e){return f.createLoad(e.source,e.destination,e.silent)}(e);if("clear"===e.type||"create"===e.type||"drop"===e.type)return function(e){let t;switch(t=d.default.isSimpleTerm(e.graph)?e.graph:e.graph.all?"ALL":e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.name,e.type){case"clear":return f.createClear(t,e.silent);case"create":return f.createCreate(t,e.silent);case"drop":return f.createDrop(t,e.silent)}}(e);if("add"===e.type||"copy"===e.type||"move"===e.type)return function(e){const t=e.source.default?"DEFAULT":e.source.name,r=e.destination.default?"DEFAULT":e.destination.name;switch(e.type){case"copy":return f.createCopy(t,r,e.silent);case"move":return f.createMove(t,r,e.silent);case"add":return f.createAdd(t,r,e.silent)}}(e)}else if("insertdelete"===e.updateType||"deletewhere"===e.updateType||"delete"===e.updateType||"insert"===e.updateType)return function(e){if(!m)throw new Error("INSERT/DELETE operations are only supported with quads option enabled");let t,r=[],n=[];if(e.delete&&(r=d.default.flatten(e.delete.map((t=>M(t,e.graph))))),e.insert&&(n=d.default.flatten(e.insert.map((t=>M(t,e.graph))))),e.where&&e.where.length>0){t=E({type:"group",patterns:e.where});const r=e.using;r?t=f.createFrom(t,r.default,r.named):e.graph&&(t=P(t,e.graph))}else"deletewhere"===e.updateType&&r.length>0&&(t=f.createBgp(r));return f.createDeleteInsert(r.length>0?r:void 0,n.length>0?n:void 0,t)}(e);throw new Error(`Unknown update type ${JSON.stringify(e)}`)}function M(e,t){let r=t;"graph"===e.type&&(r=e.name);let n=e.triples;return r&&(n=n.map((e=>Object.assign(e,{graph:r})))),n.map(I)}function k(e){const t={},r=Array.from(y).reduce(((e,t)=>(e[t]=!0,e)),{});return d.default.mapOperation(e,{[u.types.DELETE_INSERT]:e=>({result:e,recurse:!1}),[u.types.PATH]:(e,t)=>({result:t.createPath(n(e.subject),e.predicate,n(e.object),n(e.graph)),recurse:!1}),[u.types.PATTERN]:(e,t)=>({result:t.createPattern(n(e.subject),n(e.predicate),n(e.object),n(e.graph)),recurse:!1}),[u.types.CONSTRUCT]:e=>({result:f.createConstruct(k(e.input),e.template),recurse:!1})});function n(e){if("BlankNode"===e.termType){let n=t[e.value];return n||(n=d.default.createUniqueVariable(e.value,r,f.dataFactory),r[n.value]=!0,t[e.value]=n),n}return e}}},53496:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(8498),o=n(r(35344)),a=r(3285);class s{static flatten(e){return Array.prototype.concat(...e).filter((e=>e))}static objectify(e){if(e.termType){if("Quad"===e.termType)return{type:"pattern",termType:"Quad",subject:s.objectify(e.subject),predicate:s.objectify(e.predicate),object:s.objectify(e.object),graph:s.objectify(e.graph)};{let t={termType:e.termType,value:e.value};return e.language&&(t.language=e.language),e.datatype&&(t.datatype=s.objectify(e.datatype)),t}}if(Array.isArray(e))return e.map((e=>s.objectify(e)));if(e===Object(e)){let t={};for(let r of Object.keys(e))t[r]=s.objectify(e[r]);return t}return e}static inScopeVariables(e){const t=[];function r(e){t.find((t=>e.value===t.value))||t.push(e)}function n(e){"Variable"===e.subject.termType&&r(e.subject),"Variable"===e.predicate.termType&&r(e.predicate),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.predicate.termType&&n(e.predicate),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph)}return s.recurseOperation(e,{[i.types.EXPRESSION]:e=>(e.expressionType===i.expressionTypes.AGGREGATE&&e.variable&&r(e.variable),!0),[i.types.EXTEND]:e=>(r(e.variable),!0),[i.types.GRAPH]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.GROUP]:e=>(e.variables.forEach(r),!0),[i.types.PATH]:e=>("Variable"===e.subject.termType&&r(e.subject),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph),!0),[i.types.PATTERN]:e=>(n(e),!0),[i.types.PROJECT]:e=>(e.variables.forEach(r),!1),[i.types.SERVICE]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.VALUES]:e=>(e.variables.forEach(r),!0)}),t}static recurseOperation(e,t){let r=e,n=!0;const o=t[e.type];if(o&&(n=o(e)),!n)return;let a=e=>s.recurseOperation(e,t);switch(r.type){case i.types.ALT:r.input.map(a);break;case i.types.ASK:a(r.input);break;case i.types.BGP:r.patterns.forEach(a);break;case i.types.CONSTRUCT:a(r.input),r.template.map(a);break;case i.types.DESCRIBE:case i.types.DISTINCT:a(r.input);break;case i.types.EXPRESSION:r.expressionType===i.expressionTypes.EXISTENCE&&a(r.input);break;case i.types.EXTEND:case i.types.FILTER:a(r.input),a(r.expression);break;case i.types.FROM:case i.types.GRAPH:a(r.input);break;case i.types.GROUP:a(r.input),r.aggregates.forEach(a);break;case i.types.INV:a(r.path);break;case i.types.JOIN:r.input.map(a);break;case i.types.LEFT_JOIN:r.input.map(a),r.expression&&a(r.expression);break;case i.types.LINK:break;case i.types.MINUS:r.input.map(a);break;case i.types.NOP:case i.types.NPS:break;case i.types.ONE_OR_MORE_PATH:a(r.path);break;case i.types.ORDER_BY:a(r.input),r.expressions.forEach(a);break;case i.types.PATH:a(r.predicate);break;case i.types.PATTERN:break;case i.types.PROJECT:case i.types.REDUCED:a(r.input);break;case i.types.SEQ:r.input.map(a);break;case i.types.SERVICE:case i.types.SLICE:a(r.input);break;case i.types.UNION:r.input.map(a);break;case i.types.VALUES:break;case i.types.ZERO_OR_MORE_PATH:case i.types.ZERO_OR_ONE_PATH:a(r.path);break;case i.types.COMPOSITE_UPDATE:r.updates.forEach((e=>a(e)));break;case i.types.DELETE_INSERT:r.delete&&r.delete.forEach((e=>a(e))),r.insert&&r.insert.forEach((e=>a(e))),r.where&&a(r.where);break;case i.types.LOAD:case i.types.CLEAR:case i.types.CREATE:case i.types.DROP:case i.types.ADD:case i.types.MOVE:case i.types.COPY:break;default:throw new Error(`Unknown Operation type ${r.type}`)}}static mapOperation(e,t,r){let n=e,a=!0,c=!0;r=r||new o.default;const u=t[e.type];if(u){const t=u(e,r);n=t.result,a=t.recurse,c=!1!==t.copyMetadata}let l;if(c&&(n.metadata||e.metadata)&&(l={...n.metadata,...e.metadata}),!a)return l&&(n.metadata=l),n;let d=e=>s.mapOperation(e,t,r);switch(n.type){case i.types.ALT:n=r.createAlt(n.input.map(d));break;case i.types.ASK:n=r.createAsk(d(n.input));break;case i.types.BGP:n=r.createBgp(n.patterns.map(d));break;case i.types.CONSTRUCT:n=r.createConstruct(d(n.input),n.template.map(d));break;case i.types.DESCRIBE:n=r.createDescribe(d(n.input),n.terms);break;case i.types.DISTINCT:n=r.createDistinct(d(n.input));break;case i.types.EXPRESSION:n=s.mapExpression(n,t,r);break;case i.types.EXTEND:n=r.createExtend(d(n.input),n.variable,d(n.expression));break;case i.types.FILTER:n=r.createFilter(d(n.input),d(n.expression));break;case i.types.FROM:n=r.createFrom(d(n.input),[...n.default],[...n.named]);break;case i.types.GRAPH:n=r.createGraph(d(n.input),n.name);break;case i.types.GROUP:n=r.createGroup(d(n.input),[].concat(n.variables),n.aggregates.map(d));break;case i.types.INV:n=r.createInv(d(n.path));break;case i.types.JOIN:n=r.createJoin(n.input.map(d));break;case i.types.LEFT_JOIN:n=r.createLeftJoin(d(n.input[0]),d(n.input[1]),n.expression?d(n.expression):void 0);break;case i.types.LINK:n=r.createLink(n.iri);break;case i.types.MINUS:n=r.createMinus(d(n.input[0]),d(n.input[1]));break;case i.types.NOP:n=r.createNop();break;case i.types.NPS:n=r.createNps([].concat(n.iris));break;case i.types.ONE_OR_MORE_PATH:n=r.createOneOrMorePath(d(n.path));break;case i.types.ORDER_BY:n=r.createOrderBy(d(n.input),n.expressions.map(d));break;case i.types.PATH:n=r.createPath(n.subject,d(n.predicate),n.object,n.graph);break;case i.types.PATTERN:n=r.createPattern(n.subject,n.predicate,n.object,n.graph);break;case i.types.PROJECT:n=r.createProject(d(n.input),[...n.variables]);break;case i.types.REDUCED:n=r.createReduced(d(n.input));break;case i.types.SEQ:n=r.createSeq(n.input.map(d));break;case i.types.SERVICE:n=r.createService(d(n.input),n.name,n.silent);break;case i.types.SLICE:n=r.createSlice(d(n.input),n.start,n.length);break;case i.types.UNION:n=r.createUnion(n.input.map(d));break;case i.types.VALUES:n=r.createValues([].concat(n.variables),n.bindings.map((e=>Object.assign({},e))));break;case i.types.ZERO_OR_MORE_PATH:n=r.createZeroOrMorePath(d(n.path));break;case i.types.ZERO_OR_ONE_PATH:n=r.createZeroOrOnePath(d(n.path));break;case i.types.COMPOSITE_UPDATE:n=r.createCompositeUpdate(n.updates.map(d));break;case i.types.DELETE_INSERT:n=r.createDeleteInsert(n.delete?n.delete.map(d):void 0,n.insert?n.insert.map(d):void 0,n.where?d(n.where):void 0);break;case i.types.LOAD:n=r.createLoad(n.source,n.destination,n.silent);break;case i.types.CLEAR:n=r.createClear(n.source,n.silent);break;case i.types.CREATE:n=r.createCreate(n.source,n.silent);break;case i.types.DROP:n=r.createDrop(n.source,n.silent);break;case i.types.ADD:n=r.createAdd(n.source,n.destination);break;case i.types.MOVE:n=r.createMove(n.source,n.destination);break;case i.types.COPY:n=r.createCopy(n.source,n.destination);break;default:throw new Error(`Unknown Operation type ${n.type}`)}return l&&(n.metadata=l),n}static mapExpression(e,t,r){let n=e,a=!0;r=r||new o.default;const c=t[e.expressionType];if(c&&({result:n,recurse:a}=c(e,r)),!a)return n;let u=e=>s.mapOperation(e,t,r);switch(e.expressionType){case i.expressionTypes.AGGREGATE:return e.variable?r.createBoundAggregate(e.variable,e.aggregator,u(e.expression),e.distinct,e.separator):r.createAggregateExpression(e.aggregator,u(e.expression),e.distinct,e.separator);case i.expressionTypes.EXISTENCE:return r.createExistenceExpression(e.not,u(e.input));case i.expressionTypes.NAMED:return r.createNamedExpression(e.name,e.args.map(u));case i.expressionTypes.OPERATOR:return r.createOperatorExpression(e.operator,e.args.map(u));case i.expressionTypes.TERM:return r.createTermExpression(e.term);case i.expressionTypes.WILDCARD:return r.createWildcardExpression();default:throw new Error(`Unknown Expression type ${e.expressionType}`)}}static cloneOperation(e){return s.mapOperation(e,{})}static cloneExpression(e){return s.mapExpression(e,{})}static createUniqueVariable(e,t,r){let n=0,i=e;for(;t[i];)i=`${e}${n++}`;return r.variable(i)}static isSimpleTerm(e){return void 0!==e.termType&&"Quad"!==e.termType&&"Wildcard"!==e.termType}static isQuad(e){return"Quad"===e.termType}static hasQuadVariables(e){return(0,a.someTermsNested)(e,(e=>"Variable"===e.termType))}static isWildcard(e){return"Wildcard"===e.termType}}t.default=s},61702:(e,t,r)=>{"use strict";function n(e){return n="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},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.printError=w,t.GraphQLError=void 0;var i,o=(i=r(55569))&&i.__esModule?i:{default:i},a=r(25888),s=r(99530),c=r(40825);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){for(var r=0;r0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=a&&a.stack?(Object.defineProperty(h(b),"stack",{value:a.stack,writable:!0,configurable:!0}),p(b)):(Error.captureStackTrace?Error.captureStackTrace(h(b),f):Object.defineProperty(h(b),"stack",{value:Error().stack,writable:!0,configurable:!0}),b)}return n=f,(i=[{key:"toString",value:function(){return w(this)}},{key:a.SYMBOL_TO_STRING_TAG,get:function(){return"Object"}}])&&d(n.prototype,i),f}(f(Error));function v(e){return void 0===e||0===e.length?void 0:e}function w(e){var t=e.message;if(e.nodes)for(var r=0,n=e.nodes;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.syntaxError=function(e,t,r){return new n.GraphQLError("Syntax Error: ".concat(r),void 0,e,[t])};var n=r(61702)},63580:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.prototype.toJSON;"function"==typeof t||(0,n.default)(0),e.prototype.inspect=t,i.default&&(e.prototype[i.default]=t)};var n=o(r(61321)),i=o(r(98493));function o(e){return e&&e.__esModule?e:{default:e}}},93028:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(t)}},29657:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return c(e,[])};var n,i=(n=r(98493))&&n.__esModule?n:{default:n};function o(e){return o="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},o(e)}var a=10,s=2;function c(e,t){switch(o(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var r=[].concat(t,[e]),n=function(e){var t=e[String(i.default)];return"function"==typeof t?t:"function"==typeof e.inspect?e.inspect:void 0}(e);if(void 0!==n){var o=n.call(e);if(o!==e)return"string"==typeof o?o:c(o,r)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>s)return"[Array]";for(var r=Math.min(a,e.length),n=e.length-r,i=[],o=0;o1&&i.push("... ".concat(n," more items")),"["+i.join(", ")+"]"}(e,r);return function(e,t){var r=Object.keys(e);return 0===r.length?"{}":t.length>s?"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var r=e.constructor.name;if("string"==typeof r&&""!==r)return r}return t}(e)+"]":"{ "+r.map((function(r){return r+": "+c(e[r],t)})).join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}},79527:(e,t,r)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,(n=r(29657))&&n.__esModule;t.default=function(e,t){return e instanceof t}},61321:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}},55569:(e,t)=>{"use strict";function r(e){return r="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},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"object"==r(e)&&null!==e}},98493:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;t.default=r},76257:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNode=function(e){return null!=e&&"string"==typeof e.kind},t.Token=t.Location=void 0;var n,i=(n=r(63580))&&n.__esModule?n:{default:n},o=function(){function e(e,t,r){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=r}return e.prototype.toJSON=function(){return{start:this.start,end:this.end}},e}();t.Location=o,(0,i.default)(o);var a=function(){function e(e,t,r,n,i,o,a){this.kind=e,this.start=t,this.end=r,this.line=n,this.column=i,this.value=a,this.prev=o,this.next=null}return e.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},e}();t.Token=a,(0,i.default)(a)},69165:(e,t)=>{"use strict";function r(e){for(var t=0;ta&&r(t[s-1]);)--s;return t.slice(a,s).join("\n")},t.getBlockStringIndentation=n,t.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=-1===e.indexOf("\n"),i=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a="\\"===e[e.length-1],s=!n||o||a||r,c="";return!s||n&&i||(c+="\n"+t),c+=t?e.replace(/\n/g,"\n"+t):e,s&&(c+="\n"),'"""'+c.replace(/"""/g,'\\"""')+'"""'}},5919:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveLocation=void 0;var r=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});t.DirectiveLocation=r},80425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return n.Source}}),Object.defineProperty(t,"getLocation",{enumerable:!0,get:function(){return i.getLocation}}),Object.defineProperty(t,"printLocation",{enumerable:!0,get:function(){return o.printLocation}}),Object.defineProperty(t,"printSourceLocation",{enumerable:!0,get:function(){return o.printSourceLocation}}),Object.defineProperty(t,"Kind",{enumerable:!0,get:function(){return a.Kind}}),Object.defineProperty(t,"TokenKind",{enumerable:!0,get:function(){return s.TokenKind}}),Object.defineProperty(t,"Lexer",{enumerable:!0,get:function(){return c.Lexer}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return u.parse}}),Object.defineProperty(t,"parseValue",{enumerable:!0,get:function(){return u.parseValue}}),Object.defineProperty(t,"parseType",{enumerable:!0,get:function(){return u.parseType}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return l.print}}),Object.defineProperty(t,"visit",{enumerable:!0,get:function(){return d.visit}}),Object.defineProperty(t,"visitInParallel",{enumerable:!0,get:function(){return d.visitInParallel}}),Object.defineProperty(t,"getVisitFn",{enumerable:!0,get:function(){return d.getVisitFn}}),Object.defineProperty(t,"BREAK",{enumerable:!0,get:function(){return d.BREAK}}),Object.defineProperty(t,"Location",{enumerable:!0,get:function(){return p.Location}}),Object.defineProperty(t,"Token",{enumerable:!0,get:function(){return p.Token}}),Object.defineProperty(t,"isDefinitionNode",{enumerable:!0,get:function(){return h.isDefinitionNode}}),Object.defineProperty(t,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return h.isExecutableDefinitionNode}}),Object.defineProperty(t,"isSelectionNode",{enumerable:!0,get:function(){return h.isSelectionNode}}),Object.defineProperty(t,"isValueNode",{enumerable:!0,get:function(){return h.isValueNode}}),Object.defineProperty(t,"isTypeNode",{enumerable:!0,get:function(){return h.isTypeNode}}),Object.defineProperty(t,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return h.isTypeSystemDefinitionNode}}),Object.defineProperty(t,"isTypeDefinitionNode",{enumerable:!0,get:function(){return h.isTypeDefinitionNode}}),Object.defineProperty(t,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return h.isTypeSystemExtensionNode}}),Object.defineProperty(t,"isTypeExtensionNode",{enumerable:!0,get:function(){return h.isTypeExtensionNode}}),Object.defineProperty(t,"DirectiveLocation",{enumerable:!0,get:function(){return f.DirectiveLocation}});var n=r(46876),i=r(99530),o=r(40825),a=r(7030),s=r(73038),c=r(46083),u=r(50246),l=r(70585),d=r(9111),p=r(76257),h=r(39187),f=r(5919)},7030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kind=void 0;var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"});t.Kind=r},46083:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPunctuatorTokenKind=function(e){return e===o.TokenKind.BANG||e===o.TokenKind.DOLLAR||e===o.TokenKind.AMP||e===o.TokenKind.PAREN_L||e===o.TokenKind.PAREN_R||e===o.TokenKind.SPREAD||e===o.TokenKind.COLON||e===o.TokenKind.EQUALS||e===o.TokenKind.AT||e===o.TokenKind.BRACKET_L||e===o.TokenKind.BRACKET_R||e===o.TokenKind.BRACE_L||e===o.TokenKind.PIPE||e===o.TokenKind.BRACE_R},t.Lexer=void 0;var n=r(51352),i=r(76257),o=r(73038),a=r(69165),s=function(){function e(e){var t=new i.Token(o.TokenKind.SOF,0,0,0,0,null);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}var t=e.prototype;return t.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},t.lookahead=function(){var e=this.token;if(e.kind!==o.TokenKind.EOF)do{var t;e=null!==(t=e.next)&&void 0!==t?t:e.next=u(this,e)}while(e.kind===o.TokenKind.COMMENT);return e},e}();function c(e){return isNaN(e)?o.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function u(e,t){for(var r=e.source,a=r.body,s=a.length,c=t.end;c31||9===s));return new i.Token(o.TokenKind.COMMENT,t,u,r,n,a,c.slice(t+1,u))}function p(e,t,r,a,s,u){var l=e.body,d=r,p=t,f=!1;if(45===d&&(d=l.charCodeAt(++p)),48===d){if((d=l.charCodeAt(++p))>=48&&d<=57)throw(0,n.syntaxError)(e,p,"Invalid number, unexpected digit after 0: ".concat(c(d),"."))}else p=h(e,p,d),d=l.charCodeAt(p);if(46===d&&(f=!0,d=l.charCodeAt(++p),p=h(e,p,d),d=l.charCodeAt(p)),69!==d&&101!==d||(f=!0,43!==(d=l.charCodeAt(++p))&&45!==d||(d=l.charCodeAt(++p)),p=h(e,p,d),d=l.charCodeAt(p)),46===d||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(d))throw(0,n.syntaxError)(e,p,"Invalid number, expected digit but got: ".concat(c(d),"."));return new i.Token(f?o.TokenKind.FLOAT:o.TokenKind.INT,t,p,a,s,u,l.slice(t,p))}function h(e,t,r){var i=e.body,o=t,a=r;if(a>=48&&a<=57){do{a=i.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,n.syntaxError)(e,o,"Invalid number, expected digit but got: ".concat(c(a),"."))}function f(e,t,r,a,s){for(var u,l,d,p,h=e.body,f=t+1,y=f,m=0,b="";f=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function m(e,t,r,n,a){for(var s=e.body,c=s.length,u=t+1,l=0;u!==c&&!isNaN(l=s.charCodeAt(u))&&(95===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122);)++u;return new i.Token(o.TokenKind.NAME,t,u,r,n,a,s.slice(t,u))}t.Lexer=s},99530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLocation=function(e,t){for(var r,n=/\r\n|[\n\r]/g,i=1,o=t+1;(r=n.exec(e.body))&&r.index{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=function(e,t){return new l(e,t).parseDocument()},t.parseValue=function(e,t){var r=new l(e,t);r.expectToken(a.TokenKind.SOF);var n=r.parseValueLiteral(!1);return r.expectToken(a.TokenKind.EOF),n},t.parseType=function(e,t){var r=new l(e,t);r.expectToken(a.TokenKind.SOF);var n=r.parseTypeReference();return r.expectToken(a.TokenKind.EOF),n},t.Parser=void 0;var n=r(51352),i=r(7030),o=r(76257),a=r(73038),s=r(46876),c=r(5919),u=r(46083),l=function(){function e(e,t){var r=(0,s.isSource)(e)?e:new s.Source(e);this._lexer=new u.Lexer(r),this._options=t}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(a.TokenKind.NAME);return{kind:i.Kind.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:i.Kind.DOCUMENT,definitions:this.many(a.TokenKind.SOF,this.parseDefinition,a.TokenKind.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(a.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(a.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(a.TokenKind.BRACE_L))return{kind:i.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,r=this.parseOperationType();return this.peek(a.TokenKind.NAME)&&(t=this.parseName()),{kind:i.Kind.OPERATION_DEFINITION,operation:r,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(a.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(a.TokenKind.PAREN_L,this.parseVariableDefinition,a.TokenKind.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:i.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(a.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(a.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(a.TokenKind.DOLLAR),{kind:i.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:i.Kind.SELECTION_SET,selections:this.many(a.TokenKind.BRACE_L,this.parseSelection,a.TokenKind.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(a.TokenKind.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,r=this._lexer.token,n=this.parseName();return this.expectOptionalToken(a.TokenKind.COLON)?(e=n,t=this.parseName()):t=n,{kind:i.Kind.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(a.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(r)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(a.TokenKind.PAREN_L,t,a.TokenKind.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(a.TokenKind.COLON),{kind:i.Kind.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:i.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(a.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(a.TokenKind.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(a.TokenKind.NAME)?{kind:i.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:i.Kind.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e,t=this._lexer.token;return this.expectKeyword("fragment"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}:{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case a.TokenKind.BRACKET_L:return this.parseList(e);case a.TokenKind.BRACE_L:return this.parseObject(e);case a.TokenKind.INT:return this._lexer.advance(),{kind:i.Kind.INT,value:t.value,loc:this.loc(t)};case a.TokenKind.FLOAT:return this._lexer.advance(),{kind:i.Kind.FLOAT,value:t.value,loc:this.loc(t)};case a.TokenKind.STRING:case a.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case a.TokenKind.NAME:switch(this._lexer.advance(),t.value){case"true":return{kind:i.Kind.BOOLEAN,value:!0,loc:this.loc(t)};case"false":return{kind:i.Kind.BOOLEAN,value:!1,loc:this.loc(t)};case"null":return{kind:i.Kind.NULL,loc:this.loc(t)};default:return{kind:i.Kind.ENUM,value:t.value,loc:this.loc(t)}}case a.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:i.Kind.STRING,value:e.value,block:e.kind===a.TokenKind.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,r=this._lexer.token;return{kind:i.Kind.LIST,values:this.any(a.TokenKind.BRACKET_L,(function(){return t.parseValueLiteral(e)}),a.TokenKind.BRACKET_R),loc:this.loc(r)}},t.parseObject=function(e){var t=this,r=this._lexer.token;return{kind:i.Kind.OBJECT,fields:this.any(a.TokenKind.BRACE_L,(function(){return t.parseObjectField(e)}),a.TokenKind.BRACE_R),loc:this.loc(r)}},t.parseObjectField=function(e){var t=this._lexer.token,r=this.parseName();return this.expectToken(a.TokenKind.COLON),{kind:i.Kind.OBJECT_FIELD,name:r,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(a.TokenKind.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(a.TokenKind.AT),{kind:i.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(a.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(a.TokenKind.BRACKET_R),e={kind:i.Kind.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(a.TokenKind.BANG)?{kind:i.Kind.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:i.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===a.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(a.TokenKind.STRING)||this.peek(a.TokenKind.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");var r=this.parseDirectives(!0),n=this.many(a.TokenKind.BRACE_L,this.parseOperationTypeDefinition,a.TokenKind.BRACE_R);return{kind:i.Kind.SCHEMA_DEFINITION,description:t,directives:r,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(a.TokenKind.COLON);var r=this.parseNamedType();return{kind:i.Kind.OPERATION_TYPE_DEFINITION,operation:t,type:r,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var r=this.parseName(),n=this.parseDirectives(!0);return{kind:i.Kind.SCALAR_TYPE_DEFINITION,description:t,name:r,directives:n,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var r=this.parseName(),n=this.parseImplementsInterfaces(),o=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:i.Kind.OBJECT_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:o,fields:a,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var t=[];this.expectOptionalToken(a.TokenKind.AMP);do{t.push(this.parseNamedType())}while(this.expectOptionalToken(a.TokenKind.AMP)||this.peek(a.TokenKind.NAME));return t}return this.delimitedMany(a.TokenKind.AMP,this.parseNamedType)},t.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(a.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===a.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(a.TokenKind.BRACE_L,this.parseFieldDefinition,a.TokenKind.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseArgumentDefs();this.expectToken(a.TokenKind.COLON);var o=this.parseTypeReference(),s=this.parseDirectives(!0);return{kind:i.Kind.FIELD_DEFINITION,description:t,name:r,arguments:n,type:o,directives:s,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(a.TokenKind.PAREN_L,this.parseInputValueDef,a.TokenKind.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),r=this.parseName();this.expectToken(a.TokenKind.COLON);var n,o=this.parseTypeReference();this.expectOptionalToken(a.TokenKind.EQUALS)&&(n=this.parseValueLiteral(!0));var s=this.parseDirectives(!0);return{kind:i.Kind.INPUT_VALUE_DEFINITION,description:t,name:r,type:o,defaultValue:n,directives:s,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var r=this.parseName(),n=this.parseImplementsInterfaces(),o=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:i.Kind.INTERFACE_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:o,fields:a,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var r=this.parseName(),n=this.parseDirectives(!0),o=this.parseUnionMemberTypes();return{kind:i.Kind.UNION_TYPE_DEFINITION,description:t,name:r,directives:n,types:o,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){return this.expectOptionalToken(a.TokenKind.EQUALS)?this.delimitedMany(a.TokenKind.PIPE,this.parseNamedType):[]},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var r=this.parseName(),n=this.parseDirectives(!0),o=this.parseEnumValuesDefinition();return{kind:i.Kind.ENUM_TYPE_DEFINITION,description:t,name:r,directives:n,values:o,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(a.TokenKind.BRACE_L,this.parseEnumValueDefinition,a.TokenKind.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseDirectives(!0);return{kind:i.Kind.ENUM_VALUE_DEFINITION,description:t,name:r,directives:n,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var r=this.parseName(),n=this.parseDirectives(!0),o=this.parseInputFieldsDefinition();return{kind:i.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:r,directives:n,fields:o,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(a.TokenKind.BRACE_L,this.parseInputValueDef,a.TokenKind.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===a.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),r=this.optionalMany(a.TokenKind.BRACE_L,this.parseOperationTypeDefinition,a.TokenKind.BRACE_R);if(0===t.length&&0===r.length)throw this.unexpected();return{kind:i.Kind.SCHEMA_EXTENSION,directives:t,operationTypes:r,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),r=this.parseDirectives(!0);if(0===r.length)throw this.unexpected();return{kind:i.Kind.SCALAR_TYPE_EXTENSION,name:t,directives:r,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseDirectives(!0),o=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===o.length)throw this.unexpected();return{kind:i.Kind.OBJECT_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:o,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseDirectives(!0),o=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===o.length)throw this.unexpected();return{kind:i.Kind.INTERFACE_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:o,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),r=this.parseDirectives(!0),n=this.parseUnionMemberTypes();if(0===r.length&&0===n.length)throw this.unexpected();return{kind:i.Kind.UNION_TYPE_EXTENSION,name:t,directives:r,types:n,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),r=this.parseDirectives(!0),n=this.parseEnumValuesDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return{kind:i.Kind.ENUM_TYPE_EXTENSION,name:t,directives:r,values:n,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),r=this.parseDirectives(!0),n=this.parseInputFieldsDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return{kind:i.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:r,fields:n,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(a.TokenKind.AT);var r=this.parseName(),n=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var s=this.parseDirectiveLocations();return{kind:i.Kind.DIRECTIVE_DEFINITION,description:t,name:r,arguments:n,repeatable:o,locations:s,loc:this.loc(e)}},t.parseDirectiveLocations=function(){return this.delimitedMany(a.TokenKind.PIPE,this.parseDirectiveLocation)},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==c.DirectiveLocation[t.value])return t;throw this.unexpected(e)},t.loc=function(e){var t;if(!0!==(null===(t=this._options)||void 0===t?void 0:t.noLocation))return new o.Location(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw(0,n.syntaxError)(this._lexer.source,t.start,"Expected ".concat(p(e),", found ").concat(d(t),"."))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==a.TokenKind.NAME||t.value!==e)throw(0,n.syntaxError)(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(d(t),"."));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===a.TokenKind.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=null!=e?e:this._lexer.token;return(0,n.syntaxError)(this._lexer.source,t.start,"Unexpected ".concat(d(t),"."))},t.any=function(e,t,r){this.expectToken(e);for(var n=[];!this.expectOptionalToken(r);)n.push(t.call(this));return n},t.optionalMany=function(e,t,r){if(this.expectOptionalToken(e)){var n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n}return[]},t.many=function(e,t,r){this.expectToken(e);var n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n},t.delimitedMany=function(e,t){this.expectOptionalToken(e);var r=[];do{r.push(t.call(this))}while(this.expectOptionalToken(e));return r},e}();function d(e){var t=e.value;return p(e.kind)+(null!=t?' "'.concat(t,'"'):"")}function p(e){return(0,u.isPunctuatorTokenKind)(e)?'"'.concat(e,'"'):e}t.Parser=l},39187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDefinitionNode=function(e){return i(e)||o(e)||s(e)},t.isExecutableDefinitionNode=i,t.isSelectionNode=function(e){return e.kind===n.Kind.FIELD||e.kind===n.Kind.FRAGMENT_SPREAD||e.kind===n.Kind.INLINE_FRAGMENT},t.isValueNode=function(e){return e.kind===n.Kind.VARIABLE||e.kind===n.Kind.INT||e.kind===n.Kind.FLOAT||e.kind===n.Kind.STRING||e.kind===n.Kind.BOOLEAN||e.kind===n.Kind.NULL||e.kind===n.Kind.ENUM||e.kind===n.Kind.LIST||e.kind===n.Kind.OBJECT},t.isTypeNode=function(e){return e.kind===n.Kind.NAMED_TYPE||e.kind===n.Kind.LIST_TYPE||e.kind===n.Kind.NON_NULL_TYPE},t.isTypeSystemDefinitionNode=o,t.isTypeDefinitionNode=a,t.isTypeSystemExtensionNode=s,t.isTypeExtensionNode=c;var n=r(7030);function i(e){return e.kind===n.Kind.OPERATION_DEFINITION||e.kind===n.Kind.FRAGMENT_DEFINITION}function o(e){return e.kind===n.Kind.SCHEMA_DEFINITION||a(e)||e.kind===n.Kind.DIRECTIVE_DEFINITION}function a(e){return e.kind===n.Kind.SCALAR_TYPE_DEFINITION||e.kind===n.Kind.OBJECT_TYPE_DEFINITION||e.kind===n.Kind.INTERFACE_TYPE_DEFINITION||e.kind===n.Kind.UNION_TYPE_DEFINITION||e.kind===n.Kind.ENUM_TYPE_DEFINITION||e.kind===n.Kind.INPUT_OBJECT_TYPE_DEFINITION}function s(e){return e.kind===n.Kind.SCHEMA_EXTENSION||c(e)}function c(e){return e.kind===n.Kind.SCALAR_TYPE_EXTENSION||e.kind===n.Kind.OBJECT_TYPE_EXTENSION||e.kind===n.Kind.INTERFACE_TYPE_EXTENSION||e.kind===n.Kind.UNION_TYPE_EXTENSION||e.kind===n.Kind.ENUM_TYPE_EXTENSION||e.kind===n.Kind.INPUT_OBJECT_TYPE_EXTENSION}},40825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printLocation=function(e){return i(e.source,(0,n.getLocation)(e.source,e.start))},t.printSourceLocation=i;var n=r(99530);function i(e,t){var r=e.locationOffset.column-1,n=a(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,c=t.line+s,u=1===t.line?r:0,l=t.column+u,d="".concat(e.name,":").concat(c,":").concat(l,"\n"),p=n.split(/\r\n|[\n\r]/g),h=p[i];if(h.length>120){for(var f=Math.floor(l/80),y=l%80,g=[],m=0;m{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.print=function(e){return(0,n.visit)(e,{leave:o})};var n=r(9111),i=r(69165),o={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return s(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,r=e.name,n=u("(",s(e.variableDefinitions,", "),")"),i=s(e.directives," "),o=e.selectionSet;return r||i||n||"query"!==t?s([t,s([r,n]),i,o]," "):o},VariableDefinition:function(e){var t=e.variable,r=e.type,n=e.defaultValue,i=e.directives;return t+": "+r+u(" = ",n)+u(" ",s(i," "))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var t=e.alias,r=e.name,n=e.arguments,i=e.directives,o=e.selectionSet,a=u("",t,": ")+r,c=a+u("(",s(n,", "),")");return c.length>80&&(c=a+u("(\n",l(s(n,"\n")),"\n)")),s([c,s(i," "),o]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+u(" ",s(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,r=e.directives,n=e.selectionSet;return s(["...",u("on ",t),s(r," "),n]," ")},FragmentDefinition:function(e){var t=e.name,r=e.typeCondition,n=e.variableDefinitions,i=e.directives,o=e.selectionSet;return"fragment ".concat(t).concat(u("(",s(n,", "),")")," ")+"on ".concat(r," ").concat(u("",s(i," ")," "))+o},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var r=e.value;return e.block?(0,i.printBlockString)(r,"description"===t?"":" "):JSON.stringify(r)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+s(e.values,", ")+"]"},ObjectValue:function(e){return"{"+s(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+u("(",s(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:a((function(e){var t=e.directives,r=e.operationTypes;return s(["schema",s(t," "),c(r)]," ")})),OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:a((function(e){return s(["scalar",e.name,s(e.directives," ")]," ")})),ObjectTypeDefinition:a((function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["type",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")})),FieldDefinition:a((function(e){var t=e.name,r=e.arguments,n=e.type,i=e.directives;return t+(p(r)?u("(\n",l(s(r,"\n")),"\n)"):u("(",s(r,", "),")"))+": "+n+u(" ",s(i," "))})),InputValueDefinition:a((function(e){var t=e.name,r=e.type,n=e.defaultValue,i=e.directives;return s([t+": "+r,u("= ",n),s(i," ")]," ")})),InterfaceTypeDefinition:a((function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["interface",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")})),UnionTypeDefinition:a((function(e){var t=e.name,r=e.directives,n=e.types;return s(["union",t,s(r," "),n&&0!==n.length?"= "+s(n," | "):""]," ")})),EnumTypeDefinition:a((function(e){var t=e.name,r=e.directives,n=e.values;return s(["enum",t,s(r," "),c(n)]," ")})),EnumValueDefinition:a((function(e){return s([e.name,s(e.directives," ")]," ")})),InputObjectTypeDefinition:a((function(e){var t=e.name,r=e.directives,n=e.fields;return s(["input",t,s(r," "),c(n)]," ")})),DirectiveDefinition:a((function(e){var t=e.name,r=e.arguments,n=e.repeatable,i=e.locations;return"directive @"+t+(p(r)?u("(\n",l(s(r,"\n")),"\n)"):u("(",s(r,", "),")"))+(n?" repeatable":"")+" on "+s(i," | ")})),SchemaExtension:function(e){var t=e.directives,r=e.operationTypes;return s(["extend schema",s(t," "),c(r)]," ")},ScalarTypeExtension:function(e){return s(["extend scalar",e.name,s(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["extend type",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")},InterfaceTypeExtension:function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["extend interface",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")},UnionTypeExtension:function(e){var t=e.name,r=e.directives,n=e.types;return s(["extend union",t,s(r," "),n&&0!==n.length?"= "+s(n," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,r=e.directives,n=e.values;return s(["extend enum",t,s(r," "),c(n)]," ")},InputObjectTypeExtension:function(e){var t=e.name,r=e.directives,n=e.fields;return s(["extend input",t,s(r," "),c(n)]," ")}};function a(e){return function(t){return s([t.description,e(t)],"\n")}}function s(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==(t=null==e?void 0:e.filter((function(e){return e})).join(r))&&void 0!==t?t:""}function c(e){return u("{\n",l(s(e,"\n")),"\n}")}function u(e,t){return null!=t&&""!==t?e+t+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:""):""}function l(e){return u(" ",e.replace(/\n/g,"\n "))}function d(e){return-1!==e.indexOf("\n")}function p(e){return null!=e&&e.some(d)}},46876:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSource=function(e){return(0,a.default)(e,u)},t.Source=void 0;var n=r(25888),i=s(r(29657)),o=s(r(93028)),a=s(r(79527));function s(e){return e&&e.__esModule?e:{default:e}}function c(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||(0,o.default)(0,"Body must be a string. Received: ".concat((0,i.default)(e),".")),this.body=e,this.name=t,this.locationOffset=r,this.locationOffset.line>0||(0,o.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,o.default)(0,"column in locationOffset is 1-indexed and must be positive.")}var t,r;return t=e,(r=[{key:n.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}])&&c(t.prototype,r),e}();t.Source=u},73038:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenKind=void 0;var r=Object.freeze({SOF:"",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});t.TokenKind=r},9111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.visit=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,n=void 0,u=Array.isArray(e),l=[e],d=-1,p=[],h=void 0,f=void 0,y=void 0,g=[],m=[],b=e;do{var _=++d===l.length,v=_&&0!==p.length;if(_){if(f=0===m.length?void 0:g[g.length-1],h=y,y=m.pop(),v){if(u)h=h.slice();else{for(var w={},S=0,E=Object.keys(h);S{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SYMBOL_TO_STRING_TAG=t.SYMBOL_ASYNC_ITERATOR=t.SYMBOL_ITERATOR=void 0;var r="function"==typeof Symbol&&null!=Symbol.iterator?Symbol.iterator:"@@iterator";t.SYMBOL_ITERATOR=r;var n="function"==typeof Symbol&&null!=Symbol.asyncIterator?Symbol.asyncIterator:"@@asyncIterator";t.SYMBOL_ASYNC_ITERATOR=n;var i="function"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:"@@toStringTag";t.SYMBOL_TO_STRING_TAG=i},77952:(e,t,r)=>{var n=t;n.utils=r(67426),n.common=r(66166),n.sha=r(46229),n.ripemd=r(46784),n.hmac=r(28948),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},66166:(e,t,r)=>{"use strict";var n=r(67426),i=r(43349);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o{"use strict";var n=r(67426),i=r(43349);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t{"use strict";var n=r(67426),i=r(66166),o=n.rotl32,a=n.sum32,s=n.sum32_3,c=n.sum32_4,u=i.BlockHash;function l(){if(!(this instanceof l))return new l;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function d(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function p(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(l,u),t.ripemd160=l,l.blockSize=512,l.outSize=160,l.hmacStrength=192,l.padLength=64,l.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],u=this.h[3],l=this.h[4],b=r,_=n,v=i,w=u,S=l,E=0;E<80;E++){var T=a(o(c(r,d(E,n,i,u),e[f[E]+t],p(E)),g[E]),l);r=l,l=u,u=o(i,10),i=n,n=T,T=a(o(c(b,d(79-E,_,v,w),e[y[E]+t],h(E)),m[E]),S),b=S,S=w,w=o(v,10),v=_,_=T}T=s(this.h[1],i,w),this.h[1]=s(this.h[2],u,S),this.h[2]=s(this.h[3],l,b),this.h[3]=s(this.h[4],r,_),this.h[4]=s(this.h[0],n,v),this.h[0]=T},l.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],y=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],m=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},46229:(e,t,r)=>{"use strict";t.sha1=r(43917),t.sha224=r(47714),t.sha256=r(2287),t.sha384=r(21911),t.sha512=r(57766)},43917:(e,t,r)=>{"use strict";var n=r(67426),i=r(66166),o=r(66225),a=n.rotl32,s=n.sum32,c=n.sum32_5,u=o.ft_1,l=i.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function p(){if(!(this instanceof p))return new p;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(p,l),e.exports=p,p.blockSize=512,p.outSize=160,p.hmacStrength=80,p.padLength=64,p.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(67426),i=r(2287);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},2287:(e,t,r)=>{"use strict";var n=r(67426),i=r(66166),o=r(66225),a=r(43349),s=n.sum32,c=n.sum32_4,u=n.sum32_5,l=o.ch32,d=o.maj32,p=o.s0_256,h=o.s1_256,f=o.g0_256,y=o.g1_256,g=i.BlockHash,m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=new Array(64)}n.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(67426),i=r(57766);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},57766:(e,t,r)=>{"use strict";var n=r(67426),i=r(66166),o=r(43349),a=n.rotr64_hi,s=n.rotr64_lo,c=n.shr64_hi,u=n.shr64_lo,l=n.sum64,d=n.sum64_hi,p=n.sum64_lo,h=n.sum64_4_hi,f=n.sum64_4_lo,y=n.sum64_5_hi,g=n.sum64_5_lo,m=i.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function _(){if(!(this instanceof _))return new _;m.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function v(e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function w(e,t,r,n,i,o){var a=t&n^~t&o;return a<0&&(a+=4294967296),a}function S(e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function E(e,t,r,n,i,o){var a=t&n^t&o^n&o;return a<0&&(a+=4294967296),a}function T(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function O(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function A(e,t){var r=a(e,t,1)^a(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function I(e,t){var r=s(e,t,1)^s(e,t,8)^u(e,t,7);return r<0&&(r+=4294967296),r}function R(e,t){var r=s(e,t,19)^s(t,e,29)^u(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(_,m),e.exports=_,_.blockSize=1024,_.outSize=512,_.hmacStrength=192,_.padLength=128,_.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(67426).rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}function a(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?a(t,r,n):2===e?o(t,r,n):void 0},t.ch32=i,t.maj32=o,t.p32=a,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},67426:(e,t,r)=>{"use strict";var n=r(43349),i=r(56698);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function c(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,r[n++]=63&a|128):o(e,i)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i>>0}return a},t.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},t.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,i,o,a,s){var c=0,u=t;return c+=(u=u+n>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},t.sum64_5_hi=function(e,t,r,n,i,o,a,s,c,u){var l=0,d=t;return l+=(d=d+n>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,r,n,i,o,a,s,c,u){return t+n+o+s+u>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},11724:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var a=o(r(57918)),s=r(79878),c=new Set(["input","option","optgroup","select","button","datalist","textarea"]),u=new Set(["p"]),l=new Set(["thead","tbody"]),d=new Set(["dd","dt"]),p=new Set(["rt","rp"]),h=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",u],["h1",u],["h2",u],["h3",u],["h4",u],["h5",u],["h6",u],["select",c],["input",c],["output",c],["button",c],["datalist",c],["textarea",c],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",d],["dt",d],["address",u],["article",u],["aside",u],["blockquote",u],["details",u],["div",u],["dl",u],["fieldset",u],["figcaption",u],["figure",u],["footer",u],["form",u],["header",u],["hr",u],["main",u],["nav",u],["ol",u],["pre",u],["section",u],["table",u],["ul",u],["rt",p],["rp",p],["tbody",l],["tfoot",l]]),f=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),y=new Set(["math","svg"]),g=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),m=/\s|\//,b=function(){function e(e,t){var r,n,i,o,s;void 0===t&&(t={}),this.options=t,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=e?e:{},this.lowerCaseTagNames=null!==(r=t.lowerCaseTags)&&void 0!==r?r:!t.xmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:!t.xmlMode,this.tokenizer=new(null!==(i=t.Tokenizer)&&void 0!==i?i:a.default)(this.options,this),null===(s=(o=this.cbs).onparserinit)||void 0===s||s.call(o,this)}return e.prototype.ontext=function(e,t){var r,n,i=this.getSlice(e,t);this.endIndex=t-1,null===(n=(r=this.cbs).ontext)||void 0===n||n.call(r,i),this.startIndex=t},e.prototype.ontextentity=function(e){var t,r,n=this.tokenizer.getSectionStart();this.endIndex=n-1,null===(r=(t=this.cbs).ontext)||void 0===r||r.call(t,(0,s.fromCodePoint)(e)),this.startIndex=n},e.prototype.isVoidElement=function(e){return!this.options.xmlMode&&f.has(e)},e.prototype.onopentagname=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);this.lowerCaseTagNames&&(r=r.toLowerCase()),this.emitOpenTag(r)},e.prototype.emitOpenTag=function(e){var t,r,n,i;this.openTagStart=this.startIndex,this.tagname=e;var o=!this.options.xmlMode&&h.get(e);if(o)for(;this.stack.length>0&&o.has(this.stack[this.stack.length-1]);){var a=this.stack.pop();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,a,!0)}this.isVoidElement(e)||(this.stack.push(e),y.has(e)?this.foreignContext.push(!0):g.has(e)&&this.foreignContext.push(!1)),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.endOpenTag=function(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},e.prototype.onopentagend=function(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1},e.prototype.onclosetag=function(e,t){var r,n,i,o,a,s;this.endIndex=t;var c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(y.has(c)||g.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))this.options.xmlMode||"br"!==c||(null===(n=(r=this.cbs).onopentagname)||void 0===n||n.call(r,"br"),null===(o=(i=this.cbs).onopentag)||void 0===o||o.call(i,"br",{},!0),null===(s=(a=this.cbs).onclosetag)||void 0===s||s.call(a,"br",!1));else{var u=this.stack.lastIndexOf(c);if(-1!==u)if(this.cbs.onclosetag)for(var l=this.stack.length-u;l--;)this.cbs.onclosetag(this.stack.pop(),0!==l);else this.stack.length=u;else this.options.xmlMode||"p"!==c||(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1},e.prototype.onselfclosingtag=function(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)},e.prototype.closeCurrentTag=function(e){var t,r,n=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.pop())},e.prototype.onattribname=function(e,t){this.startIndex=e;var r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r},e.prototype.onattribdata=function(e,t){this.attribvalue+=this.getSlice(e,t)},e.prototype.onattribentity=function(e){this.attribvalue+=(0,s.fromCodePoint)(e)},e.prototype.onattribend=function(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===a.QuoteType.Double?'"':e===a.QuoteType.Single?"'":e===a.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(m),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},e.prototype.ondeclaration=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("!".concat(n),"!".concat(r))}this.startIndex=t+1},e.prototype.onprocessinginstruction=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("?".concat(n),"?".concat(r))}this.startIndex=t+1},e.prototype.oncomment=function(e,t,r){var n,i,o,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(o=this.cbs).oncommentend)||void 0===a||a.call(o),this.startIndex=t+1},e.prototype.oncdata=function(e,t,r){var n,i,o,a,s,c,u,l,d,p;this.endIndex=t;var h=this.getSlice(e,t-r);this.options.xmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(o=this.cbs).ontext)||void 0===a||a.call(o,h),null===(c=(s=this.cbs).oncdataend)||void 0===c||c.call(s)):(null===(l=(u=this.cbs).oncomment)||void 0===l||l.call(u,"[CDATA[".concat(h,"]]")),null===(p=(d=this.cbs).oncommentend)||void 0===p||p.call(d)),this.startIndex=t+1},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r],!0));}null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)},e.prototype.reset=function(){var e,t,r,n;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(n=(r=this.cbs).onparserinit)||void 0===n||n.call(r,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1},e.prototype.parseComplete=function(e){this.reset(),this.end(e)},e.prototype.getSlice=function(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();for(var r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r},e.prototype.shiftBuffer=function(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()},e.prototype.write=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))},e.prototype.end=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuoteType=void 0;var n,i,o,a=r(79878);function s(e){return e===n.Space||e===n.NewLine||e===n.Tab||e===n.FormFeed||e===n.CarriageReturn}function c(e){return e===n.Slash||e===n.Gt||s(e)}function u(e){return e>=n.Zero&&e<=n.Nine}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(n||(n={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"}(i||(i={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(o=t.QuoteType||(t.QuoteType={}));var l={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},d=function(){function e(e,t){var r=e.xmlMode,n=void 0!==r&&r,o=e.decodeEntities,s=void 0===o||o;this.cbs=t,this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=i.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=n,this.decodeEntities=s,this.entityTrie=n?a.xmlDecodeTree:a.htmlDecodeTree}return e.prototype.reset=function(){this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=i.Text,this.currentSequence=void 0,this.running=!0,this.offset=0},e.prototype.write=function(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()},e.prototype.end=function(){this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=i.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===n.Amp&&(this.state=i.BeforeEntity)},e.prototype.stateSpecialStartSequence=function(e){var t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=i.InTagName,this.stateInTagName(e)},e.prototype.stateInSpecialTag=function(e){if(this.sequenceIndex===this.currentSequence.length){if(e===n.Gt||s(e)){var t=this.index-this.currentSequence.length;if(this.sectionStart=n.LowerA&&e<=n.LowerZ||e>=n.UpperA&&e<=n.UpperZ}(e)},e.prototype.startSpecial=function(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=i.SpecialStartSequence},e.prototype.stateBeforeTagName=function(e){if(e===n.ExclamationMark)this.state=i.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===n.Questionmark)this.state=i.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){var t=32|e;this.sectionStart=this.index,this.xmlMode||t!==l.TitleEnd[2]?this.state=this.xmlMode||t!==l.ScriptEnd[2]?i.InTagName:i.BeforeSpecialS:this.startSpecial(l.TitleEnd,3)}else e===n.Slash?this.state=i.BeforeClosingTagName:(this.state=i.Text,this.stateText(e))},e.prototype.stateInTagName=function(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateBeforeClosingTagName=function(e){s(e)||(e===n.Gt?this.state=i.Text:(this.state=this.isTagStartChar(e)?i.InClosingTagName:i.InSpecialComment,this.sectionStart=this.index))},e.prototype.stateInClosingTagName=function(e){(e===n.Gt||s(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.AfterClosingTagName,this.stateAfterClosingTagName(e))},e.prototype.stateAfterClosingTagName=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.state=i.Text,this.baseState=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeAttributeName=function(e){e===n.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=i.InSpecialTag,this.sequenceIndex=0):this.state=i.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===n.Slash?this.state=i.InSelfClosingTag:s(e)||(this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateInSelfClosingTag=function(e){e===n.Gt?(this.cbs.onselfclosingtag(this.index),this.state=i.Text,this.baseState=i.Text,this.sectionStart=this.index+1,this.isSpecial=!1):s(e)||(this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateInAttributeName=function(e){(e===n.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.AfterAttributeName,this.stateAfterAttributeName(e))},e.prototype.stateAfterAttributeName=function(e){e===n.Eq?this.state=i.BeforeAttributeValue:e===n.Slash||e===n.Gt?(this.cbs.onattribend(o.NoValue,this.index),this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):s(e)||(this.cbs.onattribend(o.NoValue,this.index),this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateBeforeAttributeValue=function(e){e===n.DoubleQuote?(this.state=i.InAttributeValueDq,this.sectionStart=this.index+1):e===n.SingleQuote?(this.state=i.InAttributeValueSq,this.sectionStart=this.index+1):s(e)||(this.sectionStart=this.index,this.state=i.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))},e.prototype.handleInAttributeValue=function(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===n.DoubleQuote?o.Double:o.Single,this.index),this.state=i.BeforeAttributeName):this.decodeEntities&&e===n.Amp&&(this.baseState=this.state,this.state=i.BeforeEntity)},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,n.DoubleQuote)},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,n.SingleQuote)},e.prototype.stateInAttributeValueNoQuotes=function(e){s(e)||e===n.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(o.Unquoted,this.index),this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===n.Amp&&(this.baseState=this.state,this.state=i.BeforeEntity)},e.prototype.stateBeforeDeclaration=function(e){e===n.OpeningSquareBracket?(this.state=i.CDATASequence,this.sequenceIndex=0):this.state=e===n.Dash?i.BeforeComment:i.InDeclaration},e.prototype.stateInDeclaration=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateInProcessingInstruction=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeComment=function(e){e===n.Dash?(this.state=i.InCommentLike,this.currentSequence=l.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=i.InDeclaration},e.prototype.stateInSpecialComment=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeSpecialS=function(e){var t=32|e;t===l.ScriptEnd[3]?this.startSpecial(l.ScriptEnd,4):t===l.StyleEnd[3]?this.startSpecial(l.StyleEnd,4):(this.state=i.InTagName,this.stateInTagName(e))},e.prototype.stateBeforeEntity=function(e){this.entityExcess=1,this.entityResult=0,e===n.Number?this.state=i.BeforeNumericEntity:e===n.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=i.InNamedEntity,this.stateInNamedEntity(e))},e.prototype.stateInNamedEntity=function(e){if(this.entityExcess+=1,this.trieIndex=(0,a.determineBranch)(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0)return this.emitNamedEntity(),void this.index--;this.trieCurrent=this.entityTrie[this.trieIndex];var t=this.trieCurrent&a.BinTrieFlags.VALUE_LENGTH;if(t){var r=(t>>14)-1;if(this.allowLegacyEntity()||e===n.Semi){var i=this.index-this.entityExcess+1;i>this.sectionStart&&this.emitPartial(this.sectionStart,i),this.entityResult=this.trieIndex,this.trieIndex+=r,this.entityExcess=0,this.sectionStart=this.index+1,0===r&&this.emitNamedEntity()}else this.trieIndex+=r}},e.prototype.emitNamedEntity=function(){if(this.state=this.baseState,0!==this.entityResult)switch((this.entityTrie[this.entityResult]&a.BinTrieFlags.VALUE_LENGTH)>>14){case 1:this.emitCodePoint(this.entityTrie[this.entityResult]&~a.BinTrieFlags.VALUE_LENGTH);break;case 2:this.emitCodePoint(this.entityTrie[this.entityResult+1]);break;case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}},e.prototype.stateBeforeNumericEntity=function(e){(32|e)===n.LowerX?(this.entityExcess++,this.state=i.InHexEntity):(this.state=i.InNumericEntity,this.stateInNumericEntity(e))},e.prototype.emitNumericEntity=function(e){var t=this.index-this.entityExcess-1;t+2+Number(this.state===i.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint((0,a.replaceCodePoint)(this.entityResult))),this.state=this.baseState},e.prototype.stateInNumericEntity=function(e){e===n.Semi?this.emitNumericEntity(!0):u(e)?(this.entityResult=10*this.entityResult+(e-n.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},e.prototype.stateInHexEntity=function(e){e===n.Semi?this.emitNumericEntity(!0):u(e)?(this.entityResult=16*this.entityResult+(e-n.Zero),this.entityExcess++):function(e){return e>=n.UpperA&&e<=n.UpperF||e>=n.LowerA&&e<=n.LowerF}(e)?(this.entityResult=16*this.entityResult+((32|e)-n.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},e.prototype.allowLegacyEntity=function(){return!this.xmlMode&&(this.baseState===i.Text||this.baseState===i.InSpecialTag)},e.prototype.cleanup=function(){this.running&&this.sectionStart!==this.index&&(this.state===i.Text||this.state===i.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==i.InAttributeValueDq&&this.state!==i.InAttributeValueSq&&this.state!==i.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))},e.prototype.shouldContinue=function(){return this.index{"use strict";var t=/^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i,r=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,n=/\s|\uFEFF|\xA0/,i=/\r?\n[\x20\x09]+/g,o=/[;,"]/,a=/[;,"]|\s/,s=/^[!#$%&'*+\-\.^_`|~\da-zA-Z]+$/;function c(e){return e.replace(r,"")}function u(e){return n.test(e)}function l(e,t){for(;u(e[t]);)t++;return t}function d(e){return a.test(e)||!s.test(e)}class p{constructor(e){this.refs=[],e&&this.parse(e)}rel(e){for(var t=[],r=e.toLowerCase(),n=0;n{return r=t,n=e,Object.keys(r).length===Object.keys(n).length&&Object.keys(r).every((e=>e in n&&r[e]===n[e]));var r,n}))||this.refs.push(e),this}has(e,t){e=e.toLowerCase(),t=t.toLowerCase();for(var r=0;r",t)))throw new Error("Expected end of URI delimiter at offset "+t);a={uri:e.slice(t+1,h)},t=h,r=2,t++}else if(2===r){if(u(e[t])){t++;continue}if(";"===e[t])r=4,t++;else{if(","!==e[t])throw new Error('Unexpected character "'+e[t]+'" at offset '+t);r=1,t++}}else{if(4!==r)throw new Error('Unknown parser state "'+r+'"');if(";"===e[t]||u(e[t])){t++;continue}-1===(h=e.indexOf("=",t))&&(h=e.indexOf(";",t)),-1===h&&(h=e.length);var s=c(e.slice(t,h)).toLowerCase(),d="";if('"'===e[t=l(e,t=h+1)])for(t++;t"),e.push(t);return e.join(", ")}}p.isCompatibleEncoding=function(e){return t.test(e)},p.parse=function(e,t){return(new p).parse(e,t)},p.isSingleOccurenceAttr=function(e){return"rel"===e||"type"===e||"media"===e||"title"===e||"title*"===e},p.isTokenAttr=function(e){return"rel"===e||"type"===e||"anchor"===e},p.escapeQuotes=function(e){return e.replace(/"/g,'\\"')},p.expandRelations=function(e){return e.rel.split(" ").map((function(t){var r=Object.assign({},e);return r.rel=t,r}))},p.parseExtendedValue=function(e){var t=/([^']+)?(?:'([^']*)')?(.+)/.exec(e);return{language:t[2].toLowerCase(),encoding:p.isCompatibleEncoding(t[1])?null:t[1].toLowerCase(),value:p.isCompatibleEncoding(t[1])?decodeURIComponent(t[3]):t[3]}},p.formatExtendedAttribute=function(e,t){var r=(t.encoding||"utf-8").toUpperCase();return e+"="+r+"'"+(t.language||"en")+"'"+(Buffer.isBuffer(t.value)&&p.isCompatibleEncoding(r)?t.value.toString(r):Buffer.isBuffer(t.value)?t.value.toString("hex").replace(/[0-9a-f]{2}/gi,"%$1"):encodeURIComponent(t.value))},p.formatAttribute=function(e,t){return Array.isArray(t)?t.map((t=>p.formatAttribute(e,t))).join("; "):"*"===e[e.length-1]||"string"!=typeof t?p.formatExtendedAttribute(e,t):(p.isTokenAttr(e)?t=d(t)?'"'+p.escapeQuotes(t)+'"':p.escapeQuotes(t):d(t)&&(t='"'+(t=(t=encodeURIComponent(t)).replace(/%20/g," ").replace(/%2C/g,",").replace(/%3B/g,";"))+'"'),e+"="+t)},e.exports=p},251:(e,t)=>{t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,p=r?-1:1,h=e[t+d];for(d+=p,o=h&(1<<-l)-1,h>>=-l,l+=s;l>0;o=256*o+e[t+d],d+=p,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+d],d+=p,l-=8);if(0===o)o=1-u;else{if(o===c)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,n),o-=u}return(h?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,c,u=8*o-i-1,l=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,f=n?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?p/c:p*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*c-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+h]=255&s,h+=f,s/=256,i-=8);for(a=a<0;e[r+h]=255&a,h+=f,a/=256,u-=8);e[r+h-f]|=128*y}},49568:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Collection:()=>O,Iterable:()=>In,List:()=>cr,Map:()=>Lt,OrderedMap:()=>Sr,OrderedSet:()=>ln,PairSorting:()=>yn,Range:()=>Kr,Record:()=>gn,Repeat:()=>En,Seq:()=>X,Set:()=>Ur,Stack:()=>Ir,default:()=>Rn,fromJS:()=>Tn,get:()=>ct,getIn:()=>Qr,has:()=>st,hasIn:()=>Jr,hash:()=>me,is:()=>he,isAssociative:()=>T,isCollection:()=>_,isImmutable:()=>N,isIndexed:()=>E,isKeyed:()=>w,isList:()=>sr,isMap:()=>le,isOrdered:()=>C,isOrderedMap:()=>de,isOrderedSet:()=>Cr,isPlainObject:()=>it,isRecord:()=>D,isSeq:()=>P,isSet:()=>jr,isStack:()=>Ar,isValueObject:()=>pe,merge:()=>Tt,mergeDeep:()=>xt,mergeDeepWith:()=>At,mergeWith:()=>Ot,remove:()=>lt,removeIn:()=>gt,set:()=>dt,setIn:()=>ft,update:()=>bt,updateIn:()=>pt,version:()=>An});var n="delete",i=5,o=1<>>0;if(""+r!==t||4294967295===r)return NaN;t=r}return t<0?l(e)+t:t}function p(){return!0}function h(e,t,r){return(0===e&&!m(e)||void 0!==r&&e<=-r)&&(void 0===t||void 0!==r&&t>=r)}function f(e,t){return g(e,t,0)}function y(e,t){return g(e,t,t)}function g(e,t,r){return void 0===e?r:m(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function m(e){return e<0||0===e&&1/e==-1/0}var b="@@__IMMUTABLE_ITERABLE__@@";function _(e){return Boolean(e&&e[b])}var v="@@__IMMUTABLE_KEYED__@@";function w(e){return Boolean(e&&e[v])}var S="@@__IMMUTABLE_INDEXED__@@";function E(e){return Boolean(e&&e[S])}function T(e){return w(e)||E(e)}var O=function(e){return _(e)?e:X(e)},x=function(e){function t(e){return w(e)?e:Y(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),A=function(e){function t(e){return E(e)?e:Z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),I=function(e){function t(e){return _(e)&&!T(e)?e:ee(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O);O.Keyed=x,O.Indexed=A,O.Set=I;var R="@@__IMMUTABLE_SEQ__@@";function P(e){return Boolean(e&&e[R])}var F="@@__IMMUTABLE_RECORD__@@";function D(e){return Boolean(e&&e[F])}function N(e){return _(e)||D(e)}var j="@@__IMMUTABLE_ORDERED__@@";function C(e){return Boolean(e&&e[j])}var M=0,k=1,L=2,U="function"==typeof Symbol&&Symbol.iterator,B="@@iterator",V=U||B,q=function(e){this.next=e};function H(e,t,r,n){var i=0===e?t:1===e?r:[t,r];return n?n.value=i:n={value:i,done:!1},n}function $(){return{value:void 0,done:!0}}function G(e){return!!Array.isArray(e)||!!z(e)}function K(e){return e&&"function"==typeof e.next}function Q(e){var t=z(e);return t&&t.call(e)}function z(e){var t=e&&(U&&e[U]||e[B]);if("function"==typeof t)return t}q.prototype.toString=function(){return"[Iterator]"},q.KEYS=M,q.VALUES=k,q.ENTRIES=L,q.prototype.inspect=q.prototype.toSource=function(){return this.toString()},q.prototype[V]=function(){return this};var J=Object.prototype.hasOwnProperty;function W(e){return!(!Array.isArray(e)&&"string"!=typeof e)||e&&"object"==typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var X=function(e){function t(e){return null==e?oe():N(e)?e.toSeq():function(e){var t,r,n=ce(e);if(n)return(r=z(t=e))&&r===t.entries?n.fromEntrySeq():function(e){var t=z(e);return t&&t===e.keys}(e)?n.toSetSeq():n;if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of values, or keyed object: "+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq {","}")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[t?n-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var r=this._cache;if(r){var n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=r[t?n-++i:i++];return H(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(O),Y=function(e){function t(e){return null==e?oe().toKeyedSeq():_(e)?w(e)?e.toSeq():e.fromEntrySeq():D(e)?e.toSeq():ae(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(X),Z=function(e){function t(e){return null==e?oe():_(e)?w(e)?e.entrySeq():e.toIndexedSeq():D(e)?e.toSeq().entrySeq():se(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq [","]")},t}(X),ee=function(e){function t(e){return(_(e)&&!T(e)?e:Z(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(X);X.isSeq=P,X.Keyed=Y,X.Set=ee,X.Indexed=Z,X.prototype[R]=!0;var te=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[d(this,e)]:t},t.prototype.__iterate=function(e,t){for(var r=this._array,n=r.length,i=0;i!==n;){var o=t?n-++i:i++;if(!1===e(r[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var r=this._array,n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=t?n-++i:i++;return H(e,o,r[o])}))},t}(Z),re=function(e){function t(e){var t=Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return J.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var a=n[t?i-++o:o++];if(!1===e(r[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var r=this._object,n=this._keys,i=n.length,o=0;return new q((function(){if(o===i)return{value:void 0,done:!0};var a=n[t?i-++o:o++];return H(e,a,r[a])}))},t}(Y);re.prototype[j]=!0;var ne,ie=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var r=Q(this._collection),n=0;if(K(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,n++,this););return n},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=Q(this._collection);if(!K(r))return new q($);var n=0;return new q((function(){var t=r.next();return t.done?t:H(e,n++,t.value)}))},t}(Z);function oe(){return ne||(ne=new te([]))}function ae(e){var t=ce(e);if(t)return t.fromEntrySeq();if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+e)}function se(e){var t=ce(e);if(t)return t;throw new TypeError("Expected Array or collection object of values: "+e)}function ce(e){return W(e)?new te(e):G(e)?new ie(e):void 0}var ue="@@__IMMUTABLE_MAP__@@";function le(e){return Boolean(e&&e[ue])}function de(e){return le(e)&&C(e)}function pe(e){return Boolean(e&&"function"==typeof e.equals&&"function"==typeof e.hashCode)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!!(pe(e)&&pe(t)&&e.equals(t))}var fe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var r=65535&(e|=0),n=65535&(t|=0);return r*n+((e>>>16)*n+r*(t>>>16)<<16>>>0)|0};function ye(e){return e>>>1&1073741824|3221225471&e}var ge=Object.prototype.valueOf;function me(e){if(null==e)return be(e);if("function"==typeof e.hashCode)return ye(e.hashCode(e));var t,r,n,i=(t=e).valueOf!==ge&&"function"==typeof t.valueOf?t.valueOf(t):t;if(null==i)return be(i);switch(typeof i){case"boolean":return i?1108378657:1108378656;case"number":return function(e){if(e!=e||e===1/0)return 0;var t=0|e;for(t!==e&&(t^=4294967295*e);e>4294967295;)t^=e/=4294967295;return ye(t)}(i);case"string":return i.length>Ie?(void 0===(n=Fe[r=i])&&(n=_e(r),Pe===Re&&(Pe=0,Fe={}),Pe++,Fe[r]=n),n):_e(i);case"object":case"function":return function(e){var t;if(Te&&void 0!==(t=Ee.get(e)))return t;if(void 0!==(t=e[Ae]))return t;if(!we){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ae]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=Se(),Te)Ee.set(e,t);else{if(void 0!==ve&&!1===ve(e))throw new Error("Non-extensible objects are not allowed as keys.");if(we)Object.defineProperty(e,Ae,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ae]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ae]=t}}return t}(i);case"symbol":return function(e){var t=Oe[e];return void 0!==t||(t=Se(),Oe[e]=t),t}(i);default:if("function"==typeof i.toString)return _e(i.toString());throw new Error("Value type "+typeof i+" cannot be hashed.")}}function be(e){return null===e?1108378658:1108378659}function _e(e){for(var t=0,r=0;r=0&&(u.get=function(t,r){return(t=d(this,t))>=0&&ts)return{value:void 0,done:!0};var e=i.next();return n||t===k||e.done?e:H(t,c-1,t===M?void 0:e.value[1],e)}))},u}function Ve(e,t,r,n){var i=We(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,c=0;return e.__iterate((function(e,o,u){if(!s||!(s=t.call(r,e,o,u)))return c++,i(e,n?o:c-1,a)})),c},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(L,o),c=!0,u=0;return new q((function(){var e,o,l;do{if((e=s.next()).done)return n||i===k?e:H(i,u++,i===M?void 0:e.value[1],e);var d=e.value;o=d[0],l=d[1],c&&(c=t.call(r,l,o,a))}while(c);return i===L?e:H(i,o,l,e)}))},i}function qe(e,t,r){var n=We(e);return n.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(c,u){c.__iterate((function(o,c){return(!t||u0}function Ke(e,t,r,n){var i=We(e),o=new te(r).map((function(e){return e.size}));return i.size=n?o.max():o.min(),i.__iterate=function(e,t){for(var r,n=this.__iterator(k,t),i=0;!(r=n.next()).done&&!1!==e(r.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map((function(e){return e=O(e),Q(i?e.reverse():e)})),a=0,s=!1;return new q((function(){var r;return s||(r=o.map((function(e){return e.next()})),s=n?r.every((function(e){return e.done})):r.some((function(e){return e.done}))),s?{value:void 0,done:!0}:H(e,a++,t.apply(null,r.map((function(e){return e.value}))))}))},i}function Qe(e,t){return e===t?e:P(e)?t:e.constructor(t)}function ze(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Je(e){return w(e)?x:E(e)?A:I}function We(e){return Object.create((w(e)?Y:E(e)?Z:ee).prototype)}function Xe(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):X.prototype.cacheResult.call(this)}function Ye(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[r]=arguments[r+1];if("function"!=typeof e)throw new TypeError("Invalid merger function: "+e);return Et(this,t,e)}function Et(e,t,r){for(var n=[],i=0;i0;)t[r]=arguments[r+1];return Rt(e,t)}function Ot(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return Rt(t,r,e)}function xt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return It(e,t)}function At(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return It(t,r,e)}function It(e,t,r){return Rt(e,t,function(e){return function t(r,n,i){return ot(r)&&ot(n)&&(o=n,a=X(r),s=X(o),E(a)===E(s)&&w(a)===w(s))?Rt(r,[n],t):e?e(r,n,i):n;var o,a,s}}(r))}function Rt(e,t,r){if(!ot(e))throw new TypeError("Cannot merge into non-data-structure value: "+e);if(N(e))return"function"==typeof r&&e.mergeWith?e.mergeWith.apply(e,[r].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var n=Array.isArray(e),i=e,o=n?A:x,a=n?function(t){i===e&&(i=ut(i)),i.push(t)}:function(t,n){var o=J.call(i,n),a=o&&r?r(i[n],t,n):t;o&&a===i[n]||(i===e&&(i=ut(i)),i[n]=a)},s=0;s0;)t[r]=arguments[r+1];return It(this,t,e)}function Dt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return Rt(e,t)}))}function Nt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return It(e,t)}))}function jt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function Ct(){return this.__ownerID?this:this.__ensureOwner(new u)}function Mt(){return this.__ensureOwner()}function kt(){return this.__altered}var Lt=function(e){function t(t){return null==t?Wt():le(t)&&!C(t)?t:Wt().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e,t){return r.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Wt().withMutations((function(t){for(var r=0;r=e.length)throw new Error("Missing value for key: "+e[r]);t.set(e[r],e[r+1])}}))},t.prototype.toString=function(){return this.__toString("Map {","}")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return Xt(this,e,t)},t.prototype.remove=function(e){return Xt(this,e,s)},t.prototype.deleteAll=function(e){var t=O(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Wt()},t.prototype.sort=function(e){return Sr(He(this,e))},t.prototype.sortBy=function(e,t){return Sr(He(this,t,e))},t.prototype.map=function(e,t){var r=this;return this.withMutations((function(n){n.forEach((function(i,o){n.set(o,e.call(t,i,o,r))}))}))},t.prototype.__iterator=function(e,t){return new Kt(this,e,t)},t.prototype.__iterate=function(e,t){var r=this,n=0;return this._root&&this._root.iterate((function(t){return n++,e(t[1],t[0],r)}),t),n},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Jt(this.size,this._root,e,this.__hash):0===this.size?Wt():(this.__ownerID=e,this.__altered=!1,this)},t}(x);Lt.isMap=le;var Ut=Lt.prototype;Ut[ue]=!0,Ut[n]=Ut.remove,Ut.removeAll=Ut.deleteAll,Ut.setIn=yt,Ut.removeIn=Ut.deleteIn=mt,Ut.update=_t,Ut.updateIn=vt,Ut.merge=Ut.concat=wt,Ut.mergeWith=St,Ut.mergeDeep=Pt,Ut.mergeDeepWith=Ft,Ut.mergeIn=Dt,Ut.mergeDeepIn=Nt,Ut.withMutations=jt,Ut.wasAltered=kt,Ut.asImmutable=Mt,Ut["@@transducer/init"]=Ut.asMutable=Ct,Ut["@@transducer/step"]=function(e,t){return e.set(t[0],t[1])},Ut["@@transducer/result"]=function(e){return e.asImmutable()};var Bt=function(e,t){this.ownerID=e,this.entries=t};Bt.prototype.get=function(e,t,r,n){for(var i=this.entries,o=0,a=i.length;o=nr)return function(e,t,r,n){e||(e=new u);for(var i=new $t(e,me(r),[r,n]),o=0;o>>e)&a),s=this.bitmap;return s&o?this.nodes[tr(s&o-1)].get(e+i,t,r,n):n},Vt.prototype.update=function(e,t,r,n,c,u,l){void 0===r&&(r=me(n));var d=(0===t?r:r>>>t)&a,p=1<=ir)return function(e,t,r,n,i){for(var a=0,s=new Array(o),c=0;0!==r;c++,r>>>=1)s[c]=1&r?t[a++]:void 0;return s[n]=i,new qt(e,a+1,s)}(e,g,h,d,b);if(f&&!b&&2===g.length&&Zt(g[1^y]))return g[1^y];if(f&&b&&1===g.length&&Zt(b))return b;var _=e&&e===this.ownerID,v=f?b?h:h^p:h|p,w=f?b?rr(g,y,b,_):function(e,t,r){var n=e.length-1;if(r&&t===n)return e.pop(),e;for(var i=new Array(n),o=0,a=0;a>>e)&a,s=this.nodes[o];return s?s.get(e+i,t,r,n):n},qt.prototype.update=function(e,t,r,n,o,c,u){void 0===r&&(r=me(n));var l=(0===t?r:r>>>t)&a,d=o===s,p=this.nodes,h=p[l];if(d&&!h)return this;var f=Yt(h,e,t+i,r,n,o,c,u);if(f===h)return this;var y=this.count;if(h){if(!f&&--y>>r)&a,u=(0===r?n:n>>>r)&a,l=c===u?[er(e,t,r+i,n,o)]:(s=new $t(t,n,o),c>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,127&(e+=e>>8)+(e>>16)}function rr(e,t,r,n){var i=n?e:Ze(e);return i[t]=r,i}var nr=o/4,ir=o/2,or=o/4,ar="@@__IMMUTABLE_LIST__@@";function sr(e){return Boolean(e&&e[ar])}var cr=function(e){function t(t){var r=yr();if(null==t)return r;if(sr(t))return t;var n=e(t),a=n.size;return 0===a?r:(tt(a),a>0&&a=0&&e=e.size||t<0)return e.withMutations((function(e){t<0?_r(e,t).set(0,r):_r(e,0,t+1).set(t,r)}));t+=e._origin;var n=e._tail,i=e._root,o={value:!1};return t>=vr(e._capacity)?n=gr(n,e.__ownerID,0,t,r,o):i=gr(i,e.__ownerID,e._level,t,r,o),o.value?e.__ownerID?(e._root=i,e._tail=n,e.__hash=void 0,e.__altered=!0,e):fr(e._origin,e._capacity,e._level,i,n):e}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=i,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):yr()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(r){_r(r,0,t+e.length);for(var n=0;n>>t&a;if(n>=this.array.length)return new lr([],e);var o,s=0===n;if(t>0){var c=this.array[n];if((o=c&&c.removeBefore(e,t-i,r))===c&&s)return this}if(s&&!o)return this;var u=mr(this,e);if(!s)for(var l=0;l>>t&a;if(o>=this.array.length)return this;if(t>0){var s=this.array[o];if((n=s&&s.removeAfter(e,t-i,r))===s&&o===this.array.length-1)return this}var c=mr(this,e);return c.array.splice(o+1),n&&(c.array[o]=n),c};var dr,pr={};function hr(e,t){var r=e._origin,n=e._capacity,a=vr(n),s=e._tail;return function e(c,u,l){return 0===u?function(e,i){var c=i===a?s&&s.array:e&&e.array,u=i>r?0:r-i,l=n-i;return l>o&&(l=o),function(){if(u===l)return pr;var e=t?--l:u++;return c&&c[e]}}(c,l):function(a,s,c){var u,l=a&&a.array,d=c>r?0:r-c>>s,p=1+(n-c>>s);return p>o&&(p=o),function(){for(;;){if(u){var r=u();if(r!==pr)return r;u=null}if(d===p)return pr;var n=t?--p:d++;u=e(l&&l[n],s-i,c+(n<>>r&a,d=e&&l0){var p=e&&e.array[l],h=gr(p,t,r-i,n,o,s);return h===p?e:((u=mr(e,t)).array[l]=h,u)}return d&&e.array[l]===o?e:(s&&c(s),u=mr(e,t),void 0===o&&l===u.array.length-1?u.array.pop():u.array[l]=o,u)}function mr(e,t){return t&&e&&t===e.ownerID?e:new lr(e?e.array.slice():[],t)}function br(e,t){if(t>=vr(e._capacity))return e._tail;if(t<1<0;)r=r.array[t>>>n&a],n-=i;return r}}function _r(e,t,r){void 0!==t&&(t|=0),void 0!==r&&(r|=0);var n=e.__ownerID||new u,o=e._origin,s=e._capacity,c=o+t,l=void 0===r?s:r<0?s+r:o+r;if(c===o&&l===s)return e;if(c>=l)return e.clear();for(var d=e._level,p=e._root,h=0;c+h<0;)p=new lr(p&&p.array.length?[void 0,p]:[],n),h+=1<<(d+=i);h&&(c+=h,o+=h,l+=h,s+=h);for(var f=vr(s),y=vr(l);y>=1<f?new lr([],n):g;if(g&&y>f&&ci;_-=i){var v=f>>>_&a;b=b.array[v]=mr(b.array[v],n)}b.array[f>>>i&a]=g}if(l=y)c-=y,l-=y,d=i,p=null,m=m&&m.removeBefore(n,0,c);else if(c>o||y>>d&a;if(w!==y>>>d&a)break;w&&(h+=(1<o&&(p=p.removeBefore(n,d,c-h)),p&&y>>i<=o&&c.size>=2*a.size?(n=(i=c.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(n.__ownerID=i.__ownerID=e.__ownerID)):(n=a.remove(t),i=u===c.size-1?c.pop():c.set(u,void 0))}else if(l){if(r===c.get(u)[1])return e;n=a,i=c.set(u,[t,r])}else n=a.set(t,c.size),i=c.set(c.size,[t,r]);return e.__ownerID?(e.size=n.size,e._map=n,e._list=i,e.__hash=void 0,e.__altered=!0,e):Er(n,i)}Sr.isOrderedMap=de,Sr.prototype[j]=!0,Sr.prototype[n]=Sr.prototype.remove;var xr="@@__IMMUTABLE_STACK__@@";function Ar(e){return Boolean(e&&e[xr])}var Ir=function(e){function t(e){return null==e?Dr():Ar(e)?e:Dr().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("Stack [","]")},t.prototype.get=function(e,t){var r=this._head;for(e=d(this,e);r&&e--;)r=r.next;return r?r.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,r=this._head,n=arguments.length-1;n>=0;n--)r={value:e[n],next:r};return this.__ownerID?(this.size=t,this._head=r,this.__hash=void 0,this.__altered=!0,this):Fr(t,r)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&Ar(t))return t;tt(t.size);var r=this.size,n=this._head;return t.__iterate((function(e){r++,n={value:e,next:n}}),!0),this.__ownerID?(this.size=r,this._head=n,this.__hash=void 0,this.__altered=!0,this):Fr(r,n)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Dr()},t.prototype.slice=function(t,r){if(h(t,r,this.size))return this;var n=f(t,this.size);if(y(r,this.size)!==this.size)return e.prototype.slice.call(this,t,r);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Fr(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Fr(this.size,this._head,e,this.__hash):0===this.size?Dr():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var r=this;if(t)return new te(this.toArray()).__iterate((function(t,n){return e(t,n,r)}),t);for(var n=0,i=this._head;i&&!1!==e(i.value,n++,this);)i=i.next;return n},t.prototype.__iterator=function(e,t){if(t)return new te(this.toArray()).__iterator(e,t);var r=0,n=this._head;return new q((function(){if(n){var t=n.value;return n=n.next,H(e,r++,t)}return{value:void 0,done:!0}}))},t}(A);Ir.isStack=Ar;var Rr,Pr=Ir.prototype;function Fr(e,t,r,n){var i=Object.create(Pr);return i.size=e,i._head=t,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Dr(){return Rr||(Rr=Fr(0))}Pr[xr]=!0,Pr.shift=Pr.pop,Pr.unshift=Pr.push,Pr.unshiftAll=Pr.pushAll,Pr.withMutations=jt,Pr.wasAltered=kt,Pr.asImmutable=Mt,Pr["@@transducer/init"]=Pr.asMutable=Ct,Pr["@@transducer/step"]=function(e,t){return e.unshift(t)},Pr["@@transducer/result"]=function(e){return e.asImmutable()};var Nr="@@__IMMUTABLE_SET__@@";function jr(e){return Boolean(e&&e[Nr])}function Cr(e){return jr(e)&&C(e)}function Mr(e,t){if(e===t)return!0;if(!_(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||w(e)!==w(t)||E(e)!==E(t)||C(e)!==C(t))return!1;if(0===e.size&&0===t.size)return!0;var r=!T(e);if(C(e)){var n=e.entries();return t.every((function(e,t){var i=n.next().value;return i&&he(i[1],e)&&(r||he(i[0],t))}))&&n.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var a=!0,c=t.__iterate((function(t,n){if(r?!e.has(t):i?!he(t,e.get(n,s)):!he(e.get(n,s),t))return a=!1,!1}));return a&&e.size===c}function kr(e,t){var r=function(r){e.prototype[r]=t[r]};return Object.keys(t).forEach(r),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(r),e}function Lr(e){if(!e||"object"!=typeof e)return e;if(!_(e)){if(!ot(e))return e;e=X(e)}if(w(e)){var t={};return e.__iterate((function(e,r){t[r]=Lr(e)})),t}var r=[];return e.__iterate((function(e){r.push(Lr(e))})),r}var Ur=function(e){function t(t){return null==t?$r():jr(t)&&!C(t)?t:$r().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e){return r.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.intersect=function(e){return(e=O(e).toArray()).length?Vr.intersect.apply(t(e.pop()),e):$r()},t.union=function(e){return(e=O(e).toArray()).length?Vr.union.apply(t(e.pop()),e):$r()},t.prototype.toString=function(){return this.__toString("Set {","}")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return qr(this,this._map.set(e,e))},t.prototype.remove=function(e){return qr(this,this._map.remove(e))},t.prototype.clear=function(){return qr(this,this._map.clear())},t.prototype.map=function(e,t){var r=this,n=!1,i=qr(this,this._map.mapEntries((function(i){var o=i[1],a=e.call(t,o,o,r);return a!==o&&(n=!0),[a,a]}),t));return n?i:this},t.prototype.union=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(r){for(var n=0;n=0&&t=0&&r>>-15,461845907),t=fe(t<<13|t>>>-13,5),t=fe((t=t+3864292196^e)^t>>>16,2246822507),t=ye((t=fe(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(r?t?function(e,t){n=31*n+un(me(e),me(t))|0}:function(e,t){n=n+un(me(e),me(t))|0}:t?function(e){n=31*n+me(e)|0}:function(e){n=n+me(e)|0}),n)}(this))}});var Xr=O.prototype;Xr[b]=!0,Xr[V]=Xr.values,Xr.toJSON=Xr.toArray,Xr.__toStringMapper=at,Xr.inspect=Xr.toSource=function(){return this.toString()},Xr.chain=Xr.flatMap,Xr.contains=Xr.includes,kr(x,{flip:function(){return Qe(this,Me(this))},mapEntries:function(e,t){var r=this,n=0;return Qe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],n++,r)})).fromEntrySeq())},mapKeys:function(e,t){var r=this;return Qe(this,this.toSeq().flip().map((function(n,i){return e.call(t,n,i,r)})).flip())}});var Yr=x.prototype;Yr[v]=!0,Yr[V]=Xr.entries,Yr.toJSON=Wr,Yr.__toStringMapper=function(e,t){return at(t)+": "+at(e)},kr(A,{toKeyedSeq:function(){return new De(this,!1)},filter:function(e,t){return Qe(this,Ue(this,e,t,!1))},findIndex:function(e,t){var r=this.findEntry(e,t);return r?r[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Qe(this,Le(this,!1))},slice:function(e,t){return Qe(this,Be(this,e,t,!1))},splice:function(e,t){var r=arguments.length;if(t=Math.max(t||0,0),0===r||2===r&&!t)return this;e=f(e,e<0?this.count():this.size);var n=this.slice(0,e);return Qe(this,1===r?n:n.concat(Ze(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var r=this.findLastEntry(e,t);return r?r[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Qe(this,qe(this,e,!1))},get:function(e,t){return(e=d(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,r){return r===e}),void 0,t)},has:function(e){return(e=d(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function un(e,t){return e^t+2654435769+(e<<6)+(e>>2)}en.has=Xr.includes,en.contains=en.includes,en.keys=en.values,kr(Y,Yr),kr(Z,Zr),kr(ee,en);var ln=function(e){function t(e){return null==e?fn():Cr(e)?e:fn().withMutations((function(t){var r=I(e);tt(r.size),r.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.prototype.toString=function(){return this.__toString("OrderedSet {","}")},t}(Ur);ln.isOrderedSet=Cr;var dn,pn=ln.prototype;function hn(e,t){var r=Object.create(pn);return r.size=e?e.size:0,r._map=e,r.__ownerID=t,r}function fn(){return dn||(dn=hn(Tr()))}pn[j]=!0,pn.zip=Zr.zip,pn.zipWith=Zr.zipWith,pn.zipAll=Zr.zipAll,pn.__empty=fn,pn.__make=hn;var yn={LeftThenRight:-1,RightThenLeft:1},gn=function(e,t){var r;!function(e){if(D(e))throw new Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(N(e))throw new Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===e||"object"!=typeof e)throw new Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(e);var n=function(o){var a=this;if(o instanceof n)return o;if(!(this instanceof n))return new n(o);if(!r){r=!0;var s=Object.keys(e),c=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var u=0;u2?[]:void 0,{"":e})}function On(e,t,r,n,i,o){if("string"!=typeof r&&!N(r)&&(W(r)||G(r)||it(r))){if(~e.indexOf(r))throw new TypeError("Cannot convert circular structure to Immutable");e.push(r),i&&""!==n&&i.push(n);var a=t.call(o,n,X(r).map((function(n,o){return On(e,t,n,o,i,r)})),i&&i.slice());return e.pop(),i&&i.pop(),a}return r}function xn(e,t){return E(t)?t.toList():w(t)?t.toMap():t.toSet()}var An="4.3.5",In=O;const Rn={version:An,Collection:O,Iterable:O,Seq:X,Map:Lt,OrderedMap:Sr,List:cr,Stack:Ir,Set:Ur,OrderedSet:ln,PairSorting:yn,Record:gn,Range:Kr,Repeat:En,is:he,fromJS:Tn,hash:me,isImmutable:N,isCollection:_,isKeyed:w,isIndexed:E,isAssociative:T,isOrdered:C,isValueObject:pe,isPlainObject:it,isSeq:P,isList:sr,isMap:le,isOrderedMap:de,isStack:Ar,isSet:jr,isOrderedSet:Cr,isRecord:D,get:ct,getIn:Qr,has:st,hasIn:Jr,merge:Tt,mergeDeep:xt,mergeWith:Ot,mergeDeepWith:At,remove:lt,removeIn:gt,set:dt,setIn:ft,update:bt,updateIn:pt}},24799:e=>{!function(){var t;function r(e,n){var i=this instanceof r?this:t;if(i.reset(n),"string"==typeof e&&e.length>0&&i.hash(e),i!==this)return i}r.prototype.hash=function(e){var t,r,n,i,o;switch(o=e.length,this.len+=o,r=this.k1,n=0,this.rem){case 0:r^=o>n?65535&e.charCodeAt(n++):0;case 1:r^=o>n?(65535&e.charCodeAt(n++))<<8:0;case 2:r^=o>n?(65535&e.charCodeAt(n++))<<16:0;case 3:r^=o>n?(255&e.charCodeAt(n))<<24:0,r^=o>n?(65280&e.charCodeAt(n++))>>8:0}if(this.rem=o+this.rem&3,(o-=this.rem)>0){for(t=this.h1;t=5*(t=(t^=r=13715*(r=(r=11601*r+3432906752*(65535&r)&4294967295)<<15|r>>>17)+461832192*(65535&r)&4294967295)<<13|t>>>19)+3864292196&4294967295,!(n>=o);)r=65535&e.charCodeAt(n++)^(65535&e.charCodeAt(n++))<<8^(65535&e.charCodeAt(n++))<<16,r^=(255&(i=e.charCodeAt(n++)))<<24^(65280&i)>>8;switch(r=0,this.rem){case 3:r^=(65535&e.charCodeAt(n+2))<<16;case 2:r^=(65535&e.charCodeAt(n+1))<<8;case 1:r^=65535&e.charCodeAt(n)}this.h1=t}return this.k1=r,this},r.prototype.result=function(){var e,t;return e=this.k1,t=this.h1,e>0&&(t^=e=13715*(e=(e=11601*e+3432906752*(65535&e)&4294967295)<<15|e>>>17)+461832192*(65535&e)&4294967295),t^=this.len,t=51819*(t^=t>>>16)+2246770688*(65535&t)&4294967295,t=44597*(t^=t>>>13)+3266445312*(65535&t)&4294967295,(t^=t>>>16)>>>0},r.prototype.reset=function(e){return this.h1="number"==typeof e?e:0,this.rem=this.k1=this.len=0,this},t=new r,e.exports=r}()},56698:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},31232:e=>{"use strict";const t=e=>null!==e&&"object"==typeof e&&"function"==typeof e.pipe;t.writable=e=>t(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState,t.readable=e=>t(e)&&!1!==e.readable&&"function"==typeof e._read&&"object"==typeof e._readableState,t.duplex=e=>t.writable(e)&&t.readable(e),t.transform=e=>t.duplex(e)&&"function"==typeof e._transform,e.exports=t},42395:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(72803),t),i(r(75094),t),i(r(60585),t),i(r(29146),t),i(r(45086),t),i(r(85215),t),i(r(94931),t)},72803:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0,r(86547);const n=r(70742),i=r(75094),o=r(60585),a=r(85215),s=r(94931);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},75094:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},60585:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0,r(86547);const n=r(75094),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},29146:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},45086:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},85215:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(75094),o=r(94931);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},38690:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52277),t)},4405:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTree=void 0;class r{constructor(){this.subTrees={}}getContext(e){if(e.length>0){const[t,...r]=e,n=this.subTrees[t];if(n){const e=n.getContext(r);if(e)return e.then((({context:e,depth:t})=>({context:e,depth:t+1})))}}return this.context?this.context.then((e=>({context:e,depth:0}))):null}setContext(e,t){if(0===e.length)this.context=t;else{const[n,...i]=e;let o=this.subTrees[n];o||(o=this.subTrees[n]=new r),o.setContext(i,t)}}removeContext(e){this.setContext(e,null)}}t.ContextTree=r},52277:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JsonLdParser=void 0;const n=r(50608),i=r(58202),o=r(19198),a=r(39693),s=r(64860),c=r(22386),u=r(76970),l=r(23809),d=r(55998),p=r(15517),h=r(70736),f=r(24910),y=r(62036),g=r(86454),m=r(33283),b=r(93099),_=r(10888),v=r(2384),w=r(86105);class S extends o.Transform{constructor(e){super({readableObjectMode:!0}),e=e||{},this.options=e,this.parsingContext=new b.ParsingContext(Object.assign({parser:this},e)),this.util=new _.Util({dataFactory:e.dataFactory,parsingContext:this.parsingContext}),this.jsonParser=new n,this.contextJobs=[],this.typeJobs=[],this.contextAwaitingJobs=[],this.lastDepth=0,this.lastKeys=[],this.lastOnValueJob=Promise.resolve(),this.attachJsonParserListeners(),this.on("end",(()=>{void 0!==this.jsonParser.mode&&this.emit("error",new Error("Unclosed document"))}))}static fromHttpResponse(e,t,r,n){let o,a,s=["application/activity+json"];if(n&&n.wellKnownMediaTypes&&(s=n.wellKnownMediaTypes),"application/ld+json"!==t&&!s.includes(t)){if("application/json"!==t&&!t.endsWith("+json"))throw new i.ErrorCoded(`Unsupported JSON-LD media type ${t}`,i.ERROR_CODES.LOADING_DOCUMENT_FAILED);if(r&&r.has("Link")&&r.forEach(((t,r)=>{if("link"===r){const r=(0,v.parse)(t);for(const t of r.get("rel","http://www.w3.org/ns/json-ld#context")){if(o)throw new i.ErrorCoded("Multiple JSON-LD context link headers were found on "+e,i.ERROR_CODES.MULTIPLE_CONTEXT_LINK_HEADERS);o=t.uri}}})),!o&&!(null==n?void 0:n.ignoreMissingContextLinkHeader))throw new i.ErrorCoded(`Missing context link header for media type ${t} on ${e}`,i.ERROR_CODES.LOADING_DOCUMENT_FAILED)}if(r&&r.has("Content-Type")){const e=r.get("Content-Type"),t=/; *profile=([^"]*)/.exec(e);t&&"http://www.w3.org/ns/json-ld#streaming"===t[1]&&(a=!0)}return new S(Object.assign({baseIRI:e,context:o,streamingProfile:a},n||{}))}import(e){if("pipe"in e){e.on("error",(e=>t.emit("error",e)));const t=e.pipe(new S(this.options));return t}{const t=new o.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new S(this.options));return r}}_transform(e,t,r){this.jsonParser.write(e),this.lastOnValueJob.then((()=>r()),(e=>r(e)))}async newOnValueJob(e,t,r,n){let o=!0;if(n&&r1&&(l=this.parsingContext.validationStack[this.parsingContext.validationStack.length-1].property);for(let t=Math.max(1,this.parsingContext.validationStack.length-1);t=0?this.parsingContext.idStack[e-r-1]:[await this.util.getGraphContainerValue(t,e)];if(o)for(const t of o){this.parsingContext.emittedStack[e]=!0;for(const r of n)this.util.emitQuadChecked(e,i,r.predicate,r.object,t,r.reverse,r.isEmbedded)}else{const r=this.parsingContext.getUnidentifiedGraphBufferSafe(e-await this.util.getDepthOffsetGraph(e,t)-1);for(const e of n)e.reverse?r.push({object:i,predicate:e.predicate,subject:e.object,isEmbedded:e.isEmbedded}):r.push({object:e.object,predicate:e.predicate,subject:i,isEmbedded:e.isEmbedded})}}this.parsingContext.unidentifiedValuesBuffer.splice(e,1),this.parsingContext.literalStack.splice(e,1),this.parsingContext.jsonLiteralStack.splice(e,1)}const o=this.parsingContext.unidentifiedGraphsBuffer[e];if(o){for(const t of r){const r=1!==e||"BlankNode"!==t.termType||this.parsingContext.topLevelProperties?t:this.util.getDefaultGraph();this.parsingContext.emittedStack[e]=!0;for(const t of o)this.parsingContext.emitQuad(e,this.util.dataFactory.quad(t.subject,t.predicate,t.object,r))}this.parsingContext.unidentifiedGraphsBuffer.splice(e,1)}const a=this.parsingContext.annotationsBuffer[e];if(a){a.length>0&&1===e&&this.parsingContext.emitError(new i.ErrorCoded("Annotations can not be made on top-level nodes",i.ERROR_CODES.INVALID_ANNOTATION));const t=this.parsingContext.getAnnotationsBufferSafe(e-1);for(const e of a)t.push(e);delete this.parsingContext.annotationsBuffer[e]}}async validateKey(e,t,r){for(const n of S.ENTRY_HANDLERS)if(await n.validate(this.parsingContext,this.util,e,t,r))return{valid:!0,property:r||n.isPropertyHandler()};return{valid:!1,property:!1}}attachJsonParserListeners(){this.jsonParser.onValue=e=>{const t=this.jsonParser.stack.length,r=new Array(t+1).fill(0).map(((e,r)=>r===t?this.jsonParser.key:this.jsonParser.stack[r].key));if(!this.isParsingContextInner(t)){const n=()=>this.newOnValueJob(r,e,t,!0);if(this.parsingContext.streamingProfile||this.parsingContext.contextTree.getContext(r.slice(0,-1)))this.lastOnValueJob=this.lastOnValueJob.then(n);else if("@context"===r[t]){let e=this.contextJobs[t];e||(e=this.contextJobs[t]=[]),e.push(n)}else this.contextAwaitingJobs.push({job:n,keys:r,depth:t});this.parsingContext.streamingProfile||0!==t||(this.lastOnValueJob=this.lastOnValueJob.then((()=>this.executeBufferedJobs())))}},this.jsonParser.onError=e=>{this.emit("error",e)}}isParsingContextInner(e){for(let t=e;t>0;t--)if("@context"===this.jsonParser.stack[t-1].key)return!0;return!1}async executeBufferedJobs(){for(const e of this.contextJobs)if(e)for(const t of e)await t();this.parsingContext.unaliasedKeywordCacheStack.splice(0);const e=[];for(const t of this.contextAwaitingJobs)"@type"===await this.util.unaliasKeyword(t.keys[t.depth],t.keys,t.depth,!0)||"number"==typeof t.keys[t.depth]&&"@type"===await this.util.unaliasKeyword(t.keys[t.depth-1],t.keys,t.depth-1,!0)?this.typeJobs.push({job:t.job,keys:t.keys.slice(0,t.keys.length-1)}):e.push(t);for(const t of e){if(this.typeJobs.length>0){const e=[],r=[];for(let n=0;ne.keys.length-t.keys.length));for(const e of n)await e.job();const i=r.sort().reverse();for(const e of i)this.typeJobs.splice(e,1)}await t.job()}}}S.DEFAULT_PROCESSING_MODE="1.1",S.ENTRY_HANDLERS=[new a.EntryHandlerArrayValue,new l.EntryHandlerKeywordContext,new p.EntryHandlerKeywordId,new h.EntryHandlerKeywordIncluded,new d.EntryHandlerKeywordGraph,new f.EntryHandlerKeywordNest,new y.EntryHandlerKeywordType,new m.EntryHandlerKeywordValue,new w.EntryHandlerKeywordAnnotation,new s.EntryHandlerContainer,new g.EntryHandlerKeywordUnknownFallback,new u.EntryHandlerPredicate,new c.EntryHandlerInvalidFallback],t.JsonLdParser=S},93099:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParsingContext=void 0;const n=r(58202),i=r(18033),o=r(4405),a=r(52277);class s{constructor(e){this.contextParser=new n.ContextParser({documentLoader:e.documentLoader,skipValidation:e.skipContextValidation}),this.streamingProfile=!!e.streamingProfile,this.baseIRI=e.baseIRI,this.produceGeneralizedRdf=!!e.produceGeneralizedRdf,this.allowSubjectList=!!e.allowSubjectList,this.processingMode=e.processingMode||a.JsonLdParser.DEFAULT_PROCESSING_MODE,this.strictValues=!!e.strictValues,this.validateValueIndexes=!!e.validateValueIndexes,this.defaultGraph=e.defaultGraph,this.rdfDirection=e.rdfDirection,this.normalizeLanguageTags=e.normalizeLanguageTags,this.streamingProfileAllowOutOfOrderPlainType=e.streamingProfileAllowOutOfOrderPlainType,this.rdfstar=!1!==e.rdfstar,this.rdfstarReverseInEmbedded=e.rdfstarReverseInEmbedded,this.topLevelProperties=!1,this.activeProcessingMode=parseFloat(this.processingMode),this.processingStack=[],this.processingType=[],this.emittedStack=[],this.idStack=[],this.graphStack=[],this.graphContainerTermStack=[],this.listPointerStack=[],this.contextTree=new o.ContextTree,this.literalStack=[],this.validationStack=[],this.unaliasedKeywordCacheStack=[],this.jsonLiteralStack=[],this.unidentifiedValuesBuffer=[],this.unidentifiedGraphsBuffer=[],this.annotationsBuffer=[],this.pendingContainerFlushBuffers=[],this.parser=e.parser,e.context?(this.rootContext=this.parseContext(e.context),this.rootContext.then((e=>this.validateContext(e)))):this.rootContext=Promise.resolve(new n.JsonLdContextNormalized(this.baseIRI?{"@base":this.baseIRI,"@__baseDocument":!0}:{}))}async parseContext(e,t,r){return this.contextParser.parse(e,{baseIRI:this.baseIRI,ignoreProtection:r,normalizeLanguageTags:this.normalizeLanguageTags,parentContext:t,processingMode:this.activeProcessingMode})}validateContext(e){const t=e.getContextRaw()["@version"];if(t){if(this.activeProcessingMode&&t>this.activeProcessingMode)throw new i.ErrorCoded(`Unsupported JSON-LD version '${t}' under active processing mode ${this.activeProcessingMode}.`,i.ERROR_CODES.PROCESSING_MODE_CONFLICT);if(this.activeProcessingMode&&t0&&!1===i.context.getContextRaw()["@propagate"]&&i.depth!==t&&!r);return 0===i.depth&&!1===i.context.getContextRaw()["@propagate"]&&i.depth!==t&&(i.context=new n.JsonLdContextNormalized({})),i}async newOnValueJob(e,t,r,n){await this.parser.newOnValueJob(e,t,r,n)}async handlePendingContainerFlushBuffers(){if(this.pendingContainerFlushBuffers.length>0){for(const e of this.pendingContainerFlushBuffers)await this.parser.flushBuffer(e.depth,e.keys),this.parser.flushStacks(e.depth);return this.pendingContainerFlushBuffers.splice(0,this.pendingContainerFlushBuffers.length),!0}return!1}emitQuad(e,t){1===e&&(this.topLevelProperties=!0),this.parser.push(t)}emitError(e){this.parser.emit("error",e)}emitContext(e){this.parser.emit("context",e)}getUnidentifiedValueBufferSafe(e){let t=this.unidentifiedValuesBuffer[e];return t||(t=[],this.unidentifiedValuesBuffer[e]=t),t}getUnidentifiedGraphBufferSafe(e){let t=this.unidentifiedGraphsBuffer[e];return t||(t=[],this.unidentifiedGraphsBuffer[e]=t),t}getAnnotationsBufferSafe(e){let t=this.annotationsBuffer[e];return t||(t=[],this.annotationsBuffer[e]=t),t}getExpandOptions(){return s.EXPAND_OPTIONS[this.activeProcessingMode]}shiftStack(e,t){const r=this.idStack[e+t];if(r&&(this.idStack[e]=r,this.emittedStack[e]=!0,delete this.idStack[e+t]),this.pendingContainerFlushBuffers.length)for(const r of this.pendingContainerFlushBuffers)r.depth>=e+t&&(r.depth-=t,r.keys.splice(e,t));this.unidentifiedValuesBuffer[e+t]&&(this.unidentifiedValuesBuffer[e]=this.unidentifiedValuesBuffer[e+t],delete this.unidentifiedValuesBuffer[e+t]),this.annotationsBuffer[e+t-1]&&(this.annotationsBuffer[e-1]||(this.annotationsBuffer[e-1]=[]),this.annotationsBuffer[e-1]=[...this.annotationsBuffer[e-1],...this.annotationsBuffer[e+t-1]],delete this.annotationsBuffer[e+t-1])}}s.EXPAND_OPTIONS={1:{allowPrefixForcing:!1,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!1},1.1:{allowPrefixForcing:!0,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!0}},t.ParsingContext=s},10888:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(58202),i=r(47793),o=r(64860),a=r(82341);class s{constructor(e){this.parsingContext=e.parsingContext,this.dataFactory=e.dataFactory||new i.DataFactory,this.rdfFirst=this.dataFactory.namedNode(s.RDF+"first"),this.rdfRest=this.dataFactory.namedNode(s.RDF+"rest"),this.rdfNil=this.dataFactory.namedNode(s.RDF+"nil"),this.rdfType=this.dataFactory.namedNode(s.RDF+"type"),this.rdfJson=this.dataFactory.namedNode(s.RDF+"JSON")}static getContextValue(e,t,r,n){const i=e.getContextRaw()[r];if(!i)return n;const o=i[t];return void 0===o?n:o}static getContextValueContainer(e,t){return s.getContextValue(e,"@container",t,{"@set":!0})}static getContextValueType(e,t){const r=s.getContextValue(e,"@type",t,null);return"@none"===r?null:r}static getContextValueLanguage(e,t){return s.getContextValue(e,"@language",t,e.getContextRaw()["@language"]||null)}static getContextValueDirection(e,t){return s.getContextValue(e,"@direction",t,e.getContextRaw()["@direction"]||null)}static isContextValueReverse(e,t){return!!s.getContextValue(e,"@reverse",t,null)}static getContextValueIndex(e,t){return s.getContextValue(e,"@index",t,e.getContextRaw()["@index"]||null)}static isPropertyReverse(e,t,r){return"@reverse"===r!==s.isContextValueReverse(e,t)}static isPropertyInEmbeddedNode(e){return"@id"===e}static isPropertyInAnnotationObject(e){return"@annotation"===e}static isValidIri(e){return null!==e&&n.Util.isValidIri(e)}static isPrefixArray(e,t){if(e.length>t.length)return!1;for(let r=0;r1)throw new n.ErrorCoded(`Found illegal neighbouring entries next to @set for key: '${t}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);return[]}if("@list"in r){if(Object.keys(r).length>1)throw new n.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${t}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);const e=r["@list"];return Array.isArray(e)?0===e.length?[this.rdfNil]:this.parsingContext.idStack[i+1]||[]:await this.valueToTerm(await this.parsingContext.getContext(o),t,e,i-1,o.slice(0,-1))}if("@reverse"in r&&"boolean"==typeof r["@reverse"])return[];if("@graph"in s.getContextValueContainer(await this.parsingContext.getContext(o),t)){const e=this.parsingContext.graphContainerTermStack[i+1];return e?Object.values(e):[this.dataFactory.blankNode()]}if("@id"in r){if(Object.keys(r).length>1&&(e=await this.parsingContext.getContext(o,0)),"@context"in r&&(e=await this.parsingContext.parseContext(r["@context"],e.getContextRaw())),"@vocab"===r["@type"])return this.nullableTermToArray(this.createVocabOrBaseTerm(e,r["@id"]));{const t=r["@id"];let o;if("object"==typeof t){if(!this.parsingContext.rdfstar)throw new n.ErrorCoded(`Found illegal @id '${r}'`,n.ERROR_CODES.INVALID_ID_VALUE);o=this.parsingContext.idStack[i+1][0]}else o=this.resourceToTerm(e,t);return this.nullableTermToArray(o)}}return this.parsingContext.emittedStack[i+1]||r&&"object"==typeof r&&0===Object.keys(r).length?this.parsingContext.idStack[i+1]||(this.parsingContext.idStack[i+1]=[this.dataFactory.blankNode()]):[];case"string":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,r,null));case"boolean":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,Boolean(r).toString(),this.dataFactory.namedNode(s.XSD_BOOLEAN)));case"number":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,r,this.dataFactory.namedNode(r%1==0&&r<1e21?s.XSD_INTEGER:s.XSD_DOUBLE)));default:return this.parsingContext.emitError(new Error(`Could not determine the RDF type of a ${a}`)),[]}}async getContextSelfOrPropertyScoped(e,t){const r=e.getContextRaw()[t];return r&&"object"==typeof r&&"@context"in r&&(e=await this.parsingContext.parseContext(r,e.getContextRaw(),!0)),e}nullableTermToArray(e){return e?[e]:[]}predicateToTerm(e,t){const r=e.expandTerm(t,!0,this.parsingContext.getExpandOptions());return r?"_"===r[0]&&":"===r[1]?this.parsingContext.produceGeneralizedRdf?this.dataFactory.blankNode(r.substr(2)):null:s.isValidIri(r)?this.dataFactory.namedNode(r):r&&this.parsingContext.strictValues?(this.parsingContext.emitError(new n.ErrorCoded(`Invalid predicate IRI: ${r}`,n.ERROR_CODES.INVALID_IRI_MAPPING)),null):null:null}resourceToTerm(e,t){if(t.startsWith("_:"))return this.dataFactory.blankNode(t.substr(2));const r=e.expandTerm(t,!1,this.parsingContext.getExpandOptions());if(!s.isValidIri(r)){if(!r||!this.parsingContext.strictValues)return null;this.parsingContext.emitError(new Error(`Invalid resource IRI: ${r}`))}return this.dataFactory.namedNode(r)}createVocabOrBaseTerm(e,t){if(t.startsWith("_:"))return this.dataFactory.blankNode(t.substr(2));const r=this.parsingContext.getExpandOptions();let n=e.expandTerm(t,!0,r);if(n===t&&(n=e.expandTerm(t,!1,r)),!s.isValidIri(n)){if(!n||!this.parsingContext.strictValues||n.startsWith("@"))return null;this.parsingContext.emitError(new Error(`Invalid term IRI: ${n}`))}return this.dataFactory.namedNode(n)}intToString(e,t){return"number"==typeof e?Number.isFinite(e)?e%1!=0||t&&t.value===s.XSD_DOUBLE?e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"):Number(e).toString():e>0?"INF":"-INF":e}stringValueToTerm(e,t,r,n,i){const o=s.getContextValueType(t,r);if(o)if("@id"===o){if(!i)return this.resourceToTerm(t,this.intToString(n,i))}else if("@vocab"===o){if(!i)return this.createVocabOrBaseTerm(t,this.intToString(n,i))}else i=this.dataFactory.namedNode(o);if(!i){const o=s.getContextValueLanguage(t,r),a=s.getContextValueDirection(t,r);return a&&this.parsingContext.rdfDirection?this.createLanguageDirectionLiteral(e,this.intToString(n,i),o,a):this.dataFactory.literal(this.intToString(n,i),o)}return this.dataFactory.literal(this.intToString(n,i),i)}createLanguageDirectionLiteral(e,t,r,n){if("i18n-datatype"===this.parsingContext.rdfDirection)return r||(r=""),this.dataFactory.literal(t,this.dataFactory.namedNode(`https://www.w3.org/ns/i18n#${r}_${n}`));{const i=this.dataFactory.blankNode(),o=this.getDefaultGraph();return this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"value"),this.dataFactory.literal(t),o)),r&&this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"language"),this.dataFactory.literal(r),o)),this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"direction"),this.dataFactory.literal(n),o)),i}}valueToJsonString(e){return a(e)}async unaliasKeyword(e,t,r,i,o){if(Number.isInteger(e))return e;if(!i){const e=this.parsingContext.unaliasedKeywordCacheStack[r];if(e)return e}if(!n.Util.isPotentialKeyword(e)){let r=(o=o||await this.parsingContext.getContext(t)).getContextRaw()[e];r&&"object"==typeof r&&(r=r["@id"]),n.Util.isValidKeyword(r)&&(e=r)}return i?e:this.parsingContext.unaliasedKeywordCacheStack[r]=e}async unaliasKeywordParent(e,t){return await this.unaliasKeyword(t>0&&e[t-1],e,t-1)}async unaliasKeywords(e,t,r,n){const i={};for(const o in e)i[await this.unaliasKeyword(o,t,r+1,!0,n)]=e[o];return i}async isLiteral(e,t){for(let r=t;r>=0;r--){if("@annotation"===await this.unaliasKeyword(e[r],e,r))return!1;if(this.parsingContext.literalStack[r]||this.parsingContext.jsonLiteralStack[r])return!0}return!1}async getDepthOffsetGraph(e,t){for(let r=e-1;r>0;r--)if("@graph"===await this.unaliasKeyword(t[r],t,r)){const n=(await o.EntryHandlerContainer.getContainerHandler(this.parsingContext,t,r)).containers;return o.EntryHandlerContainer.isComplexGraphContainer(n)?-1:e-r-1}return-1}validateReverseSubject(e){if("Literal"===e.termType)throw new n.ErrorCoded(`Found illegal literal in subject position: ${e.value}`,n.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}getDefaultGraph(){return this.parsingContext.defaultGraph||this.dataFactory.defaultGraph()}async getGraphContainerValue(e,t){let r=this.getDefaultGraph();const{containers:n,depth:i}=await o.EntryHandlerContainer.getContainerHandler(this.parsingContext,e,t);if("@graph"in n){const t=o.EntryHandlerContainer.getContainerGraphIndex(n,i,e),a=this.parsingContext.graphContainerTermStack[i];if(r=a?a[t]:null,!r){let o=null;if("@id"in n){const t=await this.getContainerKey(e[i],e,i);null!==t&&(o=await this.resourceToTerm(await this.parsingContext.getContext(e),t))}o||(o=this.dataFactory.blankNode()),this.parsingContext.graphContainerTermStack[i]||(this.parsingContext.graphContainerTermStack[i]={}),r=this.parsingContext.graphContainerTermStack[i][t]=o}}return r}async getPropertiesDepth(e,t){let r=t;for(let n=t-1;n>0;n--)if("number"!=typeof e[n]){const t=await this.unaliasKeyword(e[n],e,n);if("@reverse"===t)return n;if("@nest"!==t)return r;r=n}return r}async getContainerKey(e,t,r){const n=await this.unaliasKeyword(e,t,r);return"@none"===n?null:n}validateReverseInEmbeddedNode(e,t,r){if(r&&t&&!this.parsingContext.rdfstarReverseInEmbedded)throw new n.ErrorCoded(`Illegal reverse property in embedded node in ${e}`,n.ERROR_CODES.INVALID_EMBEDDED_NODE)}emitQuadChecked(e,t,r,i,o,a,s){let c;if(a?(this.validateReverseSubject(i),c=this.dataFactory.quad(i,r,t,o)):c=this.dataFactory.quad(t,r,i,o),s){if("DefaultGraph"!==c.graph.termType&&(c=this.dataFactory.quad(c.subject,c.predicate,c.object)),this.parsingContext.idStack[e-1])throw new n.ErrorCoded("Illegal multiple properties in an embedded node",n.ERROR_CODES.INVALID_EMBEDDED_NODE);this.parsingContext.idStack[e-1]=[c]}else this.parsingContext.emitQuad(e,c);const u=this.parsingContext.annotationsBuffer[e];if(u){for(const t of u)this.emitAnnotation(e,c,t);delete this.parsingContext.annotationsBuffer[e]}}emitAnnotation(e,t,r){let n;r.reverse?(this.validateReverseSubject(r.object),n=this.dataFactory.quad(r.object,r.predicate,t)):n=this.dataFactory.quad(t,r.predicate,r.object),this.parsingContext.emitQuad(e,n);for(const t of r.nestedAnnotations)this.emitAnnotation(e,n,t)}}s.XSD="http://www.w3.org/2001/XMLSchema#",s.XSD_BOOLEAN=s.XSD+"boolean",s.XSD_INTEGER=s.XSD+"integer",s.XSD_DOUBLE=s.XSD+"double",s.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",t.Util=s},7986:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerIdentifier=void 0,t.ContainerHandlerIdentifier=class{canCombineWithGraph(){return!0}async handle(e,t,r,n,i,o){let a;if(t.emittedStack[o+1]&&t.idStack[o+1])a=t.idStack[o+1][0];else{const e=null!==await r.getContainerKey(n[o],n,o)?await r.resourceToTerm(await t.getContext(n),n[o]):r.dataFactory.blankNode();if(!e)return void(t.emittedStack[o]=!1);a=e,t.idStack[o+1]=[a]}let s=t.idStack[o];s||(s=t.idStack[o]=[]),s.some((e=>e.equals(a)))||s.push(a),await t.handlePendingContainerFlushBuffers()||(t.emittedStack[o]=!1)}}},71977:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerIndex=void 0;const n=r(58202),i=r(76970),o=r(10888);t.ContainerHandlerIndex=class{canCombineWithGraph(){return!0}async handle(e,t,r,a,s,c){if(!Array.isArray(s)){const u="@graph"in e,l=await t.getContext(a),d=a[c-1],p=o.Util.getContextValueIndex(l,d);if(p){if(n.Util.isPotentialKeyword(p))throw new n.ErrorCoded(`Keywords can not be used as @index value, got: ${p}`,n.ERROR_CODES.INVALID_TERM_DEFINITION);if("string"!=typeof p)throw new n.ErrorCoded(`@index values must be strings, got: ${p}`,n.ERROR_CODES.INVALID_TERM_DEFINITION);if("object"!=typeof s){if("@id"!==o.Util.getContextValueType(l,d))throw new n.ErrorCoded(`Property-based index containers require nodes as values or strings with @type: @id, but got: ${s}`,n.ERROR_CODES.INVALID_VALUE_OBJECT);const e=r.resourceToTerm(l,s);e&&(t.idStack[c+1]=[e])}const e=r.createVocabOrBaseTerm(l,p);if(e){const n=await r.valueToTerm(l,p,await r.getContainerKey(a[c],a,c),c,a);if(u){const i=await r.getGraphContainerValue(a,c+1);for(const o of n)t.emitQuad(c,r.dataFactory.quad(i,e,o,r.getDefaultGraph()))}else for(const o of n)await i.EntryHandlerPredicate.handlePredicateObject(t,r,a,c+1,e,o,!1,!1,!1)}}const h=u?2:1;await t.newOnValueJob(a.slice(0,a.length-h),s,c-h,!0),await t.handlePendingContainerFlushBuffers()}t.emittedStack[c]=!1}}},63847:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerLanguage=void 0;const n=r(58202);t.ContainerHandlerLanguage=class{canCombineWithGraph(){return!1}async handle(e,t,r,i,o,a){const s=await r.getContainerKey(i[a],i,a);if(Array.isArray(o))o=o.map((e=>({"@value":e,"@language":s})));else{if("string"!=typeof o)throw new n.ErrorCoded(`Got invalid language map value, got '${JSON.stringify(o)}', but expected string`,n.ERROR_CODES.INVALID_LANGUAGE_MAP_VALUE);o={"@value":o,"@language":s}}await t.newOnValueJob(i.slice(0,i.length-1),o,a-1,!0),t.emittedStack[a]=!1}}},47229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerType=void 0;const n=r(76970),i=r(10888);t.ContainerHandlerType=class{canCombineWithGraph(){return!1}async handle(e,t,r,o,a,s){if(!Array.isArray(a)){if("string"==typeof a){const e=await t.getContext(o),n="@vocab"===i.Util.getContextValueType(e,o[s-1])?await r.createVocabOrBaseTerm(e,a):await r.resourceToTerm(e,a);if(n){const e={"@id":"NamedNode"===n.termType?n.value:a};await t.newOnValueJob(o.slice(0,o.length-1),e,s-1,!0),t.idStack[s+1]=[n]}}else{const e=!!t.idStack[s+1];e||delete t.idStack[s],await t.newOnValueJob(o.slice(0,o.length-1),a,s-1,!0),e||(t.idStack[s+1]=t.idStack[s])}const e=await r.getContainerKey(o[s],o,s),c=null!==e?r.createVocabOrBaseTerm(await t.getContext(o),e):null;c&&await n.EntryHandlerPredicate.handlePredicateObject(t,r,o,s+1,r.rdfType,c,!1,!1,!1),await t.handlePendingContainerFlushBuffers()}t.emittedStack[s]=!1}}},39693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerArrayValue=void 0;const n=r(10888),i=r(58202);t.EntryHandlerArrayValue=class{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return this.test(e,t,null,r,n)}async test(e,t,r,n,i){return"number"==typeof n[i]}async handle(e,t,r,i,o,a){let s=await t.unaliasKeywordParent(i,a);if("@list"===s){let r=null,n=0;for(let e=a-2;e>0;e--){const t=i[e];if("string"==typeof t||"number"==typeof t){n=e,r=t;break}}if(null!==r){const s=await t.valueToTerm(await e.getContext(i),r,o,a,i);for(const r of s)await this.handleListElement(e,t,r,o,a,i.slice(0,n),n);0===s.length&&await this.handleListElement(e,t,null,o,a,i.slice(0,n),n)}}else if("@set"===s)await e.newOnValueJob(i.slice(0,-2),o,a-2,!1);else if(void 0!==s&&"@type"!==s){for(let e=a-1;e>0;e--)if("number"!=typeof i[e]){s=await t.unaliasKeyword(i[e],i,e);break}const r=await e.getContext(i.slice(0,-1));if("@list"in n.Util.getContextValueContainer(r,s)){e.emittedStack[a+1]=!0;const r=await t.valueToTerm(await e.getContext(i),s,o,a,i);for(const n of r)await this.handleListElement(e,t,n,o,a,i.slice(0,-1),a-1);0===r.length&&await this.handleListElement(e,t,null,o,a,i.slice(0,-1),a-1)}else e.shiftStack(a,1),await e.newOnValueJob(i.slice(0,-1),o,a-1,!1),e.contextTree.removeContext(i.slice(0,-1))}}async handleListElement(e,t,r,n,o,a,s){let c=e.listPointerStack[o];if(null!==n&&null!==(await t.unaliasKeywords(n,a,o))["@value"]){if(c&&c.value){const r=t.dataFactory.blankNode();e.emitQuad(o,t.dataFactory.quad(c.value,t.rdfRest,r,t.getDefaultGraph())),c.value=r}else{const e=t.dataFactory.blankNode();c={value:e,listRootDepth:s,listId:e}}r&&e.emitQuad(o,t.dataFactory.quad(c.value,t.rdfFirst,r,t.getDefaultGraph()))}else c||(c={listRootDepth:s,listId:t.rdfNil});e.listPointerStack[o]=c,e.rdfstar&&e.annotationsBuffer[o]&&e.emitError(new i.ErrorCoded("Found an illegal annotation inside a list",i.ERROR_CODES.INVALID_ANNOTATION))}}},64860:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerContainer=void 0;const n=r(7986),i=r(71977),o=r(63847),a=r(47229),s=r(10888);class c{static isSimpleGraphContainer(e){return"@graph"in e&&("@set"in e&&2===Object.keys(e).length||1===Object.keys(e).length)}static isComplexGraphContainer(e){return"@graph"in e&&("@set"in e&&Object.keys(e).length>2||!("@set"in e)&&Object.keys(e).length>1)}static getContainerGraphIndex(e,t,r){let n=c.isSimpleGraphContainer(e),i="";for(let e=t;e=0;e--)if("number"!=typeof t[e]){const r=s.Util.getContextValue(o,"@container",t[e],!1);if(r&&c.isSimpleGraphContainer(r))return{containers:r,depth:e+1,fallback:!1};const a=s.Util.getContextValue(o,"@container",t[e-1],!1);if(a){const t="@graph"in a;for(const r in c.CONTAINER_HANDLERS)if(a[r])return t?c.CONTAINER_HANDLERS[r].canCombineWithGraph()?{containers:a,depth:e,fallback:!1}:n:i?n:{containers:a,depth:e,fallback:!1};return n}if(i)return n;i=!0}return n}static async isBufferableContainerHandler(e,t,r){const n=await c.getContainerHandler(e,t,r);return!n.fallback&&!("@graph"in n.containers)}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!!await this.test(e,t,null,r,n)}async test(e,t,r,n,i){const o=s.Util.getContextValueContainer(await e.getContext(n,2),n[i-1]);for(const e in c.CONTAINER_HANDLERS)if(o[e])return{containers:o,handler:c.CONTAINER_HANDLERS[e]};return null}async handle(e,t,r,n,i,o,a){return a.handler.handle(a.containers,e,t,n,i,o)}}c.CONTAINER_HANDLERS={"@id":new n.ContainerHandlerIdentifier,"@index":new i.ContainerHandlerIndex,"@language":new o.ContainerHandlerLanguage,"@type":new a.ContainerHandlerType},t.EntryHandlerContainer=c},22386:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerInvalidFallback=void 0,t.EntryHandlerInvalidFallback=class{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!1}async test(e,t,r,n,i){return!0}async handle(e,t,r,n,i,o){e.emittedStack[o]=!1}}},76970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerPredicate=void 0;const n=r(58202),i=r(10888);class o{static async handlePredicateObject(e,t,r,i,o,a,s,c,u){const l=await t.getPropertiesDepth(r,i),d=await t.getDepthOffsetGraph(i,r),p=i-d,h=e.idStack[l];if(h&&!u)for(const n of h)if(d>=0){const r=e.idStack[p-1];if(r)for(const e of r)t.emitQuadChecked(i,n,o,a,e,s,c);else s?(t.validateReverseSubject(a),e.getUnidentifiedGraphBufferSafe(p-1).push({subject:a,predicate:o,object:n,isEmbedded:c})):e.getUnidentifiedGraphBufferSafe(p-1).push({subject:n,predicate:o,object:a,isEmbedded:c})}else{const e=await t.getGraphContainerValue(r,l);t.emitQuadChecked(i,n,o,a,e,s,c)}else if(s&&t.validateReverseSubject(a),u){if(e.rdfstar){e.idStack[i]&&e.emitError(new n.ErrorCoded(`Found an illegal @id inside an annotation: ${e.idStack[i][0].value}`,n.ERROR_CODES.INVALID_ANNOTATION));for(let o=0;o=0;e--){const t=c[e];t.depth>l&&(u.nestedAnnotations.push(t),c.splice(e,1))}}}else e.getUnidentifiedValueBufferSafe(l).push({predicate:o,object:a,reverse:s,isEmbedded:c})}isPropertyHandler(){return!0}isStackProcessor(){return!0}async validate(e,t,r,n,o){const a=r[n];if(a){const o=await e.getContext(r);if(!e.jsonLiteralStack[n]&&await t.predicateToTerm(o,r[n]))return"@json"===i.Util.getContextValueType(o,a)&&(e.jsonLiteralStack[n+1]=!0),!0}return!1}async test(e,t,r,n,i){return n[i]}async handle(e,t,r,a,s,c,u){const l=a[c],d=await e.getContext(a),p=await t.predicateToTerm(d,r);if(p){const u=await t.valueToTerm(d,r,s,c,a);if(u.length)for(let h of u){let u=await t.unaliasKeywordParent(a,c);const f=i.Util.isPropertyReverse(d,l,u);let y=0;for(;"@reverse"===u||"number"==typeof u;)"number"==typeof u?y++:c--,u=await t.unaliasKeywordParent(a,c-y);const g=i.Util.isPropertyInEmbeddedNode(u);t.validateReverseInEmbeddedNode(r,f,g);const m=i.Util.isPropertyInAnnotationObject(u);if(s){const o="@list"in i.Util.getContextValueContainer(d,r);if(o||s["@list"]){if((o&&!Array.isArray(s)&&!s["@list"]||s["@list"]&&!Array.isArray(s["@list"]))&&h!==t.rdfNil){const r=t.dataFactory.blankNode();e.emitQuad(c,t.dataFactory.quad(r,t.rdfRest,t.rdfNil,t.getDefaultGraph())),e.emitQuad(c,t.dataFactory.quad(r,t.rdfFirst,h,t.getDefaultGraph())),h=r}if(f&&!e.allowSubjectList)throw new n.ErrorCoded(`Found illegal list value in subject position at ${r}`,n.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}}await o.handlePredicateObject(e,t,a,c,p,h,f,g,m)}}}}t.EntryHandlerPredicate=o},1548:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeyword=void 0,t.EntryHandlerKeyword=class{constructor(e){this.keyword=e}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!1}async test(e,t,r,n,i){return r===this.keyword}}},86105:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordAnnotation=void 0;const n=r(1548),i=r(58202);class o extends n.EntryHandlerKeyword{constructor(){super("@annotation")}async handle(e,t,r,n,o,a){("string"==typeof o||"object"==typeof o&&o["@value"])&&e.emitError(new i.ErrorCoded(`Found illegal annotation value: ${JSON.stringify(o)}`,i.ERROR_CODES.INVALID_ANNOTATION))}}t.EntryHandlerKeywordAnnotation=o},23809:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordContext=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@context")}isStackProcessor(){return!1}async handle(e,t,r,i,o,a){e.streamingProfile&&(e.processingStack[a]||e.processingType[a]||void 0!==e.idStack[a])&&e.emitError(new n.ErrorCoded("Found an out-of-order context, while streaming is enabled.(disable `streamingProfile`)",n.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));const s=e.getContext(i),c=e.parseContext(o,(await s).getContextRaw());e.contextTree.setContext(i.slice(0,-1),c),e.emitContext(o),await e.validateContext(await c)}}t.EntryHandlerKeywordContext=o},55998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordGraph=void 0;const n=r(1548);class i extends n.EntryHandlerKeyword{constructor(){super("@graph")}async handle(e,t,r,n,i,o){e.graphStack[o+1]=!0}}t.EntryHandlerKeywordGraph=i},15517:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordId=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@id")}isStackProcessor(){return!1}async handle(e,t,r,i,o,a){if("string"!=typeof o){if(e.rdfstar&&"object"==typeof o){const t=Object.keys(o);1===t.length&&"@id"===t[0]&&e.emitError(new n.ErrorCoded(`Invalid embedded node without property with @id ${o["@id"]}`,n.ERROR_CODES.INVALID_EMBEDDED_NODE))}else e.emitError(new n.ErrorCoded(`Found illegal @id '${o}'`,n.ERROR_CODES.INVALID_ID_VALUE));return}const s=await t.getPropertiesDepth(i,a);if(void 0!==e.idStack[s]&&(e.idStack[s][0].listHead?e.emitError(new n.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${i[a-1]}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT)):e.emitError(new n.ErrorCoded(`Found duplicate @ids '${e.idStack[s][0].value}' and '${o}'`,n.ERROR_CODES.COLLIDING_KEYWORDS))),e.rdfstar&&e.annotationsBuffer[a])for(const t of e.annotationsBuffer[a])t.depth===a&&e.emitError(new n.ErrorCoded(`Found an illegal @id inside an annotation: ${o}`,n.ERROR_CODES.INVALID_ANNOTATION));e.idStack[s]=t.nullableTermToArray(await t.resourceToTerm(await e.getContext(i),o))}}t.EntryHandlerKeywordId=o},70736:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordIncluded=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@included")}async handle(e,t,r,i,o,a){"object"!=typeof o&&e.emitError(new n.ErrorCoded(`Found illegal @included '${o}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE));const s=await t.unaliasKeywords(o,i,a,await e.getContext(i));"@value"in s&&e.emitError(new n.ErrorCoded(`Found an illegal @included @value node '${JSON.stringify(o)}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE)),"@list"in s&&e.emitError(new n.ErrorCoded(`Found an illegal @included @list node '${JSON.stringify(o)}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE)),e.emittedStack[a]=!1}}t.EntryHandlerKeywordIncluded=o},24910:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordNest=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@nest")}async handle(e,t,r,i,o,a){"object"!=typeof o&&e.emitError(new n.ErrorCoded(`Found invalid @nest entry for '${r}': '${o}'`,n.ERROR_CODES.INVALID_NEST_VALUE)),"@value"in await t.unaliasKeywords(o,i,a,await e.getContext(i))&&e.emitError(new n.ErrorCoded(`Found an invalid @value node for '${r}'`,n.ERROR_CODES.INVALID_NEST_VALUE)),e.emittedStack[a]=!1}}t.EntryHandlerKeywordNest=o},62036:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordType=void 0;const n=r(58202),i=r(10888),o=r(76970),a=r(1548);class s extends a.EntryHandlerKeyword{constructor(){super("@type")}isStackProcessor(){return!1}async handle(e,t,r,a,s,c){const u=a[c],l=await e.getContext(a),d=t.rdfType,p=await t.unaliasKeywordParent(a,c),h=i.Util.isPropertyReverse(l,u,p),f=i.Util.isPropertyInEmbeddedNode(p);t.validateReverseInEmbeddedNode(r,h,f);const y=i.Util.isPropertyInAnnotationObject(p),g=Array.isArray(s)?s:[s];for(const r of g){"string"!=typeof r&&e.emitError(new n.ErrorCoded(`Found illegal @type '${r}'`,n.ERROR_CODES.INVALID_TYPE_VALUE));const i=t.createVocabOrBaseTerm(l,r);i&&await o.EntryHandlerPredicate.handlePredicateObject(e,t,a,c,d,i,h,f,y)}let m=Promise.resolve(l),b=!1;for(const t of g.sort()){const r=i.Util.getContextValue(l,"@context",t,null);r&&(b=!0,m=m.then((t=>e.parseContext(r,t.getContextRaw()))))}!e.streamingProfile||!b&&e.streamingProfileAllowOutOfOrderPlainType||!e.processingStack[c]&&!e.idStack[c]||e.emitError(new n.ErrorCoded("Found an out-of-order type-scoped context, while streaming is enabled.(disable `streamingProfile`)",n.ERROR_CODES.INVALID_STREAMING_KEY_ORDER)),b&&(m=m.then((e=>!0!==e.getContextRaw()["@propagate"]?new n.JsonLdContextNormalized(Object.assign(Object.assign({},e.getContextRaw()),{"@propagate":!1,"@__propagateFallback":l.getContextRaw()})):e)),e.contextTree.setContext(a.slice(0,a.length-1),m)),e.processingType[c]=!0}}t.EntryHandlerKeywordType=s},86454:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordUnknownFallback=void 0;const n=r(58202);class i{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,i,o){const a=await t.unaliasKeyword(r[i],r,i);return!(!n.Util.isPotentialKeyword(a)||!o&&"@list"===a)}async test(e,t,r,i,o){return n.Util.isPotentialKeyword(r)}async handle(e,t,r,o,a,s){const c=i.VALID_KEYWORDS_TYPES[r];void 0!==c?c&&typeof a!==c.type&&e.emitError(new n.ErrorCoded(`Invalid value type for '${r}' with value '${a}'`,c.errorCode)):e.strictValues&&e.emitError(new Error(`Unknown keyword '${r}' with value '${a}'`)),e.emittedStack[s]=!1}}i.VALID_KEYWORDS_TYPES={"@index":{type:"string",errorCode:n.ERROR_CODES.INVALID_INDEX_VALUE},"@list":null,"@reverse":{type:"object",errorCode:n.ERROR_CODES.INVALID_REVERSE_VALUE},"@set":null,"@value":null},t.EntryHandlerKeywordUnknownFallback=i},33283:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordValue=void 0;const n=r(1548);class i extends n.EntryHandlerKeyword{constructor(){super("@value")}async validate(e,t,r,n,i){const o=r[n];return o&&!e.literalStack[n]&&await this.test(e,t,o,r,n)&&(e.literalStack[n]=!0),super.validate(e,t,r,n,i)}async test(e,t,r,n,i){return"@value"===await t.unaliasKeyword(n[i],n.slice(0,n.length-1),i-1,!0)}async handle(e,t,r,n,i,o){e.literalStack[o]=!0,delete e.unidentifiedValuesBuffer[o],delete e.unidentifiedGraphsBuffer[o],e.emittedStack[o]=!1}}t.EntryHandlerKeywordValue=i},58202:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38314),t),i(r(18033),t),i(r(99344),t),i(r(72731),t),i(r(31579),t),i(r(22602),t),i(r(70384),t)},38314:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0;const n=r(70742),i=r(18033),o=r(99344),a=r(22602),s=r(70384);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},18033:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},99344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0;const n=r(18033),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},72731:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},31579:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22602:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(18033),o=r(70384);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},43549:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77843),t),i(r(23317),t)},77843:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JsonLdSerializer=void 0;const n=r(25875),i=r(89250),o=r(23317),a=r(19198);class s extends a.Transform{constructor(e={}){super({objectMode:!0}),this.indentation=0,this.options=e,this.options.baseIRI&&!this.options.context&&(this.options.context={"@base":this.options.baseIRI}),this.options.context?(this.originalContext=this.options.context,this.context=(new n.ContextParser).parse(this.options.context,{baseIRI:this.options.baseIRI})):this.context=Promise.resolve(new n.JsonLdContextNormalized({}))}import(e){const t=new a.PassThrough({objectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new s(this.options));return r}_transform(e,t,r){this.context.then((t=>{this.transformQuad(e,t),r()})).catch(r)}async list(e){const t=await this.context;return{"@list":e.map((e=>o.Util.termToValue(e,t,this.options)))}}_flush(e){return this.opened||this.pushDocumentStart(),this.lastPredicate&&this.endPredicate(),this.lastSubject&&this.endSubject(),this.lastGraph&&"DefaultGraph"!==this.lastGraph.termType&&this.endGraph(),this.endDocument(),e(null,null)}transformQuad(e,t){this.opened||this.pushDocumentStart();const r=this.lastGraph&&"DefaultGraph"!==this.lastGraph.termType&&this.lastGraph.equals(e.subject);if(!(r||this.lastGraph&&e.graph.equals(this.lastGraph))){let r="DefaultGraph"!==e.graph.termType&&this.lastSubject&&this.lastSubject.equals(e.graph);this.lastGraph&&("DefaultGraph"!==this.lastGraph.termType?(this.endPredicate(),this.endSubject(),this.endGraph(!0),r=!1):r?(this.endPredicate(!0),this.lastSubject=null):(this.endPredicate(),this.endSubject(!0))),"DefaultGraph"!==e.graph.termType&&(r||this.pushId(e.graph,!0,t),this.pushSeparator(this.options.space?i.SeparatorType.GRAPH_FIELD_NONCOMPACT:i.SeparatorType.GRAPH_FIELD_COMPACT),this.indentation++),this.lastGraph=e.graph}this.lastSubject&&e.subject.equals(this.lastSubject)||(r?(this.endPredicate(),this.endSubject(),this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END_COMMA),this.lastGraph=e.graph):(this.lastSubject&&(this.endPredicate(),this.endSubject(!0)),this.pushId(e.subject,!0,t)),this.lastSubject=e.subject),this.lastPredicate&&e.predicate.equals(this.lastPredicate)||(this.lastPredicate&&this.endPredicate(!0),this.pushPredicate(e.predicate,t)),this.pushObject(e.object,t)}pushDocumentStart(){this.opened=!0,this.originalContext&&!this.options.excludeContext?(this.pushSeparator(i.SeparatorType.OBJECT_START),this.indentation++,this.pushSeparator(i.SeparatorType.CONTEXT_FIELD),this.pushIndented(JSON.stringify(this.originalContext,null,this.options.space)+","),this.pushSeparator(this.options.space?i.SeparatorType.GRAPH_FIELD_NONCOMPACT:i.SeparatorType.GRAPH_FIELD_COMPACT),this.indentation++):(this.pushSeparator(i.SeparatorType.ARRAY_START),this.indentation++)}pushId(e,t,r){if("Quad"===e.termType)this.pushNestedQuad(e,!0,r);else{const n="BlankNode"===e.termType?"_:"+e.value:r.compactIri(e.value,!1);t?this.pushSeparator(i.SeparatorType.OBJECT_START):(this.push(i.SeparatorType.OBJECT_START.label),this.options.space&&this.push("\n")),this.indentation++,this.pushIndented(this.options.space?`"@id": "${n}",`:`"@id":"${n}",`)}}pushPredicate(e,t){let r=e.value;this.options.useRdfType||r!==o.Util.RDF_TYPE||(r="@type",this.objectOptions=Object.assign(Object.assign({},this.options),{compactIds:!0,vocab:!0}));const n=t.compactIri(r,!0);this.pushIndented(this.options.space?`"${n}": [`:`"${n}":[`),this.indentation++,this.lastPredicate=e}pushObject(e,t){if(this.hadObjectForPredicate?this.pushSeparator(i.SeparatorType.COMMA):this.hadObjectForPredicate=!0,"Quad"===e.termType){const r=this.lastSubject,n=this.lastPredicate;return this.hadObjectForPredicate=!1,this.pushNestedQuad(e,!1,t),this.endSubject(!1),this.hadObjectForPredicate=!0,this.lastPredicate=n,void(this.lastSubject=r)}let r;try{r=e["@list"]?e:o.Util.termToValue(e,t,this.objectOptions||this.options)}catch(e){return this.emit("error",e)}this.pushIndented(JSON.stringify(r,null,this.options.space))}pushNestedQuad(e,t,r){this.pushSeparator(i.SeparatorType.OBJECT_START),this.indentation++,this.pushIndented(this.options.space?'"@id": ':'"@id":',!1),"DefaultGraph"!==e.graph.termType&&this.emit("error",new Error(`Found a nested quad with the non-default graph: ${e.graph.value}`)),this.pushId(e.subject,!1,r),this.pushPredicate(e.predicate,r),this.pushObject(e.object,r),this.endPredicate(!1),this.endSubject(t)}endDocument(){this.opened=!1,this.originalContext&&!this.options.excludeContext?(this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END),this.indentation--,this.pushSeparator(i.SeparatorType.OBJECT_END)):(this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END))}endPredicate(e){this.indentation--,this.pushSeparator(e?i.SeparatorType.ARRAY_END_COMMA:i.SeparatorType.ARRAY_END),this.hadObjectForPredicate=!1,this.objectOptions=null,this.lastPredicate=null}endSubject(e){this.indentation--,this.pushSeparator(e?i.SeparatorType.OBJECT_END_COMMA:i.SeparatorType.OBJECT_END),this.lastSubject=null}endGraph(e){this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END),this.indentation--,this.pushSeparator(e?i.SeparatorType.OBJECT_END_COMMA:i.SeparatorType.OBJECT_END),this.lastGraph=null}pushSeparator(e){this.pushIndented(e.label)}pushIndented(e,t=!0){const r=this.getIndentPrefix(),n=e.split("\n").map((e=>r+e)).join("\n");this.push(n),this.options.space&&t&&this.push("\n")}getIndentPrefix(){return this.options.space?this.options.space.repeat(this.indentation):""}}t.JsonLdSerializer=s},89250:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SeparatorType=void 0;class r{constructor(e){this.label=e}}t.SeparatorType=r,r.COMMA=new r(","),r.OBJECT_START=new r("{"),r.OBJECT_END=new r("}"),r.OBJECT_END_COMMA=new r("},"),r.ARRAY_START=new r("["),r.ARRAY_END=new r("]"),r.ARRAY_END_COMMA=new r("],"),r.GRAPH_FIELD_NONCOMPACT=new r('"@graph": ['),r.GRAPH_FIELD_COMPACT=new r('"@graph":['),r.CONTEXT_FIELD=new r('"@context":')},23317:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(25875);class i{static termToValue(e,t,r={compactIds:!1,useNativeTypes:!1}){switch(e.termType){case"NamedNode":const o=t.compactIri(e.value,r.vocab);return r.compactIds?o:{"@id":o};case"DefaultGraph":return r.compactIds?e.value:{"@id":e.value};case"BlankNode":const a=`_:${e.value}`;return r.compactIds?a:{"@id":a};case"Literal":if(e.datatype.value===i.RDF_JSON){let t;try{t=JSON.parse(e.value)}catch(e){throw new n.ErrorCoded("Invalid JSON literal: "+e.message,n.ERROR_CODES.INVALID_JSON_LITERAL)}return{"@value":t,"@type":"@json"}}if("i18n-datatype"===r.rdfDirection&&e.datatype.value.startsWith(i.I18N)){const[t,r]=e.datatype.value.substr(i.I18N.length,e.datatype.value.length).split("_");return Object.assign(Object.assign({"@value":e.value},t?{"@language":t}:{}),r?{"@direction":r}:{})}const s=e.datatype.value===i.XSD_STRING,c={"@value":!s&&r.useNativeTypes?i.stringToNativeType(e.value,e.datatype.value):e.value};return e.language?Object.assign(Object.assign({},c),{"@language":e.language}):s||"string"!=typeof c["@value"]?c:Object.assign(Object.assign({},c),{"@type":e.datatype.value})}}static stringToNativeType(e,t){if(t.startsWith(i.XSD))switch(t.substr(i.XSD.length)){case"boolean":if("true"===e)return!0;if("false"===e)return!1;throw new Error(`Invalid xsd:boolean value '${e}'`);case"integer":case"number":case"int":case"byte":case"long":const t=parseInt(e,10);if(isNaN(t))throw new Error(`Invalid xsd:integer value '${e}'`);return t;case"float":case"double":const r=parseFloat(e);if(isNaN(r))throw new Error(`Invalid xsd:float value '${e}'`);return r}return e}}t.Util=i,i.XSD="http://www.w3.org/2001/XMLSchema#",i.XSD_STRING=i.XSD+"string",i.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",i.RDF_TYPE=i.RDF+"type",i.RDF_JSON=i.RDF+"JSON",i.I18N="https://www.w3.org/ns/i18n#"},25875:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41163),t),i(r(94142),t),i(r(48897),t),i(r(74482),t),i(r(64230),t),i(r(98087),t),i(r(44219),t)},41163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0;const n=r(70742),i=r(94142),o=r(48897),a=r(98087),s=r(44219);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},94142:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},48897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0;const n=r(94142),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},74482:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},64230:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(94142),o=r(44219);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},51009:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3170),t),i(r(68686),t),i(r(47194),t),i(r(36458),t),i(r(8770),t),i(r(43392),t),i(r(48073),t),i(r(75636),t),i(r(86126),t),i(r(73153),t)},43392:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},48073:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},75636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MicrodataRdfParser=void 0;const n=r(78659),i=r(19198),o=r(68686),a=r(47194),s=r(36458),c=r(8770),u=r(73153),l=r(68395);class d extends i.Transform{constructor(e){super({readableObjectMode:!0}),this.itemScopeStack=[],this.textBufferStack=[],this.isEmittingReferences=!1,this.pendingItemRefsDomain={},this.pendingItemRefsRangeFinalized={},this.pendingItemRefsRangeCollecting={},e=e||{},this.options=e,this.util=new u.Util(e.dataFactory,e.baseIRI),this.defaultGraph=e.defaultGraph||this.util.dataFactory.defaultGraph(),this.htmlParseListener=e.htmlParseListener,this.vocabRegistry=e.vocabRegistry||l,this.parser=this.initializeParser(!!e.xmlMode)}import(e){const t=new i.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new d(this.options));return r}_transform(e,t,r){this.parser.write(e.toString()),r()}_flush(e){this.parser.end(),e()}getItemScope(e){let t=this.itemScopeStack.length-(e?2:1);for(;t>0&&!this.itemScopeStack[t];)t--;return this.itemScopeStack[t]}getDepth(){return this.itemScopeStack.length}onTagOpen(e,t){if(!this.isEmittingReferences){if("id"in t){const e=t.id;this.pendingItemRefsRangeCollecting[e]={events:[],counter:0,ids:[]}}for(const r of Object.values(this.pendingItemRefsRangeCollecting))r.counter++,r.events.push({type:"open",name:e,attributes:t})}let r;if(this.textBufferStack.push(void 0),"itemscope"in t){let e;if(this.emittingReferencesItemScopeIdGenerator)e=this.emittingReferencesItemScopeIdGenerator();else{e="itemid"in t&&this.util.createSubject(t.itemid)||this.util.dataFactory.blankNode();for(const t of Object.values(this.pendingItemRefsRangeCollecting))t.ids.push(e)}r={subject:e},this.isEmittingReferences&&(r.blockEmission=!0);const n=this.getItemScope();n&&n.vocab&&(r.vocab=n.vocab),this.itemScopeStack.push(r)}else r=this.getItemScope(),this.itemScopeStack.push(void 0);if(r){if("itemtype"in t)for(const e of this.util.createVocabIris(t.itemtype,r,!1))r.vocab||(r.vocab=this.util.deriveVocab(e.value,this.vocabRegistry)),r.blockEmission||this.emitTriple(r.subject,this.util.dataFactory.namedNode(`${u.Util.RDF}type`),e);if("lang"in t&&(r.language=t.lang),"xml:lang"in t&&(r.language=t["xml:lang"]),"itemscope"in t&&!this.isEmittingReferences&&"itemref"in t)for(const e of t.itemref.split(/\s+/u))e in this.pendingItemRefsDomain||(this.pendingItemRefsDomain[e]=[]),this.pendingItemRefsDomain[e].push(r),this.tryToEmitReferences(e,r)}"itemprop"in t&&this.handleItemProperties(t.itemprop,!1,r,e,t),"itemprop-reverse"in t&&this.handleItemProperties(t["itemprop-reverse"],!0,r,e,t)}onText(e){if(!this.isEmittingReferences)for(const t of Object.values(this.pendingItemRefsRangeCollecting))t.events.push({type:"text",data:e});for(const t of this.textBufferStack)t&&t.push(e)}onTagClose(){if(!this.isEmittingReferences)for(const[e,t]of Object.entries(this.pendingItemRefsRangeCollecting))t.counter--,t.events.push({type:"close"}),0===t.counter&&(this.pendingItemRefsRangeFinalized[e]=t,delete this.pendingItemRefsRangeCollecting[e],this.tryToEmitReferences(e));const e=this.getItemScope(!0);if(e){const t=this.getDepth();if(e.predicates&&t in e.predicates)for(const[r,n]of Object.entries(e.predicates[t])){const i=this.util.createLiteral(this.textBufferStack[t].join(""),e);this.emitPredicateTriples(e,n,i,"reverse"===r),delete e.predicates[t][r]}}this.itemScopeStack.pop(),this.textBufferStack.pop()}onEnd(){}initializeParser(e){return new n.Parser({onclosetag:()=>{try{this.onTagClose(),this.htmlParseListener&&this.htmlParseListener.onTagClose()}catch(e){this.emit("error",e)}},onend:()=>{try{this.onEnd(),this.htmlParseListener&&this.htmlParseListener.onEnd()}catch(e){this.emit("error",e)}},onopentag:(e,t)=>{try{this.onTagOpen(e,t),this.htmlParseListener&&this.htmlParseListener.onTagOpen(e,t)}catch(e){this.emit("error",e)}},ontext:e=>{try{this.onText(e),this.htmlParseListener&&this.htmlParseListener.onText(e)}catch(e){this.emit("error",e)}}},{decodeEntities:!0,recognizeSelfClosing:!0,xmlMode:e})}handleItemProperties(e,t,r,n,i){const o=this.getItemScope(!0);if(o){const a=this.getDepth(),s=this.util.createVocabIris(e,o,!0);o.predicates||(o.predicates={}),o.predicates[a]||(o.predicates[a]={});const c=t?"reverse":"forward";o.predicates[a][c]=s;for(const t of this.util.getVocabularyExpansionType(e,o,this.vocabRegistry))s.push(t);if(r&&"itemscope"in i)this.emitPredicateTriples(o,s,r.subject,t),delete o.predicates[a][c];else for(const e of d.ITEM_PROPERTY_HANDLERS)if(e.canHandle(n,i)){const r=e.getObject(i,this.util,o);this.emitPredicateTriples(o,s,r,t),delete o.predicates[a][c]}o.predicates[a][c]&&(this.textBufferStack[a]=[])}}emitPredicateTriples(e,t,r,n){if(!e.blockEmission)for(const i of t)n?"Literal"!==r.termType&&this.emitTriple(r,i,e.subject):this.emitTriple(e.subject,i,r)}emitTriple(e,t,r){this.push(this.util.dataFactory.quad(e,t,r,this.defaultGraph))}tryToEmitReferences(e,t){const r=this.pendingItemRefsRangeFinalized[e];if(r){let n;if(t){n=[t];const r=this.pendingItemRefsDomain[e].indexOf(t);this.pendingItemRefsDomain[e].splice(r,1)}else n=this.pendingItemRefsDomain[e],delete this.pendingItemRefsDomain[e];if(n){const e=this.itemScopeStack,t=this.textBufferStack;this.isEmittingReferences=!0;for(const e of n){this.itemScopeStack=[e],this.textBufferStack=[void 0];const t=[...r.ids];this.emittingReferencesItemScopeIdGenerator=()=>t.shift();for(const e of r.events)switch(e.type){case"open":this.onTagOpen(e.name,e.attributes);break;case"text":this.onText(e.data);break;case"close":this.onTagClose()}}this.emittingReferencesItemScopeIdGenerator=void 0,this.itemScopeStack=e,this.textBufferStack=t,this.isEmittingReferences=!1}}}}t.MicrodataRdfParser=d,d.ITEM_PROPERTY_HANDLERS=[new o.ItemPropertyHandlerContent,new c.ItemPropertyHandlerUrl("a","href"),new c.ItemPropertyHandlerUrl("area","href"),new c.ItemPropertyHandlerUrl("audio","src"),new c.ItemPropertyHandlerUrl("embed","src"),new c.ItemPropertyHandlerUrl("iframe","src"),new c.ItemPropertyHandlerUrl("img","src"),new c.ItemPropertyHandlerUrl("link","href"),new c.ItemPropertyHandlerUrl("object","data"),new c.ItemPropertyHandlerUrl("source","src"),new c.ItemPropertyHandlerUrl("track","src"),new c.ItemPropertyHandlerUrl("video","src"),new a.ItemPropertyHandlerNumber("data","value"),new a.ItemPropertyHandlerNumber("meter","value"),new s.ItemPropertyHandlerTime]},73153:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(47793),i=r(70742);class o{constructor(e,t){this.dataFactory=e||new n.DataFactory,this.baseIRI=t||""}static isValidIri(e){return o.IRI_REGEX.test(e)}createVocabIris(e,t,r){return e.split(/\s+/u).filter((e=>!!e)).map((e=>{if(!o.isValidIri(e)){if(!r)return;e=`${t.vocab||`${this.baseIRI}#`}${e}`}return this.dataFactory.namedNode(e)})).filter((e=>!!e))}getVocabularyExpansionType(e,t,r){const n=e.split(/\s+/u);if(n.includes("subPropertyOf")||n.includes("equivalentProperty"))return[this.dataFactory.namedNode(`${o.RDF}type`)];if(t.vocab&&t.vocab in r&&r[t.vocab].properties){let e=[];for(const[i,o]of Object.entries(r[t.vocab].properties))n.includes(i)&&(e=[...Object.values(o).map((e=>this.dataFactory.namedNode(e)))]);return e}return[]}createSubject(e){if(!o.isValidIri(e))try{e=(0,i.resolve)(e,this.baseIRI)}catch(e){return}return this.dataFactory.namedNode(e)}createLiteral(e,t){return this.dataFactory.literal(e,t.language)}deriveVocab(e,t){let r;for(const n in t)if(e.startsWith(n)){r=n,r.endsWith("/")||(r+="#");break}if(!r){const t=e.indexOf("#");r=t>0?e.slice(0,t+1):(0,i.resolve)(".",e)}return r}}t.Util=o,o.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",o.XSD="http://www.w3.org/2001/XMLSchema#",o.RDFA="http://www.w3.org/ns/rdfa#",o.IRI_REGEX=/^([A-Za-z][\d+-.A-Za-z]*|_):[^ "<>[\\\]`{|}]*$/u},3170:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},68686:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerContent=void 0,t.ItemPropertyHandlerContent=class{canHandle(e,t){return"content"in t}getObject(e,t,r){return t.createLiteral(e.content,r)}}},47194:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerNumber=void 0;const n=r(73153);t.ItemPropertyHandlerNumber=class{constructor(e,t){this.tagName=e,this.attributeName=t}canHandle(e,t){return this.tagName===e&&this.attributeName in t}getObject(e,t,r){const i=e[this.attributeName];let o;return Number.isNaN(Number.parseInt(i,10))||i.includes(".")?Number.isNaN(Number.parseFloat(i))||(o=`${n.Util.XSD}double`):o=`${n.Util.XSD}integer`,t.dataFactory.literal(i,o&&t.dataFactory.namedNode(o))}}},36458:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerTime=void 0;const n=r(73153);class i{canHandle(e,t){return"time"===e&&"datetime"in t}getObject(e,t,r){const o=e.datetime;let a;for(const e of i.TIME_REGEXES)if(e.regex.test(o)){a=t.dataFactory.namedNode(n.Util.XSD+e.type);break}return t.dataFactory.literal(o,a)}}t.ItemPropertyHandlerTime=i,i.TIME_REGEXES=[{regex:/^-?P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d)?S)?)?$/u,type:"duration"},{regex:/^\d+-\d\d-\d\dT\d\d:\d\d:\d\d((Z?)|([+-]\d\d:\d\d))$/u,type:"dateTime"},{regex:/^\d+-\d\d-\d\dZ?$/u,type:"date"},{regex:/^\d\d:\d\d:\d\d((Z?)|([+-]\d\d:\d\d))$/u,type:"time"},{regex:/^\d+-\d\d$/u,type:"gYearMonth"},{regex:/^\d+$/u,type:"gYear"}]},8770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerUrl=void 0;const n=r(70742);t.ItemPropertyHandlerUrl=class{constructor(e,t){this.tagName=e,this.attributeName=t}canHandle(e,t){return this.tagName===e&&this.attributeName in t}getObject(e,t,r){return t.dataFactory.namedNode((0,n.resolve)(e[this.attributeName],t.baseIRI))}}},43349:e=>{function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},54378:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BlankNode:()=>x,DataFactory:()=>S,DefaultGraph:()=>I,Lexer:()=>g,Literal:()=>O,NamedNode:()=>T,Parser:()=>j,Quad:()=>F,Store:()=>re,StreamParser:()=>ie,StreamWriter:()=>oe,Term:()=>E,Triple:()=>F,Util:()=>n,Variable:()=>A,Writer:()=>Y,default:()=>ae,termFromId:()=>R,termToId:()=>P});var n={};r.r(n),r.d(n,{inDefaultGraph:()=>q,isBlankNode:()=>L,isDefaultGraph:()=>V,isLiteral:()=>U,isNamedNode:()=>k,isVariable:()=>B,prefix:()=>H,prefixes:()=>$});var i=r(79596),o=r.n(i);const a="http://www.w3.org/1999/02/22-rdf-syntax-ns#",s="http://www.w3.org/2001/XMLSchema#",c="http://www.w3.org/2000/10/swap/",u={xsd:{decimal:`${s}decimal`,boolean:`${s}boolean`,double:`${s}double`,integer:`${s}integer`,string:`${s}string`},rdf:{type:`${a}type`,nil:`${a}nil`,first:`${a}first`,rest:`${a}rest`,langString:`${a}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${c}reify#forSome`,forAll:`${c}reify#forAll`},log:{implies:`${c}log#implies`}},{xsd:l}=u,d=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,p={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},h=/[\x00-\x20<>\\"\{\}\|\^\`]/,f={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},y=/$0^/;class g{constructor(e){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,e=e||{},this._lineMode=!!e.lineMode){this._n3Mode=!1;for(const e in this)!(e in f)&&this[e]instanceof RegExp&&(this[e]=y)}else this._n3Mode=!1!==e.n3;this._comments=!!e.comments,this._literalClosingPos=0}_tokenizeToEnd(e,t){let r=this._input,n=r.length;for(;;){let e,a;for(;e=this._newline.exec(r);)this._comments&&(a=this._comment.exec(e[0]))&&i("comment",a[1],"",this._line,e[0].length),r=r.substr(e[0].length,r.length),n=r.length,this._line++;if(!e&&(e=this._whitespace.exec(r))&&(r=r.substr(e[0].length,r.length)),this._endOfFile.test(r))return t&&(this._comments&&(a=this._comment.exec(r))&&i("comment",a[1],"",this._line,r.length),r=null,i("eof","","",this._line,0)),this._input=r;const s=this._line,c=r[0];let u="",d="",p="",f=null,y=0,g=!1;switch(c){case"^":if(r.length<3)break;if("^"!==r[1]){this._n3Mode&&(y=1,u="^");break}if(this._previousMarker="^^",r=r.substr(2),"<"!==r[0]){g=!0;break}case"<":if(f=this._unescapedIri.exec(r))u="IRI",d=f[1];else if(f=this._iri.exec(r)){if(d=this._unescape(f[1]),null===d||h.test(d))return o(this);u="IRI"}else r.length>1&&"<"===r[1]?(u="<<",y=2):this._n3Mode&&r.length>1&&"="===r[1]&&(u="inverse",y=2,d=">");break;case">":r.length>1&&">"===r[1]&&(u=">>",y=2);break;case"_":((f=this._blank.exec(r))||t&&(f=this._blank.exec(`${r} `)))&&(u="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(r))d=f[1];else if(({value:d,matchLength:y}=this._parseLiteral(r)),null===d)return o(this);null===f&&0===y||(u="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(r))d=f[1];else if(({value:d,matchLength:y}=this._parseLiteral(r)),null===d)return o(this);null===f&&0===y||(u="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(r))&&(u="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(r))?(u="langcode",d=f[1]):(f=this._keyword.exec(r))&&(u=f[0]);break;case".":if(1===r.length?t:r[1]<"0"||r[1]>"9"){u=".",y=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(r)||t&&(f=this._number.exec(`${r} `)))&&(u="literal",d=f[0],p="string"==typeof f[1]?l.double:"string"==typeof f[2]?l.decimal:l.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(r))?u=f[0].toUpperCase():g=!0;break;case"f":case"t":(f=this._boolean.exec(r))?(u="literal",d=f[0],p=l.boolean):g=!0;break;case"a":(f=this._shortPredicates.exec(r))?(u="abbreviation",d="a"):g=!0;break;case"=":this._n3Mode&&r.length>1&&(u="abbreviation",">"!==r[1]?(y=1,d="="):(y=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"}":this._lineMode||(y=1,u=c);break;case"{":!this._lineMode&&r.length>=2&&("|"===r[1]?(u="{|",y=2):(u=c,y=1));break;case"|":r.length>=2&&"}"===r[1]&&(u="|}",y=2);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(r))?((f=this._prefixed.exec(r))||t&&(f=this._prefixed.exec(`${r} `)))&&(u="prefixed",p=f[1]||"",d=this._unescape(f[2])):(u="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(u){case"prefixed":u="type";break;case"IRI":u="typeIRI";break;default:u=""}if(!u)return t||!/^'''|^"""/.test(r)&&/\n|\r/.test(r)?o(this):this._input=r;const m=y||f[0].length,b=i(u,d,p,s,m);this.previousToken=b,this._previousMarker=u,r=r.substr(m,r.length)}function i(t,i,o,a,s){const c=r?n-r.length:n,u={type:t,value:i,prefix:o,line:a,start:c,end:c+s};return e(null,u),u}function o(t){e(t._syntaxError(/^\S*/.exec(r)[0]))}}_unescape(e){let t=!1;const r=e.replace(d,((e,r,n,i)=>{if("string"==typeof r)return String.fromCharCode(Number.parseInt(r,16));if("string"==typeof n){let e=Number.parseInt(n,16);return e<=65535?String.fromCharCode(Number.parseInt(n,16)):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}return i in p?p[i]:(t=!0,"")}));return t?null:r}_parseLiteral(e){if(e.length>=3){const t=e.match(/^(?:"""|"|'''|'|)/)[0],r=t.length;let n=Math.max(this._literalClosingPos,r);for(;(n=e.indexOf(t,n))>0;){let t=0;for(;"\\"===e[n-t-1];)t++;if(t%2==0){const t=e.substring(r,n),i=t.split(/\r\n|\r|\n/).length-1,o=n+r;if(1===r&&0!==i||3===r&&this._lineMode)break;return this._line+=i,{value:this._unescape(t),matchLength:o}}n++}this._literalClosingPos=e.length-r+1}return{value:"",matchLength:0}}_syntaxError(e){this._input=null;const t=new Error(`Unexpected "${e}" on line ${this._line}.`);return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}_readStartingBom(e){return e.startsWith("\ufeff")?e.substr(1):e}tokenize(e,t){if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof t){const e=[];let t;if(this._tokenizeToEnd(((r,n)=>r?t=r:e.push(n)),!0),t)throw t;return e}o()((()=>this._tokenizeToEnd(t,!0)))}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",(e=>{null!==this._input&&0!==e.length&&(this._pendingBuffer&&(e=Buffer.concat([this._pendingBuffer,e]),this._pendingBuffer=null),128&e[e.length-1]?this._pendingBuffer=e:(void 0===this._input?this._input=this._readStartingBom("string"==typeof e?e:e.toString()):this._input+=e,this._tokenizeToEnd(t,!1)))})),e.on("end",(()=>{"string"==typeof this._input&&this._tokenizeToEnd(t,!0)})),e.on("error",t)}}const{rdf:m,xsd:b}=u;let _,v=0;const w={namedNode:function(e){return new T(e)},blankNode:function(e){return new x(e||"n3-"+v++)},variable:function(e){return new A(e)},literal:function(e,t){if("string"==typeof t)return new O(`"${e}"@${t.toLowerCase()}`);let r=t?t.value:"";return""===r&&("boolean"==typeof e?r=b.boolean:"number"==typeof e&&(Number.isFinite(e)?r=Number.isInteger(e)?b.integer:b.double:(r=b.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),""===r||r===b.string?new O(`"${e}"`):new O(`"${e}"^^${r}`)},defaultGraph:function(){return _},quad:D,triple:D},S=w;class E{constructor(e){this.id=e}get value(){return this.id}equals(e){return e instanceof E?this.id===e.id:!!e&&this.termType===e.termType&&this.value===e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}class T extends E{get termType(){return"NamedNode"}}class O extends E{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const e=this.id;let t=e.lastIndexOf('"')+1;return tnull),this._blankNodePrefix="string"!=typeof e.blankNodePrefix?"":e.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=e.lexer||new g({lineMode:s,n3:a}),this._explicitQuantifiers=!!e.explicitQuantifiers}static _resetBlankNodePrefix(){N=0}_setBase(e){if(e){const t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}_saveContext(e,t,r,n,i){const o=this._n3Mode;this._contextStack.push({type:e,subject:r,predicate:n,object:i,graph:t,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.value}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(e,t){const r=this._contextStack.pop();if(!r||r.type!==e)return this._error(`Unexpected ${t.type}`,t);this._subject=r.subject,this._predicate=r.predicate,this._object=r.object,this._graph=r.graph,this._n3Mode&&(this._inversePredicate=r.inverse,this._prefixes._=r.blankPrefix,this._quantified=r.quantified)}_readInTopContext(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}_readEntity(e,t){let r;switch(e.type){case"IRI":case"typeIRI":const t=this._resolveIRI(e.value);if(null===t)return this._error("Invalid IRI",e);r=this._namedNode(t);break;case"type":case"prefixed":const n=this._prefixes[e.prefix];if(void 0===n)return this._error(`Undefined prefix "${e.prefix}:"`,e);r=this._namedNode(n+e.value);break;case"blank":r=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":r=this._variable(e.value.substr(1));break;default:return this._error(`Expected entity but got ${e.type}`,e)}return!t&&this._n3Mode&&r.id in this._quantified&&(r=this._quantified[r.id]),r}_readSubject(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(e){const t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${t}`,e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}_readObject(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}_readGraph(e){return"{"!==e.type?this._error(`Expected graph but got ${e.type}`,e):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}_readBlankNodeTail(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const t=null===this._predicate;return this._restoreContext("blank",e),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}_readListItem(e){let t=null,r=null,n=this._readListItem;const i=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,r=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),n=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,r=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext("list",e),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(n=this._readPredicate,this._subject===this.RDF_NIL)return n}else if(n=this._getContextEndReader(),this._object===this.RDF_NIL)return n;r=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,n=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),n=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===r&&(this._subject=r=this._blankNode()),null===i?null===a.predicate?a.subject=r:a.object=r:this._emit(i,this.RDF_REST,r,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,r,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(r,this.RDF_FIRST,t,this._graph)}return n}_readDataTypeOrLang(e){return this._completeObjectLiteral(e,!1)}_readListItemDataTypeOrLang(e){return this._completeObjectLiteral(e,!0)}_completeLiteral(e){let t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":const r=this._readEntity(e);if(void 0===r)return;t=this._literal(this._literalValue,r),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}_completeSubjectLiteral(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(e,t){const r=this._completeLiteral(e);if(r)return this._object=r.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===r.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(r.token))}_readFormulaTail(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext("formula",e),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(e){let t,r=this._graph;const n=this._subject,i=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,i&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;case"{|":if(!this._supportsRDFStar)return this._error("Unexpected RDF* syntax",e);const o=this._predicate,a=this._object;this._subject=this._quad(n,o,a,this.DEFAULTGRAPH),t=this._readPredicate;break;case"|}":if("Quad"!==this._subject.termType)return this._error("Unexpected asserted triple closing",e);this._subject=null,t=this._readPunctuation;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(r=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}if(null!==n){const e=this._predicate,t=this._object;i?this._emit(t,e,n,r):this._emit(n,e,t,r)}return t}_readBlankNodePunctuation(e){let t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}_readQuadPunctuation(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}_readPrefix(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}_readPrefixIRI(e){if("IRI"!==e.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,e);const t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}_readBaseIRI(e){const t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}_readNamedGraphLabel(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}_readNamedGraphBlankLabel(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}_readQuantifierList(e){let t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error(`Unexpected ${e.type}`,e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}_getPathReader(e){return this._afterPath=e,this._readPath}_readPath(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const t=this._contextStack,r=t.length&&t[t.length-1];if(r&&"item"===r.type){const t=this._subject;this._restoreContext("item",e),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(e)}}_readForwardPath(e){let t,r;const n=this._blankNode();if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=n):(t=this._object,this._object=n),this._emit(t,r,n,this._graph),this._readPath}_readBackwardPath(e){const t=this._blankNode();let r,n;if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=t):(n=this._object,this._object=t),this._emit(t,r,n,this._graph),this._readPath}_readRDFStarTailOrGraph(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,e):this._readRDFStarTail(e)}_readRDFStarTail(e){if(">>"!==e.type)return this._error(`Expected >> but got ${e.type}`,e);const t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext("<<",e),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}_getContextEndReader(){const e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(e,t,r,n){this._callback(null,this._quad(e,t,r,n||this.DEFAULTGRAPH))}_error(e,t){const r=new Error(`${e} on line ${t.line}.`);r.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(r),this._callback=C}_resolveIRI(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}_resolveRelativeIRI(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}_removeDotSegments(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;const t=e.length;let r="",n=-1,i=-1,o=0,a="/";for(;n=i&&(r=r.substr(0,o)),"/"!==a)return`${r}/${e.substr(n+1)}`;o=n+1}}}a=e[++n]}return r+e.substring(o)}parse(e,t,r){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${N++}_`,this._prefixCallback=r||C,this._inversePredicate=!1,this._quantified=Object.create(null),!t){const t=[];let r;if(this._callback=(e,n)=>{e?r=e:n&&t.push(n)},this._lexer.tokenize(e).every((e=>this._readCallback=this._readCallback(e))),r)throw r;return t}this._callback=t,this._lexer.tokenize(e,((e,t)=>{null!==e?(this._callback(e),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(t))}))}}function C(){}function M(e,t){const r=t.namedNode;e._namedNode=r,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=r(u.rdf.first),e.RDF_REST=r(u.rdf.rest),e.RDF_NIL=r(u.rdf.nil),e.N3_FORALL=r(u.r.forAll),e.N3_FORSOME=r(u.r.forSome),e.ABBREVIATIONS={a:r(u.rdf.type),"=":r(u.owl.sameAs),">":r(u.log.implies)},e.QUANTIFIERS_GRAPH=r("urn:n3:quantifiers")}function k(e){return!!e&&"NamedNode"===e.termType}function L(e){return!!e&&"BlankNode"===e.termType}function U(e){return!!e&&"Literal"===e.termType}function B(e){return!!e&&"Variable"===e.termType}function V(e){return!!e&&"DefaultGraph"===e.termType}function q(e){return V(e.graph)}function H(e,t){return $({"":e.value||e},t)("")}function $(e,t){const r=Object.create(null);for(const t in e)n(t,e[t]);function n(e,n){if("string"==typeof n){const i=Object.create(null);r[e]=e=>i[e]||(i[e]=t.namedNode(n+e))}else if(!(e in r))throw new Error(`Unknown prefix: ${e}`);return r[e]}return t=t||S,n}M(j.prototype,S);const G=S.defaultGraph(),{rdf:K,xsd:Q}=u,z=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,J=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,W={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class X extends E{equals(e){return e===this}}class Y{constructor(e,t){if(this._prefixRegex=/$0^/,e&&"function"!=typeof e.write&&(t=e,e=null),t=t||{},this._lists=t.lists,e)this._outputStream=e,this._endStream=void 0===t.end||!!t.end;else{let e="";this._outputStream={write(t,r,n){e+=t,n&&n()},end:t=>{t&&t(null,e)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(t.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=G,this._prefixIRIs=Object.create(null),t.prefixes&&this.addPrefixes(t.prefixes),t.baseIRI&&(this._baseMatcher=new RegExp(`^${ee(t.baseIRI)}${t.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=t.baseIRI.length))}get _inDefaultGraph(){return G.equals(this._graph)}_write(e,t){this._outputStream.write(e,"utf8",t)}_writeQuad(e,t,r,n,i){try{n.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(G.equals(n)?"":`${this._encodeIriOrBlank(n)} {\n`)),this._graph=n,this._subject=null),e.equals(this._subject)?t.equals(this._predicate)?this._write(`, ${this._encodeObject(r)}`,i):this._write(`;\n ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=e)} ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i)}catch(e){i&&i(e)}}_writeQuadLine(e,t,r,n,i){delete this._prefixMatch,this._write(this.quadToString(e,t,r,n),i)}quadToString(e,t,r,n){return`${this._encodeSubject(e)} ${this._encodeIriOrBlank(t)} ${this._encodeObject(r)}${n&&n.value?` ${this._encodeIriOrBlank(n)} .\n`:" .\n"}`}quadsToString(e){return e.map((e=>this.quadToString(e.subject,e.predicate,e.object,e.graph))).join("")}_encodeSubject(e){return"Quad"===e.termType?this._encodeQuad(e):this._encodeIriOrBlank(e)}_encodeIriOrBlank(e){if("NamedNode"!==e.termType)return this._lists&&e.value in this._lists&&(e=this.list(this._lists[e.value])),"id"in e?e.id:`_:${e.value}`;let t=e.value;this._baseMatcher&&this._baseMatcher.test(t)&&(t=t.substr(this._baseLength)),z.test(t)&&(t=t.replace(J,Z));const r=this._prefixRegex.exec(t);return r?r[1]?this._prefixIRIs[r[1]]+r[2]:t:`<${t}>`}_encodeLiteral(e){let t=e.value;if(z.test(t)&&(t=t.replace(J,Z)),e.language)return`"${t}"@${e.language}`;if(this._lineMode){if(e.datatype.value===Q.string)return`"${t}"`}else switch(e.datatype.value){case Q.string:return`"${t}"`;case Q.boolean:if("true"===t||"false"===t)return t;break;case Q.integer:if(/^[+-]?\d+$/.test(t))return t;break;case Q.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case Q.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return`"${t}"^^${this._encodeIriOrBlank(e.datatype)}`}_encodePredicate(e){return e.value===K.type?"a":this._encodeIriOrBlank(e)}_encodeObject(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}_encodeQuad({subject:e,predicate:t,object:r,graph:n}){return`<<${this._encodeSubject(e)} ${this._encodePredicate(t)} ${this._encodeObject(r)}${V(n)?"":` ${this._encodeIriOrBlank(n)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(e,t,r,n,i){void 0===r?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof n?this._writeQuad(e,t,r,G,n):this._writeQuad(e,t,r,n||G,i)}addQuads(e){for(let t=0;t.\n`)}if(r){let e="",t="";for(const r in this._prefixIRIs)e+=e?`|${r}`:r,t+=(t?"|":"")+this._prefixIRIs[r];e=ee(e),this._prefixRegex=new RegExp(`^(?:${t})[^/]*$|^(${e})([_a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(r?"\n":"",t)}blank(e,t){let r,n,i=e;switch(void 0===e?i=[]:e.termType?i=[{predicate:e,object:t}]:"length"in e||(i=[e]),n=i.length){case 0:return new X("[]");case 1:if(r=i[0],!(r.object instanceof X))return new X(`[ ${this._encodePredicate(r.predicate)} ${this._encodeObject(r.object)} ]`);default:let t="[";for(let o=0;o{t=null,e(r,n)});if(this._endStream)try{return this._outputStream.end(t)}catch(e){}t&&t()}}function Z(e){let t=W[e];return void 0===t&&(1===e.length?(t=e.charCodeAt(0).toString(16),t="\\u0000".substr(0,6-t.length)+t):(t=(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)+9216).toString(16),t="\\U00000000".substr(0,10-t.length)+t)),t}function ee(e){return e.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}var te=r(19198);class re{constructor(e,t){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._entities=Object.create(null),this._blankNodeIndex=0,t||!e||e[0]||(t=e,e=null),t=t||{},this._factory=t.factory||S,e&&this.addQuads(e)}_termFromId(e,t){if("."===e[0]){const t=this._entities,r=e.split(".");return this._factory.quad(this._termFromId(t[r[1]]),this._termFromId(t[r[2]]),this._termFromId(t[r[3]]),r[4]&&this._termFromId(t[r[4]]))}return R(e,t)}_termToNumericId(e){if("Quad"===e.termType){const t=this._termToNumericId(e.subject),r=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object);let i;return t&&r&&n&&(V(e.graph)||(i=this._termToNumericId(e.graph)))&&this._ids[i?`.${t}.${r}.${n}.${i}`:`.${t}.${r}.${n}`]}return this._ids[P(e)]}_termToNewNumericId(e){const t=e&&"Quad"===e.termType?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${V(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:P(e);return this._ids[t]||(this._ids[this._entities[++this._id]=t]=this._id)}get size(){let e=this._size;if(null!==e)return e;e=0;const t=this._graphs;let r,n;for(const i in t)for(const o in r=t[i].subjects)for(const t in n=r[o])e+=Object.keys(n[t]).length;return this._size=e}_addToIndex(e,t,r,n){const i=e[t]||(e[t]={}),o=i[r]||(i[r]={}),a=n in o;return a||(o[n]=null),!a}_removeFromIndex(e,t,r,n){const i=e[t],o=i[r];delete o[n];for(const e in o)return;delete i[r];for(const e in i)return;delete e[t]}*_findInIndex(e,t,r,n,i,o,a,s){let c,u,l;const d=this._entities,p=this._termFromId(s,this._factory),h={subject:null,predicate:null,object:null};t&&((c=e,e={})[t]=c[t]);for(const t in e)if(u=e[t]){h[i]=this._termFromId(d[t],this._factory),r&&((c=u,u={})[r]=c[r]);for(const e in u)if(l=u[e]){h[o]=this._termFromId(d[e],this._factory);const t=n?n in l?[n]:[]:Object.keys(l);for(let e=0;e{r in t||(t[r]=!0,e(this._termFromId(this._entities[r],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,t,r,n){t||(n=e.graph,r=e.object,t=e.predicate,e=e.subject),n=P(n);let i=this._graphs[n];i||(i=this._graphs[n]={subjects:{},predicates:{},objects:{}},Object.freeze(i)),e=this._termToNewNumericId(e),t=this._termToNewNumericId(t),r=this._termToNewNumericId(r);const o=this._addToIndex(i.subjects,e,t,r);return this._addToIndex(i.predicates,t,r,e),this._addToIndex(i.objects,r,e,t),this._size=null,o}addQuads(e){for(let t=0;t{this.addQuad(e)})),e}removeQuad(e,t,r,n){t||(n=e.graph,r=e.object,t=e.predicate,e=e.subject),n=P(n);const i=this._graphs;let o,a,s;if(!((e=e&&this._termToNumericId(e))&&(t=t&&this._termToNumericId(t))&&(r=r&&this._termToNumericId(r))&&(o=i[n])&&(a=o.subjects[e])&&(s=a[t])&&r in s))return!1;for(e in this._removeFromIndex(o.subjects,e,t,r),this._removeFromIndex(o.predicates,t,r,e),this._removeFromIndex(o.objects,r,e,t),null!==this._size&&this._size--,o.subjects)return!0;return delete i[n],!0}removeQuads(e){for(let t=0;t{this.removeQuad(e)})),e}removeMatches(e,t,r,n){const i=new te.Readable({objectMode:!0});return i._read=()=>{for(const o of this.readQuads(e,t,r,n))i.push(o);i.push(null)},this.remove(i)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,t,r,n){return[...this.readQuads(e,t,r,n)]}*readQuads(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s,c;if(!(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r))))for(const e in i)(o=i[e])&&(a?c?yield*this._findInIndex(o.objects,c,a,s,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,a,s,null,"subject","predicate","object",e):s?yield*this._findInIndex(o.predicates,s,c,null,"predicate","object","subject",e):c?yield*this._findInIndex(o.objects,c,null,null,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",e))}match(e,t,r,n){return new ne(this,e,t,r,n)}countQuads(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s,c,u=0;if(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r)))return 0;for(const n in i)(o=i[n])&&(u+=e?r?this._countInIndex(o.objects,c,a,s):this._countInIndex(o.subjects,a,s,c):t?this._countInIndex(o.predicates,s,c,a):this._countInIndex(o.objects,c,a,s));return u}forEach(e,t,r,n,i){this.some((t=>(e(t),!1)),t,r,n,i)}every(e,t,r,n,i){let o=!1;const a=!this.some((t=>(o=!0,!e(t))),t,r,n,i);return o&&a}some(e,t,r,n,i){for(const o of this.readQuads(t,r,n,i))if(e(o))return!0;return!1}getSubjects(e,t,r){const n=[];return this.forSubjects((e=>{n.push(e)}),e,t,r),n}forSubjects(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.predicates,a,s,e):this._loopByKey1(o.subjects,a,e):s?this._loopByKey0(o.objects,s,e):this._loop(o.subjects,e))}getPredicates(e,t,r){const n=[];return this.forPredicates((e=>{n.push(e)}),e,t,r),n}forPredicates(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.objects,s,a,e):this._loopByKey0(o.subjects,a,e):s?this._loopByKey1(o.predicates,s,e):this._loop(o.predicates,e))}getObjects(e,t,r){const n=[];return this.forObjects((e=>{n.push(e)}),e,t,r),n}forObjects(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.subjects,a,s,e):this._loopByKey1(o.objects,a,e):s?this._loopByKey0(o.predicates,s,e):this._loop(o.objects,e))}getGraphs(e,t,r){const n=[];return this.forGraphs((e=>{n.push(e)}),e,t,r),n}forGraphs(e,t,r,n){for(const i in this._graphs)this.some((t=>(e(t.graph),!0)),t,r,n,i)}createBlankNode(e){let t,r;if(e)for(t=e=`_:${e}`,r=1;this._ids[t];)t=e+r++;else do{t="_:b"+this._blankNodeIndex++}while(this._ids[t]);return this._ids[t]=++this._id,this._entities[this._id]=t,this._factory.blankNode(t.substr(2))}extractLists({remove:e=!1,ignoreErrors:t=!1}={}){const r={},n=t?()=>!0:(e,t)=>{throw new Error(`${e.value} ${t}`)},i=this.getQuads(null,u.rdf.rest,u.rdf.nil,null),o=e?[...i]:[];return i.forEach((t=>{const i=[];let a,s,c=!1;const l=t.graph;let d=t.subject;for(;d&&!c;){const e=this.getQuads(null,null,d,null),t=this.getQuads(d,null,null,null);let r,p=null,h=null,f=null;for(let i=0;i{switch(e){case"data":t=n;break;case"end":r=n}}},((e,t)=>{e&&this.emit("error",e)||t&&this.push(t)}),((e,t)=>{this.emit("prefix",e,t)})),this._transform=(e,r,n)=>{t(e),n()},this._flush=e=>{r(),e()}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),this}}class oe extends te.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0});const t=this._writer=new Y({write:(e,t,r)=>{this.push(e),r&&r()},end:e=>{this.push(null),e&&e()}},e);this._transform=(e,r,n)=>{t.addQuad(e,n)},this._flush=e=>{t.end(e)}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),e.on("prefix",((e,t)=>{this._writer.addPrefix(e,t)})),this}}const ae={Lexer:g,Parser:j,Writer:Y,Store:re,StreamParser:ie,StreamWriter:oe,Util:n,DataFactory:S,Term:E,NamedNode:T,Literal:O,BlankNode:x,Variable:A,DefaultGraph:I,Quad:F,Triple:F,termFromId:R,termToId:P}},58859:(e,t,r)=>{var n="function"==typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=n&&i&&"function"==typeof i.get?i.get:null,a=n&&Map.prototype.forEach,s="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&s?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=s&&c&&"function"==typeof c.get?c.get:null,l=s&&Set.prototype.forEach,d="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,y=Object.prototype.toString,g=Function.prototype.toString,m=String.prototype.match,b=String.prototype.slice,_=String.prototype.replace,v=String.prototype.toUpperCase,w=String.prototype.toLowerCase,S=RegExp.prototype.test,E=Array.prototype.concat,T=Array.prototype.join,O=Array.prototype.slice,x=Math.floor,A="function"==typeof BigInt?BigInt.prototype.valueOf:null,I=Object.getOwnPropertySymbols,R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,P="function"==typeof Symbol&&"object"==typeof Symbol.iterator,F="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,D=Object.prototype.propertyIsEnumerable,N=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function j(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||S.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var n=e<0?-x(-e):x(e);if(n!==e){var i=String(n),o=b.call(t,i.length+1);return _.call(i,r,"$&_")+"."+_.call(_.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,r,"$&_")}var C=r(42634),M=C.custom,k=q(M)?M:null;function L(e,t,r){var n="double"===(r.quoteStyle||t)?'"':"'";return n+e+n}function U(e){return _.call(String(e),/"/g,""")}function B(e){return!("[object Array]"!==G(e)||F&&"object"==typeof e&&F in e)}function V(e){return!("[object RegExp]"!==G(e)||F&&"object"==typeof e&&F in e)}function q(e){if(P)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!R)return!1;try{return R.call(e),!0}catch(e){}return!1}e.exports=function e(t,n,i,s){var c=n||{};if($(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if($(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var y=!$(c,"customInspect")||c.customInspect;if("boolean"!=typeof y&&"symbol"!==y)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if($(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if($(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var v=c.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return Q(t,c);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var S=String(t);return v?j(t,S):S}if("bigint"==typeof t){var x=String(t)+"n";return v?j(t,x):x}var I=void 0===c.depth?5:c.depth;if(void 0===i&&(i=0),i>=I&&I>0&&"object"==typeof t)return B(t)?"[Array]":"[Object]";var M,H=function(e,t){var r;if("\t"===e.indent)r="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;r=T.call(Array(e.indent+1)," ")}return{base:r,prev:T.call(Array(t+1),r)}}(c,i);if(void 0===s)s=[];else if(K(s,t)>=0)return"[Circular]";function z(t,r,n){if(r&&(s=O.call(s)).push(r),n){var o={depth:c.depth};return $(c,"quoteStyle")&&(o.quoteStyle=c.quoteStyle),e(t,o,i+1,s)}return e(t,c,i+1,s)}if("function"==typeof t&&!V(t)){var ee=function(e){if(e.name)return e.name;var t=m.call(g.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),te=Z(t,z);return"[Function"+(ee?": "+ee:" (anonymous)")+"]"+(te.length>0?" { "+T.call(te,", ")+" }":"")}if(q(t)){var re=P?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):R.call(t);return"object"!=typeof t||P?re:J(re)}if((M=t)&&"object"==typeof M&&("undefined"!=typeof HTMLElement&&M instanceof HTMLElement||"string"==typeof M.nodeName&&"function"==typeof M.getAttribute)){for(var ne="<"+w.call(String(t.nodeName)),ie=t.attributes||[],oe=0;oe"}if(B(t)){if(0===t.length)return"[]";var ae=Z(t,z);return H&&!function(e){for(var t=0;t=0)return!1;return!0}(ae)?"["+Y(ae,H)+"]":"[ "+T.call(ae,", ")+" ]"}if(function(e){return!("[object Error]"!==G(e)||F&&"object"==typeof e&&F in e)}(t)){var se=Z(t,z);return"cause"in Error.prototype||!("cause"in t)||D.call(t,"cause")?0===se.length?"["+String(t)+"]":"{ ["+String(t)+"] "+T.call(se,", ")+" }":"{ ["+String(t)+"] "+T.call(E.call("[cause]: "+z(t.cause),se),", ")+" }"}if("object"==typeof t&&y){if(k&&"function"==typeof t[k]&&C)return C(t,{depth:I-i});if("symbol"!==y&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!=typeof e)return!1;try{o.call(e);try{u.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var ce=[];return a&&a.call(t,(function(e,r){ce.push(z(r,t,!0)+" => "+z(e,t))})),X("Map",o.call(t),ce,H)}if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{u.call(e);try{o.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var ue=[];return l&&l.call(t,(function(e){ue.push(z(e,t))})),X("Set",u.call(t),ue,H)}if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{d.call(e,d);try{p.call(e,p)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return W("WeakMap");if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e,p);try{d.call(e,d)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return W("WeakSet");if(function(e){if(!h||!e||"object"!=typeof e)return!1;try{return h.call(e),!0}catch(e){}return!1}(t))return W("WeakRef");if(function(e){return!("[object Number]"!==G(e)||F&&"object"==typeof e&&F in e)}(t))return J(z(Number(t)));if(function(e){if(!e||"object"!=typeof e||!A)return!1;try{return A.call(e),!0}catch(e){}return!1}(t))return J(z(A.call(t)));if(function(e){return!("[object Boolean]"!==G(e)||F&&"object"==typeof e&&F in e)}(t))return J(f.call(t));if(function(e){return!("[object String]"!==G(e)||F&&"object"==typeof e&&F in e)}(t))return J(z(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===r.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==G(e)||F&&"object"==typeof e&&F in e)}(t)&&!V(t)){var le=Z(t,z),de=N?N(t)===Object.prototype:t instanceof Object||t.constructor===Object,pe=t instanceof Object?"":"null prototype",he=!de&&F&&Object(t)===t&&F in t?b.call(G(t),8,-1):pe?"Object":"",fe=(de||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(he||pe?"["+T.call(E.call([],he||[],pe||[]),": ")+"] ":"");return 0===le.length?fe+"{}":H?fe+"{"+Y(le,H)+"}":fe+"{ "+T.call(le,", ")+" }"}return String(t)};var H=Object.prototype.hasOwnProperty||function(e){return e in this};function $(e,t){return H.call(e,t)}function G(e){return y.call(e)}function K(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return Q(b.call(e,0,t.maxStringLength),t)+n}return L(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,z),"single",t)}function z(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+v.call(t.toString(16))}function J(e){return"Object("+e+")"}function W(e){return e+" { ? }"}function X(e,t,r,n){return e+" ("+t+") {"+(n?Y(r,n):T.call(r,", "))+"}"}function Y(e,t){if(0===e.length)return"";var r="\n"+t.prev+t.base;return r+T.call(e,","+r)+"\n"+t.prev}function Z(e,t){var r=B(e),n=[];if(r){n.length=e.length;for(var i=0;i{var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var s,c=[],u=!1,l=-1;function d(){u&&s&&(u=!1,s.length?c=s.concat(c):l=-1,c.length&&p())}function p(){if(!u){var e=a(d);u=!0;for(var t=c.length;t;){for(s=c,c=[];++l1)for(var r=1;r{!function(){var t;t="object"==typeof window&&window?window:r.g,e.exports?e.exports=t.Promise?t.Promise:a:t.Promise||(t.Promise=a);var n=t.setImmediate||function(e){setTimeout(e,1)};function i(e,t){return function(){e.apply(t,arguments)}}var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],p(e,i(c,this),i(u,this))}function s(e){var t=this;null!==this._state?n((function(){var r=t._state?e.onFulfilled:e.onRejected;if(null!==r){var n;try{n=r(t._value)}catch(t){return void e.reject(t)}e.resolve(n)}else(t._state?e.resolve:e.reject)(t._value)})):this._deferreds.push(e)}function c(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void p(i(t,e),i(c,this),i(u,this))}this._state=!0,this._value=e,l.call(this)}catch(e){u.call(this,e)}}function u(e){this._state=!1,this._value=e,l.call(this)}function l(){for(var e=0,t=this._deferreds.length;e{let n;e.exports="function"==typeof queueMicrotask?queueMicrotask.bind("undefined"!=typeof window?window:r.g):e=>(n||(n=Promise.resolve())).then(e).catch((e=>setTimeout((()=>{throw e}),0)))},47793:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(49931),t),i(r(88483),t),i(r(92142),t),i(r(62426),t),i(r(43988),t),i(r(36754),t),i(r(88401),t)},49931:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0,t.BlankNode=class{constructor(e){this.termType="BlankNode",this.value=e}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}},88483:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;const n=r(49931),i=r(92142),o=r(62426),a=r(43988),s=r(36754),c=r(88401);let u=0;t.DataFactory=class{constructor(e){this.blankNodeCounter=0,e=e||{},this.blankNodePrefix=e.blankNodePrefix||`df_${u++}_`}namedNode(e){return new a.NamedNode(e)}blankNode(e){return new n.BlankNode(e||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(e,t){return new o.Literal(e,t)}variable(e){return new c.Variable(e)}defaultGraph(){return i.DefaultGraph.INSTANCE}quad(e,t,r,n){return new s.Quad(e,t,r,n||this.defaultGraph())}fromTerm(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}fromQuad(e){return this.fromTerm(e)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},92142:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;class r{constructor(){this.termType="DefaultGraph",this.value=""}equals(e){return!!e&&"DefaultGraph"===e.termType}}t.DefaultGraph=r,r.INSTANCE=new r},62426:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;const n=r(43988);class i{constructor(e,t){this.termType="Literal",this.value=e,"string"==typeof t?(this.language=t,this.datatype=i.RDF_LANGUAGE_STRING):t?(this.language="",this.datatype=t):(this.language="",this.datatype=i.XSD_STRING)}equals(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&this.datatype.equals(e.datatype)}}t.Literal=i,i.RDF_LANGUAGE_STRING=new n.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),i.XSD_STRING=new n.NamedNode("http://www.w3.org/2001/XMLSchema#string")},43988:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0,t.NamedNode=class{constructor(e){this.termType="NamedNode",this.value=e}equals(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}},36754:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0,t.Quad=class{constructor(e,t,r,n){this.termType="Quad",this.value="",this.subject=e,this.predicate=t,this.object=r,this.graph=n}equals(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}},88401:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0,t.Variable=class{constructor(e){this.termType="Variable",this.value=e}equals(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}},62699:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35694),t)},35694:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTermGrounded=t.termToSignature=t.quadToSignature=t.sha1hex=t.hashTerm=t.hashTerms=t.getGraphBlankNodes=t.uniqGraph=t.deindexGraph=t.indexGraph=t.getQuadsWithoutBlankNodes=t.getQuadsWithBlankNodes=t.hasValue=t.hashValues=t.getBijectionInner=t.getBijection=t.isomorphic=void 0;const n=r(77952),i=r(43347),o=r(3285);function a(e,t){const r=h(p(e)),n=h(p(t));if(Object.keys(r).length!==Object.keys(n).length)return null;for(const e in r)if(r[e]!==n[e])return null;return s(y(d(e)),y(d(t)),g(e),g(t))}function s(e,t,r,n,o,a){o||(o={}),a||(a={});const[d,p]=m(e,r,o),[h,f]=m(t,n,a);if(Object.keys(d).length!==Object.keys(h).length)return null;for(const e in d)if(!l(h,d[e]))return null;let y={};for(const e of r){const t=i.termToString(e),r=p[t];for(const e in f)if(f[e]===r){y[t]=e,delete f[e];break}}if(!c(Object.keys(y).sort(),r.map(i.termToString).sort())||!c(u(y).sort(),n.map(i.termToString).sort())){y=null;for(const o of r){const a=i.termToString(o);if(!d[a])for(const o of n){const c=i.termToString(o);if(!h[c]&&p[a]===f[c]){const i=_(a);y=s(e,t,r,n,Object.assign(Object.assign({},d),{[a]:i}),Object.assign(Object.assign({},h),{[c]:i}))}}}}return y}function c(e,t){if(e.length!==t.length)return!1;for(let r=e.length;r--;)if(e[r]!==t[r])return!1;return!0}function u(e){const t=[];for(const r in e)t.push(e[r]);return t}function l(e,t){for(const r in e)if(e[r]===t)return!0;return!1}function d(e){return e.filter((e=>o.someTerms(e,(e=>"BlankNode"===e.termType||"Quad"===e.termType&&o.getTermsNested(e).some((e=>"BlankNode"===e.termType))))))}function p(e){return e.filter((e=>o.everyTerms(e,(e=>"BlankNode"!==e.termType&&!("Quad"===e.termType&&o.getTermsNested(e).some((e=>"BlankNode"===e.termType)))))))}function h(e){const t={};for(const r of e)t[JSON.stringify(i.quadToStringQuad(r))]=!0;return t}function f(e){return Object.keys(e).map((e=>i.stringQuadToQuad(JSON.parse(e))))}function y(e){return f(h(e))}function g(e){return o.uniqTerms(e.map((e=>o.getBlankNodes(o.getTermsNested(e)))).reduce(((e,t)=>e.concat(t)),[]))}function m(e,t,r){const n=Object.assign({},r),o={};let a=!0;for(;a;){const r=Object.keys(n).length;for(const r of t){const t=i.termToString(r);if(!n[t]){const[i,a]=b(r,e,n);i&&(n[t]=a),o[t]=a}}const s={};for(const e in o){const t=o[e];void 0===s[t]?s[t]=e:s[t]=!1}for(const e in s){const t=s[e];t&&(n[t]=e)}a=r!==Object.keys(n).length}return[n,o]}function b(e,t,r){const n=[];let i=!0;for(const a of t){const t=o.getTermsNested(a);if(t.some((t=>t.equals(e)))){n.push(v(a,r,e));for(const n of t)S(n,r)||n.equals(e)||(i=!1)}}return[i,_(n.sort().join(""))]}function _(e){return n.sha1().update(e).digest("hex")}function v(e,t,r){return o.getTerms(e).map((e=>w(e,t,r))).join("|")}function w(e,t,r){return e.equals(r)?"@self":"BlankNode"===e.termType?t[i.termToString(e)]||"@blank":"Quad"===e.termType?`<${v(e,t,r)}>`:i.termToString(e)}function S(e,t){return"BlankNode"!==e.termType&&!("Quad"===e.termType&&o.getTermsNested(e).some((e=>!S(e,t))))||!!t[i.termToString(e)]}t.isomorphic=function(e,t){return!!a(e,t)},t.getBijection=a,t.getBijectionInner=s,t.hashValues=u,t.hasValue=l,t.getQuadsWithBlankNodes=d,t.getQuadsWithoutBlankNodes=p,t.indexGraph=h,t.deindexGraph=f,t.uniqGraph=y,t.getGraphBlankNodes=g,t.hashTerms=m,t.hashTerm=b,t.sha1hex=_,t.quadToSignature=v,t.termToSignature=w,t.isTermGrounded=S},99349:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedJavaScriptPrimitives=t.getSupportedRdfDatatypes=t.getTermRaw=t.toRdf=t.fromRdf=void 0;const o=r(47793),a=r(94802),s=r(30103);i(r(94802),t),i(r(5448),t),i(r(30103),t);const c=new o.DataFactory,u=new s.Translator;function l(e,t){return u.fromRdf(e,t)}u.registerHandler(new a.TypeHandlerString,a.TypeHandlerString.TYPES.map((e=>c.namedNode(e))),["string"]),u.registerHandler(new a.TypeHandlerBoolean,[a.TypeHandlerBoolean.TYPE].map((e=>c.namedNode(e))),["boolean"]),u.registerHandler(new a.TypeHandlerNumberDouble,a.TypeHandlerNumberDouble.TYPES.map((e=>c.namedNode(e))),["number"]),u.registerHandler(new a.TypeHandlerNumberInteger,a.TypeHandlerNumberInteger.TYPES.map((e=>c.namedNode(e))),["number"]),u.registerHandler(new a.TypeHandlerDate,a.TypeHandlerDate.TYPES.map((e=>c.namedNode(e))),["object"]),t.fromRdf=l,t.toRdf=function(e,t){return t&&"namedNode"in t&&(t={dataFactory:t}),(t=t||{})&&!t.dataFactory&&(t.dataFactory=c),u.toRdf(e,t)},t.getTermRaw=function(e,t){return"Literal"===e.termType?l(e,t):e.value},t.getSupportedRdfDatatypes=function(){return u.getSupportedRdfDatatypes()},t.getSupportedJavaScriptPrimitives=function(){return u.getSupportedJavaScriptPrimitives()}},5448:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},30103:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0,t.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(e){throw new Error(`Invalid RDF ${e.datatype.value} value: '${e.value}'`)}registerHandler(e,t,r){for(const r of t)this.supportedRdfDatatypes.push(r),this.fromRdfHandlers[r.value]=e;for(const t of r){let r=this.toRdfHandlers[t];r||(this.toRdfHandlers[t]=r=[]),r.push(e)}}fromRdf(e,t){const r=this.fromRdfHandlers[e.datatype.value];return r?r.fromRdf(e,t):e.value}toRdf(e,t){const r=this.toRdfHandlers[typeof e];if(r)for(const n of r){const r=n.toRdf(e,t);if(r)return r}throw new Error(`Invalid JavaScript value: '${e}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},92:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerBoolean=void 0;const n=r(30103);class i{fromRdf(e,t){switch(e.value){case"true":case"1":return!0;case"false":case"0":return!1}return t&&n.Translator.incorrectRdfDataType(e),!1}toRdf(e,{datatype:t,dataFactory:r}){return r.literal(e?"true":"false",t||r.namedNode(i.TYPE))}}i.TYPE="http://www.w3.org/2001/XMLSchema#boolean",t.TypeHandlerBoolean=i},37258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerDate=void 0;const n=r(30103);class i{fromRdf(e,t){switch(t&&!e.value.match(i.VALIDATORS[e.datatype.value.substr(33,e.datatype.value.length)])&&n.Translator.incorrectRdfDataType(e),e.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(e.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const t=e.value.split("-");return new Date(0,parseInt(t[0],10)-1,parseInt(t[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(e.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(e.value+"-01");default:return new Date(e.value)}}toRdf(e,{datatype:t,dataFactory:r}){if(t=t||r.namedNode(i.TYPES[0]),!(e instanceof Date))return null;const n=e;let o;switch(t.value){case"http://www.w3.org/2001/XMLSchema#gDay":o=String(n.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":o=n.getUTCMonth()+1+"-"+n.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":o=String(n.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":o=n.getUTCFullYear()+"-"+(n.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":o=n.toISOString().replace(/T.*$/,"");break;default:o=n.toISOString()}return r.literal(o,t)}}i.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],i.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/},t.TypeHandlerDate=i},82406:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberDouble=void 0;const n=r(30103);class i{fromRdf(e,t){const r=parseFloat(e.value);return t&&isNaN(r)&&n.Translator.incorrectRdfDataType(e),r}toRdf(e,{datatype:t,dataFactory:r}){return t=t||r.namedNode(i.TYPES[0]),isNaN(e)?r.literal("NaN",t):isFinite(e)?e%1==0?null:r.literal(e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),t):r.literal(e>0?"INF":"-INF",t)}}i.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"],t.TypeHandlerNumberDouble=i},96925:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberInteger=void 0;const n=r(30103);class i{fromRdf(e,t){const r=parseInt(e.value,10);return t&&(isNaN(r)||e.value.indexOf(".")>=0)&&n.Translator.incorrectRdfDataType(e),r}toRdf(e,{datatype:t,dataFactory:r}){return r.literal(String(e),t||(e<=i.MAX_INT&&e>=i.MIN_INT?r.namedNode(i.TYPES[0]):r.namedNode(i.TYPES[1])))}}i.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],i.MAX_INT=2147483647,i.MIN_INT=-2147483648,t.TypeHandlerNumberInteger=i},14191:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerString=void 0;class r{fromRdf(e){return e.value}toRdf(e,{datatype:t,dataFactory:r}){return r.literal(e,t)}}r.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"],t.TypeHandlerString=r},94802:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92),t),i(r(37258),t),i(r(82406),t),i(r(96925),t),i(r(14191),t)},34554:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.storeStream=void 0;const n=r(61428);t.storeStream=function(e){const t=n.RdfStore.createDefault();return new Promise(((r,n)=>t.import(e).on("error",n).once("end",(()=>r(t)))))}},61428:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23261),t),i(r(90636),t),i(r(34262),t),i(r(77087),t),i(r(37747),t),i(r(22895),t),i(r(68337),t),i(r(99616),t),i(r(21451),t),i(r(445),t),i(r(42449),t),i(r(75237),t),i(r(53261),t),i(r(80745),t),i(r(80766),t),i(r(67538),t),i(r(598),t),i(r(95439),t),i(r(75592),t),i(r(447),t)},598:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95439:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arePatternsQuoted=t.quadHasVariables=t.quadToPattern=t.encodeOptionalTerms=t.orderQuadComponents=t.getComponentOrderScore=t.getBestIndex=t.QUAD_TERM_NAMES_INVERSE=void 0;const n=r(3285);function i(e,t){return e.map(((r,n)=>t.includes(r)?e.length-n:0)).reduce(((e,t)=>e+t),0)}function o(e){for(const t of n.QUAD_TERM_NAMES){const r=e[t];if("Variable"===r.termType||"Quad"===r.termType&&o(r))return!0}return!1}t.QUAD_TERM_NAMES_INVERSE=Object.fromEntries(n.QUAD_TERM_NAMES.map(((e,t)=>[e,t]))),t.getBestIndex=function(e,t){if(1===e.length||t.every((e=>void 0!==e)))return 0;const r=[];for(let e=0;e({score:i(e,r),index:t}))).sort(((e,t)=>t.score-e.score))[0].index},t.getComponentOrderScore=i,t.orderQuadComponents=function(e,r){return e.map((e=>{const n=t.QUAD_TERM_NAMES_INVERSE[e];return r[n]}))},t.encodeOptionalTerms=function(e,t){const r=e.map((e=>{if(e){if("Quad"===e.termType&&o(e))return;const r=t.encodeOptional(e);return void 0===r?"none":r}return e}));if(!r.includes("none"))return r},t.quadToPattern=function(e,t,r,n,i){let o=!1;return[[e||void 0,t||void 0,r||void 0,n||void 0].map((e=>{if(e){if("Variable"===e.termType)return;if("Quad"===e.termType)return i?e:void(o=!0)}return e})),o]},t.quadHasVariables=o,t.arePatternsQuoted=function(e){return e.map((e=>"Quad"===(null==e?void 0:e.termType)&&o(e)))}},75592:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},447:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStore=void 0;const n=r(75627),i=r(47793),o=r(3285),a=r(23261),s=r(37747),c=r(68337),u=r(75237),l=r(95439);class d{constructor(e){this.features={quotedTripleFiltering:!0},this._size=0,this.options=e,this.dataFactory=e.dataFactory,this.dictionary=e.dictionary,this.indexesWrapped=d.constructIndexesWrapped(e),this.indexesWrappedComponentOrders=this.indexesWrapped.map((e=>e.componentOrder))}static createDefault(){return new d({indexCombinations:d.DEFAULT_INDEX_COMBINATIONS,indexConstructor:e=>new u.RdfStoreIndexNestedMapQuoted(e),dictionary:new c.TermDictionaryQuotedIndexed(new s.TermDictionaryNumberRecordFullTerms),dataFactory:new i.DataFactory})}static constructIndexesWrapped(e){const t=[];if(0===e.indexCombinations.length)throw new Error("At least one index combination is required");for(const r of e.indexCombinations){if(!d.isCombinationValid(r))throw new Error(`Invalid index combination: ${r}`);t.push({index:e.indexConstructor(e),componentOrder:r,componentOrderInverse:Object.fromEntries(r.map(((e,t)=>[e,t])))})}return t}static isCombinationValid(e){for(const t of o.QUAD_TERM_NAMES)if(!e.includes(t))return!1;return 4===e.length}get size(){return this._size}addQuad(e){const t=[this.dictionary.encode(e.subject),this.dictionary.encode(e.predicate),this.dictionary.encode(e.object),this.dictionary.encode(e.graph)];let r=!1;for(const e of this.indexesWrapped)r=e.index.set((0,l.orderQuadComponents)(e.componentOrder,t),!0);return!!r&&(this._size++,!0)}removeQuad(e){const t=[this.dictionary.encodeOptional(e.subject),this.dictionary.encodeOptional(e.predicate),this.dictionary.encodeOptional(e.object),this.dictionary.encodeOptional(e.graph)];if(t.includes(void 0))return!1;let r=!1;for(const e of this.indexesWrapped)if(r=e.index.remove((0,l.orderQuadComponents)(e.componentOrder,t)),!r)break;return!!r&&(this._size--,!0)}remove(e){return e.on("data",(e=>this.removeQuad(e))),e}removeMatches(e,t,r,n){return this.remove(this.match(e,t,r,n))}deleteGraph(e){return"string"==typeof e&&(e=this.dataFactory.namedNode(e)),this.removeMatches(void 0,void 0,void 0,e)}import(e){return e.on("data",(e=>this.addQuad(e))),e}*readQuads(e,t,r,n){const i=Boolean(this.dictionary.features.quotedTriples)&&Object.values(this.indexesWrapped).every((e=>e.index.features.quotedTripleFiltering)),[a,s]=(0,l.quadToPattern)(e,t,r,n,i),c=this.indexesWrapped[(0,l.getBestIndex)(this.indexesWrappedComponentOrders,a)],u=(0,l.orderQuadComponents)(c.componentOrder,a);for(const i of c.index.find(u)){const a=this.dataFactory.quad(i[c.componentOrderInverse.subject],i[c.componentOrderInverse.predicate],i[c.componentOrderInverse.object],i[c.componentOrderInverse.graph]);s?(0,o.matchPattern)(a,e,t,r,n)&&(yield a):yield a}}getQuads(e,t,r,n){return[...this.readQuads(e,t,r,n)]}match(e,t,r,i){return(0,n.wrap)(this.readQuads(e,t,r,i))}countQuads(e,t,r,n){const i=Boolean(this.dictionary.features.quotedTriples)&&Object.values(this.indexesWrapped).every((e=>e.index.features.quotedTripleFiltering)),[o]=(0,l.quadToPattern)(e,t,r,n,i);if(o.every((e=>void 0===e)))return this.size;const a=this.indexesWrapped[(0,l.getBestIndex)(this.indexesWrappedComponentOrders,o)],s=(0,l.orderQuadComponents)(a.componentOrder,o);return a.index.count(s)}asDataset(){return new a.DatasetCoreWrapper(this)}}d.DEFAULT_INDEX_COMBINATIONS=[["graph","subject","predicate","object"],["graph","predicate","object","subject"],["graph","object","subject","predicate"]],t.RdfStore=d},23261:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatasetCoreWrapper=void 0;const n=r(447);class i{constructor(e){this.store=e}get size(){return this.store.size}add(e){return this.store.addQuad(e),this}delete(e){return this.store.removeQuad(e),this}has(e){for(const t of this.store.readQuads(e.subject,e.predicate,e.object,e.graph))return!0;return!1}match(e,t,r,o){const a=new n.RdfStore(this.store.options);for(const n of this.store.readQuads(e,t,r,o))a.addQuad(n);return new i(a)}[Symbol.iterator](){return this.store.readQuads()}}t.DatasetCoreWrapper=i},90636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},34262:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryNumberMap=void 0;const n=r(47793),i=r(43347);t.TermDictionaryNumberMap=class{constructor(e=new n.DataFactory){this.lastId=0,this.dictionary=new Map,this.reverseDictionary=new Map,this.features={quotedTriples:!1},this.dataFactory=e}encode(e){const t=(0,i.termToString)(e);let r=this.dictionary.get(t);return void 0===r&&(r=this.lastId++,this.dictionary.set(t,r),this.reverseDictionary.set(r,t)),r}encodeOptional(e){const t=(0,i.termToString)(e);return this.dictionary.get(t)}decode(e){const t=this.reverseDictionary.get(e);if(void 0===t)throw new Error(`The value ${e} is not present in this dictionary`);return(0,i.stringToTerm)(t,this.dataFactory)}encodings(){return this.reverseDictionary.keys()}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},77087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryNumberRecord=void 0;const n=r(47793),i=r(43347);t.TermDictionaryNumberRecord=class{constructor(e=new n.DataFactory){this.lastId=0,this.dictionary={},this.reverseDictionary={},this.features={quotedTriples:!1},this.dataFactory=e}encode(e){const t=(0,i.termToString)(e);let r=this.dictionary[t];return void 0===r&&(r=this.lastId++,this.dictionary[t]=r,this.reverseDictionary[r]=t),r}encodeOptional(e){const t=(0,i.termToString)(e);return this.dictionary[t]}decode(e){const t=this.reverseDictionary[e];if(void 0===t)throw new Error(`The value ${e} is not present in this dictionary`);return(0,i.stringToTerm)(t,this.dataFactory)}*encodings(){for(const e of Object.keys(this.reverseDictionary))yield Number.parseInt(e,10)}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},37747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryNumberRecordFullTerms=void 0;const n=r(47793),i=r(43347);t.TermDictionaryNumberRecordFullTerms=class{constructor(e=new n.DataFactory){this.lastId=0,this.dictionary={},this.reverseDictionary={},this.features={quotedTriples:!1},this.dataFactory=e}encode(e){const t=(0,i.termToString)(e);let r=this.dictionary[t];return void 0===r&&(r=this.lastId++,this.dictionary[t]=r,this.reverseDictionary[r]=e),r}encodeOptional(e){const t=(0,i.termToString)(e);return this.dictionary[t]}decode(e){const t=this.reverseDictionary[e];if(void 0===t)throw new Error(`The value ${e} is not present in this dictionary`);return t}*encodings(){for(const e of Object.keys(this.reverseDictionary))yield Number.parseInt(e,10)}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},22895:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryQuoted=void 0;const n=r(47793),i=r(3285);class o{constructor(e,t,r=new n.DataFactory){this.features={quotedTriples:!0},this.plainTermDictionary=e,this.quotedTriplesDictionary=t,this.dataFactory=r}encode(e){return"Quad"===e.termType?o.BITMASK|1+this.quotedTriplesDictionary.encode(e):this.plainTermDictionary.encode(e)}encodeOptional(e){if("Quad"===e.termType){const t=this.quotedTriplesDictionary.encodeOptional(e);return void 0===t?t:o.BITMASK|1+t}return this.plainTermDictionary.encodeOptional(e)}decode(e){if(o.BITMASK&e){const t=(~o.BITMASK&e)-1;return this.quotedTriplesDictionary.decode(t)}return this.plainTermDictionary.decode(e)}*encodings(){for(const e of this.plainTermDictionary.encodings())yield e;for(const e of this.quotedTriplesDictionary.encodings())yield o.BITMASK|1+e}*findQuotedTriples(e){for(const t of this.findQuotedTriplesEncoded(e))yield this.decode(t)}*findQuotedTriplesEncoded(e){for(let t of this.quotedTriplesDictionary.encodings()){t=o.BITMASK|1+t;const r=this.decode(t);(0,i.matchPattern)(r,e.subject,e.predicate,e.object,e.graph)&&(yield t)}}}o.BITMASK=1<<31,t.TermDictionaryQuoted=o},68337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryQuotedIndexed=void 0;const n=r(47793),i=r(42449),o=r(95439);class a{constructor(e,t=new n.DataFactory){this.quotedTriplesDictionary=[],this.features={quotedTriples:!0},this.plainTermDictionary=e;const r={indexCombinations:[],indexConstructor:void 0,dictionary:this,dataFactory:t};this.quotedTriplesReverseDictionaries=[new i.RdfStoreIndexNestedMap(r),new i.RdfStoreIndexNestedMap(r),new i.RdfStoreIndexNestedMap(r)],this.dataFactory=t}encode(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!1):this.plainTermDictionary.encode(e)}encodeQuotedTriple(e,t){if("DefaultGraph"!==e.graph.termType)throw new Error("Encoding of quoted quads outside of the default graph is not allowed");const r=(0,o.encodeOptionalTerms)([e.subject,e.predicate,e.object,e.graph],this),n=r&&r.every((e=>void 0!==e))?this.quotedTriplesReverseDictionaries[0].getEncoded(r):void 0;if(void 0!==n||t)return void 0===n?void 0:a.BITMASK|n;const i=[this.encode(e.subject),this.encode(e.predicate),this.encode(e.object)],s=this.quotedTriplesDictionary.length+1;this.quotedTriplesDictionary.push(i);const c=this.encode(this.dataFactory.defaultGraph());return this.quotedTriplesReverseDictionaries[0].set([i[0],i[1],i[2],c],s),this.quotedTriplesReverseDictionaries[1].set([i[1],i[2],i[0],c],s),this.quotedTriplesReverseDictionaries[2].set([i[2],i[0],i[1],c],s),a.BITMASK|s}encodeOptional(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!0):this.plainTermDictionary.encodeOptional(e)}decode(e){if(a.BITMASK&e){const t=(~a.BITMASK&e)-1;if(t>=this.quotedTriplesDictionary.length)throw new Error(`The value ${e} is not present in the quoted triples range of the dictionary`);const r=this.quotedTriplesDictionary[t];return this.dataFactory.quad(this.decode(r[0]),this.decode(r[1]),this.decode(r[2]))}return this.plainTermDictionary.decode(e)}*encodings(){for(const e of this.plainTermDictionary.encodings())yield e;for(const e of this.quotedTriplesDictionary.keys())yield a.BITMASK|1+e}*findQuotedTriples(e){for(const t of this.findQuotedTriplesEncoded(e))yield this.decode(t)}*findQuotedTriplesEncoded(e){const[t,r]=(0,o.quadToPattern)(e.subject,e.predicate,e.object,e.graph,!0);for(const e of this.patternToIterable(t[0]))for(const r of this.patternToIterable(t[1]))for(const n of this.patternToIterable(t[2]))for(const i of this.patternToIterable(t[3]))if(e&&r||!r&&!n){const o=[e,r,n,i];for(const e of this.quotedTriplesReverseDictionaries[0].findEncoded(o,t))yield a.BITMASK|this.quotedTriplesReverseDictionaries[0].getEncoded(e)}else if(!e&&r){const o=[r,n,e,i];for(const e of this.quotedTriplesReverseDictionaries[1].findEncoded(o,t))yield a.BITMASK|this.quotedTriplesReverseDictionaries[1].getEncoded(e)}else{const o=[n,e,r,i];for(const e of this.quotedTriplesReverseDictionaries[2].findEncoded(o,t))yield a.BITMASK|this.quotedTriplesReverseDictionaries[2].getEncoded(e)}}*patternToIterable(e){if("Quad"===(null==e?void 0:e.termType))return void(yield*this.findQuotedTriplesEncoded(e));if(void 0===e)return void(yield);const t=this.encodeOptional(e);void 0!==t&&(yield t)}}a.BITMASK=1<<31,t.TermDictionaryQuotedIndexed=a},99616:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryQuotedReferential=void 0;const n=r(47793),i=r(3285),o=r(95439);class a{constructor(e,t=new n.DataFactory){this.quotedTriplesDictionary=[],this.quotedTriplesReverseDictionary={},this.features={quotedTriples:!0},this.plainTermDictionary=e,this.dataFactory=t}encode(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!1):this.plainTermDictionary.encode(e)}encodeQuotedTriple(e,t){var r;if("DefaultGraph"!==e.graph.termType)throw new Error("Encoding of quoted quads outside of the default graph is not allowed");const n=null===(r=(0,o.encodeOptionalTerms)([e.subject,e.predicate,e.object,void 0],this))||void 0===r?void 0:r.slice(0,3),i=n&&n.every((e=>void 0!==e))?this.quotedTriplesReverseDictionary[n.join(a.SEPARATOR)]:void 0;if(void 0!==i||t)return void 0===i?void 0:a.BITMASK|i;const s=[this.encode(e.subject),this.encode(e.predicate),this.encode(e.object)],c=this.quotedTriplesDictionary.length+1;return this.quotedTriplesDictionary.push(s),this.quotedTriplesReverseDictionary[s.join(a.SEPARATOR)]=c,a.BITMASK|c}encodeOptional(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!0):this.plainTermDictionary.encodeOptional(e)}decode(e){if(a.BITMASK&e){const t=(~a.BITMASK&e)-1;if(t>=this.quotedTriplesDictionary.length)throw new Error(`The value ${e} is not present in the quoted triples range of the dictionary`);const r=this.quotedTriplesDictionary[t];return this.dataFactory.quad(this.decode(r[0]),this.decode(r[1]),this.decode(r[2]))}return this.plainTermDictionary.decode(e)}*encodings(){for(const e of this.plainTermDictionary.encodings())yield e;for(const e of this.quotedTriplesDictionary.keys())yield a.BITMASK|1+e}*findQuotedTriples(e){for(const t of this.findQuotedTriplesEncoded(e))yield this.decode(t)}*findQuotedTriplesEncoded(e){for(let t of this.quotedTriplesDictionary.keys()){t=a.BITMASK|1+t;const r=this.decode(t);(0,i.matchPattern)(r,e.subject,e.predicate,e.object,e.graph)&&(yield t)}}}a.BITMASK=1<<31,a.SEPARATOR="_",t.TermDictionaryQuotedReferential=a},21451:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionarySymbol=void 0;const n=r(47793),i=r(43347);t.TermDictionarySymbol=class{constructor(e=new n.DataFactory){this.features={quotedTriples:!1},this.dataFactory=e}encode(e){return Symbol.for(`rdf::${(0,i.termToString)(e)}`)}encodeOptional(e){return this.encode(e)}decode(e){const t=Symbol.keyFor(e);if(void 0===t)throw new Error(`The value ${String(e)} is not present in this dictionary`);return(0,i.stringToTerm)(t.slice(5),this.dataFactory)}encodings(){throw new Error("encodings is not supported")}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},445:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},42449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMap=void 0;const n=r(95439);t.RdfStoreIndexNestedMap=class{constructor(e){this.features={quotedTripleFiltering:!1},this.dictionary=e.dictionary,this.nestedMap=new Map}set(e,t){const r=this.nestedMap;let n=r.get(e[0]);n||(n=new Map,r.set(e[0],n));let i=n.get(e[1]);i||(i=new Map,n.set(e[1],i));let o=i.get(e[2]);o||(o=new Map,i.set(e[2],o));const a=o.has(e[3]);return a||o.set(e[3],t),!a}remove(e){const t=this.nestedMap,r=t.get(e[0]);if(!r)return!1;const n=r.get(e[1]);if(!n)return!1;const i=n.get(e[2]);if(!i)return!1;const o=i.delete(e[3]);return o&&0===i.size&&(n.delete(e[2]),0===n.size&&(r.delete(e[1]),0===r.size&&t.delete(e[0]))),o}get(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t&&!t.includes(void 0))return this.getEncoded(t)}getEncoded(e){const t=this.nestedMap.get(e[0]);if(!t)return;const r=t.get(e[1]);if(!r)return;const n=r.get(e[2]);return n?n.get(e[3]):void 0}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e;let d,p,h,f,y,g,m;const b=this.nestedMap,_=void 0!==r?b.has(r)?[r]:[]:b.keys();for(const e of _){y=b.get(e),d=s||this.dictionary.decode(e);const t=void 0!==i?y.has(i)?[i]:[]:y.keys();for(const e of t){g=y.get(e),p=c||this.dictionary.decode(e);const t=void 0!==o?g.has(o)?[o]:[]:g.keys();for(const e of t){m=g.get(e),h=u||this.dictionary.decode(e);const t=void 0!==a?m.has(a)?[a]:[]:m.keys();for(const e of t)f=l||this.dictionary.decode(e),yield[d,p,h,f]}}}}*findEncoded(e,t){const[r,n,i,o]=e;let a,s,c;const u=this.nestedMap,l=void 0!==r?u.has(r)?[r]:[]:u.keys();for(const e of l){a=u.get(e);const t=void 0!==n?a.has(n)?[n]:[]:a.keys();for(const r of t){s=a.get(r);const t=void 0!==i?s.has(i)?[i]:[]:s.keys();for(const n of t){c=s.get(n);const t=void 0!==o?c.has(o)?[o]:[]:c.keys();for(const i of t)yield[e,r,n,i]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const i=r[0],o=r[1],a=r[2],s=r[3];let c,u,l;const d=this.nestedMap,p=void 0!==i?d.has(i)?[i]:[]:d.keys();for(const e of p){c=d.get(e);const r=void 0!==o?c.has(o)?[o]:[]:c.keys();for(const e of r){u=c.get(e);const r=void 0!==a?u.has(a)?[a]:[]:u.keys();for(const e of r)l=u.get(e),void 0!==s?l.has(s)&&t++:t+=l.size}}return t}}},75237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMapQuoted=void 0;const n=r(95439),i=r(42449);class o extends i.RdfStoreIndexNestedMap{constructor(e){super(e),this.features={quotedTripleFiltering:!0}}*getQuotedPatternKeys(e,t){for(const r of this.dictionary.findQuotedTriplesEncoded(t))e.has(r)&&(yield r)}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e,[d,p,h,f]=(0,n.arePatternsQuoted)(e);let y,g,m,b,_,v,w;const S=this.nestedMap,E=void 0!==s?d?this.getQuotedPatternKeys(S,s):S.has(r)?[r]:[]:S.keys();for(const e of E){_=S.get(e),y=!d&&s?s:this.dictionary.decode(e);const t=void 0!==c?p?this.getQuotedPatternKeys(_,c):_.has(i)?[i]:[]:_.keys();for(const e of t){v=_.get(e),g=!p&&c?c:this.dictionary.decode(e);const t=void 0!==u?h?this.getQuotedPatternKeys(v,u):v.has(o)?[o]:[]:v.keys();for(const e of t){w=v.get(e),m=!h&&u?u:this.dictionary.decode(e);const t=void 0!==l?f?this.getQuotedPatternKeys(w,l):w.has(a)?[a]:[]:w.keys();for(const e of t)b=!f&&l?l:this.dictionary.decode(e),yield[y,g,m,b]}}}}*findEncoded(e,t){const[r,i,o,a]=e,[s,c,u,l]=t,[d,p,h,f]=(0,n.arePatternsQuoted)(t);let y,g,m;const b=this.nestedMap,_=void 0!==s?d?this.getQuotedPatternKeys(b,s):b.has(r)?[r]:[]:b.keys();for(const e of _){y=b.get(e);const t=void 0!==c?p?this.getQuotedPatternKeys(y,c):y.has(i)?[i]:[]:y.keys();for(const r of t){g=y.get(r);const t=void 0!==u?h?this.getQuotedPatternKeys(g,u):g.has(o)?[o]:[]:g.keys();for(const n of t){m=g.get(n);const t=void 0!==l?f?this.getQuotedPatternKeys(m,l):m.has(a)?[a]:[]:m.keys();for(const i of t)yield[Number.parseInt(e,10),Number.parseInt(r,10),Number.parseInt(n,10),Number.parseInt(i,10)]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const[i,o,a,s]=r,[c,u,l,d]=e,[p,h,f,y]=(0,n.arePatternsQuoted)(e);let g,m,b;const _=this.nestedMap,v=void 0!==c?p?this.getQuotedPatternKeys(_,c):_.has(i)?[i]:[]:_.keys();for(const e of v){g=_.get(e);const r=void 0!==u?h?this.getQuotedPatternKeys(g,u):g.has(o)?[o]:[]:g.keys();for(const e of r){m=g.get(e);const r=void 0!==l?f?this.getQuotedPatternKeys(m,l):m.has(a)?[a]:[]:m.keys();for(const e of r)b=m.get(e),void 0!==d?y?t+=[...this.getQuotedPatternKeys(b,d)].length:b.has(s)&&t++:t+=b.size}}return t}}t.RdfStoreIndexNestedMapQuoted=o},53261:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMapRecursive=void 0;const n=r(95439);t.RdfStoreIndexNestedMapRecursive=class{constructor(e){this.features={quotedTripleFiltering:!1},this.dictionary=e.dictionary,this.nestedMap=new Map}set(e,t){let r=this.nestedMap,n=!1;for(const[i,o]of e.entries()){const a=r;let s=a.get(o);s?i===e.length-1&&(n=!0):(s=i===e.length-1?t:new Map,a.set(o,s)),r=s}return!n}remove(e){const t=this.nestedMap,r=t.get(e[0]);if(!r)return!1;const n=r.get(e[1]);if(!n)return!1;const i=n.get(e[2]);if(!i)return!1;const o=i.delete(e[3]);return o&&0===i.size&&(n.delete(e[2]),0===n.size&&(r.delete(e[1]),0===r.size&&t.delete(e[0]))),o}get(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t&&!t.includes(void 0))return this.getEncoded(t)}getEncoded(e){const t=this.nestedMap.get(e[0]);if(!t)return;const r=t.get(e[1]);if(!r)return;const n=r.get(e[2]);return n?n.get(e[3]):void 0}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t)for(const r of this.findEncoded(t,e))yield[void 0!==t[0]?e[0]:this.dictionary.decode(r[0]),void 0!==t[1]?e[1]:this.dictionary.decode(r[1]),void 0!==t[2]?e[2]:this.dictionary.decode(r[2]),void 0!==t[3]?e[3]:this.dictionary.decode(r[3])]}*findEncoded(e,t){return yield*this.findEncodedInner(0,e,t,this.nestedMap,[])}*findEncodedInner(e,t,r,n,i){if(e===t.length)yield[...i];else{const o=t[e];if(r[e]){const a=o;if(void 0!==a){const s=n.get(a);s&&(i[e]=o,yield*this.findEncodedInner(e+1,t,r,s,i))}}else for(const[o,a]of n.entries())i[e]=o,yield*this.findEncodedInner(e+1,t,r,a,i)}}count(e){return this.countInner(0,e,this.nestedMap)}countInner(e,t,r){const n=t[e];let i=0;if(n){const o=this.dictionary.encodeOptional(n);if(void 0!==o){if(e===t.length-1)return r.has(o)?1:0;const n=r.get(o);n&&(i+=this.countInner(e+1,t,n))}}else{if(e===t.length-1)return r.size;for(const n of r.values())i+=this.countInner(e+1,t,n)}return i}}},80745:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMapRecursiveQuoted=void 0;const n=r(95439),i=r(53261);class o extends i.RdfStoreIndexNestedMapRecursive{constructor(e){super(e),this.features={quotedTripleFiltering:!0}}*findEncoded(e,t){return yield*this.findEncodedInnerQuoted(0,e,t,(0,n.arePatternsQuoted)(t),this.nestedMap,[])}*findEncodedInnerQuoted(e,t,r,n,i,o){if(e===t.length)yield[...o];else{const a=t[e],s=r[e];if(s)if(n[e]){const a=this.dictionary.findQuotedTriplesEncoded(s);for(const s of a){const a=i.get(s);a&&(o[e]=s,yield*this.findEncodedInnerQuoted(e+1,t,r,n,a,o))}}else{const s=a;if(void 0!==s){const c=i.get(s);c&&(o[e]=a,yield*this.findEncodedInnerQuoted(e+1,t,r,n,c,o))}}else for(const[a,s]of i.entries())o[e]=a,yield*this.findEncodedInnerQuoted(e+1,t,r,n,s,o)}}countInner(e,t,r){const i=t[e];let o=0;if(i)if("Quad"===i.termType&&(0,n.quadHasVariables)(i)){const n=this.dictionary.findQuotedTriplesEncoded(i);for(const i of n)if(e===t.length-1)r.has(i)&&o++;else{const n=r.get(i);n&&(o+=this.countInner(e+1,t,n))}}else{const n=this.dictionary.encodeOptional(i);if(void 0!==n){if(e===t.length-1)return r.has(n)?1:0;const i=r.get(n);i&&(o+=this.countInner(e+1,t,i))}}else{if(e===t.length-1)return r.size;for(const n of r.values())o+=this.countInner(e+1,t,n)}return o}}t.RdfStoreIndexNestedMapRecursiveQuoted=o},80766:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedRecord=void 0;const n=r(95439);t.RdfStoreIndexNestedRecord=class{constructor(e){this.features={quotedTripleFiltering:!1},this.dictionary=e.dictionary,this.nestedRecords={}}set(e,t){const r=this.nestedRecords,n=r[e[0]]||(r[e[0]]={}),i=n[e[1]]||(n[e[1]]={}),o=i[e[2]]||(i[e[2]]={});return!o[e[3]]&&(o[e[3]]=t,!0)}remove(e){const t=this.nestedRecords,r=t[e[0]];if(!r)return!1;const n=r[e[1]];if(!n)return!1;const i=n[e[2]];return!!i&&!!i[e[3]]&&(delete i[e[3]],0===Object.keys(i).length&&(delete n[e[2]],0===Object.keys(n).length&&(delete r[e[1]],0===Object.keys(r).length&&delete t[e[0]])),!0)}get(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t&&!t.includes(void 0))return this.getEncoded(t)}getEncoded(e){var t,r,n;return null===(n=null===(r=null===(t=this.nestedRecords[e[0]])||void 0===t?void 0:t[e[1]])||void 0===r?void 0:r[e[2]])||void 0===n?void 0:n[e[3]]}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e;let d,p,h,f,y,g,m;const b=this.nestedRecords,_=void 0!==r?r in b?[r]:[]:Object.keys(b);for(const e of _){y=b[e],d=s||this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==i?i in y?[i]:[]:Object.keys(y);for(const e of t){g=y[e],p=c||this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==o?o in g?[o]:[]:Object.keys(g);for(const e of t){m=g[e],h=u||this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==a?a in m?[a]:[]:Object.keys(m);for(const e of t)f=l||this.dictionary.decode(Number.parseInt(e,10)),yield[d,p,h,f]}}}}*findEncoded(e,t){const[r,n,i,o]=e;let a,s,c;const u=this.nestedRecords,l=void 0!==r?r in u?[r]:[]:Object.keys(u);for(const e of l){a=u[e];const t=void 0!==n?n in a?[n]:[]:Object.keys(a);for(const r of t){s=a[r];const t=void 0!==i?i in s?[i]:[]:Object.keys(s);for(const n of t){c=s[n];const t=void 0!==o?o in c?[o]:[]:Object.keys(c);for(const i of t)yield[Number.parseInt(e,10),Number.parseInt(r,10),Number.parseInt(n,10),Number.parseInt(i,10)]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const i=r[0],o=r[1],a=r[2],s=r[3];let c,u,l;const d=this.nestedRecords,p=void 0!==i?i in d?[i]:[]:Object.keys(d);for(const e of p){c=d[e];const r=void 0!==o?o in c?[o]:[]:Object.keys(c);for(const e of r){u=c[e];const r=void 0!==a?a in u?[a]:[]:Object.keys(u);for(const e of r)l=u[e],void 0!==s?s in l&&t++:t+=Object.keys(l).length}}return t}}},67538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedRecordQuoted=void 0;const n=r(95439),i=r(80766);class o extends i.RdfStoreIndexNestedRecord{constructor(e){super(e),this.features={quotedTripleFiltering:!0}}*getQuotedPatternKeys(e,t){for(const r of this.dictionary.findQuotedTriplesEncoded(t))r in e&&(yield r)}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e,[d,p,h,f]=(0,n.arePatternsQuoted)(e);let y,g,m,b,_,v,w;const S=this.nestedRecords,E=void 0!==s?d?this.getQuotedPatternKeys(S,s):r in S?[r]:[]:Object.keys(S);for(const e of E){_=S[e],y=!d&&s?s:this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==c?p?this.getQuotedPatternKeys(_,c):i in _?[i]:[]:Object.keys(_);for(const e of t){v=_[e],g=!p&&c?c:this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==u?h?this.getQuotedPatternKeys(v,u):o in v?[o]:[]:Object.keys(v);for(const e of t){w=v[e],m=!h&&u?u:this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==l?f?this.getQuotedPatternKeys(w,l):a in w?[a]:[]:Object.keys(w);for(const e of t)b=!f&&l?l:this.dictionary.decode(Number.parseInt(e,10)),yield[y,g,m,b]}}}}*findEncoded(e,t){const[r,i,o,a]=e,[s,c,u,l]=t,[d,p,h,f]=(0,n.arePatternsQuoted)(t);let y,g,m;const b=this.nestedRecords,_=void 0!==s?d?this.getQuotedPatternKeys(b,s):r in b?[r]:[]:Object.keys(b);for(const e of _){y=b[e];const t=void 0!==c?p?this.getQuotedPatternKeys(y,c):i in y?[i]:[]:Object.keys(y);for(const r of t){g=y[r];const t=void 0!==u?h?this.getQuotedPatternKeys(g,u):o in g?[o]:[]:Object.keys(g);for(const n of t){m=g[n];const t=void 0!==l?f?this.getQuotedPatternKeys(m,l):a in m?[a]:[]:Object.keys(m);for(const i of t)yield[Number.parseInt(e,10),Number.parseInt(r,10),Number.parseInt(n,10),Number.parseInt(i,10)]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const[i,o,a,s]=r,[c,u,l,d]=e,[p,h,f,y]=(0,n.arePatternsQuoted)(e);let g,m,b;const _=this.nestedRecords,v=void 0!==c?p?this.getQuotedPatternKeys(_,c):i in _?[i]:[]:Object.keys(_);for(const e of v){g=_[e];const r=void 0!==u?h?this.getQuotedPatternKeys(g,u):o in g?[o]:[]:Object.keys(g);for(const e of r){m=g[e];const r=void 0!==l?f?this.getQuotedPatternKeys(m,l):a in m?[a]:[]:Object.keys(m);for(const e of r)b=m[e],void 0!==d?y?t+=[...this.getQuotedPatternKeys(b,d)].length:s in b&&t++:t+=Object.keys(b).length}}return t}}t.RdfStoreIndexNestedRecordQuoted=o},18962:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23598),t),i(r(83893),t)},23598:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PendingStreamsIndex=void 0;const n=r(43347),i=r(3285);class o{constructor(){this.indexedStreams=new Map,this.allStreams=[]}termToString(e){return e&&"Variable"!==e.termType?(0,n.termToString)(e):o.ID_VARIABLE}addPatternListener(e,t,r,n,i){this.allStreams.push(e);const a=`${this.termToString(t)}${o.ID_SEPARATOR}${this.termToString(r)}${o.ID_SEPARATOR}${this.termToString(n)}${o.ID_SEPARATOR}${this.termToString(i)}`;let s=this.indexedStreams.get(a);s||(s=[],this.indexedStreams.set(a,s)),s.push(e)}getPendingStreamsForQuad(e){let t=[(0,i.getTerms)(e).map((e=>(0,n.termToString)(e)))];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamingStore=void 0;const n=r(54378),i=r(19198),o=r(23598);t.StreamingStore=class{constructor(e=new n.Store){this.pendingStreams=new o.PendingStreamsIndex,this.ended=!1,this.store=e}end(){this.ended=!0;for(const e of this.pendingStreams.allStreams)e.push(null),e._pipeSource.unpipe()}importToListeners(e){e.on("data",(e=>{if(!this.ended&&!this.store.countQuads(e.subject,e.predicate,e.object,e.graph))for(const t of this.pendingStreams.getPendingStreamsForQuad(e))t.isInitialized&&(t.push(e),t.emit("quad",e))}))}import(e){if(this.ended)throw new Error("Attempted to import into an ended StreamingStore");return this.importToListeners(e),this.store.import(e)}match(e,t,r,n){const o=this.store.match(e,t,r,n);let a=o;if(!this.ended){const s=new i.PassThrough({objectMode:!0});this.pendingStreams.addPatternListener(s,e,t,r,n),a=o.pipe(s,{end:!1}),a._pipeSource=o;const c=o._read;o._read=e=>{s.isInitialized=!0,c.call(o,e)}}return a}getStore(){return this.store}}},46898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.termToString=t.stringToTerm=t.stringQuadToQuad=t.quadToStringQuad=t.getLiteralValue=t.getLiteralType=t.getLiteralLanguage=void 0;const n=r(19858);Object.defineProperty(t,"getLiteralLanguage",{enumerable:!0,get:function(){return n.getLiteralLanguage}}),Object.defineProperty(t,"getLiteralType",{enumerable:!0,get:function(){return n.getLiteralType}}),Object.defineProperty(t,"getLiteralValue",{enumerable:!0,get:function(){return n.getLiteralValue}}),Object.defineProperty(t,"quadToStringQuad",{enumerable:!0,get:function(){return n.quadToStringQuad}}),Object.defineProperty(t,"stringQuadToQuad",{enumerable:!0,get:function(){return n.stringQuadToQuad}}),Object.defineProperty(t,"stringToTerm",{enumerable:!0,get:function(){return n.stringToTerm}}),Object.defineProperty(t,"termToString",{enumerable:!0,get:function(){return n.termToString}})},19858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stringQuadToQuad=t.quadToStringQuad=t.stringToTerm=t.getLiteralLanguage=t.getLiteralType=t.getLiteralValue=t.termToString=void 0;const n=new(r(47793).DataFactory);function i(e){var t,r;if(e)switch(e.termType){case"NamedNode":return`<${t=e.value,t.replace(u,d)}>`;case"BlankNode":return`_:${e.value}`;case"Literal":{const t=e;return`"${r=t.value,u.test(r)&&(r=r.replace(u,d)),r}"${t.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==t.datatype.value&&"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"!==t.datatype.value?`^^<${t.datatype.value}>`:""}${t.language?`@${t.language}`:""}`}case"Quad":return`<<${i(e.subject)} ${i(e.predicate)} ${i(e.object)}${"DefaultGraph"===e.graph.termType?"":` ${i(e.graph)}`}>>`;case"Variable":return`?${e.value}`;case"DefaultGraph":return e.value}}function o(e){const t=/^"([^]*)"((\^\^.*)|(@.*))?$/u.exec(e);if(!t)throw new Error(`${e} is not a literal`);return t[1].replace(/\\"/gu,'"')}function a(e){const t=/^"[^]*"(?:\^\^<([^"]+)>|(@)[^@"]+)?$/u.exec(e);if(!t)throw new Error(`${e} is not a literal`);return t[1]||(t[2]?"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString":"http://www.w3.org/2001/XMLSchema#string")}function s(e){const t=/^"[^]*"(?:@([^@"]+)|\^\^[^"]+)?$/u.exec(e);if(!t)throw new Error(`${e} is not a literal`);return t[1]?t[1].toLowerCase():""}function c(e,t){if(t=t||n,!e||0===e.length)return t.defaultGraph();switch(e[0]){case"_":return t.blankNode(e.slice(2));case"?":if(!t.variable)throw new Error("Missing 'variable()' method on the given DataFactory");return t.variable(e.slice(1));case'"':{const r=s(e),n=t.namedNode(a(e));return t.literal(o(e),r||n)}default:if(e.startsWith("<<")&&e.endsWith(">>")){const r=e.slice(2,-2),n=[];let i=0,o=0;for(let t=0;t"===a){if(0===i)throw new Error(`Found closing tag without opening tag in ${e}`);i--}" "===a&&0===i&&(n.push(r.slice(o,t)),o=t+1)}if(0!==i)throw new Error(`Found opening tag without closing tag in ${e}`);if(n.push(r.slice(o,r.length)),3!==n.length&&4!==n.length)throw new Error(`Nested quad syntax error ${e}`);return t.quad(c(n[0]),c(n[1]),c(n[2]),n[3]?c(n[3]):void 0)}if(!e.startsWith("<")||!e.endsWith(">"))throw new Error(`Detected invalid iri for named node (must be wrapped in <>): ${e}`);return t.namedNode(e.slice(1,-1))}}t.termToString=i,t.getLiteralValue=o,t.getLiteralType=a,t.getLiteralLanguage=s,t.stringToTerm=c,t.quadToStringQuad=function(e){return{subject:i(e.subject),predicate:i(e.predicate),object:i(e.object),graph:i(e.graph)}},t.stringQuadToQuad=function(e,t){return(t=t||n).quad(c(e.subject,t),c(e.predicate,t),c(e.object,t),c(e.graph,t))};const u=/["\\\t\n\r\b\f\u0000-\u0019]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=new Map([["\\","\\\\"],['"','\\"'],["\t","\\t"],["\n","\\n"],["\r","\\r"],["\b","\\b"],["\f","\\f"]]);function d(e){const t=l.get(e);if(!t){if(1===e.length){const t=e.charCodeAt(0).toString(16);return`${"\\u0000".slice(0,-t.length)}${t}`}const t=(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)+9216).toString(16);return`${"\\U00000000".slice(0,-t.length)}${t}`}return t}},43347:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.termToString=t.stringToTerm=t.stringQuadToQuad=t.quadToStringQuad=t.getLiteralValue=t.getLiteralType=t.getLiteralLanguage=void 0;const n=r(23585);Object.defineProperty(t,"getLiteralLanguage",{enumerable:!0,get:function(){return n.getLiteralLanguage}}),Object.defineProperty(t,"getLiteralType",{enumerable:!0,get:function(){return n.getLiteralType}}),Object.defineProperty(t,"getLiteralValue",{enumerable:!0,get:function(){return n.getLiteralValue}}),Object.defineProperty(t,"quadToStringQuad",{enumerable:!0,get:function(){return n.quadToStringQuad}}),Object.defineProperty(t,"stringQuadToQuad",{enumerable:!0,get:function(){return n.stringQuadToQuad}}),Object.defineProperty(t,"stringToTerm",{enumerable:!0,get:function(){return n.stringToTerm}}),Object.defineProperty(t,"termToString",{enumerable:!0,get:function(){return n.termToString}})},23585:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stringQuadToQuad=t.quadToStringQuad=t.stringToTerm=t.getLiteralLanguage=t.getLiteralType=t.getLiteralValue=t.termToString=void 0;const n=new(r(47793).DataFactory);function i(e){if(e)switch(e.termType){case"NamedNode":case"DefaultGraph":return e.value;case"BlankNode":return"_:"+e.value;case"Literal":const t=e;return'"'+t.value+'"'+(t.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==t.datatype.value&&"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"!==t.datatype.value?"^^"+t.datatype.value:"")+(t.language?"@"+t.language:"");case"Quad":return`<<${i(e.subject)} ${i(e.predicate)} ${i(e.object)}${"DefaultGraph"===e.graph.termType?"":" "+i(e.graph)}>>`;case"Variable":return"?"+e.value}}function o(e){const t=/^"([^]*)"/.exec(e);if(!t)throw new Error(e+" is not a literal");return t[1]}function a(e){const t=/^"[^]*"(?:\^\^([^"]+)|(@)[^@"]+)?$/.exec(e);if(!t)throw new Error(e+" is not a literal");return t[1]||(t[2]?"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString":"http://www.w3.org/2001/XMLSchema#string")}function s(e){const t=/^"[^]*"(?:@([^@"]+)|\^\^[^"]+)?$/.exec(e);if(!t)throw new Error(e+" is not a literal");return t[1]?t[1].toLowerCase():""}function c(e,t){if(t=t||n,!e||!e.length)return t.defaultGraph();switch(e[0]){case"_":return t.blankNode(e.substr(2));case"?":if(!t.variable)throw new Error("Missing 'variable()' method on the given DataFactory");return t.variable(e.substr(1));case'"':const r=s(e),n=t.namedNode(a(e));return t.literal(o(e),r||n);default:if("<"===e[0]&&e.length>4&&"<"===e[1]&&">"===e[e.length-1]&&">"===e[e.length-2]){const r=e.slice(2,-2).trim();let n=[],i=0,o=0,a=!1;for(let t=0;t"===s){if(0===i)throw new Error("Found closing tag without opening tag in "+e);i--}if('"'===s){let e=!1,n=t;for(;n-- >0&&"\\"===r[n];)e=!e;e||(a=!a)}if(" "===s&&!a&&0===i){for(n.push(r.slice(o,t));" "===r[t+1];)t+=1;o=t+1}}if(0!==i)throw new Error("Found opening tag without closing tag in "+e);if(n.push(r.slice(o,r.length)),3!==n.length&&4!==n.length)throw new Error("Nested quad syntax error "+e);return n=n.map((e=>e.startsWith("<")&&!e.includes(" ")?e.slice(1,-1):e)),t.quad(c(n[0]),c(n[1]),c(n[2]),n[3]?c(n[3]):void 0)}return t.namedNode(e)}}t.termToString=i,t.getLiteralValue=o,t.getLiteralType=a,t.getLiteralLanguage=s,t.stringToTerm=c,t.quadToStringQuad=function(e){return{subject:i(e.subject),predicate:i(e.predicate),object:i(e.object),graph:i(e.graph)}},t.stringQuadToQuad=function(e,t){return(t=t||n).quad(c(e.subject,t),c(e.predicate,t),c(e.object,t),c(e.graph,t))}},3285:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(64232),t),i(r(70071),t)},64232:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matchPatternMappings=t.matchPatternComplete=t.matchPattern=t.matchTerm=t.getValueNestedPath=t.someTermsNested=t.someTerms=t.everyTermsNested=t.everyTerms=t.reduceTermsNested=t.reduceTerms=t.mapTermsNested=t.mapTerms=t.filterQuadTermNamesNested=t.filterQuadTermNames=t.filterTermsNested=t.filterTerms=t.forEachTermsNested=t.forEachTerms=t.collectNamedTerms=t.getNamedTerms=t.getTermsNested=t.getTerms=t.TRIPLE_TERM_NAMES=t.QUAD_TERM_NAMES=void 0;const n=new(r(47793).DataFactory);function i(e,t){return t&&"DefaultGraph"===e.graph.termType?[e.subject,e.predicate,e.object]:[e.subject,e.predicate,e.object,e.graph]}function o(e,t){return t(e.subject,"subject")&&t(e.predicate,"predicate")&&t(e.object,"object")&&t(e.graph,"graph")}function a(e,t){return!t||"Variable"===t.termType||"Quad"===t.termType&&"Quad"===e.termType&&c(e,t)||t.equals(e)}function s(e,t,r,n,i){return a(e.subject,t)&&a(e.predicate,r)&&a(e.object,n)&&a(e.graph,i)}function c(e,t){return s(e,t.subject,t.predicate,t.object,t.graph)}t.QUAD_TERM_NAMES=["subject","predicate","object","graph"],t.TRIPLE_TERM_NAMES=["subject","predicate","object"],t.getTerms=i,t.getTermsNested=function e(t,r){const n=[];for(const o of i(t,r))"Quad"===o.termType?e(o,r).forEach((e=>n.push(e))):n.push(o);return n},t.getNamedTerms=function(e){return[{key:"subject",value:e.subject},{key:"predicate",value:e.predicate},{key:"object",value:e.object},{key:"graph",value:e.graph}]},t.collectNamedTerms=function(e,t,r){const i={};return e.forEach((e=>i[e.key]=e.value)),t&&(i.subject=i.subject||t("subject"),i.predicate=i.predicate||t("predicate"),i.object=i.object||t("object"),i.graph=i.graph||t("graph")),(r||n).quad(i.subject,i.predicate,i.object,i.graph)},t.forEachTerms=function(e,t){t(e.subject,"subject"),t(e.predicate,"predicate"),t(e.object,"object"),t(e.graph,"graph")},t.forEachTermsNested=function e(t,r,n=[]){"Quad"===t.subject.termType?e(t.subject,r,[...n,"subject"]):r(t.subject,[...n,"subject"]),"Quad"===t.predicate.termType?e(t.predicate,r,[...n,"predicate"]):r(t.predicate,[...n,"predicate"]),"Quad"===t.object.termType?e(t.object,r,[...n,"object"]):r(t.object,[...n,"object"]),"Quad"===t.graph.termType?e(t.graph,r,[...n,"graph"]):r(t.graph,[...n,"graph"])},t.filterTerms=function(e,t){const r=[];return t(e.subject,"subject")&&r.push(e.subject),t(e.predicate,"predicate")&&r.push(e.predicate),t(e.object,"object")&&r.push(e.object),t(e.graph,"graph")&&r.push(e.graph),r},t.filterTermsNested=function e(t,r,n=[]){let i=[];return"Quad"===t.subject.termType?i=[...i,...e(t.subject,r,[...n,"subject"])]:r(t.subject,[...n,"subject"])&&i.push(t.subject),"Quad"===t.predicate.termType?i=[...i,...e(t.predicate,r,[...n,"predicate"])]:r(t.predicate,[...n,"predicate"])&&i.push(t.predicate),"Quad"===t.object.termType?i=[...i,...e(t.object,r,[...n,"object"])]:r(t.object,[...n,"object"])&&i.push(t.object),"Quad"===t.graph.termType?i=[...i,...e(t.graph,r,[...n,"graph"])]:r(t.graph,[...n,"graph"])&&i.push(t.graph),i},t.filterQuadTermNames=function(e,t){const r=[];return t(e.subject,"subject")&&r.push("subject"),t(e.predicate,"predicate")&&r.push("predicate"),t(e.object,"object")&&r.push("object"),t(e.graph,"graph")&&r.push("graph"),r},t.filterQuadTermNamesNested=function e(t,r,n=[]){let i=[];const o=[...n,"subject"];"Quad"===t.subject.termType?i=[...i,...e(t.subject,r,o)]:r(t.subject,o)&&i.push(o);const a=[...n,"predicate"];"Quad"===t.predicate.termType?i=[...i,...e(t.predicate,r,a)]:r(t.predicate,a)&&i.push(a);const s=[...n,"object"];"Quad"===t.object.termType?i=[...i,...e(t.object,r,s)]:r(t.object,s)&&i.push(s);const c=[...n,"graph"];return"Quad"===t.graph.termType?i=[...i,...e(t.graph,r,c)]:r(t.graph,c)&&i.push(c),i},t.mapTerms=function(e,t,r){return(r||n).quad(t(e.subject,"subject"),t(e.predicate,"predicate"),t(e.object,"object"),t(e.graph,"graph"))},t.mapTermsNested=function e(t,r,i,o=[]){return(i||n).quad("Quad"===t.subject.termType?e(t.subject,r,i,[...o,"subject"]):r(t.subject,[...o,"subject"]),"Quad"===t.predicate.termType?e(t.predicate,r,i,[...o,"predicate"]):r(t.predicate,[...o,"predicate"]),"Quad"===t.object.termType?e(t.object,r,i,[...o,"object"]):r(t.object,[...o,"object"]),"Quad"===t.graph.termType?e(t.graph,r,i,[...o,"graph"]):r(t.graph,[...o,"graph"]))},t.reduceTerms=function(e,t,r){let n=r;return n=t(n,e.subject,"subject"),n=t(n,e.predicate,"predicate"),n=t(n,e.object,"object"),t(n,e.graph,"graph")},t.reduceTermsNested=function e(t,r,n,i=[]){let o=n;return o="Quad"===t.subject.termType?e(t.subject,r,o,[...i,"subject"]):r(o,t.subject,[...i,"subject"]),o="Quad"===t.predicate.termType?e(t.predicate,r,o,[...i,"predicate"]):r(o,t.predicate,[...i,"predicate"]),o="Quad"===t.object.termType?e(t.object,r,o,[...i,"object"]):r(o,t.object,[...i,"object"]),o="Quad"===t.graph.termType?e(t.graph,r,o,[...i,"graph"]):r(o,t.graph,[...i,"graph"]),o},t.everyTerms=o,t.everyTermsNested=function e(t,r,n=[]){return("Quad"===t.subject.termType?e(t.subject,r,[...n,"subject"]):r(t.subject,[...n,"subject"]))&&("Quad"===t.predicate.termType?e(t.predicate,r,[...n,"predicate"]):r(t.predicate,[...n,"predicate"]))&&("Quad"===t.object.termType?e(t.object,r,[...n,"object"]):r(t.object,[...n,"object"]))&&("Quad"===t.graph.termType?e(t.graph,r,[...n,"graph"]):r(t.graph,[...n,"graph"]))},t.someTerms=function(e,t){return t(e.subject,"subject")||t(e.predicate,"predicate")||t(e.object,"object")||t(e.graph,"graph")},t.someTermsNested=function e(t,r,n=[]){return("Quad"===t.subject.termType?e(t.subject,r,[...n,"subject"]):r(t.subject,[...n,"subject"]))||("Quad"===t.predicate.termType?e(t.predicate,r,[...n,"predicate"]):r(t.predicate,[...n,"predicate"]))||("Quad"===t.object.termType?e(t.object,r,[...n,"object"]):r(t.object,[...n,"object"]))||("Quad"===t.graph.termType?e(t.graph,r,[...n,"graph"]):r(t.graph,[...n,"graph"]))},t.getValueNestedPath=function e(t,r){if(0===r.length)return t;if("Quad"===t.termType)return e(t[r[0]],r.slice(1));throw new Error(`Tried to get ${r[0]} from term of type ${t.termType}`)},t.matchTerm=a,t.matchPattern=s,t.matchPatternComplete=c,t.matchPatternMappings=function(e,t,r={}){const n={};return function e(t,i){return o(t,((t,o)=>{var a,s;const c=i[o];switch(t.termType){case"Variable":return r.skipVarMapping&&"Variable"===c.termType||(null!==(s=null===(a=n[t.value])||void 0===a?void 0:a.equals(c))&&void 0!==s?s:(n[t.value]=c,!0));case"Quad":return"Quad"===c.termType&&e(t,c);default:return t.equals(c)}}))}(t,e)&&(!r.returnMappings||n)}},70071:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getQuads=t.getDefaultGraphs=t.getVariables=t.getLiterals=t.getBlankNodes=t.getNamedNodes=t.getTermsOfType=t.uniqTerms=t.TERM_TYPES=void 0;const n=r(43347);function i(e,t){return e.filter((e=>e.termType===t))}t.TERM_TYPES=["NamedNode","BlankNode","Literal","Variable","DefaultGraph","Quad"],t.uniqTerms=function(e){const t={};return e.filter((e=>{const r=(0,n.termToString)(e);return!(r in t)&&(t[r]=!0)}))},t.getTermsOfType=i,t.getNamedNodes=function(e){return i(e,"NamedNode")},t.getBlankNodes=function(e){return i(e,"BlankNode")},t.getLiterals=function(e){return i(e,"Literal")},t.getVariables=function(e){return i(e,"Variable")},t.getDefaultGraphs=function(e){return i(e,"DefaultGraph")},t.getQuads=function(e){return i(e,"Quad")}},69749:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92710),t),i(r(40972),t),i(r(39479),t),i(r(14465),t),i(r(5213),t),i(r(6429),t)},92710:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},40972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},39479:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},14465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfaParser=void 0;const n=r(78659),i=r(19198),o=r(55180),a=r(10532),s=r(5213),c=r(6429);class u extends i.Transform{constructor(e){super({readableObjectMode:!0}),this.activeTagStack=[],e=e||{},this.options=e,this.util=new c.Util(e.dataFactory,e.baseIRI),this.defaultGraph=e.defaultGraph||this.util.dataFactory.defaultGraph();const t=e.contentType?c.Util.contentTypeToProfile(e.contentType):e.profile||"";this.features=e.features||s.RDFA_FEATURES[t],this.htmlParseListener=e.htmlParseListener,this.rdfaPatterns=this.features.copyRdfaPatterns?{}:null,this.pendingRdfaPatternCopies=this.features.copyRdfaPatterns?{}:null,this.parser=this.initializeParser("xml"===t),this.activeTagStack.push({incompleteTriples:[],inlist:!1,language:e.language,listMapping:{},listMappingLocal:{},name:"",prefixesAll:Object.assign(Object.assign({},a["@context"]),this.features.xhtmlInitialContext?o["@context"]:{}),prefixesCustom:{},skipElement:!1,vocab:e.vocab})}import(e){const t=new i.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new u(this.options));return r}_transform(e,t,r){this.parser.write(e.toString()),r()}_flush(e){this.parser.end(),e()}onTagOpen(e,t){let r=this.activeTagStack.length-1;for(;r>0&&this.activeTagStack[r].skipElement;)r--;let n=this.activeTagStack[r];r!==this.activeTagStack.length-1&&(n=Object.assign(Object.assign({},n),{language:this.activeTagStack[this.activeTagStack.length-1].language,prefixesAll:this.activeTagStack[this.activeTagStack.length-1].prefixesAll,prefixesCustom:this.activeTagStack[this.activeTagStack.length-1].prefixesCustom,vocab:this.activeTagStack[this.activeTagStack.length-1].vocab}));const i={collectChildTags:n.collectChildTags,incompleteTriples:[],inlist:"inlist"in t,listMapping:[],listMappingLocal:n.listMapping,localBaseIRI:n.localBaseIRI,name:e,prefixesAll:null,prefixesCustom:null,skipElement:!1};if(this.activeTagStack.push(i),i.collectChildTags){for(const e of Object.keys(n.prefixesCustom).sort()){const r=n.prefixesCustom[e],i=""===e?"xmlns":"xmlns:"+e;i in t||(t[i]=r)}const r=Object.keys(t).map((e=>`${e}="${t[e]}"`)).join(" ");if(i.text=[`<${e}${r?" "+r:""}>`],this.features.skipHandlingXmlLiteralChildren)return}let o,a,s,u=!0,l=!0;if(this.features.onlyAllowUriRelRevIfProperty&&("property"in t&&"rel"in t&&(u=!1,t.rel.indexOf(":")<0&&delete t.rel),"property"in t&&"rev"in t&&(l=!1,t.rev.indexOf(":")<0&&delete t.rev)),this.features.copyRdfaPatterns){if(n.collectedPatternTag){const r={attributes:t,children:[],name:e,referenced:!1,rootPattern:!1,text:[]};return n.collectedPatternTag.children.push(r),void(i.collectedPatternTag=r)}if("rdfa:Pattern"===t.typeof)return void(i.collectedPatternTag={attributes:t,children:[],name:e,parentTag:n,referenced:!1,rootPattern:!0,text:[]});if("rdfa:copy"===t.property){const e=t.resource||t.href||t.src;return void(this.rdfaPatterns[e]?this.emitPatternCopy(n,this.rdfaPatterns[e],e):(this.pendingRdfaPatternCopies[e]||(this.pendingRdfaPatternCopies[e]=[]),this.pendingRdfaPatternCopies[e].push(n)))}}if(this.features.baseTag&&"base"===e&&t.href&&(this.util.baseIRI=this.util.getBaseIRI(t.href)),this.features.xmlBase&&t["xml:base"]&&(i.localBaseIRI=this.util.getBaseIRI(t["xml:base"])),this.features.timeTag&&"time"===e&&!t.datatype&&(i.interpretObjectAsTime=!0),"vocab"in t?t.vocab?(i.vocab=t.vocab,this.emitTriple(this.util.getBaseIriTerm(i),this.util.dataFactory.namedNode(c.Util.RDFA+"usesVocabulary"),this.util.dataFactory.namedNode(i.vocab))):i.vocab=this.activeTagStack[0].vocab:i.vocab=n.vocab,i.prefixesCustom=c.Util.parsePrefixes(t,n.prefixesCustom,this.features.xmlnsPrefixMappings),i.prefixesAll=Object.keys(i.prefixesCustom).length>0?Object.assign(Object.assign({},n.prefixesAll),i.prefixesCustom):n.prefixesAll,this.features.roleAttribute&&t.role){const e=t.id?this.util.createIri("#"+t.id,i,!1,!1,!1):this.util.createBlankNode(),r=i.vocab;i.vocab="http://www.w3.org/1999/xhtml/vocab#";for(const r of this.util.createVocabIris(t.role,i,!0,!1))this.emitTriple(e,this.util.dataFactory.namedNode("http://www.w3.org/1999/xhtml/vocab#role"),r);i.vocab=r}"xml:lang"in t||this.features.langAttribute&&"lang"in t?i.language=t["xml:lang"]||t.lang:i.language=n.language;const d=2===this.activeTagStack.length;if("rel"in t||"rev"in t?("about"in t?(o=this.util.createIri(t.about,i,!1,!0,!0),i.explicitNewSubject=!!o,"typeof"in t&&(s=o)):d?o=!0:n.object&&(o=n.object),"resource"in t&&(a=this.util.createIri(t.resource,i,!1,!0,!0)),a||("href"in t||"src"in t?a=this.util.createIri(t.href||t.src,i,!1,!1,!0):!("typeof"in t)||"about"in t||this.isInheritSubjectInHeadBody(e)||(a=this.util.createBlankNode())),"typeof"in t&&!("about"in t)&&(s=this.isInheritSubjectInHeadBody(e)?o:a)):!("property"in t)||"content"in t||"datatype"in t?(("about"in t||"resource"in t)&&(o=this.util.createIri(t.about||t.resource,i,!1,!0,!0),i.explicitNewSubject=!!o),o||!("href"in t)&&!("src"in t)||(o=this.util.createIri(t.href||t.src,i,!1,!1,!0),i.explicitNewSubject=!!o),o||(d?o=!0:this.isInheritSubjectInHeadBody(e)?o=n.object:"typeof"in t?(o=this.util.createBlankNode(),i.explicitNewSubject=!0):n.object&&(o=n.object,"property"in t||(i.skipElement=!0))),"typeof"in t&&(s=o)):("about"in t?(o=this.util.createIri(t.about,i,!1,!0,!0),i.explicitNewSubject=!!o):d?o=!0:n.object&&(o=n.object),"typeof"in t&&("about"in t&&(s=this.util.createIri(t.about,i,!1,!0,!0)),!s&&d&&(s=!0),!s&&"resource"in t&&(s=this.util.createIri(t.resource,i,!1,!0,!0)),s||!("href"in t)&&!("src"in t)||(s=this.util.createIri(t.href||t.src,i,!1,!1,!0)),!s&&this.isInheritSubjectInHeadBody(e)&&(s=o),s||(s=this.util.createBlankNode()),a=s)),s)for(const e of this.util.createVocabIris(t.typeof,i,!0,!0))this.emitTriple(this.util.getResourceOrBaseIri(s,i),this.util.dataFactory.namedNode(c.Util.RDF+"type"),e);if(o&&(i.listMapping={}),a){if("rel"in t&&"inlist"in t)for(const e of this.util.createVocabIris(t.rel,i,u,!1))this.addListMapping(i,o,e,a);if(!("rel"in t)||!("inlist"in t)){if("rel"in t)for(const e of this.util.createVocabIris(t.rel,i,u,!1))this.emitTriple(this.util.getResourceOrBaseIri(o,i),e,this.util.getResourceOrBaseIri(a,i));if("rev"in t)for(const e of this.util.createVocabIris(t.rev,i,l,!1))this.emitTriple(this.util.getResourceOrBaseIri(a,i),e,this.util.getResourceOrBaseIri(o,i))}}if(!a){if("rel"in t)if("inlist"in t)for(const e of this.util.createVocabIris(t.rel,i,u,!1))this.addListMapping(i,o,e,null),i.incompleteTriples.push({predicate:e,reverse:!1,list:!0});else for(const e of this.util.createVocabIris(t.rel,i,u,!1))i.incompleteTriples.push({predicate:e,reverse:!1});if("rev"in t)for(const e of this.util.createVocabIris(t.rev,i,l,!1))i.incompleteTriples.push({predicate:e,reverse:!0});i.incompleteTriples.length>0&&(a=this.util.createBlankNode())}if("property"in t){let e;if(i.predicates=this.util.createVocabIris(t.property,i,!0,!1),"datatype"in t?(i.datatype=this.util.createIri(t.datatype,i,!0,!0,!1),i.datatype&&(i.datatype.value===c.Util.RDF+"XMLLiteral"||this.features.htmlDatatype&&i.datatype.value===c.Util.RDF+"HTML")&&(i.collectChildTags=!0)):("rev"in t||"rel"in t||"content"in t||("resource"in t&&(e=this.util.createIri(t.resource,i,!1,!0,!0)),!e&&"href"in t&&(e=this.util.createIri(t.href,i,!1,!1,!0)),!e&&"src"in t&&(e=this.util.createIri(t.src,i,!1,!1,!0))),"typeof"in t&&!("about"in t)&&(e=s)),"content"in t){const e=this.util.createLiteral(t.content,i);if("inlist"in t)for(const t of i.predicates)this.addListMapping(i,o,t,e);else{const t=this.util.getResourceOrBaseIri(o,i);for(const r of i.predicates)this.emitTriple(t,r,e)}i.predicates=null}else if(this.features.datetimeAttribute&&"datetime"in t){i.interpretObjectAsTime=!0;const e=this.util.createLiteral(t.datetime,i);if("inlist"in t)for(const t of i.predicates)this.addListMapping(i,o,t,e);else{const t=this.util.getResourceOrBaseIri(o,i);for(const r of i.predicates)this.emitTriple(t,r,e)}i.predicates=null}else if(e){const r=this.util.getResourceOrBaseIri(e,i);if("inlist"in t)for(const e of i.predicates)this.addListMapping(i,o,e,r);else{const e=this.util.getResourceOrBaseIri(o,i);for(const t of i.predicates)this.emitTriple(e,t,r)}i.predicates=null}}let p=!1;if(!i.skipElement&&o&&n.incompleteTriples.length>0){p=!0;const e=this.util.getResourceOrBaseIri(n.subject,i),t=this.util.getResourceOrBaseIri(o,i);for(const r of n.incompleteTriples)if(r.reverse)this.emitTriple(t,r.predicate,e);else if(r.list){let e=null;for(let t=this.activeTagStack.length-1;t>=0;t--)if(this.activeTagStack[t].inlist){e=this.activeTagStack[t];break}this.addListMapping(e,o,r.predicate,t)}else this.emitTriple(e,r.predicate,t)}!p&&n.incompleteTriples.length>0&&(i.incompleteTriples=i.incompleteTriples.concat(n.incompleteTriples)),i.subject=o||n.subject,i.object=a||o}onText(e){const t=this.activeTagStack[this.activeTagStack.length-1];this.features.copyRdfaPatterns&&t.collectedPatternTag?t.collectedPatternTag.text.push(e):(t.text||(t.text=[]),t.text.push(e))}onTagClose(){const e=this.activeTagStack[this.activeTagStack.length-1],t=this.activeTagStack[this.activeTagStack.length-2];if(!(e.collectChildTags&&t.collectChildTags&&this.features.skipHandlingXmlLiteralChildren)){if(this.features.copyRdfaPatterns&&e.collectedPatternTag&&e.collectedPatternTag.rootPattern){const t=e.collectedPatternTag.attributes.resource;if(delete e.collectedPatternTag.attributes.resource,delete e.collectedPatternTag.attributes.typeof,this.rdfaPatterns[t]=e.collectedPatternTag,this.pendingRdfaPatternCopies[t]){for(const r of this.pendingRdfaPatternCopies[t])this.emitPatternCopy(r,e.collectedPatternTag,t);delete this.pendingRdfaPatternCopies[t]}return void this.activeTagStack.pop()}if(e.predicates){const r=this.util.getResourceOrBaseIri(e.subject,e);let n=e.text||[];e.collectChildTags&&t.collectChildTags&&(n=n.slice(1));const i=this.util.createLiteral(n.join(""),e);if(e.inlist)for(const t of e.predicates)this.addListMapping(e,r,t,i);else for(const t of e.predicates)this.emitTriple(r,t,i);t.predicates||(e.text=null)}if(e.object&&Object.keys(e.listMapping).length>0){const t=this.util.getResourceOrBaseIri(e.object,e);for(const r in e.listMapping){const n=this.util.dataFactory.namedNode(r),i=e.listMapping[r];if(i.length>0){const r=i.map((()=>this.util.createBlankNode()));for(let t=0;t`),e.text&&t&&(t.text?t.text=t.text.concat(e.text):t.text=e.text)}onEnd(){if(this.features.copyRdfaPatterns){this.features.copyRdfaPatterns=!1;for(const e in this.rdfaPatterns){const t=this.rdfaPatterns[e];t.referenced||(t.attributes.typeof="rdfa:Pattern",t.attributes.resource=e,this.emitPatternCopy(t.parentTag,t,e),t.referenced=!1,delete t.attributes.typeof,delete t.attributes.resource)}for(const e in this.pendingRdfaPatternCopies)for(const t of this.pendingRdfaPatternCopies[e])this.activeTagStack.push(t),this.onTagOpen("link",{property:"rdfa:copy",href:e}),this.onTagClose(),this.activeTagStack.pop();this.features.copyRdfaPatterns=!0}}isInheritSubjectInHeadBody(e){return this.features.inheritSubjectInHeadBody&&("head"===e||"body"===e)}addListMapping(e,t,r,n){if(e.explicitNewSubject){const i=this.util.createBlankNode();this.emitTriple(this.util.getResourceOrBaseIri(t,e),r,i),this.emitTriple(i,this.util.dataFactory.namedNode(c.Util.RDF+"first"),this.util.getResourceOrBaseIri(n,e)),this.emitTriple(i,this.util.dataFactory.namedNode(c.Util.RDF+"rest"),this.util.dataFactory.namedNode(c.Util.RDF+"nil"))}else{let t=e.listMappingLocal[r.value];t||(e.listMappingLocal[r.value]=t=[]),n&&t.push(n)}}emitTriple(e,t,r){"NamedNode"===e.termType&&e.value.indexOf(":")<0||"NamedNode"===t.termType&&t.value.indexOf(":")<0||"NamedNode"===r.termType&&r.value.indexOf(":")<0||this.push(this.util.dataFactory.quad(e,t,r,this.defaultGraph))}emitPatternCopy(e,t,r){if(this.activeTagStack.push(e),t.referenced=!0,t.constructedBlankNodes){let e=0;this.util.blankNodeFactory=()=>t.constructedBlankNodes[e++]}else t.constructedBlankNodes=[],this.util.blankNodeFactory=()=>{const e=this.util.dataFactory.blankNode();return t.constructedBlankNodes.push(e),e};this.emitPatternCopyAbsolute(t,!0,r),this.util.blankNodeFactory=null,this.activeTagStack.pop()}emitPatternCopyAbsolute(e,t,r){if(t||"rdfa:copy"!==e.attributes.property||e.attributes.href!==r){this.onTagOpen(e.name,e.attributes);for(const t of e.text)this.onText(t);for(const t of e.children)this.emitPatternCopyAbsolute(t,!1,r);this.onTagClose()}}initializeParser(e){return new n.Parser({onclosetag:()=>{try{this.onTagClose(),this.htmlParseListener&&this.htmlParseListener.onTagClose()}catch(e){this.emit("error",e)}},onend:()=>{try{this.onEnd(),this.htmlParseListener&&this.htmlParseListener.onEnd()}catch(e){this.emit("error",e)}},onopentag:(e,t)=>{try{this.onTagOpen(e,t),this.htmlParseListener&&this.htmlParseListener.onTagOpen(e,t)}catch(e){this.emit("error",e)}},ontext:e=>{try{this.onText(e),this.htmlParseListener&&this.htmlParseListener.onText(e)}catch(e){this.emit("error",e)}}},{decodeEntities:!0,recognizeSelfClosing:!0,xmlMode:e})}}t.RdfaParser=u},5213:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RDFA_CONTENTTYPES=t.RDFA_FEATURES=void 0,t.RDFA_FEATURES={"":{baseTag:!0,xmlBase:!0,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!0,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!0,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!0,roleAttribute:!0},core:{baseTag:!1,xmlBase:!1,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!1,datetimeAttribute:!1,timeTag:!1,htmlDatatype:!1,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!1,roleAttribute:!1},html:{baseTag:!0,xmlBase:!1,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!0,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!0,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!1,roleAttribute:!0},xhtml:{baseTag:!0,xmlBase:!1,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!0,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!0,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!0,roleAttribute:!0},xml:{baseTag:!1,xmlBase:!0,langAttribute:!0,onlyAllowUriRelRevIfProperty:!1,inheritSubjectInHeadBody:!1,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!1,copyRdfaPatterns:!1,xmlnsPrefixMappings:!0,xhtmlInitialContext:!1,roleAttribute:!0}},t.RDFA_CONTENTTYPES={"text/html":"html","application/xhtml+xml":"xhtml","application/xml":"xml","text/xml":"xml","image/svg+xml":"xml"}},6429:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(70742),i=r(5213),o=r(47793);class a{constructor(e,t){this.dataFactory=e||new o.DataFactory,this.baseIRI=this.dataFactory.namedNode(t||""),this.baseIRIDocument=this.baseIRI}static parsePrefixes(e,t,r){const n={};if(r)for(const t in e)t.startsWith("xmlns")&&(n[t.substr(6)]=e[t]);if(e.prefix||Object.keys(n).length>0){const r=Object.assign(Object.assign({},t),n);if(e.prefix){let t;for(;t=a.PREFIX_REGEX.exec(e.prefix);)r[t[1]]=t[2]}return r}return t}static expandPrefixedTerm(e,t){const r=e.indexOf(":");let n,i;if(r>=0&&(n=e.substr(0,r),i=e.substr(r+1)),""===n)return"http://www.w3.org/1999/xhtml/vocab#"+i;if(n){const e=t.prefixesAll[n];if(e)return e+i}if(e){const r=t.prefixesAll[e.toLocaleLowerCase()];if(r)return r}return e}static isValidIri(e){return a.IRI_REGEX.test(e)}static contentTypeToProfile(e){return i.RDFA_CONTENTTYPES[e]||""}getBaseIRI(e){let t=e;const r=t.indexOf("#");return r>=0&&(t=t.substr(0,r)),this.dataFactory.namedNode((0,n.resolve)(t,this.baseIRI.value))}getResourceOrBaseIri(e,t){return!0===e?this.getBaseIriTerm(t):e}getBaseIriTerm(e){return e.localBaseIRI||this.baseIRI}createVocabIris(e,t,r,n){return e.split(/\s+/).filter((e=>e&&(r||e.indexOf(":")>=0))).map((e=>this.createIri(e,t,!0,!0,n))).filter((e=>null!=e))}createLiteral(e,t){if(t.interpretObjectAsTime&&!t.datatype)for(const r of a.TIME_REGEXES)if(e.match(r.regex)){t.datatype=this.dataFactory.namedNode(a.XSD+r.type);break}return this.dataFactory.literal(e,t.datatype||t.language)}createBlankNode(){return this.blankNodeFactory?this.blankNodeFactory():this.dataFactory.blankNode()}createIri(e,t,r,i,o){if(e=e||"",!i)return r||(e=(0,n.resolve)(e,this.getBaseIriTerm(t).value)),a.isValidIri(e)?this.dataFactory.namedNode(e):null;if(e.length>0&&"["===e[0]&&"]"===e[e.length-1]&&(e=e.substr(1,e.length-2)).indexOf(":")<0)return null;if(e.startsWith("_:"))return o?this.dataFactory.blankNode(e.substr(2)||"b_identity"):null;if(r&&t.vocab&&e.indexOf(":")<0)return this.dataFactory.namedNode(t.vocab+e);let s=a.expandPrefixedTerm(e,t);return r?e!==s&&(s=(0,n.resolve)(s,this.baseIRIDocument.value)):s=(0,n.resolve)(s,this.getBaseIriTerm(t).value),a.isValidIri(s)?this.dataFactory.namedNode(s):null}}t.Util=a,a.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",a.XSD="http://www.w3.org/2001/XMLSchema#",a.RDFA="http://www.w3.org/ns/rdfa#",a.PREFIX_REGEX=/\s*([^:\s]*)*:\s*([^\s]*)*\s*/g,a.TIME_REGEXES=[{regex:/^-?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9])?S)?)?$/,type:"duration"},{regex:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,type:"dateTime"},{regex:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,type:"date"},{regex:/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,type:"time"},{regex:/^[0-9]+-[0-9][0-9]$/,type:"gYearMonth"},{regex:/^[0-9]+$/,type:"gYear"}],a.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`]*$/},75611:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(68225),t)},5916:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseError=void 0;class r extends Error{constructor(e,t){const r=e.saxParser;super(e.trackPosition?`Line ${r.line} column ${r.column+1}: ${t}`:t)}}t.ParseError=r},68225:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseType=t.RdfXmlParser=void 0;const n=r(70742),i=r(55201),o=r(19198),a=r(5916),s=r(47793),c=r(17024);class u extends o.Transform{constructor(e){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},e&&(Object.assign(this,e),this.options=e),this.dataFactory||(this.dataFactory=new s.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),!1!==this.validateUri&&(this.validateUri=!0),this.iriValidationStrategy||(this.iriValidationStrategy=this.validateUri?c.IriValidationStrategy.Pragmatic:c.IriValidationStrategy.None),this.saxParser=new i.SaxesParser({xmlns:!0,position:this.trackPosition}),this.attachSaxListeners()}import(e){const t=new o.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new u(this.options));return r}_transform(e,t,r){try{this.saxParser.write(e)}catch(e){return r(e)}r()}newParseError(e){return new a.ParseError(this,e)}valueToUri(e,t){return this.uriToNamedNode((0,n.resolve)(e,t.baseIRI))}uriToNamedNode(e){const t=(0,c.validateIri)(e,this.iriValidationStrategy);if(t instanceof Error)throw this.newParseError(t.message);return this.dataFactory.namedNode(e)}validateNcname(e){if(!u.NCNAME_MATCHER.test(e))throw this.newParseError(`Not a valid NCName: ${e}`)}attachSaxListeners(){this.saxParser.on("error",(e=>this.emit("error",e))),this.saxParser.on("opentag",this.onTag.bind(this)),this.saxParser.on("text",this.onText.bind(this)),this.saxParser.on("cdata",this.onText.bind(this)),this.saxParser.on("closetag",this.onCloseTag.bind(this)),this.saxParser.on("doctype",this.onDoctype.bind(this))}onTag(e){const t=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let r=l.RESOURCE;if(t&&(t.hadChildren=!0,r=t.childrenParseType),t&&t.childrenStringTags){const r=e.name;let n="";for(const t in e.attributes)n+=` ${t}="${e.attributes[t].value}"`;const i=`<${r}${n}>`;t.childrenStringTags.push(i);const o={childrenStringTags:t.childrenStringTags};return o.childrenStringEmitClosingTag=``,void this.activeTagStack.push(o)}const n={};t?(n.language=t.language,n.baseIRI=t.baseIRI):n.baseIRI=this.baseIRI,this.activeTagStack.push(n),r===l.RESOURCE?this.onTagResource(e,n,t,!t):this.onTagProperty(e,n,t)}onTagResource(e,t,r,i){t.childrenParseType=l.PROPERTY;let o=!0;if(e.uri===u.RDF){if(!i&&u.FORBIDDEN_NODE_ELEMENTS.indexOf(e.local)>=0)throw this.newParseError(`Illegal node element name: ${e.local}`);switch(e.local){case"RDF":t.childrenParseType=l.RESOURCE;case"Description":o=!1}}const a=[],s=[];let c=null,d=!1,p=!1,h=null;for(const i in e.attributes){const o=e.attributes[i];if(r&&o.uri===u.RDF)switch(o.local){case"about":if(c)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${o.value} and ${c} where found.`);c=o.value;continue;case"ID":if(c)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${o.value} and ${c} where found.`);this.validateNcname(o.value),c="#"+o.value,d=!0;continue;case"nodeID":if(c)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${o.value} and ${c} where found.`);this.validateNcname(o.value),c=o.value,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":h=o.value;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(o.uri===u.XML){if("lang"===o.local){t.language=""===o.value?null:o.value.toLowerCase();continue}if("base"===o.local){t.baseIRI=(0,n.resolve)(o.value,t.baseIRI);continue}}"xml"===o.prefix||"xmlns"===o.prefix||""===o.prefix&&"xmlns"===o.local||!o.uri||(a.push(this.uriToNamedNode(o.uri+o.local)),s.push(o.value))}if(null!==c&&(t.subject=p?this.dataFactory.blankNode(c):this.valueToUri(c,t),d&&this.claimNodeId(t.subject)),t.subject||(t.subject=this.dataFactory.blankNode()),o){const n=this.uriToNamedNode(e.uri+e.local);this.emitTriple(t.subject,this.dataFactory.namedNode(u.RDF+"type"),n,r?r.reifiedStatementId:null)}if(r){if(r.predicate)if(r.childrenCollectionSubject){const e=this.dataFactory.blankNode();this.emitTriple(r.childrenCollectionSubject,r.childrenCollectionPredicate,e,r.reifiedStatementId),this.emitTriple(e,this.dataFactory.namedNode(u.RDF+"first"),t.subject,t.reifiedStatementId),r.childrenCollectionSubject=e,r.childrenCollectionPredicate=this.dataFactory.namedNode(u.RDF+"rest")}else{this.emitTriple(r.subject,r.predicate,t.subject,r.reifiedStatementId);for(let e=0;e=0)throw this.newParseError(`Illegal property element name: ${e.local}`);t.predicateSubPredicates=[],t.predicateSubObjects=[];let n=!1,i=!1,o=null,a=!0;const s=[],c=[];for(const r in e.attributes){const d=e.attributes[r];if(d.uri===u.RDF)switch(d.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${d.value}) and rdf:nodeID (${o}).`);if(n)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${d.value})`);t.hadChildren=!0,o=d.value,a=!1;continue;case"datatype":if(i)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${d.value}).`);if(n)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${d.value})`);t.datatype=this.valueToUri(d.value,t);continue;case"nodeID":if(i)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${d.value}).`);if(t.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${d.value}).`);if(n)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${d.value})`);this.validateNcname(d.value),t.hadChildren=!0,o=d.value,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(i)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(t.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${t.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===d.value){n=!0,t.childrenParseType=l.PROPERTY;const e=this.dataFactory.blankNode();this.emitTriple(t.subject,t.predicate,e,t.reifiedStatementId),t.subject=e,t.predicate=null}else"Collection"===d.value?(n=!0,t.hadChildren=!0,t.childrenCollectionSubject=t.subject,t.childrenCollectionPredicate=t.predicate,a=!1):"Literal"===d.value&&(n=!0,t.childrenTagsToString=!0,t.childrenStringTags=[]);continue;case"ID":this.validateNcname(d.value),t.reifiedStatementId=this.valueToUri("#"+d.value,t),this.claimNodeId(t.reifiedStatementId);continue}else if(d.uri===u.XML&&"lang"===d.local){t.language=""===d.value?null:d.value.toLowerCase();continue}if("xml"!==d.prefix&&"xmlns"!==d.prefix&&(""!==d.prefix||"xmlns"!==d.local)&&d.uri){if(n||t.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${d.value}`);t.hadChildren=!0,i=!0,s.push(this.uriToNamedNode(d.uri+d.local)),c.push(this.dataFactory.literal(d.value,t.datatype||t.language))}}if(null!==o){const e=t.subject;t.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,t),this.emitTriple(e,t.predicate,t.subject,t.reifiedStatementId);for(let e=0;e/g,((e,t,r)=>(this.saxParser.ENTITIES[t]=r,"")))}}var l;t.RdfXmlParser=u,u.MIME_TYPE="application/rdf+xml",u.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",u.XML="http://www.w3.org/XML/1998/namespace",u.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],u.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],u.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,function(e){e[e.RESOURCE=0]="RESOURCE",e[e.PROPERTY=1]="PROPERTY"}(l||(t.ParseType=l={}))},35276:e=>{e.exports=function(t){if(!e.exports.WEBSTREAM_SUPPORT)throw new Error("No web ReadableStream support");var r=!1,n={};return new ReadableStream({start:function(e){for(var i in n.data=o,n.end=o,n.end=a,n.close=a,n.error=a,n)t.on(i,n[i]);function o(n){r||(e.enqueue(n),t.pause())}function a(i){if(!r){for(var o in r=!0,n)t.removeListener(o,n[o]);i?e.error(i):e.close()}}t.pause()},pull:function(){r||t.resume()},cancel:function(){for(var e in r=!0,n)t.removeListener(e,n[e]);t.push(null),t.pause(),t.destroy?t.destroy():t.close&&t.close()}})},e.exports.WEBSTREAM_SUPPORT="undefined"!=typeof ReadableStream},4147:(e,t,r)=>{"use strict";const{SymbolDispose:n}=r(24134),{AbortError:i,codes:o}=r(76371),{isNodeStream:a,isWebStream:s,kControllerErrorFunction:c}=r(16115),u=r(86238),{ERR_INVALID_ARG_TYPE:l}=o;let d;e.exports.addAbortSignal=function(t,r){if(((e,t)=>{if("object"!=typeof e||!("aborted"in e))throw new l("signal","AbortSignal",e)})(t),!a(r)&&!s(r))throw new l("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!=typeof e||!("aborted"in e))return t;const o=a(t)?()=>{t.destroy(new i(void 0,{cause:e.reason}))}:()=>{t[c](new i(void 0,{cause:e.reason}))};if(e.aborted)o();else{d=d||r(57760).addAbortListener;const i=d(e,o);u(t,i[n])}return t}},80345:(e,t,r)=>{"use strict";const{StringPrototypeSlice:n,SymbolIterator:i,TypedArrayPrototypeSet:o,Uint8Array:a}=r(24134),{Buffer:s}=r(48287),{inspect:c}=r(57760);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;for(;null!==(t=t.next);)r+=e+t.data;return r}concat(e){if(0===this.length)return s.alloc(0);const t=s.allocUnsafe(e>>>0);let r=this.head,n=0;for(;r;)o(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(eo.length)){e===o.length?(t+=o,++i,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(o,0,e),this.head=r,r.data=n(o,e));break}t+=o,e-=o.length,++i}while(null!==(r=r.next));return this.length-=i,t}_getBuffer(e){const t=s.allocUnsafe(e),r=e;let n=this.head,i=0;do{const s=n.data;if(!(e>s.length)){e===s.length?(o(t,s,r-e),++i,n.next?this.head=n.next:this.head=this.tail=null):(o(t,new a(s.buffer,s.byteOffset,e),r-e),this.head=n,n.data=s.slice(e));break}o(t,s,r-e),e-=s.length,++i}while(null!==(n=n.next));return this.length-=i,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return c(this,{...t,depth:0,customInspect:!1})}}},47830:(e,t,r)=>{"use strict";const{pipeline:n}=r(57758),i=r(93370),{destroyer:o}=r(75896),{isNodeStream:a,isReadable:s,isWritable:c,isWebStream:u,isTransformStream:l,isWritableStream:d,isReadableStream:p}=r(16115),{AbortError:h,codes:{ERR_INVALID_ARG_VALUE:f,ERR_MISSING_ARGS:y}}=r(76371),g=r(86238);e.exports=function(...e){if(0===e.length)throw new y("streams");if(1===e.length)return i.from(e[0]);const t=[...e];if("function"==typeof e[0]&&(e[0]=i.from(e[0])),"function"==typeof e[e.length-1]){const t=e.length-1;e[t]=i.from(e[t])}for(let r=0;r0&&!(c(e[r])||d(e[r])||l(e[r])))throw new f(`streams[${r}]`,t[r],"must be writable")}let r,m,b,_,v;const w=e[0],S=n(e,(function(e){const t=_;_=null,t?t(e):e?v.destroy(e):T||E||v.destroy()})),E=!!(c(w)||d(w)||l(w)),T=!!(s(S)||p(S)||l(S));if(v=new i({writableObjectMode:!(null==w||!w.writableObjectMode),readableObjectMode:!(null==S||!S.readableObjectMode),writable:E,readable:T}),E){if(a(w))v._write=function(e,t,n){w.write(e,t)?n():r=n},v._final=function(e){w.end(),m=e},w.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(u(w)){const e=(l(w)?w.writable:w).getWriter();v._write=async function(t,r,n){try{await e.ready,e.write(t).catch((()=>{})),n()}catch(e){n(e)}},v._final=async function(t){try{await e.ready,e.close().catch((()=>{})),m=t}catch(e){t(e)}}}const e=l(S)?S.readable:S;g(e,(()=>{if(m){const e=m;m=null,e()}}))}if(T)if(a(S))S.on("readable",(function(){if(b){const e=b;b=null,e()}})),S.on("end",(function(){v.push(null)})),v._read=function(){for(;;){const e=S.read();if(null===e)return void(b=v._read);if(!v.push(e))return}};else if(u(S)){const e=(l(S)?S.readable:S).getReader();v._read=async function(){for(;;)try{const{value:t,done:r}=await e.read();if(!v.push(t))return;if(r)return void v.push(null)}catch{return}}}return v._destroy=function(e,t){e||null===_||(e=new h),b=null,r=null,m=null,null===_?t(e):(_=t,a(S)&&o(S,e))},v}},75896:(e,t,r)=>{"use strict";const n=r(65606),{aggregateTwoErrors:i,codes:{ERR_MULTIPLE_CALLBACK:o},AbortError:a}=r(76371),{Symbol:s}=r(24134),{kIsDestroyed:c,isDestroyed:u,isFinished:l,isServerRequest:d}=r(16115),p=s("kDestroy"),h=s("kConstruct");function f(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function y(e,t,r){let i=!1;function o(t){if(i)return;i=!0;const o=e._readableState,a=e._writableState;f(t,a,o),a&&(a.closed=!0),o&&(o.closed=!0),"function"==typeof r&&r(t),t?n.nextTick(g,e,t):n.nextTick(m,e)}try{e._destroy(t||null,o)}catch(t){o(t)}}function g(e,t){b(e,t),m(e)}function m(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!=r&&r.emitClose||null!=t&&t.emitClose)&&e.emit("close")}function b(e,t){const r=e._readableState,n=e._writableState;null!=n&&n.errorEmitted||null!=r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function _(e,t,r){const i=e._readableState,o=e._writableState;if(null!=o&&o.destroyed||null!=i&&i.destroyed)return this;null!=i&&i.autoDestroy||null!=o&&o.autoDestroy?e.destroy(t):t&&(t.stack,o&&!o.errored&&(o.errored=t),i&&!i.errored&&(i.errored=t),r?n.nextTick(b,e,t):b(e,t))}function v(e){let t=!1;function r(r){if(t)return void _(e,null!=r?r:new o);t=!0;const i=e._readableState,a=e._writableState,s=a||i;i&&(i.constructed=!0),a&&(a.constructed=!0),s.destroyed?e.emit(p,r):r?_(e,r,!0):n.nextTick(w,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(e){n.nextTick(r,e)}}function w(e){e.emit(h)}function S(e){return(null==e?void 0:e.setHeader)&&"function"==typeof e.abort}function E(e){e.emit("close")}function T(e,t){e.emit("error",t),n.nextTick(E,e)}e.exports={construct:function(e,t){if("function"!=typeof e._construct)return;const r=e._readableState,i=e._writableState;r&&(r.constructed=!1),i&&(i.constructed=!1),e.once(h,t),e.listenerCount(h)>1||n.nextTick(v,e)},destroyer:function(e,t){e&&!u(e)&&(t||l(e)||(t=new a),d(e)?(e.socket=null,e.destroy(t)):S(e)?e.abort():S(e.req)?e.req.abort():"function"==typeof e.destroy?e.destroy(t):"function"==typeof e.close?e.close():t?n.nextTick(T,e,t):n.nextTick(E,e),e.destroyed||(e[c]=!0))},destroy:function(e,t){const r=this._readableState,n=this._writableState,o=n||r;return null!=n&&n.destroyed||null!=r&&r.destroyed?("function"==typeof t&&t(),this):(f(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),o.constructed?y(this,e,t):this.once(p,(function(r){y(this,i(r,e),t)})),this)},undestroy:function(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)},errorOrDestroy:_}},93370:(e,t,r)=>{"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:i,ObjectKeys:o,ObjectSetPrototypeOf:a}=r(24134);e.exports=u;const s=r(57576),c=r(78584);a(u.prototype,s.prototype),a(u,s);{const e=o(c.prototype);for(let t=0;t{const n=r(65606),i=r(48287),{isReadable:o,isWritable:a,isIterable:s,isNodeStream:c,isReadableNodeStream:u,isWritableNodeStream:l,isDuplexNodeStream:d,isReadableStream:p,isWritableStream:h}=r(16115),f=r(86238),{AbortError:y,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:m}}=r(76371),{destroyer:b}=r(75896),_=r(93370),v=r(57576),w=r(78584),{createDeferredPromise:S}=r(57760),E=r(96532),T=globalThis.Blob||i.Blob,O=void 0!==T?function(e){return e instanceof T}:function(e){return!1},x=globalThis.AbortController||r(25568).AbortController,{FunctionPrototypeCall:A}=r(24134);class I extends _{constructor(e){super(e),!1===(null==e?void 0:e.readable)&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),!1===(null==e?void 0:e.writable)&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}}function R(e){const t=e.readable&&"function"!=typeof e.readable.read?v.wrap(e.readable):e.readable,r=e.writable;let n,i,s,c,u,l=!!o(t),d=!!a(r);function p(e){const t=c;c=null,t?t(e):e&&u.destroy(e)}return u=new I({readableObjectMode:!(null==t||!t.readableObjectMode),writableObjectMode:!(null==r||!r.writableObjectMode),readable:l,writable:d}),d&&(f(r,(e=>{d=!1,e&&b(t,e),p(e)})),u._write=function(e,t,i){r.write(e,t)?i():n=i},u._final=function(e){r.end(),i=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(i){const e=i;i=null,e()}}))),l&&(f(t,(e=>{l=!1,e&&b(t,e),p(e)})),t.on("readable",(function(){if(s){const e=s;s=null,e()}})),t.on("end",(function(){u.push(null)})),u._read=function(){for(;;){const e=t.read();if(null===e)return void(s=u._read);if(!u.push(e))return}}),u._destroy=function(e,o){e||null===c||(e=new y),s=null,n=null,i=null,null===c?o(e):(c=o,b(r,e),b(t,e))},u}e.exports=function e(t,r){if(d(t))return t;if(u(t))return R({readable:t});if(l(t))return R({writable:t});if(c(t))return R({writable:!1,readable:!1});if(p(t))return R({readable:v.fromWeb(t)});if(h(t))return R({writable:w.fromWeb(t)});if("function"==typeof t){const{value:e,write:i,final:o,destroy:a}=function(e){let{promise:t,resolve:r}=S();const i=new x,o=i.signal;return{value:e(async function*(){for(;;){const e=t;t=null;const{chunk:i,done:a,cb:s}=await e;if(n.nextTick(s),a)return;if(o.aborted)throw new y(void 0,{cause:o.reason});({promise:t,resolve:r}=S()),yield i}}(),{signal:o}),write(e,t,n){const i=r;r=null,i({chunk:e,done:!1,cb:n})},final(e){const t=r;r=null,t({done:!0,cb:e})},destroy(e,t){i.abort(),t(e)}}}(t);if(s(e))return E(I,e,{objectMode:!0,write:i,final:o,destroy:a});const c=null==e?void 0:e.then;if("function"==typeof c){let t;const r=A(c,e,(e=>{if(null!=e)throw new m("nully","body",e)}),(e=>{b(t,e)}));return t=new I({objectMode:!0,readable:!1,write:i,final(e){o((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new m("Iterable, AsyncIterable or AsyncFunction",r,e)}if(O(t))return e(t.arrayBuffer());if(s(t))return E(I,t,{objectMode:!0,writable:!1});if(p(null==t?void 0:t.readable)&&h(null==t?void 0:t.writable))return I.fromWeb(t);if("object"==typeof(null==t?void 0:t.writable)||"object"==typeof(null==t?void 0:t.readable))return R({readable:null!=t&&t.readable?u(null==t?void 0:t.readable)?null==t?void 0:t.readable:e(t.readable):void 0,writable:null!=t&&t.writable?l(null==t?void 0:t.writable)?null==t?void 0:t.writable:e(t.writable):void 0});const i=null==t?void 0:t.then;if("function"==typeof i){let e;return A(i,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{b(e,t)})),e=new I({objectMode:!0,writable:!1,read(){}})}throw new g(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},86238:(e,t,r)=>{const n=r(65606),{AbortError:i,codes:o}=r(76371),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:s}=o,{kEmptyObject:c,once:u}=r(57760),{validateAbortSignal:l,validateFunction:d,validateObject:p,validateBoolean:h}=r(277),{Promise:f,PromisePrototypeThen:y,SymbolDispose:g}=r(24134),{isClosed:m,isReadable:b,isReadableNodeStream:_,isReadableStream:v,isReadableFinished:w,isReadableErrored:S,isWritable:E,isWritableNodeStream:T,isWritableStream:O,isWritableFinished:x,isWritableErrored:A,isNodeStream:I,willEmitClose:R,kIsClosedPromise:P}=r(16115);let F;const D=()=>{};function N(e,t,o){var h,f;if(2===arguments.length?(o=t,t=c):null==t?t=c:p(t,"options"),d(o,"callback"),l(t.signal,"options.signal"),o=u(o),v(e)||O(e))return function(e,t,o){let a=!1,s=D;if(t.signal)if(s=()=>{a=!0,o.call(e,new i(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(s);else{F=F||r(57760).addAbortListener;const n=F(t.signal,s),i=o;o=u(((...t)=>{n[g](),i.apply(e,t)}))}const c=(...t)=>{a||n.nextTick((()=>o.apply(e,t)))};return y(e[P].promise,c,c),D}(e,t,o);if(!I(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const N=null!==(h=t.readable)&&void 0!==h?h:_(e),j=null!==(f=t.writable)&&void 0!==f?f:T(e),C=e._writableState,M=e._readableState,k=()=>{e.writable||B()};let L=R(e)&&_(e)===N&&T(e)===j,U=x(e,!1);const B=()=>{U=!0,e.destroyed&&(L=!1),(!L||e.readable&&!N)&&(N&&!V||o.call(e))};let V=w(e,!1);const q=()=>{V=!0,e.destroyed&&(L=!1),(!L||e.writable&&!j)&&(j&&!U||o.call(e))},H=t=>{o.call(e,t)};let $=m(e);const G=()=>{$=!0;const t=A(e)||S(e);return t&&"boolean"!=typeof t?o.call(e,t):N&&!V&&_(e,!0)&&!w(e,!1)?o.call(e,new s):!j||U||x(e,!1)?void o.call(e):o.call(e,new s)},K=()=>{$=!0;const t=A(e)||S(e);if(t&&"boolean"!=typeof t)return o.call(e,t);o.call(e)},Q=()=>{e.req.on("finish",B)};!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?j&&!C&&(e.on("end",k),e.on("close",k)):(e.on("complete",B),L||e.on("abort",G),e.req?Q():e.on("request",Q)),L||"boolean"!=typeof e.aborted||e.on("aborted",G),e.on("end",q),e.on("finish",B),!1!==t.error&&e.on("error",H),e.on("close",G),$?n.nextTick(G):null!=C&&C.errorEmitted||null!=M&&M.errorEmitted?L||n.nextTick(K):(N||L&&!b(e)||!U&&!1!==E(e))&&(j||L&&!E(e)||!V&&!1!==b(e))?M&&e.req&&e.aborted&&n.nextTick(K):n.nextTick(K);const z=()=>{o=D,e.removeListener("aborted",G),e.removeListener("complete",B),e.removeListener("abort",G),e.removeListener("request",Q),e.req&&e.req.removeListener("finish",B),e.removeListener("end",k),e.removeListener("close",k),e.removeListener("finish",B),e.removeListener("end",q),e.removeListener("error",H),e.removeListener("close",G)};if(t.signal&&!$){const a=()=>{const r=o;z(),r.call(e,new i(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(a);else{F=F||r(57760).addAbortListener;const n=F(t.signal,a),i=o;o=u(((...t)=>{n[g](),i.apply(e,t)}))}}return z}e.exports=N,e.exports.finished=function(e,t){var r;let n=!1;return null===t&&(t=c),null!==(r=t)&&void 0!==r&&r.cleanup&&(h(t.cleanup,"cleanup"),n=t.cleanup),new f(((r,i)=>{const o=N(e,t,(e=>{n&&o(),e?i(e):r()}))}))}},96532:(e,t,r)=>{"use strict";const n=r(65606),{PromisePrototypeThen:i,SymbolAsyncIterator:o,SymbolIterator:a}=r(24134),{Buffer:s}=r(48287),{ERR_INVALID_ARG_TYPE:c,ERR_STREAM_NULL_VALUES:u}=r(76371).codes;e.exports=function(e,t,r){let l,d;if("string"==typeof t||t instanceof s)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[o])d=!0,l=t[o]();else{if(!t||!t[a])throw new c("iterable",["Iterable"],t);d=!1,l=t[a]()}const p=new e({objectMode:!0,highWaterMark:1,...r});let h=!1;return p._read=function(){h||(h=!0,async function(){for(;;){try{const{value:e,done:t}=d?await l.next():l.next();if(t)p.push(null);else{const t=e&&"function"==typeof e.then?await e:e;if(null===t)throw h=!1,new u;if(p.push(t))continue;h=!1}}catch(e){p.destroy(e)}break}}())},p._destroy=function(e,t){i(async function(e){const t=null!=e,r="function"==typeof l.throw;if(t&&r){const{value:t,done:r}=await l.throw(e);if(await t,r)return}if("function"==typeof l.return){const{value:e}=await l.return();await e}}(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},p}},94259:(e,t,r)=>{"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:i}=r(24134),{EventEmitter:o}=r(37007);function a(e){o.call(this,e)}function s(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}i(a.prototype,o.prototype),i(a,o),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function i(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",i),e._isStdio||t&&!1===t.end||(r.on("end",c),r.on("close",u));let a=!1;function c(){a||(a=!0,e.end())}function u(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function l(e){d(),0===o.listenerCount(this,"error")&&this.emit("error",e)}function d(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",c),r.removeListener("close",u),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",d),r.removeListener("close",d),e.removeListener("close",d)}return s(r,"error",l),s(e,"error",l),r.on("end",d),r.on("close",d),e.on("close",d),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:s}},60823:(e,t,r)=>{"use strict";const n=globalThis.AbortController||r(25568).AbortController,{codes:{ERR_INVALID_ARG_VALUE:i,ERR_INVALID_ARG_TYPE:o,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:s},AbortError:c}=r(76371),{validateAbortSignal:u,validateInteger:l,validateObject:d}=r(277),p=r(24134).Symbol("kWeak"),h=r(24134).Symbol("kResistStopPropagation"),{finished:f}=r(86238),y=r(47830),{addAbortSignalNoValidate:g}=r(4147),{isWritable:m,isNodeStream:b}=r(16115),{deprecate:_}=r(57760),{ArrayPrototypePush:v,Boolean:w,MathFloor:S,Number:E,NumberIsNaN:T,Promise:O,PromiseReject:x,PromiseResolve:A,PromisePrototypeThen:I,Symbol:R}=r(24134),P=R("kEmpty"),F=R("kEof");function D(e,t){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal");let n=1;null!=(null==t?void 0:t.concurrency)&&(n=S(t.concurrency));let i=n-1;return null!=(null==t?void 0:t.highWaterMark)&&(i=S(t.highWaterMark)),l(n,"options.concurrency",1),l(i,"options.highWaterMark",0),i+=n,async function*(){const o=r(57760).AbortSignalAny([null==t?void 0:t.signal].filter(w)),a=this,s=[],u={signal:o};let l,d,p=!1,h=0;function f(){p=!0,y()}function y(){h-=1,g()}function g(){d&&!p&&h=i||h>=n)&&await new O((e=>{d=e}))}s.push(F)}catch(e){const t=x(e);I(t,y,f),s.push(t)}finally{p=!0,l&&(l(),l=null)}}();try{for(;;){for(;s.length>0;){const e=await s[0];if(e===F)return;if(o.aborted)throw new c;e!==P&&(yield e),s.shift(),g()}await new O((e=>{l=e}))}}finally{p=!0,d&&(d(),d=null)}}.call(this)}async function N(e,t=void 0){for await(const r of j.call(this,e,t))return!0;return!1}function j(e,t){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);return D.call(this,(async function(t,r){return await e(t,r)?t:P}),t)}class C extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}function M(e){if(e=E(e),T(e))return 0;if(e<0)throw new s("number",">= 0",e);return e}e.exports.streamReturningOperators={asIndexedPairs:_((function(e=void 0){return null!=e&&d(e,"options"),null!=(null==e?void 0:e.signal)&&u(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!=e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new c({cause:e.signal.reason});yield[t++,n]}}.call(this)}),"readable.asIndexedPairs will be removed in a future version."),drop:function(e,t=void 0){return null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal"),e=M(e),async function*(){var r;if(null!=t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new c;for await(const r of this){var n;if(null!=t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new c;e--<=0&&(yield r)}}.call(this)},filter:j,flatMap:function(e,t){const r=D.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)},map:D,take:function(e,t=void 0){return null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal"),e=M(e),async function*(){var r;if(null!=t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new c;for await(const r of this){var n;if(null!=t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new c;if(e-- >0&&(yield r),e<=0)return}}.call(this)},compose:function(e,t){if(null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal"),b(e)&&!m(e))throw new i("stream",e,"must be writable");const r=y(this,e);return null!=t&&t.signal&&g(t.signal,r),r}},e.exports.promiseReturningOperators={every:async function(e,t=void 0){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);return!await N.call(this,(async(...t)=>!await e(...t)),t)},forEach:async function(e,t){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);for await(const r of D.call(this,(async function(t,r){return await e(t,r),P}),t));},reduce:async function(e,t,r){var i;if("function"!=typeof e)throw new o("reducer",["Function","AsyncFunction"],e);null!=r&&d(r,"options"),null!=(null==r?void 0:r.signal)&&u(r.signal,"options.signal");let a=arguments.length>1;if(null!=r&&null!==(i=r.signal)&&void 0!==i&&i.aborted){const e=new c(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await f(this.destroy(e)),e}const s=new n,l=s.signal;if(null!=r&&r.signal){const e={once:!0,[p]:this,[h]:!0};r.signal.addEventListener("abort",(()=>s.abort()),e)}let y=!1;try{for await(const n of this){var g;if(y=!0,null!=r&&null!==(g=r.signal)&&void 0!==g&&g.aborted)throw new c;a?t=await e(t,n,{signal:l}):(t=n,a=!0)}if(!y&&!a)throw new C}finally{s.abort()}return t},toArray:async function(e){null!=e&&d(e,"options"),null!=(null==e?void 0:e.signal)&&u(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!=e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new c(void 0,{cause:e.signal.reason});v(t,n)}return t},some:N,find:async function(e,t){for await(const r of j.call(this,e,t))return r}}},86524:(e,t,r)=>{"use strict";const{ObjectSetPrototypeOf:n}=r(24134);e.exports=o;const i=r(17382);function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}n(o.prototype,i.prototype),n(o,i),o.prototype._transform=function(e,t,r){r(null,e)}},57758:(e,t,r)=>{const n=r(65606),{ArrayIsArray:i,Promise:o,SymbolAsyncIterator:a,SymbolDispose:s}=r(24134),c=r(86238),{once:u}=r(57760),l=r(75896),d=r(93370),{aggregateTwoErrors:p,codes:{ERR_INVALID_ARG_TYPE:h,ERR_INVALID_RETURN_VALUE:f,ERR_MISSING_ARGS:y,ERR_STREAM_DESTROYED:g,ERR_STREAM_PREMATURE_CLOSE:m},AbortError:b}=r(76371),{validateFunction:_,validateAbortSignal:v}=r(277),{isIterable:w,isReadable:S,isReadableNodeStream:E,isNodeStream:T,isTransformStream:O,isWebStream:x,isReadableStream:A,isReadableFinished:I}=r(16115),R=globalThis.AbortController||r(25568).AbortController;let P,F,D;function N(e,t,r){let n=!1;return e.on("close",(()=>{n=!0})),{destroy:t=>{n||(n=!0,l.destroyer(e,t||new g("pipe")))},cleanup:c(e,{readable:t,writable:r},(e=>{n=!e}))}}function j(e){if(w(e))return e;if(E(e))return async function*(e){F||(F=r(57576)),yield*F.prototype[a].call(e)}(e);throw new h("val",["Readable","Iterable","AsyncIterable"],e)}async function C(e,t,r,{end:n}){let i,a=null;const s=e=>{if(e&&(i=e),a){const e=a;a=null,e()}},u=()=>new o(((e,t)=>{i?t(i):a=()=>{i?t(i):e()}}));t.on("drain",s);const l=c(t,{readable:!1},s);try{t.writableNeedDrain&&await u();for await(const r of e)t.write(r)||await u();n&&(t.end(),await u()),r()}catch(e){r(i!==e?p(i,e):e)}finally{l(),t.off("drain",s)}}async function M(e,t,r,{end:n}){O(t)&&(t=t.writable);const i=t.getWriter();try{for await(const t of e)await i.ready,i.write(t).catch((()=>{}));await i.ready,n&&await i.close(),r()}catch(e){try{await i.abort(e),r(e)}catch(e){r(e)}}}function k(e,t,o){if(1===e.length&&i(e[0])&&(e=e[0]),e.length<2)throw new y("streams");const a=new R,c=a.signal,u=null==o?void 0:o.signal,l=[];function p(){B(new b)}let g,m,_;v(u,"options.signal"),D=D||r(57760).addAbortListener,u&&(g=D(u,p));const I=[];let F,k=0;function U(e){B(e,0==--k)}function B(e,r){var i;if(!e||m&&"ERR_STREAM_PREMATURE_CLOSE"!==m.code||(m=e),m||r){for(;I.length;)I.shift()(m);null===(i=g)||void 0===i||i[s](),a.abort(),r&&(m||l.forEach((e=>e())),n.nextTick(t,m,_))}}for(let $=0;$0,z=K||!1!==(null==o?void 0:o.end),J=$===e.length-1;if(T(G)){if(z){const{destroy:W,cleanup:X}=N(G,K,Q);I.push(W),S(G)&&J&&l.push(X)}function V(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&U(e)}G.on("error",V),S(G)&&J&&l.push((()=>{G.removeListener("error",V)}))}if(0===$)if("function"==typeof G){if(F=G({signal:c}),!w(F))throw new f("Iterable, AsyncIterable or Stream","source",F)}else F=w(G)||E(G)||O(G)?G:d.from(G);else if("function"==typeof G){var q;if(F=O(F)?j(null===(q=F)||void 0===q?void 0:q.readable):j(F),F=G(F,{signal:c}),K){if(!w(F,!0))throw new f("AsyncIterable",`transform[${$-1}]`,F)}else{var H;P||(P=r(86524));const Y=new P({objectMode:!0}),Z=null===(H=F)||void 0===H?void 0:H.then;if("function"==typeof Z)k++,Z.call(F,(e=>{_=e,null!=e&&Y.write(e),z&&Y.end(),n.nextTick(U)}),(e=>{Y.destroy(e),n.nextTick(U,e)}));else if(w(F,!0))k++,C(F,Y,U,{end:z});else{if(!A(F)&&!O(F))throw new f("AsyncIterable or Promise","destination",F);{const re=F.readable||F;k++,C(re,Y,U,{end:z})}}F=Y;const{destroy:ee,cleanup:te}=N(F,!1,!0);I.push(ee),J&&l.push(te)}}else if(T(G)){if(E(F)){k+=2;const ne=L(F,G,U,{end:z});S(G)&&J&&l.push(ne)}else if(O(F)||A(F)){const ie=F.readable||F;k++,C(ie,G,U,{end:z})}else{if(!w(F))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],F);k++,C(F,G,U,{end:z})}F=G}else if(x(G)){if(E(F))k++,M(j(F),G,U,{end:z});else if(A(F)||w(F))k++,M(F,G,U,{end:z});else{if(!O(F))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],F);k++,M(F.readable,G,U,{end:z})}F=G}else F=d.from(G)}return(null!=c&&c.aborted||null!=u&&u.aborted)&&n.nextTick(p),F}function L(e,t,r,{end:i}){let o=!1;if(t.on("close",(()=>{o||r(new m)})),e.pipe(t,{end:!1}),i){function a(){o=!0,t.end()}I(e)?n.nextTick(a):e.once("end",a)}else r();return c(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),c(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:k,pipeline:function(...e){return k(e,u(function(e){return _(e[e.length-1],"streams[stream.length - 1]"),e.pop()}(e)))}}},57576:(e,t,r)=>{const n=r(65606),{ArrayPrototypeIndexOf:i,NumberIsInteger:o,NumberIsNaN:a,NumberParseInt:s,ObjectDefineProperties:c,ObjectKeys:u,ObjectSetPrototypeOf:l,Promise:d,SafeSet:p,SymbolAsyncDispose:h,SymbolAsyncIterator:f,Symbol:y}=r(24134);e.exports=J,J.ReadableState=z;const{EventEmitter:g}=r(37007),{Stream:m,prependListener:b}=r(94259),{Buffer:_}=r(48287),{addAbortSignal:v}=r(4147),w=r(86238);let S=r(57760).debuglog("stream",(e=>{S=e}));const E=r(80345),T=r(75896),{getHighWaterMark:O,getDefaultHighWaterMark:x}=r(65291),{aggregateTwoErrors:A,codes:{ERR_INVALID_ARG_TYPE:I,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:P,ERR_STREAM_PUSH_AFTER_EOF:F,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:D},AbortError:N}=r(76371),{validateObject:j}=r(277),C=y("kPaused"),{StringDecoder:M}=r(83141),k=r(96532);l(J.prototype,m.prototype),l(J,m);const L=()=>{},{errorOrDestroy:U}=T,B=1,V=16,q=32,H=64,$=2048,G=4096,K=65536;function Q(e){return{enumerable:!1,get(){return!!(this.state&e)},set(t){t?this.state|=e:this.state&=~e}}}function z(e,t,n){"boolean"!=typeof n&&(n=t instanceof r(93370)),this.state=$|G|V|q,e&&e.objectMode&&(this.state|=B),n&&e&&e.readableObjectMode&&(this.state|=B),this.highWaterMark=e?O(this,e,"readableHighWaterMark",n):x(!1),this.buffer=new E,this.length=0,this.pipes=[],this.flowing=null,this[C]=null,e&&!1===e.emitClose&&(this.state&=~$),e&&!1===e.autoDestroy&&(this.state&=~G),this.errored=null,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new M(e.encoding),this.encoding=e.encoding)}function J(e){if(!(this instanceof J))return new J(e);const t=this instanceof r(93370);this._readableState=new z(e,this,t),e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&v(e.signal,this)),m.call(this,e),T.construct(this,(()=>{this._readableState.needReadable&&te(this,this._readableState)}))}function W(e,t,r,n){S("readableAddChunk",t);const i=e._readableState;let o;if(i.state&B||("string"==typeof t?(r=r||i.defaultEncoding,i.encoding!==r&&(n&&i.encoding?t=_.from(t,r).toString(i.encoding):(t=_.from(t,r),r=""))):t instanceof _?r="":m._isUint8Array(t)?(t=m._uint8ArrayToBuffer(t),r=""):null!=t&&(o=new I("chunk",["string","Buffer","Uint8Array"],t))),o)U(e,o);else if(null===t)i.state&=-9,function(e,t){if(S("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?Z(e):(t.needReadable=!1,t.emittedReadable=!0,ee(e))}}(e,i);else if(i.state&B||t&&t.length>0)if(n)if(4&i.state)U(e,new D);else{if(i.destroyed||i.errored)return!1;X(e,i,t,!0)}else if(i.ended)U(e,new F);else{if(i.destroyed||i.errored)return!1;i.state&=-9,i.decoder&&!r?(t=i.decoder.write(t),i.objectMode||0!==t.length?X(e,i,t,!1):te(e,i)):X(e,i,t,!1)}else n||(i.state&=-9,te(e,i));return!i.ended&&(i.length0?(t.state&K?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.state&H&&Z(e)),te(e,t)}function Y(e,t){return e<=0||0===t.length&&t.ended?0:t.state&B?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function Z(e){const t=e._readableState;S("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(S("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(ee,e))}function ee(e){const t=e._readableState;S("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,ae(e)}function te(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(re,e,t))}function re(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[C]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function ie(e){S("readable nexttick read 0"),e.read(0)}function oe(e,t){S("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),ae(e),t.flowing&&!t.reading&&e.read(0)}function ae(e){const t=e._readableState;for(S("flow",t.flowing);t.flowing&&null!==e.read(););}function se(e,t){"function"!=typeof e.read&&(e=J.wrap(e,{objectMode:!0}));const r=async function*(e,t){let r,n=L;function i(t){this===e?(n(),n=L):n=t}e.on("readable",i);const o=w(e,{writable:!1},(e=>{r=e?A(r,e):null,n(),n=L}));try{for(;;){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new d(i)}}}catch(e){throw r=A(r,e),r}finally{!r&&!1===(null==t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",i),o()):T.destroyer(e,null)}}(e,t);return r.stream=e,r}function ce(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function ue(e){const t=e._readableState;S("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(le,t,e))}function le(e,t){if(S("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(de,t);else if(e.autoDestroy){const e=t._writableState;(!e||e.autoDestroy&&(e.finished||!1===e.writable))&&t.destroy()}}function de(e){e.writable&&!e.writableEnded&&!e.destroyed&&e.end()}let pe;function he(){return void 0===pe&&(pe={}),pe}c(z.prototype,{objectMode:Q(B),ended:Q(2),endEmitted:Q(4),reading:Q(8),constructed:Q(V),sync:Q(q),needReadable:Q(H),emittedReadable:Q(128),readableListening:Q(256),resumeScheduled:Q(512),errorEmitted:Q(1024),emitClose:Q($),autoDestroy:Q(G),destroyed:Q(8192),closed:Q(16384),closeEmitted:Q(32768),multiAwaitDrain:Q(K),readingMore:Q(1<<17),dataEmitted:Q(1<<18)}),J.prototype.destroy=T.destroy,J.prototype._undestroy=T.undestroy,J.prototype._destroy=function(e,t){t(e)},J.prototype[g.captureRejectionSymbol]=function(e){this.destroy(e)},J.prototype[h]=function(){let e;return this.destroyed||(e=this.readableEnded?null:new N,this.destroy(e)),new d(((t,r)=>w(this,(n=>n&&n!==e?r(n):t(null)))))},J.prototype.push=function(e,t){return W(this,e,t,!1)},J.prototype.unshift=function(e,t){return W(this,e,t,!0)},J.prototype.isPaused=function(){const e=this._readableState;return!0===e[C]||!1===e.flowing},J.prototype.setEncoding=function(e){const t=new M(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const e of r)n+=t.write(e);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this},J.prototype.read=function(e){S("read",e),void 0===e?e=NaN:o(e)||(e=s(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=function(e){if(e>1073741824)throw new P("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,++e}(e)),0!==e&&(t.state&=-129),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return S("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?ue(this):Z(this),null;if(0===(e=Y(e,t))&&t.ended)return 0===t.length&&ue(this),null;let n,i=!!(t.state&H);if(S("need readable",i),(0===t.length||t.length-e0?ce(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ue(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},J.prototype._read=function(e){throw new R("_read()")},J.prototype.pipe=function(e,t){const r=this,i=this._readableState;1===i.pipes.length&&(i.multiAwaitDrain||(i.multiAwaitDrain=!0,i.awaitDrainWriters=new p(i.awaitDrainWriters?[i.awaitDrainWriters]:[]))),i.pipes.push(e),S("pipe count=%d opts=%j",i.pipes.length,t);const o=t&&!1===t.end||e===n.stdout||e===n.stderr?y:a;function a(){S("onend"),e.end()}let s;i.endEmitted?n.nextTick(o):r.once("end",o),e.on("unpipe",(function t(n,o){S("onunpipe"),n===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,S("cleanup"),e.removeListener("close",h),e.removeListener("finish",f),s&&e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",t),r.removeListener("end",a),r.removeListener("end",y),r.removeListener("data",l),c=!0,s&&i.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&s())}));let c=!1;function u(){c||(1===i.pipes.length&&i.pipes[0]===e?(S("false write response, pause",0),i.awaitDrainWriters=e,i.multiAwaitDrain=!1):i.pipes.length>1&&i.pipes.includes(e)&&(S("false write response, pause",i.awaitDrainWriters.size),i.awaitDrainWriters.add(e)),r.pause()),s||(s=function(e,t){return function(){const r=e._readableState;r.awaitDrainWriters===t?(S("pipeOnDrain",1),r.awaitDrainWriters=null):r.multiAwaitDrain&&(S("pipeOnDrain",r.awaitDrainWriters.size),r.awaitDrainWriters.delete(t)),r.awaitDrainWriters&&0!==r.awaitDrainWriters.size||!e.listenerCount("data")||e.resume()}}(r,e),e.on("drain",s))}function l(t){S("ondata");const r=e.write(t);S("dest.write",r),!1===r&&u()}function d(t){if(S("onerror",t),y(),e.removeListener("error",d),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?U(e,t):e.emit("error",t)}}function h(){e.removeListener("finish",f),y()}function f(){S("onfinish"),e.removeListener("close",h),y()}function y(){S("unpipe"),r.unpipe(e)}return r.on("data",l),b(e,"error",d),e.once("close",h),e.once("finish",f),e.emit("pipe",r),!0===e.writableNeedDrain?u():i.flowing||(S("pipe resume"),r.resume()),e},J.prototype.unpipe=function(e){const t=this._readableState;if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,S("on readable",i.length,i.reading),i.length?Z(this):i.reading||n.nextTick(ie,this))),r},J.prototype.addListener=J.prototype.on,J.prototype.removeListener=function(e,t){const r=m.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(ne,this),r},J.prototype.off=J.prototype.removeListener,J.prototype.removeAllListeners=function(e){const t=m.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(ne,this),t},J.prototype.resume=function(){const e=this._readableState;return e.flowing||(S("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(oe,e,t))}(this,e)),e[C]=!1,this},J.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[C]=!0,this},J.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{U(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=u(e);for(let t=1;t{"use strict";const{MathFloor:n,NumberIsInteger:i}=r(24134),{validateInteger:o}=r(277),{ERR_INVALID_ARG_VALUE:a}=r(76371).codes;let s=16384,c=16;function u(e){return e?c:s}e.exports={getHighWaterMark:function(e,t,r,o){const s=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,o,r);if(null!=s){if(!i(s)||s<0)throw new a(o?`options.${r}`:"options.highWaterMark",s);return n(s)}return u(e.objectMode)},getDefaultHighWaterMark:u,setDefaultHighWaterMark:function(e,t){o(t,"value",0),e?c=t:s=t}}},17382:(e,t,r)=>{"use strict";const{ObjectSetPrototypeOf:n,Symbol:i}=r(24134);e.exports=u;const{ERR_METHOD_NOT_IMPLEMENTED:o}=r(76371).codes,a=r(93370),{getHighWaterMark:s}=r(65291);n(u.prototype,a.prototype),n(u,a);const c=i("kCallback");function u(e){if(!(this instanceof u))return new u(e);const t=e?s(this,e,"readableHighWaterMark",!0):null;0===t&&(e={...e,highWaterMark:null,readableHighWaterMark:t,writableHighWaterMark:e.writableHighWaterMark||0}),a.call(this,e),this._readableState.sync=!1,this[c]=null,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",d)}function l(e){"function"!=typeof this._flush||this.destroyed?(this.push(null),e&&e()):this._flush(((t,r)=>{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function d(){this._final!==l&&l.call(this)}u.prototype._final=l,u.prototype._transform=function(e,t,r){throw new o("_transform()")},u.prototype._write=function(e,t,r){const n=this._readableState,i=this._writableState,o=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),i.ended||o===n.length||n.length{"use strict";const{SymbolAsyncIterator:n,SymbolIterator:i,SymbolFor:o}=r(24134),a=o("nodejs.stream.destroyed"),s=o("nodejs.stream.errored"),c=o("nodejs.stream.readable"),u=o("nodejs.stream.writable"),l=o("nodejs.stream.disturbed"),d=o("nodejs.webstream.isClosedPromise"),p=o("nodejs.webstream.controllerErrorFunction");function h(e,t=!1){var r;return!(!e||"function"!=typeof e.pipe||"function"!=typeof e.on||t&&("function"!=typeof e.pause||"function"!=typeof e.resume)||e._writableState&&!1===(null===(r=e._readableState)||void 0===r?void 0:r.readable)||e._writableState&&!e._readableState)}function f(e){var t;return!(!e||"function"!=typeof e.write||"function"!=typeof e.on||e._readableState&&!1===(null===(t=e._writableState)||void 0===t?void 0:t.writable))}function y(e){return e&&(e._readableState||e._writableState||"function"==typeof e.write&&"function"==typeof e.on||"function"==typeof e.pipe&&"function"==typeof e.on)}function g(e){return!(!e||y(e)||"function"!=typeof e.pipeThrough||"function"!=typeof e.getReader||"function"!=typeof e.cancel)}function m(e){return!(!e||y(e)||"function"!=typeof e.getWriter||"function"!=typeof e.abort)}function b(e){return!(!e||y(e)||"object"!=typeof e.readable||"object"!=typeof e.writable)}function _(e){if(!y(e))return null;const t=e._writableState,r=e._readableState,n=t||r;return!!(e.destroyed||e[a]||null!=n&&n.destroyed)}function v(e){if(!f(e))return null;if(!0===e.writableEnded)return!0;const t=e._writableState;return(null==t||!t.errored)&&("boolean"!=typeof(null==t?void 0:t.ended)?null:t.ended)}function w(e,t){if(!h(e))return null;const r=e._readableState;return(null==r||!r.errored)&&("boolean"!=typeof(null==r?void 0:r.endEmitted)?null:!!(r.endEmitted||!1===t&&!0===r.ended&&0===r.length))}function S(e){return e&&null!=e[c]?e[c]:"boolean"!=typeof(null==e?void 0:e.readable)?null:!_(e)&&h(e)&&e.readable&&!w(e)}function E(e){return e&&null!=e[u]?e[u]:"boolean"!=typeof(null==e?void 0:e.writable)?null:!_(e)&&f(e)&&e.writable&&!v(e)}function T(e){return"boolean"==typeof e._closed&&"boolean"==typeof e._defaultKeepAlive&&"boolean"==typeof e._removedConnection&&"boolean"==typeof e._removedContLen}function O(e){return"boolean"==typeof e._sent100&&T(e)}e.exports={isDestroyed:_,kIsDestroyed:a,isDisturbed:function(e){var t;return!(!e||!(null!==(t=e[l])&&void 0!==t?t:e.readableDidRead||e.readableAborted))},kIsDisturbed:l,isErrored:function(e){var t,r,n,i,o,a,c,u,l,d;return!(!e||!(null!==(t=null!==(r=null!==(n=null!==(i=null!==(o=null!==(a=e[s])&&void 0!==a?a:e.readableErrored)&&void 0!==o?o:e.writableErrored)&&void 0!==i?i:null===(c=e._readableState)||void 0===c?void 0:c.errorEmitted)&&void 0!==n?n:null===(u=e._writableState)||void 0===u?void 0:u.errorEmitted)&&void 0!==r?r:null===(l=e._readableState)||void 0===l?void 0:l.errored)&&void 0!==t?t:null===(d=e._writableState)||void 0===d?void 0:d.errored))},kIsErrored:s,isReadable:S,kIsReadable:c,kIsClosedPromise:d,kControllerErrorFunction:p,kIsWritable:u,isClosed:function(e){if(!y(e))return null;if("boolean"==typeof e.closed)return e.closed;const t=e._writableState,r=e._readableState;return"boolean"==typeof(null==t?void 0:t.closed)||"boolean"==typeof(null==r?void 0:r.closed)?(null==t?void 0:t.closed)||(null==r?void 0:r.closed):"boolean"==typeof e._closed&&T(e)?e._closed:null},isDuplexNodeStream:function(e){return!(!e||"function"!=typeof e.pipe||!e._readableState||"function"!=typeof e.on||"function"!=typeof e.write)},isFinished:function(e,t){return y(e)?!(!_(e)&&(!1!==(null==t?void 0:t.readable)&&S(e)||!1!==(null==t?void 0:t.writable)&&E(e))):null},isIterable:function(e,t){return null!=e&&(!0===t?"function"==typeof e[n]:!1===t?"function"==typeof e[i]:"function"==typeof e[n]||"function"==typeof e[i])},isReadableNodeStream:h,isReadableStream:g,isReadableEnded:function(e){if(!h(e))return null;if(!0===e.readableEnded)return!0;const t=e._readableState;return!(!t||t.errored)&&("boolean"!=typeof(null==t?void 0:t.ended)?null:t.ended)},isReadableFinished:w,isReadableErrored:function(e){var t,r;return y(e)?e.readableErrored?e.readableErrored:null!==(t=null===(r=e._readableState)||void 0===r?void 0:r.errored)&&void 0!==t?t:null:null},isNodeStream:y,isWebStream:function(e){return g(e)||m(e)||b(e)},isWritable:E,isWritableNodeStream:f,isWritableStream:m,isWritableEnded:v,isWritableFinished:function(e,t){if(!f(e))return null;if(!0===e.writableFinished)return!0;const r=e._writableState;return(null==r||!r.errored)&&("boolean"!=typeof(null==r?void 0:r.finished)?null:!!(r.finished||!1===t&&!0===r.ended&&0===r.length))},isWritableErrored:function(e){var t,r;return y(e)?e.writableErrored?e.writableErrored:null!==(t=null===(r=e._writableState)||void 0===r?void 0:r.errored)&&void 0!==t?t:null:null},isServerRequest:function(e){var t;return"boolean"==typeof e._consuming&&"boolean"==typeof e._dumped&&void 0===(null===(t=e.req)||void 0===t?void 0:t.upgradeOrConnect)},isServerResponse:O,willEmitClose:function(e){if(!y(e))return null;const t=e._writableState,r=e._readableState,n=t||r;return!n&&O(e)||!!(n&&n.autoDestroy&&n.emitClose&&!1===n.closed)},isTransformStream:b}},78584:(e,t,r)=>{const n=r(65606),{ArrayPrototypeSlice:i,Error:o,FunctionPrototypeSymbolHasInstance:a,ObjectDefineProperty:s,ObjectDefineProperties:c,ObjectSetPrototypeOf:u,StringPrototypeToLowerCase:l,Symbol:d,SymbolHasInstance:p}=r(24134);e.exports=j,j.WritableState=D;const{EventEmitter:h}=r(37007),f=r(94259).Stream,{Buffer:y}=r(48287),g=r(75896),{addAbortSignal:m}=r(4147),{getHighWaterMark:b,getDefaultHighWaterMark:_}=r(65291),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:w,ERR_MULTIPLE_CALLBACK:S,ERR_STREAM_CANNOT_PIPE:E,ERR_STREAM_DESTROYED:T,ERR_STREAM_ALREADY_FINISHED:O,ERR_STREAM_NULL_VALUES:x,ERR_STREAM_WRITE_AFTER_END:A,ERR_UNKNOWN_ENCODING:I}=r(76371).codes,{errorOrDestroy:R}=g;function P(){}u(j.prototype,f.prototype),u(j,f);const F=d("kOnFinished");function D(e,t,n){"boolean"!=typeof n&&(n=t instanceof r(93370)),this.objectMode=!(!e||!e.objectMode),n&&(this.objectMode=this.objectMode||!(!e||!e.writableObjectMode)),this.highWaterMark=e?b(this,e,"writableHighWaterMark",n):_(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const i=!(!e||!1!==e.decodeStrings);this.decodeStrings=!i,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=L.bind(void 0,t),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,N(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!e||!1!==e.emitClose,this.autoDestroy=!e||!1!==e.autoDestroy,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[F]=[]}function N(e){e.buffered=[],e.bufferedIndex=0,e.allBuffers=!0,e.allNoop=!0}function j(e){const t=this instanceof r(93370);if(!t&&!a(j,this))return new j(e);this._writableState=new D(e,this,t),e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final),"function"==typeof e.construct&&(this._construct=e.construct),e.signal&&m(e.signal,this)),f.call(this,e),g.construct(this,(()=>{const e=this._writableState;e.writing||q(this,e),$(this,e)}))}function C(e,t,r,i){const o=e._writableState;if("function"==typeof r)i=r,r=o.defaultEncoding;else{if(r){if("buffer"!==r&&!y.isEncoding(r))throw new I(r)}else r=o.defaultEncoding;"function"!=typeof i&&(i=P)}if(null===t)throw new x;if(!o.objectMode)if("string"==typeof t)!1!==o.decodeStrings&&(t=y.from(t,r),r="buffer");else if(t instanceof y)r="buffer";else{if(!f._isUint8Array(t))throw new v("chunk",["string","Buffer","Uint8Array"],t);t=f._uint8ArrayToBuffer(t),r="buffer"}let a;return o.ending?a=new A:o.destroyed&&(a=new T("write")),a?(n.nextTick(i,a),R(e,a,!0),a):(o.pendingcb++,function(e,t,r,n,i){const o=t.objectMode?1:r.length;t.length+=o;const a=t.lengthr.bufferedIndex&&q(e,r),i?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===o?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:o,stream:e,state:r},n.nextTick(U,r.afterWriteTickInfo)):B(e,r,1,o))):R(e,new S)}function U({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,B(e,t,r,n)}function B(e,t,r,n){for(!t.ending&&!e.destroyed&&0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"));r-- >0;)t.pendingcb--,n();t.destroyed&&V(t),$(e,t)}function V(e){if(e.writing)return;for(let r=e.bufferedIndex;r1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?P:e=>{for(let t=s;t256?(r.splice(0,s),t.bufferedIndex=0):t.bufferedIndex=s}t.bufferProcessing=!1}function H(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function $(e,t,r){H(t)&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.finalCalled=!0,function(e,t){let r=!1;function i(i){if(r)R(e,null!=i?i:S());else if(r=!0,t.pendingcb--,i){const r=t[F].splice(0);for(let e=0;e{H(t)?G(e,t):t.pendingcb--}),e,t)):H(t)&&(t.pendingcb++,G(e,t))))}function G(e,t){t.pendingcb--,t.finished=!0;const r=t[F].splice(0);for(let e=0;e{"use strict";const{ArrayIsArray:n,ArrayPrototypeIncludes:i,ArrayPrototypeJoin:o,ArrayPrototypeMap:a,NumberIsInteger:s,NumberIsNaN:c,NumberMAX_SAFE_INTEGER:u,NumberMIN_SAFE_INTEGER:l,NumberParseInt:d,ObjectPrototypeHasOwnProperty:p,RegExpPrototypeExec:h,String:f,StringPrototypeToUpperCase:y,StringPrototypeTrim:g}=r(24134),{hideStackFrames:m,codes:{ERR_SOCKET_BAD_PORT:b,ERR_INVALID_ARG_TYPE:_,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:w,ERR_UNKNOWN_SIGNAL:S}}=r(76371),{normalizeEncoding:E}=r(57760),{isAsyncFunction:T,isArrayBufferView:O}=r(57760).types,x={},A=/^[0-7]+$/,I=m(((e,t,r=l,n=u)=>{if("number"!=typeof e)throw new _(t,"number",e);if(!s(e))throw new w(t,"an integer",e);if(en)throw new w(t,`>= ${r} && <= ${n}`,e)})),R=m(((e,t,r=-2147483648,n=2147483647)=>{if("number"!=typeof e)throw new _(t,"number",e);if(!s(e))throw new w(t,"an integer",e);if(en)throw new w(t,`>= ${r} && <= ${n}`,e)})),P=m(((e,t,r=!1)=>{if("number"!=typeof e)throw new _(t,"number",e);if(!s(e))throw new w(t,"an integer",e);const n=r?1:0,i=4294967295;if(ei)throw new w(t,`>= ${n} && <= ${i}`,e)}));function F(e,t){if("string"!=typeof e)throw new _(t,"string",e)}const D=m(((e,t,r)=>{if(!i(r,e)){const n=o(a(r,(e=>"string"==typeof e?`'${e}'`:f(e))),", ");throw new v(t,e,"must be one of: "+n)}}));function N(e,t){if("boolean"!=typeof e)throw new _(t,"boolean",e)}function j(e,t,r){return null!=e&&p(e,t)?e[t]:r}const C=m(((e,t,r=null)=>{const i=j(r,"allowArray",!1),o=j(r,"allowFunction",!1);if(!j(r,"nullable",!1)&&null===e||!i&&n(e)||"object"!=typeof e&&(!o||"function"!=typeof e))throw new _(t,"Object",e)})),M=m(((e,t)=>{if(null!=e&&"object"!=typeof e&&"function"!=typeof e)throw new _(t,"a dictionary",e)})),k=m(((e,t,r=0)=>{if(!n(e))throw new _(t,"Array",e);if(e.length{if(!O(e))throw new _(t,["Buffer","TypedArray","DataView"],e)})),U=m(((e,t)=>{if(void 0!==e&&(null===e||"object"!=typeof e||!("aborted"in e)))throw new _(t,"AbortSignal",e)})),B=m(((e,t)=>{if("function"!=typeof e)throw new _(t,"Function",e)})),V=m(((e,t)=>{if("function"!=typeof e||T(e))throw new _(t,"Function",e)})),q=m(((e,t)=>{if(void 0!==e)throw new _(t,"undefined",e)})),H=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function $(e,t){if(void 0===e||!h(H,e))throw new v(t,e,'must be an array or string of format "; rel=preload; as=style"')}e.exports={isInt32:function(e){return e===(0|e)},isUint32:function(e){return e===e>>>0},parseFileMode:function(e,t,r){if(void 0===e&&(e=r),"string"==typeof e){if(null===h(A,e))throw new v(t,e,"must be a 32-bit unsigned integer or an octal string");e=d(e,8)}return P(e,t),e},validateArray:k,validateStringArray:function(e,t){k(e,t);for(let r=0;rn||(null!=r||null!=n)&&c(e))throw new w(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)},validateObject:C,validateOneOf:D,validatePlainFunction:V,validatePort:function(e,t="Port",r=!0){if("number"!=typeof e&&"string"!=typeof e||"string"==typeof e&&0===g(e).length||+e!=+e>>>0||e>65535||0===e&&!r)throw new b(t,e,r);return 0|e},validateSignalName:function(e,t="signal"){if(F(e,t),void 0===x[e]){if(void 0!==x[y(e)])throw new S(e+" (signals must use all capital letters)");throw new S(e)}},validateString:F,validateUint32:P,validateUndefined:q,validateUnion:function(e,t,r){if(!i(r,e))throw new _(t,`('${o(r,"|")}')`,e)},validateAbortSignal:U,validateLinkHeaderValue:function(e){if("string"==typeof e)return $(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}}},19198:(e,t,r)=>{"use strict";const n=r(85506),i=r(43095),o=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=o,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get:()=>i}),e.exports.Stream=n.Stream,e.exports.default=e.exports},76371:(e,t,r)=>{"use strict";const{format:n,inspect:i,AggregateError:o}=r(57760),a=globalThis.AggregateError||o,s=Symbol("kIsNodeError"),c=["string","function","number","object","Function","Object","boolean","bigint","symbol"],u=/^([A-Z][a-z0-9]*)+$/,l={};function d(e,t){if(!e)throw new l.ERR_INTERNAL_ASSERTION(t)}function p(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function h(e,t,r){r||(r=Error);class i extends r{constructor(...r){super(function(e,t,r){if("function"==typeof t)return d(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const i=(t.match(/%[dfijoOs]/g)||[]).length;return d(i===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${i}).`),0===r.length?t:n(t,...r)}(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(i.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),i.prototype.code=e,i.prototype[s]=!0,l[e]=i}function f(e){const t="__node_internal_"+e.name;return Object.defineProperty(e,"name",{value:t}),e}class y extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!=typeof t)throw new l.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}h("ERR_ASSERTION","%s",Error),h("ERR_INVALID_ARG_TYPE",((e,t,r)=>{d("string"==typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const o=[],a=[],s=[];for(const e of t)d("string"==typeof e,"All expected entries have to be of type string"),c.includes(e)?o.push(e.toLowerCase()):u.test(e)?a.push(e):(d("object"!==e,'The value "object" should be written as "Object"'),s.push(e));if(a.length>0){const e=o.indexOf("object");-1!==e&&(o.splice(o,e,1),a.push("Object"))}if(o.length>0){switch(o.length){case 1:n+=`of type ${o[0]}`;break;case 2:n+=`one of type ${o[0]} or ${o[1]}`;break;default:{const e=o.pop();n+=`one of type ${o.join(", ")}, or ${e}`}}(a.length>0||s.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}s.length>0&&(n+=" or ")}switch(s.length){case 0:break;case 1:s[0].toLowerCase()!==s[0]&&(n+="an "),n+=`${s[0]}`;break;case 2:n+=`one of ${s[0]} or ${s[1]}`;break;default:{const e=s.pop();n+=`one of ${s.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"==typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"==typeof r){var l;null!==(l=r.constructor)&&void 0!==l&&l.name?n+=`. Received an instance of ${r.constructor.name}`:n+=`. Received ${i(r,{depth:-1})}`}else{let e=i(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),h("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=i(t);return n.length>128&&(n=n.slice(0,128)+"..."),`The ${e.includes(".")?"property":"argument"} '${e}' ${r}. Received ${n}`}),TypeError),h("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;return`Expected ${e} to be returned from the "${t}" function but got ${null!=r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r}.`}),TypeError),h("ERR_MISSING_ARGS",((...e)=>{let t;d(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}}return`${t} must be specified`}),TypeError),h("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return d(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=p(String(r)):"bigint"==typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=p(n)),n+="n"):n=i(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),h("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),h("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),h("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),h("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),h("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),h("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),h("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),h("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),h("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),h("ERR_STREAM_WRITE_AFTER_END","write after end",Error),h("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:y,aggregateTwoErrors:f((function(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t})),hideStackFrames:f,codes:l}},24134:e=>{"use strict";e.exports={ArrayIsArray:e=>Array.isArray(e),ArrayPrototypeIncludes:(e,t)=>e.includes(t),ArrayPrototypeIndexOf:(e,t)=>e.indexOf(t),ArrayPrototypeJoin:(e,t)=>e.join(t),ArrayPrototypeMap:(e,t)=>e.map(t),ArrayPrototypePop:(e,t)=>e.pop(t),ArrayPrototypePush:(e,t)=>e.push(t),ArrayPrototypeSlice:(e,t,r)=>e.slice(t,r),Error,FunctionPrototypeCall:(e,t,...r)=>e.call(t,...r),FunctionPrototypeSymbolHasInstance:(e,t)=>Function.prototype[Symbol.hasInstance].call(e,t),MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties:(e,t)=>Object.defineProperties(e,t),ObjectDefineProperty:(e,t,r)=>Object.defineProperty(e,t,r),ObjectGetOwnPropertyDescriptor:(e,t)=>Object.getOwnPropertyDescriptor(e,t),ObjectKeys:e=>Object.keys(e),ObjectSetPrototypeOf:(e,t)=>Object.setPrototypeOf(e,t),Promise,PromisePrototypeCatch:(e,t)=>e.catch(t),PromisePrototypeThen:(e,t,r)=>e.then(t,r),PromiseReject:e=>Promise.reject(e),PromiseResolve:e=>Promise.resolve(e),ReflectApply:Reflect.apply,RegExpPrototypeTest:(e,t)=>e.test(t),SafeSet:Set,String,StringPrototypeSlice:(e,t,r)=>e.slice(t,r),StringPrototypeToLowerCase:e=>e.toLowerCase(),StringPrototypeToUpperCase:e=>e.toUpperCase(),StringPrototypeTrim:e=>e.trim(),Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet:(e,t,r)=>e.set(t,r),Boolean,Uint8Array}},57760:(e,t,r)=>{"use strict";const n=r(48287),{kResistStopPropagation:i,SymbolDispose:o}=r(24134),a=globalThis.AbortSignal||r(25568).AbortSignal,s=globalThis.AbortController||r(25568).AbortController,c=Object.getPrototypeOf((async function(){})).constructor,u=globalThis.Blob||n.Blob,l=void 0!==u?function(e){return e instanceof u}:function(e){return!1},d=(e,t)=>{if(void 0!==e&&(null===e||"object"!=typeof e||!("aborted"in e)))throw new ERR_INVALID_ARG_TYPE(t,"AbortSignal",e)};class p extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n})),resolve:e,reject:t}},promisify:e=>new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))})),debuglog:()=>function(){},format:(e,...t)=>e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();return"f"===r?n.toFixed(6):"j"===r?JSON.stringify(n):"s"===r&&"object"==typeof n?`${n.constructor!==Object?n.constructor.name:""} {}`.trim():n.toString()})),inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction:e=>e instanceof c,isArrayBufferView:e=>ArrayBuffer.isView(e)},isBlob:l,deprecate:(e,t)=>e,addAbortListener:r(37007).addAbortListener||function(e,t){if(void 0===e)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);let r;return d(e,"signal"),((e,t)=>{if("function"!=typeof e)throw new ERR_INVALID_ARG_TYPE("listener","Function",e)})(t),e.aborted?queueMicrotask((()=>t())):(e.addEventListener("abort",t,{__proto__:null,once:!0,[i]:!0}),r=()=>{e.removeEventListener("abort",t)}),{__proto__:null,[o](){var e;null===(e=r)||void 0===e||e()}}},AbortSignalAny:a.any||function(e){if(1===e.length)return e[0];const t=new s,r=()=>t.abort();return e.forEach((e=>{d(e,"signals"),e.addEventListener("abort",r,{once:!0})})),t.signal.addEventListener("abort",(()=>{e.forEach((e=>e.removeEventListener("abort",r)))}),{once:!0}),t.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},85506:(e,t,r)=>{const{Buffer:n}=r(48287),{ObjectDefineProperty:i,ObjectKeys:o,ReflectApply:a}=r(24134),{promisify:{custom:s}}=r(57760),{streamReturningOperators:c,promiseReturningOperators:u}=r(60823),{codes:{ERR_ILLEGAL_CONSTRUCTOR:l}}=r(76371),d=r(47830),{setDefaultHighWaterMark:p,getDefaultHighWaterMark:h}=r(65291),{pipeline:f}=r(57758),{destroyer:y}=r(75896),g=r(86238),m=r(43095),b=r(16115),_=e.exports=r(94259).Stream;_.isDestroyed=b.isDestroyed,_.isDisturbed=b.isDisturbed,_.isErrored=b.isErrored,_.isReadable=b.isReadable,_.isWritable=b.isWritable,_.Readable=r(57576);for(const S of o(c)){const E=c[S];function v(...e){if(new.target)throw l();return _.Readable.from(a(E,this,e))}i(v,"name",{__proto__:null,value:E.name}),i(v,"length",{__proto__:null,value:E.length}),i(_.Readable.prototype,S,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}for(const T of o(u)){const O=u[T];function v(...e){if(new.target)throw l();return a(O,this,e)}i(v,"name",{__proto__:null,value:O.name}),i(v,"length",{__proto__:null,value:O.length}),i(_.Readable.prototype,T,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}_.Writable=r(78584),_.Duplex=r(93370),_.Transform=r(17382),_.PassThrough=r(86524),_.pipeline=f;const{addAbortSignal:w}=r(4147);_.addAbortSignal=w,_.finished=g,_.destroy=y,_.compose=d,_.setDefaultHighWaterMark=p,_.getDefaultHighWaterMark=h,i(_,"promises",{__proto__:null,configurable:!0,enumerable:!0,get:()=>m}),i(f,s,{__proto__:null,enumerable:!0,get:()=>m.pipeline}),i(g,s,{__proto__:null,enumerable:!0,get:()=>m.finished}),_.Stream=_,_._isUint8Array=function(e){return e instanceof Uint8Array},_._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},43095:(e,t,r)=>{"use strict";const{ArrayPrototypePop:n,Promise:i}=r(24134),{isIterable:o,isNodeStream:a,isWebStream:s}=r(16115),{pipelineImpl:c}=r(57758),{finished:u}=r(86238);r(85506),e.exports={finished:u,pipeline:function(...e){return new i(((t,r)=>{let i,u;const l=e[e.length-1];if(l&&"object"==typeof l&&!a(l)&&!o(l)&&!s(l)){const t=n(e);i=t.signal,u=t.end}c(e,((e,n)=>{e?r(e):t(n)}),{signal:i,end:u})}))}}},70742:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(24806),t)},24806:(e,t)=>{"use strict";function r(e){const t=[];let r=0;for(;re.join(""))).join("/")}function n(e,t){let n=t+1;t>=0?"/"===e[t+1]&&"/"===e[t+2]&&(n=t+3):"/"===e[0]&&"/"===e[1]&&(n=2);const i=e.indexOf("/",n);return i<0?e:e.substr(0,i)+r(e.substr(i))}function i(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(t,"__esModule",{value:!0}),t.removeDotSegmentsOfPath=t.removeDotSegments=t.resolve=void 0,t.resolve=function(e,t){const i=(t=t||"").indexOf("#");if(i>0&&(t=t.substr(0,i)),!e.length){if(t.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${t}' for value '${e}'`);return t}if(e.startsWith("?")){const r=t.indexOf("?");return r>0&&(t=t.substr(0,r)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){const t=e.indexOf(":");if(t<0)throw new Error(`Found invalid relative IRI '${e}' for a missing baseIRI`);return n(e,t)}const o=e.indexOf(":");if(o>=0)return n(e,o);const a=t.indexOf(":");if(a<0)throw new Error(`Found invalid baseIRI '${t}' for value '${e}'`);const s=t.substr(0,a+1);if(0===e.indexOf("//"))return s+n(e,o);let c;if(t.indexOf("//",a)===a+1){if(c=t.indexOf("/",a+3),c<0)return t.length>a+3?t+"/"+n(e,o):s+n(e,o)}else if(c=t.indexOf("/",a+1),c<0)return s+n(e,o);if(0===e.indexOf("/"))return t.substr(0,c)+r(e);let u=t.substr(c);const l=u.lastIndexOf("/");return l>=0&&l{var t=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[7,12,13,14,15,16,20,25,115,130],r=[7,13,16,20,25,115,130],n=[7,13,16,115,130],i=[1,25],o=[1,29],a=[1,27],s=[1,28],c=[13,16,115,130],u=[13,16,28,38,40,42,44,46,48,53,56,61,67,85,87,92,93,95,96,102,110,111,115,119,120,126,128,129,130,131,132,133,134,135,136],l=[28,56],d=[1,42],p=[46,48,53,56],h=[1,54],f=[1,60],y=[1,56],g=[1,57],m=[1,58],b=[1,63],_=[1,64],v=[1,65],w=[1,66],S=[1,67],E=[1,68],T=[1,75],O=[28,46,48,53,56],x=[28,42,46,48,53,56],A=[13,16,28,38,40,42,44,46,48,53,56,92,115,119,120,130,131,132,133,134,135,136],I=[13,16,28,38,40,42,44,46,48,53,56,67,85,87,92,95,96,115,119,120,126,128,129,130,131,132,133,134,135,136],R=[13,16,38,40,44,92,115,119,120,130,131,132,133,134,135,136],P=[13,16,28,38,40,42,44,46,48,53,56,67,85,87,92,95,96,115,117,118,119,120,126,128,129,130,131,132,133,134,135,136],F=[13,16,28,56,115,130],D=[13,16,38,58,87,96,109,115,126,130],N=[1,116],j=[1,112],C=[1,108],M=[1,114],k=[1,111],L=[7,13,16,20,25,44,48,53,56,67,85,87,95,96,115,128,129,130],U=[48,53],B=[48,53,87,96,126],V=[13,16,44,48,53,56,85,87,95,96,115,128,129,130],q=[1,126],H=[13,16,40,44,48,53,56,85,87,95,96,115,128,129,130],$=[1,129],G=[48,53,67,87,96,126],K=[13,16,40,44,48,53,56,67,85,87,95,96,115,128,129,130],Q=[1,133],z=[13,16,40,44,48,53,56,67,85,87,95,96,102,115,128,129,130],J=[13,16,40,44,48,53,56,67,85,87,93,95,96,102,110,111,115,128,129,130],W=[1,151],X=[1,153],Y=[1,156],Z=[1,157],ee=[1,158],te=[1,167],re=[1,175],ne=[13,16,44,48,53,56,67,85,87,95,96,115,128,129,130],ie=[13,16,44,48,53,56,67,85,87,95,96,115,126,128,129,130],oe=[13,16,46,92,115,119,120,130,131,132,133,134,135,136],ae={trace:function(){},yy:{},symbols_:{error:2,shaclDoc:3,shaclDoc_repetition0:4,shaclDoc_repetition1:5,ttlSection:6,EOF:7,directive:8,baseDecl:9,importsDecl:10,prefixDecl:11,KW_BASE:12,IRIREF:13,KW_IMPORTS:14,KW_PREFIX:15,PNAME_NS:16,nodeShapeIri:17,iri:18,nodeShape:19,KW_SHAPE:20,nodeShape_option0:21,nodeShape_option1:22,nodeShapeBody:23,shapeClass:24,KW_SHAPE_CLASS:25,shapeClass_option0:26,turtleAnnotation:27,";":28,turtleAnnotation2:29,predicate:30,turtleAnnotation2_option0:31,objectList:32,object:33,objectList_repetition0:34,iriOrLiteral:35,blankNodeSection:36,list:37,"(":38,list_repetition0:39,")":40,objectTail:41,",":42,LB:43,"[":44,RB:45,"]":46,LP:47,"%":48,RP:49,pcSection:50,iriHead:51,ttlStatement:52,".":53,ttlSection_repetition0:54,startNodeShape:55,"{":56,endNodeShape:57,"}":58,nodeShapeBody_repetition0:59,targetClass:60,"->":61,targetClass_repetition_plus0:62,constraint:63,constraint_group0:64,constraint_option0:65,orNotComponent:66,"|":67,nodeNot:68,nodeOrEmit:69,nodeOr:70,nodeOr_repetition_plus0:71,nodeValue:72,negation:73,nodeValue_group0:74,"=":75,iriOrLiteralOrArray:76,propertyShape:77,path:78,propertyShape_repetition0:79,propertyOrComponent:80,propertyNot:81,propertyOr:82,propertyOr_repetition_plus0:83,propertyAtom:84,NODEKIND:85,shapeRef:86,PARAM:87,propertyCount:88,propertyMinCount:89,"..":90,propertyMaxCount:91,INTEGER:92,"*":93,shapeRef_group0:94,"@":95,"!":96,pathAlternative:97,additionalAlternative:98,pathSequence:99,pathAlternative_repetition_plus0:100,additionalSequence:101,"/":102,pathEltOrInverse:103,pathSequence_repetition_plus0:104,pathElt:105,pathPrimary:106,pathMod:107,pathInverse:108,"^":109,"?":110,"+":111,iriOrLiteralOrArray_repetition0:112,literal:113,iri_group0:114,a:115,string:116,LANGTAG:117,"^^":118,DECIMAL:119,DOUBLE:120,literal_group0:121,string_group0:122,string_group1:123,shaclDoc_repetition1_group0:124,constraint_group0_repetition_plus0:125,TARGET:126,propertyShape_repetition0_group0:127,ATPNAME_LN:128,ATPNAME_NS:129,PNAME_LN:130,KW_TRUE:131,KW_FALSE:132,STRING_LITERAL1:133,STRING_LITERAL2:134,STRING_LITERAL_LONG1:135,STRING_LITERAL_LONG2:136,$accept:0,$end:1},terminals_:{2:"error",7:"EOF",12:"KW_BASE",13:"IRIREF",14:"KW_IMPORTS",15:"KW_PREFIX",16:"PNAME_NS",20:"KW_SHAPE",25:"KW_SHAPE_CLASS",28:";",38:"(",40:")",42:",",44:"[",46:"]",48:"%",53:".",56:"{",58:"}",61:"->",67:"|",75:"=",85:"NODEKIND",87:"PARAM",90:"..",92:"INTEGER",93:"*",95:"@",96:"!",102:"/",109:"^",110:"?",111:"+",115:"a",117:"LANGTAG",118:"^^",119:"DECIMAL",120:"DOUBLE",126:"TARGET",128:"ATPNAME_LN",129:"ATPNAME_NS",130:"PNAME_LN",131:"KW_TRUE",132:"KW_FALSE",133:"STRING_LITERAL1",134:"STRING_LITERAL2",135:"STRING_LITERAL_LONG1",136:"STRING_LITERAL_LONG2"},productions_:[0,[3,4],[8,1],[8,1],[8,1],[9,2],[10,2],[11,3],[17,1],[19,5],[24,4],[27,2],[29,2],[30,2],[32,2],[33,1],[33,1],[33,1],[37,3],[41,2],[43,1],[45,1],[36,3],[47,1],[49,1],[50,3],[51,1],[52,3],[6,1],[55,1],[57,1],[23,3],[60,2],[63,3],[66,2],[69,1],[70,1],[70,2],[68,1],[68,2],[72,3],[77,2],[80,2],[82,1],[82,2],[81,1],[81,2],[84,1],[84,1],[84,1],[84,3],[84,1],[88,5],[89,1],[91,1],[91,1],[86,1],[86,2],[73,1],[78,1],[98,2],[97,1],[97,2],[101,2],[99,1],[99,2],[105,1],[105,2],[103,1],[103,2],[108,1],[107,1],[107,1],[107,1],[106,1],[106,3],[76,1],[76,3],[35,1],[35,1],[18,1],[18,1],[18,1],[113,1],[113,2],[113,3],[113,1],[113,1],[113,1],[113,1],[116,1],[116,1],[4,0],[4,2],[124,1],[124,1],[5,0],[5,2],[21,0],[21,1],[22,0],[22,1],[26,0],[26,1],[31,0],[31,1],[34,0],[34,2],[39,0],[39,2],[54,0],[54,2],[59,0],[59,2],[62,1],[62,2],[125,1],[125,2],[64,1],[64,1],[65,0],[65,1],[71,1],[71,2],[74,1],[74,1],[127,1],[127,1],[79,0],[79,2],[83,1],[83,2],[94,1],[94,1],[100,1],[100,2],[104,1],[104,2],[112,0],[112,2],[114,1],[114,1],[121,1],[121,1],[122,1],[122,1],[123,1],[123,1]],performAction:function(e,t,r,n,i,o,a){var s,c,u=o.length-1;switch(i){case 1:this.$=Ie(De.factory.namedNode(Se("")),De.factory.namedNode(ce),De.factory.namedNode(be+"Ontology"));break;case 5:De.base=De.factory.namedNode(o[u].slice(1,-1)),De.n3Parser._setBase(De.base.value);break;case 6:this.$=Ie(De.base,De.factory.namedNode(be+"imports"),De.factory.namedNode(o[u].slice(1,-1)));break;case 7:this.$=De.prefixes[o[u-1].substr(0,o[u-1].length-1)]=Se(o[u]);break;case 8:De.nodeShapeStack=!1,Ie(De.currentNodeShape=o[u],De.factory.namedNode(ce),De.factory.namedNode(me+"NodeShape"));break;case 10:this.$=Ie(De.currentNodeShape,De.factory.namedNode(ce),De.factory.namedNode(_e+"Class"));break;case 11:this.$=Pe();break;case 13:this.$=o[u].forEach((e=>Ie(De.currentNodeShape,o[u-1],e)));break;case 14:this.$=[o[u-1],...o[u]];break;case 18:this.$=we(o[u-1],!0);break;case 19:case 34:case 42:case 60:case 63:this.$=o[u];break;case 20:De.tempCurrentNodeShape=De.currentNodeShape,this.$=De.currentNodeShape=Oe();break;case 21:case 24:De.currentNodeShape=De.tempCurrentNodeShape;break;case 22:case 31:this.$=o[u-2];break;case 23:De.tempCurrentNodeShape=De.currentNodeShape,De.currentNodeShape=De.currentPropertyNode;break;case 26:De.currentNodeShape=o[u];break;case 29:De.nodeShapeStack?(De.nodeShapeStack.push(De.currentNodeShape),Ie(De.currentPropertyNode,De.factory.namedNode(me+"node"),De.currentNodeShape=Oe())):De.nodeShapeStack=[],this.$=De.currentNodeShape;break;case 30:De.nodeShapeStack.length>0&&(De.currentNodeShape=De.nodeShapeStack.pop());break;case 32:this.$=o[u].forEach((e=>{Ie(De.currentNodeShape,De.factory.namedNode(me+"targetClass"),e)}));break;case 35:this.$=Ie(De.currentNodeShape,De.factory.namedNode(me+o[u][0]),o[u][1]);break;case 36:break;case 37:const e=we([o[u-1],...o[u]].map((e=>{const t=Oe();return Ie(t,De.factory.namedNode(me+e[0]),e[1]),t})));this.$=["or",e];break;case 39:case 46:this.$=function(e,t,r){const n=Oe();return Ie(n,De.factory.namedNode(me+t),r),[e,n]}("not",...o[u]);break;case 40:case 50:this.$=[o[u-2],o[u]];break;case 43:this.$=o[u]&&Re(...o[u]);break;case 44:this.$=Re("or",we([o[u-1],...o[u]].map((e=>{const t=Oe();return Ie(t,De.factory.namedNode(me+e[0]),e[1]),t}))));break;case 47:this.$=[ve[o[u].value]?"datatype":"class",o[u]];break;case 48:this.$=["nodeKind",De.factory.namedNode(me+o[u])];break;case 49:this.$=["node",De.factory.namedNode(o[u])];break;case 51:this.$=void 0;break;case 53:this.$=o[u]>0&&Re("minCount",Te(o[u],he));break;case 54:this.$=Re("maxCount",Te(o[u],he));break;case 56:this.$=Ee(o[u].slice(1));break;case 57:this.$=Se(o[u]);break;case 59:Ie(De.currentNodeShape,De.factory.namedNode(me+"property"),De.currentPropertyNode=Oe()),Re("path",o[u]);break;case 62:const t=Oe();Ie(t,De.factory.namedNode(me+"alternativePath"),we([o[u-1],...o[u]])),this.$=t;break;case 65:this.$=we([o[u-1],...o[u]]);break;case 67:Ie(this.$=Oe(),De.factory.namedNode(me+o[u]),o[u-1]);break;case 69:Ie(this.$=Oe(),De.factory.namedNode(me+"inversePath"),o[u]);break;case 71:this.$="zeroOrOnePath";break;case 72:this.$="zeroOrMorePath";break;case 73:this.$="oneOrMorePath";break;case 75:this.$=o[u-1];break;case 77:this.$=we(o[u-1]);break;case 80:this.$=De.factory.namedNode(Se(o[u]));break;case 81:this.$=De.factory.namedNode(Ee(o[u]));break;case 82:this.$=Pe(De.factory.namedNode(ce));break;case 83:this.$=Te(o[u]);break;case 84:this.$=(s=o[u-1],c=lowercase(o[u].substr(1)),De.factory.literal(s,c));break;case 85:this.$=Te(o[u-2],o[u]);break;case 86:this.$=Te(o[u],he);break;case 87:this.$=Te(o[u],fe);break;case 88:this.$=Te(o[u].toLowerCase(),ye);break;case 89:this.$=Te(o[u].toLowerCase(),ge);break;case 90:this.$=Ae(o[u],1);break;case 91:this.$=Ae(o[u],3);break;case 92:case 96:case 106:case 108:case 110:case 112:case 128:case 138:this.$=[];break;case 93:case 97:case 107:case 109:case 111:case 113:case 115:case 117:case 123:case 129:case 131:case 135:case 137:case 139:o[u-1].push(o[u]);break;case 114:case 116:case 122:case 130:case 134:case 136:this.$=[o[u]]}},table:[e(t,[2,92],{3:1,4:2}),{1:[3]},e(r,[2,96],{5:3,8:4,9:5,10:6,11:7,12:[1,8],14:[1,9],15:[1,10]}),e(n,[2,110],{6:11,124:12,54:13,19:14,24:15,20:[1,16],25:[1,17]}),e(t,[2,93]),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{13:[1,18]},{13:[1,19]},{16:[1,20]},{7:[1,21]},e(r,[2,97]),{7:[2,28],13:i,16:o,18:24,51:23,52:22,114:26,115:a,130:s},e(r,[2,94]),e(r,[2,95]),{13:i,16:o,17:30,18:31,114:26,115:a,130:s},{13:i,16:o,17:32,18:31,114:26,115:a,130:s},e(t,[2,5]),e(t,[2,6]),{13:[1,33]},{1:[2,1]},e(n,[2,111]),{13:i,16:o,18:36,29:34,30:35,114:26,115:a,130:s},e(c,[2,26]),e(u,[2,80]),e(u,[2,81]),e(u,[2,82]),e(u,[2,140]),e(u,[2,141]),e(l,[2,98],{21:37,60:38,61:[1,39]}),e([28,56,61],[2,8]),{26:40,27:41,28:d,56:[2,102]},e(t,[2,7]),{53:[1,43]},e(p,[2,104],{31:44,27:45,28:d}),{13:i,16:o,18:51,32:46,33:47,35:48,36:49,37:50,38:h,43:53,44:f,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},{22:69,27:70,28:d,56:[2,100]},e(l,[2,99]),{13:i,16:o,18:72,62:71,114:26,115:a,130:s},{23:73,55:74,56:T},{56:[2,103]},{13:i,16:o,18:36,29:76,30:35,114:26,115:a,130:s},e(n,[2,27]),e(p,[2,12]),e(p,[2,105]),e(O,[2,13]),e(x,[2,106],{34:77}),e(A,[2,15]),e(A,[2,16]),e(A,[2,17]),e(I,[2,78]),e(I,[2,79]),{13:i,16:o,18:36,29:78,30:35,114:26,115:a,130:s},e(R,[2,108],{39:79}),e(I,[2,83],{117:[1,80],118:[1,81]}),e(I,[2,86]),e(I,[2,87]),e(I,[2,88]),e(I,[2,89]),e(c,[2,20]),e(P,[2,90]),e(P,[2,91]),e(I,[2,142]),e(I,[2,143]),e(P,[2,144]),e(P,[2,145]),e(P,[2,146]),e(P,[2,147]),{23:82,55:74,56:T},{56:[2,101]},e(l,[2,32],{114:26,18:83,13:i,16:o,115:a,130:s}),e(F,[2,114]),e(r,[2,10]),e(D,[2,112],{59:84}),e(D,[2,29]),e(p,[2,11]),e(O,[2,14],{41:85,42:[1,86]}),{45:87,46:[1,88]},{13:i,16:o,18:51,33:90,35:48,36:49,37:50,38:h,40:[1,89],43:53,44:f,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(I,[2,84]),{13:i,16:o,18:91,114:26,115:a,130:s},e(r,[2,9]),e(F,[2,115]),{13:i,16:o,18:115,38:N,57:92,58:[1,94],63:93,64:95,68:102,69:98,70:100,72:104,73:105,74:107,77:97,78:99,87:j,96:C,97:101,99:103,103:106,105:109,106:113,108:110,109:M,114:26,115:a,125:96,126:k,130:s},e(x,[2,107]),{13:i,16:o,18:51,33:117,35:48,36:49,37:50,38:h,43:53,44:f,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(A,[2,22]),e(A,[2,21]),e(A,[2,18]),e(R,[2,109]),e(I,[2,85]),e(L,[2,31]),e(D,[2,113]),e(L,[2,30]),{47:120,48:[1,121],50:119,53:[2,120],65:118},e(U,[2,118],{70:100,68:102,72:104,73:105,74:107,69:122,87:j,96:C,126:k}),e(U,[2,119]),e(B,[2,116]),e(V,[2,128],{79:123}),e(B,[2,35]),e(V,[2,59]),e(B,[2,36],{71:124,66:125,67:q}),e(H,[2,61],{100:127,98:128,67:$}),e(G,[2,38]),{72:130,74:107,87:j,126:k},e(K,[2,64],{104:131,101:132,102:Q}),{75:[1,134]},e([13,16,56,85,87,95,115,126,128,129,130],[2,58]),e(z,[2,68]),{13:i,16:o,18:115,38:N,105:135,106:113,114:26,115:a,130:s},{75:[2,124]},{75:[2,125]},e(z,[2,66],{107:136,93:[1,138],110:[1,137],111:[1,139]}),e([13,16,38,115,130],[2,70]),e(J,[2,74]),{13:i,16:o,18:115,38:N,97:140,99:103,103:106,105:109,106:113,108:110,109:M,114:26,115:a,130:s},e(x,[2,19]),{53:[1,141]},{53:[2,121]},{13:i,16:o,18:36,29:142,30:35,114:26,115:a,130:s},e(c,[2,23]),e(B,[2,117]),e(U,[2,41],{114:26,55:74,127:143,88:144,82:145,81:147,84:148,73:149,18:150,86:152,23:154,94:155,13:i,16:o,44:[1,146],56:T,85:W,87:X,95:Y,96:C,115:a,128:Z,129:ee,130:s}),e(B,[2,37],{66:159,67:q}),e(G,[2,122]),{68:160,72:104,73:105,74:107,87:j,96:C,126:k},e(H,[2,62],{98:161,67:$}),e(K,[2,134]),{13:i,16:o,18:115,38:N,99:162,103:106,105:109,106:113,108:110,109:M,114:26,115:a,130:s},e(G,[2,39]),e(K,[2,65],{101:163,102:Q}),e(z,[2,136]),{13:i,16:o,18:115,38:N,103:164,105:109,106:113,108:110,109:M,114:26,115:a,130:s},{13:i,16:o,18:51,35:166,44:te,76:165,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(z,[2,69]),e(z,[2,67]),e(z,[2,71]),e(z,[2,72]),e(z,[2,73]),{40:[1,168]},e(D,[2,33]),{48:[1,170],49:169},e(V,[2,129]),e(V,[2,126]),e(V,[2,127]),{89:171,92:[1,172]},e(V,[2,43],{83:173,80:174,67:re}),e(ne,[2,45]),{13:i,16:o,18:150,23:154,55:74,56:T,84:176,85:W,86:152,87:X,94:155,95:Y,114:26,115:a,128:Z,129:ee,130:s},e(ne,[2,47]),e(ne,[2,48]),e(ne,[2,49]),{75:[1,177]},e(ne,[2,51]),e(ne,[2,56]),{13:[1,178]},e(ne,[2,132]),e(ne,[2,133]),e(G,[2,123]),e(G,[2,34]),e(K,[2,135]),e(K,[2,60]),e(z,[2,137]),e(z,[2,63]),e(G,[2,40]),e(ie,[2,76]),e(oe,[2,138],{112:179}),e(J,[2,75]),{53:[2,25]},{53:[2,24]},{90:[1,180]},{90:[2,53]},e(V,[2,44],{80:181,67:re}),e(ne,[2,130]),{13:i,16:o,18:150,23:154,55:74,56:T,73:149,81:182,84:148,85:W,86:152,87:X,94:155,95:Y,96:C,114:26,115:a,128:Z,129:ee,130:s},e(ne,[2,46]),{13:i,16:o,18:51,35:166,44:te,76:183,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(ne,[2,57]),{13:i,16:o,18:51,35:185,46:[1,184],92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},{91:186,92:[1,187],93:[1,188]},e(ne,[2,131]),e(ne,[2,42]),e(ne,[2,50]),e(ie,[2,77]),e(oe,[2,139]),{46:[1,189]},{46:[2,54]},{46:[2,55]},e(V,[2,52])],defaultActions:{21:[2,1],41:[2,103],70:[2,101],111:[2,124],112:[2,125],119:[2,121],169:[2,25],170:[2,24],172:[2,53],187:[2,54],188:[2,55]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[null],i=[],o=this.table,a="",s=0,c=0,u=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(p.yy[h]=this.yy[h]);d.setInput(e,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;i.push(f);var y,g=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,_,v,w,S,E,T,O,x={};;){if(_=r[r.length-1],this.defaultActions[_]?v=this.defaultActions[_]:(null==m&&(y=void 0,"number"!=typeof(y=d.lex()||1)&&(y=t.symbols_[y]||y),m=y),v=o[_]&&o[_][m]),void 0===v||!v.length||!v[0]){var A;for(S in O=[],o[_])this.terminals_[S]&&S>2&&O.push("'"+this.terminals_[S]+"'");A=d.showPosition?"Parse error on line "+(s+1)+":\n"+d.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:f,expected:O})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(v[0]){case 1:r.push(m),n.push(d.yytext),i.push(d.yylloc),r.push(v[1]),m=null,b?(m=b,b=null):(c=d.yyleng,a=d.yytext,s=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[v[1]][1],x.$=n[n.length-E],x._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},g&&(x._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(x,[a,c,s,p.yy,v[1],n,i].concat(l))))return w;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[v[1]][0]),n.push(x.$),i.push(x._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}};const se="http://www.w3.org/1999/02/22-rdf-syntax-ns#",ce=se+"type",ue=se+"first",le=se+"rest",de=se+"nil",pe="http://www.w3.org/2001/XMLSchema#",he=pe+"integer",fe=pe+"decimal",ye=pe+"double",ge=pe+"boolean",me="http://www.w3.org/ns/shacl#",be="http://www.w3.org/2002/07/owl#",_e="http://www.w3.org/2000/01/rdf-schema#",ve={[he]:!0,[fe]:!0,[pe+"float"]:!0,[ye]:!0,[pe+"string"]:!0,[ge]:!0,[pe+"dateTime"]:!0,[pe+"nonPositiveInteger"]:!0,[pe+"negativeInteger"]:!0,[pe+"long"]:!0,[pe+"int"]:!0,[pe+"short"]:!0,[pe+"byte"]:!0,[pe+"nonNegativeInteger"]:!0,[pe+"unsignedLong"]:!0,[pe+"unsignedShort"]:!0,[pe+"unsignedByte"]:!0,[pe+"positiveInteger"]:!0,[se+"langString"]:!0};function we(e,t=!1){let r=0,n=e.length;if(t&&0===n)return De.factory.namedNode(de);const i=head=Oe();return 0===n&&Ie(head,De.factory.namedNode(le),De.factory.namedNode(de)),e.forEach((e=>{if(void 0===e)throw new Error("b");Ie(head,De.factory.namedNode(ue),e),Ie(head,De.factory.namedNode(le),head=++r20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;ot[0].length)){if(t=r,n=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{flex:!0,"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 12;case 2:return 14;case 3:return 15;case 4:return 25;case 5:return 20;case 6:return 131;case 7:return 132;case 8:return 85;case 9:return 126;case 10:return 87;case 11:return"PASS";case 12:return"COMMENT";case 13:return 13;case 14:return 16;case 15:return 130;case 16:return 129;case 17:return 128;case 18:return 117;case 19:return 92;case 20:return 119;case 21:return 120;case 22:return"EXPONENT";case 23:return 133;case 24:return 134;case 25:return 135;case 26:return 136;case 27:return 61;case 28:return 90;case 29:return 58;case 30:return 56;case 31:return 38;case 32:return 40;case 33:return 44;case 34:return 46;case 35:return 110;case 36:return 93;case 37:return 111;case 38:return 67;case 39:return 118;case 40:return 53;case 41:return 96;case 42:return 102;case 43:return 75;case 44:return 95;case 45:return 109;case 46:return 28;case 47:return 42;case 48:return 48;case 49:return 115;case 50:return 7;case 51:console.log(t.yytext)}},rules:[/^(?:\s+|#[^\n\r]*)/i,/^(?:BASE)/i,/^(?:IMPORTS)/i,/^(?:PREFIX)/i,/^(?:shapeClass)/i,/^(?:shape)/i,/^(?:true)/i,/^(?:false)/i,/^(?:(BlankNode|IRI|Literal|BlankNodeOrIRI|BlankNodeOrLiteral|IRIOrLiteral\b))/i,/^(?:(targetNode|targetObjectsOf|targetSubjectsOf\b))/i,/^(?:(deactivated|severity|message|class|datatype|nodeKind|minExclusive|minInclusive|maxExclusive|maxInclusive|minLength|maxLength|pattern|flags|languageIn|uniqueLang|equals|disjoint|lessThan|lessThanOrEquals|qualifiedValueShape|qualifiedMinCount|qualifiedMaxCount|qualifiedValueShapesDisjoint|closed|ignoredProperties|hasValue|in))/i,/^(?:([ \t\r\n]+))/i,/^(?:(#[\r\n]*))/i,/^(?:(<([^=<>\"\{\}\|\^`\\\u0000-\u0020]|(\\u([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])|\\U([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])))*>))/i,/^(?:((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:)(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|:|[0-9]|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(@(([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:))/i,/^(?:(@((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:)(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|:|[0-9]|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(@[a-zA-Z]+(-[a-zA-Z0-9]+)*))/i,/^(?:([+-]?[0-9]+))/i,/^(?:([+-]?[0-9]*\.[0-9]+))/i,/^(?:([+-]?([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.?[0-9]+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"\']))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"\']))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"\'])))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"\'])))*"""))/i,/^(?:->)/i,/^(?:\.\.)/i,/^(?:\})/i,/^(?:\{)/i,/^(?:\()/i,/^(?:\))/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\?)/i,/^(?:\*)/i,/^(?:\+)/i,/^(?:\|)/i,/^(?:\^\^)/i,/^(?:\.)/i,/^(?:!)/i,/^(?:\/)/i,/^(?:=)/i,/^(?:@)/i,/^(?:\^)/i,/^(?:;)/i,/^(?:,)/i,/^(?:%)/i,/^(?:a)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return e}();function De(){this.yy={}}return ae.lexer=Fe,De.prototype=ae,ae.Parser=De,new De}();e.exports=t},37141:(e,t,r)=>{const n=r(5148).Parser,i=r(54378);class o{constructor(){}parse(e,{extendedSyntax:t,baseIRI:r}={}){this._parser=new n,this._parser.Parser.factory=i.DataFactory,this._parser.Parser.base=i.DataFactory.namedNode(r||"urn:x-base:default"),this._parser.Parser.extended=!0===t,this._parser.Parser.prefixes={rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",sh:"http://www.w3.org/ns/shacl#",xsd:"http://www.w3.org/2001/XMLSchema#"},this._parser.Parser.currentNodeShape=void 0,this._parser.Parser.currentPropertyNode=void 0,this._parser.Parser.nodeShapeStack=[],this._parser.Parser.tempCurrentNodeShape=void 0,this._parser.Parser.n3Parser=new i.Parser({baseIRI:r||"urn:x-base:default"});const o=[];return this._parser.Parser.onQuad=e=>{o.push(e)},this._parser.parse(e),o.prefixes=this._parser.Parser.prefixes,o}}e.exports.Parser=o,e.exports.parse=function(e,t){return(new o).parse(e,t)}},55977:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(54378),a=r(35030),s=r(46898),c=r(73423),u=i(r(11501)),l=i(r(28630)),d=i(r(76588));function p(e){var t;return null===(t=/^[^]*[#/]/.exec(e))||void 0===t?void 0:t[0]}const h={"http://www.w3.org/1999/02/22-rdf-syntax-ns#":"rdf","http://www.w3.org/2000/01/rdf-schema#":"rdfs","http://www.w3.org/ns/shacl#":"sh","http://www.w3.org/2001/XMLSchema#":"xsd"},f={rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",sh:"http://www.w3.org/ns/shacl#",xsd:"http://www.w3.org/2001/XMLSchema#"};t.default=class{constructor(e,t,r={},n=void 0,i=!0,o=!1,a,s=!1){this.store=e,this.base=n,this.errorOnExtraQuads=i,this.mintUnspecifiedPrefixes=o,this.fetch=a,this.extendedSyntax=s,this.prefixes={},this.prefixRev={};for(const e of Object.keys(r)){const t=r[e],n="string"==typeof t?t:t.value;n in h||e in f||(this.prefixRev[n]=e,this.prefixes[e]=n)}this.writer=t}write(){return n(this,void 0,void 0,(function*(){const e=this.store.getQuads(null,"http://www.w3.org/1999/02/22-rdf-syntax-ns#type","http://www.w3.org/2002/07/owl#Ontology",null);if(1!==e.length||"NamedNode"!==e[0].subject.termType)throw new Error("Base expected");{const t=e[0].subject;this.store.removeQuads(e),t.equals(new o.NamedNode("urn:x-base:default"))||this.writer.add(`BASE ${(0,s.termToString)(t)}`),yield this.writeImports(t)}if(this.mintUnspecifiedPrefixes){const e=new Set;for(const t of[...this.store.getSubjects(null,null,null),...this.store.getPredicates(null,null,null),...this.store.getObjects(null,null,null)])if("NamedNode"===t.termType){const r=p(t.value);!r||r in this.prefixRev||r in h||e.add(r)}const t=Object.assign(Object.assign({},this.prefixes),f);yield Promise.all([...e].map((e=>(0,a.uriToPrefix)(e,{fetch:this.fetch,mintOnUnknown:!0,existingPrefixes:t}).then((r=>{this.prefixes[r]=e,t[r]=e,this.prefixRev[e]=r})))))}const t=new Set([...this.store.getSubjects(null,null,null),...this.store.getPredicates(null,null,null),...this.store.getObjects(null,null,null)].filter((e=>"NamedNode"===e.termType)).map((e=>p(e.value))).filter((e=>"string"==typeof e)));for(const e in this.prefixRev)t.has(e)||(delete this.prefixes[this.prefixRev[e]],delete this.prefixRev[e]);if(yield this.writePrefixes(),this.prefixes=Object.assign(Object.assign({},this.prefixes),f),this.prefixRev=Object.assign(Object.assign({},this.prefixRev),h),this.writer.newLine(),yield this.writeShapes(),this.extendedSyntax){const e=this.store.getSubjects(null,null,null);e.length>0&&this.writer.newLine(1);for(const t of e)this.writer.add(yield this.termToString(t,!0,!0)),this.writer.add(" "),this.writer.indent(),yield this.writeTurtlePredicates(t),this.writer.deindent();e.length>0&&(this.writer.add(" ."),this.writer.newLine())}if(this.errorOnExtraQuads&&this.store.size>0)throw new Error("Dataset contains quads that cannot be written in SHACLC");this.writer.end()}))}writeImports(e){return n(this,void 0,void 0,(function*(){const t=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/2002/07/owl#imports"),null);if(t.length>0)for(const e of t)this.writer.add(`IMPORTS <${e.value}>`,!0)}))}writePrefixes(){return n(this,void 0,void 0,(function*(){const e=Object.keys(this.prefixes).filter((e=>!(e in l.default))).sort();if(e.length>0)for(const t of e)this.writer.add(`PREFIX ${t}: <${this.prefixes[t]}>`,!0)}))}termToString(e,t=!1,r=!1){return n(this,void 0,void 0,(function*(){try{if(t)throw new Error("Shacl name disabled");return(0,c.getShaclName)(e)}catch(e){}if("NamedNode"===e.termType){const t=p(e.value);return t&&t in this.prefixRev&&t in this.prefixRev?`${this.prefixRev[t]}:${e.value.slice(t.length)}`:(0,s.termToString)(e)}if("Literal"===e.termType)return"http://www.w3.org/2001/XMLSchema#integer"===e.datatypeString||"http://www.w3.org/2001/XMLSchema#boolean"===e.datatypeString?e.value:(0,s.termToString)(e);throw"BlankNode"===e.termType&&r&&(0,s.termToString)(e),new Error(`Invalid term type for extra statement ${e.value} (${e.termType})`)}))}writeShapes(){return n(this,void 0,void 0,(function*(){for(const e of this.store.getSubjectsOnce(new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),new o.NamedNode("http://www.w3.org/ns/shacl#NodeShape"),null)){this.store.getQuadsOnce(e,new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),new o.NamedNode("http://www.w3.org/2000/01/rdf-schema#Class"),null).length>0?this.writer.add("shapeClass "):this.writer.add("shape "),this.writer.add(yield this.termToString(e)),this.writer.add(" ");const t=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#targetClass"),null);if(t.length>0){this.writer.add("-> ");for(const e of t)"NamedNode"===e.termType?this.writer.add(yield this.termToString(e)):(this.writer.add("!"),this.writer.add(yield this.termToString(this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#not"),!0)))),this.writer.add(" ")}const r=this.store.getPredicates(e,null,null).filter((e=>[new o.NamedNode("http://www.w3.org/ns/shacl#targetClass"),new o.NamedNode("http://www.w3.org/ns/shacl#property"),new o.NamedNode("http://www.w3.org/ns/shacl#or"),...Object.keys(d.default).map((e=>new o.NamedNode("http://www.w3.org/ns/shacl#"+e)))].every((t=>!e.equals(t)))));r.length>0&&(this.writer.add(";"),this.writer.indent(),this.writer.newLine(1)),this.extendedSyntax&&(yield this.writeGivenTurtlePredicates(e,r)),r.length>0&&(this.writer.add(" "),this.writer.deindent()),yield this.writeShapeBody(e,!1)}}))}getSingleProperty(e,t){let r=[e];try{let n=(0,c.getShaclName)(e.predicate),i="pred";if("not"===n){const t=this.store.getQuadsOnce(e.object,null,null,null);if(r=r.concat(t),1!==t.length)throw new Error("Can only handle having one predicate of 'not'");[e]=t,n=(0,c.getShaclName)(e.predicate),i="not"}if(!(n in t))throw new Error(`${n} is not allowed`);return{name:n,type:i,object:e.object}}catch(e){this.store.addQuads(r)}}singleLayerPropertiesList(e,t){const r=[];for(const n of this.store.getQuadsOnce(e,null,null,null)){const e=this.getSingleProperty(n,t);e&&r.push(e)}return r}expectOneProperty(e,t){const r=this.store.getQuadsOnce(e,null,null,null);if(1===r.length){const e=this.getSingleProperty(r[0],t);if(e)return e}this.store.addQuads(r)}orProperties(e,t){const r=[];for(const n of this.store.getQuadsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#or"),null,null)){const e=[];for(const r of this.getList(n.object)){const i=this.expectOneProperty(r,t);if(!i)throw this.store.addQuad(n),new Error("Each entry of the 'or' statement must declare exactly one property");e.push(i)}r.push(e)}return r}getList(e){let t=e;const r=[];for(;!t.equals(new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"));)r.push(this.singleObject(t,new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first"),!0)),t=this.singleObject(t,new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest"),!0);return r}writeIriLiteralOrArray(e){return n(this,void 0,void 0,(function*(){if("BlankNode"===e.termType){this.writer.add("[");let t=!0;for(const r of this.getList(e))t?t=!1:this.writer.add(" "),this.writer.add(yield this.termToString(r));this.writer.add("]")}else this.writer.add(yield this.termToString(e))}))}singleObject(e,t,r){var n;return null===(n=this.singleQuad(e,t,r))||void 0===n?void 0:n.object}singleQuad(e,t,r=!1){const n=this.store.getQuadsOnce(e,t,null,null);if(r&&1!==n.length)throw this.store.addQuads(n),new Error(`The subject and predicate ${null==e?void 0:e.value} ${null==t?void 0:t.value} must have exactly one object. Instead has ${n.length}`);if(n.length>1)throw this.store.addQuads(n),new Error(`The subject and predicate ${null==e?void 0:e.value} ${null==t?void 0:t.value} can have at most one object. Instead has ${n.length}`);return 1===n.length?n[0]:void 0}writeAssigment({name:e,type:t,object:r}){return n(this,void 0,void 0,(function*(){"not"===t&&this.writer.add("!"),this.writer.add(e),this.writer.add("="),yield this.writeIriLiteralOrArray(r)}))}writeAtom({name:e,type:t,object:r}){return n(this,void 0,void 0,(function*(){switch("not"===t&&this.writer.add("!"),e){case"node":if("NamedNode"===r.termType)this.writer.add(`@${yield this.termToString(r)}`);else{if("BlankNode"!==r.termType)throw new Error("Invalid nested shape, must be blank node or IRI");yield this.writeShapeBody(r)}return;case"nodeKind":return void this.writer.add((0,c.getShaclName)(r));case"class":case"datatype":return void this.writer.add(yield this.termToString(r));default:this.writer.add(e),this.writer.add("="),yield this.writeIriLiteralOrArray(r)}}))}writeAssigments(e,t=" ",r=!0,i){return n(this,void 0,void 0,(function*(){for(const n of e)r?r=!1:this.writer.add(t),i?yield this.writeAtom(n):yield this.writeAssigment(n)}))}writeParams(e,t=!0,r,i=!1,o=!1){return n(this,void 0,void 0,(function*(){const n=this.orProperties(e,r),a=this.singleLayerPropertiesList(e,r);o&&(n.length>0||a.length>0)&&this.writer.newLine(1);for(const e of n)t?t=!1:this.writer.add(" "),yield this.writeAssigments(e,"|",!0,i);yield this.writeAssigments(a," ",t,i),o&&(n.length>0||a.length>0)&&this.writer.add(" .")}))}writeShapeBody(e,t=!0){return n(this,void 0,void 0,(function*(){this.writer.add("{").indent();const r=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#property"),null);yield this.writeParams(e,!0,d.default,!1,!0);for(const e of r)this.writer.newLine(1),yield this.writeProperty(e);this.writer.deindent().newLine(1),t?this.writer.add("} ."):this.writer.add("}").newLine(1)}))}writeProperty(e){return n(this,void 0,void 0,(function*(){yield this.writePath(this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#path"),!0));const t=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#minCount")),r=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#maxCount")),n=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#nodeKind")),i=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#class")),a=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#datatype")),s=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#node"),null);if(n&&(this.writer.add(" "),this.writer.add((0,c.getShaclName)(n))),i&&(this.writer.add(" "),this.writer.add(yield this.termToString(i))),a&&(this.writer.add(" "),this.writer.add(yield this.termToString(a))),void 0!==t||void 0!==r){if(this.writer.add(" ["),t){if("Literal"!==t.termType||"http://www.w3.org/2001/XMLSchema#integer"!==t.datatypeString)throw new Error("Invalid min value, must me an integer literal");this.writer.add(t.value)}else this.writer.add("0");if(this.writer.add(".."),r){if("Literal"!==r.termType||"http://www.w3.org/2001/XMLSchema#integer"!==r.datatypeString)throw new Error("Invalid max value, must me an integer literal");this.store.removeMatches(e,new o.NamedNode("http://www.w3.org/ns/shacl#maxCount"),void 0,void 0),this.writer.add(r.value)}else this.writer.add("*");this.writer.add("]")}yield this.writeParams(e,!1,u.default,!0);const l=[];for(const e of s)if("NamedNode"===e.termType)this.writer.add(" "),this.writer.add(`@${yield this.termToString(e)}`);else{if("BlankNode"!==e.termType)throw new Error("Invalid nested shape, must be blank node or IRI");l.push(e)}for(const e of l)this.writer.add(" "),yield this.writeShapeBody(e);this.extendedSyntax&&this.store.getQuads(e,null,null,null).length>0&&(this.writer.add(" %"),this.writer.indent(),this.writer.newLine(1),yield this.writeTurtlePredicates(e),this.writer.deindent(),this.writer.newLine(1),this.writer.add("%")),0===l.length&&this.writer.add(" .")}))}writeTurtlePredicates(e){return n(this,void 0,void 0,(function*(){return this.writeGivenTurtlePredicates(e,this.store.getPredicates(e,null,null))}))}writeGivenTurtlePredicates(e,t){return n(this,void 0,void 0,(function*(){let r=!1;if(t.some((e=>e.equals(o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"))))){const t=this.store.getObjectsOnce(e,o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),null);t.length>0&&(r=!0,this.writer.add("a "),yield this.writeTurtleObjects(t))}for(const n of t)n.equals(o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"))||(r?(this.writer.add(" ;"),this.writer.newLine(1)):r=!0,this.writer.add(yield this.termToString(n,!0)),this.writer.add(" "),yield this.writeTurtleObjects(this.store.getObjectsOnce(e,n,null)))}))}writeTurtleObjects(e){return n(this,void 0,void 0,(function*(){const t=[],r=[];for(const n of e)"BlankNode"===n.termType&&0===[...this.store.match(null,null,n),...this.store.match(null,n,null)].length?t.push(n):r.push(n);this.writer.add((yield Promise.all(r.map((e=>this.termToString(e,!0,!0))))).join(", "));let n=r.length>0;if(t.length>0)for(const e of t)n?this.writer.add(", "):n=!0,(yield this.writeList(e))||(this.writer.add("["),this.writer.indent(),this.writer.newLine(1),yield this.writeTurtlePredicates(e),this.writer.deindent(),this.writer.newLine(1),this.writer.add("]"))}))}writeList(e){return n(this,void 0,void 0,(function*(){let t=e;const r=[],n=[];for(;!t.equals(o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"));){const e=this.store.getQuadsOnce(t,o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first"),null,null),i=this.store.getQuadsOnce(t,o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest"),null,null);if(n.push(...e,...i),1!==e.length||1!==i.length||0!==this.store.getQuads(t,null,null,null).length)return this.store.addQuads(n),!1;r.push(e[0].object),t=i[0].object}let i=!1;this.writer.add("(");for(const e of r)i?this.writer.add(" "):i=!0,yield this.writeTurtleObjects([e]);return this.writer.add(")"),!0}))}writePath(e,t=!1){return n(this,void 0,void 0,(function*(){if("NamedNode"===e.termType)this.writer.add(yield this.termToString(e));else{if("BlankNode"!==e.termType)throw new Error("Path should be named node or blank node");{const r=this.store.getQuadsOnce(e,null,null,null);if(1===r.length){const{predicate:n,object:i}=r[0];switch(n.value){case"http://www.w3.org/ns/shacl#inversePath":return this.writer.add("^"),void(yield this.writePath(i,!0));case"http://www.w3.org/ns/shacl#alternativePath":{const e=this.getList(i);if(0===e.length)throw new Error("Invalid Alternative Path - no options");if(1===e.length)yield this.writePath(e[0]);else{t&&this.writer.add("(");let r=!0;for(const t of e)r?r=!1:this.writer.add("|"),yield this.writePath(t,!0);t&&this.writer.add(")")}return}case"http://www.w3.org/ns/shacl#zeroOrMorePath":return yield this.writePath(i,!0),void this.writer.add("*");case"http://www.w3.org/ns/shacl#oneOrMorePath":return yield this.writePath(i,!0),void this.writer.add("+");case"http://www.w3.org/ns/shacl#zeroOrOnePath":return yield this.writePath(i,!0),void this.writer.add("?");default:throw new Error(`Invalid path type ${e.value}`)}}else{this.store.addQuads(r);const n=this.getList(e);if(0===n.length)throw new Error("Invalid Path");{t&&this.writer.add("(");let e=!0;for(const t of n)e?e=!1:this.writer.add("/"),yield this.writePath(t,!0);t&&this.writer.add(")")}}}}}))}}},28630:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={owl:"http://www.w3.org/2002/07/owl#",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",sh:"http://www.w3.org/ns/shacl#",xsd:"http://www.w3.org/2001/XMLSchema#"}},94174:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.write=void 0;const o=r(54378),a=i(r(55977)),s=i(r(51167)),c=i(r(18996));t.write=function(e,t){return n(this,void 0,void 0,(function*(){return new Promise(((r,i)=>n(this,void 0,void 0,(function*(){try{let n="";const i=new c.default(e),u=i.getGraphs(null,null,null);if(u.length>1)throw new Error("More than one graph found - can serialize in the default graph");if(1===u.length&&!u[0].equals(o.DataFactory.defaultGraph()))throw new Error(`Expected all triples to be in the default graph, instead triples were in ${u[0].value}`);const l=new s.default({write:e=>{n+=e},end:()=>{let e=i.getQuads(null,null,null,null);0===e.length&&(e=void 0),r({text:n,extraQuads:e})}}),d=new a.default(i,l,null==t?void 0:t.prefixes,void 0,!1!==(null==t?void 0:t.errorOnUnused),null==t?void 0:t.mintPrefixes,null==t?void 0:t.fetch,null==t?void 0:t.extendedSyntax);yield d.write()}catch(e){i(e)}}))))}))}},76588:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={targetNode:!0,targetObjectsOf:!0,targetSubjectsOf:!0,deactivated:!0,severity:!0,message:!0,class:!0,datatype:!0,nodeKind:!0,minExclusive:!0,minInclusive:!0,maxExclusive:!0,maxInclusive:!0,minLength:!0,maxLength:!0,pattern:!0,flags:!0,languageIn:!0,equals:!0,disjoint:!0,closed:!0,ignoredProperties:!0,hasValue:!0,in:!0}},11501:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={deactivated:!0,severity:!0,message:!0,class:!0,datatype:!0,nodeKind:!0,minExclusive:!0,minInclusive:!0,maxExclusive:!0,maxInclusive:!0,minLength:!0,maxLength:!0,pattern:!0,flags:!0,languageIn:!0,uniqueLang:!0,equals:!0,disjoint:!0,lessThan:!0,lessThanOrEquals:!0,qualifiedValueShape:!0,qualifiedMinCount:!0,qualifiedMaxCount:!0,qualifiedValueShapesDisjoint:!0,closed:!0,ignoredProperties:!0,hasValue:!0,in:!0,node:!0}},73423:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShaclName=void 0,t.getShaclName=function(e){if("NamedNode"!==e.termType||!e.value.startsWith("http://www.w3.org/ns/shacl#"))throw new Error(`Term ${e.value} is not part of the SHACL namespace`);return e.value.slice(27)}},18996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(54378);class i extends n.Store{getQuadsOnce(e,t,r,n){const i=this.getQuads(e,t,r,n);return this.removeQuads(i),i}getSubjectsOnce(e,t,r){return this.getQuadsOnce(null,e,t,r).map((e=>e.subject))}getObjectsOnce(e,t,r){return this.getQuadsOnce(e,t,null,r).map((e=>e.object))}}t.default=i},51167:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.indents=0,this.write=e.write,this.end=e.end}indent(){return this.indents+=1,this}deindent(){if(this.indents<1)throw new Error(`Trying to deindent when indent is only ${this.indents}`);return this.indents-=1,this}add(e,t=!1){return this.write(t?`\n${"\t".repeat(this.indents)}${e}`:e,"utf-8"),this}newLine(e=2){return this.write("\n".repeat(e)+"\t".repeat(this.indents),"utf-8"),this}}},75735:e=>{e.exports=function(e){"use strict";var t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function r(e,t){var r=e[0],n=e[1],i=e[2],o=e[3];n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[0]-680876936|0)<<7|r>>>25)+n|0)&n|~r&i)+t[1]-389564586|0)<<12|o>>>20)+r|0)&r|~o&n)+t[2]+606105819|0)<<17|i>>>15)+o|0)&o|~i&r)+t[3]-1044525330|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[4]-176418897|0)<<7|r>>>25)+n|0)&n|~r&i)+t[5]+1200080426|0)<<12|o>>>20)+r|0)&r|~o&n)+t[6]-1473231341|0)<<17|i>>>15)+o|0)&o|~i&r)+t[7]-45705983|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[8]+1770035416|0)<<7|r>>>25)+n|0)&n|~r&i)+t[9]-1958414417|0)<<12|o>>>20)+r|0)&r|~o&n)+t[10]-42063|0)<<17|i>>>15)+o|0)&o|~i&r)+t[11]-1990404162|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[12]+1804603682|0)<<7|r>>>25)+n|0)&n|~r&i)+t[13]-40341101|0)<<12|o>>>20)+r|0)&r|~o&n)+t[14]-1502002290|0)<<17|i>>>15)+o|0)&o|~i&r)+t[15]+1236535329|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[1]-165796510|0)<<5|r>>>27)+n|0)&i|n&~i)+t[6]-1069501632|0)<<9|o>>>23)+r|0)&n|r&~n)+t[11]+643717713|0)<<14|i>>>18)+o|0)&r|o&~r)+t[0]-373897302|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[5]-701558691|0)<<5|r>>>27)+n|0)&i|n&~i)+t[10]+38016083|0)<<9|o>>>23)+r|0)&n|r&~n)+t[15]-660478335|0)<<14|i>>>18)+o|0)&r|o&~r)+t[4]-405537848|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[9]+568446438|0)<<5|r>>>27)+n|0)&i|n&~i)+t[14]-1019803690|0)<<9|o>>>23)+r|0)&n|r&~n)+t[3]-187363961|0)<<14|i>>>18)+o|0)&r|o&~r)+t[8]+1163531501|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[13]-1444681467|0)<<5|r>>>27)+n|0)&i|n&~i)+t[2]-51403784|0)<<9|o>>>23)+r|0)&n|r&~n)+t[7]+1735328473|0)<<14|i>>>18)+o|0)&r|o&~r)+t[12]-1926607734|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[5]-378558|0)<<4|r>>>28)+n|0)^n^i)+t[8]-2022574463|0)<<11|o>>>21)+r|0)^r^n)+t[11]+1839030562|0)<<16|i>>>16)+o|0)^o^r)+t[14]-35309556|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[1]-1530992060|0)<<4|r>>>28)+n|0)^n^i)+t[4]+1272893353|0)<<11|o>>>21)+r|0)^r^n)+t[7]-155497632|0)<<16|i>>>16)+o|0)^o^r)+t[10]-1094730640|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[13]+681279174|0)<<4|r>>>28)+n|0)^n^i)+t[0]-358537222|0)<<11|o>>>21)+r|0)^r^n)+t[3]-722521979|0)<<16|i>>>16)+o|0)^o^r)+t[6]+76029189|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[9]-640364487|0)<<4|r>>>28)+n|0)^n^i)+t[12]-421815835|0)<<11|o>>>21)+r|0)^r^n)+t[15]+530742520|0)<<16|i>>>16)+o|0)^o^r)+t[2]-995338651|0)<<23|n>>>9)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[0]-198630844|0)<<6|r>>>26)+n|0)|~i))+t[7]+1126891415|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[14]-1416354905|0)<<15|i>>>17)+o|0)|~r))+t[5]-57434055|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[12]+1700485571|0)<<6|r>>>26)+n|0)|~i))+t[3]-1894986606|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[10]-1051523|0)<<15|i>>>17)+o|0)|~r))+t[1]-2054922799|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[8]+1873313359|0)<<6|r>>>26)+n|0)|~i))+t[15]-30611744|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[6]-1560198380|0)<<15|i>>>17)+o|0)|~r))+t[13]+1309151649|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[4]-145523070|0)<<6|r>>>26)+n|0)|~i))+t[11]-1120210379|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[2]+718787259|0)<<15|i>>>17)+o|0)|~r))+t[9]-343485551|0)<<21|n>>>11)+i|0,e[0]=r+e[0]|0,e[1]=n+e[1]|0,e[2]=i+e[2]|0,e[3]=o+e[3]|0}function n(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return r}function i(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return r}function o(e){var t,i,o,a,s,c,u=e.length,l=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=u;t+=64)r(l,n(e.substring(t-64,t)));for(i=(e=e.substring(t-64)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t>2]|=e.charCodeAt(t)<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(r(l,o),t=0;t<16;t+=1)o[t]=0;return a=(a=8*u).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),c=parseInt(a[1],16)||0,o[14]=s,o[15]=c,r(l,o),l}function a(e){var r,n="";for(r=0;r<4;r+=1)n+=t[e>>8*r+4&15]+t[e>>8*r&15];return n}function s(e){var t;for(t=0;tu?new ArrayBuffer(0):(n=u-c,i=new ArrayBuffer(n),o=new Uint8Array(i),a=new Uint8Array(this,c,n),o.set(a),i)}}(),l.prototype.append=function(e){return this.appendBinary(c(e)),this},l.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,i=this._buff.length;for(t=64;t<=i;t+=64)r(this._hash,n(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},l.prototype.end=function(e){var t,r,n=this._buff,i=n.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t>2]|=n.charCodeAt(t)<<(t%4<<3);return this._finish(o,i),r=s(this._hash),e&&(r=u(r)),this.reset(),r},l.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},l.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},l.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},l.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},l.prototype._finish=function(e,t){var n,i,o,a=t;if(e[a>>2]|=128<<(a%4<<3),a>55)for(r(this._hash,e),a=0;a<16;a+=1)e[a]=0;n=(n=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),o=parseInt(n[1],16)||0,e[14]=i,e[15]=o,r(this._hash,e)},l.hash=function(e,t){return l.hashBinary(c(e),t)},l.hashBinary=function(e,t){var r=s(o(e));return t?u(r):r},l.ArrayBuffer=function(){this.reset()},l.ArrayBuffer.prototype.append=function(e){var t,n,o,a,s,c=(n=this._buff.buffer,o=e,a=!0,(s=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n)),s.set(new Uint8Array(o),n.byteLength),a?s:s.buffer),u=c.length;for(this._length+=e.byteLength,t=64;t<=u;t+=64)r(this._hash,i(c.subarray(t-64,t)));return this._buff=t-64>2]|=n[t]<<(t%4<<3);return this._finish(o,i),r=s(this._hash),e&&(r=u(r)),this.reset(),r},l.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},l.ArrayBuffer.prototype.getState=function(){var e,t=l.prototype.getState.call(this);return t.buff=(e=t.buff,String.fromCharCode.apply(null,new Uint8Array(e))),t},l.ArrayBuffer.prototype.setState=function(e){return e.buff=function(e,t){var r,n=e.length,i=new ArrayBuffer(n),o=new Uint8Array(i);for(r=0;r>2]|=e[t]<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(r(l,o),t=0;t<16;t+=1)o[t]=0;return a=(a=8*u).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),c=parseInt(a[1],16)||0,o[14]=s,o[15]=c,r(l,o),l}(new Uint8Array(e)));return t?u(n):n},l}()},96331:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.toSparqlJs=t.toSparql=t.Factory=t.Algebra=t.translate=void 0;const s=a(r(73776));t.translate=s.default;const c=o(r(13079));t.Algebra=c;const u=a(r(91409));t.Factory=u.default;const l=r(3698);Object.defineProperty(t,"toSparql",{enumerable:!0,get:function(){return l.toSparql}}),Object.defineProperty(t,"toSparqlJs",{enumerable:!0,get:function(){return l.toSparqlJs}});const d=a(r(64995));t.Util=d.default},13079:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.expressionTypes=t.types=void 0,(n=t.types||(t.types={})).ALT="alt",n.ASK="ask",n.BGP="bgp",n.CONSTRUCT="construct",n.DESCRIBE="describe",n.DISTINCT="distinct",n.EXPRESSION="expression",n.EXTEND="extend",n.FILTER="filter",n.FROM="from",n.GRAPH="graph",n.GROUP="group",n.INV="inv",n.JOIN="join",n.LEFT_JOIN="leftjoin",n.LINK="link",n.MINUS="minus",n.NOP="nop",n.NPS="nps",n.ONE_OR_MORE_PATH="OneOrMorePath",n.ORDER_BY="orderby",n.PATH="path",n.PATTERN="pattern",n.PROJECT="project",n.REDUCED="reduced",n.SEQ="seq",n.SERVICE="service",n.SLICE="slice",n.UNION="union",n.VALUES="values",n.ZERO_OR_MORE_PATH="ZeroOrMorePath",n.ZERO_OR_ONE_PATH="ZeroOrOnePath",n.COMPOSITE_UPDATE="compositeupdate",n.DELETE_INSERT="deleteinsert",n.LOAD="load",n.CLEAR="clear",n.CREATE="create",n.DROP="drop",n.ADD="add",n.MOVE="move",n.COPY="copy",(r=t.expressionTypes||(t.expressionTypes={})).AGGREGATE="aggregate",r.EXISTENCE="existence",r.NAMED="named",r.OPERATOR="operator",r.TERM="term",r.WILDCARD="wildcard"},91409:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(13079)),s=r(47793),c=r(43347),u=r(98082);t.default=class{constructor(e){this.dataFactory=e||new s.DataFactory,this.stringType=this.createTerm("http://www.w3.org/2001/XMLSchema#string")}createAlt(e,t=!0){return this.flattenMulti({type:a.types.ALT,input:e},t)}createAsk(e){return{type:a.types.ASK,input:e}}createBoundAggregate(e,t,r,n,i){const o=this.createAggregateExpression(t,r,n,i);return o.variable=e,o}createBgp(e){return{type:a.types.BGP,patterns:e}}createConstruct(e,t){return{type:a.types.CONSTRUCT,input:e,template:t}}createDescribe(e,t){return{type:a.types.DESCRIBE,input:e,terms:t}}createDistinct(e){return{type:a.types.DISTINCT,input:e}}createExtend(e,t,r){return{type:a.types.EXTEND,input:e,variable:t,expression:r}}createFrom(e,t,r){return{type:a.types.FROM,input:e,default:t,named:r}}createFilter(e,t){return{type:a.types.FILTER,input:e,expression:t}}createGraph(e,t){return{type:a.types.GRAPH,input:e,name:t}}createGroup(e,t,r){return{type:a.types.GROUP,input:e,variables:t,aggregates:r}}createInv(e){return{type:a.types.INV,path:e}}createJoin(e,t=!0){return this.flattenMulti({type:a.types.JOIN,input:e},t)}createLeftJoin(e,t,r){return r?{type:a.types.LEFT_JOIN,input:[e,t],expression:r}:{type:a.types.LEFT_JOIN,input:[e,t]}}createLink(e){return{type:a.types.LINK,iri:e}}createMinus(e,t){return{type:a.types.MINUS,input:[e,t]}}createNop(){return{type:a.types.NOP}}createNps(e){return{type:a.types.NPS,iris:e}}createOneOrMorePath(e){return{type:a.types.ONE_OR_MORE_PATH,path:e}}createOrderBy(e,t){return{type:a.types.ORDER_BY,input:e,expressions:t}}createPath(e,t,r,n){return n?{type:a.types.PATH,subject:e,predicate:t,object:r,graph:n}:{type:a.types.PATH,subject:e,predicate:t,object:r,graph:this.dataFactory.defaultGraph()}}createPattern(e,t,r,n){const i=this.dataFactory.quad(e,t,r,n);return i.type=a.types.PATTERN,i}createProject(e,t){return{type:a.types.PROJECT,input:e,variables:t}}createReduced(e){return{type:a.types.REDUCED,input:e}}createSeq(e,t=!0){return this.flattenMulti({type:a.types.SEQ,input:e},t)}createService(e,t,r){return{type:a.types.SERVICE,input:e,name:t,silent:Boolean(r)}}createSlice(e,t,r){return t=t||0,void 0!==r?{type:a.types.SLICE,input:e,start:t,length:r}:{type:a.types.SLICE,input:e,start:t}}createUnion(e,t=!0){return this.flattenMulti({type:a.types.UNION,input:e},t)}createValues(e,t){return{type:a.types.VALUES,variables:e,bindings:t}}createZeroOrMorePath(e){return{type:a.types.ZERO_OR_MORE_PATH,path:e}}createZeroOrOnePath(e){return{type:a.types.ZERO_OR_ONE_PATH,path:e}}createAggregateExpression(e,t,r,n){return n?{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,separator:n,distinct:r}:{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,distinct:r}}createExistenceExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.EXISTENCE,not:e,input:t}}createNamedExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.NAMED,name:e,args:t}}createOperatorExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.OPERATOR,operator:e,args:t}}createTermExpression(e){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.TERM,term:e}}createWildcardExpression(){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.WILDCARD,wildcard:new u.Wildcard}}createTerm(e){return"$"===e[0]&&(e=e.replace("$","?")),(0,c.stringToTerm)(e,this.dataFactory)}createCompositeUpdate(e){return{type:a.types.COMPOSITE_UPDATE,updates:e}}createDeleteInsert(e,t,r){const n={type:a.types.DELETE_INSERT};return e&&(n.delete=e),t&&(n.insert=t),r&&(n.where=r),n}createLoad(e,t,r){const n={type:a.types.LOAD,source:e};return t&&(n.destination=t),this.addSilent(n,Boolean(r))}createClear(e,t){return this.addSilent({type:a.types.CLEAR,source:e},Boolean(t))}createCreate(e,t){return this.addSilent({type:a.types.CREATE,source:e},Boolean(t))}createDrop(e,t){return this.addSilent({type:a.types.DROP,source:e},Boolean(t))}createAdd(e,t,r){return this.addSilent({type:a.types.ADD,source:e,destination:t},Boolean(r))}createMove(e,t,r){return this.addSilent({type:a.types.MOVE,source:e,destination:t},Boolean(r))}createCopy(e,t,r){return this.addSilent({type:a.types.COPY,source:e,destination:t},Boolean(r))}addSilent(e,t){return t&&(e.silent=t),e}flattenMulti(e,t){if(!t)return e;const r=e.type,n=e.input;let i=[];for(const e of n)e.type===r?i.push(...e.input):i.push(e);return e.input=i,e}}},3698:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.toSparqlJs=t.toSparql=void 0;const s=r(62699),c=r(43347),u=r(98082),l=o(r(13079)),d=a(r(91409)),p=a(r(64995)),h=l.types,f=l.expressionTypes;let y;const g=new d.default;function m(e){b();let t=_(e=function(e){return D(e,[])}(e));return"group"===t.type?t.patterns[0]:t}function b(){y={project:!1,extend:[],group:[],aggregates:[],order:[]}}function _(e){switch(e.type!==h.EXTEND&&e.type!==h.ORDER_BY&&e.type!==h.GRAPH&&(y.project=!1),e.type){case h.EXPRESSION:return v(e);case h.ASK:return A(e,h.ASK);case h.BGP:return function(e){let t=e.patterns.map(O);return 0===t.length?null:{type:"bgp",triples:t}}(e);case h.CONSTRUCT:return function(e){return{type:"query",prefixes:{},queryType:"CONSTRUCT",template:e.template.map(O),where:p.default.flatten([_(e.input)])}}(e);case h.DESCRIBE:return A(e,h.DESCRIBE);case h.DISTINCT:return function(e){let t=_(e.input);return t.patterns[0].distinct=!0,t}(e);case h.EXTEND:return function(e){return y.project?(y.extend.push(e),_(e.input)):p.default.flatten([_(e.input),{type:"bind",variable:e.variable,expression:v(e.expression)}])}(e);case h.FROM:return function(e){const t=_(e.input);let r=t;return"group"===t.type&&(r=t.patterns[0]),r.from={default:e.default,named:e.named},t}(e);case h.FILTER:return function(e){return{type:"group",patterns:p.default.flatten([_(e.input),{type:"filter",expression:v(e.expression)}])}}(e);case h.GRAPH:return function(e){return{type:"graph",patterns:p.default.flatten([_(e.input)]),name:e.name}}(e);case h.GROUP:return function(e){const t=_(e.input),r=e.aggregates.map(T);return y.aggregates.push(...r),y.group.push(...e.variables),t}(e);case h.JOIN:return function(e){return p.default.flatten(e.input.map(_)).reduce(((e,t)=>("bgp"!==t.type||0==e.length||"bgp"!==e[e.length-1].type?e.push(t):e[e.length-1].triples.push(...t.triples),e)),[])}(e);case h.LEFT_JOIN:return function(e){const t={type:"optional",patterns:[_(e.input[1])]};return e.expression&&t.patterns.push({type:"filter",expression:v(e.expression)}),t.patterns=p.default.flatten(t.patterns),p.default.flatten([_(e.input[0]),t])}(e);case h.MINUS:return function(e){let t=_(e.input[1]);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),p.default.flatten([_(e.input[0]),{type:"minus",patterns:t}])}(e);case h.NOP:return{};case h.ORDER_BY:return function(e){return y.order.push(...e.expressions),_(e.input)}(e);case h.PATH:return function(e){return{type:"bgp",triples:[{subject:e.subject,predicate:w(e.predicate),object:e.object}]}}(e);case h.PATTERN:return O(e);case h.PROJECT:return A(e,h.PROJECT);case h.REDUCED:return function(e){let t=_(e.input);return t.patterns[0].reduced=!0,t}(e);case h.SERVICE:return function(e){let t=_(e.input);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),{type:"service",name:e.name,silent:e.silent,patterns:t}}(e);case h.SLICE:return function(e){let t=_(e.input),r=t;return t.type&&"group"===t.type&&(r=t.patterns[0]),0!==e.start&&(r.offset=e.start),void 0!==e.length&&(r.limit=e.length),t}(e);case h.UNION:return function(e){return{type:"union",patterns:e.input.map(_).map(E)}}(e);case h.VALUES:return function(e){return{type:"values",values:e.bindings.map((t=>{let r={};for(let n of e.variables){let e=`?${n.value}`;t[e]?r[e]=t[e]:r[e]=void 0}return r}))}}(e);case h.COMPOSITE_UPDATE:return function(e){return{prefixes:{},type:"update",updates:e.updates.map((e=>_(e).updates[0]))}}(e);case h.DELETE_INSERT:return function(e){var t;let r,n=e.where;if(n&&n.type===h.FROM){let e=n;n=e.input,r={default:e.default,named:e.named}}const i=[{updateType:"insertdelete",delete:F(e.delete||[]),insert:F(e.insert||[])}];if(r&&(i[0].using=r),!n||n.type===h.BGP&&0===n.patterns.length)i[0].where=[];else{const e=[];let r=_(D(n,e));if("group"===r.type?i[0].where=r.patterns:i[0].where=[r],e.length>0){if(1!==e.length)throw new Error("This is unexpected and might indicate an error in graph handling for updates.");""!==(null===(t=e[0])||void 0===t?void 0:t.value)&&(i[0].where=[{type:"graph",patterns:i[0].where,name:e[0]}])}}return e.delete||e.where?e.insert||e.where?!e.insert&&e.where&&"bgp"===e.where.type&&(0,s.isomorphic)(e.delete,e.where.patterns)&&(delete i[0].where,i[0].updateType="deletewhere"):(delete i[0].insert,delete i[0].where,e.delete.some((e=>"Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType))?i[0].updateType="deletewhere":i[0].updateType="delete"):(i[0].updateType="insert",delete i[0].delete,delete i[0].where),{prefixes:{},type:"update",updates:i}}(e);case h.LOAD:return function(e){const t=[{type:"load",silent:Boolean(e.silent),source:e.source}];return e.destination&&(t[0].destination=e.destination),{prefixes:{},type:"update",updates:t}}(e);case h.CLEAR:return function(e){return R(e,"clear")}(e);case h.CREATE:return function(e){return R(e,"create")}(e);case h.DROP:return function(e){return R(e,"drop")}(e);case h.ADD:return function(e){return P(e,"add")}(e);case h.MOVE:return function(e){return P(e,"move")}(e);case h.COPY:return function(e){return P(e,"copy")}(e)}throw new Error(`Unknown Operation type ${e.type}`)}function v(e){switch(e.expressionType){case f.AGGREGATE:return function(e){const t={expression:v(e.expression),type:"aggregate",aggregation:e.aggregator,distinct:e.distinct};return e.separator&&(t.separator=e.separator),t}(e);case f.EXISTENCE:return function(e){return{type:"operation",operator:e.not?"notexists":"exists",args:[{type:"group",patterns:p.default.flatten([_(e.input)])}]}}(e);case f.NAMED:return function(e){return{type:"functionCall",function:e.name,args:e.args.map(v)}}(e);case f.OPERATOR:return function(e){if("desc"===e.operator){return{expression:v(e.args[0]),descending:!0}}const t={type:"operation",operator:e.operator,args:e.args.map(v)};return"in"!==t.operator&&"notin"!==t.operator||(t.args=[t.args[0]].concat([t.args.slice(1)])),t}(e);case f.TERM:return function(e){return e.term}(e);case f.WILDCARD:return function(e){return e.wildcard}(e)}throw new Error(`Unknown Expression Operation type ${e.expressionType}`)}function w(e){switch(e.type){case h.ALT:return function(e){const t=e.input.map(w);return t.every((e=>"pathType"in e&&"!"===e.pathType))?{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:p.default.flatten(t.map((e=>e.items)))}]}:{type:"path",pathType:"|",items:t}}(e);case h.INV:return function(e){if(e.path.type===h.NPS){const t=e.path.iris.map((e=>({type:"path",pathType:"^",items:[e]})));return t.length<=1?{type:"path",pathType:"!",items:t}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:t}]}}return{type:"path",pathType:"^",items:[w(e.path)]}}(e);case h.LINK:return function(e){return e.iri}(e);case h.NPS:return function(e){return e.iris.length<=1?{type:"path",pathType:"!",items:e.iris}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:e.iris}]}}(e);case h.ONE_OR_MORE_PATH:return function(e){return{type:"path",pathType:"+",items:[w(e.path)]}}(e);case h.SEQ:return function(e){return{type:"path",pathType:"/",items:e.input.map(w)}}(e);case h.ZERO_OR_MORE_PATH:return function(e){return{type:"path",pathType:"*",items:[w(e.path)]}}(e);case h.ZERO_OR_ONE_PATH:return function(e){return{type:"path",pathType:"?",items:[w(e.path)]}}(e)}throw new Error(`Unknown Path type ${e.type}`)}function S(e){return(0,c.termToString)(e)}function E(e){return Array.isArray(e)?1===e.length?e[0]:{type:"group",patterns:e}:e}function T(e){return e}function O(e){return{subject:e.subject,predicate:e.predicate,object:e.object}}function x(e,t){let r=p.default.isSimpleTerm(e)?S(e):e;if("string"==typeof r){if(t[r])return t[r]}else if(Array.isArray(e))e=e.map((e=>x(e,t)));else for(let r of Object.keys(e))e[r]=x(e[r],t);return e}function A(e,t){const r={type:"query",prefixes:{}},n=r;let i;t===h.PROJECT?(r.queryType="SELECT",i=e.variables):t===h.ASK?r.queryType="ASK":t===h.DESCRIBE&&(r.queryType="DESCRIBE",i=e.terms);const o=y.extend,a=y.group,s=y.aggregates,l=y.order;b(),y.project=!0;let d=p.default.flatten([_(e.input)]);1===d.length&&"group"===d[0].type&&(d=d[0].patterns),r.where=d;let f={};for(let e of y.aggregates)f[S(e.variable)]=v(e);let g={};for(let e=y.extend.length-1;e>=0;--e){let t=y.extend[e];g[S(t.variable)]=x(v(t.expression),f)}y.group.length>0&&(n.group=y.group.map((e=>{let t=S(e);if(g[t]){let r=g[t];return delete g[t],{variable:e,expression:r}}return{expression:e}}))),y.order.length>0&&(n.order=y.order.map(_).map((e=>e.descending?e:{expression:e}))),i&&(n.variables=i.map((e=>{let t=S(e);if(g[t]){let r=g[t];return delete g[t],{variable:e,expression:r}}return e})),0===n.variables.length&&(n.variables=[new u.Wildcard]));const m=Object.entries(g);if(m.length>0){n.where=n.where||[];for(const[e,t]of m)n.where.push({type:"bind",variable:(0,c.stringToTerm)(e),expression:t})}if(r.where.length>0&&"filter"===r.where[r.where.length-1].type){const e=r.where[r.where.length-1];I(e,Object.keys(f))&&(n.having=p.default.flatten([x(e.expression,f)]),r.where.splice(-1))}return y.extend=o,y.group=a,y.aggregates=s,y.order=l,{type:"group",patterns:[n]}}function I(e,t){return p.default.isSimpleTerm(e)?t.indexOf(S(e))>=0:Array.isArray(e)?e.some((e=>I(e,t))):e===Object(e)?Object.keys(e).some((r=>I(e[r],t))):t.indexOf(e)>=0}function R(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return"DEFAULT"===e.source?r[0].graph={default:!0}:"NAMED"===e.source?r[0].graph={named:!0}:"ALL"===e.source?r[0].graph={all:!0}:r[0].graph={type:"graph",name:e.source},{prefixes:{},type:"update",updates:r}}function P(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return r[0].source="DEFAULT"===e.source?{type:"graph",default:!0}:{type:"graph",name:e.source},r[0].destination="DEFAULT"===e.destination?{type:"graph",default:!0}:{type:"graph",name:e.destination},{prefixes:{},type:"update",updates:r}}function F(e){if(!e)return[];const t={};return e.forEach((e=>{const r=e.graph.value;t[r]||(t[r]=[]),t[r].push(e)})),Object.keys(t).map((e=>""===e?{type:"bgp",triples:t[e].map(O)}:{type:"graph",triples:t[e].map(O),name:t[e][0].graph}))}function D(e,t){if(Array.isArray(e))return e.map((e=>D(e,t)));if(!e.type)return e;if(e.type===h.DELETE_INSERT)return e;if((e.type===h.PATTERN||e.type===h.PATH)&&e.graph)return t.push(e.graph),""!==e.graph.name?e.type===h.PATTERN?g.createPattern(e.subject,e.predicate,e.object):g.createPath(e.subject,e.predicate,e.object):e;const r={},n={},i={};for(let t of Object.keys(e)){const o=[];if(r[t]=D(e[t],o),o.length>0){n[t]=o;for(const e of o)i[e.value]=e}}const o=Object.keys(i);if(o.length>0)if(1!==o.length||[h.PROJECT,h.SERVICE].includes(e.type)){if(e.type===h.BGP)return function(e,t){var r;const n={};for(let i=0;i""===n[e][0].value?t:g.createGraph(t,n[e][r]))):""!==n[e][0].value&&(r[e]=g.createGraph(t,n[e][0]))}}else t.push(i[o[0]]);return r}t.toSparql=function(e,t={}){return new u.Generator(t).stringify(m(e))},t.toSparqlJs=m},73776:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(29252),c=r(43347),u=o(r(13079)),l=a(r(91409)),d=a(r(64995)),p=r(98082).Parser,h=u.types;let f,y=new Set,g=0,m=!1;function b(e,t,r){if(y=new Set,g=0,m=Boolean(t),!e.type)return f.createNop();if("query"!==e.type&&"update"!==e.type)throw new Error("Translate only works on complete query or update objects.");let n;var i;return w(e),"query"===e.type?(n=E({type:"group",patterns:e.where||[]}),n=function(e,t){const r=e,n=[],i={};if(r.variables=r.variables&&r.variables.map((e=>j(e,i))),r.having=r.having&&r.having.map((e=>j(e,i))),r.order=r.order&&r.order.map((e=>j(e,i))),r.group||Object.keys(i).length>0){const e=Object.keys(i).map((e=>function(e,t){if("aggregate"!==e.type||!e.aggregation)throw new Error(`Unexpected input: ${JSON.stringify(e)}`);const r=T(e);return r.variable=t,r}(i[e],f.createTerm(e)))),n=[];if(r.group)for(const e of r.group)if(d.default.isSimpleTerm(e.expression))n.push(e.expression);else{const r="variable"in e?e.variable:A();t=f.createExtend(t,r,T(e.expression)),n.push(r)}t=f.createGroup(t,n,e)}if(r.having)for(let e of r.having)t=f.createFilter(t,T(e));e.values&&(t=f.createJoin([t,N(e)]));let o=[];if("SELECT"===e.queryType||"DESCRIBE"===e.queryType)if(e.variables.some((e=>e&&d.default.isWildcard(e))))o=Object.values(S(e)).sort(((e,t)=>e.value.localeCompare(t.value)));else for(let t of e.variables)v(t)||!("variable"in t)?o.push(t):t.variable&&(o.push(t.variable),n.push(t));for(let e of n)t=f.createExtend(t,e.variable,T(e.expression));return r.order&&(t=f.createOrderBy(t,r.order.map((e=>{let t=T(e.expression);return e.descending&&(t=f.createOperatorExpression("desc",[t])),t})))),"SELECT"===e.queryType&&(t=f.createProject(t,o)),r.distinct&&(t=f.createDistinct(t)),r.reduced&&(t=f.createReduced(t)),"CONSTRUCT"===e.queryType?t=f.createConstruct(t,(e.template||[]).map(I)):"ASK"===e.queryType?t=f.createAsk(t):"DESCRIBE"===e.queryType&&(t=f.createDescribe(t,o)),(r.offset||r.limit)&&(t=f.createSlice(t,r.offset||0,r.limit)),r.from&&(t=f.createFrom(t,r.from.default,r.from.named)),t}(e,n)):"update"===e.type&&(n=1===(i=e).updates.length?C(i.updates[0]):f.createCompositeUpdate(i.updates.map(C))),r&&(n=k(n)),n}function _(e){return Boolean(null==e?void 0:e.termType)}function v(e){return"Variable"===(null==e?void 0:e.termType)}function w(e){if(_(e))v(e)&&y.add(`?${e.value}`);else if(Array.isArray(e))for(const t of e)w(t);else if(e&&"object"==typeof e)for(let t of Object.keys(e))t.startsWith("?")?y.add(t):t.startsWith("$")&&y.add(`?${t.slice(1)}`),w(e[t])}function S(e){let t={};if((r=e).subject&&r.predicate&&r.object){const r=[S(e.subject),S(e.predicate),S(e.object),e.graph?S(e.graph):{}];Object.assign(t,...r)}else if(_(e))v(e)&&(t[e.value]=e);else if("bgp"===e.type){const r=e.triples;Object.assign(t,...r.map(S))}else if("path"===e.type)Object.assign(t,...e.items.map(S));else if("group"===e.type||"union"===e.type||"optional"===e.type)Object.assign(t,...e.patterns.map(S));else if("service"===e.type||"graph"===e.type)Object.assign(t,S(e.name)),Object.assign(t,...e.patterns.map(S));else if("bind"===e.type)Object.assign(t,S(e.variable));else if("values"===e.type){if(e.values.length>0){const r=Object.keys(e.values[0]).map((e=>f.createTerm(e)));Object.assign(t,...r.map(S))}}else if("query"===e.type&&("SELECT"===e.queryType||"DESCRIBE"===e.queryType)){e.where&&e.variables.some(d.default.isWildcard)&&Object.assign(t,...e.where.map(S));for(const r of e.variables)v(r)?Object.assign(t,S(r)):r.variable&&Object.assign(t,S(r.variable));if("SELECT"===e.queryType){if(e.group)for(const r of e.group)r.variable&&Object.assign(t,S(r.variable));if(e.values){const r={type:"values",values:e.values};Object.assign(t,S(r))}}}var r;return t}function E(e){if("bgp"===e.type)return function(e){let t=[],r=[];for(let i of e.triples)if("pathType"in i.predicate){let e=x((n=i).subject,O(n.predicate),n.object);for(let n of e)n.type===h.PATH?(t.length>0&&r.push(f.createBgp(t)),t=[],r.push(n)):t.push(n)}else t.push(I(i));var n;return t.length>0&&r.push(f.createBgp(t)),1===r.length?r[0]:f.createJoin(r)}(e);if("union"===e.type)return f.createUnion(e.patterns.map((e=>("group"!==e.type&&(e={type:"group",patterns:[e]}),E(e)))));if("graph"===e.type){let t=E({type:"group",patterns:e.patterns});return t=m?P(t,e.name):f.createGraph(t,e.name),t}if("values"===e.type)return N(e);if("query"===e.type)return b(e,m,!1);if("group"===e.type){let t=[],r=[];for(let n of e.patterns)("filter"===n.type?t:r).push(n);let n=r.reduce(F,f.createBgp([])),i=t.map((e=>T(e.expression)));return i.length>0&&(n=f.createFilter(n,i.reduce(((e,t)=>f.createOperatorExpression("&&",[e,t]))))),n}throw new Error(`Unexpected type: ${e.type}`)}function T(e){if(d.default.isSimpleTerm(e))return f.createTermExpression(e);if(d.default.isQuad(e))return d.default.hasQuadVariables(e)?f.createOperatorExpression("triple",[T(e.subject),T(e.predicate),T(e.object)]):f.createTermExpression(e);if(d.default.isWildcard(e))return f.createWildcardExpression();if("aggregation"in e)return f.createAggregateExpression(e.aggregation,T(e.expression),Boolean(e.distinct),e.separator);if("function"in e)return f.createNamedExpression(e.function,e.args.map(T));if("operator"in e)return"exists"===e.operator||"notexists"===e.operator?f.createExistenceExpression("notexists"===e.operator,E(e.args[0])):("in"!==e.operator&&"notin"!==e.operator||(e.args=[e.args[0]].concat(e.args[1])),f.createOperatorExpression(e.operator,e.args.map(T)));throw new Error(`Unknown expression: ${JSON.stringify(e)}`)}function O(e){if(d.default.isSimpleTerm(e)){if("NamedNode"===e.termType)return f.createLink(e);throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(e)}`)}if("^"===e.pathType)return f.createInv(O(e.items[0]));if("!"===e.pathType){let t,r=[],n=[];t="pathType"in e.items[0]&&"|"===e.items[0].pathType?e.items[0].items:e.items;for(let e of t)if(d.default.isSimpleTerm(e))r.push(e);else{if("^"!==e.pathType)throw new Error(`Unexpected item: ${JSON.stringify(e)}`);n.push(e.items[0])}let i=f.createNps(r),o=f.createInv(f.createNps(n));return 0===n.length?i:0===r.length?o:f.createAlt([i,o])}if("/"===e.pathType)return f.createSeq(e.items.map(O));if("|"===e.pathType)return f.createAlt(e.items.map(O));if("*"===e.pathType)return f.createZeroOrMorePath(O(e.items[0]));if("+"===e.pathType)return f.createOneOrMorePath(O(e.items[0]));if("?"===e.pathType)return f.createZeroOrOnePath(O(e.items[0]));throw new Error(`Unable to translate path expression ${JSON.stringify(e)}`)}function x(e,t,r){if(t.type===h.LINK)return[f.createPattern(e,t.iri,r)];if(t.type===h.INV)return x(r,t.path,e);if(t.type===h.SEQ){let n=e;return d.default.flatten(t.input.map(((e,i)=>{const o=i===t.input.length-1?r:A(),a=x(n,e,o);return"Variable"===o.termType&&(n=o),a})))}return[f.createPath(e,t,r)]}function A(){let e="?var"+g++;return y.has(e)?A():(y.add(e),f.createTerm(e))}function I(e){if("pathType"in e.predicate)throw new Error("Trying to translate property path to quad.");return f.createPattern(e.subject,e.predicate,e.object,e.graph)}t.default=function(e,t){let r;if(t=t||{},f=new l.default(t.dataFactory),"string"==typeof e){let n=new p(t);n._resetBlanks(),r=n.parse(e)}else r=e;return b(r,t.quads,t.blankToVariable)};let R=Object.values(h);function P(e,t,r){if(e.type===h.GRAPH){if(r)throw new Error("Recursing through nested GRAPH statements with a replacement is impossible.");e=P(e.input,e.name)}else if(e.type===h.SERVICE);else if(e.type===h.BGP)e.patterns=e.patterns.map((e=>(r&&(e.subject.equals(t)&&(e.subject=r),e.predicate.equals(t)&&(e.predicate=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t),e)));else if(e.type===h.PATH)r&&(e.subject.equals(t)&&(e.subject=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t);else if(e.type!==h.PROJECT||r)if(e.type!==h.EXTEND||r)for(let n of Object.keys(e))Array.isArray(e[n])?e[n]=e[n].map((e=>P(e,t,r))):R.indexOf(e[n].type)>=0?e[n]=P(e[n],t,r):r&&v(e[n])&&e[n].equals(t)&&(e[n]=r);else e.variable.equals(t)&&(r=A()),e.input=P(e.input,t,r);else e.variables.some((e=>e.equals(t)))||(r=A()),e.input=P(e.input,t,r);return e}function F(e,t){if("optional"===t.type){const r=E({type:"group",patterns:t.patterns});e=r.type===h.FILTER?f.createLeftJoin(e,r.input,r.expression):f.createLeftJoin(e,r)}else if("minus"===t.type){const r=E({type:"group",patterns:t.patterns});e=f.createMinus(e,r)}else if("bind"===t.type)e=f.createExtend(e,t.variable,T(t.expression));else if("service"===t.type){const r={type:"group",patterns:t.patterns};e=D(e,f.createService(E(r),t.name,t.silent))}else e=D(e,E(t));return e}function D(e,t){return e.type===h.BGP&&t.type===h.BGP?e=f.createBgp([...e.patterns,...t.patterns]):e.type===h.BGP&&0===e.patterns.length?e=t:t.type===h.BGP&&0===t.patterns.length||(e=f.createJoin([e,t])),e}function N(e){let t=(0===e.values.length?[]:Object.keys(e.values[0])).map(f.createTerm.bind(f)),r=e.values.map((e=>{let t=Object.keys(e);t=t.filter((t=>void 0!==e[t]));let r={};for(let n of t)r[n]=e[n];return r}));return f.createValues(t,r)}function j(e,t){if("type"in e&&"aggregate"===e.type){let r,n=!1;for(let i of Object.keys(t))if(s(t[i],e)){r=f.createTerm(i),n=!0;break}return n||(r=A(),t[(0,c.termToString)(r)]=e),r}return"expression"in e&&e.expression?{...e,expression:j(e.expression,t)}:"args"in e&&e.args?{...e,args:e.args.map((e=>j(e,t)))}:e}function C(e){if("type"in e){if("load"===e.type)return function(e){return f.createLoad(e.source,e.destination,e.silent)}(e);if("clear"===e.type||"create"===e.type||"drop"===e.type)return function(e){let t;switch(t=d.default.isSimpleTerm(e.graph)?e.graph:e.graph.all?"ALL":e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.name,e.type){case"clear":return f.createClear(t,e.silent);case"create":return f.createCreate(t,e.silent);case"drop":return f.createDrop(t,e.silent)}}(e);if("add"===e.type||"copy"===e.type||"move"===e.type)return function(e){const t=e.source.default?"DEFAULT":e.source.name,r=e.destination.default?"DEFAULT":e.destination.name;switch(e.type){case"copy":return f.createCopy(t,r,e.silent);case"move":return f.createMove(t,r,e.silent);case"add":return f.createAdd(t,r,e.silent)}}(e)}else if("insertdelete"===e.updateType||"deletewhere"===e.updateType||"delete"===e.updateType||"insert"===e.updateType)return function(e){if(!m)throw new Error("INSERT/DELETE operations are only supported with quads option enabled");let t,r=[],n=[];if(e.delete&&(r=d.default.flatten(e.delete.map((t=>M(t,e.graph))))),e.insert&&(n=d.default.flatten(e.insert.map((t=>M(t,e.graph))))),e.where&&e.where.length>0){t=E({type:"group",patterns:e.where});const r=e.using;r?t=f.createFrom(t,r.default,r.named):e.graph&&(t=P(t,e.graph))}else"deletewhere"===e.updateType&&r.length>0&&(t=f.createBgp(r));return f.createDeleteInsert(r.length>0?r:void 0,n.length>0?n:void 0,t)}(e);throw new Error(`Unknown update type ${JSON.stringify(e)}`)}function M(e,t){let r=t;"graph"===e.type&&(r=e.name);let n=e.triples;return r&&(n=n.map((e=>Object.assign(e,{graph:r})))),n.map(I)}function k(e){const t={},r=Array.from(y).reduce(((e,t)=>(e[t]=!0,e)),{});return d.default.mapOperation(e,{[u.types.DELETE_INSERT]:e=>({result:f.createDeleteInsert(e.delete,e.insert,e.where&&k(e.where)),recurse:!1}),[u.types.PATH]:(e,t)=>({result:t.createPath(n(e.subject),e.predicate,n(e.object),n(e.graph)),recurse:!1}),[u.types.PATTERN]:(e,t)=>({result:t.createPattern(n(e.subject),n(e.predicate),n(e.object),n(e.graph)),recurse:!1}),[u.types.CONSTRUCT]:e=>({result:f.createConstruct(k(e.input),e.template),recurse:!1})});function n(e){if("BlankNode"===e.termType){let n=t[e.value];return n||(n=d.default.createUniqueVariable(e.value,r,f.dataFactory),r[n.value]=!0,t[e.value]=n),n}return e}}},64995:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(13079),o=n(r(91409)),a=r(3285);class s{static flatten(e){return Array.prototype.concat(...e).filter((e=>e))}static objectify(e){if(e.termType){if("Quad"===e.termType)return{type:"pattern",termType:"Quad",subject:s.objectify(e.subject),predicate:s.objectify(e.predicate),object:s.objectify(e.object),graph:s.objectify(e.graph)};{let t={termType:e.termType,value:e.value};return e.language&&(t.language=e.language),e.datatype&&(t.datatype=s.objectify(e.datatype)),t}}if(Array.isArray(e))return e.map((e=>s.objectify(e)));if(e===Object(e)){let t={};for(let r of Object.keys(e))t[r]=s.objectify(e[r]);return t}return e}static inScopeVariables(e){const t=[];function r(e){t.find((t=>e.value===t.value))||t.push(e)}function n(e){"Variable"===e.subject.termType&&r(e.subject),"Variable"===e.predicate.termType&&r(e.predicate),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.predicate.termType&&n(e.predicate),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph)}return s.recurseOperation(e,{[i.types.EXPRESSION]:e=>(e.expressionType===i.expressionTypes.AGGREGATE&&e.variable&&r(e.variable),!0),[i.types.EXTEND]:e=>(r(e.variable),!0),[i.types.GRAPH]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.GROUP]:e=>(e.variables.forEach(r),!0),[i.types.PATH]:e=>("Variable"===e.subject.termType&&r(e.subject),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph),!0),[i.types.PATTERN]:e=>(n(e),!0),[i.types.PROJECT]:e=>(e.variables.forEach(r),!1),[i.types.SERVICE]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.VALUES]:e=>(e.variables.forEach(r),!0)}),t}static recurseOperation(e,t){let r=e,n=!0;const o=t[e.type];if(o&&(n=o(e)),!n)return;let a=e=>s.recurseOperation(e,t);switch(r.type){case i.types.ALT:r.input.map(a);break;case i.types.ASK:a(r.input);break;case i.types.BGP:r.patterns.forEach(a);break;case i.types.CONSTRUCT:a(r.input),r.template.map(a);break;case i.types.DESCRIBE:case i.types.DISTINCT:a(r.input);break;case i.types.EXPRESSION:r.expressionType===i.expressionTypes.EXISTENCE&&a(r.input);break;case i.types.EXTEND:case i.types.FILTER:a(r.input),a(r.expression);break;case i.types.FROM:case i.types.GRAPH:a(r.input);break;case i.types.GROUP:a(r.input),r.aggregates.forEach(a);break;case i.types.INV:a(r.path);break;case i.types.JOIN:r.input.map(a);break;case i.types.LEFT_JOIN:r.input.map(a),r.expression&&a(r.expression);break;case i.types.LINK:break;case i.types.MINUS:r.input.map(a);break;case i.types.NOP:case i.types.NPS:break;case i.types.ONE_OR_MORE_PATH:a(r.path);break;case i.types.ORDER_BY:a(r.input),r.expressions.forEach(a);break;case i.types.PATH:a(r.predicate);break;case i.types.PATTERN:break;case i.types.PROJECT:case i.types.REDUCED:a(r.input);break;case i.types.SEQ:r.input.map(a);break;case i.types.SERVICE:case i.types.SLICE:a(r.input);break;case i.types.UNION:r.input.map(a);break;case i.types.VALUES:break;case i.types.ZERO_OR_MORE_PATH:case i.types.ZERO_OR_ONE_PATH:a(r.path);break;case i.types.COMPOSITE_UPDATE:r.updates.forEach((e=>a(e)));break;case i.types.DELETE_INSERT:r.delete&&r.delete.forEach((e=>a(e))),r.insert&&r.insert.forEach((e=>a(e))),r.where&&a(r.where);break;case i.types.LOAD:case i.types.CLEAR:case i.types.CREATE:case i.types.DROP:case i.types.ADD:case i.types.MOVE:case i.types.COPY:break;default:throw new Error(`Unknown Operation type ${r.type}`)}}static mapOperation(e,t,r){let n=e,a=!0,c=!0;r=r||new o.default;const u=t[e.type];if(u){const t=u(e,r);n=t.result,a=t.recurse,c=!1!==t.copyMetadata}let l;if(c&&(n.metadata||e.metadata)&&(l={...n.metadata,...e.metadata}),!a)return l&&(n.metadata=l),n;let d=e=>s.mapOperation(e,t,r);switch(n.type){case i.types.ALT:n=r.createAlt(n.input.map(d));break;case i.types.ASK:n=r.createAsk(d(n.input));break;case i.types.BGP:n=r.createBgp(n.patterns.map(d));break;case i.types.CONSTRUCT:n=r.createConstruct(d(n.input),n.template.map(d));break;case i.types.DESCRIBE:n=r.createDescribe(d(n.input),n.terms);break;case i.types.DISTINCT:n=r.createDistinct(d(n.input));break;case i.types.EXPRESSION:n=s.mapExpression(n,t,r);break;case i.types.EXTEND:n=r.createExtend(d(n.input),n.variable,d(n.expression));break;case i.types.FILTER:n=r.createFilter(d(n.input),d(n.expression));break;case i.types.FROM:n=r.createFrom(d(n.input),[...n.default],[...n.named]);break;case i.types.GRAPH:n=r.createGraph(d(n.input),n.name);break;case i.types.GROUP:n=r.createGroup(d(n.input),[].concat(n.variables),n.aggregates.map(d));break;case i.types.INV:n=r.createInv(d(n.path));break;case i.types.JOIN:n=r.createJoin(n.input.map(d));break;case i.types.LEFT_JOIN:n=r.createLeftJoin(d(n.input[0]),d(n.input[1]),n.expression?d(n.expression):void 0);break;case i.types.LINK:n=r.createLink(n.iri);break;case i.types.MINUS:n=r.createMinus(d(n.input[0]),d(n.input[1]));break;case i.types.NOP:n=r.createNop();break;case i.types.NPS:n=r.createNps([].concat(n.iris));break;case i.types.ONE_OR_MORE_PATH:n=r.createOneOrMorePath(d(n.path));break;case i.types.ORDER_BY:n=r.createOrderBy(d(n.input),n.expressions.map(d));break;case i.types.PATH:n=r.createPath(n.subject,d(n.predicate),n.object,n.graph);break;case i.types.PATTERN:n=r.createPattern(n.subject,n.predicate,n.object,n.graph);break;case i.types.PROJECT:n=r.createProject(d(n.input),[...n.variables]);break;case i.types.REDUCED:n=r.createReduced(d(n.input));break;case i.types.SEQ:n=r.createSeq(n.input.map(d));break;case i.types.SERVICE:n=r.createService(d(n.input),n.name,n.silent);break;case i.types.SLICE:n=r.createSlice(d(n.input),n.start,n.length);break;case i.types.UNION:n=r.createUnion(n.input.map(d));break;case i.types.VALUES:n=r.createValues([].concat(n.variables),n.bindings.map((e=>Object.assign({},e))));break;case i.types.ZERO_OR_MORE_PATH:n=r.createZeroOrMorePath(d(n.path));break;case i.types.ZERO_OR_ONE_PATH:n=r.createZeroOrOnePath(d(n.path));break;case i.types.COMPOSITE_UPDATE:n=r.createCompositeUpdate(n.updates.map(d));break;case i.types.DELETE_INSERT:n=r.createDeleteInsert(n.delete?n.delete.map(d):void 0,n.insert?n.insert.map(d):void 0,n.where?d(n.where):void 0);break;case i.types.LOAD:n=r.createLoad(n.source,n.destination,n.silent);break;case i.types.CLEAR:n=r.createClear(n.source,n.silent);break;case i.types.CREATE:n=r.createCreate(n.source,n.silent);break;case i.types.DROP:n=r.createDrop(n.source,n.silent);break;case i.types.ADD:n=r.createAdd(n.source,n.destination);break;case i.types.MOVE:n=r.createMove(n.source,n.destination);break;case i.types.COPY:n=r.createCopy(n.source,n.destination);break;default:throw new Error(`Unknown Operation type ${n.type}`)}return l&&(n.metadata=l),n}static mapExpression(e,t,r){let n=e,a=!0;r=r||new o.default;const c=t[e.expressionType];if(c&&({result:n,recurse:a}=c(e,r)),!a)return n;let u=e=>s.mapOperation(e,t,r);switch(e.expressionType){case i.expressionTypes.AGGREGATE:return e.variable?r.createBoundAggregate(e.variable,e.aggregator,u(e.expression),e.distinct,e.separator):r.createAggregateExpression(e.aggregator,u(e.expression),e.distinct,e.separator);case i.expressionTypes.EXISTENCE:return r.createExistenceExpression(e.not,u(e.input));case i.expressionTypes.NAMED:return r.createNamedExpression(e.name,e.args.map(u));case i.expressionTypes.OPERATOR:return r.createOperatorExpression(e.operator,e.args.map(u));case i.expressionTypes.TERM:return r.createTermExpression(e.term);case i.expressionTypes.WILDCARD:return r.createWildcardExpression();default:throw new Error(`Unknown Expression type ${e.expressionType}`)}}static cloneOperation(e){return s.mapOperation(e,{})}static cloneExpression(e){return s.mapExpression(e,{})}static createUniqueVariable(e,t,r){let n=0,i=e;for(;t[i];)i=`${e}${n++}`;return r.variable(i)}static isSimpleTerm(e){return void 0!==e.termType&&"Quad"!==e.termType&&"Wildcard"!==e.termType}static isQuad(e){return"Quad"===e.termType}static hasQuadVariables(e){return(0,a.someTermsNested)(e,(e=>"Variable"===e.termType))}static isWildcard(e){return"Wildcard"===e.termType}}t.default=s},23825:e=>{function t(e){this._options=e=e||{};var t=e.prefixes||{};this._prefixByIri={};var r=[];for(var n in t){var i=t[n];a(i)&&(this._prefixByIri[i]=n,r.push(i))}var o=r.join("|").replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&");this._prefixRegex=new RegExp("^("+o+")([a-zA-Z][\\-_a-zA-Z0-9]*)$"),this._usedPrefixes={},this._sparqlStar=e.sparqlStar,this._indent=a(e.indent)?e.indent:" ",this._newline=a(e.newline)?e.newline:"\n",this._explicitDatatype=Boolean(e.explicitDatatype)}t.prototype.toQuery=function(e){var t="";return e.queryType&&(t+=e.queryType.toUpperCase()+" "),e.reduced&&(t+="REDUCED "),e.distinct&&(t+="DISTINCT "),e.variables?t+=u(e.variables,void 0,(function(e){return s(e)?this.toEntity(e):"("+this.toExpression(e.expression)+" AS "+o(e.variable)+")"}),this)+" ":e.template&&(t+=this.group(e.template,!0)+this._newline),e.from&&(t+=this.graphs("FROM ",e.from.default)+this.graphs("FROM NAMED ",e.from.named)),e.where&&(t+="WHERE "+this.group(e.where,!0)+this._newline),e.updates&&(t+=u(e.updates,";"+this._newline,this.toUpdate,this)),e.group&&(t+="GROUP BY "+u(e.group,void 0,(function(e){var t=s(e.expression)?this.toEntity(e.expression):"("+this.toExpression(e.expression)+")";return e.variable?"("+t+" AS "+o(e.variable)+")":t}),this)+this._newline),e.having&&(t+="HAVING ("+u(e.having,void 0,this.toExpression,this)+")"+this._newline),e.order&&(t+="ORDER BY "+u(e.order,void 0,(function(e){var t="("+this.toExpression(e.expression)+")";return e.descending?"DESC "+t:t}),this)+this._newline),e.offset&&(t+="OFFSET "+e.offset+this._newline),e.limit&&(t+="LIMIT "+e.limit+this._newline),e.values&&(t+=this.values(e)),(t=this.baseAndPrefixes(e)+t).trim()},t.prototype.baseAndPrefixes=function(e){var t=e.base?"BASE <"+e.base+">"+this._newline:"",r="";for(var n in e.prefixes)(this._options.allPrefixes||this._usedPrefixes[n])&&(r+="PREFIX "+n+": <"+e.prefixes[n]+">"+this._newline);return t+r},t.prototype.toPattern=function(e){var t=e.type||e instanceof Array&&"array"||(e.subject&&e.predicate&&e.object?"triple":"");if(!(t in this))throw new Error("Unknown entry type: "+t);return this[t](e)},t.prototype.triple=function(e){return this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+"."},t.prototype.array=function(e){return u(e,this._newline,this.toPattern,this)},t.prototype.bgp=function(e){return this.encodeTriples(e.triples)},t.prototype.encodeTriples=function(e){if(!e.length)return"";for(var t=[],r=void 0,n=void 0,i=0;i":case">=":case"<=":case"&&":case"||":case"=":case"!=":case"+":case"-":case"*":case"/":return(s(i[0])?this.toEntity(i[0]):"("+this.toExpression(i[0])+")")+" "+t+" "+(s(i[1])?this.toEntity(i[1]):"("+this.toExpression(i[1])+")");case"!":return"!("+this.toExpression(i[0])+")";case"uplus":return"+("+this.toExpression(i[0])+")";case"uminus":return"-("+this.toExpression(i[0])+")";case"notin":t="NOT IN";case"in":return this.toExpression(i[0])+" "+t+"("+(a(i[1])?i[1]:u(i[1],", ",this.toExpression,this))+")";case"notexists":t="NOT EXISTS";case"exists":return t+" "+this.group(i[0],!0);default:return t+"("+u(i,", ",this.toExpression,this)+")"}default:throw new Error("Unknown expression type: "+e.type)}},t.prototype.toEntity=function(e){if(s(e))switch(e.termType){case"Wildcard":return"*";case"Variable":return o(e);case"BlankNode":return"_:"+e.value;case"Literal":var t=e.value||"",i=e.language||"",a=e.datatype;if(e='"'+t.replace(r,n)+'"',i)e+="@"+i;else if(a){if(!this._explicitDatatype)switch(a.value){case"http://www.w3.org/2001/XMLSchema#string":return e;case"http://www.w3.org/2001/XMLSchema#integer":if(/^\d+$/.test(t))return t+" "}e+="^^"+this.encodeIRI(a.value)}return e;case"Quad":if(!this._sparqlStar)throw new Error("SPARQL* support is not enabled");return e.graph&&"DefaultGraph"!==e.graph.termType?"<< GRAPH "+this.toEntity(e.graph)+" { "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" } >>":"<< "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" >>";default:return this.encodeIRI(e.value)}else{var c=e.items.map(this.toEntity,this),u=e.pathType;switch(u){case"^":case"!":return u+c[0];case"*":case"+":case"?":return"("+c[0]+u+")";default:return"("+c.join(u)+")"}}};var r=/["\\\t\n\r\b\f]/g,n=function(e){return i[e]},i={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};function o(e){return"?"+e.value}function a(e){return"string"==typeof e}function s(e){return"string"==typeof e.termType}function c(e,t){if(!e||!s(e))return!1;if(!t||!s(t))return!1;if(e.termType!==t.termType)return!1;switch(e.termType){case"Literal":return e.value===t.value&&e.language===t.language&&c(e.datatype,t.datatype);case"Quad":return c(e.subject,t.subject)&&c(e.predicate,t.predicate)&&c(e.object,t.object)&&c(e.graph,t.graph);default:return e.value===t.value}}function u(e,t,r,n){return e.map(r,n).join(a(t)?t:" ")}t.prototype.encodeIRI=function(e){var t=this._prefixRegex.exec(e);if(t){var r=this._prefixByIri[t[1]];return this._usedPrefixes[r]=!0,r+":"+t[2]}return"<"+e+">"},t.prototype.toUpdate=function(e){switch(e.type||e.updateType){case"load":return"LOAD"+(e.source?" "+this.toEntity(e.source):"")+(e.destination?" INTO GRAPH "+this.toEntity(e.destination):"");case"insert":return"INSERT DATA "+this.group(e.insert,!0);case"delete":return"DELETE DATA "+this.group(e.delete,!0);case"deletewhere":return"DELETE WHERE "+this.group(e.delete,!0);case"insertdelete":return(e.graph?"WITH "+this.toEntity(e.graph)+this._newline:"")+(e.delete.length?"DELETE "+this.group(e.delete,!0)+this._newline:"")+(e.insert.length?"INSERT "+this.group(e.insert,!0)+this._newline:"")+(e.using?this.graphs("USING ",e.using.default):"")+(e.using?this.graphs("USING NAMED ",e.using.named):"")+"WHERE "+this.group(e.where,!0);case"add":case"copy":case"move":return e.type.toUpperCase()+" "+(e.silent?"SILENT ":"")+(e.source.default?"DEFAULT":this.toEntity(e.source.name))+" TO "+this.toEntity(e.destination.name);case"create":case"clear":case"drop":return e.type.toUpperCase()+(e.silent?" SILENT ":" ")+(e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.all?"ALL":"GRAPH "+this.toEntity(e.graph.name));default:throw new Error("Unknown update query type: "+e.type)}},t.prototype.indent=function(e){return e.replace(/^/gm,this._indent)},e.exports=function(e={}){return{stringify:function(r){var n=Object.create(e);return n.prefixes=r.prefixes,new t(n).toQuery(r)},createGenerator:function(){return new t(e)}}}},83849:(e,t,r)=>{var n=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[6,12,13,15,16,24,32,36,41,45,100,110,113,115,116,123,126,131,197,224,229,308,329,330,331,332,333],n=[2,247],i=[100,110,113,115,116,123,126,131,329,330,331,332,333],o=[2,409],a=[1,18],s=[1,27],c=[13,16,45,197,224,229,308],u=[28,29,53],l=[28,53],d=[1,42],p=[1,45],h=[1,41],f=[1,44],y=[123,126],g=[1,67],m=[39,45,87],b=[13,16,45,197,224,308],_=[1,87],v=[2,281],w=[1,86],S=[13,16,45,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],E=[6,28,29,53,63,70,73,81,83,85],T=[6,13,16,28,29,53,63,70,73,81,83,85,87,308],O=[6,13,16,28,29,45,53,63,70,73,81,82,83,85,87,89,197,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314],x=[6,13,16,28,29,31,39,45,47,48,53,63,70,73,81,82,83,85,87,89,109,112,121,123,126,128,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,337,338,340,341,342,343,344,345,346],A=[13,16,308],I=[112,132,327,334],R=[13,16,112,132,308],P=[1,111],F=[1,117],D=[112,132,327,328,334],N=[13,16,112,132,308,328],j=[28,29,45,53,87],C=[1,138],M=[1,151],k=[1,128],L=[1,127],U=[1,129],B=[1,140],V=[1,141],q=[1,142],H=[1,143],$=[1,144],G=[1,145],K=[1,147],Q=[1,148],z=[2,457],J=[1,158],W=[1,159],X=[1,160],Y=[1,152],Z=[1,153],ee=[1,156],te=[1,171],re=[1,172],ne=[1,173],ie=[1,174],oe=[1,175],ae=[1,176],se=[1,167],ce=[1,168],ue=[1,169],le=[1,170],de=[1,157],pe=[1,166],he=[1,161],fe=[1,162],ye=[1,163],ge=[1,164],me=[1,165],be=[6,13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],_e=[1,195],ve=[6,31,73,81,83,85],we=[2,285],Se=[1,199],Ee=[1,201],Te=[6,31,70,73,81,83,85],Oe=[2,283],xe=[1,207],Ae=[1,218],Ie=[1,223],Re=[1,219],Pe=[1,225],Fe=[1,226],De=[1,224],Ne=[6,63,70,73,81,83,85],je=[1,236],Ce=[2,334],Me=[1,243],ke=[1,241],Le=[6,193],Ue=[2,349],Be=[2,339],Ve=[28,128],qe=[47,48,193,272],He=[47,48,193,242,272],$e=[47,48,193,242,246,272],Ge=[47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,341,342,343,344,345,346],Ke=[39,47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,338,341,342,343,344,345,346],Qe=[1,271],ze=[1,270],Je=[6,13,16,29,31,39,45,47,48,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,338,341,342,343,344,345,346,347,348,349,350,351],We=[1,281],Xe=[1,280],Ye=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],Ze=[45,89],et=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],tt=[13,16,31,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rt=[31,89],nt=[48,87],it=[6,13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338],ot=[6,13,16,39,45,48,82,87,89,231,263,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338,340],at=[1,313],st=[6,85],ct=[6,31,81,83,85],ut=[2,361],lt=[2,353],dt=[1,343],pt=[31,112,335],ht=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],ft=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335],yt=[6,109,193],gt=[31,112],mt=[13,16,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],bt=[1,390],_t=[1,391],vt=[13,16,87,197,308,314],wt=[13,16,39,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],St=[1,417],Et=[1,418],Tt=[13,16,48,197,229,308],Ot=[6,31,85],xt=[6,13,16,31,45,73,81,83,85,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],At=[6,13,16,29,31,45,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,231,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,346,347,348,349,350,351],It=[29,31,85,112,159,160,161,163,164],Rt=[1,443],Pt=[1,444],Ft=[1,449],Dt=[31,112,193,232,318,335],Nt=[13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],jt=[13,16,31,45,48,82,87,89,112,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Ct=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Mt=[13,16,31,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],kt=[31,45],Lt=[1,507],Ut=[1,508],Bt=[6,13,16,29,31,39,45,47,48,63,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,336,338,341,342,343,344,345,346,347,348,349,350,351],Vt=[29,31,85,112,159,160,161,163,164,335],qt=[6,13,16,31,45,70,73,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],Ht=[13,16,31,45,48,82,87,89,112,193,197,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],$t=[2,352],Gt=[13,16,197,308,314],Kt=[1,565],Qt=[6,13,16,31,45,76,78,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],zt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],Jt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],Wt=[13,16,87,308],Xt=[2,364],Yt=[29,31,85,112,159,160,161,163,164,193,232,318,335],Zt=[31,112,193,232,272,318,335],er=[2,359],tr=[13,16,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rr=[29,31,85,112,159,160,161,163,164,193,232,272,318,335],nr=[13,16,31,45,82,87,89,112,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],ir=[2,347],or={trace:function(){},yy:{},symbols_:{error:2,QueryOrUpdate:3,Prologue:4,QueryOrUpdate_group0:5,EOF:6,Query:7,Qry:8,Query_option0:9,Prologue_repetition0:10,BaseDecl:11,BASE:12,IRIREF:13,PrefixDecl:14,PREFIX:15,PNAME_NS:16,SelectClauseWildcard:17,Qry_repetition0:18,WhereClause:19,SolutionModifierNoGroup:20,SelectClauseVars:21,Qry_repetition1:22,SolutionModifier:23,CONSTRUCT:24,ConstructTemplate:25,Qry_repetition2:26,Qry_repetition3:27,WHERE:28,"{":29,Qry_option0:30,"}":31,DESCRIBE:32,Qry_group0:33,Qry_repetition4:34,Qry_option1:35,ASK:36,Qry_repetition5:37,SelectClauseBase:38,"*":39,SelectClauseVars_repetition_plus0:40,SELECT:41,SelectClauseBase_option0:42,SelectClauseItem:43,Var:44,"(":45,Expression:46,AS:47,")":48,SubSelect:49,SubSelect_option0:50,SubSelect_option1:51,DatasetClause:52,FROM:53,DatasetClause_option0:54,iri:55,WhereClause_option0:56,GroupGraphPattern:57,SolutionModifier_option0:58,SolutionModifierNoGroup_option0:59,SolutionModifierNoGroup_option1:60,SolutionModifierNoGroup_option2:61,GroupClause:62,GROUP:63,BY:64,GroupClause_repetition_plus0:65,GroupCondition:66,BuiltInCall:67,FunctionCall:68,HavingClause:69,HAVING:70,HavingClause_repetition_plus0:71,OrderClause:72,ORDER:73,OrderClause_repetition_plus0:74,OrderCondition:75,ASC:76,BrackettedExpression:77,DESC:78,Constraint:79,LimitOffsetClauses:80,LIMIT:81,INTEGER:82,OFFSET:83,ValuesClause:84,VALUES:85,InlineData:86,VAR:87,InlineData_repetition0:88,NIL:89,InlineData_repetition1:90,InlineData_repetition_plus2:91,InlineData_repetition3:92,DataBlock:93,DataBlockValueList:94,DataBlockValueList_repetition_plus0:95,Update:96,Update_repetition0:97,Update1:98,Update_option0:99,LOAD:100,Update1_option0:101,Update1_option1:102,Update1_group0:103,Update1_option2:104,GraphRefAll:105,Update1_group1:106,Update1_option3:107,GraphOrDefault:108,TO:109,CREATE:110,Update1_option4:111,GRAPH:112,INSERTDATA:113,QuadPattern:114,DELETEDATA:115,DELETEWHERE:116,Update1_option5:117,InsertDeleteClause:118,Update1_repetition0:119,IntoGraphClause:120,INTO:121,GraphRef:122,DELETE:123,InsertDeleteClause_option0:124,InsertClause:125,INSERT:126,UsingClause:127,USING:128,UsingClause_option0:129,WithClause:130,WITH:131,DEFAULT:132,GraphOrDefault_option0:133,GraphRefAll_group0:134,Quads:135,Quads_option0:136,Quads_repetition0:137,QuadsNotTriples:138,VarOrIri:139,QuadsNotTriples_option0:140,QuadsNotTriples_option1:141,QuadsNotTriples_option2:142,TriplesTemplate:143,TriplesTemplate_repetition0:144,TriplesSameSubject:145,TriplesTemplate_option0:146,GroupGraphPatternSub:147,GroupGraphPatternSub_option0:148,GroupGraphPatternSub_repetition0:149,GroupGraphPatternSubTail:150,GraphPatternNotTriples:151,GroupGraphPatternSubTail_option0:152,GroupGraphPatternSubTail_option1:153,TriplesBlock:154,TriplesBlock_repetition0:155,TriplesSameSubjectPath:156,TriplesBlock_option0:157,GroupOrUnionGraphPattern:158,OPTIONAL:159,MINUS:160,SERVICE:161,GraphPatternNotTriples_option0:162,FILTER:163,BIND:164,InlineDataOneVar:165,InlineDataFull:166,InlineDataOneVar_repetition0:167,InlineDataFull_repetition0:168,InlineDataFull_repetition_plus1:169,InlineDataFull_repetition2:170,DataBlockValue:171,Literal:172,QuotedTriple:173,UNDEF:174,GroupOrUnionGraphPattern_repetition0:175,ArgList:176,ArgList_option0:177,ArgList_repetition0:178,ExpressionList:179,ExpressionList_repetition0:180,ConstructTemplate_option0:181,ConstructTriples:182,ConstructTriples_repetition0:183,ConstructTriples_option0:184,VarOrTermOrQuotedTP:185,PropertyListNotEmpty:186,TriplesNode:187,PropertyList:188,PropertyList_option0:189,VerbObjectList:190,PropertyListNotEmpty_repetition0:191,SemiOptionalVerbObjectList:192,";":193,SemiOptionalVerbObjectList_option0:194,Verb:195,ObjectList:196,a:197,ObjectList_repetition0:198,Object:199,GraphNode:200,Object_option0:201,PropertyListPathNotEmpty:202,TriplesNodePath:203,TriplesSameSubjectPath_option0:204,O:205,PropertyListPathNotEmpty_repetition0:206,PropertyListPathNotEmptyTail:207,O_group0:208,ObjectListPath:209,ObjectListPath_repetition0:210,ObjectPath:211,GraphNodePath:212,ObjectPath_option0:213,Path:214,Path_repetition0:215,PathSequence:216,PathSequence_repetition0:217,PathEltOrInverse:218,PathElt:219,PathPrimary:220,PathElt_option0:221,PathEltOrInverse_option0:222,IriOrA:223,"!":224,PathNegatedPropertySet:225,PathOneInPropertySet:226,PathNegatedPropertySet_repetition0:227,PathNegatedPropertySet_option0:228,"^":229,TriplesNode_repetition_plus0:230,"[":231,"]":232,TriplesNodePath_repetition_plus0:233,VarOrTermOrQuotedTPExpr:234,VarOrTerm:235,GraphTerm:236,BlankNode:237,ConditionalOrExpression:238,ConditionalAndExpression:239,ConditionalOrExpression_repetition0:240,ConditionalOrExpressionTail:241,"||":242,RelationalExpression:243,ConditionalAndExpression_repetition0:244,ConditionalAndExpressionTail:245,"&&":246,NumericExpression:247,RelationalExpression_group0:248,RelationalExpression_option0:249,IN:250,MultiplicativeExpression:251,NumericExpression_repetition0:252,AdditiveExpressionTail:253,AdditiveExpressionTail_group0:254,NumericLiteralPositive:255,AdditiveExpressionTail_repetition0:256,NumericLiteralNegative:257,AdditiveExpressionTail_repetition1:258,UnaryExpression:259,MultiplicativeExpression_repetition0:260,MultiplicativeExpressionTail:261,MultiplicativeExpressionTail_group0:262,"+":263,PrimaryExpression:264,"-":265,ExprQuotedTP:266,Aggregate:267,FUNC_ARITY0:268,FUNC_ARITY1:269,FUNC_ARITY1_SPARQL_STAR:270,FUNC_ARITY2:271,",":272,FUNC_ARITY3:273,FUNC_ARITY3_SPARQL_STAR:274,BuiltInCall_group0:275,BOUND:276,BNODE:277,BuiltInCall_option0:278,EXISTS:279,COUNT:280,Aggregate_option0:281,Aggregate_group0:282,FUNC_AGGREGATE:283,Aggregate_option1:284,GROUP_CONCAT:285,Aggregate_option2:286,Aggregate_option3:287,GroupConcatSeparator:288,SEPARATOR:289,"=":290,String:291,LANGTAG:292,"^^":293,DECIMAL:294,DOUBLE:295,BOOLEAN:296,INTEGER_POSITIVE:297,DECIMAL_POSITIVE:298,DOUBLE_POSITIVE:299,INTEGER_NEGATIVE:300,DECIMAL_NEGATIVE:301,DOUBLE_NEGATIVE:302,STRING_LITERAL1:303,STRING_LITERAL2:304,STRING_LITERAL_LONG1:305,STRING_LITERAL_LONG2:306,PrefixedName:307,PNAME_LN:308,BLANK_NODE_LABEL:309,ANON:310,QuotedTP:311,"<<":312,qtSubjectOrObject:313,">>":314,DataValueTerm:315,AnnotationPattern:316,"{|":317,"|}":318,AnnotationPatternPath:319,ExprVarOrTerm:320,QueryOrUpdate_group0_option0:321,Prologue_repetition0_group0:322,Qry_group0_repetition_plus0:323,SelectClauseBase_option0_group0:324,DISTINCT:325,REDUCED:326,NAMED:327,SILENT:328,CLEAR:329,DROP:330,ADD:331,MOVE:332,COPY:333,ALL:334,".":335,UNION:336,"|":337,"/":338,PathElt_option0_group0:339,"?":340,"!=":341,"<":342,">":343,"<=":344,">=":345,NOT:346,CONCAT:347,COALESCE:348,SUBSTR:349,REGEX:350,REPLACE:351,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",12:"BASE",13:"IRIREF",15:"PREFIX",16:"PNAME_NS",24:"CONSTRUCT",28:"WHERE",29:"{",31:"}",32:"DESCRIBE",36:"ASK",39:"*",41:"SELECT",45:"(",47:"AS",48:")",53:"FROM",63:"GROUP",64:"BY",70:"HAVING",73:"ORDER",76:"ASC",78:"DESC",81:"LIMIT",82:"INTEGER",83:"OFFSET",85:"VALUES",87:"VAR",89:"NIL",100:"LOAD",109:"TO",110:"CREATE",112:"GRAPH",113:"INSERTDATA",115:"DELETEDATA",116:"DELETEWHERE",121:"INTO",123:"DELETE",126:"INSERT",128:"USING",131:"WITH",132:"DEFAULT",159:"OPTIONAL",160:"MINUS",161:"SERVICE",163:"FILTER",164:"BIND",174:"UNDEF",193:";",197:"a",224:"!",229:"^",231:"[",232:"]",242:"||",246:"&&",250:"IN",263:"+",265:"-",268:"FUNC_ARITY0",269:"FUNC_ARITY1",270:"FUNC_ARITY1_SPARQL_STAR",271:"FUNC_ARITY2",272:",",273:"FUNC_ARITY3",274:"FUNC_ARITY3_SPARQL_STAR",276:"BOUND",277:"BNODE",279:"EXISTS",280:"COUNT",283:"FUNC_AGGREGATE",285:"GROUP_CONCAT",289:"SEPARATOR",290:"=",292:"LANGTAG",293:"^^",294:"DECIMAL",295:"DOUBLE",296:"BOOLEAN",297:"INTEGER_POSITIVE",298:"DECIMAL_POSITIVE",299:"DOUBLE_POSITIVE",300:"INTEGER_NEGATIVE",301:"DECIMAL_NEGATIVE",302:"DOUBLE_NEGATIVE",303:"STRING_LITERAL1",304:"STRING_LITERAL2",305:"STRING_LITERAL_LONG1",306:"STRING_LITERAL_LONG2",308:"PNAME_LN",309:"BLANK_NODE_LABEL",310:"ANON",312:"<<",314:">>",317:"{|",318:"|}",325:"DISTINCT",326:"REDUCED",327:"NAMED",328:"SILENT",329:"CLEAR",330:"DROP",331:"ADD",332:"MOVE",333:"COPY",334:"ALL",335:".",336:"UNION",337:"|",338:"/",340:"?",341:"!=",342:"<",343:">",344:"<=",345:">=",346:"NOT",347:"CONCAT",348:"COALESCE",349:"SUBSTR",350:"REGEX",351:"REPLACE"},productions_:[0,[3,3],[7,2],[4,1],[11,2],[14,3],[8,4],[8,4],[8,5],[8,7],[8,5],[8,4],[17,2],[21,2],[38,2],[43,1],[43,5],[49,4],[49,4],[52,3],[19,2],[23,2],[20,3],[62,3],[66,1],[66,1],[66,3],[66,5],[66,1],[69,2],[72,3],[75,2],[75,2],[75,1],[75,1],[80,2],[80,2],[80,4],[80,4],[84,2],[86,4],[86,4],[86,6],[86,2],[94,3],[96,3],[98,4],[98,3],[98,5],[98,4],[98,2],[98,2],[98,2],[98,5],[120,2],[118,3],[118,1],[125,2],[127,3],[130,2],[108,1],[108,2],[122,2],[105,1],[105,1],[114,3],[135,2],[138,7],[143,3],[57,3],[57,3],[147,2],[150,3],[154,3],[151,1],[151,2],[151,2],[151,3],[151,4],[151,2],[151,6],[151,1],[93,1],[93,1],[165,4],[166,4],[166,6],[171,1],[171,1],[171,1],[171,1],[158,2],[79,1],[79,1],[79,1],[68,2],[176,1],[176,5],[179,1],[179,4],[25,3],[182,3],[145,2],[145,2],[188,1],[186,2],[192,2],[190,2],[195,1],[195,1],[196,2],[199,2],[156,2],[156,2],[202,2],[207,1],[207,2],[205,2],[209,2],[211,2],[214,2],[216,2],[219,2],[218,2],[220,1],[220,2],[220,3],[225,1],[225,1],[225,4],[226,1],[226,2],[187,3],[187,3],[203,3],[203,3],[200,1],[200,1],[212,1],[212,1],[234,1],[235,1],[235,1],[139,1],[139,1],[44,1],[236,1],[236,1],[236,1],[236,1],[46,1],[238,2],[241,2],[239,2],[245,2],[243,1],[243,3],[243,4],[247,2],[253,2],[253,2],[253,2],[251,2],[261,2],[259,2],[259,2],[259,2],[259,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[77,3],[67,1],[67,2],[67,4],[67,4],[67,6],[67,8],[67,8],[67,2],[67,4],[67,2],[67,4],[67,3],[267,5],[267,5],[267,6],[288,4],[172,1],[172,2],[172,3],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[255,1],[255,1],[255,1],[257,1],[257,1],[257,1],[291,1],[291,1],[291,1],[291,1],[55,1],[55,1],[307,1],[307,1],[237,1],[237,1],[311,5],[173,5],[313,1],[313,1],[313,1],[313,1],[313,1],[315,1],[315,1],[315,1],[185,1],[185,1],[185,1],[316,3],[319,3],[266,5],[320,1],[320,1],[320,1],[223,1],[223,1],[321,0],[321,1],[5,1],[5,1],[5,1],[9,0],[9,1],[322,1],[322,1],[10,0],[10,2],[18,0],[18,2],[22,0],[22,2],[26,0],[26,2],[27,0],[27,2],[30,0],[30,1],[323,1],[323,2],[33,1],[33,1],[34,0],[34,2],[35,0],[35,1],[37,0],[37,2],[40,1],[40,2],[324,1],[324,1],[42,0],[42,1],[50,0],[50,1],[51,0],[51,1],[54,0],[54,1],[56,0],[56,1],[58,0],[58,1],[59,0],[59,1],[60,0],[60,1],[61,0],[61,1],[65,1],[65,2],[71,1],[71,2],[74,1],[74,2],[88,0],[88,2],[90,0],[90,2],[91,1],[91,2],[92,0],[92,2],[95,1],[95,2],[97,0],[97,4],[99,0],[99,2],[101,0],[101,1],[102,0],[102,1],[103,1],[103,1],[104,0],[104,1],[106,1],[106,1],[106,1],[107,0],[107,1],[111,0],[111,1],[117,0],[117,1],[119,0],[119,2],[124,0],[124,1],[129,0],[129,1],[133,0],[133,1],[134,1],[134,1],[134,1],[136,0],[136,1],[137,0],[137,2],[140,0],[140,1],[141,0],[141,1],[142,0],[142,1],[144,0],[144,3],[146,0],[146,1],[148,0],[148,1],[149,0],[149,2],[152,0],[152,1],[153,0],[153,1],[155,0],[155,3],[157,0],[157,1],[162,0],[162,1],[167,0],[167,2],[168,0],[168,2],[169,1],[169,2],[170,0],[170,2],[175,0],[175,3],[177,0],[177,1],[178,0],[178,3],[180,0],[180,3],[181,0],[181,1],[183,0],[183,3],[184,0],[184,1],[189,0],[189,1],[191,0],[191,2],[194,0],[194,1],[198,0],[198,3],[201,0],[201,1],[204,0],[204,1],[206,0],[206,2],[208,1],[208,1],[210,0],[210,3],[213,0],[213,1],[215,0],[215,3],[217,0],[217,3],[339,1],[339,1],[339,1],[221,0],[221,1],[222,0],[222,1],[227,0],[227,3],[228,0],[228,1],[230,1],[230,2],[233,1],[233,2],[240,0],[240,2],[244,0],[244,2],[248,1],[248,1],[248,1],[248,1],[248,1],[248,1],[249,0],[249,1],[252,0],[252,2],[254,1],[254,1],[256,0],[256,2],[258,0],[258,2],[260,0],[260,2],[262,1],[262,1],[275,1],[275,1],[275,1],[275,1],[275,1],[278,0],[278,1],[281,0],[281,1],[282,1],[282,1],[284,0],[284,1],[286,0],[286,1],[287,0],[287,1]],performAction:function(e,t,r,n,i,o,a){var s,c,u,l,d=o.length-1;switch(i){case 1:if(o[d-1]=o[d-1]||{},nn.base&&(o[d-1].base=nn.base),nn.base="",o[d-1].prefixes=nn.prefixes,nn.prefixes=null,nn.pathOnly){if("path"===o[d-1].type||"termType"in o[d-1])return o[d-1];throw new Error("Received full SPARQL query in path only mode")}if("path"===o[d-1].type||"termType"in o[d-1])throw new Error("Received only path in full SPARQL mode");if("update"===o[d-1].type){const e={};for(const t of o[d-1].updates)if("insert"===t.updateType){const r={};for(const e of t.insert)if("bgp"===e.type||"graph"===e.type)for(const t of e.triples)"BlankNode"===t.subject.termType&&(r[t.subject.value]=!0),"BlankNode"===t.predicate.termType&&(r[t.predicate.value]=!0),"BlankNode"===t.object.termType&&(r[t.object.value]=!0);for(const t of Object.keys(r)){if(e[t])throw new Error("Detected reuse blank node across different INSERT DATA clauses");e[t]=!0}}}return o[d-1];case 2:this.$={...o[d-1],...o[d],type:"query"};break;case 4:nn.base=Or(o[d]);break;case 5:nn.prefixes||(nn.prefixes={}),o[d-1]=o[d-1].substr(0,o[d-1].length-1),o[d]=Or(o[d]),nn.prefixes[o[d-1]]=o[d];break;case 6:this.$={...o[d-3],...Fr(o[d-2]),...o[d-1],...o[d]};break;case 7:if(!nn.skipValidation&&(zr(o[d-3].variables.map((e=>Kr(e.expression)))).some((e=>"count"===e.aggregation&&!(e.expression instanceof ar)))||o[d].group))for(const e of o[d-3].variables)if("Variable"===e.termType){if(!o[d].group||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Projection of ungrouped variable (?"+Gr(e)+")")}else if(0===Kr(e.expression).length){const t=Qr(e.expression);for(const e of t)if(!o[d].group||!o[d].group.map||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Use of ungrouped variable in projection of operation (?"+Gr(e)+")")}const e=o[d-1].where.filter((e=>"query"===e.type));if(e.length>0){const t=o[d-3].variables.filter((e=>e.variable&&e.variable.value)).map((e=>e.variable.value)),r=zr(e.map((e=>e.variables))).map((e=>e.value||e.variable.value));for(const e of t)if(r.indexOf(e)>=0)throw Error("Target id of 'AS' (?"+e+") already used in subquery")}this.$=Er(o[d-3],Fr(o[d-2]),o[d-1],o[d]);break;case 8:this.$=Er({queryType:"CONSTRUCT",template:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 9:this.$=Er({queryType:"CONSTRUCT",template:o[d-2]=o[d-2]?o[d-2].triples:[]},Fr(o[d-5]),{where:[{type:"bgp",triples:Sr([],o[d-2])}]},o[d]);break;case 10:this.$=Er({queryType:"DESCRIBE",variables:"*"===o[d-3]?[new ar]:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 11:this.$=Er({queryType:"ASK"},Fr(o[d-2]),o[d-1],o[d]);break;case 12:this.$=Er(o[d-1],{variables:[new ar]});break;case 13:const t=function(e){const t=e.slice().sort(),r=[];for(let e=0;ee.value||e.variable.value)));if(t.length>0)throw Error("Two or more of the resulting columns have the same name (?"+t[0]+")");this.$=Er(o[d-1],{variables:o[d]});break;case 14:this.$=Er({queryType:"SELECT"},o[d]&&(o[d-1]=vr(o[d]),o[d]={},o[d][o[d-1]]=!0,o[d]));break;case 16:case 27:this.$=Ir(o[d-3],{variable:o[d-1]});break;case 17:case 18:this.$=Er(o[d-3],o[d-2],o[d-1],o[d],{type:"query"});break;case 19:case 58:this.$={iri:o[d],named:!!o[d-1]};break;case 20:this.$={where:o[d].patterns};break;case 21:this.$=Er(o[d-1],o[d]);break;case 22:this.$=Er(o[d-2],o[d-1],o[d]);break;case 23:this.$={group:o[d]};break;case 24:case 25:case 28:case 31:case 33:case 34:this.$=Ir(o[d]);break;case 26:this.$=Ir(o[d-1]);break;case 29:this.$={having:o[d]};break;case 30:this.$={order:o[d]};break;case 32:this.$=Ir(o[d],{descending:!0});break;case 35:this.$={limit:Dr(o[d])};break;case 36:this.$={offset:Dr(o[d])};break;case 37:this.$={limit:Dr(o[d-2]),offset:Dr(o[d])};break;case 38:this.$={limit:Dr(o[d]),offset:Dr(o[d-2])};break;case 39:case 43:this.$={type:"values",values:o[d]};break;case 40:case 84:this.$=o[d-1].map((e=>({[o[d-3]]:e})));break;case 41:case 85:this.$=o[d-1].map((()=>({})));break;case 42:case 86:var p=o[d-4].length;o[d-4]=o[d-4].map(xr),this.$=o[d-1].map((function(e){if(e.length!==p)throw Error("Inconsistent VALUES length");for(var t={},r=0;r"bind"===e.type))){const t=o[d-1].indexOf(e),r=new Set;for(const e of o[d-1].slice(0,t))"group"!==e.type&&"bgp"!==e.type||Wr(e).forEach((e=>r.add(e)));if(r.has(e.variable.value))throw Error("Variable used to bind is already bound (?"+e.variable.value+")")}this.$={type:"group",patterns:o[d-1]};break;case 71:this.$=o[d-1]?Tr([o[d-1]],o[d]):Tr(o[d]);break;case 72:this.$=o[d]?[o[d-2],o[d]]:o[d-2];break;case 75:this.$=Er(o[d],{type:"optional"});break;case 76:this.$=Er(o[d],{type:"minus"});break;case 77:this.$=Er(o[d],{type:"graph",name:o[d-1]});break;case 78:this.$=Er(o[d],{type:"service",name:o[d-1],silent:!!o[d-2]});break;case 79:this.$={type:"filter",expression:o[d]};break;case 80:this.$={type:"bind",variable:o[d-1],expression:o[d-3]};break;case 89:this.$=Xr(o[d]);break;case 90:this.$=void 0;break;case 91:this.$=o[d-1].length?{type:"union",patterns:Tr(o[d-1].map(Nr),[Nr(o[d])])}:o[d];break;case 95:this.$={...o[d],function:o[d-1]};break;case 96:this.$={type:"functionCall",args:[]};break;case 97:this.$={type:"functionCall",args:wr(o[d-2],o[d-1]),distinct:!!o[d-3]};break;case 98:case 115:case 128:case 247:case 249:case 251:case 253:case 255:case 263:case 267:case 297:case 299:case 303:case 307:case 328:case 341:case 349:case 355:case 361:case 367:case 369:case 373:case 375:case 379:case 381:case 385:case 391:case 395:case 401:case 405:case 409:case 411:case 420:case 428:case 430:case 440:case 444:case 446:case 448:this.$=[];break;case 99:this.$=wr(o[d-2],o[d-1]);break;case 101:this.$=Tr(o[d-2],[o[d-1]]);break;case 102:case 112:this.$=Zr(o[d].map((e=>Er(Mr(o[d-1]),e))));break;case 103:this.$=Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples));break;case 105:this.$=Tr([o[d-1]],o[d]);break;case 106:this.$=Tr(o[d]);break;case 107:this.$=$r(o[d-1],o[d]);break;case 109:case 237:this.$=nn.factory.namedNode(cr);break;case 110:case 118:this.$=wr(o[d-1],o[d]);break;case 111:this.$=o[d]?{annotation:o[d],object:o[d-1]}:o[d-1];break;case 113:this.$=o[d]?Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples)):o[d-1].triples;break;case 114:this.$=$r(...o[d-1],o[d]);break;case 116:this.$=$r(...o[d]);break;case 117:case 159:case 163:this.$=[o[d-1],o[d]];break;case 119:this.$=o[d]?{object:o[d-1],annotation:o[d]}:o[d-1];break;case 120:this.$=o[d-1].length?Rr("|",wr(o[d-1],o[d])):o[d];break;case 121:this.$=o[d-1].length?Rr("/",wr(o[d-1],o[d])):o[d];break;case 122:this.$=o[d]?Rr(o[d],[o[d-1]]):o[d-1];break;case 123:this.$=o[d-1]?Rr(o[d-1],[o[d]]):o[d];break;case 125:case 131:this.$=Rr(o[d-1],[o[d]]);break;case 129:this.$=Rr("|",wr(o[d-2],o[d-1]));break;case 132:case 134:this.$=function(e){var t=kr(),r=t,n=[],i=[];e.forEach((function(e){n.push(e.entity),Sr(i,e.triples)}));for(var o=0,a=0,s=n.length,c=Array(2*s);o2&&O.push("'"+this.terminals_[S]+"'");A=d.showPosition?"Parse error on line "+(s+1)+":\n"+d.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:f,expected:O})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(v[0]){case 1:r.push(m),n.push(d.yytext),i.push(d.yylloc),r.push(v[1]),m=null,b?(m=b,b=null):(c=d.yyleng,a=d.yytext,s=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[v[1]][1],x.$=n[n.length-E],x._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},g&&(x._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(x,[a,c,s,p.yy,v[1],n,i].concat(l))))return w;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[v[1]][0]),n.push(x.$),i.push(x._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}},ar=r(23637).t,sr="http://www.w3.org/1999/02/22-rdf-syntax-ns#",cr=sr+"type",ur=sr+"first",lr=sr+"rest",dr=sr+"nil",pr="http://www.w3.org/2001/XMLSchema#",hr=pr+"integer",fr=pr+"decimal",yr=pr+"double",gr=pr+"boolean",mr="",br="",_r="";function vr(e){return e.toLowerCase()}function wr(e,t){return e.push(t),e}function Sr(e,t){return e.push.apply(e,t),e}function Er(e){e||(e={});for(var t,r=1,n=arguments.length;r>10),56320+(1023&i))}var o=Br[n];if(!o)throw new Error;return o}))}catch(e){return""}if(Vr.exec(e))throw new Error("Invalid unicode codepoint of surrogate pair without corresponding codepoint in "+e);return e}function $r(e,t,r){var n=[],i=[];return t.forEach((function(t){let r=null;t.annotation&&(r=t.annotation,t=t.object),n.push(Mr(null,e,t.entity,r)),Sr(i,t.triples)})),Tr(n,r||[],i)}function Gr(e){return e.variable?e.variable.value:e.value||e.expression.value}function Kr(e){if(!e)return[];if("aggregate"===e.type)return[e];if("operation"===e.type){const t=[];for(const r of e.args)t.push(...Kr(r));return t}return[]}function Qr(e){const t=new Set,r=function(e){e&&("Variable"===e.termType?t.add(e):"operation"===e.type&&e.args.forEach(r))};return r(e),t}function zr(e,t=1,r=[]){for(const n of e)t>0&&n instanceof Array?zr(n,t-1,r):r.push(n);return r}function Jr(e){return"Variable"===e.termType}function Wr(e){if(e.triples){const t=[];for(const r of e.triples)Jr(r.subject)&&t.push(r.subject.value),Jr(r.predicate)&&t.push(r.predicate.value),Jr(r.object)&&t.push(r.object.value);return t}if(e.patterns){const t=[];for(const r of e.patterns)t.push(...Wr(r));return t}return[]}function Xr(e){if(!nn.sparqlStar)throw new Error("SPARQL-star support is not enabled");return e}function Yr(e,t,r){for(const n of t){const t=Mr("subject"in n?n.subject:e,n.predicate,n.object);r.push(t),n.annotations&&Yr(Cr(e,n.predicate,n.object),n.annotations,r)}}function Zr(e){if(nn.sparqlStar){const t=[];return e.forEach((e=>{const r=Mr(e.subject,e.predicate,e.object);t.push(r),e.annotations&&Yr(Cr(e.subject,e.predicate,e.object),e.annotations,t)})),t}return e}function en(e){for(const t of e){if("graph"===t.type&&"Variable"===t.name.termType)throw new Error("Detected illegal variable in GRAPH");if("bgp"===t.type||"graph"===t.type)for(const e of t.triples)if("Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType)throw new Error("Detected illegal variable in BGP")}return e}function tn(e){for(const t of e)if("bgp"===t.type)for(const e of t.triples)if("BlankNode"===e.subject.termType||"BlankNode"===e.predicate.termType||"BlankNode"===e.object.termType)throw new Error("Detected illegal blank node in BGP");return e}var rn=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;ot[0].length)){if(t=r,n=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{flex:!0,"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 12;case 2:return 15;case 3:return 41;case 4:return 325;case 5:return 326;case 6:return 45;case 7:return 47;case 8:return 48;case 9:return 39;case 10:return 24;case 11:return 28;case 12:return 29;case 13:return 31;case 14:return 32;case 15:return 36;case 16:return 53;case 17:return 327;case 18:return 63;case 19:return 64;case 20:return 70;case 21:return 73;case 22:return 76;case 23:return 78;case 24:return 81;case 25:return 83;case 26:return 85;case 27:return 193;case 28:return 100;case 29:return 328;case 30:return 121;case 31:return 329;case 32:return 330;case 33:return 110;case 34:return 331;case 35:return 109;case 36:return 332;case 37:return 333;case 38:return 113;case 39:return 115;case 40:return 116;case 41:return 131;case 42:return 123;case 43:return 126;case 44:return 128;case 45:return 132;case 46:return 112;case 47:return 334;case 48:return 335;case 49:return 159;case 50:return 161;case 51:return 164;case 52:return 174;case 53:return 160;case 54:return 336;case 55:return 163;case 56:return 312;case 57:return 314;case 58:return 317;case 59:return 318;case 60:return 272;case 61:return 197;case 62:return 337;case 63:return 338;case 64:return 229;case 65:return 340;case 66:return 263;case 67:return 224;case 68:return 231;case 69:return 232;case 70:return 242;case 71:return 246;case 72:return 290;case 73:return 341;case 74:return 342;case 75:return 343;case 76:return 344;case 77:return 345;case 78:return 250;case 79:return 346;case 80:return 265;case 81:return 276;case 82:return 277;case 83:return 268;case 84:return 269;case 85:return 270;case 86:return 271;case 87:return 347;case 88:return 348;case 89:return 273;case 90:return 274;case 91:return 350;case 92:return 349;case 93:return 351;case 94:return 279;case 95:return 280;case 96:return 283;case 97:return 285;case 98:return 289;case 99:return 293;case 100:return 296;case 101:return 13;case 102:return 16;case 103:return 308;case 104:return 309;case 105:return 87;case 106:return 292;case 107:return 82;case 108:return 294;case 109:return 295;case 110:return 297;case 111:return 298;case 112:return 299;case 113:return 300;case 114:return 301;case 115:return 302;case 116:return"EXPONENT";case 117:return 303;case 118:return 304;case 119:return 305;case 120:return 306;case 121:return 89;case 122:return 310;case 123:return 6;case 124:return"INVALID";case 125:console.log(t.yytext)}},rules:[/^(?:\s+|(#[^\n\r]*))/i,/^(?:BASE)/i,/^(?:PREFIX)/i,/^(?:SELECT)/i,/^(?:DISTINCT)/i,/^(?:REDUCED)/i,/^(?:\()/i,/^(?:AS)/i,/^(?:\))/i,/^(?:\*)/i,/^(?:CONSTRUCT)/i,/^(?:WHERE)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:DESCRIBE)/i,/^(?:ASK)/i,/^(?:FROM)/i,/^(?:NAMED)/i,/^(?:GROUP)/i,/^(?:BY)/i,/^(?:HAVING)/i,/^(?:ORDER)/i,/^(?:ASC)/i,/^(?:DESC)/i,/^(?:LIMIT)/i,/^(?:OFFSET)/i,/^(?:VALUES)/i,/^(?:;)/i,/^(?:LOAD)/i,/^(?:SILENT)/i,/^(?:INTO)/i,/^(?:CLEAR)/i,/^(?:DROP)/i,/^(?:CREATE)/i,/^(?:ADD)/i,/^(?:TO)/i,/^(?:MOVE)/i,/^(?:COPY)/i,/^(?:INSERT((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)WHERE)/i,/^(?:WITH)/i,/^(?:DELETE)/i,/^(?:INSERT)/i,/^(?:USING)/i,/^(?:DEFAULT)/i,/^(?:GRAPH)/i,/^(?:ALL)/i,/^(?:\.)/i,/^(?:OPTIONAL)/i,/^(?:SERVICE)/i,/^(?:BIND)/i,/^(?:UNDEF)/i,/^(?:MINUS)/i,/^(?:UNION)/i,/^(?:FILTER)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:\{\|)/i,/^(?:\|\})/i,/^(?:,)/i,/^(?:a)/i,/^(?:\|)/i,/^(?:\/)/i,/^(?:\^)/i,/^(?:\?)/i,/^(?:\+)/i,/^(?:!)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:<)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:>=)/i,/^(?:IN)/i,/^(?:NOT)/i,/^(?:-)/i,/^(?:BOUND)/i,/^(?:BNODE)/i,/^(?:(RAND|NOW|UUID|STRUUID))/i,/^(?:(LANG|DATATYPE|IRI|URI|ABS|CEIL|FLOOR|ROUND|STRLEN|STR|UCASE|LCASE|ENCODE_FOR_URI|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|MD5|SHA1|SHA256|SHA384|SHA512|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC))/i,/^(?:(SUBJECT|PREDICATE|OBJECT|isTRIPLE))/i,/^(?:(LANGMATCHES|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|STRLANG|STRDT|sameTerm))/i,/^(?:CONCAT)/i,/^(?:COALESCE)/i,/^(?:IF)/i,/^(?:TRIPLE)/i,/^(?:REGEX)/i,/^(?:SUBSTR)/i,/^(?:REPLACE)/i,/^(?:EXISTS)/i,/^(?:COUNT)/i,/^(?:SUM|MIN|MAX|AVG|SAMPLE)/i,/^(?:GROUP_CONCAT)/i,/^(?:SEPARATOR)/i,/^(?:\^\^)/i,/^(?:true|false)/i,/^(?:(<(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*>))/i,/^(?:((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:)((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|:|[0-9]|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(_:(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?))/i,/^(?:([\?\$]((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])*)))/i,/^(?:(@[a-zA-Z]+(?:-[a-zA-Z0-9]+)*))/i,/^(?:([0-9]+))/i,/^(?:([0-9]*\.[0-9]+))/i,/^(?:([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+)))/i,/^(?:(\+([0-9]+)))/i,/^(?:(\+([0-9]*\.[0-9]+)))/i,/^(?:(\+([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:(-([0-9]+)))/i,/^(?:(-([0-9]*\.[0-9]+)))/i,/^(?:(-([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*"""))/i,/^(?:(\((\u0020|\u0009|\u000D|\u000A)*\)))/i,/^(?:(\[(\u0020|\u0009|\u000D|\u000A)*\]))/i,/^(?:$)/i,/^(?:.)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],inclusive:!0}}};return e}();function nn(){this.yy={}}return or.lexer=rn,nn.prototype=or,or.Parser=nn,new nn}();e.exports=n},23637:e=>{class t{constructor(){return r||this}equals(e){return e&&this.termType===e.termType}}Object.defineProperty(t.prototype,"value",{enumerable:!0,value:"*"}),Object.defineProperty(t.prototype,"termType",{enumerable:!0,value:"Wildcard"});var r=new t;e.exports.t=t},98082:(e,t,r)=>{var n=r(83849).Parser,i=r(23825),o=r(23637).t,{DataFactory:a}=r(47793);e.exports={Parser:function({prefixes:e,baseIRI:t,factory:r,sparqlStar:i,skipValidation:o,skipUngroupedVariableCheck:s,pathOnly:c}={}){var u={};for(var l in e||{})u[l]=e[l];var d=new n;return d.parse=function(){return n.base=t||"",n.prefixes=Object.create(u),n.factory=r||new a,n.sparqlStar=Boolean(i),n.pathOnly=Boolean(c),n.skipValidation=Boolean(o)||Boolean(s),n.prototype.parse.apply(d,arguments)},d._resetBlanks=n._resetBlanks,d},Generator:i,Wildcard:o}},916:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(71142),t)},71142:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlJsonParser=void 0;const n=r(47793),i=r(19198),o=r(50608);t.SparqlJsonParser=class{constructor(e){var t;e=e||{},this.dataFactory=e.dataFactory||new n.DataFactory,this.prefixVariableQuestionMark=!!e.prefixVariableQuestionMark,this.suppressMissingStreamResultsError=null===(t=e.suppressMissingStreamResultsError)||void 0===t||t}parseJsonResults(e){return e.results.bindings.map((e=>this.parseJsonBindings(e)))}parseJsonResultsStream(e){const t=e=>s.emit("error",e);e.on("error",t);const r=new o;r.onError=t;let n=!1,a=!1;r.onValue=e=>{if("vars"===r.key&&2===r.stack.length&&"head"===r.stack[1].key)s.emit("variables",e.map((e=>this.dataFactory.variable(e)))),n=!0;else if("results"===r.key&&1===r.stack.length)a=!0;else if("number"==typeof r.key&&3===r.stack.length&&"results"===r.stack[1].key&&"bindings"===r.stack[2].key)try{s.push(this.parseJsonBindings(e))}catch(e){s.emit("error",e)}else"metadata"===r.key&&1===r.stack.length&&s.emit("metadata",e)};const s=e.on("end",(e=>{a||this.suppressMissingStreamResultsError?n||s.emit("variables",[]):s.emit("error",new Error("No valid SPARQL query results were found."))})).pipe(new i.Transform({objectMode:!0,transform(e,t,n){r.write(e),n()}}));return s}parseJsonBindings(e){const t={};for(const r in e){const n=e[r];t[this.prefixVariableQuestionMark?"?"+r:r]=this.parseJsonValue(n)}return t}parseJsonValue(e){let t;switch(e.type){case"bnode":t=this.dataFactory.blankNode(e.value);break;case"literal":t=e["xml:lang"]?this.dataFactory.literal(e.value,e["xml:lang"]):e.datatype?this.dataFactory.literal(e.value,this.dataFactory.namedNode(e.datatype)):this.dataFactory.literal(e.value);break;case"typed-literal":t=this.dataFactory.literal(e.value,this.dataFactory.namedNode(e.datatype));break;case"triple":const r=e.value;if(!(r&&r.subject&&r.predicate&&r.object))throw new Error("Invalid quoted triple: "+JSON.stringify(e));t=this.dataFactory.quad(this.parseJsonValue(r.subject),this.parseJsonValue(r.predicate),this.parseJsonValue(r.object));break;default:t=this.dataFactory.namedNode(e.value)}return t}parseJsonBoolean(e){if("boolean"in e)return e.boolean;throw new Error("No valid ASK response was found.")}parseJsonBooleanStream(e){return new Promise(((t,r)=>{const n=new o;n.onError=r,n.onValue=e=>{"boolean"===n.key&&"boolean"==typeof e&&1===n.stack.length&&t(e)},e.on("error",r).on("data",(e=>n.write(e))).on("end",(()=>r(new Error("No valid ASK response was found."))))}))}}},12763:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52875),t)},52875:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Converter=void 0;const n=r(99349),i=r(916);class o{constructor(e){(e=e||{delimiter:"_"}).prefixVariableQuestionMark=!1,this.delimiter=e.delimiter||"_",this.parser=new i.SparqlJsonParser(e),this.materializeRdfJsTerms=e.materializeRdfJsTerms}static addValueToTree(e,t,r,n,i,a){const s=t[0],c=n?n+a+s:s,u=i.singularizeVariables[c];if(1===t.length)u?e[s]||(e[s]=r):(e[s]||(e[s]=[]),e[s].push(r));else{let n;u?(e[s]||(e[s]={}),n=e[s]):(e[s]||(e[s]=[{}]),n=e[s][0]),o.addValueToTree(n,t.slice(1),r,c,i,a)}}static mergeTrees(e,t){if(typeof e!=typeof t)throw new Error(`Two incompatible tree nodes were found: ${typeof e} and ${typeof t}`);if(Array.isArray(e)!==Array.isArray(t))throw new Error(`Two incompatible tree nodes were found: Array?${Array.isArray(e)} and Array?${Array.isArray(t)}`);if("object"==typeof e&&"object"==typeof t){if(e.termType&&t.termType)return e.equals(t)?{valid:!0,result:e}:{valid:!1,result:e};if(Array.isArray(e)&&Array.isArray(t)){if(e.length>0){const r=[];let n=!1;for(const i of e){const e=o.mergeTrees(i,t[0]);e.valid?(n=!0,r.push(e.result)):r.push(i)}if(n)return{valid:!0,result:r}}return{valid:!0,result:e.concat(t)}}{const r={};for(const e in t)r[e]=t[e];for(const t in e)if(r[t]){const n=o.mergeTrees(e[t],r[t]);if(!n.valid)return{valid:!1,result:e};r[t]=n.result}else r[t]=e[t];return{valid:!0,result:r}}}throw new Error(`Unmergable tree types: ${typeof e} and ${typeof t}`)}static materializeTree(e){if(e.termType)return(0,n.getTermRaw)(e);if(Array.isArray(e))return e.map(o.materializeTree);{const t={};for(const r in e)t[r]=o.materializeTree(e[r]);return t}}sparqlJsonResultsToTree(e,t){return this.bindingsToTree(this.parser.parseJsonResults(e),t||{singularizeVariables:{}})}bindingsToTree(e,t){const r=t&&t.singularizeVariables[""];let n=r?{}:[];for(const i of e){const e=r?{}:[{}];for(const n in i){const a=n.split(this.delimiter),s=i[n];o.addValueToTree(r?e:e[0],a,s,"",t,this.delimiter)}n=o.mergeTrees(n,e).result}return this.materializeRdfJsTerms&&(n=o.materializeTree(n)),n}}t.Converter=o},75295:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48642),t)},48642:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlXmlParser=void 0;const n=r(47793),i=r(55201),o=r(19198);t.SparqlXmlParser=class{constructor(e){e=e||{},this.dataFactory=e.dataFactory||new n.DataFactory,this.prefixVariableQuestionMark=!!e.prefixVariableQuestionMark}parseXmlResultsStream(e){const t=e=>y.emit("error",e);e.on("error",t);const r=new i.SaxesParser,n=[];let a=!1,s=!1;const c=[];let u,l={},d="",p="",h="",f=[];r.on("error",t),r.on("opentag",(e=>{"variable"===e.name&&this.stackEquals(n,["sparql","head"])?c.push(this.dataFactory.variable(e.attributes.name)):"results"===e.name&&this.stackEquals(n,["sparql"])?s=!0:"result"===e.name&&this.stackEquals(n,["sparql","results"])?l={}:"binding"===e.name&&this.stackEquals(n,["sparql","results","result"])?(d=e.attributes.name||"",p="",u="",h="",f=[]):"triple"===e.name&&this.stackBeginsWith(n,["sparql","results","result"])?f.push({components:{}}):"triple"===n[n.length-1]&&this.stackBeginsWith(n,["sparql","results","result","binding"])?(p="",u="",h="",["subject","predicate","object"].includes(e.name)?f[f.length-1].currentComponent=e.name:t(new Error(`Illegal quoted triple component '${e.name}' found on line ${r.line+1}`))):this.stackBeginsWith(n,["sparql","results","result","binding"])&&(p=e.name,u="xml:lang"in e.attributes?e.attributes["xml:lang"]:"datatype"in e.attributes?this.dataFactory.namedNode(e.attributes.datatype):void 0),n.push(e.name)})),r.on("closetag",(e=>{if(this.stackEquals(n,["sparql","head"])&&(y.emit("variables",c),a=!0),this.stackEquals(n,["sparql","results","result"])&&y.push(l),this.stackBeginsWith(n,["sparql","results","result","binding"])){let e;if(!d&&p)t(new Error(`Terms should have a name on line ${r.line+1}`));else if("uri"===p)e=this.dataFactory.namedNode(h);else if("bnode"===p)e=this.dataFactory.blankNode(h);else if("literal"===p)e=this.dataFactory.literal(h,u);else if("triple"===n[n.length-1]){const n=f.pop();n&&n.components.subject&&n.components.predicate&&n.components.object?e=this.dataFactory.quad(n.components.subject,n.components.predicate,n.components.object):t(new Error(`Incomplete quoted triple on line ${r.line+1}`))}else p&&t(new Error(`Invalid term type '${p}' on line ${r.line+1}`));if(e)if(f.length>0){const n=f[f.length-1];n.components[n.currentComponent]&&t(new Error(`The ${n.currentComponent} in a quoted triple on line ${r.line+1} was already defined before`)),n.components[n.currentComponent]=e}else{const t=this.prefixVariableQuestionMark?"?"+d:d;l[t]=e}p=void 0}n.pop()})),r.on("text",(e=>{this.stackBeginsWith(n,["sparql","results","result","binding"])&&n[n.length-1]===p&&(h=e)}));const y=e.on("end",(e=>{s?a||y.emit("variables",[]):y.emit("error",new Error("No valid SPARQL query results were found."))})).pipe(new o.Transform({objectMode:!0,transform(e,t,n){r.write(e),n()}}));return y}parseXmlBooleanStream(e){return new Promise(((t,r)=>{const n=new i.SaxesParser,o=[];n.on("error",r),n.on("opentag",(e=>{o.push(e.name)})),n.on("closetag",(e=>{o.pop()})),n.on("text",(e=>{this.stackEquals(o,["sparql","boolean"])&&t("true"===e)})),e.on("error",r).on("data",(e=>n.write(e))).on("end",(()=>r(new Error("No valid ASK response was found."))))}))}stackEquals(e,t){return e.length===t.length&&e.every(((e,r)=>t[r]===e))}stackBeginsWith(e,t){return e.length>=t.length&&t.every(((t,r)=>e[r]===t))}}},43789:(e,t,r)=>{var n=r(13559);e.exports=function(e,t,r){"function"==typeof t&&(r=t,t=null);var i="",o=new n((function(r,n){e.on("data",(function(e){i+="string"==typeof t?e.toString(t):e.toString()})),e.on("end",(function(){r(i)})),e.on("error",n)}));return r&&o.then((function(e){r(null,e)}),r),o}},83141:(e,t,r)=>{"use strict";var n=r(15003).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=u,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=l,this.end=d,t=3;break;default:return this.write=p,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function l(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function p(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},15003:(e,t,r)=>{var n=r(48287),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},36093:e=>{!function(t){"use strict";var r=function(){function e(e){this.options=e}return e.prototype.toString=function(){return JSON&&JSON.stringify?JSON.stringify(this.options):this.options},e}(),n={isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},isString:function(e){return"[object String]"===Object.prototype.toString.apply(e)},isNumber:function(e){return"[object Number]"===Object.prototype.toString.apply(e)},isBoolean:function(e){return"[object Boolean]"===Object.prototype.toString.apply(e)},join:function(e,t){var r,n="",i=!0;for(r=0;r="0"&&e<="9"}return{isAlpha:function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"},isDigit:e,isHexDigit:function(t){return e(t)||t>="a"&&t<="f"||t>="A"&&t<="F"}}}(),o=function(){var e=function(e){return e<=127?1:194<=e&&e<=223?2:224<=e&&e<=239?3:240<=e&&e<=244?4:0},t=function(e){return 128<=e&&e<=191};function r(e,t){return"%"===e.charAt(t)&&i.isHexDigit(e.charAt(t+1))&&i.isHexDigit(e.charAt(t+2))}function n(e,t){return parseInt(e.substr(t,2),16)}return{encodeCharacter:function(e){var t,r,n="",i=function(e){return unescape(encodeURIComponent(e))}(e);for(r=0;r1?r+=n:r+=c(n)||s(n)?n:o.encodeCharacter(n);return r},encodeLiteralCharacter:function(e,t){var r=o.pctCharAt(e,t);return r.length>1||c(r)||s(r)?r:o.encodeCharacter(r)}}}(),l=function(){var e={};function t(t){e[t]={symbol:t,separator:"?"===t?"&":""===t||"+"===t||"#"===t?",":t,named:";"===t||"&"===t||"?"===t,ifEmpty:"&"===t||"?"===t?"=":"",first:"+"===t?"":t,encode:"+"===t||"#"===t?u.encodePassReserved:u.encode,toString:function(){return this.symbol}}}return t(""),t("+"),t("#"),t("."),t("/"),t(";"),t("?"),t("&"),{valueOf:function(t){return e[t]?e[t]:"=,!@|".indexOf(t)>=0?null:e[""]}}}();function d(e){var t;if(null==e)return!1;if(n.isArray(e))return e.length>0;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return!0;for(t in e)if(e.hasOwnProperty(t)&&d(e[t]))return!0;return!1}var p=function(){function e(e){this.literal=u.encodeLiteral(e)}return e.prototype.expand=function(){return this.literal},e.prototype.toString=e.prototype.expand,e}(),h=function(){function e(e){var t,n,s=[],c=null,u=null,d=null,p="";function h(){var t=e.substring(u,n);if(0===t.length)throw new r({expressionText:e,message:"a varname must be specified",position:n});c={varname:t,exploded:!1,maxLength:null},u=null}function y(){if(d===n)throw new r({expressionText:e,message:"after a ':' you have to specify the length",position:n});c.maxLength=parseInt(e.substring(d,n),10),d=null}for(t=function(t){var i=l.valueOf(t);if(null===i)throw new r({expressionText:e,message:"illegal use of reserved operator",position:n,operator:t});return i}(e.charAt(0)),n=t.symbol.length,u=n;n=4)throw new r({expressionText:e,message:"A :prefix must have max 4 digits",position:n});continue}y()}if(":"!==p)if("*"!==p){if(","!==p)throw new r({expressionText:e,message:"illegal character",character:p,position:n});s.push(c),c=null,u=n+1}else{if(null===c)throw new r({expressionText:e,message:"exploded without varspec",position:n});if(c.exploded)throw new r({expressionText:e,message:"exploded twice",position:n});if(c.maxLength)throw new r({expressionText:e,message:"an explode (*) MUST NOT follow to a prefix",position:n});c.exploded=!0}else{if(null!==c.maxLength)throw new r({expressionText:e,message:"only one :maxLength is allowed per varspec",position:n});if(c.exploded)throw new r({expressionText:e,message:"an exploeded varspec MUST NOT be varspeced",position:n});d=n+1}}return null!==u&&h(),null!==d&&y(),s.push(c),new f(e,t,s)}return function(t){var n,i,o=[],a=null,s=0;for(n=0;n{"use strict";var n;r.r(t),r.d(t,{NIL:()=>P,parse:()=>g,stringify:()=>l,v1:()=>y,v3:()=>O,v4:()=>x,v5:()=>R,validate:()=>s,version:()=>F});var i=new Uint8Array(16);function o(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(i)}const a=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,s=function(e){return"string"==typeof e&&a.test(e)};for(var c=[],u=0;u<256;++u)c.push((u+256).toString(16).substr(1));const l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]).toLowerCase();if(!s(r))throw TypeError("Stringified UUID is invalid");return r};var d,p,h=0,f=0;const y=function(e,t,r){var n=t&&r||0,i=t||new Array(16),a=(e=e||{}).node||d,s=void 0!==e.clockseq?e.clockseq:p;if(null==a||null==s){var c=e.random||(e.rng||o)();null==a&&(a=d=[1|c[0],c[1],c[2],c[3],c[4],c[5]]),null==s&&(s=p=16383&(c[6]<<8|c[7]))}var u=void 0!==e.msecs?e.msecs:Date.now(),y=void 0!==e.nsecs?e.nsecs:f+1,g=u-h+(y-f)/1e4;if(g<0&&void 0===e.clockseq&&(s=s+1&16383),(g<0||u>h)&&void 0===e.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=u,f=y,p=s;var m=(1e4*(268435455&(u+=122192928e5))+y)%4294967296;i[n++]=m>>>24&255,i[n++]=m>>>16&255,i[n++]=m>>>8&255,i[n++]=255&m;var b=u/4294967296*1e4&268435455;i[n++]=b>>>8&255,i[n++]=255&b,i[n++]=b>>>24&15|16,i[n++]=b>>>16&255,i[n++]=s>>>8|128,i[n++]=255&s;for(var _=0;_<6;++_)i[n+_]=a[_];return t||l(i)},g=function(e){if(!s(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r};function m(e,t,r){function n(e,n,i,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r>>9<<4)+1}function _(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function v(e,t,r,n,i,o){return _((a=_(_(t,e),_(n,o)))<<(s=i)|a>>>32-s,r);var a,s}function w(e,t,r,n,i,o,a){return v(t&r|~t&n,e,t,i,o,a)}function S(e,t,r,n,i,o,a){return v(t&n|r&~n,e,t,i,o,a)}function E(e,t,r,n,i,o,a){return v(t^r^n,e,t,i,o,a)}function T(e,t,r,n,i,o,a){return v(r^(t|~n),e,t,i,o,a)}const O=m("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var r=0;r>5]>>>i%32&255,a=parseInt(n.charAt(o>>>4&15)+n.charAt(15&o),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[n/8])<>>32-t}const R=m("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var n=unescape(encodeURIComponent(e));e=[];for(var i=0;i>>0;_=b,b=m,m=I(g,30)>>>0,g=y,y=S}r[0]=r[0]+y>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+_>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),P="00000000-0000-0000-0000-000000000000",F=function(e){if(!s(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},17024:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(32300),t)},32300:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateIri=t.IriValidationStrategy=void 0;const r=function(){const e="[!$&'()*+,;=]",t="%[a-fA-F0-9]{2}",r="([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",n=`${r}\\.${r}\\.${r}\\.${r}`,i="[a-fA-F0-9]{1,4}",o=`(${i}:${i}|${n})`,a="[a-zA-Z0-9\\-._~ -퟿豈-﷏ﷰ-￯𐀀-🿽𠀀-𯿽𰀀-𿿽񀀀-񏿽񐀀-񟿽񠀀-񯿽񰀀-񿿽򀀀-򏿽򐀀-򟿽򠀀-򯿽򰀀-򿿽󀀀-󏿽󐀀-󟿽󡀀-󯿽]",s=`(${a}|${t}|${e}|[:@])*`,c=`(${s})+`,u=`(${s})*`;return new RegExp(`^[a-zA-Z][a-zA-Z0-9+\\-.]*:(\\/\\/((${a}|${t}|${e}|:)*@)?(\\[(((${i}:){6}${o}|::(${i}:){5}${o}|(${i})?::(${i}:){4}${o}|((${i}:){0,1}${i})?::(${i}:){3}${o}|((${i}:){0,2}${i})?::(${i}:){2}${o}|((${i}:){0,3}${i})?::${i}:${o}|((${i}:){0,4}${i})?::${o}|((${i}:){0,5}${i})?::${i}|((${i}:){0,6}${i})?::)|v[a-fA-F0-9]+\\.(${e}|${e}|":)+)\\]|${n}|(${a}|${t}|${e})*)(:[0-9]*)?(\\/${u})*|\\/(${c}(\\/${u})*)?|${c}(\\/${u})*|)(\\?(${s}|[-󰀀-󿿽􀀀-􏿽]|[\\/?])*)?(#(${s}|[\\/?])*)?$`,"u")}(),n=/^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/u;var i;!function(e){e.Strict="strict",e.Pragmatic="pragmatic",e.None="none"}(i=t.IriValidationStrategy||(t.IriValidationStrategy={})),t.validateIri=function(e,t=i.Strict){switch(t){case i.Strict:return r.test(e)?void 0:new Error(`Invalid IRI according to RFC 3987: '${e}'`);case i.Pragmatic:return n.test(e)?void 0:new Error(`Invalid IRI according to RDF Turtle: '${e}'`);case i.None:return;default:return new Error(`Not supported validation strategy "${t}"`)}}},31487:(e,t)=>{"use strict";function r(e){return e>=65&&e<=90||e>=97&&e<=122||58===e||95===e||8204===e||8205===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR="\t\n\r -퟿-�𐀀-􏿿",t.S=" \t\r\n",t.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",t.NAME_CHAR="-"+t.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",t.CHAR_RE=new RegExp("^["+t.CHAR+"]$","u"),t.S_RE=new RegExp("^["+t.S+"]+$","u"),t.NAME_START_CHAR_RE=new RegExp("^["+t.NAME_START_CHAR+"]$","u"),t.NAME_CHAR_RE=new RegExp("^["+t.NAME_CHAR+"]$","u"),t.NAME_RE=new RegExp("^["+t.NAME_START_CHAR+"]["+t.NAME_CHAR+"]*$","u"),t.NMTOKEN_RE=new RegExp("^["+t.NAME_CHAR+"]+$","u"),t.S_LIST=[32,10,13,9],t.isChar=function(e){return e>=32&&e<=55295||10===e||13===e||9===e||e>=57344&&e<=65533||e>=65536&&e<=1114111},t.isS=function(e){return 32===e||10===e||13===e||9===e},t.isNameStartChar=r,t.isNameChar=function(e){return r(e)||e>=48&&e<=57||45===e||46===e||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},84797:(e,t)=>{"use strict";function r(e){return e>=65&&e<=90||e>=97&&e<=122||58===e||95===e||8204===e||8205===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR="-퟿-�𐀀-􏿿",t.RESTRICTED_CHAR="-\b\v\f--„†-Ÿ",t.S=" \t\r\n",t.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",t.NAME_CHAR="-"+t.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",t.CHAR_RE=new RegExp("^["+t.CHAR+"]$","u"),t.RESTRICTED_CHAR_RE=new RegExp("^["+t.RESTRICTED_CHAR+"]$","u"),t.S_RE=new RegExp("^["+t.S+"]+$","u"),t.NAME_START_CHAR_RE=new RegExp("^["+t.NAME_START_CHAR+"]$","u"),t.NAME_CHAR_RE=new RegExp("^["+t.NAME_CHAR+"]$","u"),t.NAME_RE=new RegExp("^["+t.NAME_START_CHAR+"]["+t.NAME_CHAR+"]*$","u"),t.NMTOKEN_RE=new RegExp("^["+t.NAME_CHAR+"]+$","u"),t.S_LIST=[32,10,13,9],t.isChar=function(e){return e>=1&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},t.isRestrictedChar=function(e){return e>=1&&e<=8||11===e||12===e||e>=14&&e<=31||e>=127&&e<=132||e>=134&&e<=159},t.isCharAndNotRestricted=function(e){return 9===e||10===e||13===e||e>31&&e<127||133===e||e>159&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},t.isS=function(e){return 32===e||10===e||13===e||9===e},t.isNameStartChar=r,t.isNameChar=function(e){return r(e)||e>=48&&e<=57||45===e||46===e||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},60446:(e,t)=>{"use strict";function r(e){return e>=65&&e<=90||95===e||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(t,"__esModule",{value:!0}),t.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",t.NC_NAME_CHAR="-"+t.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",t.NC_NAME_START_CHAR_RE=new RegExp("^["+t.NC_NAME_START_CHAR+"]$","u"),t.NC_NAME_CHAR_RE=new RegExp("^["+t.NC_NAME_CHAR+"]$","u"),t.NC_NAME_RE=new RegExp("^["+t.NC_NAME_START_CHAR+"]["+t.NC_NAME_CHAR+"]*$","u"),t.isNCNameStartChar=r,t.isNCNameChar=function(e){return r(e)||45===e||46===e||e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},42634:()=>{},75627:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIterator=t.isIterable=t.isSourceExpression=t.isPromise=t.isEventEmitter=t.isFunction=t.range=t.union=t.fromIterable=t.fromIterator=t.fromArray=t.single=t.empty=t.wrap=t.WrappingIterator=t.ClonedIterator=t.UnionIterator=t.MultiTransformIterator=t.SimpleTransformIterator=t.TransformIterator=t.BufferedIterator=t.MappingIterator=t.DESTINATION=t.identity=t.IntegerIterator=t.ArrayIterator=t.SingletonIterator=t.EmptyIterator=t.AsyncIterator=t.DESTROYED=t.ENDED=t.CLOSED=t.CLOSING=t.OPEN=t.INIT=t.setTaskScheduler=t.getTaskScheduler=t.scheduleTask=t.LinkedList=void 0;const n=r(37007),i=r(40288);Object.defineProperty(t,"LinkedList",{enumerable:!0,get:function(){return i.LinkedList}});let o=r(34683).createTaskScheduler();t.scheduleTask=function(e){o(e)},t.getTaskScheduler=function(){return o},t.setTaskScheduler=function(e){o=e},t.INIT=1,t.OPEN=2,t.CLOSING=4,t.CLOSED=8,t.ENDED=16,t.DESTROYED=32;class a extends n.EventEmitter{constructor(e=t.OPEN){super(),this._readable=!1,this._state=e,this.on("newListener",s)}_changeState(e,r=!1){const n=e>this._state&&this._statethis.emit("end"))):this.emit("end"))),n}read(){return null}forEach(e,t){this.on("data",N(e,t))}close(){this._changeState(t.CLOSED)&&this._endAsync()}destroy(e){this.done||this._destroy(e,(t=>{(e=e||t)&&this.emit("error",e),this._end(!0)}))}_destroy(e,t){t()}_end(e=!1){this._changeState(e?t.DESTROYED:t.ENDED)&&(this._readable=!1,this.removeAllListeners("readable"),this.removeAllListeners("data"),this.removeAllListeners("end"))}_endAsync(){o((()=>this._end()))}get readable(){return this._readable}set readable(e){e=Boolean(e)&&!this.done,this._readable!==e&&(this._readable=e,e&&o((()=>this.emit("readable"))))}get closed(){return this._state>=t.CLOSING}get ended(){return this._state===t.ENDED}get destroyed(){return this._state===t.DESTROYED}get done(){return this._state>=t.ENDED}toString(){const e=this._toStringDetails();return`[${this.constructor.name}${e?` ${e}`:""}]`}_toStringDetails(){return""}toArray(e){const t=[],r="number"==typeof(null==e?void 0:e.limit)?e.limit:1/0;return this.ended||r<=0?Promise.resolve(t):new Promise(((e,n)=>{const i=()=>e(t),o=a=>{t.push(a),t.length>=r&&(this.removeListener("error",n),this.removeListener("data",o),this.removeListener("end",i),e(t))};this.on("error",n),this.on("data",o),this.on("end",i)}))}getProperty(e,t){const r=this._properties;if(!t)return r&&r[e];if(r&&e in r)o((()=>t(r[e])));else{let r;(r=this._propertyCallbacks)||(this._propertyCallbacks=r=Object.create(null)),e in r?r[e].push(t):r[e]=[t]}}setProperty(e,t){(this._properties||(this._properties=Object.create(null)))[e]=t;const r=this._propertyCallbacks||{},n=r[e];if(n){for(e in delete r[e],o((()=>{for(const e of n)e(t)})),r)return;delete this._propertyCallbacks}}getProperties(){const e=this._properties,t={};for(const r in e)t[r]=e[r];return t}setProperties(e){for(const t in e)this.setProperty(t,e[t])}copyProperties(e,t){for(const r of t)e.getProperty(r,(e=>this.setProperty(r,e)))}transform(e){return new T(this,e)}map(e,t){return new y(this,N(e,t))}filter(e,t){return this.map((function(r){return e.call(t||this,r)?r:null}))}uniq(e=f){const t=new Set;return this.filter((function(r){const n=e.call(this,r);return!t.has(n)&&(t.add(n),!0)}))}prepend(e){return this.transform({prepend:e})}append(e){return this.transform({append:e})}surround(e,t){return this.transform({prepend:e,append:t})}skip(e){return this.map((t=>e-- >0?null:t))}take(e){return this.transform({limit:e})}range(e,t){return this.transform({offset:e,limit:Math.max(t-e+1,0)})}clone(){return new A(this)}[Symbol.asyncIterator](){const e=this;let t=null,r=null,n=null;function i(){if(null!==t)if(null!==n)o(n);else if(e.done)t({done:!0,value:void 0}),t=r=null,a();else{const n=e.read();null!==n&&(t({done:!1,value:n}),t=r=null)}}function o(e){null!==r?(r(e),t=r=n=null,a()):null===n&&(n=e)}function a(){e.removeListener("readable",i),e.removeListener("end",i),e.removeListener("error",o)}return e.addListener("readable",i),e.addListener("end",i),e.addListener("error",o),{next:()=>new Promise(((e,n)=>{t=e,r=n,i()}))}}}function s(e){"data"===e&&(this.removeListener("newListener",s),u(this,"readable",c),this.readable&&o((()=>c.call(this))))}function c(){let e;for(;0!==this.listenerCount("data")&&null!==(e=this.read());)this.emit("data",e);0!==this.listenerCount("data")||this.done||(this.removeListener("readable",c),u(this,"newListener",s))}function u(e,t,r){e.listeners(t).includes(r)||e.on(t,r)}t.AsyncIterator=a;class l extends a{constructor(){super(),this._changeState(t.ENDED,!0)}}t.EmptyIterator=l;class d extends a{constructor(e){super(),this._item=e,null===e?this.close():this.readable=!0}read(){const e=this._item;return this._item=null,this.close(),e}_toStringDetails(){return null===this._item?"":`(${this._item})`}}t.SingletonIterator=d;class p extends a{constructor(e=[],{autoStart:t=!0,preserve:r=!0}={}){super();const n=r||!Array.isArray(e)?[...e]:e;this._index=0,this._sourceStarted=!1!==t,this._truncateThreshold=r?-1:64,this._sourceStarted&&0===n.length?this.close():this._buffer=n,this.readable=!0}read(){this._sourceStarted||(this._sourceStarted=!0);let e=null;return this._buffer&&(this._index=t&&this.close(),Promise.resolve(i)}}t.ArrayIterator=p;class h extends a{constructor({start:e=0,step:t=1,end:r}={}){super(),Number.isFinite(e)&&(e=Math.trunc(e)),this._next=e,Number.isFinite(t)&&(t=Math.trunc(t)),this._step=t;const n=t>=0,i=n?1/0:-1/0;Number.isFinite(r)?r=Math.trunc(r):r!==-i&&(r=i),this._last=r,!Number.isFinite(e)||(n?e>r:e=0?n>r:nthis._init(r))),this._sourceStarted=!1!==r}get maxBufferSize(){return this._maxBufferSize}set maxBufferSize(e){e!==1/0&&(e=Number.isFinite(e)?Math.max(Math.trunc(e),1):4),this._maxBufferSize!==e&&(this._maxBufferSize=e,this._state===t.OPEN&&this._fillBuffer())}_init(e){let r=!1;this._reading=!0,this._begin((()=>{if(r)throw new Error("done callback called multiple times");r=!0,this._reading=!1,this._changeState(t.OPEN),e?this._fillBufferAsync():this.readable=!0}))}_begin(e){e()}read(){if(this.done)return null;this._sourceStarted||(this._sourceStarted=!0);const e=this._buffer;let t;return e.empty?(t=null,this.readable=!1):t=e.shift(),!this._reading&&e.length0&&(this._pushedCount=0,this._reading=!0,this._read(e,(()=>{if(!e)throw new Error("done callback called multiple times");e=0,this._reading=!1,this.closed?this._completeClose():this._pushedCount&&(this.readable=!0,this._buffer.length{this._reading=!1,this._fillBuffer()})))}close(){this._reading?this._changeState(t.CLOSING):this._completeClose()}_completeClose(){this._changeState(t.CLOSED)&&(this._reading=!0,this._flush((()=>{if(!this._reading)throw new Error("done callback called multiple times");this._reading=!1,this._buffer.empty&&this._endAsync()})))}_destroy(e,t){this._buffer.clear(),t()}_flush(e){e()}_toStringDetails(){const e=this._buffer;return`{${e.empty?"":`next: ${e.first}, `}buffer: ${e.length}}`}}t.BufferedIterator=m;class b extends m{constructor(e,t=e||{}){super(t),this._boundPush=e=>this._push(e),k(e)||(e=t.source),C(e)?this.source=e:e&&(this._createSource=M(e)?()=>e:e,this._sourceStarted&&this._loadSourceAsync()),this._optional=Boolean(t.optional),this._destroySource=!1!==t.destroySource}get source(){return j(this._createSource)&&this._loadSourceAsync(),this._source}set source(e){const r=this._source=this._validateSource(e);r[t.DESTINATION]=this,this.done?this._destroySource&&r.destroy():r.done?this.close():(r.on("end",S),r.on("readable",E),r.on("error",v))}_loadSourceAsync(){j(this._createSource)&&(Promise.resolve(this._createSource()).then((e=>{delete this._createSource,this.source=e,this._fillBuffer()}),(e=>this.emit("error",e))),this._createSource=null)}_validateSource(e,t=!1){if(this._source||void 0!==this._createSource)throw new Error("The source cannot be changed after it has been set");return g(e,t)}_read(e,t){const r=()=>{this._pushedCountthis._readAndTransform(r,t))):t()};this._readAndTransform(r,t)}_readAndTransform(e,t){let r;const n=this.source;!n||n.done||null===(r=n.read())?t():this._optional?this._optionalTransform(r,e):this._transform(r,e,this._boundPush)}_optionalTransform(e,t){const r=this._pushedCount;this._transform(e,(()=>{r===this._pushedCount&&this._push(e),t()}),this._boundPush)}_transform(e,t,r){r(e),t()}_closeWhenDone(){this.close()}_end(e){const r=this._source;r&&(r.removeListener("end",S),r.removeListener("error",v),r.removeListener("readable",E),delete r[t.DESTINATION],this._destroySource&&r.destroy()),super._end(e)}}function _(){this[t.DESTINATION].readable=!0}function v(e){this[t.DESTINATION].emit("error",e)}function w(){this[t.DESTINATION].close()}function S(){this[t.DESTINATION]._closeWhenDone()}function E(){!1!==this[t.DESTINATION]._sourceStarted&&this[t.DESTINATION]._fillBuffer()}t.TransformIterator=b;class T extends b{constructor(e,t){if(super(e,t),this._offset=0,this._limit=1/0,this._filter=e=>!0,t=t||(k(e)?null:e)){const e=j(t)?t:t.transform,{limit:r,offset:n,filter:i,map:o,prepend:a,append:s}=t;n===1/0||r===-1/0?this._limit=0:(Number.isFinite(n)&&(this._offset=Math.max(Math.trunc(n),0)),Number.isFinite(r)&&(this._limit=Math.max(Math.trunc(r),0)),j(i)&&(this._filter=i),j(o)&&(this._map=o),this._transform=j(e)?e:null),a&&(this._prepender=C(a)?a:D(a)),s&&(this._appender=C(s)?s:D(s))}}_read(e,t){const r=()=>this._readAndTransformSimple(e,n,t);function n(){o(r)}this._readAndTransformSimple(e,n,t)}_readAndTransformSimple(e,t,r){let n;const{source:i}=this;if(i&&!i.done){for(0===this._limit&&this.close();!this.closed&&this._pushedCountthis._push(e);!e||e.done?t():(e.on("data",r),e.on("end",(function n(){e.removeListener("data",r),e.removeListener("end",n),t()})))}}t.SimpleTransformIterator=T,t.MultiTransformIterator=class extends b{constructor(e,t){if(super(e,t),this._transformerQueue=[],t){const e=j(t)?t:t.multiTransform;e&&(this._createTransformer=e)}}_read(e,r){const n=this._transformerQueue,i=this._optional;let o,a;for(;(o=n[0])&&o.transformer.done;){i&&null!==o.item&&(e--,this._push(o.item)),n.shift();const{transformer:t}=o;t.removeListener("end",E),t.removeListener("readable",E),t.removeListener("error",v)}const{source:s}=this;for(;s&&!s.done&&n.length0&&null!==(a=t.read());)this._push(a),i&&(o.item=null)}else s&&s.done&&this.close();r()}_createTransformer(e){return new d(e)}_closeWhenDone(){this._transformerQueue.length||this.close()}_end(e){if(super._end(e),this._destroySource)for(const e of this._transformerQueue)e.transformer.destroy()}};class O extends m{constructor(e,t={}){super(t),this._sources=[],this._currentSource=-1;const r=!1!==t.autoStart;if(C(e))e.on("error",(e=>this.emit("error",e))),this._pending={loading:!1,sources:e},r&&this._loadSources();else if(Array.isArray(e)&&e.length>0)for(const t of e)this._addSource(t);else r&&this.close();this._destroySources=!1!==t.destroySources}_loadSources(){const e=this._pending.sources;this._pending.loading=!0,e.done?(delete this._pending,this.close()):(e.on("data",(e=>{this._addSource(e),this._fillBufferAsync()})),e.on("end",(()=>{delete this._pending,this._fillBuffer()})))}_addSource(e){M(e)&&(e=P(e)),e.done||(this._sources.push(e),e[t.DESTINATION]=this,e.on("error",v),e.on("readable",E),e.on("end",x))}_removeEmptySources(){this._sources=this._sources.filter(((e,t)=>(e.done&&t<=this._currentSource&&this._currentSource--,!e.done))),this._fillBuffer()}_read(e,t){var r;!1===(null===(r=this._pending)||void 0===r?void 0:r.loading)&&this._loadSources();let n,i=0;for(;i!==(i=e);)for(let t=0;t0;t++)this._currentSource=(this._currentSource+1)%this._sources.length,null!==(n=this._sources[this._currentSource].read())&&(e--,this._push(n));this._pending||0!==this._sources.length||this.close(),t()}_end(e=!1){if(super._end(e),this._destroySources){for(const e of this._sources)e.destroy();this._pending&&(this._pending.sources.destroy(),delete this._pending)}}}function x(){this[t.DESTINATION]._removeEmptySources()}t.UnionIterator=O;class A extends b{constructor(e){super(e,{autoStart:!1}),this._readPosition=0,this._reading=!1,e&&(this.readable=!0)}_init(){}close(){a.prototype.close.call(this)}get source(){return super.source}set source(e){const r=this._source=this._validateSource(e),n=r&&r[t.DESTINATION]||(r[t.DESTINATION]=new I(r));this.done?this._destroySource&&r.destroy():n.endsAt(0)?this.close():(n.register(this),!1!==r._sourceStarted&&null===n.readAt(0)||(this.readable=!0));const i=this._propertyCallbacks;for(const e in i){const t=i[e];for(const r of t)this._getSourceProperty(e,r)}}_validateSource(e,r=!1){const n=e&&e[t.DESTINATION];return super._validateSource(e,!n||n instanceof I)}getProperty(e,t){const{source:r}=this,n=this._properties,i=n&&e in n;if(!t)return i?n&&n[e]:r&&r.getProperty(e);super.getProperty(e,t),r&&!i&&this._getSourceProperty(e,t)}_getSourceProperty(e,t){this.source.getProperty(e,(r=>{this._properties&&e in this._properties||t(r)}))}getProperties(){const e=this.source?this.source.getProperties():{},t=this._properties;for(const r in t)e[r]=t[r];return e}_toStringDetails(){return`{source: ${this.source?this.source.toString():"none"}}`}read(){this._sourceStarted||(this._sourceStarted=!0);const e=this.source;let r=null;if(!this.done&&e){const n=e[t.DESTINATION];null!==(r=n.readAt(this._readPosition))?this._readPosition++:this.readable=!1,n.endsAt(this._readPosition)&&this.close()}return r}_end(e){const r=this.source,n=null==r?void 0:r[t.DESTINATION];n&&n.unregister(this),m.prototype._end.call(this,e)}}t.ClonedIterator=A;class I{constructor(e){if(this._history=[],this._trackers=new Set,this._source=e,!e.done){const t=()=>{for(const e of this._trackers)e.readable=!0},r=e=>{for(const t of this._trackers)t.emit("error",e)},n=()=>{for(const e of this._trackers)!1!==e._sourceStarted&&e._readPosition===this._history.length&&e.close();this._trackers.clear(),e.removeListener("end",n),e.removeListener("error",r),e.removeListener("readable",t)};e.on("end",n),e.on("error",r),e.on("readable",t)}}register(e){this._source.done||this._trackers.add(e)}unregister(e){this._trackers.delete(e)}readAt(e){let t=null;return e{this._source=null,this.source=e})).catch((e=>this.emit("error",e)))):e&&(this.source=e)}set source(e){let r=e;if(null!==this._source)throw new Error("The source cannot be changed after it has been set");if(L(r)&&(r=r[Symbol.iterator]()),U(r)){let e=r;r=new n.EventEmitter,r.read=()=>{if(null!==e){let t;for(;!(t=e.next()).done;)if(null!==t.value)return t.value;e=null,this.close()}return null}}else r=g(r);this.done?this._destroySource&&j(r.destroy)&&r.destroy():(r[t.DESTINATION]=this,r.on("end",w),r.on("error",v),r.on("readable",_),this._source=r,this.readable=!1!==r.readable)}read(){if(null!==this._source&&!1!==this._source.readable){const e=this._source.read();if(null!==e)return e;this.readable=!1}return null}_end(e=!1){null!==this._source&&(this._source.removeListener("end",w),this._source.removeListener("error",v),this._source.removeListener("readable",_),delete this._source[t.DESTINATION],this._destroySource&&j(this._source.destroy)&&this._source.destroy(),this._source=null),super._end(e)}}function P(e,t){if(t&&("autoStart"in t||"optional"in t||"source"in t||"maxBufferSize"in t))return e&&!C(e)&&(e=new R(e)),new b(e,t);if(!e)return F();if(M(e))return new R(e,t);if(e instanceof a)return e;if(Array.isArray(e))return D(e);if(L(e)||U(e)||C(e))return new R(e,t);throw new TypeError(`Invalid source: ${e}`)}function F(){return new l}function D(e){return new p(e)}function N(e,t){return t?e.bind(t):e}function j(e){return"function"==typeof e}function C(e){return j(null==e?void 0:e.on)}function M(e){return j(null==e?void 0:e.then)}function k(e){return e&&(C(e)||M(e)||j(e))}function L(e){return e&&Symbol.iterator in e}function U(e){return j(null==e?void 0:e.next)}t.WrappingIterator=R,t.wrap=P,t.empty=F,t.single=function(e){return new d(e)},t.fromArray=D,t.fromIterator=function(e){return new R(e)},t.fromIterable=function(e){return new R(e)},t.union=function(e){return new O(e)},t.range=function(e,t,r){return new h({start:e,end:t,step:r})},t.isFunction=j,t.isEventEmitter=C,t.isPromise=M,t.isSourceExpression=k,t.isIterable=L,t.isIterator=U},40288:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedList=void 0,t.LinkedList=class{constructor(){this._length=0,this._head=null,this._tail=null}get length(){return this._length}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}get empty(){return null===this._head}push(e){const t={value:e,next:null};null===this._tail?this._head=this._tail=t:this._tail.next=this._tail=t,this._length++}shift(){if(null===this._head)return;const{value:e,next:t}=this._head;return this._head=t,null===t&&(this._tail=null),this._length--,e}clear(){this._length=0,this._head=this._tail=null}}},34683:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskScheduler=void 0;const r=Promise.resolve(void 0);t.createTaskScheduler=function(){const e="function"==typeof queueMicrotask?queueMicrotask:e=>r.then(e),t="function"==typeof setImmediate?setImmediate:e=>setTimeout(e,0);let n=0,i=null;return r=>{null!==i?i.push(r):++n<100?e(r):(i=[r],t((()=>{for(const t of i)e(t);i=null,n=0})))}}},89096:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;const r="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,n=new Set,i="object"==typeof process&&process?process:{},o=(e,t,r,n)=>{"function"==typeof i.emitWarning?i.emitWarning(e,t,r,n):console.error(`[${r}] ${t}: ${e}`)};let a=globalThis.AbortController,s=globalThis.AbortSignal;if(void 0===a){s=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(e,t){this._onabort.push(t)}},a=class{constructor(){t()}signal=new s;abort(e){if(!this.signal.aborted){this.signal.reason=e,this.signal.aborted=!0;for(const t of this.signal._onabort)t(e);this.signal.onabort?.(e)}}};let e="1"!==i.env?.LRU_CACHE_IGNORE_AC_WARNING;const t=()=>{e&&(e=!1,o("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}Symbol("type");const c=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),u=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?l:null:null;class l extends Array{constructor(e){super(e),this.fill(0)}}class d{heap;length;static#e=!1;static create(e){const t=u(e);if(!t)return[];d.#e=!0;const r=new d(e,t);return d.#e=!1,r}constructor(e,t){if(!d.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class p{#t;#r;#n;#i;#o;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#a;#s;#c;#u;#l;#d;#p;#h;#f;#y;#g;#m;#b;#_;#v;#w;#S;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#_,sizes:e.#m,keyMap:e.#c,keyList:e.#u,valList:e.#l,next:e.#d,prev:e.#p,get head(){return e.#h},get tail(){return e.#f},free:e.#y,isBackgroundFetch:t=>e.#E(t),backgroundFetch:(t,r,n,i)=>e.#T(t,r,n,i),moveToTail:t=>e.#O(t),indexes:t=>e.#x(t),rindexes:t=>e.#A(t),isStale:t=>e.#I(t)}}get max(){return this.#t}get maxSize(){return this.#r}get calculatedSize(){return this.#s}get size(){return this.#a}get fetchMethod(){return this.#o}get dispose(){return this.#n}get disposeAfter(){return this.#i}constructor(e){const{max:t=0,ttl:r,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:s,updateAgeOnHas:l,allowStale:h,dispose:f,disposeAfter:y,noDisposeOnSet:g,noUpdateTTL:m,maxSize:b=0,maxEntrySize:_=0,sizeCalculation:v,fetchMethod:w,noDeleteOnFetchRejection:S,noDeleteOnStaleGet:E,allowStaleOnFetchRejection:T,allowStaleOnFetchAbort:O,ignoreFetchAbort:x}=e;if(0!==t&&!c(t))throw new TypeError("max option must be a nonnegative integer");const A=t?u(t):Array;if(!A)throw new Error("invalid max value: "+t);if(this.#t=t,this.#r=b,this.maxEntrySize=_||this.#r,this.sizeCalculation=v,this.sizeCalculation){if(!this.#r&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==w&&"function"!=typeof w)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=w,this.#w=!!w,this.#c=new Map,this.#u=new Array(t).fill(void 0),this.#l=new Array(t).fill(void 0),this.#d=new A(t),this.#p=new A(t),this.#h=0,this.#f=0,this.#y=d.create(t),this.#a=0,this.#s=0,"function"==typeof f&&(this.#n=f),"function"==typeof y?(this.#i=y,this.#g=[]):(this.#i=void 0,this.#g=void 0),this.#v=!!this.#n,this.#S=!!this.#i,this.noDisposeOnSet=!!g,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!S,this.allowStaleOnFetchRejection=!!T,this.allowStaleOnFetchAbort=!!O,this.ignoreFetchAbort=!!x,0!==this.maxEntrySize){if(0!==this.#r&&!c(this.#r))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#R()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!E,this.updateAgeOnGet=!!s,this.updateAgeOnHas=!!l,this.ttlResolution=c(i)||0===i?i:1,this.ttlAutopurge=!!a,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#P()}if(0===this.#t&&0===this.ttl&&0===this.#r)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#t&&!this.#r){const e="LRU_CACHE_UNBOUNDED";(e=>!n.has(e))(e)&&(n.add(e),o("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,p))}}getRemainingTTL(e){return this.#c.has(e)?1/0:0}#P(){const e=new l(this.#t),t=new l(this.#t);this.#_=e,this.#b=t,this.#F=(n,i,o=r.now())=>{if(t[n]=0!==i?o:0,e[n]=i,0!==i&&this.ttlAutopurge){const e=setTimeout((()=>{this.#I(n)&&this.delete(this.#u[n])}),i+1);e.unref&&e.unref()}},this.#D=n=>{t[n]=0!==e[n]?r.now():0},this.#N=(r,o)=>{if(e[o]){const a=e[o],s=t[o];if(!a||!s)return;r.ttl=a,r.start=s,r.now=n||i();const c=r.now-s;r.remainingTTL=a-c}};let n=0;const i=()=>{const e=r.now();if(this.ttlResolution>0){n=e;const t=setTimeout((()=>n=0),this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=r=>{const o=this.#c.get(r);if(void 0===o)return 0;const a=e[o],s=t[o];return a&&s?a-((n||i())-s):1/0},this.#I=r=>{const o=t[r],a=e[r];return!!a&&!!o&&(n||i())-o>a}}#D=()=>{};#N=()=>{};#F=()=>{};#I=()=>!1;#R(){const e=new l(this.#t);this.#s=0,this.#m=e,this.#j=t=>{this.#s-=e[t],e[t]=0},this.#C=(e,t,r,n)=>{if(this.#E(t))return 0;if(!c(r)){if(!n)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof n)throw new TypeError("sizeCalculation must be a function");if(r=n(t,e),!c(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return r},this.#M=(t,r,n)=>{if(e[t]=r,this.#r){const r=this.#r-e[t];for(;this.#s>r;)this.#k(!0)}this.#s+=e[t],n&&(n.entrySize=r,n.totalCalculatedSize=this.#s)}}#j=e=>{};#M=(e,t,r)=>{};#C=(e,t,r,n)=>{if(r||n)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#x({allowStale:e=this.allowStale}={}){if(this.#a)for(let t=this.#f;this.#L(t)&&(!e&&this.#I(t)||(yield t),t!==this.#h);)t=this.#p[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#a)for(let t=this.#h;this.#L(t)&&(!e&&this.#I(t)||(yield t),t!==this.#f);)t=this.#d[t]}#L(e){return void 0!==e&&this.#c.get(this.#u[e])===e}*entries(){for(const e of this.#x())void 0===this.#l[e]||void 0===this.#u[e]||this.#E(this.#l[e])||(yield[this.#u[e],this.#l[e]])}*rentries(){for(const e of this.#A())void 0===this.#l[e]||void 0===this.#u[e]||this.#E(this.#l[e])||(yield[this.#u[e],this.#l[e]])}*keys(){for(const e of this.#x()){const t=this.#u[e];void 0===t||this.#E(this.#l[e])||(yield t)}}*rkeys(){for(const e of this.#A()){const t=this.#u[e];void 0===t||this.#E(this.#l[e])||(yield t)}}*values(){for(const e of this.#x())void 0===this.#l[e]||this.#E(this.#l[e])||(yield this.#l[e])}*rvalues(){for(const e of this.#A())void 0===this.#l[e]||this.#E(this.#l[e])||(yield this.#l[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(const r of this.#x()){const n=this.#l[r],i=this.#E(n)?n.__staleWhileFetching:n;if(void 0!==i&&e(i,this.#u[r],this))return this.get(this.#u[r],t)}}forEach(e,t=this){for(const r of this.#x()){const n=this.#l[r],i=this.#E(n)?n.__staleWhileFetching:n;void 0!==i&&e.call(t,i,this.#u[r],this)}}rforEach(e,t=this){for(const r of this.#A()){const n=this.#l[r],i=this.#E(n)?n.__staleWhileFetching:n;void 0!==i&&e.call(t,i,this.#u[r],this)}}purgeStale(){let e=!1;for(const t of this.#A({allowStale:!0}))this.#I(t)&&(this.delete(this.#u[t]),e=!0);return e}info(e){const t=this.#c.get(e);if(void 0===t)return;const n=this.#l[t],i=this.#E(n)?n.__staleWhileFetching:n;if(void 0===i)return;const o={value:i};if(this.#_&&this.#b){const e=this.#_[t],n=this.#b[t];if(e&&n){const t=e-(r.now()-n);o.ttl=t,o.start=Date.now()}}return this.#m&&(o.size=this.#m[t]),o}dump(){const e=[];for(const t of this.#x({allowStale:!0})){const n=this.#u[t],i=this.#l[t],o=this.#E(i)?i.__staleWhileFetching:i;if(void 0===o||void 0===n)continue;const a={value:o};if(this.#_&&this.#b){a.ttl=this.#_[t];const e=r.now()-this.#b[t];a.start=Math.floor(Date.now()-e)}this.#m&&(a.size=this.#m[t]),e.unshift([n,a])}return e}load(e){this.clear();for(const[t,n]of e){if(n.start){const e=Date.now()-n.start;n.start=r.now()-e}this.set(t,n.value,n)}}set(e,t,r={}){if(void 0===t)return this.delete(e),this;const{ttl:n=this.ttl,start:i,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:s}=r;let{noUpdateTTL:c=this.noUpdateTTL}=r;const u=this.#C(e,t,r.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return s&&(s.set="miss",s.maxEntrySizeExceeded=!0),this.delete(e),this;let l=0===this.#a?void 0:this.#c.get(e);if(void 0===l)l=0===this.#a?this.#f:0!==this.#y.length?this.#y.pop():this.#a===this.#t?this.#k(!1):this.#a,this.#u[l]=e,this.#l[l]=t,this.#c.set(e,l),this.#d[this.#f]=l,this.#p[l]=this.#f,this.#f=l,this.#a++,this.#M(l,u,s),s&&(s.set="add"),c=!1;else{this.#O(l);const r=this.#l[l];if(t!==r){if(this.#w&&this.#E(r)){r.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:t}=r;void 0===t||o||(this.#v&&this.#n?.(t,e,"set"),this.#S&&this.#g?.push([t,e,"set"]))}else o||(this.#v&&this.#n?.(r,e,"set"),this.#S&&this.#g?.push([r,e,"set"]));if(this.#j(l),this.#M(l,u,s),this.#l[l]=t,s){s.set="replace";const e=r&&this.#E(r)?r.__staleWhileFetching:r;void 0!==e&&(s.oldValue=e)}}else s&&(s.set="update")}if(0===n||this.#_||this.#P(),this.#_&&(c||this.#F(l,n,i),s&&this.#N(s,l)),!o&&this.#S&&this.#g){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}return this}pop(){try{for(;this.#a;){const e=this.#l[this.#h];if(this.#k(!0),this.#E(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#S&&this.#g){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}}}#k(e){const t=this.#h,r=this.#u[t],n=this.#l[t];return this.#w&&this.#E(n)?n.__abortController.abort(new Error("evicted")):(this.#v||this.#S)&&(this.#v&&this.#n?.(n,r,"evict"),this.#S&&this.#g?.push([n,r,"evict"])),this.#j(t),e&&(this.#u[t]=void 0,this.#l[t]=void 0,this.#y.push(t)),1===this.#a?(this.#h=this.#f=0,this.#y.length=0):this.#h=this.#d[t],this.#c.delete(r),this.#a--,t}has(e,t={}){const{updateAgeOnHas:r=this.updateAgeOnHas,status:n}=t,i=this.#c.get(e);if(void 0!==i){const e=this.#l[i];if(this.#E(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#I(i))return r&&this.#D(i),n&&(n.has="hit",this.#N(n,i)),!0;n&&(n.has="stale",this.#N(n,i))}else n&&(n.has="miss");return!1}peek(e,t={}){const{allowStale:r=this.allowStale}=t,n=this.#c.get(e);if(void 0===n||!r&&this.#I(n))return;const i=this.#l[n];return this.#E(i)?i.__staleWhileFetching:i}#T(e,t,r,n){const i=void 0===t?void 0:this.#l[t];if(this.#E(i))return i;const o=new a,{signal:s}=r;s?.addEventListener("abort",(()=>o.abort(s.reason)),{signal:o.signal});const c={signal:o.signal,options:r,context:n},u=(n,i=!1)=>{const{aborted:a}=o.signal,s=r.ignoreFetchAbort&&void 0!==n;if(r.status&&(a&&!i?(r.status.fetchAborted=!0,r.status.fetchError=o.signal.reason,s&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),a&&!s&&!i)return l(o.signal.reason);const u=d;return this.#l[t]===d&&(void 0===n?u.__staleWhileFetching?this.#l[t]=u.__staleWhileFetching:this.delete(e):(r.status&&(r.status.fetchUpdated=!0),this.set(e,n,c.options))),n},l=n=>{const{aborted:i}=o.signal,a=i&&r.allowStaleOnFetchAbort,s=a||r.allowStaleOnFetchRejection,c=s||r.noDeleteOnFetchRejection,u=d;if(this.#l[t]===d&&(c&&void 0!==u.__staleWhileFetching?a||(this.#l[t]=u.__staleWhileFetching):this.delete(e)),s)return r.status&&void 0!==u.__staleWhileFetching&&(r.status.returnedStale=!0),u.__staleWhileFetching;if(u.__returned===u)throw n};r.status&&(r.status.fetchDispatched=!0);const d=new Promise(((t,n)=>{const a=this.#o?.(e,i,c);a&&a instanceof Promise&&a.then((e=>t(void 0===e?void 0:e)),n),o.signal.addEventListener("abort",(()=>{r.ignoreFetchAbort&&!r.allowStaleOnFetchAbort||(t(void 0),r.allowStaleOnFetchAbort&&(t=e=>u(e,!0)))}))})).then(u,(e=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=e),l(e)))),p=Object.assign(d,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.set(e,p,{...c.options,status:void 0}),t=this.#c.get(e)):this.#l[t]=p,p}#E(e){if(!this.#w)return!1;const t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof a}async fetch(e,t={}){const{allowStale:r=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:s=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:h=this.allowStaleOnFetchAbort,context:f,forceRefresh:y=!1,status:g,signal:m}=t;if(!this.#w)return g&&(g.fetch="get"),this.get(e,{allowStale:r,updateAgeOnGet:n,noDeleteOnStaleGet:i,status:g});const b={allowStale:r,updateAgeOnGet:n,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:a,size:s,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:h,ignoreFetchAbort:p,status:g,signal:m};let _=this.#c.get(e);if(void 0===_){g&&(g.fetch="miss");const t=this.#T(e,_,b,f);return t.__returned=t}{const t=this.#l[_];if(this.#E(t)){const e=r&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}const i=this.#I(_);if(!y&&!i)return g&&(g.fetch="hit"),this.#O(_),n&&this.#D(_),g&&this.#N(g,_),t;const o=this.#T(e,_,b,f),a=void 0!==o.__staleWhileFetching&&r;return g&&(g.fetch=i?"stale":"refresh",a&&i&&(g.returnedStale=!0)),a?o.__staleWhileFetching:o.__returned=o}}get(e,t={}){const{allowStale:r=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,a=this.#c.get(e);if(void 0!==a){const t=this.#l[a],s=this.#E(t);return o&&this.#N(o,a),this.#I(a)?(o&&(o.get="stale"),s?(o&&r&&void 0!==t.__staleWhileFetching&&(o.returnedStale=!0),r?t.__staleWhileFetching:void 0):(i||this.delete(e),o&&r&&(o.returnedStale=!0),r?t:void 0)):(o&&(o.get="hit"),s?t.__staleWhileFetching:(this.#O(a),n&&this.#D(a),t))}o&&(o.get="miss")}#U(e,t){this.#p[t]=e,this.#d[e]=t}#O(e){e!==this.#f&&(e===this.#h?this.#h=this.#d[e]:this.#U(this.#p[e],this.#d[e]),this.#U(this.#f,e),this.#f=e)}delete(e){let t=!1;if(0!==this.#a){const r=this.#c.get(e);if(void 0!==r)if(t=!0,1===this.#a)this.clear();else{this.#j(r);const t=this.#l[r];if(this.#E(t)?t.__abortController.abort(new Error("deleted")):(this.#v||this.#S)&&(this.#v&&this.#n?.(t,e,"delete"),this.#S&&this.#g?.push([t,e,"delete"])),this.#c.delete(e),this.#u[r]=void 0,this.#l[r]=void 0,r===this.#f)this.#f=this.#p[r];else if(r===this.#h)this.#h=this.#d[r];else{const e=this.#p[r];this.#d[e]=this.#d[r];const t=this.#d[r];this.#p[t]=this.#p[r]}this.#a--,this.#y.push(r)}}if(this.#S&&this.#g?.length){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}return t}clear(){for(const e of this.#A({allowStale:!0})){const t=this.#l[e];if(this.#E(t))t.__abortController.abort(new Error("deleted"));else{const r=this.#u[e];this.#v&&this.#n?.(t,r,"delete"),this.#S&&this.#g?.push([t,r,"delete"])}}if(this.#c.clear(),this.#l.fill(void 0),this.#u.fill(void 0),this.#_&&this.#b&&(this.#_.fill(0),this.#b.fill(0)),this.#m&&this.#m.fill(0),this.#h=0,this.#f=0,this.#y.length=0,this.#s=0,this.#a=0,this.#S&&this.#g){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}}}t.LRUCache=p},50952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readableFromWeb=t.ReadableFromWeb=void 0;const n=r(19198);class i extends n.Readable{constructor(e,t){super(t),this.reader=e.getReader(),this.readerClosed=!1,this.reader.closed.then((()=>{this.readerClosed=!0})).catch((e=>{this.readerClosed=!0,this.destroy(e)}))}_read(){this.reader.read().then((e=>this.push(e.done?null:e.value))).catch((e=>this.destroy(e)))}destroy(e){return this.readerClosed||this.reader.cancel(e).then().catch((()=>{})),super.destroy(e)}}t.ReadableFromWeb=i,t.readableFromWeb=function(e,t){return new i(e,t)}},65806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readableFromWeb=void 0;var n=r(50952);Object.defineProperty(t,"readableFromWeb",{enumerable:!0,get:function(){return n.readableFromWeb}})},31613:(e,t,r)=>{"use strict";r.r(t),r.d(t,{CompactEncrypt:()=>st,CompactSign:()=>ut,EmbeddedJWK:()=>bt,EncryptJWT:()=>ft,FlattenedEncrypt:()=>Ge,FlattenedSign:()=>ct,GeneralEncrypt:()=>Qe,GeneralSign:()=>dt,SignJWT:()=>ht,UnsecuredJWT:()=>xt,base64url:()=>i,calculateJwkThumbprint:()=>gt,calculateJwkThumbprintUri:()=>mt,compactDecrypt:()=>ke,compactVerify:()=>Ye,createLocalJWKSet:()=>Et,createRemoteJWKSet:()=>Ot,cryptoRuntime:()=>jt,decodeJwt:()=>Pt,decodeProtectedHeader:()=>Rt,errors:()=>n,exportJWK:()=>qe,exportPKCS8:()=>Ve,exportSPKI:()=>Be,flattenedDecrypt:()=>Me,flattenedVerify:()=>Xe,generalDecrypt:()=>Le,generalVerify:()=>Ze,generateKeyPair:()=>Dt,generateSecret:()=>Nt,importJWK:()=>Pe,importPKCS8:()=>Re,importSPKI:()=>Ae,importX509:()=>Ie,jwtDecrypt:()=>at,jwtVerify:()=>ot});var n={};r.r(n),r.d(n,{JOSEAlgNotAllowed:()=>E,JOSEError:()=>v,JOSENotSupported:()=>T,JWEDecompressionFailed:()=>x,JWEDecryptionFailed:()=>O,JWEInvalid:()=>A,JWKInvalid:()=>P,JWKSInvalid:()=>F,JWKSMultipleMatchingKeys:()=>N,JWKSNoMatchingKey:()=>D,JWKSTimeout:()=>j,JWSInvalid:()=>I,JWSSignatureVerificationFailed:()=>C,JWTClaimValidationFailed:()=>w,JWTExpired:()=>S,JWTInvalid:()=>R});var i={};r.r(i),r.d(i,{decode:()=>It,encode:()=>At});const o=crypto,a=e=>e instanceof CryptoKey,s=async(e,t)=>{const r=`SHA-${e.slice(-3)}`;return new Uint8Array(await o.subtle.digest(r,t))},c=new TextEncoder,u=new TextDecoder,l=2**32;function d(...e){const t=e.reduce(((e,{length:t})=>e+t),0),r=new Uint8Array(t);let n=0;return e.forEach((e=>{r.set(e,n),n+=e.length})),r}function p(e,t,r){if(t<0||t>=l)throw new RangeError(`value must be >= 0 and <= ${l-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,255&t],r)}function h(e){const t=Math.floor(e/l),r=e%l,n=new Uint8Array(8);return p(n,t,0),p(n,r,4),n}function f(e){const t=new Uint8Array(4);return p(t,e),t}function y(e){return d(f(e.length),e)}const g=e=>{let t=e;"string"==typeof t&&(t=c.encode(t));const r=[];for(let e=0;eg(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),b=e=>{const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e{let t=e;t instanceof Uint8Array&&(t=u.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return b(t)}catch(e){throw new TypeError("The input to be decoded is not correctly encoded.")}};class v extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var t;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}class w extends v{static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,t="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=t,this.reason=r}}class S extends v{static get code(){return"ERR_JWT_EXPIRED"}constructor(e,t="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=t,this.reason=r}}class E extends v{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}}class T extends v{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}}class O extends v{constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}}class x extends v{constructor(){super(...arguments),this.code="ERR_JWE_DECOMPRESSION_FAILED",this.message="decompression operation failed"}static get code(){return"ERR_JWE_DECOMPRESSION_FAILED"}}class A extends v{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}}class I extends v{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}}class R extends v{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}}class P extends v{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}}class F extends v{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}}class D extends v{constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}}class N extends v{constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}}Symbol.asyncIterator;class j extends v{constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}}class C extends v{constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}const M=o.getRandomValues.bind(o);function k(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new T(`Unsupported JWE Algorithm: ${e}`)}}const L=e=>M(new Uint8Array(k(e)>>3)),U=(e,t)=>{if(t.length<<3!==k(e))throw new A("Invalid Initialization Vector length")},B=(e,t)=>{const r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)};function V(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function q(e,t){return e.name===t}function H(e){return parseInt(e.name.slice(4),10)}function $(e,t){if(t.length&&!t.some((t=>e.usages.includes(t)))){let e="CryptoKey does not support this operation, its usages must include ";if(t.length>2){const r=t.pop();e+=`one of ${t.join(", ")}, or ${r}.`}else 2===t.length?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw new TypeError(e)}}function G(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!q(e.algorithm,"AES-GCM"))throw V("AES-GCM");const r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw V(r,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!q(e.algorithm,"AES-KW"))throw V("AES-KW");const r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw V(r,"algorithm.length");break}case"ECDH":switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw V("ECDH, X25519, or X448")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!q(e.algorithm,"PBKDF2"))throw V("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!q(e.algorithm,"RSA-OAEP"))throw V("RSA-OAEP");const r=parseInt(t.slice(9),10)||1;if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}$(e,r)}function K(e,t,...r){if(r.length>2){const t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}const Q=(e,...t)=>K("Key must be ",e,...t);function z(e,t,...r){return K(`Key for the ${e} algorithm must be `,t,...r)}const J=e=>a(e),W=["CryptoKey"],X=async(e,t,r,n,i,s)=>{if(!(a(t)||t instanceof Uint8Array))throw new TypeError(Q(t,...W,"Uint8Array"));switch(U(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&B(t,parseInt(e.slice(-3),10)),async function(e,t,r,n,i,a){if(!(t instanceof Uint8Array))throw new TypeError(Q(t,"Uint8Array"));const s=parseInt(e.slice(1,4),10),c=await o.subtle.importKey("raw",t.subarray(s>>3),"AES-CBC",!1,["decrypt"]),u=await o.subtle.importKey("raw",t.subarray(0,s>>3),{hash:"SHA-"+(s<<1),name:"HMAC"},!1,["sign"]),l=d(a,n,r,h(a.length<<3)),p=new Uint8Array((await o.subtle.sign("HMAC",u,l)).slice(0,s>>3));let f,y;try{f=((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");const r=e.length;let n=0,i=-1;for(;++i{throw new T('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},Z=async()=>{throw new T('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},ee=(...e)=>{const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let r;for(const e of t){const t=Object.keys(e);if(r&&0!==r.size)for(const e of t){if(r.has(e))return!1;r.add(e)}else r=new Set(t)}return!0};function te(e){if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let r=e;for(;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(e)===r}const re=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]];function ne(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function ie(e,t,r){if(a(e))return G(e,t,r),e;if(e instanceof Uint8Array)return o.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(Q(e,...W,"Uint8Array"))}const oe=async(e,t,r)=>{const n=await ie(t,e,"wrapKey");ne(n,e);const i=await o.subtle.importKey("raw",r,...re);return new Uint8Array(await o.subtle.wrapKey("raw",i,n,"AES-KW"))},ae=async(e,t,r)=>{const n=await ie(t,e,"unwrapKey");ne(n,e);const i=await o.subtle.unwrapKey("raw",r,n,"AES-KW",...re);return new Uint8Array(await o.subtle.exportKey("raw",i))};async function se(e,t,r,n,i=new Uint8Array(0),u=new Uint8Array(0)){if(!a(e))throw new TypeError(Q(e,...W));if(G(e,"ECDH"),!a(t))throw new TypeError(Q(t,...W));G(t,"ECDH","deriveBits");const l=d(y(c.encode(r)),y(i),y(u),f(n));let p;return p="X25519"===e.algorithm.name?256:"X448"===e.algorithm.name?448:Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3,async function(e,t,r){const n=Math.ceil((t>>3)/32),i=new Uint8Array(32*n);for(let t=0;t>3)}(new Uint8Array(await o.subtle.deriveBits({name:e.algorithm.name,public:e},t,p)),n,l)}function ce(e){if(!a(e))throw new TypeError(Q(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||"X25519"===e.algorithm.name||"X448"===e.algorithm.name}async function ue(e,t,r,n){!function(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}(e);const i=function(e,t){return d(c.encode(e),new Uint8Array([0]),t)}(t,e),s=parseInt(t.slice(13,16),10),u={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},l={length:s,name:"AES-KW"},p=await function(e,t){if(e instanceof Uint8Array)return o.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(a(e))return G(e,t,"deriveBits","deriveKey"),e;throw new TypeError(Q(e,...W,"Uint8Array"))}(n,t);if(p.usages.includes("deriveBits"))return new Uint8Array(await o.subtle.deriveBits(u,p,s));if(p.usages.includes("deriveKey"))return o.subtle.deriveKey(u,p,l,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}function le(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new T(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}const de=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){const{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}};function pe(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new T(`Unsupported JWE Algorithm: ${e}`)}}const he=e=>M(new Uint8Array(pe(e)>>3)),fe=(e,t)=>`-----BEGIN ${t}-----\n${(e.match(/.{1,64}/g)||[]).join("\n")}\n-----END ${t}-----`,ye=async(e,t,r)=>{if(!a(r))throw new TypeError(Q(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return fe(g(new Uint8Array(await o.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},ge=e=>ye("public","spki",e),me=e=>ye("private","pkcs8",e),be=(e,t,r=0)=>{0===r&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(-1===n)return!1;const i=e.subarray(n,n+t.length);return i.length===t.length&&(i.every(((e,r)=>e===t[r]))||be(e,t,n+1))},_e=e=>{switch(!0){case be(e,[42,134,72,206,61,3,1,7]):return"P-256";case be(e,[43,129,4,0,34]):return"P-384";case be(e,[43,129,4,0,35]):return"P-521";case be(e,[43,101,110]):return"X25519";case be(e,[43,101,111]):return"X448";case be(e,[43,101,112]):return"Ed25519";case be(e,[43,101,113]):return"Ed448";default:throw new T("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},ve=async(e,t,r,n,i)=>{var a;let s,c;const u=new Uint8Array(atob(r.replace(e,"")).split("").map((e=>e.charCodeAt(0)))),l="spki"===t;switch(n){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const e=_e(u);s=e.startsWith("P-")?{name:"ECDH",namedCurve:e}:{name:e},c=l?[]:["deriveBits"];break}case"EdDSA":s={name:_e(u)},c=l?["verify"]:["sign"];break;default:throw new T('Invalid or unsupported "alg" (Algorithm) value')}return o.subtle.importKey(t,u,s,null!==(a=null==i?void 0:i.extractable)&&void 0!==a&&a,c)},we=(e,t,r)=>ve(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),Se=(e,t,r)=>ve(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r);function Ee(e){let t=[],r=0;for(;r=128;)r=128*r+e[t]-128,t++;r=128*r+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else{if(128===n){for(n=0;0!==e[t+n]||0!==e[t+n+1];){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}const r=t+n+2;return{byteLength:r,contents:e.subarray(t,t+n),raw:e.subarray(0,r)}}{let r=127&e[t];t++,n=0;for(let i=0;i{let n;try{n=function(e){const t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=b(t);return fe(function(e){const t=Ee(Ee(Te(e).contents)[0].contents);return g(t[160===t[0].raw[0]?6:5].raw)}(r),"PUBLIC KEY")}(e)}catch(e){throw new TypeError("Failed to parse the X.509 certificate",{cause:e})}return Se(n,t,r)},xe=async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:n,keyUsages:i}=function(e){let t,r;switch(e.kty){case"oct":switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new T(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new T('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),a=[n,null!==(t=e.ext)&&void 0!==t&&t,null!==(r=e.key_ops)&&void 0!==r?r:i];if("PBKDF2"===n.name)return o.subtle.importKey("raw",_(e.k),...a);const s={...e};return delete s.alg,delete s.use,o.subtle.importKey("jwk",s,...a)};async function Ae(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return Se(e,t,r)}async function Ie(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN CERTIFICATE-----"))throw new TypeError('"x509" must be X.509 formatted string');return Oe(e,t,r)}async function Re(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PRIVATE KEY-----"))throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return we(e,t,r)}async function Pe(e,t,r){var n;if(!te(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return null!=r||(r=!0!==e.ext),r?xe({...e,alg:t,ext:null!==(n=e.ext)&&void 0!==n&&n}):_(e.k);case"RSA":if(void 0!==e.oth)throw new T('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return xe({...e,alg:t});default:throw new T('Unsupported "kty" (Key Type) Parameter value')}}const Fe=(e,t,r)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?((e,t)=>{if(!(t instanceof Uint8Array)){if(!J(t))throw new TypeError(z(e,t,...W,"Uint8Array"));if("secret"!==t.type)throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}})(e,t):((e,t,r)=>{if(!J(t))throw new TypeError(z(e,t,...W));if("secret"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if("sign"===r&&"public"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if("decrypt"===r&&"public"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&"verify"===r&&"private"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&"encrypt"===r&&"private"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)})(e,t,r)},De=async(e,t,r,n,i)=>{if(!(a(r)||r instanceof Uint8Array))throw new TypeError(Q(r,...W,"Uint8Array"));switch(U(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&B(r,parseInt(e.slice(-3),10)),async function(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(Q(r,"Uint8Array"));const a=parseInt(e.slice(1,4),10),s=await o.subtle.importKey("raw",r.subarray(a>>3),"AES-CBC",!1,["encrypt"]),c=await o.subtle.importKey("raw",r.subarray(0,a>>3),{hash:"SHA-"+(a<<1),name:"HMAC"},!1,["sign"]),u=new Uint8Array(await o.subtle.encrypt({iv:n,name:"AES-CBC"},s,t)),l=d(i,n,u,h(i.length<<3));return{ciphertext:u,tag:new Uint8Array((await o.subtle.sign("HMAC",c,l)).slice(0,a>>3))}}(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&B(r,parseInt(e.slice(1,4),10)),async function(e,t,r,n,i){let a;r instanceof Uint8Array?a=await o.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(G(r,e,"encrypt"),a=r);const s=new Uint8Array(await o.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},a,t)),c=s.slice(-16);return{ciphertext:s.slice(0,-16),tag:c}}(e,t,r,n,i);default:throw new T("Unsupported JWE Content Encryption Algorithm")}},Ne=async function(e,t,r,n,i){switch(Fe(e,t,"decrypt"),e){case"dir":if(void 0!==r)throw new A("Encountered unexpected JWE Encrypted Key");return t;case"ECDH-ES":if(void 0!==r)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!te(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ce(t))throw new T("ECDH with the provided key is not allowed or not supported by your javascript runtime");const i=await Pe(n.epk,e);let o,a;if(void 0!==n.apu){if("string"!=typeof n.apu)throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');try{o=_(n.apu)}catch(e){throw new A("Failed to base64url decode the apu")}}if(void 0!==n.apv){if("string"!=typeof n.apv)throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');try{a=_(n.apv)}catch(e){throw new A("Failed to base64url decode the apv")}}const s=await se(i,t,"ECDH-ES"===e?n.enc:e,"ECDH-ES"===e?pe(n.enc):parseInt(e.slice(-5,-2),10),o,a);if("ECDH-ES"===e)return s;if(void 0===r)throw new A("JWE Encrypted Key missing");return ae(e.slice(-6),s,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if(void 0===r)throw new A("JWE Encrypted Key missing");return(async(e,t,r)=>{if(!a(t))throw new TypeError(Q(t,...W));if(G(t,e,"decrypt","unwrapKey"),de(e,t),t.usages.includes("decrypt"))return new Uint8Array(await o.subtle.decrypt(le(e),t,r));if(t.usages.includes("unwrapKey")){const n=await o.subtle.unwrapKey("raw",r,t,le(e),...re);return new Uint8Array(await o.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')})(e,t,r);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(void 0===r)throw new A("JWE Encrypted Key missing");if("number"!=typeof n.p2c)throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');const o=(null==i?void 0:i.maxPBES2Count)||1e4;if(n.p2c>o)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof n.p2s)throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');let a;try{a=_(n.p2s)}catch(e){throw new A("Failed to base64url decode the p2s")}return(async(e,t,r,n,i)=>{const o=await ue(i,e,n,t);return ae(e.slice(-6),o,r)})(e,t,r,n.p2c,a)}case"A128KW":case"A192KW":case"A256KW":if(void 0===r)throw new A("JWE Encrypted Key missing");return ae(e,t,r);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(void 0===r)throw new A("JWE Encrypted Key missing");if("string"!=typeof n.iv)throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof n.tag)throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let i,o;try{i=_(n.iv)}catch(e){throw new A("Failed to base64url decode the iv")}try{o=_(n.tag)}catch(e){throw new A("Failed to base64url decode the tag")}return async function(e,t,r,n,i){const o=e.slice(0,7);return X(o,t,r,n,i,new Uint8Array(0))}(e,t,r,i,o)}default:throw new T('Invalid or unsupported "alg" (JWE Algorithm) header value')}},je=function(e,t,r,n,i){if(void 0!==i.crit&&void 0===n.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some((e=>"string"!=typeof e||0===e.length)))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;o=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t;for(const t of n.crit){if(!o.has(t))throw new T(`Extension Header Parameter "${t}" is not recognized`);if(void 0===i[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(o.get(t)&&void 0===n[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(n.crit)},Ce=(e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some((e=>"string"!=typeof e))))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)};async function Me(e,t,r){var n;if(!te(e))throw new A("Flattened JWE must be an object");if(void 0===e.protected&&void 0===e.header&&void 0===e.unprotected)throw new A("JOSE Header missing");if("string"!=typeof e.iv)throw new A("JWE Initialization Vector missing or incorrect type");if("string"!=typeof e.ciphertext)throw new A("JWE Ciphertext missing or incorrect type");if("string"!=typeof e.tag)throw new A("JWE Authentication Tag missing or incorrect type");if(void 0!==e.protected&&"string"!=typeof e.protected)throw new A("JWE Protected Header incorrect type");if(void 0!==e.encrypted_key&&"string"!=typeof e.encrypted_key)throw new A("JWE Encrypted Key incorrect type");if(void 0!==e.aad&&"string"!=typeof e.aad)throw new A("JWE AAD incorrect type");if(void 0!==e.header&&!te(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(void 0!==e.unprotected&&!te(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{const t=_(e.protected);i=JSON.parse(u.decode(t))}catch(e){throw new A("JWE Protected Header is invalid")}if(!ee(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");const o={...i,...e.header,...e.unprotected};if(je(A,new Map,null==r?void 0:r.crit,i,o),void 0!==o.zip){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==o.zip)throw new T('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:a,enc:s}=o;if("string"!=typeof a||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof s||!s)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");const l=r&&Ce("keyManagementAlgorithms",r.keyManagementAlgorithms),p=r&&Ce("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(l&&!l.has(a))throw new E('"alg" (Algorithm) Header Parameter not allowed');if(p&&!p.has(s))throw new E('"enc" (Encryption Algorithm) Header Parameter not allowed');let h;if(void 0!==e.encrypted_key)try{h=_(e.encrypted_key)}catch(e){throw new A("Failed to base64url decode the encrypted_key")}let f,y,g,m=!1;"function"==typeof t&&(t=await t(i,e),m=!0);try{f=await Ne(a,t,h,o,r)}catch(e){if(e instanceof TypeError||e instanceof A||e instanceof T)throw e;f=he(s)}try{y=_(e.iv)}catch(e){throw new A("Failed to base64url decode the iv")}try{g=_(e.tag)}catch(e){throw new A("Failed to base64url decode the tag")}const b=c.encode(null!==(n=e.protected)&&void 0!==n?n:"");let v,w;v=void 0!==e.aad?d(b,c.encode("."),c.encode(e.aad)):b;try{w=_(e.ciphertext)}catch(e){throw new A("Failed to base64url decode the ciphertext")}let S=await X(s,f,w,y,g,v);"DEF"===o.zip&&(S=await((null==r?void 0:r.inflateRaw)||Y)(S));const O={plaintext:S};if(void 0!==e.protected&&(O.protectedHeader=i),void 0!==e.aad)try{O.additionalAuthenticatedData=_(e.aad)}catch(e){throw new A("Failed to base64url decode the aad")}return void 0!==e.unprotected&&(O.sharedUnprotectedHeader=e.unprotected),void 0!==e.header&&(O.unprotectedHeader=e.header),m?{...O,key:t}:O}async function ke(e,t,r){if(e instanceof Uint8Array&&(e=u.decode(e)),"string"!=typeof e)throw new A("Compact JWE must be a string or Uint8Array");const{0:n,1:i,2:o,3:a,4:s,length:c}=e.split(".");if(5!==c)throw new A("Invalid Compact JWE");const l=await Me({ciphertext:a,iv:o||void 0,protected:n||void 0,tag:s||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return"function"==typeof t?{...d,key:l.key}:d}async function Le(e,t,r){if(!te(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(te))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(const n of e.recipients)try{return await Me({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch(e){}throw new O}const Ue=async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:m(e)};if(!a(e))throw new TypeError(Q(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");const{ext:t,key_ops:r,alg:n,use:i,...s}=await o.subtle.exportKey("jwk",e);return s};async function Be(e){return ge(e)}async function Ve(e){return me(e)}async function qe(e){return Ue(e)}const He=async function(e,t,r,n,i={}){let s,c,u;switch(Fe(e,r,"encrypt"),e){case"dir":u=r;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ce(r))throw new T("ECDH with the provided key is not allowed or not supported by your javascript runtime");const{apu:l,apv:d}=i;let{epk:p}=i;p||(p=(await async function(e){if(!a(e))throw new TypeError(Q(e,...W));return o.subtle.generateKey(e.algorithm,!0,["deriveBits"])}(r)).privateKey);const{x:h,y:f,crv:y,kty:g}=await qe(p),b=await se(r,p,"ECDH-ES"===e?t:e,"ECDH-ES"===e?pe(t):parseInt(e.slice(-5,-2),10),l,d);if(c={epk:{x:h,crv:y,kty:g}},"EC"===g&&(c.epk.y=f),l&&(c.apu=m(l)),d&&(c.apv=m(d)),"ECDH-ES"===e){u=b;break}u=n||he(t);const _=e.slice(-6);s=await oe(_,b,u);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":u=n||he(t),s=await(async(e,t,r)=>{if(!a(t))throw new TypeError(Q(t,...W));if(G(t,e,"encrypt","wrapKey"),de(e,t),t.usages.includes("encrypt"))return new Uint8Array(await o.subtle.encrypt(le(e),t,r));if(t.usages.includes("wrapKey")){const n=await o.subtle.importKey("raw",r,...re);return new Uint8Array(await o.subtle.wrapKey("raw",n,t,le(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')})(e,r,u);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{u=n||he(t);const{p2c:o,p2s:a}=i;({encryptedKey:s,...c}=await(async(e,t,r,n=2048,i=M(new Uint8Array(16)))=>{const o=await ue(i,e,n,t);return{encryptedKey:await oe(e.slice(-6),o,r),p2c:n,p2s:m(i)}})(e,r,u,o,a));break}case"A128KW":case"A192KW":case"A256KW":u=n||he(t),s=await oe(e,r,u);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{u=n||he(t);const{iv:o}=i;({encryptedKey:s,...c}=await async function(e,t,r,n){const i=e.slice(0,7);n||(n=L(i));const{ciphertext:o,tag:a}=await De(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:m(n),tag:m(a)}}(e,r,u,o));break}default:throw new T('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:u,encryptedKey:s,parameters:c}},$e=Symbol();class Ge{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,t){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!ee(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");const r={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(je(A,new Map,null==t?void 0:t.crit,this._protectedHeader,r),void 0!==r.zip){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==r.zip)throw new T('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:n,enc:i}=r;if("string"!=typeof n||!n)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof i||!i)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let o,a,s,l,p,h,f;if("dir"===n){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if("ECDH-ES"===n&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");{let r;({cek:a,encryptedKey:o,parameters:r}=await He(n,i,e,this._cek,this._keyManagementParameters)),r&&(t&&$e in t?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...r}:this.setUnprotectedHeader(r):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...r}:this.setProtectedHeader(r))}if(this._iv||(this._iv=L(i)),l=this._protectedHeader?c.encode(m(JSON.stringify(this._protectedHeader))):c.encode(""),this._aad?(p=m(this._aad),s=d(l,c.encode("."),c.encode(p))):s=l,"DEF"===r.zip){const e=await((null==t?void 0:t.deflateRaw)||Z)(this._plaintext);({ciphertext:h,tag:f}=await De(i,e,a,this._iv,s))}else({ciphertext:h,tag:f}=await De(i,this._plaintext,a,this._iv,s));const y={ciphertext:m(h),iv:m(this._iv),tag:m(f)};return o&&(y.encrypted_key=m(o)),p&&(y.aad=p),this._protectedHeader&&(y.protected=u.decode(l)),this._sharedUnprotectedHeader&&(y.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(y.header=this._unprotectedHeader),y}}class Ke{constructor(e,t,r){this.parent=e,this.key=t,this.options=r}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}}class Qe{constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,t){const r=new Ke(this,e,{crit:null==t?void 0:t.crit});return this._recipients.push(r),r}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var t,r,n;if(!this._recipients.length)throw new A("at least one recipient must be added");if(e={deflateRaw:null==e?void 0:e.deflateRaw},1===this._recipients.length){const[t]=this._recipients,r=await new Ge(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(t.unprotectedHeader).encrypt(t.key,{...t.options,...e});let n={ciphertext:r.ciphertext,iv:r.iv,recipients:[{}],tag:r.tag};return r.aad&&(n.aad=r.aad),r.protected&&(n.protected=r.protected),r.unprotected&&(n.unprotected=r.unprotected),r.encrypted_key&&(n.recipients[0].encrypted_key=r.encrypted_key),r.header&&(n.recipients[0].header=r.header),n}let i;for(let e=0;e>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new T(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}function Je(e,t,r){if(a(t))return function(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!q(e.algorithm,"HMAC"))throw V("HMAC");const r=parseInt(t.slice(2),10);if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!q(e.algorithm,"RSASSA-PKCS1-v1_5"))throw V("RSASSA-PKCS1-v1_5");const r=parseInt(t.slice(2),10);if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!q(e.algorithm,"RSA-PSS"))throw V("RSA-PSS");const r=parseInt(t.slice(2),10);if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}case"EdDSA":if("Ed25519"!==e.algorithm.name&&"Ed448"!==e.algorithm.name)throw V("Ed25519 or Ed448");break;case"ES256":case"ES384":case"ES512":{if(!q(e.algorithm,"ECDSA"))throw V("ECDSA");const r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw V(r,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}$(e,r)}(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(Q(t,...W));return o.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(Q(t,...W,"Uint8Array"))}const We=async(e,t,r,n)=>{const i=await Je(e,t,"verify");de(e,i);const a=ze(e,i.algorithm);try{return await o.subtle.verify(a,i,r,n)}catch(e){return!1}};async function Xe(e,t,r){var n;if(!te(e))throw new I("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new I('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new I("JWS Protected Header incorrect type");if(void 0===e.payload)throw new I("JWS Payload missing");if("string"!=typeof e.signature)throw new I("JWS Signature missing or incorrect type");if(void 0!==e.header&&!te(e.header))throw new I("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{const t=_(e.protected);i=JSON.parse(u.decode(t))}catch(e){throw new I("JWS Protected Header is invalid")}if(!ee(i,e.header))throw new I("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const o={...i,...e.header};let a=!0;if(je(I,new Map([["b64",!0]]),null==r?void 0:r.crit,i,o).has("b64")&&(a=i.b64,"boolean"!=typeof a))throw new I('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:s}=o;if("string"!=typeof s||!s)throw new I('JWS "alg" (Algorithm) Header Parameter missing or invalid');const l=r&&Ce("algorithms",r.algorithms);if(l&&!l.has(s))throw new E('"alg" (Algorithm) Header Parameter not allowed');if(a){if("string"!=typeof e.payload)throw new I("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new I("JWS Payload must be a string or an Uint8Array instance");let p=!1;"function"==typeof t&&(t=await t(i,e),p=!0),Fe(s,t,"verify");const h=d(c.encode(null!==(n=e.protected)&&void 0!==n?n:""),c.encode("."),"string"==typeof e.payload?c.encode(e.payload):e.payload);let f,y;try{f=_(e.signature)}catch(e){throw new I("Failed to base64url decode the signature")}if(!await We(s,t,f,h))throw new C;if(a)try{y=_(e.payload)}catch(e){throw new I("Failed to base64url decode the payload")}else y="string"==typeof e.payload?c.encode(e.payload):e.payload;const g={payload:y};return void 0!==e.protected&&(g.protectedHeader=i),void 0!==e.header&&(g.unprotectedHeader=e.header),p?{...g,key:t}:g}async function Ye(e,t,r){if(e instanceof Uint8Array&&(e=u.decode(e)),"string"!=typeof e)throw new I("Compact JWS must be a string or Uint8Array");const{0:n,1:i,2:o,length:a}=e.split(".");if(3!==a)throw new I("Invalid Compact JWS");const s=await Xe({payload:i,protected:n,signature:o},t,r),c={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...c,key:s.key}:c}async function Ze(e,t,r){if(!te(e))throw new I("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(te))throw new I("JWS Signatures missing or incorrect type");for(const n of e.signatures)try{return await Xe({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch(e){}throw new C}const et=e=>Math.floor(e.getTime()/1e3),tt=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,rt=e=>{const t=tt.exec(e);if(!t)throw new TypeError("Invalid time period format");const r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(60*r);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(3600*r);case"day":case"days":case"d":return Math.round(86400*r);case"week":case"weeks":case"w":return Math.round(604800*r);default:return Math.round(31557600*r)}},nt=e=>e.toLowerCase().replace(/^application\//,""),it=(e,t,r={})=>{const{typ:n}=r;if(n&&("string"!=typeof e.typ||nt(e.typ)!==nt(n)))throw new w('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(u.decode(t))}catch(e){}if(!te(i))throw new R("JWT Claims Set must be a top-level JSON object");const{requiredClaims:o=[],issuer:a,subject:s,audience:c,maxTokenAge:l}=r;void 0!==l&&o.push("iat"),void 0!==c&&o.push("aud"),void 0!==s&&o.push("sub"),void 0!==a&&o.push("iss");for(const e of new Set(o.reverse()))if(!(e in i))throw new w(`missing required "${e}" claim`,e,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new w('unexpected "iss" claim value',"iss","check_failed");if(s&&i.sub!==s)throw new w('unexpected "sub" claim value',"sub","check_failed");if(c&&(p="string"==typeof c?[c]:c,!("string"==typeof(d=i.aud)?p.includes(d):Array.isArray(d)&&p.some(Set.prototype.has.bind(new Set(d))))))throw new w('unexpected "aud" claim value',"aud","check_failed");var d,p;let h;switch(typeof r.clockTolerance){case"string":h=rt(r.clockTolerance);break;case"number":h=r.clockTolerance;break;case"undefined":h=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:f}=r,y=et(f||new Date);if((void 0!==i.iat||l)&&"number"!=typeof i.iat)throw new w('"iat" claim must be a number',"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new w('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+h)throw new w('"nbf" claim timestamp check failed',"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new w('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-h)throw new S('"exp" claim timestamp check failed',"exp","check_failed")}if(l){const e=y-i.iat;if(e-h>("number"==typeof l?l:rt(l)))throw new S('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(e<0-h)throw new w('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i};async function ot(e,t,r){var n;const i=await Ye(e,t,r);if((null===(n=i.protectedHeader.crit)||void 0===n?void 0:n.includes("b64"))&&!1===i.protectedHeader.b64)throw new R("JWTs MUST NOT use unencoded payload");const o={payload:it(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return"function"==typeof t?{...o,key:i.key}:o}async function at(e,t,r){const n=await ke(e,t,r),i=it(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(void 0!==o.iss&&o.iss!==i.iss)throw new w('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(void 0!==o.sub&&o.sub!==i.sub)throw new w('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(void 0!==o.aud&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new w('replicated "aud" claim header parameter mismatch',"aud","mismatch");const a={payload:i,protectedHeader:o};return"function"==typeof t?{...a,key:n.key}:a}class st{constructor(e){this._flattened=new Ge(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){const r=await this._flattened.encrypt(e,t);return[r.protected,r.encrypted_key,r.iv,r.ciphertext,r.tag].join(".")}}class ct{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,t){if(!this._protectedHeader&&!this._unprotectedHeader)throw new I("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!ee(this._protectedHeader,this._unprotectedHeader))throw new I("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const r={...this._protectedHeader,...this._unprotectedHeader};let n=!0;if(je(I,new Map([["b64",!0]]),null==t?void 0:t.crit,this._protectedHeader,r).has("b64")&&(n=this._protectedHeader.b64,"boolean"!=typeof n))throw new I('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:i}=r;if("string"!=typeof i||!i)throw new I('JWS "alg" (Algorithm) Header Parameter missing or invalid');Fe(i,e,"sign");let a,s=this._payload;n&&(s=c.encode(m(s))),a=this._protectedHeader?c.encode(m(JSON.stringify(this._protectedHeader))):c.encode("");const l=d(a,c.encode("."),s),p=await(async(e,t,r)=>{const n=await Je(e,t,"sign");de(e,n);const i=await o.subtle.sign(ze(e,n.algorithm),n,r);return new Uint8Array(i)})(i,e,l),h={signature:m(p),payload:""};return n&&(h.payload=u.decode(s)),this._unprotectedHeader&&(h.header=this._unprotectedHeader),this._protectedHeader&&(h.protected=u.decode(a)),h}}class ut{constructor(e){this._flattened=new ct(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){const r=await this._flattened.sign(e,t);if(void 0===r.payload)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${r.protected}.${r.payload}.${r.signature}`}}class lt{constructor(e,t,r){this.parent=e,this.key=t,this.options=r}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}}class dt{constructor(e){this._signatures=[],this._payload=e}addSignature(e,t){const r=new lt(this,e,t);return this._signatures.push(r),r}async sign(){if(!this._signatures.length)throw new I("at least one signature must be added");const e={signatures:[],payload:""};for(let t=0;t{if("string"!=typeof e||!e)throw new P(`${t} missing or invalid`)};async function gt(e,t){if(!te(e))throw new TypeError("JWK must be an object");if(null!=t||(t="sha256"),"sha256"!==t&&"sha384"!==t&&"sha512"!==t)throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":yt(e.crv,'"crv" (Curve) Parameter'),yt(e.x,'"x" (X Coordinate) Parameter'),yt(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":yt(e.crv,'"crv" (Subtype of Key Pair) Parameter'),yt(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":yt(e.e,'"e" (Exponent) Parameter'),yt(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":yt(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new T('"kty" (Key Type) Parameter missing or unsupported')}const n=c.encode(JSON.stringify(r));return m(await s(t,n))}async function mt(e,t){null!=t||(t="sha256");const r=await gt(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}async function bt(e,t){const r={...e,...null==t?void 0:t.header};if(!te(r.jwk))throw new I('"jwk" (JSON Web Key) Header Parameter must be a JSON object');const n=await Pe({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||"public"!==n.type)throw new I('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}function _t(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(vt)}function vt(e){return te(e)}class wt{constructor(e){if(this._cached=new WeakMap,!_t(e))throw new F("JSON Web Key Set malformed");var t;this._jwks=(t=e,"function"==typeof structuredClone?structuredClone(t):JSON.parse(JSON.stringify(t)))}async getKey(e,t){const{alg:r,kid:n}={...e,...null==t?void 0:t.header},i=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new T('Unsupported "alg" value for a JSON Web Key Set')}}(r),o=this._jwks.keys.filter((e=>{let t=i===e.kty;if(t&&"string"==typeof n&&(t=n===e.kid),t&&"string"==typeof e.alg&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t&&"EdDSA"===r&&(t="Ed25519"===e.crv||"Ed448"===e.crv),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES256K":t="secp256k1"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv}return t})),{0:a,length:s}=o;if(0===s)throw new D;if(1!==s){const e=new N,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(const e of o)try{yield await St(t,e,r)}catch(e){continue}},e}return St(this._cached,a,r)}}async function St(e,t,r){const n=e.get(t)||e.set(t,{}).get(t);if(void 0===n[r]){const e=await Pe({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new F("JSON Web Key Set members must be public keys");n[r]=e}return n[r]}function Et(e){const t=new wt(e);return async function(e,r){return t.getKey(e,r)}}class Tt extends wt{constructor(e,t){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:null==t?void 0:t.agent,headers:null==t?void 0:t.headers},this._timeoutDuration="number"==typeof(null==t?void 0:t.timeoutDuration)?null==t?void 0:t.timeoutDuration:5e3,this._cooldownDuration="number"==typeof(null==t?void 0:t.cooldownDuration)?null==t?void 0:t.cooldownDuration:3e4,this._cacheMaxAge="number"==typeof(null==t?void 0:t.cacheMaxAge)?null==t?void 0:t.cacheMaxAge:6e5}coolingDown(){return"number"==typeof this._jwksTimestamp&&Date.now(){let n,i,o=!1;"function"==typeof AbortController&&(n=new AbortController,i=setTimeout((()=>{o=!0,n.abort()}),t));const a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch((e=>{if(o)throw new j;throw e}));if(void 0!==i&&clearTimeout(i),200!==a.status)throw new v("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch(e){throw new v("Failed to parse the JSON Web Key Set HTTP response as JSON")}})(this._url,this._timeoutDuration,this._options).then((e=>{if(!_t(e))throw new F("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0})).catch((e=>{throw this._pendingFetch=void 0,e}))),await this._pendingFetch}}function Ot(e,t){const r=new Tt(e,t);return async function(e,t){return r.getKey(e,t)}}class xt extends pt{encode(){return`${m(JSON.stringify({alg:"none"}))}.${m(JSON.stringify(this._payload))}.`}static decode(e,t){if("string"!=typeof e)throw new R("Unsecured JWT must be a string");const{0:r,1:n,2:i,length:o}=e.split(".");if(3!==o||""!==i)throw new R("Invalid Unsecured JWT");let a;try{if(a=JSON.parse(u.decode(_(r))),"none"!==a.alg)throw new Error}catch(e){throw new R("Invalid Unsecured JWT")}return{payload:it(a,_(n),t),header:a}}}const At=m,It=_;function Rt(e){let t;if("string"==typeof e){const r=e.split(".");3!==r.length&&5!==r.length||([t]=r)}else if("object"==typeof e&&e){if(!("protected"in e))throw new TypeError("Token does not contain a Protected Header");t=e.protected}try{if("string"!=typeof t||!t)throw new Error;const e=JSON.parse(u.decode(It(t)));if(!te(e))throw new Error;return e}catch(e){throw new TypeError("Invalid Token or Protected Header formatting")}}function Pt(e){if("string"!=typeof e)throw new R("JWTs must use Compact JWS serialization, JWT must be a string");const{1:t,length:r}=e.split(".");if(5===r)throw new R("Only JWTs using Compact JWS serialization can be decoded");if(3!==r)throw new R("Invalid JWT");if(!t)throw new R("JWTs must contain a payload");let n,i;try{n=It(t)}catch(e){throw new R("Failed to base64url decode the payload")}try{i=JSON.parse(u.decode(n))}catch(e){throw new R("Failed to parse the decoded payload as JSON")}if(!te(i))throw new R("Invalid JWT Claims Set");return i}function Ft(e){var t;const r=null!==(t=null==e?void 0:e.modulusLength)&&void 0!==t?t:2048;if("number"!=typeof r||r<2048)throw new T("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Dt(e,t){return async function(e,t){var r,n,i;let a,s;switch(e){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Ft(t)},s=["sign","verify"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Ft(t)},s=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Ft(t)},s=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},s=["sign","verify"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},s=["sign","verify"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},s=["sign","verify"];break;case"EdDSA":s=["sign","verify"];const i=null!==(r=null==t?void 0:t.crv)&&void 0!==r?r:"Ed25519";switch(i){case"Ed25519":case"Ed448":a={name:i};break;default:throw new T("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{s=["deriveKey","deriveBits"];const e=null!==(n=null==t?void 0:t.crv)&&void 0!==n?n:"P-256";switch(e){case"P-256":case"P-384":case"P-521":a={name:"ECDH",namedCurve:e};break;case"X25519":case"X448":a={name:e};break;default:throw new T("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return o.subtle.generateKey(a,null!==(i=null==t?void 0:t.extractable)&&void 0!==i&&i,s)}(e,t)}async function Nt(e,t){return async function(e,t){var r;let n,i,a;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},a=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),M(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},a=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},a=["encrypt","decrypt"];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return o.subtle.generateKey(i,null!==(r=null==t?void 0:t.extractable)&&void 0!==r&&r,a)}(e,t)}const jt="WebCryptoAPI"},48393:e=>{"use strict";e.exports=JSON.parse('{"name":"@comunica/actor-http-fetch","version":"4.0.2","description":"A fetch http actor","lsd:module":true,"license":"MIT","funding":{"type":"opencollective","url":"https://opencollective.com/comunica-association"},"homepage":"https://comunica.dev/","repository":{"type":"git","url":"https://github.com/comunica/comunica.git","directory":"packages/actor-http-fetch"},"bugs":{"url":"https://github.com/comunica/comunica/issues"},"keywords":["comunica","runner"],"sideEffects":false,"main":"lib/index.js","typings":"lib/index","publishConfig":{"access":"public"},"files":["components","lib/**/*.d.ts","lib/**/*.js","lib/**/*.js.map"],"scripts":{"build":"yarn run build:ts && yarn run build:components","build:ts":"node \\"../../node_modules/typescript/bin/tsc\\"","build:components":"componentsjs-generator"},"dependencies":{"@comunica/bus-http":"^4.0.2","@comunica/context-entries":"^4.0.2","@comunica/core":"^4.0.2","@comunica/mediatortype-time":"^4.0.2"},"browser":{"./lib/FetchInitPreprocessor.js":"./lib/FetchInitPreprocessor-browser.js"},"gitHead":"b60deab76821557f8d027208ab743d3c66fc60ea"}')},68395:e=>{"use strict";e.exports=JSON.parse('{"http://schema.org/":{"properties":{"additionalType":{"subPropertyOf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}}},"http://microformats.org/profile/hcard":{}}')},55180:e=>{"use strict";e.exports=JSON.parse('{"@context":{"alternate":"http://www.w3.org/1999/xhtml/vocab#alternate","appendix":"http://www.w3.org/1999/xhtml/vocab#appendix","cite":"http://www.w3.org/1999/xhtml/vocab#cite","bookmark":"http://www.w3.org/1999/xhtml/vocab#bookmark","contents":"http://www.w3.org/1999/xhtml/vocab#contents","chapter":"http://www.w3.org/1999/xhtml/vocab#chapter","copyright":"http://www.w3.org/1999/xhtml/vocab#copyright","first":"http://www.w3.org/1999/xhtml/vocab#first","glossary":"http://www.w3.org/1999/xhtml/vocab#glossary","help":"http://www.w3.org/1999/xhtml/vocab#help","icon":"http://www.w3.org/1999/xhtml/vocab#icon","index":"http://www.w3.org/1999/xhtml/vocab#index","last":"http://www.w3.org/1999/xhtml/vocab#last","license":"http://www.w3.org/1999/xhtml/vocab#license","meta":"http://www.w3.org/1999/xhtml/vocab#meta","next":"http://www.w3.org/1999/xhtml/vocab#next","prev":"http://www.w3.org/1999/xhtml/vocab#prev","previous":"http://www.w3.org/1999/xhtml/vocab#previous","section":"http://www.w3.org/1999/xhtml/vocab#section","start":"http://www.w3.org/1999/xhtml/vocab#start","stylesheet":"http://www.w3.org/1999/xhtml/vocab#stylesheet","subsection":"http://www.w3.org/1999/xhtml/vocab#subsection","top":"http://www.w3.org/1999/xhtml/vocab#top","up":"http://www.w3.org/1999/xhtml/vocab#up","p3pv1":"http://www.w3.org/1999/xhtml/vocab#p3pv1"}}')},10532:e=>{"use strict";e.exports=JSON.parse('{"@context":{"as":"https://www.w3.org/ns/activitystreams#","cat":"http://www.w3.org/ns/dcat#","cc":"http://creativecommons.org/ns#","cnt":"http://www.w3.org/2008/content#","csvw":"http://www.w3.org/ns/csvw#","ctag":"http://commontag.org/ns#","dc":"http://purl.org/dc/terms/","dc11":"http://purl.org/dc/elements/1.1/","dcat":"http://www.w3.org/ns/dcat#","dcterms":"http://purl.org/dc/terms/","dqv":"http://www.w3.org/ns/dqv#","duv":"https://www.w3.org/TR/vocab-duv#","earl":"http://www.w3.org/ns/earl#","foaf":"http://xmlns.com/foaf/0.1/","gldp":"http://www.w3.org/ns/people#","gr":"http://purl.org/goodrelations/v1#","grddl":"http://www.w3.org/2003/g/data-view#","ht":"http://www.w3.org/2006/http#","ical":"http://www.w3.org/2002/12/cal/icaltzd#","ldp":"http://www.w3.org/ns/ldp#","ma":"http://www.w3.org/ns/ma-ont#","oa":"http://www.w3.org/ns/oa#","odrl":"http://www.w3.org/ns/odrl/2/","og":"http://ogp.me/ns#","org":"http://www.w3.org/ns/org#","owl":"http://www.w3.org/2002/07/owl#","prov":"http://www.w3.org/ns/prov#","ptr":"http://www.w3.org/2009/pointers#","qb":"http://purl.org/linked-data/cube#","rev":"http://purl.org/stuff/rev#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfa":"http://www.w3.org/ns/rdfa#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","rif":"http://www.w3.org/2007/rif#","rr":"http://www.w3.org/ns/r2rml#","schema":"http://schema.org/","sd":"http://www.w3.org/ns/sparql-service-description#","sioc":"http://rdfs.org/sioc/ns#","skos":"http://www.w3.org/2004/02/skos/core#","skosxl":"http://www.w3.org/2008/05/skos-xl#","ssn":"http://www.w3.org/ns/ssn/","sosa":"http://www.w3.org/ns/sosa/","time":"http://www.w3.org/2006/time#","v":"http://rdf.data-vocabulary.org/#","vcard":"http://www.w3.org/2006/vcard/ns#","void":"http://rdfs.org/ns/void#","wdr":"http://www.w3.org/2007/05/powder#","wdrs":"http://www.w3.org/2007/05/powder-s#","xhv":"http://www.w3.org/1999/xhtml/vocab#","xml":"http://www.w3.org/XML/1998/namespace","xsd":"http://www.w3.org/2001/XMLSchema#","describedby":"http://www.w3.org/2007/05/powder-s#describedby","license":"http://www.w3.org/1999/xhtml/vocab#license","role":"http://www.w3.org/1999/xhtml/vocab#role"}}')}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};for(var i in(()=>{var e,t=null,n=r(43347),i=r(76510).LoggerPretty,o=r(78149).bindingsStreamToGraphQl,a=r(75050).ProxyHandlerStatic,s=r(89279).WorkerToWindowHandler,c=r(12301).QueryEngineBase,u=new i({level:"info"});u.log=function(e,t,r,n){postMessage({type:"log",log:r+"\n"})};const l=new s(self);function d(e){t||(t=new c(r(14774))),e.context.httpProxy&&(e.context.httpProxyHandler=new a(e.context.httpProxy)),e.context.workerSolidAuth&&(e.context.fetch=l.buildAuthenticatedFetch()),e.context.queryFormat&&(e.context.queryFormat={language:e.context.queryFormat})}var p={query:function(r){d(r),r.context.log=u,t.query(r.query,r.context).then((async function(t){postMessage({type:"queryInfo",queryType:t.resultType});var i="bindings"===t.resultType,a=r.resultsToTree;switch(t.resultType){case"quads":case"bindings":e=await t.execute();break;case"boolean":t.execute().then((function(e){postMessage({type:"result",result:e}),postMessage({type:"end"})})).catch(h);break;case"void":t.execute().then((function(){postMessage({type:"result",result:"Done"}),postMessage({type:"end"})})).catch(h)}e&&(a?o(e,t.context,{materializeRdfJsTerms:!0}).then((function(e){(Array.isArray(e)?e:[e]).forEach((function(e){postMessage({type:"result",result:{result:"\n"+JSON.stringify(e,null," ")}})})),postMessage({type:"end"})})).catch(h):(e.on("data",(function(e){e=i?Object.fromEntries([...e].map((([e,t])=>[n.termToString(e),n.termToString(t)]))):n.quadToStringQuad(e),postMessage({type:"result",result:e})})),e.on("end",(function(){postMessage({type:"end"})})),e.on("error",h)))})).catch(h)},stop:function(){e&&(e.destroy(),e=null)},getWebIdName:function({webId:e,context:r}){const n={query:`\nPREFIX foaf: \nSELECT ?name WHERE {\n <${e}> foaf:name ?name.\n}`,context:{...r,sources:[e],"@comunica/actor-rdf-resolve-hypermedia-links-traverse:traverse":!1}};d(n),n.context.log=u,t.queryBindings(n.query,n.context).then((function(e){e.toArray({limit:1}).then((e=>{e.length>0&&postMessage({type:"webIdName",name:e[0].get("name").value}),t.invalidateHttpCache()})).catch(h)})).catch(h)}};function h(e){e={message:e.message||e.toString()},postMessage({type:"error",error:e})}self.onmessage=function(e){l.onmessage(e)||p[e.data.type](e.data)}})(),n)this[i]=n[i];n.__esModule&&Object.defineProperty(this,"__esModule",{value:!0})})(); +(()=>{var e={50608:(e,t,r)=>{var{Buffer:n}=r(48287),o={},a=o.LEFT_BRACE=1,s=o.RIGHT_BRACE=2,c=o.LEFT_BRACKET=3,u=o.RIGHT_BRACKET=4,l=o.COLON=5,d=o.COMMA=6,p=o.TRUE=7,h=o.FALSE=8,f=o.NULL=9,y=o.STRING=10,g=o.NUMBER=11,m=o.START=17,b=o.STOP=18,_=o.TRUE1=33,v=o.TRUE2=34,w=o.TRUE3=35,S=o.FALSE1=49,E=o.FALSE2=50,T=o.FALSE3=51,O=o.FALSE4=52,x=o.NULL1=65,A=o.NULL2=66,I=o.NULL3=67,R=o.NUMBER1=81,P=o.NUMBER3=83,F=o.STRING1=97,D=o.STRING2=98,N=o.STRING3=99,j=o.STRING4=100,C=o.STRING5=101,M=o.STRING6=102,k=o.VALUE=113,L=o.KEY=114,U=o.OBJECT=129,B=o.ARRAY=130,V="\\".charCodeAt(0),q="/".charCodeAt(0),H="\b".charCodeAt(0),$="\f".charCodeAt(0),G="\n".charCodeAt(0),K="\r".charCodeAt(0),Q="\t".charCodeAt(0),z=65536;function J(e){return n.alloc?n.alloc(e):new n(e)}function W(){this.tState=m,this.value=void 0,this.string=void 0,this.stringBuffer=J(z),this.stringBufferOffset=0,this.unicode=void 0,this.highSurrogate=void 0,this.key=void 0,this.mode=void 0,this.stack=[],this.state=k,this.bytes_remaining=0,this.bytes_in_sequence=0,this.temp_buffs={2:J(2),3:J(3),4:J(4)},this.offset=-1}W.toknam=function(e){for(var t=Object.keys(o),r=0,n=t.length;r=z&&(this.string+=this.stringBuffer.toString("utf8"),this.stringBufferOffset=0),this.stringBuffer[this.stringBufferOffset++]=e},X.appendStringBuf=function(e,t,r){var n=e.length;"number"==typeof t&&(n="number"==typeof r?r<0?e.length-t+r:r-t:e.length-t),n<0&&(n=0),this.stringBufferOffset+n>z&&(this.string+=this.stringBuffer.toString("utf8",0,this.stringBufferOffset),this.stringBufferOffset=0),e.copy(this.stringBuffer,this.stringBufferOffset,t,r),this.stringBufferOffset+=n},X.write=function(e){var t;"string"==typeof e&&(e=new n(e));for(var r=0,i=e.length;r=48&&t<64)this.string=String.fromCharCode(t),this.tState=P;else if(32!==t&&9!==t&&10!==t&&13!==t)return this.charError(e,r)}else if(this.tState===F)if(t=e[r],this.bytes_remaining>0){for(var o=0;o=128){if(t<=193||t>244)return this.onError(new Error("Invalid UTF-8 character at position "+r+" in state "+W.toknam(this.tState)));if(t>=194&&t<=223&&(this.bytes_in_sequence=2),t>=224&&t<=239&&(this.bytes_in_sequence=3),t>=240&&t<=244&&(this.bytes_in_sequence=4),this.bytes_in_sequence+r>e.length){for(var g=0;g<=e.length-1-r;g++)this.temp_buffs[this.bytes_in_sequence][g]=e[r+g];this.bytes_remaining=r+this.bytes_in_sequence-e.length,r=e.length-1}else this.appendStringBuf(e,r,r+this.bytes_in_sequence),r=r+this.bytes_in_sequence-1}else if(34===t)this.tState=m,this.string+=this.stringBuffer.toString("utf8",0,this.stringBufferOffset),this.stringBufferOffset=0,this.onToken(y,this.string),this.offset+=n.byteLength(this.string,"utf8")+1,this.string=void 0;else if(92===t)this.tState=D;else{if(!(t>=32))return this.charError(e,r);this.appendStringChar(t)}else if(this.tState===D)if(34===(t=e[r]))this.appendStringChar(t),this.tState=F;else if(92===t)this.appendStringChar(V),this.tState=F;else if(47===t)this.appendStringChar(q),this.tState=F;else if(98===t)this.appendStringChar(H),this.tState=F;else if(102===t)this.appendStringChar($),this.tState=F;else if(110===t)this.appendStringChar(G),this.tState=F;else if(114===t)this.appendStringChar(K),this.tState=F;else if(116===t)this.appendStringChar(Q),this.tState=F;else{if(117!==t)return this.charError(e,r);this.unicode="",this.tState=N}else if(this.tState===N||this.tState===j||this.tState===C||this.tState===M){if(!((t=e[r])>=48&&t<64||t>64&&t<=70||t>96&&t<=102))return this.charError(e,r);if(this.unicode+=String.fromCharCode(t),this.tState++===M){var b=parseInt(this.unicode,16);this.unicode=void 0,void 0!==this.highSurrogate&&b>=56320&&b<57344?(this.appendStringBuf(new n(String.fromCharCode(this.highSurrogate,b))),this.highSurrogate=void 0):void 0===this.highSurrogate&&b>=55296&&b<56320?this.highSurrogate=b:(void 0!==this.highSurrogate&&(this.appendStringBuf(new n(String.fromCharCode(this.highSurrogate))),this.highSurrogate=void 0),this.appendStringBuf(new n(String.fromCharCode(b)))),this.tState=F}}else if(this.tState===R||this.tState===P)switch(t=e[r]){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 46:case 101:case 69:case 43:case 45:this.string+=String.fromCharCode(t),this.tState=P;break;default:this.tState=m;var k=this.numberReviver(this.string);if(k)return k;this.offset+=this.string.length-1,this.string=void 0,r--}else if(this.tState===_){if(114!==e[r])return this.charError(e,r);this.tState=v}else if(this.tState===v){if(117!==e[r])return this.charError(e,r);this.tState=w}else if(this.tState===w){if(101!==e[r])return this.charError(e,r);this.tState=m,this.onToken(p,!0),this.offset+=3}else if(this.tState===S){if(97!==e[r])return this.charError(e,r);this.tState=E}else if(this.tState===E){if(108!==e[r])return this.charError(e,r);this.tState=T}else if(this.tState===T){if(115!==e[r])return this.charError(e,r);this.tState=O}else if(this.tState===O){if(101!==e[r])return this.charError(e,r);this.tState=m,this.onToken(h,!1),this.offset+=4}else if(this.tState===x){if(117!==e[r])return this.charError(e,r);this.tState=A}else if(this.tState===A){if(108!==e[r])return this.charError(e,r);this.tState=I}else if(this.tState===I){if(108!==e[r])return this.charError(e,r);this.tState=m,this.onToken(f,null),this.offset+=3}},X.onToken=function(e,t){},X.parseError=function(e,t){this.tState=b,this.onError(new Error("Unexpected "+W.toknam(e)+(t?"("+JSON.stringify(t)+")":"")+" in state "+W.toknam(this.state)))},X.push=function(){this.stack.push({value:this.value,key:this.key,mode:this.mode})},X.pop=function(){var e=this.value,t=this.stack.pop();this.value=t.value,this.key=t.key,this.mode=t.mode,this.emit(e),this.mode||(this.state=k)},X.emit=function(e){this.mode&&(this.state=d),this.onValue(e)},X.onValue=function(e){},X.onToken=function(e,t){if(this.state===k)if(e===y||e===g||e===p||e===h||e===f)this.value&&(this.value[this.key]=t),this.emit(t);else if(e===a)this.push(),this.value?this.value=this.value[this.key]={}:this.value={},this.key=void 0,this.state=L,this.mode=U;else if(e===c)this.push(),this.value?this.value=this.value[this.key]=[]:this.value=[],this.key=0,this.mode=B,this.state=k;else if(e===s){if(this.mode!==U)return this.parseError(e,t);this.pop()}else{if(e!==u)return this.parseError(e,t);if(this.mode!==B)return this.parseError(e,t);this.pop()}else if(this.state===L)if(e===y)this.key=t,this.state=l;else{if(e!==s)return this.parseError(e,t);this.pop()}else if(this.state===l){if(e!==l)return this.parseError(e,t);this.state=k}else{if(this.state!==d)return this.parseError(e,t);if(e===d)this.mode===B?(this.key++,this.state=k):this.mode===U&&(this.state=L);else{if(!(e===u&&this.mode===B||e===s&&this.mode===U))return this.parseError(e,t);this.pop()}}},X.numberReviver=function(e){var t=Number(e);if(isNaN(t))return this.charError(buffer,i);e.match(/[0-9]+/)==e&&t.toString()!=e?this.onToken(y,e):this.onToken(g,t)},W.C=o,e.exports=W},78563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorAbstractMediaTyped=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}async run(e){if("handle"in e){const t=e;return{handle:await this.runHandle(t.handle,t.handleMediaType,e.context)}}if("mediaTypes"in e)return{mediaTypes:await this.getMediaTypes(e.context)};if("mediaTypeFormats"in e)return{mediaTypeFormats:await this.getMediaTypeFormats(e.context)};throw new Error("Either a handle, mediaTypes or mediaTypeFormats action needs to be provided")}async test(e){if("handle"in e){const t=e;return(await this.testHandle(t.handle,t.handleMediaType,e.context)).map((e=>({handle:e})))}return"mediaTypes"in e?(await this.testMediaType(e.context)).map((e=>({mediaTypes:e}))):"mediaTypeFormats"in e?(await this.testMediaTypeFormats(e.context)).map((e=>({mediaTypeFormats:e}))):(0,n.failTest)("Either a handle, mediaTypes or mediaTypeFormats action needs to be provided")}}t.ActorAbstractMediaTyped=i},17633:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorAbstractMediaTypedFixed=void 0;const n=r(90412),i=r(78563);class o extends i.ActorAbstractMediaTyped{constructor(e){super(e);const t=this.priorityScale||0===this.priorityScale?this.priorityScale:1;if(this.mediaTypePriorities)for(const[e,[r,n]]of Object.entries(this.mediaTypePriorities).entries())this.mediaTypePriorities[r]=t*n;this.mediaTypePriorities=Object.freeze(this.mediaTypePriorities),this.mediaTypeFormats=Object.freeze(this.mediaTypeFormats)}async testHandle(e,t,r){return t&&t in this.mediaTypePriorities?await this.testHandleChecked(e,r):(0,n.failTest)(`Unrecognized media type: ${t}`)}async testMediaType(e){return(0,n.passTestVoid)()}async getMediaTypes(e){return this.mediaTypePriorities}async testMediaTypeFormats(e){return(0,n.passTestVoid)()}async getMediaTypeFormats(e){return this.mediaTypeFormats}}t.ActorAbstractMediaTypedFixed=o},48092:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(78563),t),i(r(17633),t)},92647:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorAbstractPath=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(67021),s=r(75627),c=r(43347),u=r(96331),l=r(71493);class d extends n.ActorQueryOperationTypedMediated{constructor(e,t){super(e,"path"),this.predicateType=t}async testOperation(e,t){return e.predicate.type!==this.predicateType?(0,o.failTest)(`This Actor only supports ${this.predicateType} Path operations.`):(0,o.passTestVoid)()}generateVariable(e,t,r){return r?!t||t.subject.value!==r&&t.object.value!==r?e.variable(r):this.generateVariable(e,t,`${r}b`):this.generateVariable(e,t,"b")}async isPathArbitraryLengthDistinct(e,t,r){return t.get(i.KeysQueryOperation.isPathArbitraryLengthDistinctKey)?{context:t=t.set(i.KeysQueryOperation.isPathArbitraryLengthDistinctKey,!1),operation:void 0}:{context:t=t.set(i.KeysQueryOperation.isPathArbitraryLengthDistinctKey,!0),operation:(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.createDistinct(r),context:t}))}}async predicateStarGraphVariable(e,t,r,n,i,o,c){const u=this.getPathSources(r),l=this.generateVariable(o.dataFactory,o.createPath(e,r,t,n)),d=o.createUnion([this.assignPatternSources(o,o.createPattern(e,l,t,n),u),this.assignPatternSources(o,o.createPattern(t,l,e,n),u)]),p=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:i,operation:d})),h=new Set;return{bindingsStream:new s.MultiTransformIterator(p.bindingsStream,{multiTransform:a=>{const u=a.get(n);return h.has(u.value)?new s.EmptyIterator:(h.add(u.value),new s.TransformIterator((async()=>{const a=new s.BufferedIterator;return await this.getObjectsPredicateStar(o,e,r,u,i,{},a,{count:0}),a.transform({transform(e,r,i){i(c.bindings([[t,e],[n,u]])),r()}})}),{maxBufferSize:128}))},autoStart:!1}),metadata:p.metadata}}async getObjectsPredicateStarEval(e,t,r,n,i,o,a,s){if("Variable"===n.termType)return this.predicateStarGraphVariable(e,r,t,n,i,a,s);const c=new l.PathVariableObjectIterator(a,e,t,n,i,this.mediatorQueryOperation,o);return{bindingsStream:c.transform({autoStart:!1,transform(e,t,n){n(s.bindings([[r,e]])),t()}}),async metadata(){const e=await new Promise((e=>{c.getProperty("metadata",(t=>e(t())))}));return e.cardinality.value++,e}}}async getObjectsPredicateStar(e,t,r,n,i,o,s,u){const l=(0,c.termToString)(t);if(o[l])return;s._push(t),o[l]=t,u.count++;const d=this.generateVariable(e.dataFactory),p=e.createPath(t,r,d,n),h=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:p,context:i}));return h.bindingsStream.on("data",(async t=>{const a=t.get(d);await this.getObjectsPredicateStar(e,a,r,n,i,o,s,u)})),h.bindingsStream.on("end",(()=>{0==--u.count&&s.close()})),h.metadata}async getSubjectAndObjectBindingsPredicateStar(e,t,r,n,i,o,s,u,l,d,p,h,f){const y=(0,c.termToString)(n)+(0,c.termToString)(o);if(l[y])return;if(p.count++,l[y]=!0,d._push(f.bindings([[e,r],[t,n]])),y in u){const n=await u[y];for(const a of n)await this.getSubjectAndObjectBindingsPredicateStar(e,t,r,a,i,o,s,u,l,d,p,h,f);return void(0==--p.count&&d.close())}const g=new Promise((async(c,y)=>{const g=[],m=this.generateVariable(h.dataFactory),b=h.createPath(n,i,m,o),_=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:b,context:s}));_.bindingsStream.on("data",(async n=>{const a=n.get(m);g.push(a),await this.getSubjectAndObjectBindingsPredicateStar(e,t,r,a,i,o,s,u,l,d,p,h,f)})),_.bindingsStream.on("error",y),_.bindingsStream.on("end",(()=>{0==--p.count&&d.close(),c(g)}))}));u[y]=g}getPathSources(e){switch(e.type){case u.Algebra.types.ALT:case u.Algebra.types.SEQ:return e.input.flatMap((e=>this.getPathSources(e)));case u.Algebra.types.INV:case u.Algebra.types.ONE_OR_MORE_PATH:case u.Algebra.types.ZERO_OR_MORE_PATH:case u.Algebra.types.ZERO_OR_ONE_PATH:return this.getPathSources(e.path);case u.Algebra.types.LINK:case u.Algebra.types.NPS:{const t=(0,a.getOperationSource)(e);if(!t)throw new Error("Could not find a required source on a link path operation");return[t]}}}assignPatternSources(e,t,r){if(0===r.length)throw new Error("Attempted to assign zero sources to a pattern during property path handling");return 1===r.length?(0,a.assignOperationSource)(t,r[0]):e.createUnion(r.map((e=>(0,a.assignOperationSource)(t,e))),!0)}}t.ActorAbstractPath=d},71493:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PathVariableObjectIterator=void 0;const n=r(67021),i=r(75627),o=r(43347);class a extends i.BufferedIterator{constructor(e,t,r,n,i,o,a,s=16){super({autoStart:!0}),this.algebraFactory=e,this.subject=t,this.predicate=r,this.graph=n,this.context=i,this.mediatorQueryOperation=o,this.maxRunningOperations=s,this.termHashes=new Map,this.runningOperations=[],this.pendingOperations=[],this._push(this.subject,a)}_end(e){for(const e of this.runningOperations)e.destroy();super._end(e)}_push(e,t=!0){let r;if(t&&(r=(0,o.termToString)(e),this.termHashes.has(r)))return;const n=this.algebraFactory.dataFactory.variable("b");this.pendingOperations.push({variable:n,operation:this.algebraFactory.createPath(e,this.predicate,n,this.graph)}),r&&(this.termHashes.set(r,e),super._push(e))}_read(e,t){const r=this;(async function(){for(;r.runningOperations.lengthr.destroy(e))),i.on("readable",(()=>{r.readable=!0,r._fillBufferAsync()})),i.on("end",(()=>{r.runningOperations.splice(r.runningOperations.indexOf(i),1),r.readable=!0,r._fillBufferAsync()}))),r.setProperty("metadata",t.metadata)}let t,i=0;for(;i!==(i=e);)for(let n=0;n0;n++)null!==(t=r.runningOperations[n].read())&&(e--,r._push(t));0===r.runningOperations.length&&0===r.pendingOperations.length&&r.close()})().then((()=>{t()}),(e=>this.destroy(e)))}}t.PathVariableObjectIterator=a},97091:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92647),t),i(r(71493),t)},34023:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryAverage=void 0;const n=r(86581),i=r(90711),o=r(90412),a=r(77545),s=r(23786);class c extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async test(e){return"avg"!==e.expr.aggregator?(0,o.failTest)("This actor only supports the 'avg' aggregator."):(0,o.passTestVoid)()}async run({context:e,expr:t}){return new s.AverageAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct,e.getSafe(i.KeysInitQuery.dataFactory),await this.mediatorFunctionFactory.mediate({functionName:a.SparqlOperator.ADDITION,context:e,requireTermExpression:!0}),await this.mediatorFunctionFactory.mediate({functionName:a.SparqlOperator.DIVISION,context:e,requireTermExpression:!0}))}}t.ActorBindingsAggregatorFactoryAverage=c},23786:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AverageAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r,n,i,o){super(e,t,o),this.dataFactory=r,this.additionFunction=n,this.divisionFunction=i,this.state=void 0}emptyValueTerm(){return i.typedLiteral("0",i.TypeURL.XSD_INTEGER)}putTerm(e){if(void 0===this.state){const t=this.termToNumericOrError(e);this.state={sum:t,count:1}}else{const t=this.termToNumericOrError(e);this.state.sum=this.additionFunction.applyOnTerms([this.state.sum,t],this.evaluator),this.state.count++}}termResult(){if(void 0===this.state)return this.emptyValue();const e=new i.IntegerLiteral(this.state.count);return this.divisionFunction.applyOnTerms([this.state.sum,e],this.evaluator).toRDF(this.dataFactory)}}t.AverageAggregator=o},17352:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(34023),t),i(r(23786),t)},63055:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryCount=void 0;const n=r(86581),i=r(90412),o=r(8028),a=r(53930);class s extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"count"!==e.expr.aggregator||e.expr.expression.expressionType===o.Algebra.expressionTypes.WILDCARD?(0,i.failTest)("This actor only supports the 'count' aggregator without wildcard."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new a.CountAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct)}}t.ActorBindingsAggregatorFactoryCount=s},53930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CountAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r){super(e,t,r),this.state=void 0}emptyValueTerm(){return(0,i.typedLiteral)("0",i.TypeURL.XSD_INTEGER)}putTerm(e){void 0===this.state&&(this.state=0),this.state++}termResult(){return void 0===this.state?this.emptyValue():(0,i.typedLiteral)(String(this.state),i.TypeURL.XSD_INTEGER)}}t.CountAggregator=o},2236:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(63055),t),i(r(53930),t)},8028:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.toSparqlJs=t.toSparql=t.Factory=t.Algebra=t.translate=void 0;const s=a(r(69343));t.translate=s.default;const c=o(r(7756));t.Algebra=c;const u=a(r(35798));t.Factory=u.default;const l=r(26079);Object.defineProperty(t,"toSparql",{enumerable:!0,get:function(){return l.toSparql}}),Object.defineProperty(t,"toSparqlJs",{enumerable:!0,get:function(){return l.toSparqlJs}});const d=a(r(43122));t.Util=d.default},7756:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.expressionTypes=t.types=void 0,(n=t.types||(t.types={})).ALT="alt",n.ASK="ask",n.BGP="bgp",n.CONSTRUCT="construct",n.DESCRIBE="describe",n.DISTINCT="distinct",n.EXPRESSION="expression",n.EXTEND="extend",n.FILTER="filter",n.FROM="from",n.GRAPH="graph",n.GROUP="group",n.INV="inv",n.JOIN="join",n.LEFT_JOIN="leftjoin",n.LINK="link",n.MINUS="minus",n.NOP="nop",n.NPS="nps",n.ONE_OR_MORE_PATH="OneOrMorePath",n.ORDER_BY="orderby",n.PATH="path",n.PATTERN="pattern",n.PROJECT="project",n.REDUCED="reduced",n.SEQ="seq",n.SERVICE="service",n.SLICE="slice",n.UNION="union",n.VALUES="values",n.ZERO_OR_MORE_PATH="ZeroOrMorePath",n.ZERO_OR_ONE_PATH="ZeroOrOnePath",n.COMPOSITE_UPDATE="compositeupdate",n.DELETE_INSERT="deleteinsert",n.LOAD="load",n.CLEAR="clear",n.CREATE="create",n.DROP="drop",n.ADD="add",n.MOVE="move",n.COPY="copy",(r=t.expressionTypes||(t.expressionTypes={})).AGGREGATE="aggregate",r.EXISTENCE="existence",r.NAMED="named",r.OPERATOR="operator",r.TERM="term",r.WILDCARD="wildcard"},35798:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(7756)),s=r(47793),c=r(43347),u=r(98082);t.default=class{constructor(e){this.dataFactory=e||new s.DataFactory,this.stringType=this.createTerm("http://www.w3.org/2001/XMLSchema#string")}createAlt(e,t=!0){return this.flattenMulti({type:a.types.ALT,input:e},t)}createAsk(e){return{type:a.types.ASK,input:e}}createBoundAggregate(e,t,r,n,i){const o=this.createAggregateExpression(t,r,n,i);return o.variable=e,o}createBgp(e){return{type:a.types.BGP,patterns:e}}createConstruct(e,t){return{type:a.types.CONSTRUCT,input:e,template:t}}createDescribe(e,t){return{type:a.types.DESCRIBE,input:e,terms:t}}createDistinct(e){return{type:a.types.DISTINCT,input:e}}createExtend(e,t,r){return{type:a.types.EXTEND,input:e,variable:t,expression:r}}createFrom(e,t,r){return{type:a.types.FROM,input:e,default:t,named:r}}createFilter(e,t){return{type:a.types.FILTER,input:e,expression:t}}createGraph(e,t){return{type:a.types.GRAPH,input:e,name:t}}createGroup(e,t,r){return{type:a.types.GROUP,input:e,variables:t,aggregates:r}}createInv(e){return{type:a.types.INV,path:e}}createJoin(e,t=!0){return this.flattenMulti({type:a.types.JOIN,input:e},t)}createLeftJoin(e,t,r){return r?{type:a.types.LEFT_JOIN,input:[e,t],expression:r}:{type:a.types.LEFT_JOIN,input:[e,t]}}createLink(e){return{type:a.types.LINK,iri:e}}createMinus(e,t){return{type:a.types.MINUS,input:[e,t]}}createNop(){return{type:a.types.NOP}}createNps(e){return{type:a.types.NPS,iris:e}}createOneOrMorePath(e){return{type:a.types.ONE_OR_MORE_PATH,path:e}}createOrderBy(e,t){return{type:a.types.ORDER_BY,input:e,expressions:t}}createPath(e,t,r,n){return n?{type:a.types.PATH,subject:e,predicate:t,object:r,graph:n}:{type:a.types.PATH,subject:e,predicate:t,object:r,graph:this.dataFactory.defaultGraph()}}createPattern(e,t,r,n){const i=this.dataFactory.quad(e,t,r,n);return i.type=a.types.PATTERN,i}createProject(e,t){return{type:a.types.PROJECT,input:e,variables:t}}createReduced(e){return{type:a.types.REDUCED,input:e}}createSeq(e,t=!0){return this.flattenMulti({type:a.types.SEQ,input:e},t)}createService(e,t,r){return{type:a.types.SERVICE,input:e,name:t,silent:Boolean(r)}}createSlice(e,t,r){return t=t||0,void 0!==r?{type:a.types.SLICE,input:e,start:t,length:r}:{type:a.types.SLICE,input:e,start:t}}createUnion(e,t=!0){return this.flattenMulti({type:a.types.UNION,input:e},t)}createValues(e,t){return{type:a.types.VALUES,variables:e,bindings:t}}createZeroOrMorePath(e){return{type:a.types.ZERO_OR_MORE_PATH,path:e}}createZeroOrOnePath(e){return{type:a.types.ZERO_OR_ONE_PATH,path:e}}createAggregateExpression(e,t,r,n){return n?{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,separator:n,distinct:r}:{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,distinct:r}}createExistenceExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.EXISTENCE,not:e,input:t}}createNamedExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.NAMED,name:e,args:t}}createOperatorExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.OPERATOR,operator:e,args:t}}createTermExpression(e){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.TERM,term:e}}createWildcardExpression(){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.WILDCARD,wildcard:new u.Wildcard}}createTerm(e){return(0,c.stringToTerm)(e,this.dataFactory)}createCompositeUpdate(e){return{type:a.types.COMPOSITE_UPDATE,updates:e}}createDeleteInsert(e,t,r){const n={type:a.types.DELETE_INSERT};return e&&(n.delete=e),t&&(n.insert=t),r&&(n.where=r),n}createLoad(e,t,r){const n={type:a.types.LOAD,source:e};return t&&(n.destination=t),this.addSilent(n,Boolean(r))}createClear(e,t){return this.addSilent({type:a.types.CLEAR,source:e},Boolean(t))}createCreate(e,t){return this.addSilent({type:a.types.CREATE,source:e},Boolean(t))}createDrop(e,t){return this.addSilent({type:a.types.DROP,source:e},Boolean(t))}createAdd(e,t,r){return this.addSilent({type:a.types.ADD,source:e,destination:t},Boolean(r))}createMove(e,t,r){return this.addSilent({type:a.types.MOVE,source:e,destination:t},Boolean(r))}createCopy(e,t,r){return this.addSilent({type:a.types.COPY,source:e,destination:t},Boolean(r))}addSilent(e,t){return t&&(e.silent=t),e}flattenMulti(e,t){if(!t)return e;const r=e.type,n=e.input;let i=[];for(const e of n)e.type===r?i.push(...e.input):i.push(e);return e.input=i,e}}},26079:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.toSparqlJs=t.toSparql=void 0;const s=r(62699),c=r(43347),u=r(98082),l=o(r(7756)),d=a(r(35798)),p=a(r(43122)),h=l.types,f=l.expressionTypes;let y;const g=new d.default;function m(e){b();let t=_(e=function(e){return D(e,[])}(e));return"group"===t.type?t.patterns[0]:t}function b(){y={project:!1,extend:[],group:[],aggregates:[],order:[]}}function _(e){switch(e.type!==h.EXTEND&&e.type!==h.ORDER_BY&&e.type!==h.GRAPH&&(y.project=!1),e.type){case h.EXPRESSION:return v(e);case h.ASK:return A(e,h.ASK);case h.BGP:return function(e){let t=e.patterns.map(O);return 0===t.length?null:{type:"bgp",triples:t}}(e);case h.CONSTRUCT:return function(e){return{type:"query",prefixes:{},queryType:"CONSTRUCT",template:e.template.map(O),where:p.default.flatten([_(e.input)])}}(e);case h.DESCRIBE:return A(e,h.DESCRIBE);case h.DISTINCT:return function(e){let t=_(e.input);return t.patterns[0].distinct=!0,t}(e);case h.EXTEND:return function(e){return y.project?(y.extend.push(e),_(e.input)):p.default.flatten([_(e.input),{type:"bind",variable:e.variable,expression:v(e.expression)}])}(e);case h.FROM:return function(e){const t=_(e.input);let r=t;return"group"===t.type&&(r=t.patterns[0]),r.from={default:e.default,named:e.named},t}(e);case h.FILTER:return function(e){return{type:"group",patterns:p.default.flatten([_(e.input),{type:"filter",expression:v(e.expression)}])}}(e);case h.GRAPH:return function(e){return{type:"graph",patterns:p.default.flatten([_(e.input)]),name:e.name}}(e);case h.GROUP:return function(e){const t=_(e.input),r=e.aggregates.map(T);return y.aggregates.push(...r),y.group.push(...e.variables),t}(e);case h.JOIN:return function(e){return p.default.flatten(e.input.map(_)).reduce(((e,t)=>("bgp"!==t.type||0==e.length||"bgp"!==e[e.length-1].type?e.push(t):e[e.length-1].triples.push(...t.triples),e)),[])}(e);case h.LEFT_JOIN:return function(e){const t={type:"optional",patterns:[_(e.input[1])]};return e.expression&&t.patterns.push({type:"filter",expression:v(e.expression)}),t.patterns=p.default.flatten(t.patterns),p.default.flatten([_(e.input[0]),t])}(e);case h.MINUS:return function(e){let t=_(e.input[1]);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),p.default.flatten([_(e.input[0]),{type:"minus",patterns:t}])}(e);case h.NOP:return{};case h.ORDER_BY:return function(e){return y.order.push(...e.expressions),_(e.input)}(e);case h.PATH:return function(e){return{type:"bgp",triples:[{subject:e.subject,predicate:w(e.predicate),object:e.object}]}}(e);case h.PATTERN:return O(e);case h.PROJECT:return A(e,h.PROJECT);case h.REDUCED:return function(e){let t=_(e.input);return t.patterns[0].reduced=!0,t}(e);case h.SERVICE:return function(e){let t=_(e.input);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),{type:"service",name:e.name,silent:e.silent,patterns:t}}(e);case h.SLICE:return function(e){let t=_(e.input),r=t;return t.type&&"group"===t.type&&(r=t.patterns[0]),0!==e.start&&(r.offset=e.start),void 0!==e.length&&(r.limit=e.length),t}(e);case h.UNION:return function(e){return{type:"union",patterns:e.input.map(_).map(E)}}(e);case h.VALUES:return function(e){return{type:"values",values:e.bindings.map((t=>{let r={};for(let n of e.variables){let e=`?${n.value}`;t[e]?r[e]=t[e]:r[e]=void 0}return r}))}}(e);case h.COMPOSITE_UPDATE:return function(e){return{prefixes:{},type:"update",updates:e.updates.map((e=>_(e).updates[0]))}}(e);case h.DELETE_INSERT:return function(e){var t;let r,n=e.where;if(n&&n.type===h.FROM){let e=n;n=e.input,r={default:e.default,named:e.named}}const i=[{updateType:"insertdelete",delete:F(e.delete||[]),insert:F(e.insert||[])}];if(r&&(i[0].using=r),!n||n.type===h.BGP&&0===n.patterns.length)i[0].where=[];else{const e=[];let r=_(D(n,e));if("group"===r.type?i[0].where=r.patterns:i[0].where=[r],e.length>0){if(1!==e.length)throw new Error("This is unexpected and might indicate an error in graph handling for updates.");""!==(null===(t=e[0])||void 0===t?void 0:t.value)&&(i[0].where=[{type:"graph",patterns:i[0].where,name:e[0]}])}}return e.delete||e.where?e.insert||e.where?!e.insert&&e.where&&"bgp"===e.where.type&&(0,s.isomorphic)(e.delete,e.where.patterns)&&(delete i[0].where,i[0].updateType="deletewhere"):(delete i[0].insert,delete i[0].where,e.delete.some((e=>"Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType))?i[0].updateType="deletewhere":i[0].updateType="delete"):(i[0].updateType="insert",delete i[0].delete,delete i[0].where),{prefixes:{},type:"update",updates:i}}(e);case h.LOAD:return function(e){const t=[{type:"load",silent:Boolean(e.silent),source:e.source}];return e.destination&&(t[0].destination=e.destination),{prefixes:{},type:"update",updates:t}}(e);case h.CLEAR:return function(e){return R(e,"clear")}(e);case h.CREATE:return function(e){return R(e,"create")}(e);case h.DROP:return function(e){return R(e,"drop")}(e);case h.ADD:return function(e){return P(e,"add")}(e);case h.MOVE:return function(e){return P(e,"move")}(e);case h.COPY:return function(e){return P(e,"copy")}(e)}throw new Error(`Unknown Operation type ${e.type}`)}function v(e){switch(e.expressionType){case f.AGGREGATE:return function(e){const t={expression:v(e.expression),type:"aggregate",aggregation:e.aggregator,distinct:e.distinct};return e.separator&&(t.separator=e.separator),t}(e);case f.EXISTENCE:return function(e){return{type:"operation",operator:e.not?"notexists":"exists",args:p.default.flatten([_(e.input)])}}(e);case f.NAMED:return function(e){return{type:"functionCall",function:e.name,args:e.args.map(v)}}(e);case f.OPERATOR:return function(e){if("desc"===e.operator){return{expression:v(e.args[0]),descending:!0}}const t={type:"operation",operator:e.operator,args:e.args.map(v)};return"in"!==t.operator&&"notin"!==t.operator||(t.args=[t.args[0]].concat([t.args.slice(1)])),t}(e);case f.TERM:return function(e){return e.term}(e);case f.WILDCARD:return function(e){return e.wildcard}(e)}throw new Error(`Unknown Expression Operation type ${e.expressionType}`)}function w(e){switch(e.type){case h.ALT:return function(e){const t=e.input.map(w);return t.every((e=>"pathType"in e&&"!"===e.pathType))?{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:p.default.flatten(t.map((e=>e.items)))}]}:{type:"path",pathType:"|",items:t}}(e);case h.INV:return function(e){if(e.path.type===h.NPS){const t=e.path.iris.map((e=>({type:"path",pathType:"^",items:[e]})));return t.length<=1?{type:"path",pathType:"!",items:t}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:t}]}}return{type:"path",pathType:"^",items:[w(e.path)]}}(e);case h.LINK:return function(e){return e.iri}(e);case h.NPS:return function(e){return e.iris.length<=1?{type:"path",pathType:"!",items:e.iris}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:e.iris}]}}(e);case h.ONE_OR_MORE_PATH:return function(e){return{type:"path",pathType:"+",items:[w(e.path)]}}(e);case h.SEQ:return function(e){return{type:"path",pathType:"/",items:e.input.map(w)}}(e);case h.ZERO_OR_MORE_PATH:return function(e){return{type:"path",pathType:"*",items:[w(e.path)]}}(e);case h.ZERO_OR_ONE_PATH:return function(e){return{type:"path",pathType:"?",items:[w(e.path)]}}(e)}throw new Error(`Unknown Path type ${e.type}`)}function S(e){return(0,c.termToString)(e)}function E(e){return Array.isArray(e)?1===e.length?e[0]:{type:"group",patterns:e}:e}function T(e){return e}function O(e){return{subject:e.subject,predicate:e.predicate,object:e.object}}function x(e,t){let r=p.default.isSimpleTerm(e)?S(e):e;if("string"==typeof r){if(t[r])return t[r]}else if(Array.isArray(e))e=e.map((e=>x(e,t)));else for(let r of Object.keys(e))e[r]=x(e[r],t);return e}function A(e,t){const r={type:"query",prefixes:{}},n=r;let i;t===h.PROJECT?(r.queryType="SELECT",i=e.variables):t===h.ASK?r.queryType="ASK":t===h.DESCRIBE&&(r.queryType="DESCRIBE",i=e.terms);const o=y.extend,a=y.group,s=y.aggregates,c=y.order;b(),y.project=!0;let l=p.default.flatten([_(e.input)]);1===l.length&&"group"===l[0].type&&(l=l[0].patterns),r.where=l;let d={};for(let e of y.aggregates)d[S(e.variable)]=v(e);let f={};for(let e=y.extend.length-1;e>=0;--e){let t=y.extend[e];f[S(t.variable)]=x(v(t.expression),d)}if(y.group.length>0&&(n.group=y.group.map((e=>{let t=S(e);if(f[t]){let r=f[t];return delete f[t],{variable:e,expression:r}}return{expression:e}}))),y.order.length>0&&(n.order=y.order.map(_).map((e=>e.descending?e:{expression:e}))),i&&(n.variables=i.map((e=>{let t=S(e);return f[t]?{variable:e,expression:f[t]}:e})),0===n.variables.length&&(n.variables=[new u.Wildcard])),r.where.length>0&&"filter"===r.where[r.where.length-1].type){const e=r.where[r.where.length-1];I(e,Object.keys(d))&&(n.having=p.default.flatten([x(e.expression,d)]),r.where.splice(-1))}return y.extend=o,y.group=a,y.aggregates=s,y.order=c,{type:"group",patterns:[n]}}function I(e,t){return p.default.isSimpleTerm(e)?t.indexOf(S(e))>=0:Array.isArray(e)?e.some((e=>I(e,t))):e===Object(e)?Object.keys(e).some((r=>I(e[r],t))):t.indexOf(e)>=0}function R(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return"DEFAULT"===e.source?r[0].graph={default:!0}:"NAMED"===e.source?r[0].graph={named:!0}:"ALL"===e.source?r[0].graph={all:!0}:r[0].graph={type:"graph",name:e.source},{prefixes:{},type:"update",updates:r}}function P(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return r[0].source="DEFAULT"===e.source?{type:"graph",default:!0}:{type:"graph",name:e.source},r[0].destination="DEFAULT"===e.destination?{type:"graph",default:!0}:{type:"graph",name:e.destination},{prefixes:{},type:"update",updates:r}}function F(e){if(!e)return[];const t={};return e.forEach((e=>{const r=e.graph.value;t[r]||(t[r]=[]),t[r].push(e)})),Object.keys(t).map((e=>""===e?{type:"bgp",triples:t[e].map(O)}:{type:"graph",triples:t[e].map(O),name:t[e][0].graph}))}function D(e,t){if(Array.isArray(e))return e.map((e=>D(e,t)));if(!e.type)return e;if(e.type===h.DELETE_INSERT)return e;if((e.type===h.PATTERN||e.type===h.PATH)&&e.graph)return t.push(e.graph),""!==e.graph.name?e.type===h.PATTERN?g.createPattern(e.subject,e.predicate,e.object):g.createPath(e.subject,e.predicate,e.object):e;const r={},n={},i={};for(let t of Object.keys(e)){const o=[];if(r[t]=D(e[t],o),o.length>0){n[t]=o;for(const e of o)i[e.value]=e}}const o=Object.keys(i);if(o.length>0)if(1!==o.length||[h.PROJECT,h.SERVICE].includes(e.type)){if(e.type===h.BGP)return function(e,t){var r;const n={};for(let i=0;i""===n[e][0].value?t:g.createGraph(t,n[e][r]))):""!==n[e][0].value&&(r[e]=g.createGraph(t,n[e][0]))}}else t.push(i[o[0]]);return r}t.toSparql=function(e,t={}){return new u.Generator(t).stringify(m(e))},t.toSparqlJs=m},69343:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(29252),c=r(43347),u=o(r(7756)),l=a(r(35798)),d=a(r(43122)),p=r(98082).Parser,h=u.types;let f,y=new Set,g=0,m=!1;function b(e,t,r){if(y=new Set,g=0,m=Boolean(t),!e.type)return f.createNop();if("query"!==e.type&&"update"!==e.type)throw new Error("Translate only works on complete query or update objects.");let n;var i;return w(e),"query"===e.type?(n=E({type:"group",patterns:e.where||[]}),n=function(e,t){const r=e,n=[],i={};if(r.variables=r.variables&&r.variables.map((e=>j(e,i))),r.having=r.having&&r.having.map((e=>j(e,i))),r.order=r.order&&r.order.map((e=>j(e,i))),r.group||Object.keys(i).length>0){const e=Object.keys(i).map((e=>function(e,t){if("aggregate"!==e.type||!e.aggregation)throw new Error(`Unexpected input: ${JSON.stringify(e)}`);const r=T(e);return r.variable=t,r}(i[e],f.createTerm(e)))),n=[];if(r.group)for(const e of r.group)if(d.default.isSimpleTerm(e.expression))n.push(e.expression);else{const r="variable"in e?e.variable:A();t=f.createExtend(t,r,T(e.expression)),n.push(r)}t=f.createGroup(t,n,e)}if(r.having)for(let e of r.having)t=f.createFilter(t,T(e));e.values&&(t=f.createJoin([t,N(e)]));let o=[];if("SELECT"===e.queryType||"DESCRIBE"===e.queryType)if(e.variables.some((e=>e&&d.default.isWildcard(e))))o=Object.values(S(e)).sort(((e,t)=>e.value.localeCompare(t.value)));else for(let t of e.variables)v(t)||!("variable"in t)?o.push(t):t.variable&&(o.push(t.variable),n.push(t));for(let e of n)t=f.createExtend(t,e.variable,T(e.expression));return r.order&&(t=f.createOrderBy(t,r.order.map((e=>{let t=T(e.expression);return e.descending&&(t=f.createOperatorExpression("desc",[t])),t})))),"SELECT"===e.queryType&&(t=f.createProject(t,o)),r.distinct&&(t=f.createDistinct(t)),r.reduced&&(t=f.createReduced(t)),"CONSTRUCT"===e.queryType?t=f.createConstruct(t,(e.template||[]).map(I)):"ASK"===e.queryType?t=f.createAsk(t):"DESCRIBE"===e.queryType&&(t=f.createDescribe(t,o)),(r.offset||r.limit)&&(t=f.createSlice(t,r.offset||0,r.limit)),r.from&&(t=f.createFrom(t,r.from.default,r.from.named)),t}(e,n)):"update"===e.type&&(n=1===(i=e).updates.length?C(i.updates[0]):f.createCompositeUpdate(i.updates.map(C))),r&&(n=k(n)),n}function _(e){return Boolean(null==e?void 0:e.termType)}function v(e){return"Variable"===(null==e?void 0:e.termType)}function w(e){if(_(e))v(e)&&y.add(`?${e.value}`);else if(Array.isArray(e))for(const t of e)w(t);else if(e&&"object"==typeof e)for(let t of Object.keys(e))t.startsWith("?")&&y.add(t),w(e[t])}function S(e){let t={};if((r=e).subject&&r.predicate&&r.object){const r=[S(e.subject),S(e.predicate),S(e.object),e.graph?S(e.graph):{}];Object.assign(t,...r)}else if(_(e))v(e)&&(t[e.value]=e);else if("bgp"===e.type){const r=e.triples;Object.assign(t,...r.map(S))}else if("path"===e.type)Object.assign(t,...e.items.map(S));else if("group"===e.type||"union"===e.type||"optional"===e.type)Object.assign(t,...e.patterns.map(S));else if("service"===e.type||"graph"===e.type)Object.assign(t,S(e.name)),Object.assign(t,...e.patterns.map(S));else if("bind"===e.type)Object.assign(t,S(e.variable));else if("values"===e.type){if(e.values.length>0){const r=Object.keys(e.values[0]).map((e=>f.createTerm(e)));Object.assign(t,...r.map(S))}}else if("query"===e.type&&("SELECT"===e.queryType||"DESCRIBE"===e.queryType)){e.where&&e.variables.some(d.default.isWildcard)&&Object.assign(t,...e.where.map(S));for(const r of e.variables)v(r)?Object.assign(t,S(r)):r.variable&&Object.assign(t,S(r.variable));if("SELECT"===e.queryType){if(e.group)for(const r of e.group)r.variable&&Object.assign(t,S(r.variable));if(e.values){const r={type:"values",values:e.values};Object.assign(t,S(r))}}}var r;return t}function E(e){if("bgp"===e.type)return function(e){let t=[],r=[];for(let i of e.triples)if("pathType"in i.predicate){let e=x((n=i).subject,O(n.predicate),n.object);for(let n of e)n.type===h.PATH?(t.length>0&&r.push(f.createBgp(t)),t=[],r.push(n)):t.push(n)}else t.push(I(i));var n;return t.length>0&&r.push(f.createBgp(t)),1===r.length?r[0]:f.createJoin(r)}(e);if("union"===e.type)return f.createUnion(e.patterns.map((e=>("group"!==e.type&&(e={type:"group",patterns:[e]}),E(e)))));if("graph"===e.type){let t=E({type:"group",patterns:e.patterns});return t=m?P(t,e.name):f.createGraph(t,e.name),t}if("values"===e.type)return N(e);if("query"===e.type)return b(e,m,!1);if("group"===e.type){let t=[],r=[];for(let n of e.patterns)("filter"===n.type?t:r).push(n);let n=r.reduce(F,f.createBgp([])),i=t.map((e=>T(e.expression)));return i.length>0&&(n=f.createFilter(n,i.reduce(((e,t)=>f.createOperatorExpression("&&",[e,t]))))),n}throw new Error(`Unexpected type: ${e.type}`)}function T(e){if(d.default.isSimpleTerm(e))return f.createTermExpression(e);if(d.default.isQuad(e))return d.default.hasQuadVariables(e)?f.createOperatorExpression("triple",[T(e.subject),T(e.predicate),T(e.object)]):f.createTermExpression(e);if(d.default.isWildcard(e))return f.createWildcardExpression();if("aggregation"in e)return f.createAggregateExpression(e.aggregation,T(e.expression),Boolean(e.distinct),e.separator);if("function"in e)return f.createNamedExpression(e.function,e.args.map(T));if("operator"in e)return"exists"===e.operator||"notexists"===e.operator?f.createExistenceExpression("notexists"===e.operator,E(e.args[0])):("in"!==e.operator&&"notin"!==e.operator||(e.args=[e.args[0]].concat(e.args[1])),f.createOperatorExpression(e.operator,e.args.map(T)));throw new Error(`Unknown expression: ${JSON.stringify(e)}`)}function O(e){if(d.default.isSimpleTerm(e)){if("NamedNode"===e.termType)return f.createLink(e);throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(e)}`)}if("^"===e.pathType)return f.createInv(O(e.items[0]));if("!"===e.pathType){let t,r=[],n=[];t="pathType"in e.items[0]&&"|"===e.items[0].pathType?e.items[0].items:e.items;for(let e of t)if(d.default.isSimpleTerm(e))r.push(e);else{if("^"!==e.pathType)throw new Error(`Unexpected item: ${JSON.stringify(e)}`);n.push(e.items[0])}let i=f.createNps(r),o=f.createInv(f.createNps(n));return 0===n.length?i:0===r.length?o:f.createAlt([i,o])}if("/"===e.pathType)return f.createSeq(e.items.map(O));if("|"===e.pathType)return f.createAlt(e.items.map(O));if("*"===e.pathType)return f.createZeroOrMorePath(O(e.items[0]));if("+"===e.pathType)return f.createOneOrMorePath(O(e.items[0]));if("?"===e.pathType)return f.createZeroOrOnePath(O(e.items[0]));throw new Error(`Unable to translate path expression ${JSON.stringify(e)}`)}function x(e,t,r){if(t.type===h.LINK)return[f.createPattern(e,t.iri,r)];if(t.type===h.INV)return x(r,t.path,e);if(t.type===h.SEQ){let n=e;return d.default.flatten(t.input.map(((e,i)=>{const o=i===t.input.length-1?r:A(),a=x(n,e,o);return"Variable"===o.termType&&(n=o),a})))}return[f.createPath(e,t,r)]}function A(){let e="?var"+g++;return y.has(e)?A():(y.add(e),f.createTerm(e))}function I(e){if("pathType"in e.predicate)throw new Error("Trying to translate property path to quad.");return f.createPattern(e.subject,e.predicate,e.object,e.graph)}t.default=function(e,t){let r;if(t=t||{},f=new l.default(t.dataFactory),"string"==typeof e){let n=new p(t);n._resetBlanks(),r=n.parse(e)}else r=e;return b(r,t.quads,t.blankToVariable)};let R=Object.values(h);function P(e,t,r){if(e.type===h.GRAPH){if(r)throw new Error("Recursing through nested GRAPH statements with a replacement is impossible.");e=P(e.input,e.name)}else if(e.type===h.SERVICE);else if(e.type===h.BGP)e.patterns=e.patterns.map((e=>(r&&(e.subject.equals(t)&&(e.subject=r),e.predicate.equals(t)&&(e.predicate=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t),e)));else if(e.type===h.PATH)r&&(e.subject.equals(t)&&(e.subject=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t);else if(e.type!==h.PROJECT||r)if(e.type!==h.EXTEND||r)for(let n of Object.keys(e))Array.isArray(e[n])?e[n]=e[n].map((e=>P(e,t,r))):R.indexOf(e[n].type)>=0?e[n]=P(e[n],t,r):r&&v(e[n])&&e[n].equals(t)&&(e[n]=r);else e.variable.equals(t)&&(r=A()),e.input=P(e.input,t,r);else e.variables.some((e=>e.equals(t)))||(r=A()),e.input=P(e.input,t,r);return e}function F(e,t){if("optional"===t.type){const r=E({type:"group",patterns:t.patterns});e=r.type===h.FILTER?f.createLeftJoin(e,r.input,r.expression):f.createLeftJoin(e,r)}else if("minus"===t.type){const r=E({type:"group",patterns:t.patterns});e=f.createMinus(e,r)}else if("bind"===t.type)e=f.createExtend(e,t.variable,T(t.expression));else if("service"===t.type){const r={type:"group",patterns:t.patterns};e=D(e,f.createService(E(r),t.name,t.silent))}else e=D(e,E(t));return e}function D(e,t){return e.type===h.BGP&&t.type===h.BGP?e=f.createBgp([...e.patterns,...t.patterns]):e.type===h.BGP&&0===e.patterns.length?e=t:t.type===h.BGP&&0===t.patterns.length||(e=f.createJoin([e,t])),e}function N(e){let t=(0===e.values.length?[]:Object.keys(e.values[0])).map(f.createTerm.bind(f)),r=e.values.map((e=>{let t=Object.keys(e);t=t.filter((t=>void 0!==e[t]));let r={};for(let n of t)r[n]=e[n];return r}));return f.createValues(t,r)}function j(e,t){if("type"in e&&"aggregate"===e.type){let r,n=!1;for(let i of Object.keys(t))if(s(t[i],e)){r=f.createTerm(i),n=!0;break}return n||(r=A(),t[(0,c.termToString)(r)]=e),r}return"expression"in e&&e.expression?{...e,expression:j(e.expression,t)}:"args"in e&&e.args?{...e,args:e.args.map((e=>j(e,t)))}:e}function C(e){if("type"in e){if("load"===e.type)return function(e){return f.createLoad(e.source,e.destination,e.silent)}(e);if("clear"===e.type||"create"===e.type||"drop"===e.type)return function(e){let t;switch(t=d.default.isSimpleTerm(e.graph)?e.graph:e.graph.all?"ALL":e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.name,e.type){case"clear":return f.createClear(t,e.silent);case"create":return f.createCreate(t,e.silent);case"drop":return f.createDrop(t,e.silent)}}(e);if("add"===e.type||"copy"===e.type||"move"===e.type)return function(e){const t=e.source.default?"DEFAULT":e.source.name,r=e.destination.default?"DEFAULT":e.destination.name;switch(e.type){case"copy":return f.createCopy(t,r,e.silent);case"move":return f.createMove(t,r,e.silent);case"add":return f.createAdd(t,r,e.silent)}}(e)}else if("insertdelete"===e.updateType||"deletewhere"===e.updateType||"delete"===e.updateType||"insert"===e.updateType)return function(e){if(!m)throw new Error("INSERT/DELETE operations are only supported with quads option enabled");let t,r=[],n=[];if(e.delete&&(r=d.default.flatten(e.delete.map((t=>M(t,e.graph))))),e.insert&&(n=d.default.flatten(e.insert.map((t=>M(t,e.graph))))),e.where&&e.where.length>0){t=E({type:"group",patterns:e.where});const r=e.using;r?t=f.createFrom(t,r.default,r.named):e.graph&&(t=P(t,e.graph))}else"deletewhere"===e.updateType&&r.length>0&&(t=f.createBgp(r));return f.createDeleteInsert(r.length>0?r:void 0,n.length>0?n:void 0,t)}(e);throw new Error(`Unknown update type ${JSON.stringify(e)}`)}function M(e,t){let r=t;"graph"===e.type&&(r=e.name);let n=e.triples;return r&&(n=n.map((e=>Object.assign(e,{graph:r})))),n.map(I)}function k(e){const t={},r=Array.from(y).reduce(((e,t)=>(e[t]=!0,e)),{});return d.default.mapOperation(e,{[u.types.DELETE_INSERT]:e=>({result:e,recurse:!1}),[u.types.PATH]:(e,t)=>({result:t.createPath(n(e.subject),e.predicate,n(e.object),n(e.graph)),recurse:!1}),[u.types.PATTERN]:(e,t)=>({result:t.createPattern(n(e.subject),n(e.predicate),n(e.object),n(e.graph)),recurse:!1}),[u.types.CONSTRUCT]:e=>({result:f.createConstruct(k(e.input),e.template),recurse:!1})});function n(e){if("BlankNode"===e.termType){let n=t[e.value];return n||(n=d.default.createUniqueVariable(e.value,r,f.dataFactory),r[n.value]=!0,t[e.value]=n),n}return e}}},43122:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(7756),o=n(r(35798)),a=r(3285);class s{static flatten(e){return Array.prototype.concat(...e).filter((e=>e))}static objectify(e){if(e.termType){if("Quad"===e.termType)return{type:"pattern",termType:"Quad",subject:s.objectify(e.subject),predicate:s.objectify(e.predicate),object:s.objectify(e.object),graph:s.objectify(e.graph)};{let t={termType:e.termType,value:e.value};return e.language&&(t.language=e.language),e.datatype&&(t.datatype=s.objectify(e.datatype)),t}}if(Array.isArray(e))return e.map((e=>s.objectify(e)));if(e===Object(e)){let t={};for(let r of Object.keys(e))t[r]=s.objectify(e[r]);return t}return e}static inScopeVariables(e){const t=[];function r(e){t.find((t=>e.value===t.value))||t.push(e)}function n(e){"Variable"===e.subject.termType&&r(e.subject),"Variable"===e.predicate.termType&&r(e.predicate),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.predicate.termType&&n(e.predicate),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph)}return s.recurseOperation(e,{[i.types.EXPRESSION]:e=>(e.expressionType===i.expressionTypes.AGGREGATE&&e.variable&&r(e.variable),!0),[i.types.EXTEND]:e=>(r(e.variable),!0),[i.types.GRAPH]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.GROUP]:e=>(e.variables.forEach(r),!0),[i.types.PATH]:e=>("Variable"===e.subject.termType&&r(e.subject),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph),!0),[i.types.PATTERN]:e=>(n(e),!0),[i.types.PROJECT]:e=>(e.variables.forEach(r),!1),[i.types.SERVICE]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.VALUES]:e=>(e.variables.forEach(r),!0)}),t}static recurseOperation(e,t){let r=e,n=!0;const o=t[e.type];if(o&&(n=o(e)),!n)return;let a=e=>s.recurseOperation(e,t);switch(r.type){case i.types.ALT:r.input.map(a);break;case i.types.ASK:a(r.input);break;case i.types.BGP:r.patterns.forEach(a);break;case i.types.CONSTRUCT:a(r.input),r.template.map(a);break;case i.types.DESCRIBE:case i.types.DISTINCT:a(r.input);break;case i.types.EXPRESSION:r.expressionType===i.expressionTypes.EXISTENCE&&a(r.input);break;case i.types.EXTEND:case i.types.FILTER:a(r.input),a(r.expression);break;case i.types.FROM:case i.types.GRAPH:a(r.input);break;case i.types.GROUP:a(r.input),r.aggregates.forEach(a);break;case i.types.INV:a(r.path);break;case i.types.JOIN:r.input.map(a);break;case i.types.LEFT_JOIN:r.input.map(a),r.expression&&a(r.expression);break;case i.types.LINK:break;case i.types.MINUS:r.input.map(a);break;case i.types.NOP:case i.types.NPS:break;case i.types.ONE_OR_MORE_PATH:a(r.path);break;case i.types.ORDER_BY:a(r.input),r.expressions.forEach(a);break;case i.types.PATH:a(r.predicate);break;case i.types.PATTERN:break;case i.types.PROJECT:case i.types.REDUCED:a(r.input);break;case i.types.SEQ:r.input.map(a);break;case i.types.SERVICE:case i.types.SLICE:a(r.input);break;case i.types.UNION:r.input.map(a);break;case i.types.VALUES:break;case i.types.ZERO_OR_MORE_PATH:case i.types.ZERO_OR_ONE_PATH:a(r.path);break;case i.types.COMPOSITE_UPDATE:r.updates.forEach((e=>a(e)));break;case i.types.DELETE_INSERT:r.delete&&r.delete.forEach((e=>a(e))),r.insert&&r.insert.forEach((e=>a(e))),r.where&&a(r.where);break;case i.types.LOAD:case i.types.CLEAR:case i.types.CREATE:case i.types.DROP:case i.types.ADD:case i.types.MOVE:case i.types.COPY:break;default:throw new Error(`Unknown Operation type ${r.type}`)}}static mapOperation(e,t,r){let n=e,a=!0,c=!0;r=r||new o.default;const u=t[e.type];if(u){const t=u(e,r);n=t.result,a=t.recurse,c=!1!==t.copyMetadata}let l;if(c&&(n.metadata||e.metadata)&&(l={...n.metadata,...e.metadata}),!a)return l&&(n.metadata=l),n;let d=e=>s.mapOperation(e,t,r);switch(n.type){case i.types.ALT:n=r.createAlt(n.input.map(d));break;case i.types.ASK:n=r.createAsk(d(n.input));break;case i.types.BGP:n=r.createBgp(n.patterns.map(d));break;case i.types.CONSTRUCT:n=r.createConstruct(d(n.input),n.template.map(d));break;case i.types.DESCRIBE:n=r.createDescribe(d(n.input),n.terms);break;case i.types.DISTINCT:n=r.createDistinct(d(n.input));break;case i.types.EXPRESSION:n=s.mapExpression(n,t,r);break;case i.types.EXTEND:n=r.createExtend(d(n.input),n.variable,d(n.expression));break;case i.types.FILTER:n=r.createFilter(d(n.input),d(n.expression));break;case i.types.FROM:n=r.createFrom(d(n.input),[...n.default],[...n.named]);break;case i.types.GRAPH:n=r.createGraph(d(n.input),n.name);break;case i.types.GROUP:n=r.createGroup(d(n.input),[].concat(n.variables),n.aggregates.map(d));break;case i.types.INV:n=r.createInv(d(n.path));break;case i.types.JOIN:n=r.createJoin(n.input.map(d));break;case i.types.LEFT_JOIN:n=r.createLeftJoin(d(n.input[0]),d(n.input[1]),n.expression?d(n.expression):void 0);break;case i.types.LINK:n=r.createLink(n.iri);break;case i.types.MINUS:n=r.createMinus(d(n.input[0]),d(n.input[1]));break;case i.types.NOP:n=r.createNop();break;case i.types.NPS:n=r.createNps([].concat(n.iris));break;case i.types.ONE_OR_MORE_PATH:n=r.createOneOrMorePath(d(n.path));break;case i.types.ORDER_BY:n=r.createOrderBy(d(n.input),n.expressions.map(d));break;case i.types.PATH:n=r.createPath(n.subject,d(n.predicate),n.object,n.graph);break;case i.types.PATTERN:n=r.createPattern(n.subject,n.predicate,n.object,n.graph);break;case i.types.PROJECT:n=r.createProject(d(n.input),[...n.variables]);break;case i.types.REDUCED:n=r.createReduced(d(n.input));break;case i.types.SEQ:n=r.createSeq(n.input.map(d));break;case i.types.SERVICE:n=r.createService(d(n.input),n.name,n.silent);break;case i.types.SLICE:n=r.createSlice(d(n.input),n.start,n.length);break;case i.types.UNION:n=r.createUnion(n.input.map(d));break;case i.types.VALUES:n=r.createValues([].concat(n.variables),n.bindings.map((e=>Object.assign({},e))));break;case i.types.ZERO_OR_MORE_PATH:n=r.createZeroOrMorePath(d(n.path));break;case i.types.ZERO_OR_ONE_PATH:n=r.createZeroOrOnePath(d(n.path));break;case i.types.COMPOSITE_UPDATE:n=r.createCompositeUpdate(n.updates.map(d));break;case i.types.DELETE_INSERT:n=r.createDeleteInsert(n.delete?n.delete.map(d):void 0,n.insert?n.insert.map(d):void 0,n.where?d(n.where):void 0);break;case i.types.LOAD:n=r.createLoad(n.source,n.destination,n.silent);break;case i.types.CLEAR:n=r.createClear(n.source,n.silent);break;case i.types.CREATE:n=r.createCreate(n.source,n.silent);break;case i.types.DROP:n=r.createDrop(n.source,n.silent);break;case i.types.ADD:n=r.createAdd(n.source,n.destination);break;case i.types.MOVE:n=r.createMove(n.source,n.destination);break;case i.types.COPY:n=r.createCopy(n.source,n.destination);break;default:throw new Error(`Unknown Operation type ${n.type}`)}return l&&(n.metadata=l),n}static mapExpression(e,t,r){let n=e,a=!0;r=r||new o.default;const c=t[e.expressionType];if(c&&({result:n,recurse:a}=c(e,r)),!a)return n;let u=e=>s.mapOperation(e,t,r);switch(e.expressionType){case i.expressionTypes.AGGREGATE:return e.variable?r.createBoundAggregate(e.variable,e.aggregator,u(e.expression),e.distinct,e.separator):r.createAggregateExpression(e.aggregator,u(e.expression),e.distinct,e.separator);case i.expressionTypes.EXISTENCE:return r.createExistenceExpression(e.not,u(e.input));case i.expressionTypes.NAMED:return r.createNamedExpression(e.name,e.args.map(u));case i.expressionTypes.OPERATOR:return r.createOperatorExpression(e.operator,e.args.map(u));case i.expressionTypes.TERM:return r.createTermExpression(e.term);case i.expressionTypes.WILDCARD:return r.createWildcardExpression();default:throw new Error(`Unknown Expression type ${e.expressionType}`)}}static cloneOperation(e){return s.mapOperation(e,{})}static cloneExpression(e){return s.mapExpression(e,{})}static createUniqueVariable(e,t,r){let n=0,i=e;for(;t[i];)i=`${e}${n++}`;return r.variable(i)}static isSimpleTerm(e){return void 0!==e.termType&&"Quad"!==e.termType&&"Wildcard"!==e.termType}static isQuad(e){return"Quad"===e.termType}static hasQuadVariables(e){return(0,a.someTermsNested)(e,(e=>"Variable"===e.termType))}static isWildcard(e){return"Wildcard"===e.termType}}t.default=s},50776:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryGroupConcat=void 0;const n=r(86581),i=r(90711),o=r(90412),a=r(52573);class s extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"group_concat"!==e.expr.aggregator?(0,o.failTest)("This actor only supports the 'group_concat' aggregator."):(0,o.passTestVoid)()}async run({context:e,expr:t}){return new a.GroupConcatAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct,e.getSafe(i.KeysInitQuery.dataFactory),t.separator)}}t.ActorBindingsAggregatorFactoryGroupConcat=s},52573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GroupConcatAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r,n,i){super(e,t,i),this.dataFactory=r,this.state=void 0,this.lastLanguageValid=!0,this.lastLanguage=void 0,this.separator=n??" "}emptyValueTerm(){return i.typedLiteral("",i.TypeURL.XSD_STRING)}putTerm(e){void 0===this.state?(this.state=e.value,"Literal"===e.termType&&(this.lastLanguage=e.language)):(this.state+=this.separator+e.value,this.lastLanguageValid&&"Literal"===e.termType&&this.lastLanguage!==e.language&&(this.lastLanguageValid=!1,this.lastLanguage=void 0))}termResult(){return void 0===this.state?this.emptyValue():this.lastLanguageValid&&this.lastLanguage?i.langString(this.state,this.lastLanguage).toRDF(this.dataFactory):i.typedLiteral(this.state,i.TypeURL.XSD_STRING)}}t.GroupConcatAggregator=o},37779:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50776),t),i(r(52573),t)},58959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryMax=void 0;const n=r(86581),i=r(90412),o=r(7394);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorTermComparatorFactory=e.mediatorTermComparatorFactory}async test(e){return"max"!==e.expr.aggregator?(0,i.failTest)("This actor only supports the 'max' aggregator."):(0,i.passTestVoid)()}async run({expr:e,context:t}){return new o.MaxAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),e.distinct,await this.mediatorTermComparatorFactory.mediate({context:t}))}}t.ActorBindingsAggregatorFactoryMax=a},7394:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MaxAggregator=void 0;const n=r(86581);class i extends n.AggregateEvaluator{constructor(e,t,r,n){super(e,t,n),this.orderByEvaluator=r,this.state=void 0}putTerm(e){if("Literal"!==e.termType)throw new Error(`Term with value ${e.value} has type ${e.termType} and is not a literal`);(void 0===this.state||-1===this.orderByEvaluator.orderTypes(this.state,e))&&(this.state=e)}termResult(){return void 0===this.state?this.emptyValue():this.state}}t.MaxAggregator=i},51237:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(58959),t),i(r(7394),t)},13903:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryMin=void 0;const n=r(86581),i=r(90412),o=r(7178);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorTermComparatorFactory=e.mediatorTermComparatorFactory}async test(e){return"min"!==e.expr.aggregator?(0,i.failTest)("This actor only supports the 'min' aggregator."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new o.MinAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct,await this.mediatorTermComparatorFactory.mediate({context:e}))}}t.ActorBindingsAggregatorFactoryMin=a},7178:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MinAggregator=void 0;const n=r(86581);class i extends n.AggregateEvaluator{constructor(e,t,r,n){super(e,t,n),this.orderByEvaluator=r,this.state=void 0}putTerm(e){if("Literal"!==e.termType)throw new Error(`Term with value ${e.value} has type ${e.termType} and is not a literal`);(void 0===this.state||1===this.orderByEvaluator.orderTypes(this.state,e))&&(this.state=e)}termResult(){return void 0===this.state?this.emptyValue():this.state}}t.MinAggregator=i},13847:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13903),t),i(r(7178),t)},30785:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactorySample=void 0;const n=r(86581),i=r(90412),o=r(71932);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"sample"!==e.expr.aggregator?(0,i.failTest)("This actor only supports the 'sample' aggregator."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new o.SampleAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct)}}t.ActorBindingsAggregatorFactorySample=a},71932:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SampleAggregator=void 0;const n=r(86581);class i extends n.AggregateEvaluator{constructor(e,t,r){super(e,t,r),this.state=void 0}putTerm(e){void 0===this.state&&(this.state=e)}termResult(){return void 0===this.state?this.emptyValue():this.state}}t.SampleAggregator=i},71271:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30785),t),i(r(71932),t)},20935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactorySum=void 0;const n=r(86581),i=r(90711),o=r(90412),a=r(77545),s=r(77866);class c extends n.ActorBindingsAggregatorFactory{constructor(e){super(e),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async test(e){return"sum"!==e.expr.aggregator?(0,o.failTest)("This actor only supports the 'sum' aggregator."):(0,o.passTestVoid)()}async run({expr:e,context:t}){return new s.SumAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),e.distinct,t.getSafe(i.KeysInitQuery.dataFactory),await this.mediatorFunctionFactory.mediate({functionName:a.SparqlOperator.ADDITION,context:t,requireTermExpression:!0}))}}t.ActorBindingsAggregatorFactorySum=c},77866:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SumAggregator=void 0;const n=r(86581),i=r(77545);class o extends n.AggregateEvaluator{constructor(e,t,r,n,i){super(e,t,i),this.dataFactory=r,this.additionFunction=n,this.state=void 0}emptyValueTerm(){return(0,i.typedLiteral)("0",i.TypeURL.XSD_INTEGER)}putTerm(e){if(void 0===this.state)this.state=this.termToNumericOrError(e);else{const t=this.termToNumericOrError(e);this.state=this.additionFunction.applyOnTerms([this.state,t],this.evaluator)}}termResult(){return void 0===this.state?this.emptyValue():this.state.toRDF(this.dataFactory)}}t.SumAggregator=o},26568:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20935),t),i(r(77866),t)},38020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactoryWildcardCount=void 0;const n=r(86581),i=r(90412),o=r(60801);class a extends n.ActorBindingsAggregatorFactory{constructor(e){super(e)}async test(e){return"count"!==e.expr.aggregator||"wildcard"!==e.expr.expression.expressionType?(0,i.failTest)("This actor only supports the 'count' aggregator with wildcard."):(0,i.passTestVoid)()}async run({context:e,expr:t}){return new o.WildcardCountAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:t.expression,context:e}),t.distinct)}}t.ActorBindingsAggregatorFactoryWildcardCount=a},60801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WildcardCountAggregator=void 0;const n=r(86581),i=r(77545),o=r(43347);class a extends n.AggregateEvaluator{constructor(e,t,r){super(e,t,r),this.bindingValues=new Map,this.state=void 0}putTerm(e){}async putBindings(e){this.handleDistinct(e)||(void 0===this.state&&(this.state=0),this.state+=1)}emptyValueTerm(){return(0,i.typedLiteral)("0",i.TypeURL.XSD_INTEGER)}termResult(){return void 0===this.state?this.emptyValue():(0,i.typedLiteral)(String(this.state),i.TypeURL.XSD_INTEGER)}handleDistinct(e){if(this.distinct){const t=[...e];t.sort(((e,t)=>e[0].value.localeCompare(t[0].value)));const r=t.map((([e])=>e.value)).join(","),n=t.map((([,e])=>o.termToString(e))).join(","),i=this.bindingValues.get(r),a=void 0!==i&&i.has(n);return i||this.bindingValues.set(r,new Set),this.bindingValues.get(r).add(n),a}return!1}}t.WildcardCountAggregator=a},20489:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38020),t),i(r(60801),t)},72243:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessConvertShortcuts=void 0;const n=r(98926),i=r(90412);class o extends n.ActorContextPreprocess{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{context:o.expandShortcuts(e.context,this.contextKeyShortcuts)}}static expandShortcuts(e,t){for(const r of e.keys())t[r.name]&&(e=e.set(new i.ActionContextKey(t[r.name]),e.get(r)).delete(r));return e}}t.ActorContextPreprocessConvertShortcuts=o},71871:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(72243),t)},90284:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessQuerySourceIdentify=void 0;const n=r(98926),i=r(90711),o=r(90412),a=r(89096);class s extends n.ActorContextPreprocess{constructor(e){super(e),this.cache=this.cacheSize?new a.LRUCache({max:this.cacheSize}):void 0;const t=this.cache;t&&this.httpInvalidator.addInvalidateListener((({url:e})=>e?t.delete(e):t.clear()))}async test(e){return(0,o.passTestVoid)()}async run(e){let t=e.context;if(t.has(i.KeysInitQuery.querySourcesUnidentified)){const r=e.context.get(i.KeysInitQuery.querySourcesUnidentified),n=await Promise.all(r.map((e=>this.expandSource(e)))),o=await Promise.all(n.map((async t=>this.identifySource(t,e.context)))),a=e.context.get(i.KeysStatistics.dereferencedLinks);if(a)for(const e of o)a.updateStatistic({url:e.source.referenceValue,metadata:{seed:!0}},e.source);t=e.context.delete(i.KeysInitQuery.querySourcesUnidentified).set(i.KeysQueryOperation.querySources,o)}return{context:t}}async expandSource(e){return"string"==typeof e||"match"in e?{value:e}:{...e,context:(await this.mediatorContextPreprocess.mediate({context:o.ActionContext.ensureActionContext(e.context??{})})).context}}identifySource(e,t){let r;return"string"==typeof e.value&&this.cache&&(r=this.cache.get(e.value)),r||(r=this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:e,context:t}).then((({querySource:e})=>e)),"string"==typeof e.value&&this.cache&&this.cache.set(e.value,r)),r}}t.ActorContextPreprocessQuerySourceIdentify=s},38235:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(90284),t)},17426:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessQuerySourceSkolemize=void 0;const n=r(98926),i=r(90711),o=r(90412),a=r(3898),s=r(28703);class c extends n.ActorContextPreprocess{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){let t=e.context;if(t.has(i.KeysQueryOperation.querySources)){t.has(i.KeysQuerySourceIdentify.sourceIds)||(t=t.set(i.KeysQuerySourceIdentify.sourceIds,new Map));const e=t.getSafe(i.KeysQuerySourceIdentify.sourceIds);let r=t.getSafe(i.KeysQueryOperation.querySources);r=r.map((t=>({source:new a.QuerySourceSkolemized(t.source,(0,s.getSourceId)(e,t.source)),context:t.context}))),t=t.set(i.KeysQueryOperation.querySources,r)}return{context:t}}}t.ActorContextPreprocessQuerySourceSkolemize=c},3898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceSkolemized=void 0;const n=r(90711),i=r(99214),o=r(75627),a=r(28703);t.QuerySourceSkolemized=class{constructor(e,t){this.innerSource=e,this.sourceId=t}async getSelectorShape(e){return this.innerSource.getSelectorShape(e)}queryBindings(e,t,r){const s=t.getSafe(n.KeysInitQuery.dataFactory),c=(0,a.deskolemizeOperation)(s,e,this.sourceId);if(!c){const e=new o.ArrayIterator([],{autoStart:!1});return e.setProperty("metadata",{state:new i.MetadataValidationState,cardinality:{type:"exact",value:0},variables:[]}),e}return(0,a.skolemizeBindingsStream)(s,this.innerSource.queryBindings(c,t,r),this.sourceId)}queryBoolean(e,t){return this.innerSource.queryBoolean(e,t)}queryQuads(e,t){const r=t.getSafe(n.KeysInitQuery.dataFactory),s=(0,a.deskolemizeOperation)(r,e,this.sourceId);if(!s){const e=new o.ArrayIterator([],{autoStart:!1});return e.setProperty("metadata",{state:new i.MetadataValidationState,cardinality:{type:"exact",value:0}}),e}return(0,a.skolemizeQuadStream)(r,this.innerSource.queryQuads(s,t),this.sourceId)}queryVoid(e,t){return this.innerSource.queryVoid(e,t)}get referenceValue(){return this.innerSource.referenceValue}toString(){return`${this.innerSource.toString()}(SkolemID:${this.sourceId})`}}},21806:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17426),t),i(r(3898),t),i(r(28703),t)},28703:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deskolemizeOperation=t.deskolemizeQuad=t.deskolemizeTermNestedThrowing=t.deskolemizeTerm=t.skolemizeBindingsStream=t.skolemizeQuadStream=t.skolemizeBindings=t.skolemizeQuad=t.skolemizeTerm=t.getSourceId=t.SKOLEM_PREFIX=void 0;const n=r(51296),i=r(3285),o=r(96331);function a(e,r,i){return"BlankNode"===r.termType?new n.BlankNodeScoped(`bc_${i}_${r.value}`,e.namedNode(`${t.SKOLEM_PREFIX}${i}:${r.value}`)):r}function s(e,t,r){return(0,i.mapTermsNested)(t,(t=>a(e,t,r)))}function c(e,t,r){return t.map((t=>"Quad"===t.termType?s(e,t,r):a(e,t,r)))}function u(e,r,n){if("BlankNode"===r.termType&&"skolemized"in r&&(r=r.skolemized),"NamedNode"===r.termType&&r.value.startsWith(t.SKOLEM_PREFIX)){const i=r.value.indexOf(":",t.SKOLEM_PREFIX.length);if(r.value.slice(t.SKOLEM_PREFIX.length,i)===n){const t=r.value.slice(i+1,r.value.length);return e.blankNode(t)}return null}return r}function l(e,t,r){if("Quad"===t.termType)return(0,i.mapTermsNested)(t,(t=>{const n=u(e,t,r);if(!n)throw new Error("Skolemized term is not in scope for this source");return n}));const n=u(e,t,r);if(null===n)throw new Error("Skolemized term is not in scope for this source");return n}t.SKOLEM_PREFIX="urn:comunica_skolem:source_",t.getSourceId=function(e,t){let r=e.get(t.referenceValue);return void 0===r&&(r=`${e.size}`,e.set(t.referenceValue,r)),r},t.skolemizeTerm=a,t.skolemizeQuad=s,t.skolemizeBindings=c,t.skolemizeQuadStream=function(e,t,r){const n=t.map((t=>s(e,t,r)));return function e(){t.getProperty("metadata",(t=>{n.setProperty("metadata",t),t.state.addInvalidateListener(e)}))}(),n},t.skolemizeBindingsStream=function(e,t,r){const n=t.map((t=>c(e,t,r)));return function e(){t.getProperty("metadata",(t=>{n.setProperty("metadata",t),t.state.addInvalidateListener(e)}))}(),n},t.deskolemizeTerm=u,t.deskolemizeTermNestedThrowing=l,t.deskolemizeQuad=function(e,t,r){return(0,i.mapTermsNested)(t,(t=>u(e,t,r)??t))},t.deskolemizeOperation=function(e,t,r){const n=new o.Factory;try{return o.Util.mapOperation(t,{[o.Algebra.types.PATTERN]:(t,n)=>({result:Object.assign(n.createPattern(l(e,t.subject,r),l(e,t.predicate,r),l(e,t.object,r),l(e,t.graph,r)),{metadata:t.metadata}),recurse:!1}),[o.Algebra.types.PATH]:(t,n)=>({result:Object.assign(n.createPath(l(e,t.subject,r),t.predicate,l(e,t.object,r),l(e,t.graph,r)),{metadata:t.metadata}),recurse:!1})},n)}catch{}}},78867:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessSetDefaults=void 0;const n=r(98926),i=r(90711),o=r(90412),a=r(47793);class s extends n.ActorContextPreprocess{constructor(e){super(e),this.defaultFunctionArgumentsCache={}}async test(e){return(0,o.passTestVoid)()}async run(e){let t=e.context;if(e.initialize){t=t.setDefault(i.KeysInitQuery.queryTimestamp,new Date).setDefault(i.KeysInitQuery.queryTimestampHighResolution,performance.now()).setDefault(i.KeysQuerySourceIdentify.sourceIds,new Map).setDefault(i.KeysCore.log,this.logger).setDefault(i.KeysInitQuery.functionArgumentsCache,this.defaultFunctionArgumentsCache).setDefault(i.KeysQuerySourceIdentify.hypermediaSourcesAggregatedStores,new Map).setDefault(i.KeysInitQuery.dataFactory,new a.DataFactory);let e={language:"sparql",version:"1.1"};t.has(i.KeysInitQuery.queryFormat)?(e=t.get(i.KeysInitQuery.queryFormat),"graphql"===e.language&&(t=t.setDefault(i.KeysInitQuery.graphqlSingularizeVariables,{}))):t=t.set(i.KeysInitQuery.queryFormat,e)}return{context:t}}}t.ActorContextPreprocessSetDefaults=s},10607:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(78867),t)},36356:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocessSourceToDestination=void 0;const n=r(98926),i=r(90711),o=r(90412);class a extends n.ActorContextPreprocess{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){if(e.context.get(i.KeysInitQuery.querySourcesUnidentified)&&!e.context.get(i.KeysRdfUpdateQuads.destination)){const t=e.context.get(i.KeysInitQuery.querySourcesUnidentified);if(1===t.length)return{context:e.context.set(i.KeysRdfUpdateQuads.destination,t[0])}}return e}}t.ActorContextPreprocessSourceToDestination=a},94410:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36356),t)},10601:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceFallback=void 0;const n=r(42890),i=r(90412);class o extends n.ActorDereference{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return this.handleDereferenceErrors(e,new Error(`Could not dereference '${e.url}'`))}}t.ActorDereferenceFallback=o},67498:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(10601),t)},77772:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceHttp=void 0;const n=r(16524);class i extends n.ActorDereferenceHttpBase{getMaxAcceptHeaderLength(){return this.maxAcceptHeaderLengthBrowser}}t.ActorDereferenceHttp=i},16524:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceHttpBase=t.mediaTypesToAcceptString=void 0;const n=r(42890),i=r(70322),o=r(90412),a=r(52728),s=r(70742),c=/^[^ ;]*/u;function u(e,t){const r=[],n=Object.entries(e).map((([e,t])=>({mediaType:e,priority:t}))).sort(((e,t)=>t.priority===e.priority?e.mediaType.localeCompare(t.mediaType):t.priority-e.priority));let i=n.length-1;for(const{mediaType:e,priority:o}of n){const n=e+(1===o?"":`;q=${o.toFixed(3).replace(/0*$/u,"")}`);if(i+n.length>t){for(;i+9>t;)i-=(r.pop()??"").length+1;r.push("*/*;q=0.1");break}r.push(n),i+=n.length}return 0===r.length?"*/*":r.join(",")}t.mediaTypesToAcceptString=u;class l extends n.ActorDereference{constructor(e){super(e)}async test({url:e}){return/^https?:/u.test(e)?(0,o.passTestVoid)():(0,o.failTest)(`Cannot retrieve ${e} because it is not an HTTP(S) URL.`)}async run(e){let t=!0;const r=new Headers(e.headers);let o;r.append("Accept",u(await(e.mediaTypes?.())??{},this.getMaxAcceptHeaderLength()));const l=Date.now();try{o=await this.mediatorHttp.mediate({context:e.context,init:{headers:r,method:e.method},input:e.url})}catch(t){return this.handleDereferenceErrors(e,t)}const d=(0,s.resolve)(o.url,e.url),p=Date.now()-l;if(200!==o.status){t=!1;const r=o.body?await(0,a.stringify)(i.ActorHttp.toNodeReadable(o.body)):"empty response";if(!e.acceptErrors){const t=new Error(`Could not retrieve ${e.url} (HTTP status ${o.status}):\n${r}`);return this.handleDereferenceErrors(e,t,o.headers,p)}}const h=c.exec(o.headers.get("content-type")??"")?.[0];return{url:d,data:t?i.ActorHttp.toNodeReadable(o.body):(0,n.emptyReadable)(),exists:t,requestTime:p,headers:o.headers,mediaType:"text/plain"===h?void 0:h}}}t.ActorDereferenceHttpBase=l},78e3:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77772),t),i(r(16524),t)},94424:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceRdfParse=void 0;const n=r(86475);class i extends n.ActorDereferenceRdf{constructor(e){super(e)}async getMetadata(e){return{baseIRI:e.url}}}t.ActorDereferenceRdfParse=i},11558:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(94424),t)},47:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorExpressionEvaluatorFactoryDefault=void 0;const n=r(37811),i=r(90711),o=r(90412),a=r(81926),s=r(77545),c=r(96607),u=r(61549);class l extends n.ActorExpressionEvaluatorFactory{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=(0,s.prepareEvaluatorActionContext)(e.context);return new u.ExpressionEvaluator(t,await new c.AlgebraTransformer(t,this.mediatorFunctionFactory).transformAlgebra(e.algExpr),this.mediatorFunctionFactory,this.mediatorQueryOperation,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,e.context.getSafe(i.KeysInitQuery.dataFactory)))}}t.ActorExpressionEvaluatorFactoryDefault=l},96607:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AlgebraTransformer=void 0;const n=r(90711),i=r(77545),o=r(96331);class a extends i.TermTransformer{constructor(e,t){super(e.getSafe(n.KeysExpressionEvaluator.superTypeProvider)),this.context=e,this.mediatorFunctionFactory=t}async transformAlgebra(e){const t=o.Algebra.expressionTypes;switch(e.expressionType){case t.TERM:return this.transformTerm(e);case t.OPERATOR:return await this.transformOperator(e);case t.NAMED:return await this.transformNamed(e);case t.EXISTENCE:return a.transformExistence(e);case t.AGGREGATE:return a.transformAggregate(e);case t.WILDCARD:return a.transformWildcard(e)}}static transformWildcard(e){return new i.NamedNode(e.wildcard.value)}async getOperator(e,t){const r=await this.mediatorFunctionFactory.mediate({functionName:e,arguments:t.args,context:this.context}),n=await Promise.all(t.args.map((e=>this.transformAlgebra(e))));if(!r.checkArity(n))throw new i.InvalidArity(n,e);return new i.Operator(e,n,r.apply)}async transformOperator(e){return this.getOperator(e.operator.toLowerCase(),e)}async transformNamed(e){return this.getOperator(e.name.value,e)}static transformAggregate(e){const t=e.aggregator;return new i.Aggregate(t,e)}static transformExistence(e){return new i.Existence(e)}}t.AlgebraTransformer=a},61549:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionEvaluator=void 0;const n=r(90711),i=r(74448);t.ExpressionEvaluator=class{constructor(e,t,r,n,o){this.context=e,this.expr=t,this.mediatorFunctionFactory=r,this.mediatorQueryOperation=n,this.bindingsFactory=o,this.internalEvaluator=new i.InternalEvaluator(e,r,n,o)}async evaluate(e){return(await this.internalEvaluator.evaluatorExpressionEvaluation(this.expr,e)).toRDF(this.context.getSafe(n.KeysInitQuery.dataFactory))}async evaluateAsEBV(e){return(await this.internalEvaluator.evaluatorExpressionEvaluation(this.expr,e)).coerceEBV()}evaluateAsEvaluatorExpression(e){return this.evaluatorExpressionEvaluation(this.expr,e)}evaluatorExpressionEvaluation(e,t){return this.internalEvaluator.evaluatorExpressionEvaluation(e,t)}}},74448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InternalEvaluator=void 0;const n=r(90711),i=r(42996),o=r(77545),a=r(67021),s=r(96331),c=r(96607);t.InternalEvaluator=class{constructor(e,t,r,n){this.context=e,this.mediatorQueryOperation=r,this.bindingsFactory=n,this.subEvaluators={[i.ExpressionType.Term]:(e,t)=>this.term(e),[i.ExpressionType.Variable]:(e,t)=>this.variable(e,t),[i.ExpressionType.Operator]:(e,t)=>this.evalFunction(e,t),[i.ExpressionType.Existence]:(e,t)=>this.evalExistence(e,t),[i.ExpressionType.Aggregate]:(e,t)=>this.evalAggregate()},this.transformer=new c.AlgebraTransformer(e,t)}async evaluatorExpressionEvaluation(e,t){return this.subEvaluators[e.expressionType].bind(this)(e,t)}term(e){return e}variable(e,t){const r=t.get(o.expressionToVar(this.context.getSafe(n.KeysInitQuery.dataFactory),e));if(!r)throw new o.UnboundVariableError(e.name,t);return this.transformer.transformRDFTermUnsafe(r)}async evalFunction(e,t){return e.apply({args:e.args,mapping:t,exprEval:this})}async evalExistence(e,t){const r=this.context.getSafe(n.KeysInitQuery.dataFactory),i=new s.Factory(r),c=(0,a.materializeOperation)(e.expression.input,t,i,this.bindingsFactory),u=await this.mediatorQueryOperation.mediate({operation:c,context:this.context}),l=(0,a.getSafeBindings)(u);return await new Promise(((e,t)=>{l.bindingsStream.on("end",(()=>{e(!1)})),l.bindingsStream.on("error",t),l.bindingsStream.on("data",(()=>{l.bindingsStream.close(),e(!0)}))})).then((t=>e.expression.not?!t:t)).then((e=>new o.BooleanLiteral(e)))}evalAggregate(){throw new o.NoAggregator}}},76810:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(47),t)},69909:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionBnode=void 0;const n=r(77617),i=r(77545),o=r(5526);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.BNODE],termFunction:!1})}async run(e){return new o.ExpressionFunctionBnode}}t.ActorFunctionFactoryExpressionBnode=a},5526:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionBnode=void 0;const n=r(77617),i=r(90711),o=r(51296),a=r(77545);class s extends n.ExpressionFunctionBase{constructor(){super({arity:Number.POSITIVE_INFINITY,operator:a.SparqlOperator.BNODE,apply:async e=>{const{args:t,mapping:r,exprEval:n}=e,c=1===t.length?await n.evaluatorExpressionEvaluation(t[0],r):void 0;let u;if(c){const e=s.bnodeTree.search([c],n.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider),n.context.getSafe(i.KeysInitQuery.functionArgumentsCache));if(!e)throw new a.InvalidArgumentTypes(t,a.SparqlOperator.BNODE);u=e(n)([c]).str()}const l=new o.BlankNodeBindingsScoped(u??"BNODE_"+s.bnodeCounter++);return new a.BlankNode(l)}})}checkArity(e){return 0===e.length||1===e.length}}t.ExpressionFunctionBnode=s,s.bnodeTree=(0,a.declare)(a.SparqlOperator.BNODE).onString1((()=>e=>e)).collect(),s.bnodeCounter=0},52598:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(69909),t)},26357:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionBound=void 0;const n=r(77617),i=r(77545),o=r(72818);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.BOUND],termFunction:!1})}async run(e){return new o.ExpressionFunctionBound}}t.ActorFunctionFactoryExpressionBound=a},72818:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionBound=void 0;const n=r(77617),i=r(90711),o=r(42996),a=r(77545);class s extends n.ExpressionFunctionBase{constructor(){super({arity:1,operator:a.SparqlOperator.BOUND,apply:async({args:e,mapping:t,exprEval:r})=>{const n=e[0];if(n.expressionType!==o.ExpressionType.Variable)throw new a.InvalidArgumentTypes(e,a.SparqlOperator.BOUND);const s=t.has((0,a.expressionToVar)(r.context.getSafe(i.KeysInitQuery.dataFactory),n));return(0,a.bool)(s)}})}}t.ExpressionFunctionBound=s},19856:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26357),t)},26615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionCoalesce=void 0;const n=r(77617),i=r(77545),o=r(67626);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.COALESCE],termFunction:!1})}async run(e){return new o.ExpressionFunctionCoalesce}}t.ActorFunctionFactoryExpressionCoalesce=a},67626:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionCoalesce=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:Number.POSITIVE_INFINITY,operator:i.SparqlOperator.COALESCE,apply:async({args:e,mapping:t,exprEval:r})=>{const n=[];for(const i of e)try{return await r.evaluatorExpressionEvaluation(i,t)}catch(e){n.push(e)}throw new i.CoalesceError(n)}})}}t.ExpressionFunctionCoalesce=o},4475:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26615),t)},89349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionConcat=void 0;const n=r(77617),i=r(77545),o=r(73392);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.CONCAT],termFunction:!1})}async run(e){return new o.ExpressionFunctionConcat}}t.ActorFunctionFactoryExpressionConcat=a},73392:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionConcat=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.ExpressionFunctionBase{constructor(){super({arity:Number.POSITIVE_INFINITY,operator:o.SparqlOperator.CONCAT,apply:async e=>{const{args:t,mapping:r,exprEval:n}=e,s=t.map((async e=>n.evaluatorExpressionEvaluation(e,r))).map((async e=>{const r=a.concatTree.search([await e],n.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider),n.context.getSafe(i.KeysInitQuery.functionArgumentsCache));if(!r)throw new o.InvalidArgumentTypes(t,o.SparqlOperator.CONCAT);return r(n)([await e])})),c=await Promise.all(s),u=c.map((e=>e.typedValue)).join(""),l=a.langAllEqual(c)?c[0].language:void 0;return l?(0,o.langString)(u,l):(0,o.string)(u)}})}static langAllEqual(e){return e.length>0&&e.every((t=>t.language===e[0].language))}}t.ExpressionFunctionConcat=a,a.concatTree=(0,o.declare)(o.SparqlOperator.CONCAT).onStringly1((()=>e=>e)).collect()},85312:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(89349),t)},40589:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionExtensions=void 0;const n=r(77617),i=r(90711),o=r(90412),a=r(47793),s=r(71742);class c extends n.ActorFunctionFactory{constructor(e){super(e)}async test({context:e,functionName:t}){const r=e.getSafe(i.KeysExpressionEvaluator.extensionFunctionCreator);return await r((new a.DataFactory).namedNode(t))?(0,o.passTestVoid)():(0,o.failTest)(`Actor ${this.name} can only provide non-termExpression implementations for functions that are provided through config entries like: ${i.KeysInitQuery.extensionFunctionCreator.name} or ${i.KeysInitQuery.extensionFunctions.name}`)}async run({context:e,functionName:t}){const r=e.getSafe(i.KeysExpressionEvaluator.extensionFunctionCreator),n=await r((new a.DataFactory).namedNode(t));return new s.NamedExtension({operator:t,functionDefinition:n})}}t.ActorFunctionFactoryExpressionExtensions=c},71742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedExtension=void 0;const n=r(5673),i=r(90711),o=r(77545);class a extends n.ExpressionFunctionBase{constructor({operator:e,functionDefinition:t}){super({arity:Number.POSITIVE_INFINITY,operator:e,apply:async({args:e,exprEval:r,mapping:n})=>{const a=await Promise.all(e.map((e=>r.evaluatorExpressionEvaluation(e,n))));try{return new o.TermTransformer(r.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider)).transformRDFTermUnsafe(await t(a.map((e=>e.toRDF(r.context.getSafe(i.KeysInitQuery.dataFactory))))))}catch(e){throw new o.ExtensionFunctionError(this.operator,e)}}})}}t.NamedExtension=a},66478:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40589),t)},68435:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionIf=void 0;const n=r(77617),i=r(77545),o=r(20550);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IF],termFunction:!1})}async run(e){return new o.ExpressionFunctionIf}}t.ActorFunctionFactoryExpressionIf=a},20550:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionIf=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:3,operator:i.SparqlOperator.IF,apply:async({args:e,mapping:t,exprEval:r})=>(await r.evaluatorExpressionEvaluation(e[0],t)).coerceEBV()?r.evaluatorExpressionEvaluation(e[1],t):r.evaluatorExpressionEvaluation(e[2],t)})}}t.ExpressionFunctionIf=o},40767:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(68435),t)},16883:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionIn=void 0;const n=r(77617),i=r(77545),o=r(7190);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IN],termFunction:!1}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.ExpressionFunctionIn(t)}}t.ActorFunctionFactoryExpressionIn=a},7190:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionIn=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(e){super({arity:Number.POSITIVE_INFINITY,operator:i.SparqlOperator.IN,apply:async e=>{const{args:t,mapping:r,exprEval:n}=e,[i,...o]=t,a=await n.evaluatorExpressionEvaluation(i,r);return await this.inRecursive(a,{...e,args:o},[])}}),this.equalityFunction=e}checkArity(e){return e.length>0}async inRecursive(e,t,r){const{args:n,mapping:o,exprEval:a}=t;if(0===n.length)return r.every((e=>!e))?(0,i.bool)(!1):Promise.reject(new i.InError(r));try{const s=n.shift(),c=await a.evaluatorExpressionEvaluation(s,o);return this.equalityFunction.applyOnTerms([e,c],a).typedValue?(0,i.bool)(!0):this.inRecursive(e,t,[...r,!1])}catch(n){return this.inRecursive(e,t,[...r,n])}}}t.ExpressionFunctionIn=o},94311:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16883),t)},19464:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionLogicalAnd=void 0;const n=r(77617),i=r(77545),o=r(60677);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LOGICAL_AND],termFunction:!1})}async run(e){return new o.ExpressionFunctionLogicalAnd}}t.ActorFunctionFactoryExpressionLogicalAnd=a},60677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionLogicalAnd=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.LOGICAL_AND,apply:async({args:e,mapping:t,exprEval:r})=>{const[n,o]=e;try{if(!(await r.evaluatorExpressionEvaluation(n,t)).coerceEBV())return(0,i.bool)(!1);const e=(await r.evaluatorExpressionEvaluation(o,t)).coerceEBV();return(0,i.bool)(e)}catch(e){if((await r.evaluatorExpressionEvaluation(o,t)).coerceEBV())throw e;return(0,i.bool)(!1)}}})}}t.ExpressionFunctionLogicalAnd=o},12067:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19464),t)},30872:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionLogicalOr=void 0;const n=r(77617),i=r(77545),o=r(40883);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LOGICAL_OR],termFunction:!1})}async run(e){return new o.ExpressionFunctionLogicalOr}}t.ActorFunctionFactoryExpressionLogicalOr=a},40883:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionLogicalOr=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.LOGICAL_OR,apply:async({args:e,mapping:t,exprEval:r})=>{const[n,o]=e;try{if((await r.evaluatorExpressionEvaluation(n,t)).coerceEBV())return(0,i.bool)(!0);const e=(await r.evaluatorExpressionEvaluation(o,t)).coerceEBV();return(0,i.bool)(e)}catch(e){if(!(await r.evaluatorExpressionEvaluation(o,t)).coerceEBV())throw e;return(0,i.bool)(!0)}}})}}t.ExpressionFunctionLogicalOr=o},1223:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30872),t)},29832:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionNotIn=void 0;const n=r(77617),i=r(77545),o=r(5743);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOT_IN],termFunction:!1}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.IN,context:e.context,arguments:e.arguments});return new o.ExpressionFunctionNotIn(t)}}t.ActorFunctionFactoryExpressionNotIn=a},5743:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionNotIn=void 0;const n=r(77617),i=r(77545);class o extends n.ExpressionFunctionBase{constructor(e){super({arity:Number.POSITIVE_INFINITY,operator:i.SparqlOperator.NOT_IN,apply:async e=>{const t=await this.inFunction.apply(e);return(0,i.bool)(!t.typedValue)}}),this.inFunction=e}checkArity(e){return e.length>0}}t.ExpressionFunctionNotIn=o},63067:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29832),t)},86652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryExpressionSameTerm=void 0;const n=r(77617),i=r(77545),o=r(72253);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SAME_TERM],termFunction:!1})}async run(e){return new o.ExpressionFunctionSameTerm}}t.ActorFunctionFactoryExpressionSameTerm=a},72253:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionFunctionSameTerm=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.ExpressionFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.SAME_TERM,apply:async({args:e,mapping:t,exprEval:r})=>{const n=r.context.getSafe(i.KeysInitQuery.dataFactory),[a,s]=e.map((e=>r.evaluatorExpressionEvaluation(e,t))),[c,u]=await Promise.all([a,s]);return(0,o.bool)(c.toRDF(n).equals(u.toRDF(n)))}})}}t.ExpressionFunctionSameTerm=a},14579:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86652),t)},46645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermAbs=void 0;const n=r(77617),i=r(77545),o=r(54502);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ABS],termFunction:!0})}async run(e){return new o.TermFunctionAbs}}t.ActorFunctionFactoryTermAbs=a},54502:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionAbs=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.ABS,overloads:(0,i.declare)(i.SparqlOperator.ABS).numericConverter((()=>e=>Math.abs(e))).collect()})}}t.TermFunctionAbs=o},59812:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46645),t)},65569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermAddition=void 0;const n=r(77617),i=r(77545),o=r(55940);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ADDITION],termFunction:!0})}async run(e){return new o.TermFunctionAddition}}t.ActorFunctionFactoryTermAddition=a},55940:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionAddition=void 0;const n=r(77617),i=r(77545),o=r(61594);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.ADDITION,overloads:(0,i.declare)(i.SparqlOperator.ADDITION).arithmetic((()=>(e,t)=>new o.BigNumber(e).plus(t).toNumber())).set([i.TypeURL.XSD_DATE_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new i.DateTimeLiteral((0,i.addDurationToDateTime)(e.typedValue,(0,i.defaultedDurationRepresentation)(t.typedValue))))).copy({from:[i.TypeURL.XSD_DATE_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],to:[i.TypeURL.XSD_DATE_TIME,i.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([i.TypeURL.XSD_DATE,i.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new i.DateLiteral((0,i.addDurationToDateTime)((0,i.defaultedDateTimeRepresentation)(e.typedValue),(0,i.defaultedDurationRepresentation)(t.typedValue))))).copy({from:[i.TypeURL.XSD_DATE,i.TypeURL.XSD_DAY_TIME_DURATION],to:[i.TypeURL.XSD_DATE,i.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([i.TypeURL.XSD_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new i.TimeLiteral((0,i.addDurationToDateTime)((0,i.defaultedDateTimeRepresentation)(e.typedValue),(0,i.defaultedDurationRepresentation)(t.typedValue))))).copy({from:[i.TypeURL.XSD_TIME,i.TypeURL.XSD_DAY_TIME_DURATION],to:[i.TypeURL.XSD_TIME,i.TypeURL.XSD_YEAR_MONTH_DURATION]}).collect()})}}t.TermFunctionAddition=a},91172:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(65569),t)},5935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermCeil=void 0;const n=r(77617),i=r(77545),o=r(47882);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.CEIL],termFunction:!0})}async run(e){return new o.TermFunctionCeil}}t.ActorFunctionFactoryTermCeil=a},47882:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionCeil=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.CEIL,overloads:(0,i.declare)(i.SparqlOperator.CEIL).numericConverter((()=>e=>Math.ceil(e))).collect()})}}t.TermFunctionCeil=o},30953:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5935),t)},5847:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermContains=void 0;const n=r(77617),i=r(77545),o=r(97114);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.CONTAINS],termFunction:!0})}async run(e){return new o.TermFunctionContains}}t.ActorFunctionFactoryTermContains=a},97114:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionContains=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.CONTAINS,overloads:(0,i.declare)(i.SparqlOperator.CONTAINS).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(e.includes(t)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);return(0,i.bool)(e.typedValue.includes(t.typedValue))})).collect()})}}t.TermFunctionContains=o},72945:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5847),t)},17569:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermDatatype=void 0;const n=r(77617),i=r(77545),o=r(62944);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.DATATYPE],termFunction:!0})}async run(e){return new o.TermFunctionDatatype}}t.ActorFunctionFactoryTermDatatype=a},62944:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionDatatype=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.DATATYPE,overloads:(0,i.declare)(i.SparqlOperator.DATATYPE).onLiteral1((()=>e=>new i.NamedNode(e.dataType))).collect()})}}t.TermFunctionDatatype=o},24700:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17569),t)},70177:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermDay=void 0;const n=r(77617),i=r(77545),o=r(9430);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.DAY],termFunction:!0})}async run(e){return new o.TermFunctionDay}}t.ActorFunctionFactoryTermDay=a},9430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionDay=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.DAY,overloads:(0,i.declare)(i.SparqlOperator.DAY).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.day))).set([i.TypeURL.XSD_DATE],(()=>([e])=>(0,i.integer)(e.typedValue.day))).collect()})}}t.TermFunctionDay=o},99778:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(70177),t)},11867:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermDivision=void 0;const n=r(77617),i=r(77545),o=r(39878);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.DIVISION],termFunction:!0})}async run(e){return new o.TermFunctionDivision}}t.ActorFunctionFactoryTermDivision=a},39878:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionDivision=void 0;const n=r(77617),i=r(77545),o=r(61594);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.DIVISION,overloads:(0,i.declare)(i.SparqlOperator.DIVISION).arithmetic((()=>(e,t)=>new o.BigNumber(e).div(t).toNumber())).onBinaryTyped([i.TypeURL.XSD_INTEGER,i.TypeURL.XSD_INTEGER],(()=>(e,t)=>{if(0===t)throw new i.ExpressionError("Integer division by 0");return(0,i.decimal)(new o.BigNumber(e).div(t).toNumber())})).collect()})}}t.TermFunctionDivision=a},61103:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11867),t)},27749:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermEncodeForUri=void 0;const n=r(77617),i=r(77545),o=r(1144);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ENCODE_FOR_URI],termFunction:!0})}async run(e){return new o.TermFunctionEncodeForUri}}t.ActorFunctionFactoryTermEncodeForUri=a},1144:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionEncodeForUri=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.ENCODE_FOR_URI,overloads:(0,i.declare)(i.SparqlOperator.ENCODE_FOR_URI).onStringly1Typed((()=>e=>(0,i.string)(encodeURI(e)))).collect()})}}t.TermFunctionEncodeForUri=o},30971:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(27749),t)},23129:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermEquality=void 0;const n=r(77617),i=r(77545),o=r(60856);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.EQUAL],termFunction:!0})}async run(e){return new o.TermFunctionEquality}}t.ActorFunctionFactoryTermEquality=a},60856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionEquality=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.EQUAL,overloads:(0,o.declare)(o.SparqlOperator.EQUAL).numberTest((()=>(e,t)=>e===t)).stringTest((()=>(e,t)=>0===e.localeCompare(t))).set([o.TypeURL.RDF_LANG_STRING,o.TypeURL.RDF_LANG_STRING],(()=>([e,t])=>(0,o.bool)(e.str()===t.str()&&e.language===t.language))).set([o.TypeAlias.SPARQL_STRINGLY,o.TypeAlias.SPARQL_STRINGLY],(()=>()=>(0,o.bool)(!1))).booleanTest((()=>(e,t)=>e===t)).dateTimeTest((e=>(t,r)=>(0,o.toUTCDate)(t,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()===(0,o.toUTCDate)(r,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime())).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DATE]}).set(["quad","quad"],(e=>([t,r])=>(0,o.bool)(this.applyOnTerms([t.subject,r.subject],e).coerceEBV()&&this.applyOnTerms([t.predicate,r.predicate],e).coerceEBV()&&this.applyOnTerms([t.object,r.object],e).coerceEBV()&&this.applyOnTerms([t.graph,r.graph],e).coerceEBV())),!1).set(["term","term"],(e=>([t,r])=>{const n=t.toRDF(e.context.getSafe(i.KeysInitQuery.dataFactory)),a=r.toRDF(e.context.getSafe(i.KeysInitQuery.dataFactory)),s=n.equals(a);if(!s&&"Literal"===n.termType&&"Literal"===a.termType)throw new o.RDFEqualTypeError([t,r]);return(0,o.bool)(s)}),!1).set([o.TypeURL.XSD_DURATION,o.TypeURL.XSD_DURATION],(()=>([e,t])=>(0,o.bool)((0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(e.typedValue))===(0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(t.typedValue))&&(0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(e.typedValue))===(0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(t.typedValue))))).set([o.TypeURL.XSD_TIME,o.TypeURL.XSD_TIME],(e=>([t,r])=>(0,o.bool)((0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(t.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()===(0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(r.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()))).collect()})}}t.TermFunctionEquality=a},61688:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23129),t)},3129:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermFloor=void 0;const n=r(77617),i=r(77545),o=r(57834);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.FLOOR],termFunction:!0})}async run(e){return new o.TermFunctionFloor}}t.ActorFunctionFactoryTermFloor=a},57834:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionFloor=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.FLOOR,overloads:(0,i.declare)(i.SparqlOperator.FLOOR).numericConverter((()=>e=>Math.floor(e))).collect()})}}t.TermFunctionFloor=o},56718:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3129),t)},33823:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermGreaterThanEqual=void 0;const n=r(77617),i=r(77545),o=r(40178);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.GTE],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.LTE,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionGreaterThanEqual(t)}}t.ActorFunctionFactoryTermGreaterThanEqual=a},40178:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionGreaterThanEqual=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e){super({arity:2,operator:i.SparqlOperator.GTE,overloads:(0,i.declare)(i.SparqlOperator.GTE).set(["term","term"],(e=>([t,r])=>this.lessThanEqualFunction.applyOnTerms([r,t],e))).collect()}),this.lessThanEqualFunction=e}}t.TermFunctionGreaterThanEqual=o},8711:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33823),t)},70982:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermGreaterThan=void 0;const n=r(77617),i=r(77545),o=r(81253);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.GT],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.LT,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionGreaterThan(t)}}t.ActorFunctionFactoryTermGreaterThan=a},81253:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionGreaterThan=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e){super({arity:2,operator:i.SparqlOperator.GT,overloads:(0,i.declare)(i.SparqlOperator.GT).set(["term","term"],(e=>([t,r])=>this.lessThanFunction.applyOnTerms([r,t],e))).collect()}),this.lessThanFunction=e}}t.TermFunctionGreaterThan=o},31038:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(70982),t)},60385:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermHours=void 0;const n=r(77617),i=r(77545),o=r(74230);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.HOURS],termFunction:!0})}async run(e){return new o.TermFunctionHours}}t.ActorFunctionFactoryTermHours=a},74230:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionHours=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.HOURS,overloads:(0,i.declare)(i.SparqlOperator.HOURS).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.hours))).set([i.TypeURL.XSD_TIME],(()=>([e])=>(0,i.integer)(e.typedValue.hours))).collect()})}}t.TermFunctionHours=o},54531:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60385),t)},15195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermInequality=void 0;const n=r(77617),i=r(77545),o=r(1530);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOT_EQUAL],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionInequality(t)}}t.ActorFunctionFactoryTermInequality=a},1530:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionInequality=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e){super({arity:2,operator:i.SparqlOperator.NOT_EQUAL,overloads:(0,i.declare)(i.SparqlOperator.NOT_EQUAL).set(["term","term"],(e=>([t,r])=>(0,i.bool)(!this.equalityFunction.applyOnTerms([t,r],e).typedValue))).collect()}),this.equalityFunction=e}}t.TermFunctionInequality=o},76695:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15195),t)},73481:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIri=void 0;const n=r(77617),i=r(77545),o=r(58006);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IRI,i.SparqlOperator.URI],termFunction:!0})}async run(e){return new o.TermFunctionIri}}t.ActorFunctionFactoryTermIri=a},58006:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIri=void 0;const n=r(77617),i=r(90711),o=r(77545),a=r(70742);class s extends n.TermFunctionBase{constructor(){super({arity:1,operator:o.SparqlOperator.IRI,overloads:(0,o.declare)(o.SparqlOperator.IRI).set(["namedNode"],(e=>t=>{const r=t[0],n=(0,a.resolve)(r.str(),e.context.get(i.KeysInitQuery.baseIRI)??"");return new o.NamedNode(n)})).onString1((e=>t=>{const r=(0,a.resolve)(t.str(),e.context.get(i.KeysInitQuery.baseIRI)??"");return new o.NamedNode(r)})).collect()})}}t.TermFunctionIri=s},16686:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(73481),t)},67528:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsBlank=void 0;const n=r(77617),i=r(77545),o=r(89195);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_BLANK],termFunction:!0})}async run(e){return new o.TermFunctionIsBlank}}t.ActorFunctionFactoryTermIsBlank=a},89195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsBlank=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_BLANK,overloads:(0,i.declare)(i.SparqlOperator.IS_BLANK).onTerm1((()=>e=>(0,i.bool)("blankNode"===e.termType))).collect()})}}t.TermFunctionIsBlank=o},92959:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67528),t)},4136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsIri=void 0;const n=r(77617),i=r(77545),o=r(3035);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_IRI,i.SparqlOperator.IS_URI],termFunction:!0})}async run(e){return new o.TermFunctionIsIri}}t.ActorFunctionFactoryTermIsIri=a},3035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsIri=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_IRI,overloads:(0,i.declare)(i.SparqlOperator.IS_IRI).onTerm1((()=>e=>(0,i.bool)("namedNode"===e.termType))).collect()})}}t.TermFunctionIsIri=o},11767:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4136),t)},40236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsLiteral=void 0;const n=r(77617),i=r(77545),o=r(92615);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_LITERAL],termFunction:!0})}async run(e){return new o.TermFunctionIsLiteral}}t.ActorFunctionFactoryTermIsLiteral=a},92615:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsLiteral=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_LITERAL,overloads:(0,i.declare)(i.SparqlOperator.IS_LITERAL).onTerm1((()=>e=>(0,i.bool)("literal"===e.termType))).collect()})}}t.TermFunctionIsLiteral=o},30254:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40236),t)},50620:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsNumeric=void 0;const n=r(77617),i=r(77545),o=r(77415);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_NUMERIC],termFunction:!0})}async run(e){return new o.TermFunctionIsNumeric}}t.ActorFunctionFactoryTermIsNumeric=a},77415:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsNumeric=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_NUMERIC,overloads:(0,i.declare)(i.SparqlOperator.IS_NUMERIC).onNumeric1((()=>()=>(0,i.bool)(!0))).onTerm1((()=>()=>(0,i.bool)(!1))).collect()})}}t.TermFunctionIsNumeric=o},6082:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50620),t)},11304:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermIsTriple=void 0;const n=r(77617),i=r(77545),o=r(99669);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.IS_TRIPLE],termFunction:!0})}async run(e){return new o.TermFunctionIsTriple}}t.ActorFunctionFactoryTermIsTriple=a},99669:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionIsTriple=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.IS_TRIPLE,overloads:(0,i.declare)(i.SparqlOperator.IS_TRIPLE).onTerm1((()=>e=>(0,i.bool)("quad"===e.termType))).collect()})}}t.TermFunctionIsTriple=o},61151:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11304),t)},25337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLang=void 0;const n=r(77617),i=r(77545),o=r(41420);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LANG],termFunction:!0})}async run(e){return new o.TermFunctionLang}}t.ActorFunctionFactoryTermLang=a},41420:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLang=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.LANG,overloads:(0,i.declare)(i.SparqlOperator.LANG).onLiteral1((()=>e=>(0,i.string)(e.language??""))).collect()})}}t.TermFunctionLang=o},33032:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(25337),t)},30393:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLangmatches=void 0;const n=r(77617),i=r(77545),o=r(42586);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LANG_MATCHES],termFunction:!0})}async run(e){return new o.TermFunctionLangmatches}}t.ActorFunctionFactoryTermLangmatches=a},42586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLangmatches=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.LANG_MATCHES,overloads:(0,i.declare)(i.SparqlOperator.LANG_MATCHES).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(o.langMatches(e,t)))).collect()})}static langMatches(e,t){const r=e.split("-"),n=t.split("-");if(!o.matchLangTag(n[0],r[0])&&!o.isWildCard(r[0]))return!1;let i=1,a=1;for(;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLcase=void 0;const n=r(77617),i=r(77545),o=r(60770);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LCASE],termFunction:!0})}async run(e){return new o.TermFunctionLcase}}t.ActorFunctionFactoryTermLcase=a},60770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLcase=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.LCASE,overloads:(0,i.declare)(i.SparqlOperator.LCASE).onString1Typed((()=>e=>(0,i.string)(e.toLowerCase()))).onLangString1((()=>e=>(0,i.langString)(e.typedValue.toLowerCase(),e.language))).collect()})}}t.TermFunctionLcase=o},22460:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(85181),t)},89:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLesserThanEqual=void 0;const n=r(77617),i=r(77545),o=r(7246);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LTE],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments}),r=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.LT,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionLesserThanEqual(t,r)}}t.ActorFunctionFactoryTermLesserThanEqual=a},7246:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLesserThanEqual=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(e,t){super({arity:2,operator:i.SparqlOperator.LTE,overloads:(0,i.declare)(i.SparqlOperator.LTE).set(["term","term"],(e=>([t,r])=>(0,i.bool)(this.lessThanFunction.applyOnTerms([t,r],e).typedValue||this.equalityFunction.applyOnTerms([t,r],e).typedValue))).collect()}),this.equalityFunction=e,this.lessThanFunction=t}}t.TermFunctionLesserThanEqual=o},38507:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(89),t)},41142:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermLesserThan=void 0;const n=r(77617),i=r(77545),o=r(95199);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.LT],termFunction:!0}),this.mediatorFunctionFactory=e.mediatorFunctionFactory}async run(e){const t=await this.mediatorFunctionFactory.mediate({functionName:i.SparqlOperator.EQUAL,requireTermExpression:!0,context:e.context,arguments:e.arguments});return new o.TermFunctionLesserThan(t)}}t.ActorFunctionFactoryTermLesserThan=a},95199:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionLesserThan=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(e){super({arity:2,operator:o.SparqlOperator.LT,overloads:(0,o.declare)(o.SparqlOperator.LT).numberTest((()=>(e,t)=>e(e,t)=>-1===e.localeCompare(t))).booleanTest((()=>(e,t)=>e(t,r)=>(0,o.toUTCDate)(t,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()<(0,o.toUTCDate)(r,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime())).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DATE]}).set([o.TypeURL.XSD_YEAR_MONTH_DURATION,o.TypeURL.XSD_YEAR_MONTH_DURATION],(()=>([e,t])=>(0,o.bool)((0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(e.typedValue))<(0,o.yearMonthDurationsToMonths)((0,o.defaultedYearMonthDurationRepresentation)(t.typedValue))))).set([o.TypeURL.XSD_DAY_TIME_DURATION,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>(0,o.bool)((0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(e.typedValue))<(0,o.dayTimeDurationsToSeconds)((0,o.defaultedDayTimeDurationRepresentation)(t.typedValue))))).set([o.TypeURL.XSD_TIME,o.TypeURL.XSD_TIME],(e=>([t,r])=>(0,o.bool)((0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(t.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()<(0,o.toUTCDate)((0,o.defaultedDateTimeRepresentation)(r.typedValue),e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)).getTime()))).set(["quad","quad"],(e=>([t,r])=>{const n=this.quadComponentTest(t.subject,r.subject,e);if(void 0!==n)return(0,o.bool)(n);const i=this.quadComponentTest(t.predicate,r.predicate,e);if(void 0!==i)return(0,o.bool)(i);const a=this.quadComponentTest(t.object,r.object,e);return void 0!==a?(0,o.bool)(a):(0,o.bool)(this.quadComponentTest(t.graph,r.graph,e)??!1)}),!1).collect()}),this.equalityFunction=e}quadComponentTest(e,t,r){if(!this.equalityFunction.applyOnTerms([e,t],r).typedValue)return this.applyOnTerms([e,t],r).typedValue}}t.TermFunctionLesserThan=a},95426:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41142),t)},20405:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMd5=void 0;const n=r(77617),i=r(77545),o=r(64826);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MD5],termFunction:!0})}async run(e){return new o.TermFunctionMd5}}t.ActorFunctionFactoryTermMd5=a},64826:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMd5=void 0;const n=r(77617),i=r(77545),o=r(75735);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.MD5,overloads:(0,i.declare)(i.SparqlOperator.MD5).onString1Typed((()=>e=>(0,i.string)((0,o.hash)(e)))).collect()})}}t.TermFunctionMd5=a},12744:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20405),t)},74577:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMinutes=void 0;const n=r(77617),i=r(77545),o=r(84906);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MINUTES],termFunction:!0})}async run(e){return new o.TermFunctionMinutes}}t.ActorFunctionFactoryTermMinutes=a},84906:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMinutes=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.MINUTES,overloads:(0,i.declare)(i.SparqlOperator.MINUTES).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.minutes))).set([i.TypeURL.XSD_TIME],(()=>([e])=>(0,i.integer)(e.typedValue.minutes))).collect()})}}t.TermFunctionMinutes=o},24713:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(74577),t)},62489:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMonth=void 0;const n=r(77617),i=r(77545),o=r(78490);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MONTH],termFunction:!0})}async run(e){return new o.TermFunctionMonth}}t.ActorFunctionFactoryTermMonth=a},78490:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMonth=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.MONTH,overloads:(0,i.declare)(i.SparqlOperator.MONTH).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.month))).set([i.TypeURL.XSD_DATE],(()=>([e])=>(0,i.integer)(e.typedValue.month))).collect()})}}t.TermFunctionMonth=o},32310:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(62489),t)},26769:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermMultiplication=void 0;const n=r(77617),i=r(77545),o=r(44936);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.MULTIPLICATION],termFunction:!0})}async run(e){return new o.TermFunctionMultiplication}}t.ActorFunctionFactoryTermMultiplication=a},44936:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionMultiplication=void 0;const n=r(77617),i=r(77545),o=r(61594);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.MULTIPLICATION,overloads:(0,i.declare)(i.SparqlOperator.MULTIPLICATION).arithmetic((()=>(e,t)=>new o.BigNumber(e).times(t).toNumber())).collect()})}}t.TermFunctionMultiplication=a},23610:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26769),t)},51941:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermNot=void 0;const n=r(77617),i=r(77545),o=r(97274);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOT],termFunction:!0})}async run(e){return new o.TermFunctionNot}}t.ActorFunctionFactoryTermNot=a},97274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionNot=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.NOT,overloads:(0,i.declare)(i.SparqlOperator.NOT).onTerm1((()=>e=>(0,i.bool)(!e.coerceEBV()))).collect()})}}t.TermFunctionNot=o},52505:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(51941),t)},15721:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermNow=void 0;const n=r(77617),i=r(77545),o=r(78478);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.NOW],termFunction:!0})}async run(e){return new o.TermFunctionNow}}t.ActorFunctionFactoryTermNow=a},78478:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionNow=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(){super({arity:0,operator:o.SparqlOperator.NOW,overloads:(0,o.declare)(o.SparqlOperator.NOW).set([],(e=>()=>new o.DateTimeLiteral((0,o.toDateTimeRepresentation)({date:e.context.getSafe(i.KeysInitQuery.queryTimestamp),timeZone:e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone)})))).collect()})}}t.TermFunctionNow=a},69636:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15721),t)},771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermObject=void 0;const n=r(77617),i=r(77545),o=r(99694);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.OBJECT],termFunction:!0})}async run(e){return new o.TermFunctionObject}}t.ActorFunctionFactoryTermObject=a},99694:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionObject=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.OBJECT,overloads:(0,i.declare)(i.SparqlOperator.OBJECT).onQuad1((()=>e=>e.object)).collect()})}}t.TermFunctionObject=o},20379:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(771),t)},67313:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermPredicate=void 0;const n=r(77617),i=r(77545),o=r(14330);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.PREDICATE],termFunction:!0})}async run(e){return new o.TermFunctionPredicate}}t.ActorFunctionFactoryTermPredicate=a},14330:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionPredicate=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.PREDICATE,overloads:(0,i.declare)(i.SparqlOperator.PREDICATE).onQuad1((()=>e=>e.predicate)).collect()})}}t.TermFunctionPredicate=o},68545:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67313),t)},35943:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermRand=void 0;const n=r(77617),i=r(77545),o=r(48430);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.RAND],termFunction:!0})}async run(e){return new o.TermFunctionRand}}t.ActorFunctionFactoryTermRand=a},48430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionRand=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:0,operator:i.SparqlOperator.RAND,overloads:(0,i.declare)(i.SparqlOperator.RAND).set([],(()=>()=>(0,i.double)(Math.random()))).collect()})}}t.TermFunctionRand=o},86155:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35943),t)},99441:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermRegex=void 0;const n=r(77617),i=r(77545),o=r(11658);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.REGEX],termFunction:!0})}async run(e){return new o.TermFunctionRegex}}t.ActorFunctionFactoryTermRegex=a},11658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionRegex=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:[2,3],operator:i.SparqlOperator.REGEX,overloads:(0,i.declare)(i.SparqlOperator.REGEX).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],o.regex2).onTernaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],o.regex3).collect()})}static matches(e,t,r){return new RegExp(t,r).test(e)}static regex2(){return(e,t)=>(0,i.bool)(o.matches(e,t))}static regex3(){return(e,t,r)=>(0,i.bool)(o.matches(e,t,r))}}t.TermFunctionRegex=o},98811:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(99441),t)},98349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermReplace=void 0;const n=r(77617),i=r(77545),o=r(77054);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.REPLACE],termFunction:!0})}async run(e){return new o.TermFunctionReplace}}t.ActorFunctionFactoryTermReplace=a},77054:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionReplace=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:[3,4],operator:i.SparqlOperator.REPLACE,overloads:(0,i.declare)(i.SparqlOperator.REPLACE).onTernaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t,r)=>(0,i.string)(o.replace(e,t,r)))).set([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>([e,t,r])=>{const n=o.replace(e.typedValue,t.typedValue,r.typedValue);return(0,i.langString)(n,e.language)})).onQuaternaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t,r,n)=>(0,i.string)(o.replace(e,t,r,n)))).set([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>([e,t,r,n])=>{const a=o.replace(e.typedValue,t.typedValue,r.typedValue,n.typedValue);return(0,i.langString)(a,e.language)})).collect()})}static replace(e,t,r,n){let i=new RegExp(t,n);return i.global||(i=new RegExp(t,`${n??""}g`)),e.replace(i,r)}}t.TermFunctionReplace=o},52452:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98349),t)},76593:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermRound=void 0;const n=r(77617),i=r(77545),o=r(55282);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.ROUND],termFunction:!0})}async run(e){return new o.TermFunctionRound}}t.ActorFunctionFactoryTermRound=a},55282:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionRound=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.ROUND,overloads:(0,i.declare)(i.SparqlOperator.ROUND).numericConverter((()=>e=>Math.round(e))).collect()})}}t.TermFunctionRound=o},80748:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(76593),t)},78673:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSeconds=void 0;const n=r(77617),i=r(77545),o=r(72706);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SECONDS],termFunction:!0})}async run(e){return new o.TermFunctionSeconds}}t.ActorFunctionFactoryTermSeconds=a},72706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSeconds=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SECONDS,overloads:(0,i.declare)(i.SparqlOperator.SECONDS).onDateTime1((()=>e=>(0,i.decimal)(e.typedValue.seconds))).set([i.TypeURL.XSD_TIME],(()=>([e])=>(0,i.integer)(e.typedValue.seconds))).collect()})}}t.TermFunctionSeconds=o},9941:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(78673),t)},28223:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha1=void 0;const n=r(77617),i=r(77545),o=r(87242);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA1],termFunction:!0})}async run(e){return new o.TermFunctionSha1}}t.ActorFunctionFactoryTermSha1=a},87242:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha1=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA1,overloads:(0,i.declare)(i.SparqlOperator.SHA1).onString1Typed((()=>e=>(0,i.string)((0,o.sha1)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha1=a},45845:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(28223),t)},48767:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha256=void 0;const n=r(77617),i=r(77545),o=r(36706);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA256],termFunction:!0})}async run(e){return new o.TermFunctionSha256}}t.ActorFunctionFactoryTermSha256=a},36706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha256=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA256,overloads:(0,i.declare)(i.SparqlOperator.SHA256).onString1Typed((()=>e=>(0,i.string)((0,o.sha256)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha256=a},77267:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48767),t)},41291:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha384=void 0;const n=r(77617),i=r(77545),o=r(29814);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA384],termFunction:!0})}async run(e){return new o.TermFunctionSha384}}t.ActorFunctionFactoryTermSha384=a},29814:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha384=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA384,overloads:(0,i.declare)(i.SparqlOperator.SHA384).onString1Typed((()=>e=>(0,i.string)((0,o.sha384)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha384=a},96447:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41291),t)},39417:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSha512=void 0;const n=r(77617),i=r(77545),o=r(17796);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SHA512],termFunction:!0})}async run(e){return new o.TermFunctionSha512}}t.ActorFunctionFactoryTermSha512=a},17796:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSha512=void 0;const n=r(77617),i=r(77545),o=r(77952);class a extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SHA512,overloads:(0,i.declare)(i.SparqlOperator.SHA512).onString1Typed((()=>e=>(0,i.string)((0,o.sha512)().update(e).digest("hex")))).collect()})}}t.TermFunctionSha512=a},24742:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(39417),t)},33778:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrAfter=void 0;const n=r(77617),i=r(77545),o=r(79011);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRAFTER],termFunction:!0})}async run(e){return new o.TermFunctionStrAfter}}t.ActorFunctionFactoryTermStrAfter=a},79011:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrAfter=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRAFTER,overloads:(0,i.declare)(i.SparqlOperator.STRAFTER).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.string)(e.slice(e.indexOf(t)).slice(t.length)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>{const[r,n]=[e.typedValue,t.typedValue],o=r.slice(r.indexOf(n)).slice(n.length);return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);const[r,n]=[e.typedValue,t.typedValue],o=r.slice(r.indexOf(n)).slice(n.length);return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).collect()})}}t.TermFunctionStrAfter=o},30912:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33778),t)},49176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrBefore=void 0;const n=r(77617),i=r(77545),o=r(19831);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRBEFORE],termFunction:!0})}async run(e){return new o.TermFunctionStrBefore}}t.ActorFunctionFactoryTermStrBefore=a},19831:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrBefore=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRBEFORE,overloads:(0,i.declare)(i.SparqlOperator.STRBEFORE).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.string)(e.slice(0,Math.max(0,e.indexOf(t)))))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>{const[r,n]=[e.typedValue,t.typedValue],o=e.typedValue.slice(0,Math.max(0,r.indexOf(n)));return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);const[r,n]=[e.typedValue,t.typedValue],o=e.typedValue.slice(0,Math.max(0,r.indexOf(n)));return o||!n?(0,i.langString)(o,e.language):(0,i.string)(o)})).collect()})}}t.TermFunctionStrBefore=o},60649:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(49176),t)},40916:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrDt=void 0;const n=r(77617),i=r(77545),o=r(27403);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRDT],termFunction:!0})}async run(e){return new o.TermFunctionStrDt}}t.ActorFunctionFactoryTermStrDt=a},27403:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrDt=void 0;const n=r(77617),i=r(90711),o=r(77545);class a extends n.TermFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.STRDT,overloads:(0,o.declare)(o.SparqlOperator.STRDT).set([o.TypeURL.XSD_STRING,"namedNode"],(e=>([t,r])=>{const n=e.context.getSafe(i.KeysInitQuery.dataFactory),a=n.literal(t.typedValue,n.namedNode(r.value));return new o.TermTransformer(e.context.getSafe(i.KeysExpressionEvaluator.superTypeProvider)).transformLiteral(a)})).collect()})}}t.TermFunctionStrDt=a},93734:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40916),t)},64212:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrEnds=void 0;const n=r(77617),i=r(77545),o=r(24075);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRENDS],termFunction:!0})}async run(e){return new o.TermFunctionStrEnds}}t.ActorFunctionFactoryTermStrEnds=a},24075:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrEnds=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRENDS,overloads:(0,i.declare)(i.SparqlOperator.STRENDS).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(e.endsWith(t)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);return(0,i.bool)(e.typedValue.endsWith(t.typedValue))})).collect()})}}t.TermFunctionStrEnds=o},49060:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(64212),t)},48904:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrLang=void 0;const n=r(77617),i=r(77545),o=r(21115);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRLANG],termFunction:!0})}async run(e){return new o.TermFunctionStrLang}}t.ActorFunctionFactoryTermStrLang=a},21115:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrLang=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRLANG,overloads:(0,i.declare)(i.SparqlOperator.STRLANG).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_STRING],(()=>(e,t)=>new i.LangStringLiteral(e,t.toLowerCase()))).collect()})}}t.TermFunctionStrLang=o},20554:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48904),t)},67024:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrLen=void 0;const n=r(77617),i=r(77545),o=r(76869);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRLEN],termFunction:!0})}async run(e){return new o.TermFunctionStrLen}}t.ActorFunctionFactoryTermStrLen=a},76869:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrLen=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.STRLEN,overloads:(0,i.declare)(i.SparqlOperator.STRLEN).onStringly1((()=>e=>(0,i.integer)([...e.typedValue].length))).collect()})}}t.TermFunctionStrLen=o},27869:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67024),t)},85572:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrStarts=void 0;const n=r(77617),i=r(77545),o=r(3863);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRSTARTS],termFunction:!0})}async run(e){return new o.TermFunctionStrStarts}}t.ActorFunctionFactoryTermStrStarts=a},3863:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrStarts=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:2,operator:i.SparqlOperator.STRSTARTS,overloads:(0,i.declare)(i.SparqlOperator.STRSTARTS).onBinaryTyped([i.TypeAlias.SPARQL_STRINGLY,i.TypeURL.XSD_STRING],(()=>(e,t)=>(0,i.bool)(e.startsWith(t)))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.RDF_LANG_STRING],(()=>(e,t)=>{if(e.language!==t.language)throw new i.IncompatibleLanguageOperation(e,t);return(0,i.bool)(e.typedValue.startsWith(t.typedValue))})).collect()})}}t.TermFunctionStrStarts=o},94379:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(85572),t)},60808:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStrUuid=void 0;const n=r(77617),i=r(77545),o=r(12147);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STRUUID],termFunction:!0})}async run(e){return new o.TermFunctionStrUuid}}t.ActorFunctionFactoryTermStrUuid=a},12147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStrUuid=void 0;const n=r(77617),i=r(77545),o=r(83843);class a extends n.TermFunctionBase{constructor(){super({arity:0,operator:i.SparqlOperator.STRUUID,overloads:(0,i.declare)(i.SparqlOperator.STRUUID).set([],(()=>()=>(0,i.string)(o.v4()))).collect()})}}t.TermFunctionStrUuid=a},53417:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60808),t)},83843:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return c.default}});var n=p(r(5818)),i=p(r(25968)),o=p(r(92293)),a=p(r(61574)),s=p(r(97540)),c=p(r(5915)),u=p(r(67449)),l=p(r(25714)),d=p(r(30044));function p(e){return e&&e.__esModule?e:{default:e}}},87483:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,o,a){return n((s=n(n(t,e),n(i,a)))<<(c=o)|s>>>32-c,r);var s,c}function o(e,t,r,n,o,a,s){return i(t&r|~t&n,e,t,o,a,s)}function a(e,t,r,n,o,a,s){return i(t&n|r&~n,e,t,o,a,s)}function s(e,t,r,n,o,a,s){return i(t^r^n,e,t,o,a,s)}function c(e,t,r,n,o,a,s){return i(r^(t|~n),e,t,o,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r>5]>>>i%32&255,o=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(o)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[r/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},97540:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},30044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(67449))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},48316:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},48678:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};const n=new Uint8Array(16)},96598:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r>>0;d=l,l=u,u=n(c,30)>>>0,c=a,a=s}i[0]=i[0]+a>>>0,i[1]=i[1]+c>>>0,i[2]=i[2]+u>>>0,i[3]=i[3]+l>>>0,i[4]=i[4]+d>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},25714:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var n,i=(n=r(67449))&&n.__esModule?n:{default:n};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function a(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=a(e,t);if(!(0,i.default)(r))throw TypeError("Stringified UUID is invalid");return r}},5818:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48678))&&n.__esModule?n:{default:n},o=r(25714);let a,s,c=0,u=0;t.default=function(e,t,r){let n=t&&r||0;const l=t||new Array(16);let d=(e=e||{}).node||a,p=void 0!==e.clockseq?e.clockseq:s;if(null==d||null==p){const t=e.random||(e.rng||i.default)();null==d&&(d=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==p&&(p=s=16383&(t[6]<<8|t[7]))}let h=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:u+1;const y=h-c+(f-u)/1e4;if(y<0&&void 0===e.clockseq&&(p=p+1&16383),(y<0||h>c)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=h,u=f,s=p,h+=122192928e5;const g=(1e4*(268435455&h)+f)%4294967296;l[n++]=g>>>24&255,l[n++]=g>>>16&255,l[n++]=g>>>8&255,l[n++]=255&g;const m=h/4294967296*1e4&268435455;l[n++]=m>>>8&255,l[n++]=255&m,l[n++]=m>>>24&15|16,l[n++]=m>>>16&255,l[n++]=p>>>8|128,l[n++]=255&p;for(let e=0;e<6;++e)l[n+e]=d[e];return t||(0,o.unsafeStringify)(l)}},25968:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(75853)),i=o(r(87483));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,i.default);t.default=a},75853:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var c;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(18576)),i=a(r(48678)),o=r(25714);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const a=(e=e||{}).random||(e.rng||i.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return(0,o.unsafeStringify)(a)}},61574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(75853)),i=o(r(96598));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,i.default);t.default=a},67449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48316))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&i.default.test(e)}},5915:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(67449))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},45510:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermStr=void 0;const n=r(77617),i=r(77545),o=r(32834);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.STR],termFunction:!0})}async run(e){return new o.TermFunctionStr}}t.ActorFunctionFactoryTermStr=a},32834:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionStr=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.STR,overloads:(0,i.declare)(i.SparqlOperator.STR).onTerm1((()=>e=>(0,i.string)(e.str()))).collect()})}}t.TermFunctionStr=o},28699:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45510),t)},6912:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSubStr=void 0;const n=r(77617),i=r(77545),o=r(63369);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SUBSTR],termFunction:!0})}async run(e){return new o.TermFunctionSubStr}}t.ActorFunctionFactoryTermSubStr=a},63369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSubStr=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:[2,3],operator:i.SparqlOperator.SUBSTR,overloads:(0,i.declare)(i.SparqlOperator.SUBSTR).onBinaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_INTEGER],(()=>(e,t)=>(0,i.string)([...e].slice(t-1).join("")))).onBinary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_INTEGER],(()=>(e,t)=>{const r=[...e.typedValue].slice(t.typedValue-1).join("");return(0,i.langString)(r,e.language)})).onTernaryTyped([i.TypeURL.XSD_STRING,i.TypeURL.XSD_INTEGER,i.TypeURL.XSD_INTEGER],(()=>(e,t,r)=>(0,i.string)([...e].slice(t-1,r+t-1).join("")))).onTernary([i.TypeURL.RDF_LANG_STRING,i.TypeURL.XSD_INTEGER,i.TypeURL.XSD_INTEGER],(()=>(e,t,r)=>{const n=[...e.typedValue].slice(t.typedValue-1,r.typedValue+t.typedValue-1).join("");return(0,i.langString)(n,e.language)})).collect()})}}t.TermFunctionSubStr=o},96404:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(6912),t)},46293:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSubject=void 0;const n=r(77617),i=r(77545),o=r(12922);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SUBJECT],termFunction:!0})}async run(e){return new o.TermFunctionSubject}}t.ActorFunctionFactoryTermSubject=a},12922:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSubject=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.SUBJECT,overloads:(0,i.declare)(i.SparqlOperator.SUBJECT).onQuad1((()=>e=>e.subject)).collect()})}}t.TermFunctionSubject=o},51060:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46293),t)},37185:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermSubtraction=void 0;const n=r(77617),i=r(77545),o=r(47074);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.SUBTRACTION],termFunction:!0})}async run(e){return new o.TermFunctionSubtraction}}t.ActorFunctionFactoryTermSubtraction=a},47074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionSubtraction=void 0;const n=r(77617),i=r(90711),o=r(77545),a=r(61594);class s extends n.TermFunctionBase{constructor(){super({arity:2,operator:o.SparqlOperator.SUBTRACTION,overloads:(0,o.declare)(o.SparqlOperator.SUBTRACTION).arithmetic((()=>(e,t)=>new a.BigNumber(e).minus(t).toNumber())).set([o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],(e=>([t,r])=>new o.DayTimeDurationLiteral((0,o.elapsedDuration)(t.typedValue,r.typedValue,e.context.getSafe(i.KeysExpressionEvaluator.defaultTimeZone))))).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DATE]}).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DATE_TIME],to:[o.TypeURL.XSD_TIME,o.TypeURL.XSD_TIME]}).set([o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new o.DateTimeLiteral((0,o.addDurationToDateTime)(e.typedValue,(0,o.defaultedDurationRepresentation)((0,o.negateDuration)(t.typedValue)))))).copy({from:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_DAY_TIME_DURATION],to:[o.TypeURL.XSD_DATE_TIME,o.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([o.TypeURL.XSD_DATE,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new o.DateLiteral((0,o.addDurationToDateTime)((0,o.defaultedDateTimeRepresentation)(e.typedValue),(0,o.defaultedDurationRepresentation)((0,o.negateDuration)(t.typedValue)))))).copy({from:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_DAY_TIME_DURATION],to:[o.TypeURL.XSD_DATE,o.TypeURL.XSD_YEAR_MONTH_DURATION]}).set([o.TypeURL.XSD_TIME,o.TypeURL.XSD_DAY_TIME_DURATION],(()=>([e,t])=>new o.TimeLiteral((0,o.addDurationToDateTime)((0,o.defaultedDateTimeRepresentation)(e.typedValue),(0,o.defaultedDurationRepresentation)((0,o.negateDuration)(t.typedValue)))))).collect()})}}t.TermFunctionSubtraction=s},55010:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(37185),t)},9875:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermTimezone=void 0;const n=r(77617),i=r(77545),o=r(38274);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.TIMEZONE],termFunction:!0})}async run(e){return new o.TermFunctionTimezone}}t.ActorFunctionFactoryTermTimezone=a},38274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionTimezone=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.TIMEZONE,overloads:(0,i.declare)(i.SparqlOperator.TIMEZONE).onDateTime1((()=>e=>{const t={hours:e.typedValue.zoneHours,minutes:e.typedValue.zoneMinutes};if(void 0===t.hours&&void 0===t.minutes)throw new i.InvalidTimezoneCall(e.str());return new i.DayTimeDurationLiteral(t)})).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_DATE]}).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_TIME]}).collect()})}}t.TermFunctionTimezone=o},4535:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9875),t)},2693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermTriple=void 0;const n=r(77617),i=r(77545),o=r(13252);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.TRIPLE],termFunction:!0})}async run(e){return new o.TermFunctionTriple}}t.ActorFunctionFactoryTermTriple=a},13252:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionTriple=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:3,operator:i.SparqlOperator.TRIPLE,overloads:(0,i.declare)(i.SparqlOperator.TRIPLE).onTerm3((e=>(...e)=>new i.Quad(e[0],e[1],e[2],new i.DefaultGraph))).collect()})}}t.TermFunctionTriple=o},31348:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(2693),t)},1209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermTz=void 0;const n=r(77617),i=r(77545),o=r(4e4);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.TZ],termFunction:!0})}async run(e){return new o.TermFunctionTz}}t.ActorFunctionFactoryTermTz=a},4e4:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionTz=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.TZ,overloads:(0,i.declare)(i.SparqlOperator.TZ).onDateTime1((()=>e=>(0,i.string)((0,i.extractRawTimeZone)(e.str())))).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_DATE]}).copy({from:[i.TypeURL.XSD_DATE_TIME],to:[i.TypeURL.XSD_TIME]}).collect()})}}t.TermFunctionTz=o},4898:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1209),t)},52161:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUcase=void 0;const n=r(77617),i=r(77545),o=r(19722);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UCASE],termFunction:!0})}async run(e){return new o.TermFunctionUcase}}t.ActorFunctionFactoryTermUcase=a},19722:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUcase=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.UCASE,overloads:(0,i.declare)(i.SparqlOperator.UCASE).onString1Typed((()=>e=>(0,i.string)(e.toUpperCase()))).onLangString1((()=>e=>(0,i.langString)(e.typedValue.toUpperCase(),e.language))).collect()})}}t.TermFunctionUcase=o},55711:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52161),t)},36666:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUnaryMinus=void 0;const n=r(77617),i=r(77545),o=r(85959);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UMINUS],termFunction:!0})}async run(e){return new o.TermFunctionUnaryMinus}}t.ActorFunctionFactoryTermUnaryMinus=a},85959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUnaryMinus=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.UMINUS,overloads:(0,i.declare)(i.SparqlOperator.UMINUS).numericConverter((()=>e=>-e)).collect()})}}t.TermFunctionUnaryMinus=o},67186:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36666),t)},67444:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUnaryPlus=void 0;const n=r(77617),i=r(77545),o=r(14695);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UPLUS],termFunction:!0})}async run(e){return new o.TermFunctionUnaryPlus}}t.ActorFunctionFactoryTermUnaryPlus=a},14695:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUnaryPlus=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.UPLUS,overloads:(0,i.declare)(i.SparqlOperator.UPLUS).numericConverter((()=>e=>e)).collect()})}}t.TermFunctionUnaryPlus=o},2810:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67444),t)},93111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermUuid=void 0;const n=r(77617),i=r(77545),o=r(3742);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.UUID],termFunction:!0})}async run(e){return new o.TermFunctionUuid}}t.ActorFunctionFactoryTermUuid=a},3742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionUuid=void 0;const n=r(77617),i=r(77545),o=r(52553);class a extends n.TermFunctionBase{constructor(){super({arity:0,operator:i.SparqlOperator.UUID,overloads:(0,i.declare)(i.SparqlOperator.UUID).set([],(()=>()=>new i.NamedNode(`urn:uuid:${o.v4()}`))).collect()})}}t.TermFunctionUuid=a},2479:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(93111),t)},52553:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return c.default}});var n=p(r(19172)),i=p(r(17742)),o=p(r(78895)),a=p(r(34968)),s=p(r(44442)),c=p(r(21577)),u=p(r(48419)),l=p(r(3587)),d=p(r(23150));function p(e){return e&&e.__esModule?e:{default:e}}},93269:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function i(e,t,r,i,o,a){return n((s=n(n(t,e),n(i,a)))<<(c=o)|s>>>32-c,r);var s,c}function o(e,t,r,n,o,a,s){return i(t&r|~t&n,e,t,o,a,s)}function a(e,t,r,n,o,a,s){return i(t&n|r&~n,e,t,o,a,s)}function s(e,t,r,n,o,a,s){return i(t^r^n,e,t,o,a,s)}function c(e,t,r,n,o,a,s){return i(r^(t|~n),e,t,o,a,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(let r=0;r>5]>>>i%32&255,o=parseInt(n.charAt(r>>>4&15)+n.charAt(15&r),16);t.push(o)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[r/8])<{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};t.default=r},44442:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default="00000000-0000-0000-0000-000000000000"},23150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48419))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");let t;const r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r}},66294:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},78036:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r&&(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(n)};const n=new Uint8Array(16)},12512:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){const t=unescape(encodeURIComponent(e));e=[];for(let r=0;r>>0;d=l,l=u,u=n(c,30)>>>0,c=a,a=s}i[0]=i[0]+a>>>0,i[1]=i[1]+c>>>0,i[2]=i[2]+u>>>0,i[3]=i[3]+l>>>0,i[4]=i[4]+d>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},3587:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.unsafeStringify=a;var n,i=(n=r(48419))&&n.__esModule?n:{default:n};const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function a(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}t.default=function(e,t=0){const r=a(e,t);if(!(0,i.default)(r))throw TypeError("Stringified UUID is invalid");return r}},19172:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(78036))&&n.__esModule?n:{default:n},o=r(3587);let a,s,c=0,u=0;t.default=function(e,t,r){let n=t&&r||0;const l=t||new Array(16);let d=(e=e||{}).node||a,p=void 0!==e.clockseq?e.clockseq:s;if(null==d||null==p){const t=e.random||(e.rng||i.default)();null==d&&(d=a=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==p&&(p=s=16383&(t[6]<<8|t[7]))}let h=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:u+1;const y=h-c+(f-u)/1e4;if(y<0&&void 0===e.clockseq&&(p=p+1&16383),(y<0||h>c)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=h,u=f,s=p,h+=122192928e5;const g=(1e4*(268435455&h)+f)%4294967296;l[n++]=g>>>24&255,l[n++]=g>>>16&255,l[n++]=g>>>8&255,l[n++]=255&g;const m=h/4294967296*1e4&268435455;l[n++]=m>>>8&255,l[n++]=255&m,l[n++]=m>>>24&15|16,l[n++]=m>>>16&255,l[n++]=p>>>8|128,l[n++]=255&p;for(let e=0;e<6;++e)l[n+e]=d[e];return t||(0,o.unsafeStringify)(l)}},17742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(20775)),i=o(r(93269));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v3",48,i.default);t.default=a},20775:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.default=function(e,t,r){function n(e,n,a,s){var c;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(66806)),i=a(r(78036)),o=r(3587);function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const a=(e=e||{}).random||(e.rng||i.default)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return(0,o.unsafeStringify)(a)}},34968:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=o(r(20775)),i=o(r(12512));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,n.default)("v5",80,i.default);t.default=a},48419:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(66294))&&n.__esModule?n:{default:n};t.default=function(e){return"string"==typeof e&&i.default.test(e)}},21577:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(48419))&&n.__esModule?n:{default:n};t.default=function(e){if(!(0,i.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},83161:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToBoolean=void 0;const n=r(77617),i=r(77545),o=r(36424);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_BOOLEAN],termFunction:!0})}async run(e){return new o.TermFunctionXsdToBoolean}}t.ActorFunctionFactoryTermXsdToBoolean=a},36424:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToBoolean=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_BOOLEAN,overloads:(0,i.declare)(i.TypeURL.XSD_BOOLEAN).onNumeric1((()=>e=>(0,i.bool)(e.coerceEBV())),!0).onUnary(i.TypeURL.XSD_BOOLEAN,(()=>e=>(0,i.bool)(e.coerceEBV())),!0).onUnary(i.TypeURL.XSD_STRING,(()=>e=>{switch(e.str()){case"true":case"1":return(0,i.bool)(!0);case"false":case"0":return(0,i.bool)(!1);default:throw new i.CastError(e,i.TypeURL.XSD_BOOLEAN)}}),!1).collect()})}}t.TermFunctionXsdToBoolean=o},11554:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(83161),t)},79217:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDate=void 0;const n=r(77617),i=r(77545),o=r(42);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DATE],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDate}}t.ActorFunctionFactoryTermXsdToDate=a},42:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDate=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DATE,overloads:(0,i.declare)(i.TypeURL.XSD_DATE).onUnary(i.TypeURL.XSD_DATE,(()=>e=>new i.DateLiteral(e.typedValue,e.strValue))).onUnary(i.TypeURL.XSD_DATE_TIME,(()=>e=>new i.DateLiteral(e.typedValue))).onStringly1((()=>e=>new i.DateLiteral((0,i.parseDate)(e.str())))).collect()})}}t.TermFunctionXsdToDate=o},43406:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79217),t)},81093:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDatetime=void 0;const n=r(77617),i=r(77545),o=r(63082);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DATE_TIME],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDatetime}}t.ActorFunctionFactoryTermXsdToDatetime=a},63082:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDatetime=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DATE_TIME,overloads:(0,i.declare)(i.TypeURL.XSD_DATE_TIME).onUnary(i.TypeURL.XSD_DATE_TIME,(()=>e=>e)).onUnary(i.TypeURL.XSD_STRING,(()=>e=>(0,i.dateTime)((0,i.parseDateTime)(e.str()),e.str())),!1).onUnary(i.TypeURL.XSD_DATE,(()=>e=>new i.DateTimeLiteral({...e.typedValue,hours:0,minutes:0,seconds:0}))).collect()})}}t.TermFunctionXsdToDatetime=o},4523:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(81093),t)},77447:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDayTimeDuration=void 0;const n=r(77617),i=r(77545),o=r(9402);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DAY_TIME_DURATION],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDayTimeDuration}}t.ActorFunctionFactoryTermXsdToDayTimeDuration=a},9402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDayTimeDuration=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DAY_TIME_DURATION,overloads:(0,i.declare)(i.TypeURL.XSD_DAY_TIME_DURATION).onUnary(i.TypeURL.XSD_DURATION,(()=>e=>new i.DayTimeDurationLiteral((0,i.trimToDayTimeDuration)(e.typedValue)))).onStringly1((()=>e=>new i.DayTimeDurationLiteral((0,i.parseDayTimeDuration)(e.str())))).collect()})}}t.TermFunctionXsdToDayTimeDuration=o},69721:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77447),t)},92015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDecimal=void 0;const n=r(77617),i=r(77545),o=r(73410);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DECIMAL],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDecimal}}t.ActorFunctionFactoryTermXsdToDecimal=a},73410:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDecimal=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DECIMAL,overloads:(0,i.declare)(i.TypeURL.XSD_DECIMAL).onNumeric1((()=>e=>{const t=(0,i.parseXSDDecimal)(e.str());if(void 0===t)throw new i.CastError(e,i.TypeURL.XSD_DECIMAL);return(0,i.decimal)(t)})).onString1((()=>e=>{const t=e.str(),r=/^([+-])?(\d+(\.\d+)?)$/u.test(t)?(0,i.parseXSDDecimal)(t):void 0;if(void 0===r)throw new i.CastError(e,i.TypeURL.XSD_DECIMAL);return(0,i.decimal)(r)}),!1).onBoolean1Typed((()=>e=>(0,i.decimal)(e?1:0))).collect()})}}t.TermFunctionXsdToDecimal=o},25033:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92015),t)},48293:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDouble=void 0;const n=r(77617),i=r(77545),o=r(92810);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DOUBLE],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDouble}}t.ActorFunctionFactoryTermXsdToDouble=a},92810:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDouble=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DOUBLE,overloads:(0,i.declare)(i.TypeURL.XSD_DOUBLE).onNumeric1((()=>e=>(0,i.double)(e.typedValue))).onBoolean1Typed((()=>e=>(0,i.double)(e?1:0))).onUnary(i.TypeURL.XSD_STRING,(()=>e=>{const t=(0,i.parseXSDFloat)(e.str());if(void 0===t)throw new i.CastError(e,i.TypeURL.XSD_DOUBLE);return(0,i.double)(t)}),!1).collect()})}}t.TermFunctionXsdToDouble=o},99507:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48293),t)},97969:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToDuration=void 0;const n=r(77617),i=r(77545),o=r(2126);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_DURATION],termFunction:!0})}async run(e){return new o.TermFunctionXsdToDuration}}t.ActorFunctionFactoryTermXsdToDuration=a},2126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToDuration=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_DAY_TIME_DURATION,overloads:(0,i.declare)(i.TypeURL.XSD_DURATION).onUnary(i.TypeURL.XSD_DURATION,(()=>e=>new i.DurationLiteral(e.typedValue,e.strValue))).onStringly1((()=>e=>new i.DurationLiteral((0,i.parseDuration)(e.str())))).collect()})}}t.TermFunctionXsdToDuration=o},48758:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(97969),t)},20057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToFloat=void 0;const n=r(77617),i=r(77545),o=r(48260);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_FLOAT],termFunction:!0})}async run(e){return new o.TermFunctionXsdToFloat}}t.ActorFunctionFactoryTermXsdToFloat=a},48260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToFloat=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_FLOAT,overloads:(0,i.declare)(i.TypeURL.XSD_FLOAT).onNumeric1((()=>e=>(0,i.float)(e.typedValue))).onBoolean1Typed((()=>e=>(0,i.float)(e?1:0))).onUnary(i.TypeURL.XSD_STRING,(()=>e=>{const t=(0,i.parseXSDFloat)(e.str());if(void 0===t)throw new i.CastError(e,i.TypeURL.XSD_FLOAT);return(0,i.float)(t)}),!1).collect()})}}t.TermFunctionXsdToFloat=o},64068:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20057),t)},29637:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToInteger=void 0;const n=r(77617),i=r(77545),o=r(78740);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_INTEGER],termFunction:!0})}async run(e){return new o.TermFunctionXsdToInteger}}t.ActorFunctionFactoryTermXsdToInteger=a},78740:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToInteger=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_INTEGER,overloads:(0,i.declare)(i.TypeURL.XSD_INTEGER).onBoolean1Typed((()=>e=>(0,i.integer)(e?1:0))).onNumeric1((()=>e=>{if(!Number.isFinite(e.typedValue))throw new i.CastError(e,i.TypeURL.XSD_INTEGER);return(0,i.integer)(Math.trunc(e.typedValue))})).onString1((()=>e=>{const t=e.str(),r=/^\d+$/u.test(t)?Number.parseInt(t,10):void 0;if(void 0===r)throw new i.CastError(e,i.TypeURL.XSD_INTEGER);return(0,i.integer)(r)})).collect()})}}t.TermFunctionXsdToInteger=o},8096:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29637),t)},34169:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToString=void 0;const n=r(77617),i=r(77545),o=r(62082);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_STRING],termFunction:!0})}async run(e){return new o.TermFunctionXsdToString}}t.ActorFunctionFactoryTermXsdToString=a},62082:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToString=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_STRING,overloads:(0,i.declare)(i.TypeURL.XSD_STRING).onNumeric1((()=>e=>(0,i.string)((0,i.float)(e.typedValue).str()))).onBoolean1Typed((()=>e=>(0,i.string)((0,i.bool)(e).str()))).onTerm1((()=>e=>(0,i.string)(e.str()))).collect()})}}t.TermFunctionXsdToString=o},91799:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(34169),t)},57805:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToTime=void 0;const n=r(77617),i=r(77545),o=r(29754);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_TIME],termFunction:!0})}async run(e){return new o.TermFunctionXsdToTime}}t.ActorFunctionFactoryTermXsdToTime=a},29754:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToTime=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_TIME,overloads:(0,i.declare)(i.TypeURL.XSD_TIME).onUnary(i.TypeURL.XSD_TIME,(()=>e=>new i.TimeLiteral(e.typedValue,e.strValue))).onUnary(i.TypeURL.XSD_DATE_TIME,(()=>e=>new i.TimeLiteral(e.typedValue))).onStringly1((()=>e=>new i.TimeLiteral((0,i.parseTime)(e.str())))).collect()})}}t.TermFunctionXsdToTime=o},18895:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(57805),t)},17919:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermXsdToYearMonthDuration=void 0;const n=r(77617),i=r(77545),o=r(60882);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.TypeURL.XSD_YEAR_MONTH_DURATION],termFunction:!0})}async run(e){return new o.TermFunctionXsdToYearMonthDuration}}t.ActorFunctionFactoryTermXsdToYearMonthDuration=a},60882:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionXsdToYearMonthDuration=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.TypeURL.XSD_YEAR_MONTH_DURATION,overloads:(0,i.declare)(i.TypeURL.XSD_YEAR_MONTH_DURATION).onUnary(i.TypeURL.XSD_DURATION,(()=>e=>new i.YearMonthDurationLiteral((0,i.trimToYearMonthDuration)(e.typedValue)))).onStringly1((()=>e=>new i.YearMonthDurationLiteral((0,i.parseYearMonthDuration)(e.str())))).collect()})}}t.TermFunctionXsdToYearMonthDuration=o},26143:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17919),t)},29395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryTermYear=void 0;const n=r(77617),i=r(77545),o=r(49562);class a extends n.ActorFunctionFactoryDedicated{constructor(e){super({...e,functionNames:[i.SparqlOperator.YEAR],termFunction:!0})}async run(e){return new o.TermFunctionYear}}t.ActorFunctionFactoryTermYear=a},49562:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionYear=void 0;const n=r(77617),i=r(77545);class o extends n.TermFunctionBase{constructor(){super({arity:1,operator:i.SparqlOperator.YEAR,overloads:(0,i.declare)(i.SparqlOperator.YEAR).onDateTime1((()=>e=>(0,i.integer)(e.typedValue.year))).set([i.TypeURL.XSD_DATE],(()=>([e])=>(0,i.integer)(e.typedValue.year))).collect()})}}t.TermFunctionYear=o},22361:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29395),t)},29856:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashBindingsMurmur=void 0;const n=r(16235),i=r(90412),o=r(24799);class a extends n.ActorHashBindings{async test(e){return(0,i.passTestVoid)()}async run(e){return{hashFunction:(e,t)=>{let r=o();for(const n of t)r=r.hash(e.get(n)?.value??"UNDEF");return r.result()}}}}t.ActorHashBindingsMurmur=a},47111:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29856),t)},45122:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashQuadsMurmur=void 0;const n=r(65239),i=r(90412),o=r(24799);class a extends n.ActorHashQuads{async test(e){return(0,i.passTestVoid)()}async run(e){return{hashFunction:e=>{const t=o(e.subject.value);return t.hash(e.predicate.value),t.hash(e.object.value),t.hash(e.graph.value),t.result()}}}}t.ActorHashQuadsMurmur=a},33401:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45122),t)},38951:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpFetch=void 0;const n=r(70322),i=r(90711),o=r(90412),a=r(48393),s=r(57006);class c extends n.ActorHttp{constructor(e){super(e),this.fetchInitPreprocessor=new s.FetchInitPreprocessor(e.agentOptions)}async test(e){return(0,o.passTest)({time:Number.POSITIVE_INFINITY})}async run(e){const t=this.prepareRequestHeaders(e),r={method:"GET",...e.init,headers:t};this.logInfo(e.context,`Requesting ${n.ActorHttp.getInputUrl(e.input).href}`,(()=>({headers:n.ActorHttp.headersToHash(t),method:r.method}))),e.context.has(i.KeysHttp.fetch)&&(r.headers=n.ActorHttp.headersToHash(t)),e.context.get(i.KeysHttp.includeCredentials)&&(r.credentials="include");const o=e.context.get(i.KeysHttp.httpTimeout),a=e.context.get(i.KeysHttp.httpBodyTimeout),s=e.context.get(i.KeysHttp.fetch)??fetch,c=await this.fetchInitPreprocessor.handle(r);let u,l;if(o){const t=new AbortController;c.signal=t.signal,u=()=>t.abort(new Error(`Fetch timed out for ${n.ActorHttp.getInputUrl(e.input).href} after ${o} ms`)),l=setTimeout((()=>u()),o)}const d=await s(e.input,c);return!o||a&&d.body||clearTimeout(l),d}prepareRequestHeaders(e){const t=new Headers(e.init?.headers);n.ActorHttp.isBrowser()?t.delete("user-agent"):t.has("user-agent")||t.set("user-agent",c.userAgent);const r=e.context.get(i.KeysHttp.auth);return r&&t.set("Authorization",`Basic ${c.stringToBase64(r)}`),t}static stringToBase64(e){const t=(new TextEncoder).encode(e),r=Array.from(t,(e=>String.fromCodePoint(e))).join("");return btoa(r)}}t.ActorHttpFetch=c,c.userAgent=n.ActorHttp.createUserAgent("ActorHttpFetch",a.version)},57006:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchInitPreprocessor=void 0,t.FetchInitPreprocessor=class{async handle(e){if(e.body&&"string"!=typeof e.body&&"getReader"in e.body){const t=e.body.getReader(),r=[];for(;;){const{done:e,value:n}=await t.read();if(e)break;r.push(n)}e.body=r.join("")}return{...e,keepalive:!e.body}}}},90178:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38951),t)},44407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpProxy=void 0;const n=r(70322),i=r(90711),o=r(90412);class a extends n.ActorHttp{constructor(e){super(e)}async test(e){const t=e.context.get(i.KeysHttpProxy.httpProxyHandler);return t?await t.getProxy(e)?(0,o.passTest)({time:Number.POSITIVE_INFINITY}):(0,o.failTest)(`Actor ${this.name} could not determine a proxy for the given request.`):(0,o.failTest)(`Actor ${this.name} could not find a proxy handler in the context.`)}async run(e){const t="string"==typeof e.input?e.input:e.input.url,r=e.context.get(i.KeysHttpProxy.httpProxyHandler),n=await this.mediatorHttp.mediate({...await r.getProxy(e),context:e.context.delete(i.KeysHttpProxy.httpProxyHandler)});return Object.defineProperty(n,"url",{configurable:!0,enumerable:!0,get:()=>n.headers.get("x-final-url")??t}),n}}t.ActorHttpProxy=a},80570:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProxyHandlerStatic=void 0,t.ProxyHandlerStatic=class{constructor(e){this.prefixUrl=e}async getProxy(e){return{init:e.init,input:this.modifyInput(e.input)}}modifyInput(e){return"string"==typeof e?this.prefixUrl+e:new Request(this.prefixUrl+e.url,e)}}},75050:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(44407),t),i(r(80570),t)},26471:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpRetry=void 0;const n=r(70322),i=r(90711),o=r(90412);class a extends n.ActorHttp{constructor(e){super(e),this.activeDelays={},this.httpInvalidator=e.httpInvalidator,this.httpInvalidator.addInvalidateListener((e=>this.handleHttpInvalidateEvent(e))),this.mediatorHttp=e.mediatorHttp}async test(e){if(e.context.has(a.keyWrapped))return(0,o.failTest)(`${this.name} can only wrap a request once`);const t=e.context.get(i.KeysHttp.httpRetryCount);return!t||t<1?(0,o.failTest)(`${this.name} requires a retry count greater than zero to function`):(0,o.passTest)({time:0})}async run(e){const t=n.ActorHttp.getInputUrl(e.input),r=e.context.getSafe(i.KeysHttp.httpRetryCount)+1,o=e.context.get(i.KeysHttp.httpRetryDelayFallback)??0,s=e.context.get(i.KeysHttp.httpRetryDelayLimit),c=e.context.get(i.KeysHttp.httpRetryStatusCodes);for(let n=1;n<=r;n++){const i=t.host in this.activeDelays?this.activeDelays[t.host].date.getTime()-Date.now():o;if(s&&i>s){this.logWarn(e.context,"Requested delay exceeds the limit",(()=>({url:t.href,delay:i,delayDate:this.activeDelays[t.host].date.toISOString(),delayLimit:s,currentAttempt:`${n} / ${r}`})));break}i>0&&n>1&&(this.logDebug(e.context,"Delaying request",(()=>({url:t.href,delay:i,currentAttempt:`${n} / ${r}`}))),await a.sleep(i));const u=await this.mediatorHttp.mediate({...e,context:e.context.set(a.keyWrapped,!0)});if(u.ok)return u;if(c&&c.includes(u.status))this.logDebug(e.context,"Status code in force retry list, forcing retry",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})));else if(504!==u.status)if(429!==u.status&&503!==u.status){if(u.status>=400&&u.status<500){this.logDebug(e.context,"Server reported client-side error",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})));break}if(u.status>=500&&u.status<600){this.logDebug(e.context,"Server-side error encountered, terminating",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})));break}this.logDebug(e.context,"Request failed",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})))}else{const i=u.headers.get("retry-after");if(i){const o=a.parseRetryAfterHeader(i);o?(t.host in this.activeDelays&&clearTimeout(this.activeDelays[t.host].timeout),this.activeDelays[t.host]={date:o,timeout:setTimeout((()=>delete this.activeDelays[t.host]),Date.now()-o.getTime())}):this.logDebug(e.context,"Invalid Retry-After header value from server",(()=>({url:t.href,status:u.status,statusText:u.statusText,retryAfterHeader:i,currentAttempt:`${n} / ${r}`})))}this.logDebug(e.context,"Server temporarily unavailable",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})))}else this.logDebug(e.context,"Received proxy timeout",(()=>({url:t.href,status:u.status,statusText:u.statusText,currentAttempt:`${n} / ${r}`})))}throw new Error(`Request failed: ${t.href}`)}static async sleep(e){e>0&&await new Promise((t=>setTimeout(t,e)))}static parseRetryAfterHeader(e){return a.numberRegex.test(e)?new Date(Date.now()+1e3*Number.parseInt(e,10)):a.dateRegex.test(e)?new Date(e):void 0}handleHttpInvalidateEvent(e){const t=e.url?new URL(e.url).host:void 0;for(const e of Object.keys(this.activeDelays))t&&e!==t||(clearTimeout(this.activeDelays[e].timeout),delete this.activeDelays[e])}}t.ActorHttpRetry=a,a.dateRegex=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$/u,a.numberRegex=/^[0-9]+$/u,a.keyWrapped=new o.ActionContextKey("urn:comunica:actor-http-retry#wrapped")},84600:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26471),t)},50311:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpWayback=void 0;const n=r(70322),i=r(90711),o=r(90412),a=r(52728),s="http://wayback.archive-it.org/";function c(e){const t=new Request(e.input,e.init);return{input:new Request(new URL(`/${t.url}`,s),t)}}function u(e){const t=e.get(i.KeysHttpProxy.httpProxyHandler);return t?e=>t.getProxy(c(e)):e=>Promise.resolve(c(e))}class l extends n.ActorHttp{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){let t=await this.mediatorHttp.mediate(e);if(404===t.status&&e.context.get(i.KeysHttpWayback.recoverBrokenLinks)){let r=await this.mediatorHttp.mediate({...e,context:e.context.set(i.KeysHttpWayback.recoverBrokenLinks,!1).set(i.KeysHttpProxy.httpProxyHandler,{getProxy:u(e.context)})});200===r.status&&([t,r]=[r,t]);const{body:o}=r;o&&("cancel"in o&&"function"==typeof o.cancel?await o.cancel():"destroy"in o&&"function"==typeof o.destroy?o.destroy():await(0,a.stringify)(n.ActorHttp.toNodeReadable(o)))}return t}}t.ActorHttpWayback=l},23794:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50311),t)},20358:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorInitQuery=void 0;const n=r(53638);"undefined"==typeof process&&(globalThis.process=r(65606));class i extends n.ActorInitQueryBase{}t.ActorInitQuery=i},53638:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorInitQueryBase=void 0;const n=r(6180),i=r(90412);class o extends n.ActorInit{async test(e){return(0,i.passTestVoid)()}async run(e){throw new Error("ActorInitSparql#run is not supported in the browser.")}}t.ActorInitQueryBase=o},76235:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryEngineBase=void 0;const n=r(90711),i=r(90412);class o{constructor(e){this.actorInitQuery=e}async queryBindings(e,t){return this.queryOfType(e,t,"bindings")}async queryQuads(e,t){return this.queryOfType(e,t,"quads")}async queryBoolean(e,t){return this.queryOfType(e,t,"boolean")}async queryVoid(e,t){return this.queryOfType(e,t,"void")}async queryOfType(e,t,r){const n=await this.query(e,t);if(n.resultType===r)return await n.execute();throw new Error(`Query result type '${r}' was expected, while '${n.resultType}' was found.`)}async query(e,t){const r=await this.queryOrExplain(e,t);if("explain"in r)throw new Error("Tried to explain a query when in query-only mode");return r}async explain(e,t,r){return t.explain=r,await this.queryOrExplain(e,t)}async queryOrExplain(e,t){const r=i.ActionContext.ensureActionContext(t);r.get(n.KeysInitQuery.invalidateCache)&&await this.invalidateHttpCache();const{result:a}=await this.actorInitQuery.mediatorQueryProcess.mediate({query:e,context:r});return"explain"in a?a:o.internalToFinalResult(a)}async getResultMediaTypes(e){return e=i.ActionContext.ensureActionContext(e),(await this.actorInitQuery.mediatorQueryResultSerializeMediaTypeCombiner.mediate({context:e,mediaTypes:!0})).mediaTypes}async getResultMediaTypeFormats(e){return e=i.ActionContext.ensureActionContext(e),(await this.actorInitQuery.mediatorQueryResultSerializeMediaTypeFormatCombiner.mediate({context:e,mediaTypeFormats:!0})).mediaTypeFormats}async resultToString(e,t,r){if(r=i.ActionContext.ensureActionContext(r),!t)switch(e.resultType){case"bindings":t="application/json";break;case"quads":t="application/trig";break;default:t="simple"}const n={...await o.finalToInternalResult(e),context:r};return(await this.actorInitQuery.mediatorQueryResultSerialize.mediate({context:r,handle:n,handleMediaType:t})).handle}invalidateHttpCache(e,t){return t=i.ActionContext.ensureActionContext(t),this.actorInitQuery.mediatorHttpInvalidate.mediate({url:e,context:t})}static internalToFinalResult(e){switch(e.type){case"bindings":return{resultType:"bindings",execute:async()=>e.bindingsStream,metadata:async()=>{const t=await e.metadata();return t.variables=t.variables.map((e=>e.variable)),t},context:e.context};case"quads":return{resultType:"quads",execute:async()=>e.quadStream,metadata:async()=>await e.metadata(),context:e.context};case"boolean":return{resultType:"boolean",execute:async()=>e.execute(),context:e.context};case"void":return{resultType:"void",execute:async()=>e.execute(),context:e.context}}}static async finalToInternalResult(e){switch(e.resultType){case"bindings":return{type:"bindings",bindingsStream:await e.execute(),metadata:async()=>{const t=await e.metadata();return t.variables=t.variables.map((e=>({variable:e,canBeUndef:!1}))),t}};case"quads":return{type:"quads",quadStream:await e.execute(),metadata:async()=>await e.metadata()};case"boolean":return{type:"boolean",execute:()=>e.execute()};case"void":return{type:"void",execute:()=>e.execute()}}}}t.QueryEngineBase=o},12301:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.QueryEngineBase=void 0,i(r(53638),t),i(r(20358),t);var o=r(76235);Object.defineProperty(t,"QueryEngineBase",{enumerable:!0,get:function(){return o.QueryEngineBase}})},85821:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationAssignSourcesExhaustive=void 0;const n=r(38912),i=r(16657),o=r(90711),a=r(90412),s=r(67021),c=r(96331);class u extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,a.passTestVoid)()}async run(e){const t=e.context.getSafe(o.KeysInitQuery.dataFactory),r=new c.Factory(t),n=e.context.get(o.KeysQueryOperation.querySources)??[];if(0===n.length)return{operation:e.operation,context:e.context};if(1===n.length){const t=n[0],r=e.context.get(o.KeysRdfUpdateQuads.destination);if(!r||t.source.referenceValue===(0,i.getDataDestinationValue)(r))try{const r=await t.source.getSelectorShape(e.context);if((0,s.doesShapeAcceptOperation)(r,e.operation))return{operation:(0,s.assignOperationSource)(e.operation,t),context:e.context}}catch{}}return{operation:this.assignExhaustive(r,e.operation,n),context:e.context.delete(o.KeysInitQuery.queryString)}}assignExhaustive(e,t,r){const n=this;return c.Util.mapOperation(t,{[c.Algebra.types.PATTERN]:(e,t)=>1===r.length?{result:(0,s.assignOperationSource)(e,r[0]),recurse:!1}:{result:t.createUnion(r.map((t=>(0,s.assignOperationSource)(e,t)))),recurse:!1},[c.Algebra.types.LINK]:(e,t)=>1===r.length?{result:(0,s.assignOperationSource)(e,r[0]),recurse:!1}:{result:t.createAlt(r.map((t=>(0,s.assignOperationSource)(e,t)))),recurse:!1},[c.Algebra.types.NPS]:(e,t)=>1===r.length?{result:(0,s.assignOperationSource)(e,r[0]),recurse:!1}:{result:t.createAlt(r.map((t=>(0,s.assignOperationSource)(e,t)))),recurse:!1},[c.Algebra.types.SERVICE]:e=>({result:e,recurse:!1}),[c.Algebra.types.CONSTRUCT]:(t,i)=>({result:i.createConstruct(n.assignExhaustive(e,t.input,r),t.template),recurse:!1}),[c.Algebra.types.DELETE_INSERT]:(t,i)=>({result:i.createDeleteInsert(t.delete,t.insert,t.where?n.assignExhaustive(e,t.where,r):void 0),recurse:!1})},e)}}t.ActorOptimizeQueryOperationAssignSourcesExhaustive=u},2425:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(85821),t)},68219:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationBgpToJoin=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{bgp:(e,t)=>({recurse:!1,result:t.createJoin(e.patterns)})},r),context:e.context}}}t.ActorOptimizeQueryOperationBgpToJoin=s},60192:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(68219),t)},25538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationConstructDistinct=void 0;const n=r(38912),i=r(19039),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return e.context.has(i.KeysInitQuery.distinctConstruct)?(0,o.passTestVoid)():(0,o.failTest)(`${this.name} was not enabled by the query.`)}async run(e){return{operation:a.Util.mapOperation(e.operation,{construct:(e,t)=>({recurse:!1,result:t.createDistinct(t.createConstruct(e.input,e.template))})}),context:e.context.delete(i.KeysInitQuery.distinctConstruct)}}}t.ActorOptimizeQueryOperationConstructDistinct=s},98832:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(25538),t)},43120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationDescribeToConstructsSubject=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return e.operation.type!==a.Algebra.types.DESCRIBE?(0,o.failTest)(`Actor ${this.name} only supports describe operations, but got ${e.operation.type}`):(0,o.passTest)(!0)}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t),n=e.operation,o=n.terms.filter((e=>"Variable"!==e.termType)).map((e=>{const r=[t.quad(e,t.variable("__predicate"),t.variable("__object"))];return r.forEach((e=>e.type="pattern")),{input:{type:a.Algebra.types.BGP,patterns:r},template:r,type:"construct"}}));if(o.length!==n.terms.length){let e=[];n.terms.filter((e=>"Variable"===e.termType)).forEach(((r,n)=>{const i=[t.quad(r,t.variable(`__predicate${n}`),t.variable(`__object${n}`))];i.forEach((e=>e.type="pattern")),e=[...e,...i]})),o.push({input:{type:a.Algebra.types.JOIN,input:[n.input,{type:a.Algebra.types.BGP,patterns:e}]},template:e,type:a.Algebra.types.CONSTRUCT})}return{operation:r.createUnion(o,!1),context:e.context}}}t.ActorOptimizeQueryOperationDescribeToConstructsSubject=s},31399:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(43120),t)},33704:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationFilterPushdown=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(67021),s=r(3285),c=r(96331);class u extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new c.Factory(t);let n=e.operation;const o=this;this.splitConjunctive&&(n=c.Util.mapOperation(n,{filter:(t,r)=>t.expression.expressionType===c.Algebra.expressionTypes.OPERATOR&&"&&"===t.expression.operator?(o.logDebug(e.context,`Split conjunctive filter into ${t.expression.args.length} nested filters`),{recurse:!0,result:t.expression.args.reduce(((e,t)=>r.createFilter(e,t)),t.input)}):{recurse:!0,result:t}},r));const a=this.getSources(n),s=new Map(await Promise.all(a.map((async t=>[t,await t.source.getSelectorShape(e.context)]))));let u=!0,l=0;for(;u&&l1&&o.logDebug(e.context,`Pushed down filters in ${l} iterations`),this.mergeConjunctive&&(n=c.Util.mapOperation(n,{filter(t,r){if(t.input.type===c.Algebra.types.FILTER){const{nestedExpressions:n,input:i}=o.getNestedFilterExpressions(t);return o.logDebug(e.context,`Merge ${n.length} nested filters into conjunctive filter`),{recurse:!0,result:r.createFilter(i,n.slice(1).reduce(((e,t)=>r.createOperatorExpression("&&",[e,t])),n[0]))}}return{recurse:!0,result:t}}})),{operation:n,context:e.context}}shouldAttemptPushDown(e,t,r){if(this.aggressivePushdown)return!0;const n=e.expression;return n.expressionType===c.Algebra.expressionTypes.OPERATOR&&"="===n.operator&&("term"===n.args[0].expressionType&&"Variable"!==n.args[0].term.termType&&"term"===n.args[1].expressionType&&"Variable"===n.args[1].term.termType||"term"===n.args[0].expressionType&&"Variable"===n.args[0].term.termType&&"term"===n.args[1].expressionType&&"Variable"!==n.args[1].term.termType)||!!t.some((t=>(0,a.doesShapeAcceptOperation)(r.get(t),e)))}getSources(e){const t=new Set,r=e=>{const r=(0,a.getOperationSource)(e);return r&&t.add(r),!1};return c.Util.recurseOperation(e,{[c.Algebra.types.PATTERN]:r,[c.Algebra.types.LINK]:r,[c.Algebra.types.NPS]:r,[c.Algebra.types.SERVICE]:r}),[...t]}getExpressionVariables(e){switch(e.expressionType){case c.Algebra.expressionTypes.AGGREGATE:case c.Algebra.expressionTypes.WILDCARD:throw new Error(`Getting expression variables is not supported for ${e.expressionType}`);case c.Algebra.expressionTypes.EXISTENCE:return c.Util.inScopeVariables(e.input);case c.Algebra.expressionTypes.NAMED:return[];case c.Algebra.expressionTypes.OPERATOR:return(0,s.uniqTerms)(e.args.flatMap((e=>this.getExpressionVariables(e))));case c.Algebra.expressionTypes.TERM:return"Variable"===e.term.termType?[e.term]:[]}}getOverlappingOperations(e,t){const r=[],n=[],i=[];for(const o of e.input){const e=c.Util.inScopeVariables(o);this.variablesSubSetOf(t,e)?r.push(o):this.variablesIntersect(t,e)?n.push(o):i.push(o)}return{fullyOverlapping:r,partiallyOverlapping:n,notOverlapping:i}}filterPushdown(e,t,r,n,i){if(this.isExpressionFalse(e))return[!0,n.createUnion([])];if(e.type===c.Algebra.types.EXPRESSION&&e.expressionType===c.Algebra.expressionTypes.EXISTENCE)return[!1,n.createFilter(r,e)];switch(r.type){case c.Algebra.types.EXTEND:return this.variablesIntersect([r.variable],t)?[!1,n.createFilter(r,e)]:[!0,n.createExtend(this.filterPushdown(e,t,r.input,n,i)[1],r.variable,r.expression)];case c.Algebra.types.FILTER:{const[o,a]=this.filterPushdown(e,t,r.input,n,i);return[o,n.createFilter(a,r.expression)]}case c.Algebra.types.JOIN:{if(0===r.input.length)return[!1,n.createFilter(r,e)];const{fullyOverlapping:o,partiallyOverlapping:a,notOverlapping:s}=this.getOverlappingOperations(r,t),c=[];let u=!1;return o.length>0&&(u=!0,c.push(n.createJoin(o.map((r=>this.filterPushdown(e,t,r,n,i)[1]))))),a.length>0&&c.push(n.createFilter(n.createJoin(a,!1),e)),s.length>0&&c.push(...s),c.length>1&&(u=!0),u&&this.logDebug(i,`Push down filter across join entries with ${o.length} fully overlapping, ${a.length} partially overlapping, and ${s.length} not overlapping`),[u,1===c.length?c[0]:n.createJoin(c)]}case c.Algebra.types.NOP:return[!0,r];case c.Algebra.types.PROJECT:return this.variablesIntersect(r.variables,t)?[!0,n.createProject(this.filterPushdown(e,t,r.input,n,i)[1],r.variables)]:[!0,r];case c.Algebra.types.UNION:{const{fullyOverlapping:o,partiallyOverlapping:a,notOverlapping:s}=this.getOverlappingOperations(r,t),c=[];let u=!1;return o.length>0&&(u=!0,c.push(n.createUnion(o.map((r=>this.filterPushdown(e,t,r,n,i)[1]))))),a.length>0&&c.push(n.createFilter(n.createUnion(a,!1),e)),s.length>0&&c.push(...s),c.length>1&&(u=!0),u&&this.logDebug(i,`Push down filter across union entries with ${o.length} fully overlapping, ${a.length} partially overlapping, and ${s.length} not overlapping`),[u,1===c.length?c[0]:n.createUnion(c)]}case c.Algebra.types.VALUES:return this.variablesIntersect(r.variables,t)?[!1,n.createFilter(r,e)]:[!0,r];case c.Algebra.types.LEFT_JOIN:if(this.pushIntoLeftJoins){const o=c.Util.inScopeVariables(r.input[1]);if(!this.variablesIntersect(t,o))return this.logDebug(i,"Push down filter into left join"),[!0,n.createLeftJoin(this.filterPushdown(e,t,r.input[0],n,i)[1],r.input[1],r.expression)]}return[!1,n.createFilter(r,e)];case c.Algebra.types.PATTERN:if(this.pushEqualityIntoPatterns){const t=this.getEqualityExpressionPushableIntoPattern(e);if(t){let e=!1;const o=r.metadata;if((r=(0,s.mapTermsNested)(r,(r=>r.equals(t.variable)?(e=!0,t.term):r))).type=c.Algebra.types.PATTERN,r.metadata=o,e)return this.logDebug(i,`Push down filter into pattern for ?${t.variable.value}`),[!0,n.createJoin([r,n.createValues([t.variable],[{[`?${t.variable.value}`]:t.term}])])]}}return[!1,n.createFilter(r,e)];case c.Algebra.types.PATH:if(this.pushEqualityIntoPatterns){const t=this.getEqualityExpressionPushableIntoPattern(e);if(t&&(r.subject.equals(t.variable)||r.object.equals(t.variable))){this.logDebug(i,`Push down filter into path for ?${t.variable.value}`);const e=r.metadata;return(r=n.createPath(r.subject.equals(t.variable)?t.term:r.subject,r.predicate,r.object.equals(t.variable)?t.term:r.object)).metadata=e,[!0,n.createJoin([r,n.createValues([t.variable],[{[`?${t.variable.value}`]:t.term}])])]}}return[!1,n.createFilter(r,e)];case c.Algebra.types.MINUS:case c.Algebra.types.ALT:case c.Algebra.types.ASK:case c.Algebra.types.BGP:case c.Algebra.types.CONSTRUCT:case c.Algebra.types.DESCRIBE:case c.Algebra.types.DISTINCT:case c.Algebra.types.EXPRESSION:case c.Algebra.types.FROM:case c.Algebra.types.GRAPH:case c.Algebra.types.GROUP:case c.Algebra.types.INV:case c.Algebra.types.LINK:case c.Algebra.types.NPS:case c.Algebra.types.ONE_OR_MORE_PATH:case c.Algebra.types.ORDER_BY:case c.Algebra.types.REDUCED:case c.Algebra.types.SEQ:case c.Algebra.types.SERVICE:case c.Algebra.types.SLICE:case c.Algebra.types.ZERO_OR_MORE_PATH:case c.Algebra.types.ZERO_OR_ONE_PATH:case c.Algebra.types.COMPOSITE_UPDATE:case c.Algebra.types.DELETE_INSERT:case c.Algebra.types.LOAD:case c.Algebra.types.CLEAR:case c.Algebra.types.CREATE:case c.Algebra.types.DROP:case c.Algebra.types.ADD:case c.Algebra.types.MOVE:case c.Algebra.types.COPY:return[!1,n.createFilter(r,e)]}}getEqualityExpressionPushableIntoPattern(e){if(e.expressionType===c.Algebra.expressionTypes.OPERATOR&&"="===e.operator){if("term"===e.args[0].expressionType&&"Variable"!==e.args[0].term.termType&&("Literal"!==e.args[0].term.termType||this.isLiteralWithCanonicalLexicalForm(e.args[0].term))&&"term"===e.args[1].expressionType&&"Variable"===e.args[1].term.termType)return{variable:e.args[1].term,term:e.args[0].term};if("term"===e.args[0].expressionType&&"Variable"===e.args[0].term.termType&&"term"===e.args[1].expressionType&&"Variable"!==e.args[1].term.termType&&("Literal"!==e.args[1].term.termType||this.isLiteralWithCanonicalLexicalForm(e.args[1].term)))return{variable:e.args[0].term,term:e.args[1].term}}}isLiteralWithCanonicalLexicalForm(e){if("Literal"===e.termType)switch(e.datatype.value){case"http://www.w3.org/2001/XMLSchema#string":case"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString":case"http://www.w3.org/2001/XMLSchema#normalizedString":case"http://www.w3.org/2001/XMLSchema#anyURI":case"http://www.w3.org/2001/XMLSchema#base64Binary":case"http://www.w3.org/2001/XMLSchema#language":case"http://www.w3.org/2001/XMLSchema#Name":case"http://www.w3.org/2001/XMLSchema#NCName":case"http://www.w3.org/2001/XMLSchema#NMTOKEN":case"http://www.w3.org/2001/XMLSchema#token":case"http://www.w3.org/2001/XMLSchema#hexBinary":return!0}return!1}variablesIntersect(e,t){return e.some((e=>t.some((t=>e.equals(t)))))}variablesSubSetOf(e,t){return e.length<=t.length&&e.every((e=>t.some((t=>e.equals(t)))))}isExpressionFalse(e){return e.term&&"Literal"===e.term.termType&&"false"===e.term.value}getNestedFilterExpressions(e){if(e.input.type===c.Algebra.types.FILTER){const t=this.getNestedFilterExpressions(e.input);return{nestedExpressions:[e.expression,...t.nestedExpressions],input:t.input}}return{nestedExpressions:[e.expression],input:e.input}}}t.ActorOptimizeQueryOperationFilterPushdown=u},62001:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33704),t)},66284:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationGroupSources=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(67021),s=r(96331);class c extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,a.getOperationSource)(e.operation)?(0,o.failTest)(`Actor ${this.name} does not work with top-level operation sources.`):(0,o.passTestVoid)()}async run(e){return{operation:await this.groupOperation(e.operation,e.context),context:e.context}}async groupOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new s.Factory(r);if((0,a.getOperationSource)(e)??!("input"in e))return e;if(!Array.isArray(e.input)){const r=await this.groupOperation(e.input,t);if(r.metadata?.scopedSource){const n=(0,a.getOperationSource)(r);(0,a.doesShapeAcceptOperation)(await n.source.getSelectorShape(t),e)&&(this.logDebug(t,`Hoist 1 source-specific operation into a single ${e.type} operation for ${n.source.toString()}`),(0,a.removeOperationSource)(r),e=(0,a.assignOperationSource)(e,n))}return{...e,input:r}}const o=await Promise.all(e.input.map((e=>this.groupOperation(e,t)))),c=this.clusterOperationsWithEqualSources(o);if(1===c.length){const r=c[0],n=(0,a.getOperationSource)(c[0][0]);return{...await this.moveSourceAnnotationUpwardsIfPossible(e,r,n,t),input:r}}if(c.length===o.length)return{...e,input:o};let u;switch(e.type){case s.Algebra.types.JOIN:u=n.createJoin.bind(n);break;case s.Algebra.types.UNION:u=n.createUnion.bind(n);break;case s.Algebra.types.ALT:u=n.createAlt.bind(n);break;case s.Algebra.types.SEQ:u=n.createSeq.bind(n);break;default:throw new Error(`Unsupported operation '${e.type}' detected while grouping sources`)}return await this.groupOperationMulti(c,u,t)}async groupOperationMulti(e,t,r){let n=!0;const i=await Promise.all(e.map((async e=>{const i=(0,a.getOperationSource)(e[0]),o=await this.moveSourceAnnotationUpwardsIfPossible(t(e,!0),e,i,r);return(0,a.getOperationSource)(o)&&(n=!1),o})));return t(i,n)}clusterOperationsWithEqualSources(e){const t=new Map,r=[];for(const n of e){const e=(0,a.getOperationSource)(n);e?(t.has(e)||t.set(e,[]),t.get(e).push(n)):r.push(n)}const n=[];r.length>0&&n.push(r);for(const[e,r]of t.entries())n.push(r.map((t=>(0,a.assignOperationSource)(t,e))));return n}async moveSourceAnnotationUpwardsIfPossible(e,t,r,n){if(r&&(0,a.doesShapeAcceptOperation)(await r.source.getSelectorShape(n),e)){this.logDebug(n,`Hoist ${t.length} source-specific operations into a single ${e.type} operation for ${r.source.toString()}`),e=(0,a.assignOperationSource)(e,r);for(const e of t)(0,a.removeOperationSource)(e)}return e}}t.ActorOptimizeQueryOperationGroupSources=c},92012:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(66284),t)},13574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationJoinBgp=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{join:(e,t)=>e.input.every((e=>"bgp"===e.type))?{recurse:!1,result:t.createBgp(e.input.flatMap((e=>e.patterns)))}:{recurse:!1,result:e}},r),context:e.context}}}t.ActorOptimizeQueryOperationJoinBgp=s},34304:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13574),t)},79646:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationJoinConnected=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{join:(e,t)=>({recurse:!1,result:s.cluster(e,t)})},r),context:e.context}}static cluster(e,t){let r,n=e.input.map((e=>({inScopeVariables:Object.fromEntries(a.Util.inScopeVariables(e).map((e=>[e.value,!0]))),entries:[e]})));do{r=n,n=s.clusterIteration(r)}while(r.length!==n.length);const i=n.map((e=>1===e.entries.length?e.entries[0]:t.createJoin(e.entries)));return 1===i.length?i[0]:t.createJoin(i,!1)}static clusterIteration(e){const t=[];for(const r of e){let e=!1;for(const n of t)if(s.haveOverlappingVariables(r.inScopeVariables,n.inScopeVariables)){n.entries=[...n.entries,...r.entries],n.inScopeVariables={...n.inScopeVariables,...r.inScopeVariables},e=!0;break}e||t.push({inScopeVariables:r.inScopeVariables,entries:r.entries})}return t}static haveOverlappingVariables(e,t){for(const r of Object.keys(e))if(t[r])return!0;return!1}}t.ActorOptimizeQueryOperationJoinConnected=s},5118:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79646),t)},1166:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationPruneEmptySourceOperations=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(67021),s=r(96331);class c extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,a.getOperationSource)(e.operation)?(0,o.failTest)(`Actor ${this.name} does not work with top-level operation sources.`):(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Factory(t);let n=e.operation;const o=[],u=this;s.Util.recurseOperation(n,{[s.Algebra.types.UNION]:e=>(u.collectMultiOperationInputs(e.input,o,s.Algebra.types.PATTERN),!0),[s.Algebra.types.ALT]:e=>(u.collectMultiOperationInputs(e.input,o,s.Algebra.types.LINK),!1),[s.Algebra.types.SERVICE]:()=>!1});const l=new Set;return await Promise.all(o.map((async n=>{const i="link"===n.type?r.createPattern(t.variable("?s"),n.iri,t.variable("?o")):n;await this.hasSourceResults(r,(0,a.getOperationSource)(n),i,e.context)||l.add(n)}))),l.size>0&&(this.logDebug(e.context,`Pruning ${l.size} source-specific operations`),n=s.Util.mapOperation(n,{[s.Algebra.types.UNION]:(e,t)=>u.mapMultiOperation(e,l,(e=>t.createUnion(e))),[s.Algebra.types.ALT]:(e,t)=>u.mapMultiOperation(e,l,(e=>t.createAlt(e)))},r),n=s.Util.mapOperation(n,{[s.Algebra.types.PROJECT]:(e,t)=>c.hasEmptyOperation(e)?{recurse:!1,result:t.createUnion([])}:{recurse:!0,result:e},[s.Algebra.types.LEFT_JOIN]:e=>c.hasEmptyOperation(e.input[1])?{recurse:!0,result:e.input[0]}:{recurse:!0,result:e}},r)),{operation:n,context:e.context}}static hasEmptyOperation(e){let t=!1;return s.Util.recurseOperation(e,{[s.Algebra.types.UNION]:e=>(e.input.every((e=>c.hasEmptyOperation(e)))&&(t=!0),!1),[s.Algebra.types.ALT]:e=>(0===e.input.length&&(t=!0),!1),[s.Algebra.types.LEFT_JOIN]:e=>(c.hasEmptyOperation(e.input[0])&&(t=!0),!1)}),t}collectMultiOperationInputs(e,t,r){for(const n of e)(0,a.getOperationSource)(n)&&n.type===r&&t.push(n)}mapMultiOperation(e,t,r){const n=e.input.filter((e=>!t.has(e)));return n.length===e.input.length?{result:e,recurse:!0}:0===n.length?{result:r([]),recurse:!1}:1===n.length?{result:n[0],recurse:!0}:{result:r(n),recurse:!0}}async hasSourceResults(e,t,r,n){if(t.context?.get(i.KeysQuerySourceIdentify.traverse))return!0;if(this.useAskIfSupported){const i=e.createAsk(r);if((0,a.doesShapeAcceptOperation)(await t.source.getSelectorShape(n),i))return t.source.queryBoolean(i,n)}const o=t.source.queryBindings(r,n);return new Promise(((e,t)=>{o.on("error",t),o.getProperty("metadata",(t=>{o.destroy(),e(t.cardinality.value>0)}))}))}}t.ActorOptimizeQueryOperationPruneEmptySourceOperations=c},94731:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1166),t)},83658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationRewriteAdd=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(47793),s=r(96331),c=new a.DataFactory;class u extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Factory(t);return{operation:s.Util.mapOperation(e.operation,{[s.Algebra.types.ADD](e,t){const r="DEFAULT"===e.destination?c.defaultGraph():e.destination,n="DEFAULT"===e.source?c.defaultGraph():e.source;return{result:t.createDeleteInsert(void 0,[t.createPattern(c.variable("s"),c.variable("p"),c.variable("o"),r)],t.createPattern(c.variable("s"),c.variable("p"),c.variable("o"),n)),recurse:!1}}},r),context:e.context}}}t.ActorOptimizeQueryOperationRewriteAdd=u},34406:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(83658),t)},42512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationRewriteCopy=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{[a.Algebra.types.COPY](e,t){let r;return r="string"==typeof e.destination&&"string"==typeof e.source&&e.destination===e.source||"string"!=typeof e.destination&&"string"!=typeof e.source&&e.destination.equals(e.source)?t.createCompositeUpdate([]):t.createCompositeUpdate([t.createDrop(e.destination,!0),t.createAdd(e.source,e.destination,e.silent)]),{result:r,recurse:!1}}},r),context:e.context}}}t.ActorOptimizeQueryOperationRewriteCopy=s},20578:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(42512),t)},80664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperationRewriteMove=void 0;const n=r(38912),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorOptimizeQueryOperation{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new a.Factory(t);return{operation:a.Util.mapOperation(e.operation,{[a.Algebra.types.MOVE](e,t){let r;if("string"==typeof e.destination&&"string"==typeof e.source&&e.destination===e.source||"string"!=typeof e.destination&&"string"!=typeof e.source&&e.destination.equals(e.source))r=t.createCompositeUpdate([]);else{const n=[t.createDrop(e.destination,!0),t.createAdd(e.source,e.destination,e.silent),t.createDrop(e.source)];r=t.createCompositeUpdate(n)}return{result:r,recurse:!1}}},r),context:e.context}}}t.ActorOptimizeQueryOperationRewriteMove=s},12538:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(80664),t)},30152:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationAsk=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"ask")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t}),{bindingsStream:n}=(0,o.getSafeBindings)(r);return{type:"boolean",execute:async()=>1===(await n.take(1).toArray()).length}}}t.ActorQueryOperationAsk=a},16682:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30152),t)},12167:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationBgpJoin=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"bgp")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r);return this.mediatorQueryOperation.mediate({operation:n.createJoin(e.patterns),context:t})}}t.ActorQueryOperationBgpJoin=s},38820:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(12167),t)},5336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationConstruct=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(67021),s=r(3285),c=r(96331),u=r(77654);class l extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"construct")}static getVariables(e){return(0,s.uniqTerms)([].concat.apply([],e.map((e=>(0,s.getVariables)((0,s.getTermsNested)(e))))))}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=l.getVariables(e.template),o={type:c.Algebra.types.PROJECT,input:e.input,variables:n},s=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:o,context:t}));return{metadata:()=>s.metadata().then((t=>({...t,order:void 0,cardinality:{type:t.cardinality.type,value:t.cardinality.value*e.template.length},availableOrders:void 0}))),quadStream:new u.BindingsToQuadsIterator(r,e.template,s.bindingsStream),type:"quads"}}}t.ActorQueryOperationConstruct=l},77654:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsToQuadsIterator=void 0;const n=r(75627),i=r(3285);class o extends n.MultiTransformIterator{constructor(e,t,r){super(r,{autoStart:!1}),this.dataFactory=e,this.template=t,this.blankNodeCounter=0}static bindTerm(e,t){return"Variable"===t.termType?e.get(t):t}static bindQuad(e,t){try{return(0,i.mapTermsNested)(t,(t=>{const r=o.bindTerm(e,t);if(!r)throw new Error("Unbound term");return r}))}catch{}}static localizeBlankNode(e,t,r){return"BlankNode"===r.termType?e.blankNode(`${r.value}${t}`):r}static localizeQuad(e,t,r){return(0,i.mapTermsNested)(r,(r=>o.localizeBlankNode(e,t,r)))}bindTemplate(e,t,r){return t.map(o.localizeQuad.bind(null,this.dataFactory,r)).map((t=>o.bindQuad.bind(null,e)(t))).filter(Boolean)}_createTransformer(e){return new n.ArrayIterator(this.bindTemplate(e,this.template,this.blankNodeCounter++),{autoStart:!1})}}t.BindingsToQuadsIterator=o},34585:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5336),t),i(r(77654),t)},46271:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationDistinctHash=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"distinct")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t});if("quads"===r.type){const e=(0,o.getSafeQuads)(r);return{type:"quads",quadStream:e.quadStream.filter(await this.newHashFilterQuads(t)),metadata:e.metadata}}const n=(0,o.getSafeBindings)(r),i=(await n.metadata()).variables.map((e=>e.variable));return{type:"bindings",bindingsStream:n.bindingsStream.filter(await this.newHashFilter(t,i)),metadata:n.metadata}}async newHashFilter(e,t){const{hashFunction:r}=await this.mediatorHashBindings.mediate({context:e}),n={};return e=>{const i=r(e,t);return!(i in n)&&(n[i]=!0)}}async newHashFilterQuads(e){const{hashFunction:t}=await this.mediatorHashQuads.mediate({context:e}),r={};return e=>{const n=t(e);return!(n in r)&&(r[n]=!0)}}}t.ActorQueryOperationDistinctHash=a},24615:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46271),t)},79904:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationExtend=void 0;const n=r(66490),i=r(90412),o=r(81926),a=r(77545),s=r(67021);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"extend"),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}async testOperation(){return(0,i.passTestVoid)()}async runOperation(e,t){const{expression:r,input:n,variable:i}=e,c=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:n,context:t}));if((await c.metadata()).variables.some((e=>e.variable.equals(i))))throw new Error(`Illegal binding to variable '${i.value}' that has already been bound`);const u=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:r,context:t}),l=c.bindingsStream.transform({autoStart:!1,transform:async(e,r,n)=>{try{const t=await u.evaluate(e);n(e.set(i,t))}catch(r){(0,a.isExpressionError)(r)?(n(e),this.logWarn(t,`Expression error for extend operation (${r.message})with bindings '${(0,o.bindingsToString)(e)}'`)):l.emit("error",r)}r()}});return{type:"bindings",bindingsStream:l,async metadata(){const e=await c.metadata();return{...e,variables:[...e.variables,{variable:i,canBeUndef:!1}]}}}}}t.ActorQueryOperationExtend=c},12304:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79904),t)},13824:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationFilter=void 0;const n=r(66490),i=r(90412),o=r(81926),a=r(77545),s=r(67021);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"filter"),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}async testOperation(){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t}),n=(0,s.getSafeBindings)(r);(0,s.validateQueryOutput)(n,"bindings");const i=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),c=n.bindingsStream.transform({transform:async(e,r,n)=>{try{await i.evaluateAsEBV(e)&&n(e)}catch(r){(0,a.isExpressionError)(r)?this.logWarn(t,"Error occurred while filtering.",(()=>({error:r,bindings:(0,o.bindingsToString)(e)}))):c.emit("error",r)}r()},autoStart:!1});return{type:"bindings",bindingsStream:c,metadata:n.metadata}}}t.ActorQueryOperationFilter=c},68350:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13824),t)},20679:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationFromQuad=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(96331);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"from")}static copyOperation(e,t){const r={};for(const n of Object.keys(e))Array.isArray(e[n])&&"template"!==n?r[n]="variables"===n?e[n]:e[n].map(t):s.ALGEBRA_TYPES.includes(e[n].type)?r[n]=t(e[n]):r[n]=e[n];return r}static applyOperationDefaultGraph(e,t,r){if("bgp"===t.type&&t.patterns.length>0||"path"===t.type||"pattern"===t.type){if("bgp"===t.type)return s.joinOperations(e,t.patterns.map((t=>{if("DefaultGraph"!==t.graph.termType)return e.createBgp([t]);const n=r.map((r=>e.createBgp([Object.assign(e.createPattern(t.subject,t.predicate,t.object,r),{metadata:t.metadata})])));return s.unionOperations(e,n)})));if("DefaultGraph"!==t.graph.termType)return t;const n=r.map((r=>"path"===t.type?e.createPath(t.subject,t.predicate,t.object,r):Object.assign(e.createPattern(t.subject,t.predicate,t.object,r),{metadata:t.metadata})));return s.unionOperations(e,n)}return s.copyOperation(t,(t=>this.applyOperationDefaultGraph(e,t,r)))}static applyOperationNamedGraph(e,t,r,n){if("bgp"===t.type&&t.patterns.length>0||"path"===t.type||"pattern"===t.type){const i="bgp"===t.type?t.patterns[0].graph:t.graph;if("DefaultGraph"===i.termType)return{type:a.Algebra.types.BGP,patterns:[]};if("Variable"===i.termType){if(1===r.length){const n=r[0],o={};o[`?${i.value}`]=n;const a=e.createValues([i],[o]);let s;return s="bgp"===t.type?e.createBgp(t.patterns.map((t=>e.createPattern(t.subject,t.predicate,t.object,n)))):"path"===t.type?e.createPath(t.subject,t.predicate,t.object,n):e.createPattern(t.subject,t.predicate,t.object,n),e.createJoin([a,s])}return s.unionOperations(e,r.map((r=>s.applyOperationNamedGraph(e,t,[r],n))))}return[...r,...n].some((e=>e.equals(i)))?t:{type:a.Algebra.types.BGP,patterns:[]}}return s.copyOperation(t,(t=>this.applyOperationNamedGraph(e,t,r,n)))}static joinOperations(e,t){if(1===t.length)return t[0];if(t.length>1)return e.createJoin(t);throw new Error("A join can only be applied on at least one operation")}static unionOperations(e,t){if(1===t.length)return t[0];if(t.length>1)return e.createUnion(t);throw new Error("A union can only be applied on at least one operation")}static createOperation(e,t){let r=t.input;return t.default.length>0&&(r=s.applyOperationDefaultGraph(e,r,t.default)),(t.named.length>0||t.default.length>0)&&(r=s.applyOperationNamedGraph(e,r,t.named,t.default)),r}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r),o=s.createOperation(n,e);return this.mediatorQueryOperation.mediate({operation:o,context:t})}}t.ActorQueryOperationFromQuad=s,s.ALGEBRA_TYPES=Object.keys(a.Algebra.types).map((e=>a.Algebra.types[e]))},22744:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20679),t)},38300:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationGroup=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(67021),c=r(75627),u=r(8902);class l extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"group"),this.mediatorBindingsAggregatorFactory=e.mediatorBindingsAggregatorFactory}async testOperation(){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),{input:o,aggregates:l}=e,d=await this.mediatorQueryOperation.mediate({operation:o,context:t}),p=(0,s.getSafeBindings)(d),h=[...e.variables,...l.map((e=>e.variable))].map((e=>({variable:e,canBeUndef:!1}))),f=(await p.metadata()).variables.map((e=>e.variable));return{type:"bindings",bindingsStream:new c.TransformIterator((()=>new Promise(((r,i)=>{const o=new u.GroupsState(e,this.mediatorBindingsAggregatorFactory,t,n,f);p.bindingsStream.on("end",(async()=>{try{const e=new c.ArrayIterator(await o.collectResults(),{autoStart:!1});r(e)}catch(e){i(e)}})),p.bindingsStream.on("error",i),p.bindingsStream.on("data",(e=>{o.consumeBindings(e).catch(i)}))}))),{autoStart:!1}),metadata:async()=>({...await p.metadata(),variables:h})}}}t.ActorQueryOperationGroup=l},8902:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GroupsState=void 0;const n=r(90711),i=r(81926);t.GroupsState=class{constructor(e,t,r,n,i){this.pattern=e,this.mediatorBindingsAggregatorFactory=t,this.context=r,this.bindingsFactory=n,this.variables=i,this.groups=new Map,this.groupsInitializer=new Map,this.groupVariables=new Set(this.pattern.variables.map((e=>e.value))),this.waitCounter=1,this.resultHasBeenCalled=!1}consumeBindings(e){const t=this.resultCheck();if(t)return t;this.waitCounter++;const r=e.filter(((e,t)=>this.groupVariables.has(t.value))),n=this.hashBindings(r);let i,o=this.groupsInitializer.get(n);if(o){const t=o;i=(async()=>{const r=await t;await Promise.all(this.pattern.aggregates.map((async t=>{const n=t.variable.value;await r.aggregators[n].putBindings(e)})))})().then((async()=>{await this.subtractWaitCounterAndCollect()}))}else o=(async()=>{const t={};await Promise.all(this.pattern.aggregates.map((async r=>{const n=r.variable.value;t[n]=await this.mediatorBindingsAggregatorFactory.mediate({expr:r,context:this.context}),await t[n].putBindings(e)})));const i={aggregators:t,bindings:r};return this.groups.set(n,i),await this.subtractWaitCounterAndCollect(),i})(),this.groupsInitializer.set(n,o),i=o;return i}async subtractWaitCounterAndCollect(){0==--this.waitCounter&&await this.handleResultCollection()}async handleResultCollection(){const e=this.context.getSafe(n.KeysInitQuery.dataFactory);let t=await Promise.all([...this.groups].map((async([t,r])=>{const{bindings:n,aggregators:i}=r;let o=n;for(const t in i){const r=await i[t].result();r&&(o=o.set(e.variable(t),r))}return o})));if(0===t.length&&0===this.groupVariables.size){const e=[];await Promise.all(this.pattern.aggregates.map((async t=>{const r=t.variable,n=await this.mediatorBindingsAggregatorFactory.mediate({expr:t,context:this.context}),i=await n.result();void 0!==i&&e.push([r,i])}))),t=[this.bindingsFactory.bindings(e)]}this.waitResolver(t)}resultCheck(){if(this.resultHasBeenCalled)return Promise.reject(new Error("Calling any function after calling collectResult is invalid."))}async collectResults(){const e=this.resultCheck();if(e)return e;this.resultHasBeenCalled=!0;const t=new Promise((e=>{this.waitResolver=e}));return await this.subtractWaitCounterAndCollect(),t}hashBindings(e){return(0,i.bindingsToCompactString)(e,this.variables)}}},37515:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38300),t)},27568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationJoin=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"join")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(await Promise.all(e.input.map((async e=>({output:await this.mediatorQueryOperation.mediate({operation:e,context:t}),operation:e}))))).map((({output:e,operation:t})=>({output:(0,o.getSafeBindings)(e),operation:t})));return this.mediatorJoin.mediate({type:"inner",entries:r,context:t})}}t.ActorQueryOperationJoin=a},20240:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(27568),t)},35716:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationLeftJoin=void 0;const n=r(66490),i=r(90412),o=r(77545),a=r(67021);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"leftjoin"),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(await Promise.all(e.input.map((async e=>({output:await this.mediatorQueryOperation.mediate({operation:e,context:t}),operation:e}))))).map((({output:e,operation:t})=>({output:(0,a.getSafeBindings)(e),operation:t}))),n=await this.mediatorJoin.mediate({type:"optional",entries:r,context:t});if(e.expression){const i=(await r[1].output.metadata()).variables,a=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:e.expression,context:t}),s=n.bindingsStream.transform({autoStart:!1,transform:async(e,r,n)=>{if(!i.every((t=>e.has(t.variable.value))))return n(e),r();try{await a.evaluateAsEBV(e)&&n(e)}catch(r){(0,o.isExpressionError)(r)?this.logWarn(t,"Error occurred while filtering.",(()=>({error:r,bindings:e}))):s.emit("error",r)}r()}});n.bindingsStream=s}return n}}t.ActorQueryOperationLeftJoin=s},75113:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35716),t)},30626:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationMinus=void 0;const n=r(66490),i=r(90412),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"minus")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(await Promise.all(e.input.map((async e=>({output:await this.mediatorQueryOperation.mediate({operation:e,context:t}),operation:e}))))).map((({output:e,operation:t})=>({output:(0,o.getSafeBindings)(e),operation:t})));return this.mediatorJoin.mediate({type:"minus",entries:r,context:t})}}t.ActorQueryOperationMinus=a},48952:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30626),t)},98384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationNop=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(75627);class u extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"nop")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r);return{bindingsStream:new c.SingletonIterator(n.bindings()),metadata:()=>Promise.resolve({state:new s.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]}),type:"bindings"}}}t.ActorQueryOperationNop=u},79153:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98384),t)},54064:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationOrderBy=void 0;const n=r(66490),i=r(90412),o=r(77545),a=r(67021),s=r(96331),c=r(14639);class u extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"orderby"),this.window=e.window??Number.POSITIVE_INFINITY,this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory,this.mediatorTermComparatorFactory=e.mediatorTermComparatorFactory}async testOperation(){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t}),n=(0,a.getSafeBindings)(r),i={window:this.window};let{bindingsStream:s}=n;const u=await this.mediatorTermComparatorFactory.mediate({context:t});for(let r=e.expressions.length-1;r>=0;r--){let n=e.expressions[r];const a=this.isAscending(n);n=this.extractSortExpression(n);const l=await this.mediatorExpressionEvaluatorFactory.mediate({algExpr:n,context:t}),d=async(e,t,r)=>{try{r({bindings:e,result:await l.evaluate(e)})}catch(t){(0,o.isExpressionError)(t)||s.emit("error",t),r({bindings:e,result:void 0})}t()},p=s.transform({transform:d}),h=new c.SortIterator(p,((e,t)=>{let r=u.orderTypes(e.result,t.result);return a||(r*=-1),r}),i);s=h.map((({bindings:e})=>e))}return{type:"bindings",bindingsStream:s,metadata:n.metadata}}extractSortExpression(e){const{expressionType:t,operator:r}=e;return t!==s.Algebra.expressionTypes.OPERATOR?e:"desc"===r?e.args[0]:e}isAscending(e){const{expressionType:t,operator:r}=e;return t!==s.Algebra.expressionTypes.OPERATOR||"desc"!==r}}t.ActorQueryOperationOrderBy=u},14639:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SortIterator=void 0;const n=r(75627);class i extends n.TransformIterator{constructor(e,t,r){super(e,r);const n=r&&r.window;this.windowLength=Number.isFinite(n)&&n>0?n:Number.POSITIVE_INFINITY,this.sort=t,this.sorted=[]}_read(e,t){let r,{length:n}=this.sorted;for(;n!==this.windowLength&&(r=this.source.read(),null!==r);){let e,t,i=0,o=n-1;for(;i<=o;)e=Math.trunc((i+o)/2),t=this.sort(r,this.sorted[e]),t<0?i=e+1:t>0?o=e-1:(i=e,o=-1);this.sorted.splice(i,0,r),n++}n===this.windowLength&&this._push(this.sorted.pop()),t()}_flush(e){let{length:t}=this.sorted;for(;t--;)this._push(this.sorted.pop());e()}}t.SortIterator=i},73945:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(54064),t)},29111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathAlt=void 0;const n=r(97091),i=r(43415),o=r(90711),a=r(67021),s=r(75627),c=r(96331);class u extends n.ActorAbstractPath{constructor(e){super(e,c.Algebra.types.ALT)}async runOperation(e,t){const r=t.getSafe(o.KeysInitQuery.dataFactory),n=new c.Factory(r),u=e.predicate,l=(await Promise.all(u.input.map((r=>this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.subject,r,e.object,e.graph)}))))).map(a.getSafeBindings);return{type:"bindings",bindingsStream:new s.UnionIterator(l.map((e=>e.bindingsStream)),{autoStart:!1}),metadata:()=>Promise.all(l.map((e=>e.metadata()))).then((e=>i.ActorQueryOperationUnion.unionMetadata(e,!0,t,this.mediatorRdfMetadataAccumulate)))}}}t.ActorQueryOperationPathAlt=u},35529:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(29111),t)},42651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathInv=void 0;const n=r(97091),i=r(90711),o=r(96331);class a extends n.ActorAbstractPath{constructor(e){super(e,o.Algebra.types.INV)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new o.Factory(r),a=e.predicate,s=n.createPath(e.object,a.path,e.subject,e.graph);return this.mediatorQueryOperation.mediate({operation:s,context:t})}}t.ActorQueryOperationPathInv=a},6809:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(42651),t)},45513:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathLink=void 0;const n=r(97091),i=r(90711),o=r(96331);class a extends n.ActorAbstractPath{constructor(e){super(e,o.Algebra.types.LINK)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new o.Factory(r),a=e.predicate,s=Object.assign(n.createPattern(e.subject,a.iri,e.object,e.graph),{metadata:a.metadata});return this.mediatorQueryOperation.mediate({operation:s,context:t})}}t.ActorQueryOperationPathLink=a},66218:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45513),t)},59383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathNps=void 0;const n=r(97091),i=r(90711),o=r(67021),a=r(96331);class s extends n.ActorAbstractPath{constructor(e){super(e,a.Algebra.types.NPS)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r),s=e.predicate,c=this.generateVariable(r,e),u=Object.assign(n.createPattern(e.subject,c,e.object,e.graph),{metadata:s.metadata}),l=(0,o.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:u,context:t}));return{type:"bindings",bindingsStream:l.bindingsStream.map((e=>s.iris.some((t=>t.equals(e.get(c))))?null:e.delete(c))),metadata:l.metadata}}}t.ActorQueryOperationPathNps=s},54309:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(59383),t)},15541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathOneOrMore=void 0;const n=r(97091),i=r(90711),o=r(81926),a=r(67021),s=r(75627),c=r(96331);class u extends n.ActorAbstractPath{constructor(e){super(e,c.Algebra.types.ONE_OR_MORE_PATH)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new c.Factory(r),u=await o.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),l=await this.isPathArbitraryLengthDistinct(n,t,e);if(l.operation)return l.operation;t=l.context;const d=e.predicate;if("Variable"!==e.subject.termType&&"Variable"===e.object.termType){const r=e.object,i=await this.getObjectsPredicateStarEval(e.subject,d.path,r,e.graph,t,!1,n,u),o=("Variable"===e.graph.termType?[r,e.graph]:[r]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:i.bindingsStream,metadata:async()=>({...await i.metadata(),variables:o})}}if("Variable"===e.subject.termType&&"Variable"===e.object.termType){const r=n.createDistinct(n.createPath(e.subject,e.predicate.path,e.object,e.graph)),i=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:r})),o=e.subject,c=e.object,l={},p=new s.MultiTransformIterator(i.bindingsStream,{multiTransform:r=>{const i=r.get(o),a=r.get(c),p="Variable"===e.graph.termType?r.get(e.graph):e.graph;return new s.TransformIterator((async()=>{const r=new s.BufferedIterator;return await this.getSubjectAndObjectBindingsPredicateStar(o,c,i,a,d.path,p,t,l,{},r,{count:0},n,u),r.transform({transform(t,r,n){"Variable"===e.graph.termType&&(t=t.set(e.graph,p)),n(t),r()}})}),{maxBufferSize:128})},autoStart:!1}),h=("Variable"===e.graph.termType?[o,c,e.graph]:[o,c]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:p,metadata:async()=>({...await i.metadata(),variables:h})}}if("Variable"===e.subject.termType&&"Variable"!==e.object.termType)return this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.object,n.createOneOrMorePath(n.createInv(d.path)),e.subject,e.graph)});const p=this.generateVariable(r),h=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.subject,d,p,e.graph)}));return{type:"bindings",bindingsStream:h.bindingsStream.transform({filter:t=>e.object.equals(t.get(p)),transform(t,r,n){n("Variable"===e.graph.termType?u.bindings([[e.graph,t.get(e.graph)]]):u.bindings()),r()}}),metadata:async()=>({...await h.metadata(),variables:("Variable"===e.graph.termType?[e.graph]:[]).map((e=>({variable:e,canBeUndef:!1})))})}}}t.ActorQueryOperationPathOneOrMore=u},23654:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15541),t)},92231:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathSeq=void 0;const n=r(97091),i=r(90711),o=r(67021),a=r(96331);class s extends n.ActorAbstractPath{constructor(e){super(e,a.Algebra.types.SEQ)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r),s=e.predicate;let c=e.subject;const u=[],l=await Promise.all(s.input.map(((i,o)=>{const a=o===s.input.length-1?e.object:this.generateVariable(r,e,`b${o}`),l=n.createPath(c,i,a,e.graph),d=this.mediatorQueryOperation.mediate({context:t,operation:l});return c=a,o({output:(0,o.getSafeBindings)(await e),operation:t})))),d=(0,o.getSafeBindings)(await this.mediatorJoin.mediate({type:"inner",entries:l,context:t}));return{type:"bindings",bindingsStream:d.bindingsStream.transform({transform(e,t,r){for(const t of u)e=e.delete(t);r(e),t()}}),async metadata(){const e=await d.metadata(),t=e.variables.filter((e=>!u.some((t=>t.value===e.variable.value))));return{...e,variables:t}}}}}t.ActorQueryOperationPathSeq=s},75049:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92231),t)},9553:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathZeroOrMore=void 0;const n=r(97091),i=r(90711),o=r(81926),a=r(67021),s=r(75627),c=r(43347),u=r(96331);class l extends n.ActorAbstractPath{constructor(e){super(e,u.Algebra.types.ZERO_OR_MORE_PATH)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),l=await o.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),d=await this.isPathArbitraryLengthDistinct(n,t,e);if(d.operation)return d.operation;t=d.context;const p=e.predicate,h=this.getPathSources(p),f="Variable"===e.subject.termType,y="Variable"===e.object.termType;if("Variable"===e.subject.termType&&"Variable"===e.object.termType){const i=this.generateVariable(r,e),o=this.assignPatternSources(n,n.createPattern(e.subject,i,e.object,e.graph),h),u=(0,a.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:o})),d=e.subject,f=e.object,y=new Set,g={},m=new s.MultiTransformIterator(u.bindingsStream,{multiTransform:r=>{const i=r.get(d),o=r.get(f),a="Variable"===e.graph.termType?r.get(e.graph):e.graph,u=(0,c.termToString)(i)+(0,c.termToString)(a),h=(0,c.termToString)(o)+(0,c.termToString)(a);return new s.TransformIterator((async()=>{if(y.has(u)&&y.has(h))return new s.EmptyIterator;const r=new s.BufferedIterator,c={count:0};return y.has(u)||(y.add(u),await this.getSubjectAndObjectBindingsPredicateStar(d,f,i,i,p.path,a,t,g,{},r,c,n,l)),y.has(h)||(y.add(h),await this.getSubjectAndObjectBindingsPredicateStar(d,f,o,o,p.path,a,t,g,{},r,c,n,l)),r.transform({transform(t,r,n){"Variable"===e.graph.termType&&(t=t.set(e.graph,a)),n(t),r()}})}))}}),b=("Variable"===e.graph.termType?[d,e.object,e.graph]:[d,e.object]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:m,metadata:async()=>({...await u.metadata(),variables:b})}}if(!f&&!y){const i=this.generateVariable(r),o=await this.getObjectsPredicateStarEval(e.subject,p.path,i,e.graph,t,!0,n,l);return{type:"bindings",bindingsStream:o.bindingsStream.transform({filter:t=>e.object.equals(t.get(i)),transform(t,r,n){n("Variable"===e.graph.termType?l.bindings([[e.graph,t.get(e.graph)]]):l.bindings()),r()}}),metadata:async()=>({...await o.metadata(),variables:("Variable"===e.graph.termType?[e.graph]:[]).map((e=>({variable:e,canBeUndef:!1})))})}}const g=f?e.object:e.subject,m=f?e.subject:e.object,b=f?n.createInv(p.path):p.path,_=await this.getObjectsPredicateStarEval(g,b,m,e.graph,t,!0,n,l),v=("Variable"===e.graph.termType?[m,e.graph]:[m]).map((e=>({variable:e,canBeUndef:!1})));return{type:"bindings",bindingsStream:_.bindingsStream,metadata:async()=>({...await _.metadata(),variables:v})}}}t.ActorQueryOperationPathZeroOrMore=l},85928:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9553),t)},82651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationPathZeroOrOne=void 0;const n=r(97091),i=r(90711),o=r(81926),a=r(99214),s=r(67021),c=r(75627),u=r(96331);class l extends n.ActorAbstractPath{constructor(e){super(e,u.Algebra.types.ZERO_OR_ONE_PATH)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),l=await o.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),d=e.predicate,p=this.getPathSources(d),h=[];if("Variable"!==e.subject.termType&&"Variable"!==e.object.termType&&e.subject.equals(e.object))return{type:"bindings",bindingsStream:new c.SingletonIterator(l.bindings()),metadata:()=>Promise.resolve({state:new a.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]})};const f=await this.isPathArbitraryLengthDistinct(n,t,e);if(f.operation)return f.operation;t=f.context;const y=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:n.createPath(e.subject,d.path,e.object,e.graph)}));let g;if("Variable"===e.subject.termType&&"Variable"===e.object.termType){const i=this.generateVariable(r,e),o=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({context:t,operation:n.createFilter(this.assignPatternSources(n,n.createPattern(e.subject,i,e.object,e.graph),p),n.createOperatorExpression("=",[n.createTermExpression(e.subject),n.createTermExpression(e.object)]))})).bindingsStream.map((e=>e.delete(i)));g=new c.UnionIterator([o,y.bindingsStream],{autoStart:!1})}else"Variable"===e.subject.termType&&h.push(l.bindings([[e.subject,e.object]])),"Variable"===e.object.termType&&h.push(l.bindings([[e.object,e.subject]])),g=y.bindingsStream.prepend(h);return{type:"bindings",bindingsStream:g,metadata:async()=>{const e=await y.metadata();return{...e,cardinality:{...e.cardinality,value:e.cardinality.value+1}}}}}}t.ActorQueryOperationPathZeroOrOne=l},8327:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(82651),t)},89760:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationProject=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(51296),s=r(67021);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"project")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.input,context:t})),o=await n.metadata(),c=Object.fromEntries(o.variables.map((e=>[e.variable.value,e]))),u=e.variables.map((e=>({variable:e,canBeUndef:!1}))),l=Object.fromEntries(u.map((e=>[e.variable.value,e]))),d=o.variables.filter((e=>!(e.variable.value in l))),p=u.map((e=>({variable:e.variable,canBeUndef:!(e.variable.value in c)||c[e.variable.value].canBeUndef})));let h=0===d.length?n.bindingsStream:n.bindingsStream.map((e=>{for(const t of d)e=e.delete(t.variable);return e})),f=0;return h=h.map((e=>{f++;const t=new Map;return e.map((e=>{if(e instanceof a.BlankNodeBindingsScoped){let n=t.get(e.value);return n||(n=r.blankNode(`${e.value}${f}`),t.set(e.value,n)),n}return e}))})),{type:"bindings",bindingsStream:h,metadata:async()=>({...o,variables:p})}}}t.ActorQueryOperationProject=c},99817:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(89760),t)},77955:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationReducedHash=void 0;const n=r(66490),i=r(90412),o=r(67021),a=r(89096);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"reduced")}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=(0,o.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.input,context:t})),n=(await r.metadata()).variables.map((e=>e.variable));return{type:"bindings",bindingsStream:r.bindingsStream.filter(await this.newHashFilter(t,n)),metadata:r.metadata}}async newHashFilter(e,t){const{hashFunction:r}=await this.mediatorHashBindings.mediate({context:e}),n=new a.LRUCache({max:this.cacheSize});return e=>{const i=r(e,t);return!n.has(i)&&(n.set(i,!0),!0)}}}t.ActorQueryOperationReducedHash=s},66713:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77955),t)},87420:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationService=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(67021),u=r(75627);class l extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"service")}async testOperation(e,t){return"NamedNode"!==e.name.termType?(0,o.failTest)(`${this.name} can only query services by IRI, while a ${e.name.termType} was given.`):(0,o.passTestVoid)()}async runOperation(e,t){const{querySource:r}=await this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:{value:e.name.value,type:this.forceSparqlEndpoint?"sparql":void 0},context:t});let n;try{n=(0,c.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:(0,c.assignOperationSource)(e.input,r),context:t}))}catch(r){if(!e.silent)throw r;{const e=t.getSafe(i.KeysInitQuery.dataFactory),o=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,e);n={bindingsStream:new u.SingletonIterator(o.bindings()),type:"bindings",metadata:async()=>({state:new s.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]})},this.logWarn(t,`An error occurred when executing a SERVICE clause: ${r.message}`)}}return n}}t.ActorQueryOperationService=l},89115:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(87420),t)},46342:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationSlice=void 0;const n=r(66490),i=r(90711),o=r(90412);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"slice")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){e.length&&(t=t.set(i.KeysQueryOperation.limitIndicator,e.length));const r=await this.mediatorQueryOperation.mediate({operation:e.input,context:t});return"bindings"===r.type?{type:"bindings",bindingsStream:this.sliceStream(r.bindingsStream,e),metadata:this.sliceMetadata(r,e)}:"quads"===r.type?{type:"quads",quadStream:this.sliceStream(r.quadStream,e),metadata:this.sliceMetadata(r,e)}:r}sliceStream(e,t){const r=Boolean(t.length)||0===t.length,{start:n}=t,i=r?t.start+t.length-1:Number.POSITIVE_INFINITY;return e.transform({offset:n,limit:Math.max(i-n+1,0),autoStart:!1})}sliceMetadata(e,t){const r=Boolean(t.length)||0===t.length;return()=>e.metadata().then((e=>{const n={...e.cardinality};return Number.isFinite(n.value)&&(n.value=Math.max(0,n.value-t.start),r&&(n.value=Math.min(n.value,t.length))),{...e,cardinality:n}}))}}t.ActorQueryOperationSlice=a},24718:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(46342),t)},7020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationSource=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(99214),s=r(67021),c=r(96331);class u extends n.ActorQueryOperation{constructor(e){super(e)}async test(e){return(0,s.getOperationSource)(e.operation)?(0,o.passTest)({httpRequests:1}):(0,o.failTest)(`Actor ${this.name} requires an operation with source annotation.`)}async run(e){const t=e.context.get(i.KeysInitQuery.physicalQueryPlanLogger);t&&(t.logOperation(e.operation.type,void 0,e.operation,e.context.get(i.KeysInitQuery.physicalQueryPlanNode),this.name,{}),e.context=e.context.set(i.KeysInitQuery.physicalQueryPlanNode,e.operation));const r=(0,s.getOperationSource)(e.operation),n=r.context?e.context.merge(r.context):e.context;let o=!1;if(c.Util.recurseOperation(e.operation,{construct:()=>(o=!0,!1)}),o){const t=r.source.queryQuads(e.operation,n);return{type:"quads",quadStream:t,metadata:(0,a.getMetadataQuads)(t)}}switch(e.operation.type){case c.Algebra.types.ASK:return{type:"boolean",execute:()=>r.source.queryBoolean(e.operation,n)};case c.Algebra.types.COMPOSITE_UPDATE:case c.Algebra.types.DELETE_INSERT:case c.Algebra.types.LOAD:case c.Algebra.types.CLEAR:case c.Algebra.types.CREATE:case c.Algebra.types.DROP:case c.Algebra.types.ADD:case c.Algebra.types.MOVE:case c.Algebra.types.COPY:return{type:"void",execute:()=>r.source.queryVoid(e.operation,n)}}const u=r.source.queryBindings(e.operation,n);return{type:"bindings",bindingsStream:u,metadata:(0,a.getMetadataBindings)(u)}}}t.ActorQueryOperationSource=u},48169:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7020),t)},31660:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationUnion=void 0;const n=r(66490),i=r(90412),o=r(99214),a=r(67021),s=r(75627);class c extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"union")}static unionVariables(e){const t={};for(const r of e)for(const e of r){t[e.variable.value]||(t[e.variable.value]={variable:e.variable,canBeUndef:e.canBeUndef,occurrences:0});const r=t[e.variable.value];r.canBeUndef=r.canBeUndef||e.canBeUndef,r.occurrences++}return Object.values(t).map((t=>t.occurrences===e.length?{variable:t.variable,canBeUndef:t.canBeUndef}:{variable:t.variable,canBeUndef:!0}))}static async unionMetadata(e,t,r,n){let i=(await n.mediate({mode:"initialize",context:r})).metadata;for(const t of e)i={...t,...(await n.mediate({mode:"append",accumulatedMetadata:i,appendingMetadata:t,context:r})).metadata};i.state=new o.MetadataValidationState;const a=()=>i.state.invalidate();for(const t of e)t.state.addInvalidateListener(a);if(t){const t=e.map((e=>e.variables));i.variables=c.unionVariables(t)}return i}async testOperation(e,t){return(0,i.passTestVoid)()}async runOperation(e,t){const r=await Promise.all(e.input.map((e=>this.mediatorQueryOperation.mediate({operation:e,context:t}))));let n;for(const e of r)if(void 0===n)n=e.type;else if(n!==e.type)throw new Error(`Unable to union ${n} and ${e.type}`);if("bindings"===n||0===e.input.length){const e=r.map(a.getSafeBindings);return{type:"bindings",bindingsStream:new s.UnionIterator(e.map((e=>e.bindingsStream)),{autoStart:!1}),metadata:()=>Promise.all(e.map((e=>e.metadata()))).then((e=>c.unionMetadata(e,!0,t,this.mediatorRdfMetadataAccumulate)))}}if("quads"===n){const e=r.map(a.getSafeQuads);return{type:"quads",quadStream:new s.UnionIterator(e.map((e=>e.quadStream)),{autoStart:!1}),metadata:()=>Promise.all(e.map((e=>e.metadata()))).then((e=>c.unionMetadata(e,!1,t,this.mediatorRdfMetadataAccumulate)))}}throw new Error(`Unable to union ${n}`)}}t.ActorQueryOperationUnion=c},43415:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(31660),t)},40196:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationClear=void 0;const n=r(66490),i=r(90711),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"clear")}async testOperation(e,t){return(0,o.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory);let n;n="DEFAULT"===e.source?r.defaultGraph():"string"==typeof e.source?e.source:[e.source];const{execute:o}=await this.mediatorUpdateQuads.mediate({deleteGraphs:{graphs:n,requireExistence:!e.silent,dropGraphs:!1},context:t});return{type:"void",execute:o}}}t.ActorQueryOperationClear=a},84629:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40196),t)},47113:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationUpdateCompositeUpdate=void 0;const n=r(66490),i=r(67021);class o extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"compositeupdate")}async testOperation(e,t){return(0,i.testReadOnly)(t)}async runOperation(e,t){return{type:"void",execute:()=>(async()=>{for(const r of e.updates){const e=(0,i.getSafeVoid)(await this.mediatorQueryOperation.mediate({operation:r,context:t}));await e.execute()}})()}}}t.ActorQueryOperationUpdateCompositeUpdate=o},330:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(47113),t)},33688:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationCreate=void 0;const n=r(66490),i=r(67021);class o extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"create")}async testOperation(e,t){return(0,i.testReadOnly)(t)}async runOperation(e,t){const{execute:r}=await this.mediatorUpdateQuads.mediate({createGraphs:{graphs:[e.source],requireNonExistence:!e.silent},context:t});return{type:"void",execute:r}}}t.ActorQueryOperationCreate=o},54672:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33688),t)},14801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationUpdateDeleteInsert=void 0;const n=r(34585),i=r(66490),o=r(90711),a=r(81926),s=r(67021),c=r(75627);class u extends i.ActorQueryOperationTypedMediated{constructor(e){super(e,"deleteinsert"),this.blankNodeCounter=0}async testOperation(e,t){return(0,s.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(o.KeysInitQuery.dataFactory),i=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r),u=e.where?(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:e.where,context:t})).bindingsStream:new c.ArrayIterator([i.bindings()],{autoStart:!1});let l,d;e.insert&&(l=new n.BindingsToQuadsIterator(r,e.insert.map(n.BindingsToQuadsIterator.localizeQuad.bind(null,r,this.blankNodeCounter)),u.clone()),this.blankNodeCounter++),e.delete&&(d=new n.BindingsToQuadsIterator(r,e.delete.map(n.BindingsToQuadsIterator.localizeQuad.bind(null,r,this.blankNodeCounter)),u.clone()),this.blankNodeCounter++);const{execute:p}=await this.mediatorUpdateQuads.mediate({quadStreamInsert:l,quadStreamDelete:d,context:t});return{type:"void",execute:p}}}t.ActorQueryOperationUpdateDeleteInsert=u},63002:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(14801),t)},5008:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationDrop=void 0;const n=r(66490),i=r(90711),o=r(67021);class a extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"drop")}async testOperation(e,t){return(0,o.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory);let n;n="DEFAULT"===e.source?r.defaultGraph():"string"==typeof e.source?e.source:[e.source];const{execute:o}=await this.mediatorUpdateQuads.mediate({deleteGraphs:{graphs:n,requireExistence:!e.silent,dropGraphs:!0},context:t});return{type:"void",execute:o}}}t.ActorQueryOperationDrop=a},33181:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5008),t)},35392:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationLoad=void 0;const n=r(66490),i=r(90711),o=r(67021),a=r(96331);class s extends n.ActorQueryOperationTypedMediated{constructor(e){super(e,"load")}async testOperation(e,t){return(0,o.testReadOnly)(t)}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=new a.Factory(r);let s=t;e.silent&&(s=s.set(i.KeysInitQuery.lenient,!0));const{querySource:c}=await this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:{value:e.source.value},context:s});let u=(0,o.getSafeQuads)(await this.mediatorQueryOperation.mediate({operation:n.createConstruct((0,o.assignOperationSource)(n.createPattern(r.variable("s"),r.variable("p"),r.variable("o")),c),[n.createPattern(r.variable("s"),r.variable("p"),r.variable("o"))]),context:s})).quadStream;e.destination&&(u=u.map((t=>r.quad(t.subject,t.predicate,t.object,e.destination))));const{execute:l}=await this.mediatorUpdateQuads.mediate({quadStreamInsert:u,context:t});return{type:"void",execute:l}}}t.ActorQueryOperationLoad=s},38392:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35392),t)},20712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationValues=void 0;const n=r(66490),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(75627);class u extends n.ActorQueryOperationTyped{constructor(e){super(e,"values")}async testOperation(e,t){return(0,o.passTestVoid)()}async runOperation(e,t){const r=t.getSafe(i.KeysInitQuery.dataFactory),n=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,r);return{type:"bindings",bindingsStream:new c.ArrayIterator(e.bindings.map((e=>n.bindings(Object.entries(e).map((([e,t])=>[r.variable(e.slice(1)),t])))))),metadata:()=>Promise.resolve({state:new s.MetadataValidationState,cardinality:{type:"exact",value:e.bindings.length},variables:e.variables.map((t=>({variable:t,canBeUndef:e.bindings.some((e=>!(`?${t.value}`in e)))})))})}}}t.ActorQueryOperationValues=u},65178:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20712),t)},19480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryParseGraphql=void 0;const n=r(92180),i=r(90711),o=r(90412),a=r(33826);class s extends n.ActorQueryParse{constructor(e){super(e),this.graphqlToSparql=new a.Converter({requireContext:!0})}async test(e){return"graphql"!==e.queryFormat?.language?(0,o.failTest)("This actor can only parse GraphQL queries"):(0,o.passTestVoid)()}async run(e){const t=e.context.get(i.KeysInitQuery.jsonLdContext)||{},r={singularizeVariables:e.context.get(i.KeysInitQuery.graphqlSingularizeVariables)};return{operation:await this.graphqlToSparql.graphqlToSparqlAlgebra(e.query,t,r)}}}t.ActorQueryParseGraphql=s},4047:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19480),t)},27256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryParseSparql=void 0;const n=r(92180),i=r(90711),o=r(90412),a=r(96331),s=r(98082);class c extends n.ActorQueryParse{constructor(e){super(e),this.prefixes=Object.freeze(this.prefixes)}async test(e){return e.queryFormat&&"sparql"!==e.queryFormat.language?(0,o.failTest)("This actor can only parse SPARQL queries"):(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Parser({prefixes:this.prefixes,baseIRI:e.baseIRI,sparqlStar:!0,factory:t}).parse(e.query);return{baseIRI:"query"===r.type?r.base:void 0,operation:(0,a.translate)(r,{quads:!0,prefixes:this.prefixes,blankToVariable:!0,baseIRI:e.baseIRI,dataFactory:t})}}}t.ActorQueryParseSparql=c},8323:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(27256),t)},53819:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessExplainLogical=void 0;const n=r(59478),i=r(90711),o=r(90412);class a extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){return"logical"!==(e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain")))?(0,o.failTest)(`${this.name} can only explain in 'logical' mode.`):(0,o.passTestVoid)()}async run(e){let{operation:t,context:r}=await this.queryProcessor.parse(e.query,e.context);return({operation:t,context:r}=await this.queryProcessor.optimize(t,r)),{result:{explain:!0,type:"logical",data:t}}}}t.ActorQueryProcessExplainLogical=a},42281:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(53819),t)},58481:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessExplainParsed=void 0;const n=r(59478),i=r(90711),o=r(90412);class a extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){return"parsed"!==(e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain")))?(0,o.failTest)(`${this.name} can only explain in 'parsed' mode.`):(0,o.passTestVoid)()}async run(e){const{operation:t}=await this.queryProcessor.parse(e.query,e.context);return{result:{explain:!0,type:"parsed",data:t}}}}t.ActorQueryProcessExplainParsed=a},7779:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(58481),t)},86173:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessExplainPhysical=void 0;const n=r(59478),i=r(90711),o=r(90412),a=r(93974);class s extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){const t=e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain"));return"physical"!==t&&"physical-json"!==t?(0,o.failTest)(`${this.name} can only explain in 'physical' or 'physical-json' mode.`):(0,o.passTestVoid)()}async run(e){let{operation:t,context:r}=await this.queryProcessor.parse(e.query,e.context);({operation:t,context:r}=await this.queryProcessor.optimize(t,r));const n=new a.MemoryPhysicalQueryPlanLogger;r=r.set(i.KeysInitQuery.physicalQueryPlanLogger,n);const s=await this.queryProcessor.evaluate(t,r);switch(s.type){case"bindings":await s.bindingsStream.toArray();break;case"quads":await s.quadStream.toArray();break;case"boolean":case"void":await s.execute()}const c=e.context.get(i.KeysInitQuery.explain)??e.context.getSafe(new o.ActionContextKey("explain"));return{result:{explain:!0,type:c,data:"physical"===c?n.toCompactString():n.toJson()}}}}t.ActorQueryProcessExplainPhysical=s},93974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numberToString=t.MemoryPhysicalQueryPlanLogger=void 0;const n=r(43347);function i(e){return e.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:3})}t.MemoryPhysicalQueryPlanLogger=class{constructor(){this.planNodes=new Map}logOperation(e,t,r,n,i,o){const a={actor:i,logicalOperator:e,physicalOperator:t,rawNode:r,children:[],metadata:o};if(this.planNodes.set(r,a),this.rootNode){if(!n)throw new Error("Detected more than one parent-less node");const e=this.planNodes.get(n);if(!e)throw new Error("Could not find parent node");e.children.push(a)}else{if(n)throw new Error("No root node has been set yet, while a parent is being referenced");this.rootNode=a}}stashChildren(e,t){const r=this.planNodes.get(e);if(!r)throw new Error("Could not find plan node");r.children=t?r.children.filter(t):[]}unstashChild(e,t){const r=this.planNodes.get(e);if(r){const e=this.planNodes.get(t);if(!e)throw new Error("Could not find plan parent node");e.children.push(r)}}appendMetadata(e,t){const r=this.planNodes.get(e);r&&(r.metadata={...r.metadata,...t})}toJson(){return this.rootNode?this.planNodeToJson(this.rootNode):{}}planNodeToJson(e){const t={logical:e.logicalOperator,physical:e.physicalOperator,...this.getLogicalMetadata(e.rawNode),...this.compactMetadata(e.metadata)};if(e.children.length>0&&(t.children=e.children.map((e=>this.planNodeToJson(e)))),"bind"===t.physical&&t.children){const e={};for(const r of t.children){const t=r.children?.at(-1)??r,n=this.getPlanHash(t).join(",");e[n]||(e[n]=[]),e[n].push(r)}const r=[];for(const t of Object.values(e))r.push({occurrences:t.length,firstOccurrence:t[0]});t.childrenCompact=r,delete t.children}return t}getPlanHash(e){let t=[`${e.logical}-${e.physical}`];return e.children?t=[...t,...e.children.flatMap((e=>this.getPlanHash(e)))]:e.childrenCompact&&(t=[...t,...e.childrenCompact.flatMap((e=>this.getPlanHash(e.firstOccurrence)))]),t}compactMetadata(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e,this.compactMetadataValue(t)])))}compactMetadataValue(e){return e&&"object"==typeof e&&"termType"in e?this.getLogicalMetadata(e):e}getLogicalMetadata(e){const t={};if("type"in e){const r=e;switch(r.metadata?.scopedSource&&(t.source=r.metadata.scopedSource.source.toString()),r.type){case"pattern":t.pattern=this.quadToString(r);break;case"project":t.variables=r.variables.map((e=>e.value))}}return t}quadToString(e){return`${(0,n.termToString)(e.subject)} ${(0,n.termToString)(e.predicate)} ${(0,n.termToString)(e.object)}${"DefaultGraph"===e.graph.termType?"":` ${(0,n.termToString)(e.graph)}`}`}toCompactString(){const e=this.toJson(),t=[],r=new Map;if("logical"in e?this.nodeToCompactString(t,r,"",e):t.push("Empty"),r.size>0){t.push(""),t.push("sources:");for(const[e,n]of r.entries())t.push(` ${n}: ${e}`)}return t.join("\n")}nodeToCompactString(e,t,r,n,o){let a;n.source&&(a=t.get(n.source),void 0===a&&(a=t.size,t.set(n.source,a))),e.push(`${r}${n.logical}${n.physical?`(${n.physical})`:""}${n.pattern?` (${n.pattern})`:""}${n.variables?` (${n.variables.join(",")})`:""}${n.bindOperation?` bindOperation:(${n.bindOperation.pattern}) bindCardEst:${"estimate"===n.bindOperationCardinality.type?"~":""}${i(n.bindOperationCardinality.value)}`:""}${n.cardinality?` cardEst:${"estimate"===n.cardinality.type?"~":""}${i(n.cardinality.value)}`:""}${n.source?` src:${a}`:""}${n.cardinalityReal?` cardReal:${n.cardinalityReal}`:""}${n.timeSelf?` timeSelf:${i(n.timeSelf)}ms`:""}${n.timeLife?` timeLife:${i(n.timeLife)}ms`:""}${o?` ${o}`:""}`);for(const i of n.children??[])this.nodeToCompactString(e,t,`${r} `,i);for(const i of n.childrenCompact??[])this.nodeToCompactString(e,t,`${r} `,i.firstOccurrence,`compacted-occurrences:${i.occurrences}`)}},t.numberToString=i},35191:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86173),t),i(r(93974),t)},24960:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcessSequential=void 0;const n=r(59478),i=r(90711),o=r(90412),a=r(81926),s=r(67021),c=r(96331);class u extends n.ActorQueryProcess{constructor(e){super(e)}async test(e){return e.context.get(i.KeysInitQuery.explain)??e.context.get(new o.ActionContextKey("explain"))?(0,o.failTest)(`${this.name} is not able to explain queries.`):(0,o.passTestVoid)()}async run(e){let{operation:t,context:r}=await this.parse(e.query,e.context);return({operation:t,context:r}=await this.optimize(t,r)),{result:await this.evaluate(t,r)}}async parse(e,t){let r;if(t=(await this.mediatorContextPreprocess.mediate({context:t,initialize:!0})).context,"string"==typeof e){const n=(t=t.set(i.KeysInitQuery.queryString,e)).get(i.KeysInitQuery.baseIRI),o=t.get(i.KeysInitQuery.queryFormat),a=await this.mediatorQueryParse.mediate({context:t,query:e,queryFormat:o,baseIRI:n});r=a.operation,a.baseIRI&&(t=t.set(i.KeysInitQuery.baseIRI,a.baseIRI))}else r=e;if(t.has(i.KeysInitQuery.initialBindings)){const e=t.getSafe(i.KeysInitQuery.dataFactory),n=new c.Factory(e),o=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,t,e);r=(0,s.materializeOperation)(r,t.get(i.KeysInitQuery.initialBindings),n,o),t=t.delete(i.KeysInitQuery.queryString)}return{operation:r,context:t}}async optimize(e,t){return t=t.set(i.KeysInitQuery.query,e),({operation:e,context:t}=await this.mediatorOptimizeQueryOperation.mediate({context:t,operation:e})),{operation:e,context:t=t.set(i.KeysInitQuery.query,e)}}async evaluate(e,t){const r=await this.mediatorQueryOperation.mediate({context:t,operation:e});return r.context=t,r}}t.ActorQueryProcessSequential=u},92423:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(24960),t)},30389:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeJson=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(43347),s=r(19198);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}async testHandleChecked(e,t){return["bindings","quads","boolean"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings or quad streams.")}async runHandle(e,t,r){const n=new s.Readable;if(n._read=()=>{},"bindings"===e.type||"quads"===e.type){let t="bindings"===e.type?(0,o.wrap)(e.bindingsStream).map((e=>JSON.stringify(Object.fromEntries([...e].map((([e,t])=>[e.value,a.termToString(t)])))))):(0,o.wrap)(e.quadStream).map((e=>JSON.stringify(a.quadToStringQuad(e)))),r=!0;t=t.map((e=>{const t=`${r?"":","}\n${e}`;return r=!1,t})).prepend(["["]).append(["\n]\n"]),n.wrap(t)}else try{n.push(`${JSON.stringify(await e.execute())}\n`),n.push(null)}catch(e){setTimeout((()=>n.emit("error",e)))}return{data:n}}}t.ActorQueryResultSerializeJson=c},1359:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30389),t)},98027:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeRdf=void 0;const n=r(58871),i=r(90412);class o extends n.ActorQueryResultSerialize{constructor(e){super(e)}async testHandle(e,t,r){if("quads"!==e.type)return(0,i.failTest)(`Actor ${this.name} can only handle quad streams`);const{mediaTypes:n}=await this.mediatorMediaTypeCombiner.mediate({context:r,mediaTypes:!0});return t in n?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} can not handle media type ${t}. All available types: ${Object.keys(n)}`)}async runHandle(e,t,r){return(await this.mediatorRdfSerialize.mediate({context:r,handle:{context:r,quadStream:e.quadStream},handleMediaType:t})).handle}async testMediaType(e){return(0,i.passTestVoid)()}async getMediaTypes(e){return(await this.mediatorMediaTypeCombiner.mediate({context:e,mediaTypes:!0})).mediaTypes}async testMediaTypeFormats(e){return(0,i.passTestVoid)()}async getMediaTypeFormats(e){return(await this.mediatorMediaTypeFormatCombiner.mediate({context:e,mediaTypeFormats:!0})).mediaTypeFormats}}t.ActorQueryResultSerializeRdf=o},33275:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98027),t)},36057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSimple=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(43347),s=r(19198);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}async testHandleChecked(e,t){return["bindings","quads","boolean","void"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings streams, quad streams, booleans, or updates.")}static termToString(e){return"Quad"===e.termType?(0,a.termToString)(e):e.value}async runHandle(e,t,r){const n=new s.Readable;return"bindings"===e.type?n.wrap(e.bindingsStream.map((e=>`${[...e].map((([e,t])=>`?${e.value}: ${c.termToString(t)}`)).join("\n")}\n\n`))):"quads"===e.type?n.wrap(e.quadStream.map((e=>`subject: ${c.termToString(e.subject)}\npredicate: ${c.termToString(e.predicate)}\nobject: ${c.termToString(e.object)}\ngraph: ${c.termToString(e.graph)}\n\n`))):n.wrap((0,o.wrap)("boolean"===e.type?e.execute().then((e=>[`${e}\n`])):e.execute().then((()=>["ok\n"])))),{data:n}}}t.ActorQueryResultSerializeSimple=c},1595:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36057),t)},66338:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlCsv=void 0;const n=r(58871),i=r(90412),o=r(19198);class a extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToCsvBindings(e){if(!e)return"";let t=e.value;if("Literal"===e.termType)t=`${t}`;else if("BlankNode"===e.termType)t=`_:${t}`;else if("Quad"===e.termType){let r=a.bindingToCsvBindings(e.object);"Literal"===e.object.termType&&(r=`"${r.replaceAll('"','""')}"`),t=`<< ${a.bindingToCsvBindings(e.subject)} ${a.bindingToCsvBindings(e.predicate)} ${r} >>`}else t=`<${t}>`;return/[",\n\r]/u.test(t)&&(t=`"${t.replaceAll('"','""')}"`),t}async testHandleChecked(e,t){return"bindings"!==e.type?(0,i.failTest)("This actor can only handle bindings streams."):(0,i.passTestVoid)()}async runHandle(e,t,r){const n=e,i=new o.Readable,s=await n.metadata();return i.push(`${s.variables.map((e=>e.variable.value)).join(",")}\r\n`),i.wrap(n.bindingsStream.map((e=>`${s.variables.map((t=>a.bindingToCsvBindings(e.get(t.variable)))).join(",")}\r\n`))),{data:i}}}t.ActorQueryResultSerializeSparqlCsv=a},83657:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(66338),t)},40409:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionObserverHttp=void 0;const n=r(90412);class i extends n.ActionObserver{constructor(e){super(e),this.requests=0,this.bus.subscribeObserver(this),this.httpInvalidator.addInvalidateListener((()=>{this.requests=0}))}onRun(e,t,r){this.requests++}}t.ActionObserverHttp=i},71186:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlJson=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(19198);class s extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToJsonBindings(e){if("Literal"===e.termType){const t=e,r={value:t.value,type:"literal"},{language:n,datatype:i}=t;return n?r["xml:lang"]=n:i&&"http://www.w3.org/2001/XMLSchema#string"!==i.value&&(r.datatype=i.value),r}return"BlankNode"===e.termType?{value:e.value,type:"bnode"}:"Quad"===e.termType?{value:{subject:s.bindingToJsonBindings(e.subject),predicate:s.bindingToJsonBindings(e.predicate),object:s.bindingToJsonBindings(e.object)},type:"triple"}:{value:e.value,type:"uri"}}async testHandleChecked(e,t){return["bindings","boolean"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings streams or booleans.")}async runHandle(e,t,r){const n=new a.Readable,i={};if("bindings"===e.type){const c=await e.metadata();c.variables.length>0&&(i.vars=c.variables.map((e=>e.variable.value)))}if(n.push(`{"head": ${JSON.stringify(i)},\n`),"bindings"===e.type){const u=e.bindingsStream;n.push('"results": { "bindings": [\n');let l=!0;function*d(e){yield e()}n.wrap((0,o.wrap)(u).map((e=>{const t=`${l?"":",\n"}${JSON.stringify(Object.fromEntries([...e].map((([e,t])=>[e.value,s.bindingToJsonBindings(t)]))))}`;return l=!1,t})).append((0,o.wrap)(d((()=>`\n]}${this.emitMetadata?`,\n"metadata": { "httpRequests": ${this.httpObserver.requests} }`:""}}\n`)))))}else n.wrap((0,o.wrap)(e.execute().then((e=>[`"boolean":${e}\n}\n`]))));return{data:n}}}t.ActorQueryResultSerializeSparqlJson=s},13125:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40409),t),i(r(71186),t)},86780:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlTsv=void 0;const n=r(58871),i=r(90412),o=r(46898),a=r(19198);class s extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToTsvBindings(e){return e?(0,o.termToString)(e).replaceAll("\t","\\t").replaceAll("\n","\\n").replaceAll("\r","\\r"):""}async testHandleChecked(e,t){return"bindings"!==e.type?(0,i.failTest)("This actor can only handle bindings streams."):(0,i.passTestVoid)()}async runHandle(e,t,r){const n=e,i=new a.Readable,o=await n.metadata();return i.push(`${o.variables.map((e=>e.variable.value)).join("\t")}\n`),i.wrap(n.bindingsStream.map((e=>`${o.variables.map((t=>s.bindingToTsvBindings(e.get(t.variable)))).join("\t")}\n`))),{data:i}}}t.ActorQueryResultSerializeSparqlTsv=s},92796:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86780),t)},13168:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeSparqlXml=void 0;const n=r(58871),i=r(90412),o=r(75627),a=r(19198),s=r(1861);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static bindingToXmlBindings(e,t){return{name:"binding",attributes:{name:t.value},children:[this.valueToXmlValue(e)]}}static valueToXmlValue(e){let t;switch(e.termType){case"Literal":return t=e.language?{"xml:lang":e.language}:e.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==e.datatype.value?{datatype:e.datatype.value}:{},{name:"literal",attributes:t,children:e.value};case"BlankNode":return{name:"bnode",children:e.value};case"Quad":return{name:"triple",children:[{name:"subject",children:[this.valueToXmlValue(e.subject)]},{name:"predicate",children:[this.valueToXmlValue(e.predicate)]},{name:"object",children:[this.valueToXmlValue(e.object)]}]};default:return{name:"uri",children:e.value}}}async testHandleChecked(e,t){return["bindings","boolean"].includes(e.type)?(0,i.passTestVoid)():(0,i.failTest)("This actor can only handle bindings streams or booleans.")}async runHandle(e,t,r){const n=new a.Readable;n._read=()=>{};const i=new s.XmlSerializer,u=await e.metadata();if(n.push(s.XmlSerializer.header),n.push(i.open("sparql",{xmlns:"http://www.w3.org/2005/sparql-results#"})),n.push(i.serializeNode({name:"head",children:u.variables.map((e=>({name:"variable",attributes:{name:e.variable.value}})))})),"bindings"===e.type){function*l(){yield i.close(),yield i.close()}n.push(i.open("results"));const d=(0,o.wrap)(e.bindingsStream).map((e=>i.serializeNode({name:"result",children:[...e].map((([e,t])=>c.bindingToXmlBindings(t,e)))}))).append((0,o.wrap)(l()));n.wrap(d)}else try{const p=await e.execute();n.push(i.serializeNode({name:"boolean",children:p.toString()})),n.push(i.close()),setTimeout((()=>n.push(null)))}catch(h){setTimeout((()=>n.emit("error",h)))}return{data:n}}}t.ActorQueryResultSerializeSparqlXml=c},1861:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XmlSerializer=void 0;class r{constructor(){this.stack=[]}open(e,t){const r=`${this.identation()+this.formatTag(e,t,"open")}\n`;return this.stack.push(e),r}close(){const e=this.stack.pop();if(void 0===e)throw new Error("There is no tag left to close");return`${this.identation()+this.formatTag(e,{},"close")}\n`}serializeNode(e){if(void 0===e.children)return`${this.identation()+this.formatTag(e.name,e.attributes,"self-closing")}\n`;if("string"==typeof e.children)return`${this.identation()+this.formatTag(e.name,e.attributes,"open")+this.escape(e.children)+this.formatTag(e.name,{},"close")}\n`;const t=[];t.push(`${this.identation()+this.formatTag(e.name,e.attributes,"open")}\n`),this.stack.push(e.name);for(const r of e.children)t.push(this.serializeNode(r));return this.stack.pop(),t.push(`${this.identation()+this.formatTag(e.name,{},"close")}\n`),t.join("")}identation(){return this.stack.map((e=>" ")).join("")}formatTag(e,t,r){return`<${"close"===r?"/":""}${e}${Object.entries(t??{}).map((e=>` ${e[0]}="${this.escape(e[1])}"`))}${"self-closing"===r?"/":""}>`}escape(e){return e.replaceAll(/["&'<>]/gu,(e=>{switch(e){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return"""}}))}}t.XmlSerializer=r,r.header='\n'},23200:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(13168),t)},94690:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionObserverHttp=void 0;const n=r(90412);class i extends n.ActionObserver{constructor(e){super(e),this.requests=0,this.bus.subscribeObserver(this),this.httpInvalidator.addInvalidateListener((()=>{this.requests=0}))}onRun(e,t,r){this.requests++}}t.ActionObserverHttp=i},98329:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeStats=void 0;const n=r(58871),i=r(90711),o=r(90412),a=r(75627),s=r(19198);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}async testHandleChecked(e,t){return["bindings","quads"].includes(e.type)?(0,o.passTestVoid)():(0,o.failTest)("This actor can only handle bindings streams or quad streams.")}pushHeader(e){const t=["Result","Delay (ms)","HTTP requests"].join(",");e.push(`${t}\n`)}createStat(e,t){return`${[t,this.delay(e),this.httpObserver.requests].join(",")}\n`}createSpecialLine(e,t){return`${[e,this.delay(t),this.httpObserver.requests].join(",")}\n`}async runHandle(e,t,r){const n=new s.Readable,o="bindings"===e.type?e.bindingsStream:e.quadStream,c=e.context.getSafe(i.KeysInitQuery.queryTimestampHighResolution);let u=1;const l=(0,a.wrap)(o).map((()=>this.createStat(c,u++))).prepend([this.createSpecialLine("PLANNING",c)]).append((0,a.wrap)(function*(e){yield e()}((()=>this.createSpecialLine("TOTAL",c)))));return this.pushHeader(n),n.wrap(l),{data:n}}now(){return performance.now()}delay(e){return this.now()-e}}t.ActorQueryResultSerializeStats=c},93408:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(94690),t),i(r(98329),t)},80991:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeTable=void 0;const n=r(58871),i=r(90711),o=r(90412),a=r(43347),s=r(3285),c=r(19198);class u extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e),this.padding=u.repeat(" ",this.columnWidth)}static repeat(e,t){return e.repeat(t)}async testHandleChecked(e,t){return["bindings","quads"].includes(e.type)?(0,o.passTestVoid)():(0,o.failTest)("This actor can only handle bindings or quad streams.")}termToString(e){return"Quad"===e.termType?(0,a.termToString)(e):e.value}pad(e){return e.length<=this.columnWidth?e+this.padding.slice(e.length):`${e.slice(0,this.columnWidth-1)}…`}pushHeader(e,t){const r=t.map((e=>this.pad(e.value))).join(" ");e.push(`${r}\n${u.repeat("-",r.length)}\n`)}createRow(e,t){return`${e.map((e=>t.has(e)?this.termToString(t.get(e)):"")).map((e=>this.pad(e))).join(" ")}\n`}async runHandle(e,t,r){const n=new c.Readable;let o;if("bindings"===e.type){o=e.bindingsStream.map((e=>this.createRow(t,e)));const t=(await e.metadata()).variables.map((e=>e.variable));this.pushHeader(n,t)}else{o=e.quadStream.map((e=>`${(0,s.getTerms)(e).map((e=>this.pad(this.termToString(e)))).join(" ")}\n`));const t=e.context.getSafe(i.KeysInitQuery.dataFactory);this.pushHeader(n,s.QUAD_TERM_NAMES.map((e=>t.variable(e))))}return n.wrap(o),{data:n}}}t.ActorQueryResultSerializeTable=u},17731:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(80991),t)},73505:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeTree=void 0;const n=r(58871),i=r(90711),o=r(90412),a=r(19198),s=r(12763);class c extends n.ActorQueryResultSerializeFixedMediaTypes{constructor(e){super(e)}static async bindingsStreamToGraphQl(e,t,r){const n=o.ActionContext.ensureActionContext(t),a=new s.Converter(r),c={singularizeVariables:n.get(i.KeysInitQuery.graphqlSingularizeVariables)??{}};return a.bindingsToTree(await e.map((e=>Object.fromEntries([...e].map((([e,t])=>[e.value,t]))))).toArray(),c)}async testHandleChecked(e){return"bindings"!==e.type?(0,o.failTest)("This actor can only handle bindings streams."):(0,o.passTestVoid)()}async runHandle(e,t){const r=new a.Readable;return r._read=()=>{r._read=()=>{},c.bindingsStreamToGraphQl(e.bindingsStream,e.context,{materializeRdfJsTerms:!0}).then((e=>{r.push(JSON.stringify(e,null," ")),r.push(null)})).catch((e=>r.emit("error",e)))},{data:r}}}t.ActorQueryResultSerializeTree=c},78149:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.bindingsStreamToGraphQl=void 0;const o=r(73505),{bindingsStreamToGraphQl:a}=o.ActorQueryResultSerializeTree;t.bindingsStreamToGraphQl=a,i(r(73505),t)},16850:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermediaNone=void 0;const n=r(20998),i=r(62100),o=r(90711),a=r(90412),s=r(81926),c=r(34554);class u extends i.ActorQuerySourceIdentifyHypermedia{constructor(e){super(e,"file")}async testMetadata(e){return(0,a.passTest)({filterFactor:0})}async run(e){this.logInfo(e.context,`Identified as file source: ${e.url}`);const t=e.context.getSafe(o.KeysInitQuery.dataFactory),r=new n.QuerySourceRdfJs(await(0,c.storeStream)(e.quads),t,await s.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t));return r.toString=()=>`QuerySourceRdfJs(${e.url})`,r.referenceValue=e.url,{source:r}}}t.ActorQuerySourceIdentifyHypermediaNone=u},74838:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16850),t)},75844:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermediaQpf=void 0;const n=r(62100),i=r(90711),o=r(90412),a=r(81926),s=r(96331),c=r(20715);class u extends n.ActorQuerySourceIdentifyHypermedia{constructor(e){super(e,"qpf")}async test(e){return e.forceSourceType&&"qpf"!==e.forceSourceType&&"brtpf"!==e.forceSourceType?(0,o.failTest)(`Actor ${this.name} is not able to handle source type ${e.forceSourceType}.`):this.testMetadata(e)}async testMetadata(e){const{searchForm:t}=await this.createSource(e.url,e.metadata,e.context,"brtpf"===e.forceSourceType);return t?e.handledDatasets&&e.handledDatasets[t.dataset]?(0,o.failTest)(`Actor ${this.name} can only be applied for the first page of a QPF dataset.`):(0,o.passTest)({filterFactor:1}):(0,o.failTest)("Illegal state: found no TPF/QPF search form anymore in metadata.")}async run(e){this.logInfo(e.context,`Identified as qpf source: ${e.url}`);const t=await this.createSource(e.url,e.metadata,e.context,"brtpf"===e.forceSourceType,e.quads);return{source:t,dataset:t.searchForm.dataset}}async createSource(e,t,r,n,o){const u=r.getSafe(i.KeysInitQuery.dataFactory),l=new s.Factory(u);return new c.QuerySourceQpf(this.mediatorMetadata,this.mediatorMetadataExtract,this.mediatorDereferenceRdf,u,l,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,r,u),this.subjectUri,this.predicateUri,this.objectUri,this.graphUri,e,t,n,o)}}t.ActorQuerySourceIdentifyHypermediaQpf=u},20715:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceQpf=void 0;const n=r(559),i=r(90711),o=r(99214),a=r(75627),s=r(43347),c=r(46898),u=r(3285);function l(e){return"DefaultGraph"===e.termType?"|":(0,s.termToString)(e)}t.QuerySourceQpf=class{constructor(e,t,r,n,i,s,c,u,l,d,p,h,f,y){if(this.referenceValue=p,this.mediatorMetadata=e,this.mediatorMetadataExtract=t,this.mediatorDereferenceRdf=r,this.dataFactory=n,this.algebraFactory=i,this.bindingsFactory=s,this.subjectUri=c,this.predicateUri=u,this.objectUri=l,this.graphUri=d,this.url=p,this.bindingsRestricted=f,this.cachedQuads={},this.searchForm=this.getSearchForm(h),this.defaultGraph=h.defaultGraph?this.dataFactory.namedNode(h.defaultGraph):void 0,y){let e=(0,a.wrap)(y);this.defaultGraph&&(e=this.reverseMapQuadsToDefaultGraph(e)),h={...h,state:new o.MetadataValidationState},e.setProperty("metadata",h),this.cacheQuads(e,this.dataFactory.variable(""),this.dataFactory.variable(""),this.dataFactory.variable(""),this.dataFactory.variable(""))}this.selectorShape=this.bindingsRestricted?{type:"operation",operation:{operationType:"pattern",pattern:this.algebraFactory.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g"))},variablesOptional:[this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g")],filterBindings:!0}:{type:"operation",operation:{operationType:"pattern",pattern:this.algebraFactory.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g"))},variablesOptional:[this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g")]}}async getSelectorShape(){return this.selectorShape}queryBindings(e,t,r){if("pattern"!==e.type)throw new Error(`Attempted to pass non-pattern operation '${e.type}' to QuerySourceQpf`);const o=Boolean(t.get(i.KeysQueryOperation.unionDefaultGraph));let a=this.match(e.subject,e.predicate,e.object,e.graph,o,t,r);return a=(0,n.filterMatchingQuotedQuads)(e,a),(0,n.quadsToBindings)(a,e,this.dataFactory,this.bindingsFactory,o)}getSearchForm(e){if(!e.searchForms||!e.searchForms.values)return;const{searchForms:t}=e;for(const e of t.values){if(this.graphUri&&this.subjectUri in e.mappings&&this.predicateUri in e.mappings&&this.objectUri in e.mappings&&this.graphUri in e.mappings&&4===Object.keys(e.mappings).length)return e;if(this.subjectUri in e.mappings&&this.predicateUri in e.mappings&&this.objectUri in e.mappings&&3===Object.keys(e.mappings).length)return e}}createFragmentUri(e,t,r,n,i){const o={},a=[{uri:this.subjectUri,term:t},{uri:this.predicateUri,term:r},{uri:this.objectUri,term:n},{uri:this.graphUri,term:i}];for(const e of a)e.uri&&(this.bindingsRestricted||"Variable"!==e.term.termType&&("Quad"!==e.term.termType||(0,u.everyTermsNested)(e.term,(e=>"Variable"!==e.termType))))&&(o[e.uri]=(0,s.termToString)(e.term));return e.getUri(o)}match(e,t,r,n,i,s,c){let l=!1;if("DefaultGraph"===n.termType)if(this.defaultGraph)l=!0,n=this.defaultGraph;else if(4!==Object.keys(this.searchForm.mappings).length||this.defaultGraph)3===Object.keys(this.searchForm.mappings).length&&(n=this.dataFactory.variable("g"));else{if(!i){const e=new a.ArrayIterator([],{autoStart:!1});return e.setProperty("metadata",{state:new o.MetadataValidationState,requestTime:0,cardinality:{type:"exact",value:0},first:null,next:null,last:null}),e}n=this.dataFactory.variable("g")}if(!c?.filterBindings){const i=this.getCachedQuads(e,t,r,n);if(i)return i}const d=this;let p;const h=async function(){let i=d.createFragmentUri(d.searchForm,e,t,r,n);c?.filterBindings&&(i=await d.getBindingsRestrictedLink(e,t,r,n,i,c.filterBindings));const a=await d.mediatorDereferenceRdf.mediate({context:s,url:i});i=a.url;const u=await d.mediatorMetadata.mediate({context:s,url:i,quads:a.data,triples:a.metadata?.triples}),{metadata:l}=await d.mediatorMetadataExtract.mediate({context:s,url:i,metadata:u.metadata,requestTime:a.requestTime});return p.setProperty("metadata",{...l,state:new o.MetadataValidationState,subsetOf:d.url}),u.data}();return p=new a.TransformIterator((async()=>{const i=await h,o=this.dataFactory.defaultGraph();let s=(0,a.wrap)(i).transform({filter:i=>!!(0,u.matchPattern)(i,e,t,r,n)||l&&(0,u.matchPattern)(i,e,t,r,o)});return(l||"Variable"===n.termType)&&(s=this.reverseMapQuadsToDefaultGraph(s)),s}),{autoStart:!1}),c?.filterBindings?p:(this.cacheQuads(p,e,t,r,n),this.getCachedQuads(e,t,r,n))}async getBindingsRestrictedLink(e,t,r,n,i,o){const a=[];for(const e of await o.bindings.toArray()){const t=["("];for(const r of o.metadata.variables){const n=e.get(r.variable);t.push(n?(0,c.termToString)(n):"UNDEF"),t.push(" ")}t.push(")"),a.push(t.join(""))}return 0===a.length&&a.push("()"),`${i}&values=${encodeURIComponent(`(${o.metadata.variables.map((e=>`?${e.variable.value}`)).join(" ")}) { ${a.join(" ")} }`)}`}reverseMapQuadsToDefaultGraph(e){const t=this.dataFactory.defaultGraph();return e.map((e=>(0,u.mapTerms)(e,((e,r)=>"graph"===r&&e.equals(this.defaultGraph)?t:e))))}getPatternId(e,t,r,n){return JSON.stringify({s:"Variable"===e.termType?"":l(e),p:"Variable"===t.termType?"":l(t),o:"Variable"===r.termType?"":l(r),g:"Variable"===n.termType?"":l(n)})}cacheQuads(e,t,r,n,i){const o=this.getPatternId(t,r,n,i);this.cachedQuads[o]=e.clone()}getCachedQuads(e,t,r,n){const i=this.getPatternId(e,t,r,n),o=this.cachedQuads[i];if(o)return o.clone()}queryQuads(e,t){throw new Error("queryQuads is not implemented in QuerySourceQpf")}queryBoolean(e,t){throw new Error("queryBoolean is not implemented in QuerySourceQpf")}queryVoid(e,t){throw new Error("queryVoid is not implemented in QuerySourceQpf")}}},63881:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(75844),t),i(r(20715),t)},71644:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermediaSparql=void 0;const n=r(62100),i=r(90711),o=r(90412),a=r(81926),s=r(96331),c=r(40229);class u extends n.ActorQuerySourceIdentifyHypermedia{constructor(e){super(e,"sparql")}async testMetadata(e){return e.forceSourceType||e.metadata.sparqlService||this.checkUrlSuffix&&e.url.endsWith("/sparql")?(0,o.passTest)({filterFactor:1}):(0,o.failTest)(`Actor ${this.name} could not detect a SPARQL service description or URL ending on /sparql.`)}async run(e){this.logInfo(e.context,`Identified ${e.url} as sparql source with service URL: ${e.metadata.sparqlService||e.url}`);const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=new s.Factory(t);return{source:new c.QuerySourceSparql(e.forceSourceType?e.url:e.metadata.sparqlService||e.url,e.context,this.mediatorHttp,this.bindMethod,t,r,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t),this.forceHttpGet,this.cacheSize,this.countTimeout)}}}t.ActorQuerySourceIdentifyHypermediaSparql=u},40229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceSparql=void 0;const n=r(90711),i=r(90412),o=r(99214),a=r(75627),s=r(92603),c=r(89096),u=r(3285),l=r(96331),d={type:"estimate",value:Number.POSITIVE_INFINITY};class p{constructor(e,t,r,n,i,o,a,u,l,d){this.referenceValue=e,this.url=e,this.context=t,this.mediatorHttp=r,this.bindMethod=n,this.dataFactory=i,this.algebraFactory=o,this.bindingsFactory=a,this.endpointFetcher=new s.SparqlEndpointFetcher({method:u?"GET":"POST",fetch:(e,t)=>this.mediatorHttp.mediate({input:e,init:t,context:this.lastSourceContext}),prefixVariableQuestionMark:!0,dataFactory:i}),this.cache=l>0?new c.LRUCache({max:l}):void 0,this.countTimeout=d}async getSelectorShape(){return p.SELECTOR_SHAPE}queryBindings(e,t,r){let i;i=r?.joinBindings?p.addBindingsToOperation(this.algebraFactory,this.bindMethod,e,r.joinBindings):Promise.resolve(e);const o=new a.TransformIterator((async()=>{const e=await i,o=l.Util.inScopeVariables(e),a=t.get(n.KeysInitQuery.queryString),s=!r?.joinBindings&&a?a:p.operationToSelectQuery(this.algebraFactory,e,o),c=p.getOperationUndefs(e);return this.queryBindingsRemote(this.url,s,o,t,c)}),{autoStart:!1});return this.attachMetadata(o,t,i),o}queryQuads(e,t){this.lastSourceContext=this.context.merge(t);const r=this.endpointFetcher.fetchTriples(this.url,t.get(n.KeysInitQuery.queryString)??p.operationToQuery(e));this.lastSourceContext=void 0;const i=(0,a.wrap)(r,{autoStart:!1,maxBufferSize:Number.POSITIVE_INFINITY});return this.attachMetadata(i,t,Promise.resolve(e.input)),i}queryBoolean(e,t){this.lastSourceContext=this.context.merge(t);const r=this.endpointFetcher.fetchAsk(this.url,t.get(n.KeysInitQuery.queryString)??p.operationToQuery(e));return this.lastSourceContext=void 0,r}queryVoid(e,t){this.lastSourceContext=this.context.merge(t);const r=this.endpointFetcher.fetchUpdate(this.url,t.get(n.KeysInitQuery.queryString)??p.operationToQuery(e));return this.lastSourceContext=void 0,r}attachMetadata(e,t,r){let n=[];new Promise((async(e,i)=>{let o;try{const i=await r,a=l.Util.inScopeVariables(i);o=p.operationToCountQuery(this.dataFactory,this.algebraFactory,i);const s=p.getOperationUndefs(i);n=a.map((e=>({variable:e,canBeUndef:s.some((t=>t.equals(e)))})));const c=this.cache?.get(o);if(void 0!==c)return e(c);const u=setTimeout((()=>e(d)),this.countTimeout),h=this.dataFactory.variable("count"),f=await this.queryBindingsRemote(this.url,o,[h],t,[]);f.on("data",(t=>{clearTimeout(u);const r=t.get(h),n={type:"estimate",value:Number.POSITIVE_INFINITY};if(r){const e=Number.parseInt(r.value,10);Number.isNaN(e)||(n.type="exact",n.value=e,this.cache?.set(o,n))}return e(n)})),f.on("error",(()=>{clearTimeout(u),e(d)})),f.on("end",(()=>{clearTimeout(u),e(d)}))}catch(e){return i(e)}})).then((t=>{e.setProperty("metadata",{state:new o.MetadataValidationState,cardinality:t,variables:n})})).catch((()=>e.setProperty("metadata",{state:new o.MetadataValidationState,cardinality:d,variables:n})))}static async addBindingsToOperation(e,t,r,n){const i=await n.bindings.toArray();switch(t){case"values":return e.createJoin([e.createValues(n.metadata.variables.map((e=>e.variable)),i.map((e=>Object.fromEntries([...e].map((([e,t])=>[`?${e.value}`,t])))))),r],!1);case"union":throw new Error('Not implemented yet: "union" case');case"filter":throw new Error('Not implemented yet: "filter" case')}}static operationToSelectQuery(e,t,r){return p.operationToQuery(e.createProject(t,r))}static operationToCountQuery(e,t,r){return p.operationToQuery(t.createProject(t.createExtend(t.createGroup(r,[],[t.createBoundAggregate(e.variable("var0"),"count",t.createWildcardExpression(),!1)]),e.variable("count"),t.createTermExpression(e.variable("var0"))),[e.variable("count")]))}static operationToQuery(e){return(0,l.toSparql)(e,{sparqlStar:!0})}static getOperationUndefs(e){const t=[];return l.Util.recurseOperation(e,{leftjoin(e){const r=l.Util.inScopeVariables(e.input[0]),n=l.Util.inScopeVariables(e.input[1]);for(const e of n)r.some((t=>t.equals(e)))||t.push(e);return!1},values(e){for(const r of e.variables)e.bindings.some((e=>!(`?${r.value}`in e)))&&t.push(r);return!1},union(e){const r=e.input.map(l.Util.inScopeVariables);for(const e of(0,u.uniqTerms)(r.flat()))r.every((t=>t.some((t=>t.equals(e)))))||t.push(e);return!0}}),(0,u.uniqTerms)(t)}async queryBindingsRemote(e,t,r,n,o){const s=new Set;for(const e of o)s.add(e.value);this.lastSourceContext=this.context.merge(n);const c=await this.endpointFetcher.fetchBindings(e,t);return this.lastSourceContext=void 0,(0,a.wrap)(c,{autoStart:!1,maxBufferSize:Number.POSITIVE_INFINITY}).map((t=>this.bindingsFactory.bindings(r.map((r=>{const n=t[`?${r.value}`];return s.has(r.value)||n||i.Actor.getContextLogger(this.context)?.warn(`The endpoint ${e} failed to provide a binding for ${r.value}.`),[r,n]})).filter((([e,t])=>Boolean(t))))))}toString(){return`QuerySourceSparql(${this.url})`}}t.QuerySourceSparql=p,p.SELECTOR_SHAPE={type:"disjunction",children:[{type:"operation",operation:{operationType:"wildcard"},joinBindings:!0}]}},83101:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(71644),t),i(r(40229),t)},17685:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermedia=void 0;const n=r(559),i=r(90711),o=r(90412),a=r(81926),s=r(20386);class c extends n.ActorQuerySourceIdentify{constructor(e){super(e)}async test(e){return"string"!=typeof e.querySourceUnidentified.value?(0,o.failTest)(`${this.name} requires a single query source with a URL value to be present in the context.`):(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{querySource:{source:new s.QuerySourceHypermedia(this.cacheSize,e.querySourceUnidentified.value,e.querySourceUnidentified.type,this.maxIterators,this.aggregateTraversalStore&&Boolean(e.querySourceUnidentified.context?.get(i.KeysQuerySourceIdentify.traverse)),{mediatorMetadata:this.mediatorMetadata,mediatorMetadataExtract:this.mediatorMetadataExtract,mediatorMetadataAccumulate:this.mediatorMetadataAccumulate,mediatorDereferenceRdf:this.mediatorDereferenceRdf,mediatorQuerySourceIdentifyHypermedia:this.mediatorQuerySourceIdentifyHypermedia,mediatorRdfResolveHypermediaLinks:this.mediatorRdfResolveHypermediaLinks,mediatorRdfResolveHypermediaLinksQueue:this.mediatorRdfResolveHypermediaLinksQueue},(t=>this.logWarn(e.context,t)),t,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t)),context:e.querySourceUnidentified.context??new o.ActionContext}}}}t.ActorQuerySourceIdentifyHypermedia=c},17140:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedRdfSourcesAsyncRdfIterator=void 0;const n=r(90711),i=r(99214),o=r(75627);class a extends o.BufferedIterator{constructor(e,t,r,n,i,o,a,s){if(super({autoStart:!1,...s}),this.started=!1,this.currentIterators=[],this.iteratorsPendingCreation=0,this.iteratorsPendingTermination=0,this.accumulatedMetadata=Promise.resolve(void 0),this._reading=!1,this.cacheSize=e,this.operation=t,this.queryBindingsOptions=r,this.context=n,this.firstUrl=i,this.maxIterators=o,this.sourceStateGetter=a,this.maxIterators<=0)throw new Error(`LinkedRdfSourcesAsyncRdfIterator.maxIterators must be larger than zero, but got ${this.maxIterators}`)}kickstart(){this.started||this._fillBufferAsync()}getProperty(e,t){return"metadata"!==e||this.started||(this.preflightMetadata||(this.preflightMetadata=new Promise(((e,t)=>{this.sourceStateGetter({url:this.firstUrl},{}).then((t=>{const r=t.source.queryBindings(this.operation,this.context);r.getProperty("metadata",(n=>{n.state=new i.MetadataValidationState,r.destroy(),this.accumulateMetadata(t.metadata,n).then((r=>{const i={...t.metadata,...n,...r};e(i)})).catch((()=>{e({...t.metadata,state:new i.MetadataValidationState})}))}))})).catch(t)}))),this.preflightMetadata.then((e=>this.setProperty("metadata",e))).catch((()=>{}))),super.getProperty(e,t)}_end(e){for(const e of this.currentIterators)e.destroy();super._end(e)}_read(e,t){if(this.started){for(const t of this.currentIterators){for(;e>0;){const r=t.read();if(null===r)break;e--,this._push(r)}if(e<=0)break}e>=0&&this.canStartNewIterator()?this.sourceStateGetter({url:this.firstUrl},{}).then((e=>{this.startIteratorsForNextUrls(e.handledDatasets,!1),t()})):t()}else this.started=!0,this.sourceStateGetter({url:this.firstUrl},{}).then((e=>{this.startIterator(e),t()})).catch((e=>setTimeout((()=>this.destroy(e)))))}canStartNewIterator(){return this.currentIterators.length+this.iteratorsPendingCreation+this.iteratorsPendingTermination0}startIterator(e){try{const t=e.source.queryBindings(this.operation,this.context,this.queryBindingsOptions);this.currentIterators.push(t);let r=!1,n=!1;t._destination=this,t.on("error",(e=>this.destroy(e))),t.on("readable",(()=>this._fillBuffer())),t.on("end",(()=>{this.currentIterators.splice(this.currentIterators.indexOf(t),1),r=!0,n||this.iteratorsPendingTermination++,n&&this.startIteratorsForNextUrls(e.handledDatasets,!0)})),t.getProperty("metadata",(t=>{this.accumulatedMetadata=this.accumulatedMetadata.then((o=>(async()=>(o||(o=e.metadata),this.accumulateMetadata(o,t)))().then((o=>{const a={...e.metadata,...t,...o};return a.state=new i.MetadataValidationState,this.updateMetadata(a),this.preflightMetadata&&this.preflightMetadata.then((e=>e.state.invalidate())).catch((()=>{})),this.getSourceLinks(a,e).then((e=>Promise.all(e))).then((async t=>{const i=await this.getLinkQueue();for(const r of t)i.push(r,e.link);n=!0,r&&this.iteratorsPendingTermination--,this.startIteratorsForNextUrls(e.handledDatasets,!0)})).catch((e=>this.destroy(e))),a})))).catch((e=>(this.destroy(e),{})))}))}catch(e){this.destroy(e)}}updateMetadata(e){const t=this.getProperty("metadata");this.setProperty("metadata",e),t?.state.invalidate()}isRunning(){return!this.done}startIteratorsForNextUrls(e,t){this.getLinkQueue().then((r=>{for(;this.canStartNewIterator()&&this.isRunning();){const t=r.pop();if(!t)break;this.iteratorsPendingCreation++,this.sourceStateGetter(t,e).then((e=>{const t=this.context.get(n.KeysStatistics.dereferencedLinks);t&&t.updateStatistic({url:e.link.url,metadata:{...e.metadata,...e.link.metadata}},e.source),this.iteratorsPendingCreation--,this.startIterator(e)})).catch((e=>this.emit("error",e)))}t&&this.isCloseable(r,!0)&&this.close()})).catch((e=>this.destroy(e)))}isCloseable(e,t){return e.isEmpty()&&!this.areIteratorsRunning()}}t.LinkedRdfSourcesAsyncRdfIterator=a},10037:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatedLinkedRdfSourcesAsyncRdfIterator=void 0;const n=r(90711),i=r(17140);class o extends i.LinkedRdfSourcesAsyncRdfIterator{constructor(e,t,r,n,i,o,a,s,c,u,l,d,p,h){super(e,t,r,n,o,a,s,c?{maxBufferSize:Number.POSITIVE_INFINITY}:void 0),this.wasForcefullyClosed=!1,this.forceSourceType=i,this.mediatorMetadataAccumulate=u,this.mediatorRdfResolveHypermediaLinks=l,this.mediatorRdfResolveHypermediaLinksQueue=d,this.handledUrls={[o]:!0},this.aggregatedStore=c,this.dataFactory=p,this.algebraFactory=h}close(){this.aggregatedStore?this.getLinkQueue().then((e=>{this.isCloseable(e,!1)?(this.aggregatedStore&&setTimeout((()=>this.aggregatedStore.end())),super.close()):this.wasForcefullyClosed=!0})).catch((e=>super.destroy(e))):super.close()}destroy(e){this.aggregatedStore?this.getLinkQueue().then((t=>{e??this.isCloseable(t,!1)?(this.aggregatedStore&&setTimeout((()=>this.aggregatedStore.end())),super.destroy(e)):this.wasForcefullyClosed=!0})).catch((e=>super.destroy(e))):super.destroy(e)}isCloseable(e,t){return(t?e.isEmpty():this.wasForcefullyClosed||e.isEmpty())&&!this.areIteratorsRunning()}canStartNewIterator(){return!this.wasForcefullyClosed&&this.aggregatedStore&&this.aggregatedStore.hasRunningIterators()||super.canStartNewIterator()}canStartNewIteratorConsiderReadable(){return!this.aggregatedStore}isRunning(){return this.aggregatedStore&&this.aggregatedStore.hasRunningIterators()||!this.done}getLinkQueue(){return this.linkQueue||(this.linkQueue=this.mediatorRdfResolveHypermediaLinksQueue.mediate({firstUrl:this.firstUrl,context:this.context}).then((e=>e.linkQueue))),this.linkQueue}async getSourceLinks(e,t){try{const{links:r}=await this.mediatorRdfResolveHypermediaLinks.mediate({context:this.context,metadata:e}),i=this.context.get(n.KeysStatistics.discoveredLinks);if(i)for(const e of r)i.updateStatistic({url:e.url,metadata:{...e.metadata}},t.link);return r.filter((e=>!this.handledUrls[e.url]&&(this.handledUrls[e.url]=!0,!0)))}catch{return[]}}startIterator(e){if(this.aggregatedStore&&!this.aggregatedStore.containedSources.has(e.link.url)){this.aggregatedStore?.containedSources.add(e.link.url);const t=e.source.queryBindings(this.algebraFactory.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"),this.dataFactory.variable("g")),this.context.set(n.KeysQueryOperation.unionDefaultGraph,!0)).map((e=>this.dataFactory.quad(e.get("s"),e.get("p"),e.get("o"),e.get("g"))));this.aggregatedStore.import(t).on("end",(()=>{super.startIterator(e)}))}else super.startIterator(e)}async accumulateMetadata(e,t){return(await this.mediatorMetadataAccumulate.mediate({mode:"append",accumulatedMetadata:e,appendingMetadata:t,context:this.context})).metadata}updateMetadata(e){super.updateMetadata(e),this.aggregatedStore?.setBaseMetadata(e,!0)}}t.MediatedLinkedRdfSourcesAsyncRdfIterator=o},20386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceHypermedia=void 0;const n=r(20998),i=r(90711),o=r(75627),a=r(89096),s=r(19198),c=r(96331),u=r(10037),l=r(22573);t.QuerySourceHypermedia=class{constructor(e,t,r,n,i,o,s,c,u){this.referenceValue=t,this.cacheSize=e,this.firstUrl=t,this.forceSourceType=r,this.maxIterators=n,this.mediators=o,this.aggregateStore=i,this.logWarning=s,this.dataFactory=c,this.bindingsFactory=u,this.sourcesState=new a.LRUCache({max:this.cacheSize})}async getSelectorShape(e){return(await this.getSourceCached({url:this.firstUrl},{},e,this.getAggregateStore(e))).source.getSelectorShape(e)}queryBindings(e,t,r){const o=this.getAggregateStore(t);if(o&&"pattern"===e.type&&o.started)return new n.QuerySourceRdfJs(o,t.getSafe(i.KeysInitQuery.dataFactory),this.bindingsFactory).queryBindings(e,t);0===this.sourcesState.size&&this.getSourceCached({url:this.firstUrl},{},t,o).catch((e=>l.destroy(e)));const a=t.getSafe(i.KeysInitQuery.dataFactory),s=new c.Factory(a),l=new u.MediatedLinkedRdfSourcesAsyncRdfIterator(this.cacheSize,e,r,t,this.forceSourceType,this.firstUrl,this.maxIterators,((e,r)=>this.getSourceCached(e,r,t,o)),o,this.mediators.mediatorMetadataAccumulate,this.mediators.mediatorRdfResolveHypermediaLinks,this.mediators.mediatorRdfResolveHypermediaLinksQueue,a,s);if(o){o.started=!0;const e=()=>l.kickstart();o.addIteratorCreatedListener(e),l.on("end",(()=>o.removeIteratorCreatedListener(e)))}return l}queryQuads(e,t){return new o.TransformIterator((async()=>(await this.getSourceCached({url:this.firstUrl},{},t,this.getAggregateStore(t))).source.queryQuads(e,t)))}async queryBoolean(e,t){const r=await this.getSourceCached({url:this.firstUrl},{},t,this.getAggregateStore(t));return await r.source.queryBoolean(e,t)}async queryVoid(e,t){const r=await this.getSourceCached({url:this.firstUrl},{},t,this.getAggregateStore(t));return await r.source.queryVoid(e,t)}async getSource(e,t,r,n){e.context&&(r=r.merge(e.context));let i,o,a=e.url;try{const t=await this.mediators.mediatorDereferenceRdf.mediate({context:r,url:a});a=t.url;const n=await this.mediators.mediatorMetadata.mediate({context:r,url:a,quads:t.data,triples:t.metadata?.triples});n.data.on("error",(()=>{})),o=(await this.mediators.mediatorMetadataExtract.mediate({context:r,url:a,metadata:n.metadata,headers:t.headers,requestTime:t.requestTime})).metadata,i=n.data,e.transform&&(i=await e.transform(i))}catch(e){i=new s.Readable,i.read=()=>(setTimeout((()=>i.emit("error",e))),null),({metadata:o}=await this.mediators.mediatorMetadataAccumulate.mediate({context:r,mode:"initialize"})),this.logWarning(`Metadata extraction for ${a} failed: ${e.message}`)}n?.setBaseMetadata(o,!1),n?.containedSources.add(e.url),n?.import(i);const{source:c,dataset:u}=await this.mediators.mediatorQuerySourceIdentifyHypermedia.mediate({context:r,forceSourceType:e.url===this.firstUrl?this.forceSourceType:void 0,handledDatasets:t,metadata:o,quads:i,url:a});return u&&(t[u]=!0),{link:e,source:c,metadata:o,handledDatasets:t}}getSourceCached(e,t,r,n){let i=this.sourcesState.get(e.url);return i||(i=this.getSource(e,t,r,n),e.url!==this.firstUrl&&void 0!==n||this.sourcesState.set(e.url,i),i)}getAggregateStore(e){let t;if(this.aggregateStore){const r=e.get(i.KeysQuerySourceIdentify.hypermediaSourcesAggregatedStores);if(r)return t=r.get(this.firstUrl),t||(t=new l.StreamingStoreMetadata(void 0,(async(t,r)=>(await this.mediators.mediatorMetadataAccumulate.mediate({mode:"append",accumulatedMetadata:t,appendingMetadata:r,context:e})).metadata)),r.set(this.firstUrl,t)),t}}toString(){return`QuerySourceHypermedia(${this.firstUrl})`}}},22573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamingStoreMetadata=void 0;const n=r(4809),i=r(99214),o=r(18962);class a extends o.StreamingStore{constructor(e,t){super(e),this.started=!1,this.containedSources=new Set,this.runningIterators=new Set,this.iteratorCreatedListeners=new Set,this.baseMetadata={state:new i.MetadataValidationState,cardinality:{type:"exact",value:0},variables:[]},this.metadataAccumulator=t}import(e){return this.ended||super.import(e),e}hasRunningIterators(){return this.runningIterators.size>0}match(e,t,r,o){const a=super.match(e,t,r,o),s=new n.ClosableTransformIterator(a,{autoStart:!1,onClose:()=>{this.runningIterators.delete(s)}});let c=this.getStore().countQuads(e,t,r,o);const u={state:new i.MetadataValidationState,cardinality:{type:"estimate",value:c}};s.setProperty("metadata",u),s.setProperty("lastCount",c),a.on("quad",(()=>{s.setProperty("lastCount",++c),this.updateMetadataState(s,c)})),this.runningIterators.add(s);for(const e of this.iteratorCreatedListeners)e();return s}setBaseMetadata(e,t){if(this.baseMetadata={...e},this.baseMetadata.cardinality={type:"exact",value:0},t)for(const e of this.runningIterators){const t=e.getProperty("lastCount");this.updateMetadataState(e,t)}}updateMetadataState(e,t){const r={state:new i.MetadataValidationState,cardinality:{type:"estimate",value:t},variables:[]};this.metadataAccumulator(this.baseMetadata,r).then((t=>{t.state=new i.MetadataValidationState;const r=e.getProperty("metadata");e.setProperty("metadata",t),r?.state.invalidate()})).catch((()=>{}))}addIteratorCreatedListener(e){this.iteratorCreatedListeners.add(e)}removeIteratorCreatedListener(e){this.iteratorCreatedListeners.delete(e)}}t.StreamingStoreMetadata=a},79881:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17685),t),i(r(20386),t)},37859:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyRdfJs=void 0;const n=r(559),i=r(90711),o=r(90412),a=r(81926),s=r(70020);class c extends n.ActorQuerySourceIdentify{constructor(e){super(e)}async test(e){const t=e.querySourceUnidentified;return void 0!==t.type&&"rdfjs"!==t.type?(0,o.failTest)(`${this.name} requires a single query source with rdfjs type to be present in the context.`):"string"!=typeof t.value&&"match"in t.value?(0,o.passTestVoid)():(0,o.failTest)(`${this.name} received an invalid rdfjs query source.`)}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{querySource:{source:new s.QuerySourceRdfJs(e.querySourceUnidentified.value,t,await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t)),context:e.querySourceUnidentified.context??new o.ActionContext}}}}t.ActorQuerySourceIdentifyRdfJs=c},31994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},70020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySourceRdfJs=void 0;const n=r(559),i=r(90711),o=r(99214),a=r(75627),s=r(3285),c=r(96331);class u{constructor(e,t,r){this.source=e,this.referenceValue=e,this.dataFactory=t,this.bindingsFactory=r;const n=new c.Factory(this.dataFactory);this.selectorShape={type:"operation",operation:{operationType:"pattern",pattern:n.createPattern(this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o"))},variablesOptional:[this.dataFactory.variable("s"),this.dataFactory.variable("p"),this.dataFactory.variable("o")]}}static nullifyVariables(e,t){return!e||"Variable"===e.termType||!t&&"Quad"===e.termType&&(0,s.someTermsNested)(e,(e=>"Variable"===e.termType))?void 0:e}static hasDuplicateVariables(e){const t=(0,s.filterTermsNested)(e,(e=>"Variable"===e.termType));return t.length>1&&(0,s.uniqTerms)(t).lengths.destroy(e))),(0,n.quadsToBindings)(s,e,this.dataFactory,this.bindingsFactory,Boolean(t.get(i.KeysQueryOperation.unionDefaultGraph)))}async setMetadata(e,t){const r=Boolean(this.source.features?.quotedTripleFiltering);let n;if(this.source.countQuads)n=await this.source.countQuads(u.nullifyVariables(t.subject,r),u.nullifyVariables(t.predicate,r),u.nullifyVariables(t.object,r),u.nullifyVariables(t.graph,r));else{let e=0;n=await new Promise(((n,i)=>{const o=this.source.match(u.nullifyVariables(t.subject,r),u.nullifyVariables(t.predicate,r),u.nullifyVariables(t.object,r),u.nullifyVariables(t.graph,r));o.on("error",i),o.on("end",(()=>n(e))),o.on("data",(()=>e++))}))}const i=!r&&(0,s.someTerms)(t,(e=>"Quad"===e.termType))||u.hasDuplicateVariables(t);e.setProperty("metadata",{state:new o.MetadataValidationState,cardinality:{type:i?"estimate":"exact",value:n}})}queryQuads(e,t){throw new Error("queryQuads is not implemented in QuerySourceRdfJs")}queryBoolean(e,t){throw new Error("queryBoolean is not implemented in QuerySourceRdfJs")}queryVoid(e,t){throw new Error("queryVoid is not implemented in QuerySourceRdfJs")}toString(){return`QuerySourceRdfJs(${this.source.constructor.name})`}}t.QuerySourceRdfJs=u},20998:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(37859),t),i(r(31994),t),i(r(70020),t)},15825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifySerialized=void 0;const n=r(559),i=r(90412),o=r(34554),a=r(19198);class s extends n.ActorQuerySourceIdentify{constructor(e){super(e)}async test(e){return this.isStringSource(e.querySourceUnidentified)?(0,i.passTestVoid)():(0,i.failTest)(`${this.name} requires a single query source with serialized type to be present in the context.`)}async run(e){return await this.mediatorQuerySourceIdentify.mediate({querySourceUnidentified:{type:"rdfjs",value:await this.getRdfSource(e.context,e.querySourceUnidentified),context:e.querySourceUnidentified.context},context:e.context})}async getRdfSource(e,t){const r=new a.Readable({objectMode:!0});r._read=()=>{},r.push(t.value),r.push(null);const n={context:e,handle:{metadata:{baseIRI:t.baseIRI},data:r,context:e},handleMediaType:t.mediaType},i=await this.mediatorRdfParse.mediate(n);return await(0,o.storeStream)(i.handle.data)}isStringSource(e){return"type"in e?"serialized"===e.type:"string"==typeof e.value&&"mediaType"in e}}t.ActorQuerySourceIdentifySerialized=s},34905:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15825),t)},914:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinEntriesSortCardinality=void 0;const n=r(39195),i=r(90412);class o extends n.ActorRdfJoinEntriesSort{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{entries:[...e.entries].sort(((e,t)=>e.metadata.cardinality.value-t.metadata.cardinality.value))}}}t.ActorRdfJoinEntriesSortCardinality=o},4669:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(914),t)},17937:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinHash=void 0;const n=r(95445),i=r(90412),o=r(18888),a=r(4809),s=r(75627),c=r(25579),u=r(43347);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"hash-"+(e.canHandleUndefs?"undef":"def"),limitEntries:2,requiresVariableOverlap:!0,canHandleUndefs:e.canHandleUndefs})}async getOutput(e,t){const r=t.metadatas;let i;const l=n.ActorRdfJoin.overlappingVariables(r);if(this.canHandleUndefs){const e=t.entriesSorted[0].output,r=t.entriesSorted[1].output;i=new a.ClosableTransformIterator((async()=>{const t=new o.BindingsIndexUndef(l,(e=>e&&"Variable"!==e.termType?(0,u.termToString)(e):""),!0);return await new Promise((r=>{e.bindingsStream.on("data",(e=>{(t.getFirst(e,!1)??t.put(e,[])).push(e)})),e.bindingsStream.on("end",r),e.bindingsStream.on("error",(e=>{i.emit("error",e)}))})),new s.MultiTransformIterator(r.bindingsStream,{multiTransform:e=>new s.ArrayIterator(t.get(e).flat().map((t=>n.ActorRdfJoin.joinBindings(e,t))).filter((e=>null!==e)),{autoStart:!1}),autoStart:!1})}),{autoStart:!1,onClose(){e.bindingsStream.destroy(),r.bindingsStream.destroy()}})}else{const{hashFunction:r}=await this.mediatorHashBindings.mediate({context:e.context}),o=l.map((e=>e.variable));i=new c.HashJoin(t.entriesSorted[0].output.bindingsStream,t.entriesSorted[1].output.bindingsStream,(e=>r(e,o)),n.ActorRdfJoin.joinBindings)}return{result:{type:"bindings",bindingsStream:i,metadata:async()=>await this.constructResultMetadata(t.entriesSorted,r,e.context)}}}async getJoinCoefficients(e,t){let r=e.entries;t.metadatas[1].cardinality.value{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiBindSource=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(4809),s=r(67021),c=r(75627),u=r(96331);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"bind-source",canHandleUndefs:!0})}async getOutput(e,t){const r=e.context.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),o=t.entriesSorted;this.logDebug(e.context,"First entry for Bind Join Source: ",(()=>({entry:o[0].operation,metadata:o[0].metadata})));for(const[e,t]of o.entries())0!==e&&t.output.bindingsStream.close();const l=o[0].output,d=o[0].metadata,p=[...o];p.splice(0,1);const h=(0,s.getOperationSource)(p[0].operation),f=this.createOperationFromEntries(n,p),y=new a.ChunkedIterator(l.bindingsStream,this.blockSize,{autoStart:!1});return{result:{type:"bindings",bindingsStream:new c.UnionIterator(y.map((t=>h.source.queryBindings(f,h.context?e.context.merge(h.context):e.context,{joinBindings:{bindings:t,metadata:d}})))),metadata:()=>this.constructResultMetadata(o,o.map((e=>e.metadata)),e.context)},physicalPlanMetadata:{bindIndex:t.entriesUnsorted.indexOf(o[0])}}}async sortJoinEntries(e,t){const r=await n.ActorRdfJoin.sortJoinEntries(this.mediatorJoinEntriesSort,e,t);return r.isFailed()?r:(e=(e=r.get()).sort(((e,t)=>e.operationModified&&!t.operationModified?-1:0)),(0,o.passTest)(e))}async getJoinCoefficients(e,t){let{metadatas:r}=t;const a=e.context.getSafe(i.KeysInitQuery.dataFactory),c=new u.Factory(a),l=e.entries.map(((e,t)=>({...e,metadata:r[t]}))),d=await this.sortJoinEntries(l,e.context);if(d.isFailed())return d;const p=d.get();r=p.map((e=>e.metadata));const h=n.ActorRdfJoin.getRequestInitialTimes(r),f=n.ActorRdfJoin.getRequestItemTimes(r),y=[...p],g=[...h],m=[...f];y.splice(0,1),g.splice(0,1),m.splice(0,1);const b=y.map((e=>(0,s.getOperationSource)(e.operation)));if(b.some((e=>!e)))return(0,o.failTest)(`Actor ${this.name} can not bind on remaining operations without source annotation`);if(b.some((e=>e!==b[0])))return(0,o.failTest)(`Actor ${this.name} can not bind on remaining operations with non-equal source annotation`);const _=b[0],v=this.createOperationFromEntries(c,y),w=await _.source.getSelectorShape(e.context);if(!(0,s.doesShapeAcceptOperation)(w,v,{joinBindings:!0}))return(0,o.failTest)(`Actor ${this.name} detected a source that can not handle passing down join bindings`);const S=await Promise.all(y.map((async t=>(await this.mediatorJoinSelectivity.mediate({entries:[p[0],t],context:e.context})).selectivity*this.selectivityModifier))),E=y.map(((e,t)=>e.metadata.cardinality.value*S[t])).reduce(((e,t)=>e+t),0);return(0,o.passTestWithSideData)({iterations:1,persistedItems:r[0].cardinality.value,blockingItems:r[0].cardinality.value,requestTime:h[0]+r[0].cardinality.value*f[0]+h[1]+E*f[1]},{...t,entriesUnsorted:l,entriesSorted:p})}createOperationFromEntries(e,t){return 1===t.length?t[0].operation:e.createJoin(t.map((e=>e.operation)),!0)}}t.ActorRdfJoinMultiBindSource=l},79731:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(18697),t)},14652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiBind=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(81926),s=r(67021),c=r(75627),u=r(96331);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"bind",canHandleUndefs:!0,isLeaf:!1})}static createBindStream(e,t,r,n,i,o,a){const u="depth-first"===e,l=e=>{const t=r.map((t=>(0,s.materializeOperation)(t,e,o,a,{bindFilter:!0}))),i=t=>t.merge(e);return new c.TransformIterator((async()=>(await n(t,e)).transform({map:i})),{maxBufferSize:128,autoStart:u})};switch(e){case"depth-first":return new c.MultiTransformIterator(t,{autoStart:!1,multiTransform:l,optional:i});case"breadth-first":return new c.UnionIterator(t.transform({map:l,optional:i}),{autoStart:!1});default:throw new Error(`Received request for unknown bind order: ${e}`)}}async getOutput(e,t){const r=e.context.getSafe(i.KeysInitQuery.dataFactory),n=new u.Factory(r),o=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,r),c=t.entriesSorted;this.logDebug(e.context,"First entry for Bind Join: ",(()=>({entry:c[0].operation,metadata:c[0].metadata})));for(const[e,t]of c.entries())0!==e&&t.output.bindingsStream.close();const d=c[0].output,p=[...c];p.splice(0,1);const h=e.context.set(i.KeysQueryOperation.joinLeftMetadata,c[0].metadata).set(i.KeysQueryOperation.joinRightMetadatas,p.map((e=>e.metadata)));return{result:{type:"bindings",bindingsStream:l.createBindStream(this.bindOrder,d.bindingsStream,p.map((e=>e.operation)),(async(e,t)=>{const r=1===e.length?e[0]:n.createJoin(e);return(0,s.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:r,context:h?.set(i.KeysQueryOperation.joinBindings,t)})).bindingsStream}),!1,n,o),metadata:()=>this.constructResultMetadata(c,c.map((e=>e.metadata)),e.context)},physicalPlanMetadata:{bindIndex:t.entriesUnsorted.indexOf(c[0]),bindOperation:c[0].operation,bindOperationCardinality:c[0].metadata.cardinality,bindOrder:this.bindOrder}}}canBindWithOperation(e){let t=!0;return u.Util.recurseOperation(e,{[u.Algebra.types.EXTEND]:()=>(t=!1,!1),[u.Algebra.types.GROUP]:()=>(t=!1,!1)}),t}async getJoinCoefficients(e,t){let{metadatas:r}=t;const i=e.entries.map(((e,t)=>({...e,metadata:r[t]}))),a=await n.ActorRdfJoin.sortJoinEntries(this.mediatorJoinEntriesSort,i,e.context);if(a.isFailed())return a;const s=a.get();r=s.map((e=>e.metadata));const c=n.ActorRdfJoin.getRequestInitialTimes(r),u=n.ActorRdfJoin.getRequestItemTimes(r),l=[...s],d=[...c],p=[...u];if(l.splice(0,1),d.splice(0,1),p.splice(0,1),l.some((e=>!this.canBindWithOperation(e.operation))))return(0,o.failTest)(`Actor ${this.name} can not bind on Extend and Group operations`);if(l.some((e=>e.operationModified)))return(0,o.failTest)(`Actor ${this.name} can not be used over remaining entries with modified operations`);if(r[0].cardinality.value*this.minMaxCardinalityRatio>Math.max(...r.map((e=>e.cardinality.value))))return(0,o.failTest)(`Actor ${this.name} can only run if the smallest stream is much smaller than largest stream`);const h=await Promise.all(l.map((async t=>(await this.mediatorJoinSelectivity.mediate({entries:[s[0],t],context:e.context})).selectivity*this.selectivityModifier))),f=l.map(((e,t)=>e.metadata.cardinality.value*h[t])).reduce(((e,t)=>e+t),0),y=d.reduce(((e,t)=>e+t),0),g=p.reduce(((e,t)=>e+t),0);return(0,o.passTestWithSideData)({iterations:r[0].cardinality.value*f,persistedItems:0,blockingItems:0,requestTime:c[0]+r[0].cardinality.value*(u[0]+y+f*g)},{...t,entriesUnsorted:i,entriesSorted:s})}}t.ActorRdfJoinMultiBind=l},42815:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(14652),t)},82e3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiEmpty=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(99214),s=r(75627);class c extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"multi-empty",canHandleUndefs:!0})}async test(e){return(await n.ActorRdfJoin.getMetadatas(e.entries)).every((e=>n.ActorRdfJoin.getCardinality(e).value>0))?(0,o.failTest)(`Actor ${this.name} can only join entries where at least one is empty`):super.test(e)}async getOutput(e){for(const t of e.entries)t.output.bindingsStream.close();const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{result:{bindingsStream:new s.ArrayIterator([],{autoStart:!1}),metadata:async()=>({state:new a.MetadataValidationState,cardinality:{type:"exact",value:0},variables:n.ActorRdfJoin.joinVariables(t,await n.ActorRdfJoin.getMetadatas(e.entries))}),type:"bindings"}}}async getJoinCoefficients(e,t){return(0,o.passTestWithSideData)({iterations:0,persistedItems:0,blockingItems:0,requestTime:0},t)}}t.ActorRdfJoinMultiEmpty=c},25445:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(82e3),t)},90246:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiSmallestFilterBindings=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(81926),s=r(4809),c=r(67021),u=r(75627),l=r(96331);class d extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"multi-smallest-filter-bindings",limitEntries:2,limitEntriesMin:!0,isLeaf:!1})}async sortJoinEntries(e,t){let{entries:r}=await this.mediatorJoinEntriesSort.mediate({entries:e,context:t});r=r.sort(((e,t)=>e.operationModified&&!t.operationModified?-1:0));const n=r.splice(0,1)[0];let i,a=-1,s=0;for(const[e,t]of r.entries()){const r=n.metadata.variables.filter((e=>t.metadata.variables.some((t=>e.variable.equals(t.variable))))).length;(!i||r>s||r===s&&(t.metadata.variables.lengthp.metadata.variables.some((t=>e.variable.equals(t.variable))))),g={},m=f.clone().map((e=>e.filter(((e,t)=>y.some((e=>e.variable.equals(t))))))).filter((e=>{const t=(0,a.bindingsToString)(e);return!(t in g)&&(g[t]=!0)})),b=new s.ChunkedIterator(m,this.blockSize,{autoStart:!1}),_=(0,c.getOperationSource)(p.operation),v={output:{type:"bindings",bindingsStream:new u.UnionIterator(b.map((t=>_.source.queryBindings(p.operation,_.context?e.context.merge(_.context):e.context,{filterBindings:{bindings:t,metadata:d.metadata}})))),metadata:p.output.metadata},operation:p.operation,operationModified:!0};p.output.bindingsStream.destroy();const w={output:(0,c.getSafeBindings)(await this.mediatorJoin.mediate({type:e.type,entries:[d,v],context:e.context.set(i.KeysRdfJoin.lastPhysicalJoin,this.physicalName)})),operation:r.createJoin([d.operation,v.operation],!1),operationModified:!0},S=h;return S.unshift(w),{result:await this.mediatorJoin.mediate({type:e.type,entries:S,context:e.context}),physicalPlanMetadata:{firstIndex:o.indexOf(d),secondIndex:o.indexOf(p)}}}async getJoinCoefficients(e,t){let{metadatas:r}=t;if(e.context.get(i.KeysRdfJoin.lastPhysicalJoin)===this.physicalName)return(0,o.failTest)(`Actor ${this.name} can not be called recursively`);r=[...r];const a=await this.sortJoinEntries(e.entries.map(((e,t)=>({...e,metadata:r[t]}))),e.context);if(a.isFailed())return a;const{first:s,second:u,remaining:l}=a.get(),d=(0,c.getOperationSource)(u.operation);if(!d)return(0,o.failTest)(`Actor ${this.name} can only process if entries[1] has a source`);const p=u.operation,h=await d.source.getSelectorShape(e.context);if(!(0,c.doesShapeAcceptOperation)(h,p,{filterBindings:!0}))return(0,o.failTest)(`Actor ${this.name} can only process if entries[1] accept filterBindings`);r=[s.metadata,u.metadata,...l.map((e=>e.metadata))];const f=n.ActorRdfJoin.getRequestInitialTimes(r),y=n.ActorRdfJoin.getRequestItemTimes(r),{selectivity:g}=await this.mediatorJoinSelectivity.mediate({entries:[s,u],context:e.context}),m=l.reduce(((e,t)=>e*t.metadata.cardinality.value*this.selectivityModifier),1);return(0,o.passTestWithSideData)({iterations:g*this.selectivityModifier*u.metadata.cardinality.value*m,persistedItems:s.metadata.cardinality.value,blockingItems:s.metadata.cardinality.value,requestTime:f[0]+r[0].cardinality.value*y[0]+f[1]+m*y[1]},t)}}t.ActorRdfJoinMultiSmallestFilterBindings=d},30615:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(90246),t)},20268:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMultiSmallest=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(67021),s=r(96331);class c extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"multi-smallest",limitEntries:3,limitEntriesMin:!0,canHandleUndefs:!0,isLeaf:!1})}async sortJoinEntries(e,t){return(await this.mediatorJoinEntriesSort.mediate({entries:e,context:t})).entries}async getOutput(e,t){const r=e.context.getSafe(i.KeysInitQuery.dataFactory),n=new s.Factory(r),o=t.sortedEntries,c=o[0],u=o[1];o.splice(0,2);const l={output:(0,a.getSafeBindings)(await this.mediatorJoin.mediate({type:e.type,entries:[c,u],context:e.context})),operation:n.createJoin([c.operation,u.operation],!1)};return o.push(l),{result:await this.mediatorJoin.mediate({type:e.type,entries:o,context:e.context})}}async getJoinCoefficients(e,t){let{metadatas:r}=t;r=[...r];const i=await this.sortJoinEntries(e.entries.map(((e,t)=>({...e,metadata:r[t]}))),e.context);r=i.map((e=>e.metadata));const a=n.ActorRdfJoin.getRequestInitialTimes(r),s=n.ActorRdfJoin.getRequestItemTimes(r);return(0,o.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value*r.slice(2).reduce(((e,t)=>e*t.cardinality.value),1),persistedItems:0,blockingItems:0,requestTime:a[0]+r[0].cardinality.value*s[0]+a[1]+r[1].cardinality.value*s[1]+r.slice(2).reduce(((e,t,r)=>e+a.slice(2)[r]+t.cardinality.value*s.slice(2)[r]),0)},{...t,sortedEntries:i})}}t.ActorRdfJoinMultiSmallest=c},25925:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20268),t)},31523:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinNestedLoop=void 0;const n=r(95445),i=r(90412),o=r(25579);class a extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"nested-loop",limitEntries:2,canHandleUndefs:!0})}async getOutput(e){return{result:{type:"bindings",bindingsStream:new o.NestedLoopJoin(e.entries[0].output.bindingsStream,e.entries[1].output.bindingsStream,n.ActorRdfJoin.joinBindings,{autoStart:!1}),metadata:async()=>await this.constructResultMetadata(e.entries,await n.ActorRdfJoin.getMetadatas(e.entries),e.context)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);return(0,i.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value,persistedItems:0,blockingItems:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinNestedLoop=a},36229:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(31523),t)},52729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinNone=void 0;const n=r(95445),i=r(90711),o=r(90412),a=r(81926),s=r(99214),c=r(75627);class u extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"none",limitEntries:0})}async test(e){return e.entries.length>0?(0,o.failTest)(`Actor ${this.name} can only join zero entries`):await this.getJoinCoefficients(e,void 0)}async getOutput(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=await a.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t);return{result:{bindingsStream:new c.ArrayIterator([r.bindings()],{autoStart:!1}),metadata:()=>Promise.resolve({state:new s.MetadataValidationState,cardinality:{type:"exact",value:1},variables:[]}),type:"bindings"}}}async getJoinCoefficients(e,t){return(0,o.passTestWithSideData)({iterations:0,persistedItems:0,blockingItems:0,requestTime:0},t)}}t.ActorRdfJoinNone=u},88766:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52729),t)},40721:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinSingle=void 0;const n=r(95445),i=r(90412);class o extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"single",limitEntries:1}),this.includeInLogs=!1}async test(e){return 1!==e.entries.length?(0,i.failTest)(`Actor ${this.name} can only join a single entry`):await this.getJoinCoefficients(e,void 0)}async getOutput(e){return{result:e.entries[0].output}}async getJoinCoefficients(e,t){return(0,i.passTestWithSideData)({iterations:0,persistedItems:0,blockingItems:0,requestTime:0},t)}}t.ActorRdfJoinSingle=o},71924:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40721),t)},42149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinSymmetricHash=void 0;const n=r(95445),i=r(90412),o=r(25579);class a extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"inner",physicalName:"symmetric-hash",limitEntries:2,requiresVariableOverlap:!0})}async getOutput(e){const t=await n.ActorRdfJoin.getMetadatas(e.entries),r=n.ActorRdfJoin.overlappingVariables(t),{hashFunction:i}=await this.mediatorHashBindings.mediate({context:e.context}),a=r.map((e=>e.variable));return{result:{type:"bindings",bindingsStream:new o.SymmetricHashJoin(e.entries[0].output.bindingsStream,e.entries[1].output.bindingsStream,(e=>i(e,a)),n.ActorRdfJoin.joinBindings),metadata:async()=>await this.constructResultMetadata(e.entries,t,e.context)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);return(0,i.passTestWithSideData)({iterations:r[0].cardinality.value+r[1].cardinality.value,persistedItems:r[0].cardinality.value+r[1].cardinality.value,blockingItems:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinSymmetricHash=a},96835:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(42149),t)},38729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinMinusHash=void 0;const n=r(95445),i=r(90412),o=r(81926),a=r(18888),s=r(4809),c=r(43347);class u extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"minus",physicalName:"hash-"+(e.canHandleUndefs?"undef":"def"),limitEntries:2,canHandleUndefs:e.canHandleUndefs})}static constructIndex(e,t){return e?new a.BindingsIndexUndef(t,(e=>e&&"Variable"!==e.termType?(0,c.termToString)(e):""),!1):new a.BindingsIndexDef(t,o.bindingsToCompactString)}async getOutput(e){const t=e.entries[1].output,r=e.entries[0].output,i=await n.ActorRdfJoin.getMetadatas(e.entries),o=n.ActorRdfJoin.overlappingVariables(i);if(0===o.length)return t.bindingsStream.destroy(),{result:r};const a=new s.ClosableTransformIterator((async()=>{const e=u.constructIndex(this.canHandleUndefs,o);return await new Promise((r=>{t.bindingsStream.on("data",(t=>e.put(t,!0))),t.bindingsStream.on("end",r),t.bindingsStream.on("error",(e=>a.emit("error",e)))})),r.bindingsStream.filter((t=>!e.getFirst(t,!0)))}),{autoStart:!1,onClose(){t.bindingsStream.destroy(),r.bindingsStream.destroy()}});return{result:{type:"bindings",bindingsStream:a,metadata:r.metadata}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);let s=r[0].cardinality.value+r[1].cardinality.value;return this.canHandleUndefs||(s*=.8),(0,i.passTestWithSideData)({iterations:s,persistedItems:r[0].cardinality.value,blockingItems:r[0].cardinality.value,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinMinusHash=u},42004:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38729),t)},75425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinOptionalBind=void 0;const n=r(42815),i=r(95445),o=r(90711),a=r(90412),s=r(81926),c=r(67021),u=r(96331);class l extends i.ActorRdfJoin{constructor(e){super(e,{logicalType:"optional",physicalName:"bind",limitEntries:2,canHandleUndefs:!0,isLeaf:!1,requiresVariableOverlap:!0})}async getOutput(e){const t=e.context.getSafe(o.KeysInitQuery.dataFactory),r=new u.Factory(t),a=await s.BindingsFactory.create(this.mediatorMergeBindingsContext,e.context,t);e.entries[1].output.bindingsStream.close();const l=e.context.set(o.KeysQueryOperation.joinLeftMetadata,await e.entries[0].output.metadata()).set(o.KeysQueryOperation.joinRightMetadatas,[await e.entries[1].output.metadata()]);return{result:{type:"bindings",bindingsStream:n.ActorRdfJoinMultiBind.createBindStream(this.bindOrder,e.entries[0].output.bindingsStream,[e.entries[1].operation],(async(e,t)=>{const r=e[0];return(0,c.getSafeBindings)(await this.mediatorQueryOperation.mediate({operation:r,context:l?.set(o.KeysQueryOperation.joinBindings,t)})).bindingsStream}),!0,r,a),metadata:async()=>await this.constructResultMetadata(e.entries,await i.ActorRdfJoin.getMetadatas(e.entries),e.context,{},!0)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,n=i.ActorRdfJoin.getRequestInitialTimes(r),o=i.ActorRdfJoin.getRequestItemTimes(r);if(e.entries[1].operation.type===u.Algebra.types.EXTEND||e.entries[1].operation.type===u.Algebra.types.GROUP)return(0,a.failTest)(`Actor ${this.name} can not bind on Extend and Group operations`);const s=(await this.mediatorJoinSelectivity.mediate({entries:e.entries,context:e.context})).selectivity*this.selectivityModifier;return(0,a.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value*s,persistedItems:0,blockingItems:0,requestTime:n[0]+r[0].cardinality.value*(o[0]+n[1]+s*r[1].cardinality.value*o[1])},t)}}t.ActorRdfJoinOptionalBind=l},97237:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(75425),t)},71923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinOptionalHash=void 0;const n=r(95445),i=r(90412),o=r(81926),a=r(18888),s=r(4809),c=r(75627),u=r(43347);class l extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"optional",physicalName:`hash-${e.canHandleUndefs?"undef":"def"}-${e.blocking?"blocking":"nonblocking"}`,limitEntries:2,canHandleUndefs:e.canHandleUndefs,requiresVariableOverlap:!0})}static constructIndex(e,t){return e?new a.BindingsIndexUndef(t,(e=>e&&"Variable"!==e.termType?(0,u.termToString)(e):""),!0):new a.BindingsIndexDef(t,o.bindingsToCompactString)}async getOutput(e){const t=e.entries[1].output,r=e.entries[0].output,i=await n.ActorRdfJoin.getMetadatas(e.entries),o=n.ActorRdfJoin.overlappingVariables(i);let a;return a=this.blocking?new s.ClosableTransformIterator((async()=>{const e=l.constructIndex(this.canHandleUndefs,o);return await new Promise((r=>{t.bindingsStream.on("data",(t=>{(e.getFirst(t,!0)??e.put(t,[])).push(t)})),t.bindingsStream.on("end",r),t.bindingsStream.on("error",(e=>{a.emit("error",e)}))})),new c.MultiTransformIterator(r.bindingsStream,{multiTransform:t=>new c.ArrayIterator(e.get(t).flat().map((e=>n.ActorRdfJoin.joinBindings(t,e))).filter((e=>null!==e)),{autoStart:!1}),optional:!0,autoStart:!1})}),{autoStart:!1,onClose(){t.bindingsStream.destroy(),r.bindingsStream.destroy()}}):new s.ClosableTransformIterator((async()=>{const e=l.constructIndex(this.canHandleUndefs,o);let i=!0;return t.bindingsStream.on("data",(t=>{(e.getFirst(t,!0)??e.put(t,new c.BufferedIterator({autoStart:!1})))._push(t)})),t.bindingsStream.on("end",(()=>{for(const t of e.values())t.close();i=!1})),t.bindingsStream.on("error",(e=>{a.emit("error",e)})),new c.MultiTransformIterator(r.bindingsStream,{multiTransform:t=>{let r=e.get(t);return 0===r.length&&(r=i?[e.put(t,new c.BufferedIterator({autoStart:!1}))]:[]),new c.UnionIterator(r.map((e=>e.clone())),{autoStart:!1}).map((e=>n.ActorRdfJoin.joinBindings(t,e)))},optional:!0,autoStart:!1})}),{autoStart:!1,onClose(){t.bindingsStream.destroy(),r.bindingsStream.destroy()}}),{result:{type:"bindings",bindingsStream:a,metadata:async()=>await this.constructResultMetadata(e.entries,i,e.context,{},!0)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);let s=r[0].cardinality.value+r[1].cardinality.value;return this.canHandleUndefs||(s*=.8),this.blocking&&(s*=.9),(0,i.passTestWithSideData)({iterations:s,persistedItems:r[0].cardinality.value,blockingItems:this.blocking?r[0].cardinality.value:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinOptionalHash=l},60146:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(71923),t)},66905:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinOptionalNestedLoop=void 0;const n=r(95445),i=r(90412),o=r(25579);class a extends n.ActorRdfJoin{constructor(e){super(e,{logicalType:"optional",physicalName:"nested-loop",limitEntries:2,canHandleUndefs:!0})}async getOutput(e){return{result:{type:"bindings",bindingsStream:new o.NestedLoopJoin(e.entries[0].output.bindingsStream,e.entries[1].output.bindingsStream,n.ActorRdfJoin.joinBindings,{optional:!0,autoStart:!1}),metadata:async()=>await this.constructResultMetadata(e.entries,await n.ActorRdfJoin.getMetadatas(e.entries),e.context,{},!0)}}}async getJoinCoefficients(e,t){const{metadatas:r}=t,o=n.ActorRdfJoin.getRequestInitialTimes(r),a=n.ActorRdfJoin.getRequestItemTimes(r);return(0,i.passTestWithSideData)({iterations:r[0].cardinality.value*r[1].cardinality.value,persistedItems:0,blockingItems:0,requestTime:o[0]+r[0].cardinality.value*a[0]+o[1]+r[1].cardinality.value*a[1]},t)}}t.ActorRdfJoinOptionalNestedLoop=a},65267:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(66905),t)},36750:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JoinTypes=t.ActorRdfJoinSelectivityVariableCounting=void 0;const n=r(95705),i=r(90412),o=r(96331);class a extends n.ActorRdfJoinSelectivity{constructor(e){super(e)}async test(e){return(0,i.passTest)({accuracy:.5})}static getPatternCost(e){let t=1;return"Variable"===e.subject.termType&&(t+=4),"Variable"!==e.predicate.termType&&e.type!==o.Algebra.types.PATH||(t+=1),"Variable"===e.object.termType&&(t+=2),"Variable"===e.graph.termType&&(t+=1),t/9}static getJoinTypes(e,t){const r=[];return"Variable"===e.subject.termType?(e.subject.equals(t.subject)&&r.push(s.unboundSS),"pattern"===t.type&&e.subject.equals(t.predicate)&&r.push(s.unboundSP),e.subject.equals(t.object)&&r.push(s.unboundSO),e.subject.equals(t.graph)&&r.push(s.unboundSG)):(e.subject.equals(t.subject)&&r.push(s.boundSS),"pattern"===t.type&&e.subject.equals(t.predicate)&&r.push(s.boundSP),e.subject.equals(t.object)&&r.push(s.boundSO),e.subject.equals(t.graph)&&r.push(s.boundSG)),"pattern"===e.type&&("Variable"===e.predicate.termType?(e.predicate.equals(t.subject)&&r.push(s.unboundPS),"pattern"===t.type&&e.predicate.equals(t.predicate)&&r.push(s.unboundPP),e.predicate.equals(t.object)&&r.push(s.unboundPO),e.predicate.equals(t.graph)&&r.push(s.unboundPG)):(e.predicate.equals(t.subject)&&r.push(s.boundPS),"pattern"===t.type&&e.predicate.equals(t.predicate)&&r.push(s.boundPP),e.predicate.equals(t.object)&&r.push(s.boundPO),e.predicate.equals(t.graph)&&r.push(s.boundPG))),"Variable"===e.object.termType?(e.object.equals(t.subject)&&r.push(s.unboundOS),"pattern"===t.type&&e.object.equals(t.predicate)&&r.push(s.unboundOP),e.object.equals(t.object)&&r.push(s.unboundOO),e.object.equals(t.graph)&&r.push(s.unboundOG)):(e.object.equals(t.subject)&&r.push(s.boundOS),"pattern"===t.type&&e.object.equals(t.predicate)&&r.push(s.boundOP),e.object.equals(t.object)&&r.push(s.boundOO),e.object.equals(t.graph)&&r.push(s.boundOG)),"Variable"===e.graph.termType?(e.graph.equals(t.subject)&&r.push(s.unboundGS),"pattern"===t.type&&e.graph.equals(t.predicate)&&r.push(s.unboundGP),e.graph.equals(t.object)&&r.push(s.unboundGO),e.graph.equals(t.graph)&&r.push(s.unboundGG)):(e.graph.equals(t.subject)&&r.push(s.boundGS),"pattern"===t.type&&e.graph.equals(t.predicate)&&r.push(s.boundGP),e.graph.equals(t.object)&&r.push(s.boundGO),e.graph.equals(t.graph)&&r.push(s.boundGG)),r}static getOperationsPairwiseJoinCost(e,t){let r=a.MAX_PAIRWISE_COST;for(const n of a.getJoinTypes(e,t))switch(n){case s.boundSS:r-=4;break;case s.boundSP:r-=6;break;case s.boundSO:r-=2;break;case s.boundSG:case s.boundPS:r-=6;break;case s.boundPP:return 1;case s.boundPO:case s.boundPG:r-=6;break;case s.boundOS:r-=2;break;case s.boundOP:r-=6;break;case s.boundOO:r-=2;break;case s.boundOG:case s.boundGS:case s.boundGP:case s.boundGO:case s.boundGG:r-=6;break;case s.unboundSS:r-=2;break;case s.unboundSP:r-=3;break;case s.unboundSO:r-=1;break;case s.unboundSG:case s.unboundPS:case s.unboundPP:case s.unboundPO:case s.unboundPG:r-=3;break;case s.unboundOS:r-=1;break;case s.unboundOP:r-=3;break;case s.unboundOO:r-=1;break;case s.unboundOG:case s.unboundGS:case s.unboundGP:case s.unboundGO:case s.unboundGG:r-=3}return r/a.MAX_PAIRWISE_COST}static getOperationsJoinCost(e){const t=[];for(const r of e)o.Util.recurseOperation(r,{[o.Algebra.types.PATTERN]:e=>(t.push(e),!1),[o.Algebra.types.PATH]:e=>(t.push(e),!1)});let r=0,n=0;for(const e of t)for(const i of t)e!==i&&(r+=a.getOperationsPairwiseJoinCost(e,i),n++);return 0===n?1:r/n*t.reduce(((e,t)=>e*a.getPatternCost(t)),1)}async run(e){return e.entries.length<=1?{selectivity:1}:{selectivity:a.getOperationsJoinCost(e.entries.map((e=>e.operation)))}}}var s;t.ActorRdfJoinSelectivityVariableCounting=a,a.MAX_PAIRWISE_COST=82,function(e){e[e.boundSS=0]="boundSS",e[e.boundSP=1]="boundSP",e[e.boundSO=2]="boundSO",e[e.boundSG=3]="boundSG",e[e.boundPS=4]="boundPS",e[e.boundPP=5]="boundPP",e[e.boundPO=6]="boundPO",e[e.boundPG=7]="boundPG",e[e.boundOS=8]="boundOS",e[e.boundOP=9]="boundOP",e[e.boundOO=10]="boundOO",e[e.boundOG=11]="boundOG",e[e.boundGS=12]="boundGS",e[e.boundGP=13]="boundGP",e[e.boundGO=14]="boundGO",e[e.boundGG=15]="boundGG",e[e.unboundSS=16]="unboundSS",e[e.unboundSP=17]="unboundSP",e[e.unboundSO=18]="unboundSO",e[e.unboundSG=19]="unboundSG",e[e.unboundPS=20]="unboundPS",e[e.unboundPP=21]="unboundPP",e[e.unboundPO=22]="unboundPO",e[e.unboundPG=23]="unboundPG",e[e.unboundOS=24]="unboundOS",e[e.unboundOP=25]="unboundOP",e[e.unboundOO=26]="unboundOO",e[e.unboundOG=27]="unboundOG",e[e.unboundGS=28]="unboundGS",e[e.unboundGP=29]="unboundGP",e[e.unboundGO=30]="unboundGO",e[e.unboundGG=31]="unboundGG"}(s||(t.JoinTypes=s={}))},3595:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(36750),t)},76063:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulateCardinality=void 0;const n=r(50433),i=r(90412);class o extends n.ActorRdfMetadataAccumulate{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){if("initialize"===e.mode)return{metadata:{cardinality:{type:"exact",value:0}}};const t={...e.accumulatedMetadata.cardinality};if(t.dataset){if(e.accumulatedMetadata.defaultGraph===t.dataset&&t.dataset!==e.appendingMetadata.cardinality.dataset)return{metadata:{cardinality:e.appendingMetadata.cardinality}};if(!e.appendingMetadata.cardinality.dataset)return{metadata:{cardinality:t}};if(t.dataset!==e.appendingMetadata.cardinality.dataset&&e.appendingMetadata.subsetOf===t.dataset)return{metadata:{cardinality:e.appendingMetadata.cardinality}};if(t.dataset===e.appendingMetadata.cardinality.dataset)return{metadata:{cardinality:t}};delete t.dataset}return e.appendingMetadata.cardinality&&Number.isFinite(e.appendingMetadata.cardinality.value)?("estimate"===e.appendingMetadata.cardinality.type&&(t.type="estimate"),t.value+=e.appendingMetadata.cardinality.value):(t.type="estimate",t.value=Number.POSITIVE_INFINITY),{metadata:{cardinality:t}}}}t.ActorRdfMetadataAccumulateCardinality=o},37143:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(76063),t)},80933:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulatePageSize=void 0;const n=r(50433),i=r(90412);class o extends n.ActorRdfMetadataAccumulate{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return"initialize"===e.mode?{metadata:{}}:{metadata:{..."pageSize"in e.accumulatedMetadata||"pageSize"in e.appendingMetadata?{pageSize:(e.accumulatedMetadata.pageSize??0)+(e.appendingMetadata.pageSize??0)}:{}}}}}t.ActorRdfMetadataAccumulatePageSize=o},17215:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(80933),t)},16851:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulateRequestTime=void 0;const n=r(50433),i=r(90412);class o extends n.ActorRdfMetadataAccumulate{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return"initialize"===e.mode?{metadata:{}}:{metadata:{..."requestTime"in e.accumulatedMetadata||"requestTime"in e.appendingMetadata?{requestTime:(e.accumulatedMetadata.requestTime??0)+(e.appendingMetadata.requestTime??0)}:{}}}}}t.ActorRdfMetadataAccumulateRequestTime=o},59075:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16851),t)},45762:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAll=void 0;const n=r(14752),i=r(90412),o=r(19198);class a extends n.ActorRdfMetadata{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t=new o.Readable({objectMode:!0}),r=new o.Readable({objectMode:!0});e.quads.on("error",(e=>{t.emit("error",e),r.emit("error",e)})),e.quads.on("end",(()=>{t.push(null),r.push(null)}));const n=t._read=r._read=i=>{for(;i>0;){const o=e.quads.read();if(null===o)return e.quads.once("readable",(()=>n(i)));i--,t.push(o),r.push(o)}};return{data:t,metadata:r}}}t.ActorRdfMetadataAll=a},67831:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45762),t)},61205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractAllowHttpMethods=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t={};return e.headers?.get("allow")&&(t.allowHttpMethods=e.headers.get("allow")?.split(/, */u)),{metadata:t}}}t.ActorRdfMetadataExtractAllowHttpMethods=o},19531:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(61205),t)},40366:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractHydraControls=void 0;const n=r(18412),i=r(90412),o=r(36093);class a extends n.ActorRdfMetadataExtract{constructor(e){super(e),this.parsedUriTemplateCache={}}async test(e){return(0,i.passTestVoid)()}getLinks(e,t){return Object.fromEntries(a.LINK_TYPES.map((r=>{const n=t[r]||t[`${r}Page`],i=n&&n[e];return[r,i&&i.length>0?[i[0]]:[]]})))}parseUriTemplateCached(e){return this.parsedUriTemplateCache[e]||(this.parsedUriTemplateCache[e]=(0,o.parse)(e))}getSearchForms(e){const t=e.search,r=[];if(t)for(const n in t)for(const i of t[n]){const t=(e.template||{})[i]||[];if(1!==t.length)throw new Error(`Expected 1 hydra:template for ${i}`);const o=t[0],a=this.parseUriTemplateCached(o),s=Object.fromEntries(((e.mapping||{})[i]||[]).map((t=>{const r=((e.variable||{})[t]||[])[0],n=((e.property||{})[t]||[])[0];if(!r)throw new Error(`Expected a hydra:variable for ${t}`);if(!n)throw new Error(`Expected a hydra:property for ${t}`);return[n,r]}))),c=e=>a.expand(Object.fromEntries(Object.keys(e).map((t=>[s[t],e[t]]))));r.push({dataset:n,template:o,mappings:s,getUri:c})}return{values:r}}getHydraProperties(e){return new Promise(((t,r)=>{e.on("error",r);const n={};e.on("data",(e=>{if(e.predicate.value.startsWith(a.HYDRA)){const t=e.predicate.value.slice(a.HYDRA.length),r=n[t]||(n[t]={});(r[e.subject.value]||(r[e.subject.value]=[])).push(e.object.value)}})),e.on("end",(()=>t(n)))}))}async run(e){const t={},r=await this.getHydraProperties(e.metadata);return Object.assign(t,this.getLinks(e.url,r)),t.searchForms=this.getSearchForms(r),{metadata:t}}}t.ActorRdfMetadataExtractHydraControls=a,a.HYDRA="http://www.w3.org/ns/hydra/core#",a.LINK_TYPES=["first","next","previous","last"]},62649:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40366),t)},24582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractHydraCount=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}run(e){return new Promise(((t,r)=>{e.metadata.on("error",r),e.metadata.on("data",(e=>{this.predicates.includes(e.predicate.value)&&t({metadata:{cardinality:{type:"estimate",value:Number.parseInt(e.object.value,10),dataset:e.subject.value}}})})),e.metadata.on("end",(()=>{t({metadata:{cardinality:{type:"estimate",value:0}}})}))}))}}t.ActorRdfMetadataExtractHydraCount=o},12814:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(24582),t)},20950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractHydraPagesize=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return new Promise(((t,r)=>{e.metadata.on("error",r),e.metadata.on("data",(e=>{this.predicates.includes(e.predicate.value)&&t({metadata:{pageSize:Number.parseInt(e.object.value,10)}})})),e.metadata.on("end",(()=>{t({metadata:{}})}))}))}}t.ActorRdfMetadataExtractHydraPagesize=o},14405:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(20950),t)},22719:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractPatchSparqlUpdate=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t={};return(e.headers?.get("accept-patch")?.includes("application/sparql-update")??e.headers?.get("ms-author-via")?.includes("SPARQL"))&&(t.patchSparqlUpdate=!0),{metadata:t}}}t.ActorRdfMetadataExtractPatchSparqlUpdate=o},93742:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(22719),t)},54068:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractPutAccepted=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t={};return e.headers?.get("accept-put")&&(t.putAccepted=e.headers.get("accept-put")?.split(/, */u)),{metadata:t}}}t.ActorRdfMetadataExtractPutAccepted=o},13121:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(54068),t)},18512:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractRequestTime=void 0;const n=r(18412),i=r(90412);class o extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{metadata:{requestTime:e.requestTime}}}}t.ActorRdfMetadataExtractRequestTime=o},121:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(18512),t)},72258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtractSparqlService=void 0;const n=r(18412),i=r(90412),o=r(70742);class a extends n.ActorRdfMetadataExtract{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return new Promise(((t,r)=>{e.metadata.on("error",r);const n={};e.metadata.on("data",(t=>{"http://www.w3.org/ns/sparql-service-description#endpoint"!==t.predicate.value||"BlankNode"!==t.subject.termType&&t.subject.value!==e.url?"http://www.w3.org/ns/sparql-service-description#defaultGraph"===t.predicate.value&&(n.defaultGraph=t.object.value):(n.sparqlService="Literal"===t.object.termType?(0,o.resolve)(t.object.value,e.url):t.object.value,this.inferHttpsEndpoint&&e.url.startsWith("https")&&!n.sparqlService.startsWith("https")&&(n.sparqlService=n.sparqlService.replace("http:","https:")))})),e.metadata.on("end",(()=>{t({metadata:n})}))}))}}t.ActorRdfMetadataExtractSparqlService=a},19727:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(72258),t)},50789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataPrimaryTopic=void 0;const n=r(14752),i=r(90412),o=r(19198);class a extends n.ActorRdfMetadata{constructor(e){super(e)}async test(e){return e.triples?(0,i.failTest)("This actor only supports non-triple quad streams."):(0,i.passTestVoid)()}async run(e){const t=new o.Readable({objectMode:!0}),r=new o.Readable({objectMode:!0}),n=()=>{t._read=r._read=()=>{},e.quads.on("error",(e=>{t.emit("error",e),r.emit("error",e)}));const n={};let i;const o={};e.quads.on("data",(t=>{"http://rdfs.org/ns/void#subset"===t.predicate.value&&t.object.value===e.url?i=t.subject.value:"http://xmlns.com/foaf/0.1/primaryTopic"===t.predicate.value&&(o[t.object.value]=t.subject.value);let r=n[t.graph.value];r||(r=n[t.graph.value]=[]),r.push(t)})),e.quads.on("end",(()=>{const e=i?o[i]:void 0;for(const i in n)if(i===e){for(const e of n[i])r.push(e);if(this.metadataToData)for(const e of n[i])t.push(e)}else{for(const e of n[i])t.push(e);if(!e&&this.dataToMetadataOnInvalidMetadataGraph)for(const e of n[i])r.push(e)}t.push(null),r.push(null)}))};return t._read=r._read=()=>{n()},{data:t,metadata:r}}}t.ActorRdfMetadataPrimaryTopic=a},59340:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(50789),t)},37701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtmlMicrodata=void 0;const n=r(92973),i=r(90711),o=r(90412),a=r(51009);class s extends n.ActorRdfParseHtml{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=e.headers?e.headers.get("content-type"):null,n=r?.includes("xml"),o=new a.MicrodataRdfParser({dataFactory:t,baseIRI:e.baseIRI,xmlMode:n});o.on("error",e.error),o.on("data",e.emit);const s=o.onEnd;return o.onEnd=()=>{s.call(o),e.end()},{htmlParseListener:o}}}t.ActorRdfParseHtmlMicrodata=s},37630:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(37701),t)},28498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfParseHtml=i},92973:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(28498),t)},33657:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtmlRdfa=void 0;const n=r(66882),i=r(90711),o=r(90412),a=r(69749);class s extends n.ActorRdfParseHtml{constructor(e){super(e)}async test(e){return(0,o.passTestVoid)()}async run(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=e.headers?e.headers.get("content-type"):null,n=(e.headers&&e.headers.get("content-language"))??void 0,o=r&&r.includes("xml")?"xhtml":"html",s=new a.RdfaParser({dataFactory:t,baseIRI:e.baseIRI,profile:o,language:n});s.on("error",e.error),s.on("data",e.emit);const c=s.onEnd;return s.onEnd=()=>{c.call(s),e.end()},{htmlParseListener:s}}}t.ActorRdfParseHtmlRdfa=s},59453:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(33657),t)},28869:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfParseHtml=i},66882:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(28869),t)},79813:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtmlScript=void 0;const n=r(76654),i=r(90412),o=r(59311);class a extends n.ActorRdfParseHtml{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){const t=(await this.mediatorRdfParseMediatypes.mediate({context:e.context,mediaTypes:!0})).mediaTypes;return{htmlParseListener:new o.HtmlScriptListener(this.mediatorRdfParseHandle,e.emit,e.error,e.end,t,e.context,e.baseIRI,e.headers)}}}t.ActorRdfParseHtmlScript=a},59311:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HtmlScriptListener=void 0;const n=r(90711),i=r(19198),o=r(70742);class a{constructor(e,t,r,i,o,a,s,c){this.textChunksJsonLd=[],this.endBarrier=1,this.passedScripts=0,this.isFinalJsonLdProcessing=!1,this.mediatorRdfParseHandle=e,this.cbQuad=t,this.cbError=r,this.cbEnd=i,this.supportedTypes=o,this.context=a.set(n.KeysRdfParseHtmlScript.processingHtmlScript,!0),this.baseIRI=s,this.headers=c,this.onlyFirstScript=!1===a.get(n.KeysRdfParseHtmlScript.extractAllScripts);const u=this.baseIRI.indexOf("#");this.targetScriptId=u>0?this.baseIRI.slice(u+1,this.baseIRI.length):null}static newErrorCoded(e,t){const r=new Error(e);return r.code=t,r}onEnd(){0==--this.endBarrier&&(this.textChunksJsonLd.length>0?(this.handleMediaType="application/ld+json",this.textChunks=this.textChunksJsonLd,this.textChunks.push("]"),this.textChunksJsonLd=[],this.isFinalJsonLdProcessing=!0,this.endBarrier++,this.onTagClose()):(0===this.passedScripts&&this.targetScriptId&&this.cbError(a.newErrorCoded(`Failed to find targeted script id "${this.targetScriptId}"`,"loading document failed")),this.cbEnd()),this.isFinalJsonLdProcessing=!1)}onTagClose(){if(this.handleMediaType)if(this.requiresCustomJsonLdHandling(this.handleMediaType)&&!this.isFinalJsonLdProcessing)this.handleMediaType=void 0,this.textChunks=void 0,this.onEnd();else{const e=new i.Readable({objectMode:!0});e._read=()=>{};const t=this.textChunks,r={context:this.context,handle:{metadata:{baseIRI:this.baseIRI},data:e,headers:this.headers,context:this.context},handleMediaType:this.handleMediaType};this.mediatorRdfParseHandle.mediate(r).then((({handle:r})=>{r.data.on("error",(e=>this.cbError(a.newErrorCoded(e.message,"invalid script element")))).on("data",this.cbQuad).on("end",(()=>this.onEnd()));for(const r of t)e.push(r);e.push(null)})).catch((e=>{this.targetScriptId?this.cbError(a.newErrorCoded(e.message,"loading document failed")):this.onEnd()})),this.handleMediaType=void 0,this.textChunks=void 0}}onTagOpen(e,t){"base"===e&&t.href&&(this.baseIRI=(0,o.resolve)(t.href,this.baseIRI)),"script"!==e||this.targetScriptId&&t.id!==this.targetScriptId?this.handleMediaType=void 0:this.supportedTypes[t.type]?this.onlyFirstScript&&this.passedScripts>0?this.handleMediaType=void 0:(this.passedScripts++,this.handleMediaType=t.type,this.endBarrier++,this.requiresCustomJsonLdHandling(this.handleMediaType)?(this.textChunks=this.textChunksJsonLd,this.textChunks.push(0===this.textChunks.length?"[":",")):this.textChunks=[]):this.targetScriptId&&this.cbError(a.newErrorCoded(`Targeted script "${this.targetScriptId}" does not have a supported type`,"loading document failed"))}onText(e){this.handleMediaType&&this.textChunks.push(e)}requiresCustomJsonLdHandling(e){return!this.onlyFirstScript&&!this.targetScriptId&&"application/ld+json"===e}}t.HtmlScriptListener=a},38505:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79813),t)},53801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfParseHtml=i},76654:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(53801),t)},19036:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseHtml=void 0;const n=r(95124),i=r(91989),o=r(19198);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=new o.Readable({objectMode:!0});n._read=()=>{};let a=0,s=1;function c(e){n.emit("error",e)}function u(){0==--s&&n.push(null)}const l={baseIRI:e.metadata?.baseIRI??"",context:r,emit:e=>{a--,n.push(e)},end:u,error:c,headers:e.headers};try{const t=await Promise.all(this.busRdfParseHtml.publish(l));s+=t.length;const r=[];for(const e of t){const{htmlParseListener:t}=await e.actor.run(l,void 0);r.push(t)}const o=new i.Parser({onclosetag(){try{for(const e of r)e.onTagClose()}catch(e){c(e)}},onend(){try{for(const e of r)e.onEnd()}catch(e){c(e)}u()},onopentag(e,t){try{for(const n of r)n.onTagOpen(e,t)}catch(e){c(e)}},ontext(e){try{for(const t of r)t.onText(e)}catch(e){c(e)}}},{decodeEntities:!0,recognizeSelfClosing:!0,xmlMode:!1}),d=n._read=t=>{for(a=Math.max(t,a);a>0;){const t=e.data.read();if(null===t)return void e.data.once("readable",(()=>d(0)));o.write(t.toString())}};e.data.on("error",c).on("end",(()=>o.end()))}catch(e){setTimeout((()=>{n.emit("error",e)}))}return{data:n}}}t.ActorRdfParseHtml=a},97103:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19036),t)},85898:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var a=o(r(36840)),s=r(79878),c=new Set(["input","option","optgroup","select","button","datalist","textarea"]),u=new Set(["p"]),l=new Set(["thead","tbody"]),d=new Set(["dd","dt"]),p=new Set(["rt","rp"]),h=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",u],["h1",u],["h2",u],["h3",u],["h4",u],["h5",u],["h6",u],["select",c],["input",c],["output",c],["button",c],["datalist",c],["textarea",c],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",d],["dt",d],["address",u],["article",u],["aside",u],["blockquote",u],["details",u],["div",u],["dl",u],["fieldset",u],["figcaption",u],["figure",u],["footer",u],["form",u],["header",u],["hr",u],["main",u],["nav",u],["ol",u],["pre",u],["section",u],["table",u],["ul",u],["rt",p],["rp",p],["tbody",l],["tfoot",l]]),f=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),y=new Set(["math","svg"]),g=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),m=/\s|\//,b=function(){function e(e,t){var r,n,i,o,s,c;void 0===t&&(t={}),this.options=t,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=e?e:{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=null!==(r=t.lowerCaseTags)&&void 0!==r?r:this.htmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:this.htmlMode,this.recognizeSelfClosing=null!==(i=t.recognizeSelfClosing)&&void 0!==i?i:!this.htmlMode,this.tokenizer=new(null!==(o=t.Tokenizer)&&void 0!==o?o:a.default)(this.options,this),this.foreignContext=[!this.htmlMode],null===(c=(s=this.cbs).onparserinit)||void 0===c||c.call(s,this)}return e.prototype.ontext=function(e,t){var r,n,i=this.getSlice(e,t);this.endIndex=t-1,null===(n=(r=this.cbs).ontext)||void 0===n||n.call(r,i),this.startIndex=t},e.prototype.ontextentity=function(e,t){var r,n;this.endIndex=t-1,null===(n=(r=this.cbs).ontext)||void 0===n||n.call(r,(0,s.fromCodePoint)(e)),this.startIndex=t},e.prototype.isVoidElement=function(e){return this.htmlMode&&f.has(e)},e.prototype.onopentagname=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);this.lowerCaseTagNames&&(r=r.toLowerCase()),this.emitOpenTag(r)},e.prototype.emitOpenTag=function(e){var t,r,n,i;this.openTagStart=this.startIndex,this.tagname=e;var o=this.htmlMode&&h.get(e);if(o)for(;this.stack.length>0&&o.has(this.stack[0]);){var a=this.stack.shift();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,a,!0)}this.isVoidElement(e)||(this.stack.unshift(e),this.htmlMode&&(y.has(e)?this.foreignContext.unshift(!0):g.has(e)&&this.foreignContext.unshift(!1))),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.endOpenTag=function(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},e.prototype.onopentagend=function(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1},e.prototype.onclosetag=function(e,t){var r,n,i,o,a,s,c,u;this.endIndex=t;var l=this.getSlice(e,t);if(this.lowerCaseTagNames&&(l=l.toLowerCase()),this.htmlMode&&(y.has(l)||g.has(l))&&this.foreignContext.shift(),this.isVoidElement(l))this.htmlMode&&"br"===l&&(null===(o=(i=this.cbs).onopentagname)||void 0===o||o.call(i,"br"),null===(s=(a=this.cbs).onopentag)||void 0===s||s.call(a,"br",{},!0),null===(u=(c=this.cbs).onclosetag)||void 0===u||u.call(c,"br",!1));else{var d=this.stack.indexOf(l);if(-1!==d)for(var p=0;p<=d;p++){var h=this.stack.shift();null===(n=(r=this.cbs).onclosetag)||void 0===n||n.call(r,h,p!==d)}else this.htmlMode&&"p"===l&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1},e.prototype.onselfclosingtag=function(e){this.endIndex=e,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)},e.prototype.closeCurrentTag=function(e){var t,r,n=this.tagname;this.endOpenTag(e),this.stack[0]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.shift())},e.prototype.onattribname=function(e,t){this.startIndex=e;var r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r},e.prototype.onattribdata=function(e,t){this.attribvalue+=this.getSlice(e,t)},e.prototype.onattribentity=function(e){this.attribvalue+=(0,s.fromCodePoint)(e)},e.prototype.onattribend=function(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===a.QuoteType.Double?'"':e===a.QuoteType.Single?"'":e===a.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(m),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},e.prototype.ondeclaration=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("!".concat(n),"!".concat(r))}this.startIndex=t+1},e.prototype.onprocessinginstruction=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("?".concat(n),"?".concat(r))}this.startIndex=t+1},e.prototype.oncomment=function(e,t,r){var n,i,o,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(o=this.cbs).oncommentend)||void 0===a||a.call(o),this.startIndex=t+1},e.prototype.oncdata=function(e,t,r){var n,i,o,a,s,c,u,l,d,p;this.endIndex=t;var h=this.getSlice(e,t-r);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(o=this.cbs).ontext)||void 0===a||a.call(o,h),null===(c=(s=this.cbs).oncdataend)||void 0===c||c.call(s)):(null===(l=(u=this.cbs).oncomment)||void 0===l||l.call(u,"[CDATA[".concat(h,"]]")),null===(p=(d=this.cbs).oncommentend)||void 0===p||p.call(d)),this.startIndex=t+1},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var r=0;r=this.buffers[0].length;)this.shiftBuffer();for(var r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r},e.prototype.shiftBuffer=function(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()},e.prototype.write=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))},e.prototype.end=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuoteType=void 0;var n,i,o,a=r(79878);function s(e){return e===n.Space||e===n.NewLine||e===n.Tab||e===n.FormFeed||e===n.CarriageReturn}function c(e){return e===n.Slash||e===n.Gt||s(e)}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(n||(n={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.BeforeSpecialT=23]="BeforeSpecialT",e[e.SpecialStartSequence=24]="SpecialStartSequence",e[e.InSpecialTag=25]="InSpecialTag",e[e.InEntity=26]="InEntity"}(i||(i={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(o||(t.QuoteType=o={}));var u={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])},l=function(){function e(e,t){var r=e.xmlMode,n=void 0!==r&&r,o=e.decodeEntities,s=void 0===o||o,c=this;this.cbs=t,this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=i.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=n,this.decodeEntities=s,this.entityDecoder=new a.EntityDecoder(n?a.xmlDecodeTree:a.htmlDecodeTree,(function(e,t){return c.emitCodePoint(e,t)}))}return e.prototype.reset=function(){this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=i.Text,this.currentSequence=void 0,this.running=!0,this.offset=0},e.prototype.write=function(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()},e.prototype.end=function(){this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=i.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===n.Amp&&this.startEntity()},e.prototype.stateSpecialStartSequence=function(e){var t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=i.InTagName,this.stateInTagName(e)},e.prototype.stateInSpecialTag=function(e){if(this.sequenceIndex===this.currentSequence.length){if(e===n.Gt||s(e)){var t=this.index-this.currentSequence.length;if(this.sectionStart=n.LowerA&&e<=n.LowerZ||e>=n.UpperA&&e<=n.UpperZ}(e)},e.prototype.startSpecial=function(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=i.SpecialStartSequence},e.prototype.stateBeforeTagName=function(e){if(e===n.ExclamationMark)this.state=i.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===n.Questionmark)this.state=i.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){var t=32|e;this.sectionStart=this.index,this.xmlMode?this.state=i.InTagName:t===u.ScriptEnd[2]?this.state=i.BeforeSpecialS:t===u.TitleEnd[2]?this.state=i.BeforeSpecialT:this.state=i.InTagName}else e===n.Slash?this.state=i.BeforeClosingTagName:(this.state=i.Text,this.stateText(e))},e.prototype.stateInTagName=function(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateBeforeClosingTagName=function(e){s(e)||(e===n.Gt?this.state=i.Text:(this.state=this.isTagStartChar(e)?i.InClosingTagName:i.InSpecialComment,this.sectionStart=this.index))},e.prototype.stateInClosingTagName=function(e){(e===n.Gt||s(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.AfterClosingTagName,this.stateAfterClosingTagName(e))},e.prototype.stateAfterClosingTagName=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeAttributeName=function(e){e===n.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=i.InSpecialTag,this.sequenceIndex=0):this.state=i.Text,this.sectionStart=this.index+1):e===n.Slash?this.state=i.InSelfClosingTag:s(e)||(this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateInSelfClosingTag=function(e){e===n.Gt?(this.cbs.onselfclosingtag(this.index),this.state=i.Text,this.sectionStart=this.index+1,this.isSpecial=!1):s(e)||(this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateInAttributeName=function(e){(e===n.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=i.AfterAttributeName,this.stateAfterAttributeName(e))},e.prototype.stateAfterAttributeName=function(e){e===n.Eq?this.state=i.BeforeAttributeValue:e===n.Slash||e===n.Gt?(this.cbs.onattribend(o.NoValue,this.sectionStart),this.sectionStart=-1,this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):s(e)||(this.cbs.onattribend(o.NoValue,this.sectionStart),this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateBeforeAttributeValue=function(e){e===n.DoubleQuote?(this.state=i.InAttributeValueDq,this.sectionStart=this.index+1):e===n.SingleQuote?(this.state=i.InAttributeValueSq,this.sectionStart=this.index+1):s(e)||(this.sectionStart=this.index,this.state=i.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))},e.prototype.handleInAttributeValue=function(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===n.DoubleQuote?o.Double:o.Single,this.index+1),this.state=i.BeforeAttributeName):this.decodeEntities&&e===n.Amp&&this.startEntity()},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,n.DoubleQuote)},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,n.SingleQuote)},e.prototype.stateInAttributeValueNoQuotes=function(e){s(e)||e===n.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(o.Unquoted,this.index),this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===n.Amp&&this.startEntity()},e.prototype.stateBeforeDeclaration=function(e){e===n.OpeningSquareBracket?(this.state=i.CDATASequence,this.sequenceIndex=0):this.state=e===n.Dash?i.BeforeComment:i.InDeclaration},e.prototype.stateInDeclaration=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateInProcessingInstruction=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeComment=function(e){e===n.Dash?(this.state=i.InCommentLike,this.currentSequence=u.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=i.InDeclaration},e.prototype.stateInSpecialComment=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeSpecialS=function(e){var t=32|e;t===u.ScriptEnd[3]?this.startSpecial(u.ScriptEnd,4):t===u.StyleEnd[3]?this.startSpecial(u.StyleEnd,4):(this.state=i.InTagName,this.stateInTagName(e))},e.prototype.stateBeforeSpecialT=function(e){var t=32|e;t===u.TitleEnd[3]?this.startSpecial(u.TitleEnd,4):t===u.TextareaEnd[3]?this.startSpecial(u.TextareaEnd,4):(this.state=i.InTagName,this.stateInTagName(e))},e.prototype.startEntity=function(){this.baseState=this.state,this.state=i.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?a.DecodingMode.Strict:this.baseState===i.Text||this.baseState===i.InSpecialTag?a.DecodingMode.Legacy:a.DecodingMode.Attribute)},e.prototype.stateInEntity=function(){var e=this.entityDecoder.write(this.buffer,this.index-this.offset);e>=0?(this.state=this.baseState,0===e&&(this.index=this.entityStart)):this.index=this.offset+this.buffer.length-1},e.prototype.cleanup=function(){this.running&&this.sectionStart!==this.index&&(this.state===i.Text||this.state===i.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==i.InAttributeValueDq&&this.state!==i.InAttributeValueSq&&this.state!==i.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))},e.prototype.shouldContinue=function(){return this.index=e||(this.state===i.InCommentLike?this.currentSequence===u.CdataEnd?this.cbs.oncdata(this.sectionStart,e,0):this.cbs.oncomment(this.sectionStart,e,0):this.state===i.InTagName||this.state===i.BeforeAttributeName||this.state===i.BeforeAttributeValue||this.state===i.AfterAttributeName||this.state===i.InAttributeName||this.state===i.InAttributeValueSq||this.state===i.InAttributeValueDq||this.state===i.InAttributeValueNq||this.state===i.InClosingTagName||this.cbs.ontext(this.sectionStart,e))},e.prototype.emitCodePoint=function(e,t){this.baseState!==i.Text&&this.baseState!==i.InSpecialTag?(this.sectionStart{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseJsonLd=void 0;const n=r(95124),i=r(90711),o=r(90412),a=r(38690),s=r(84333);class c extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async testHandle(e,t,r){return r.has(i.KeysRdfParseHtmlScript.processingHtmlScript)&&"application/ld+json"!==t?(0,o.failTest)("JSON-LD in script tags can only have media type 'application/ld+json'"):t&&(t in this.mediaTypePriorities||t.endsWith("+json"))?await this.testHandleChecked(e):(0,o.failTest)(`Unrecognized media type: ${t}`)}async runHandle(e,t,r){const n=e.context.getSafe(i.KeysInitQuery.dataFactory);return{data:a.JsonLdParser.fromHttpResponse(e.metadata?.baseIRI??"",t,e.headers,{dataFactory:n,documentLoader:r.get(i.KeysRdfParseJsonLd.documentLoader)??new s.DocumentLoaderMediated(this.mediatorHttp,r),strictValues:r.get(i.KeysRdfParseJsonLd.strictValues),...r.get(i.KeysRdfParseJsonLd.parserOptions)}).import(e.data)}}}t.ActorRdfParseJsonLd=c},84333:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLoaderMediated=void 0;const n=r(70322),i=r(52728),o=r(42395);class a extends o.FetchDocumentLoader{constructor(e,t){super(a.createFetcher(e,t)),this.mediatorHttp=e,this.context=t}static createFetcher(e,t){return async(r,o)=>{const a=await e.mediate({input:r,init:o,context:t});return a.json=async()=>JSON.parse(await(0,i.stringify)(n.ActorHttp.toNodeReadable(a.body))),a}}}t.DocumentLoaderMediated=a},81108:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(55312),t),i(r(84333),t)},10448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseN3=void 0;const n=r(95124),i=r(90711),o=r(54378);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=e.context.getSafe(i.KeysInitQuery.dataFactory);e.data.on("error",(e=>a.emit("error",e)));const a=e.data.pipe(new o.StreamParser({factory:n,baseIRI:e.metadata?.baseIRI,format:t.endsWith("n3")?t:`${t}*`}));return{data:a,metadata:{triples:"text/turtle"===t||"application/n-triples"===t||"text/n3"===t}}}}t.ActorRdfParseN3=a},56361:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(10448),t)},8236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseRdfXml=void 0;const n=r(95124),i=r(90711),o=r(75611);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory);e.data.on("error",(e=>r.emit("error",e)));const r=e.data.pipe(new o.RdfXmlParser({dataFactory:t,baseIRI:e.metadata?.baseIRI}));return{data:r,metadata:{triples:!0}}}}t.ActorRdfParseRdfXml=a},19227:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(8236),t)},69e3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseShaclc=void 0;const n=r(95124),i=r(52728),o=r(19198),a=r(37141),s=r(44680);class c extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=new s.PrefixWrappingIterator((0,i.stringify)(e.data).then((r=>(0,a.parse)(r,{extendedSyntax:"text/shaclc-ext"===t,baseIRI:e.metadata?.baseIRI})))),c=new o.Readable({objectMode:!0});return n.on("prefix",((...e)=>c.emit("prefix",...e))),{data:c.wrap(n),metadata:{triples:!0}}}}t.ActorRdfParseShaclc=c},44680:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixWrappingIterator=void 0;const n=r(75627);class i extends n.WrappingIterator{constructor(e){super(e?.then((e=>(this.prefixes=e.prefixes,e))))}read(){if(this.prefixes){for(const e of Object.entries(this.prefixes))this.emit("prefix",...e);delete this.prefixes}return super.read()}}t.PrefixWrappingIterator=i},71356:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(69e3),t)},91685:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseXmlRdfa=void 0;const n=r(95124),i=r(90711),o=r(69749);class a extends n.ActorRdfParseFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=e.context.getSafe(i.KeysInitQuery.dataFactory),a=(e.headers&&e.headers.get("content-language"))??void 0;e.data.on("error",(e=>s.emit("error",e)));const s=e.data.pipe(new o.RdfaParser({dataFactory:n,baseIRI:e.metadata?.baseIRI,profile:"xml",language:a}));return{data:s,metadata:{triples:!0}}}}t.ActorRdfParseXmlRdfa=a},2669:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(91685),t)},26336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinksNext=void 0;const n=r(67304),i=r(90412);class o extends n.ActorRdfResolveHypermediaLinks{constructor(e){super(e)}async test(e){return e.metadata.next&&0!==e.metadata.next.length?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} requires a 'next' metadata entry.`)}async run(e){return{links:e.metadata.next.map((e=>({url:e})))}}}t.ActorRdfResolveHypermediaLinksNext=o},34121:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(26336),t)},22437:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinksQueueFifo=void 0;const n=r(86074),i=r(90412),o=r(79081);class a extends n.ActorRdfResolveHypermediaLinksQueue{constructor(e){super(e)}async test(e){return(0,i.passTestVoid)()}async run(e){return{linkQueue:new o.LinkQueueFifo}}}t.ActorRdfResolveHypermediaLinksQueueFifo=a},79081:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkQueueFifo=void 0,t.LinkQueueFifo=class{constructor(){this.links=[]}push(e){return this.links.push(e),!0}getSize(){return this.links.length}isEmpty(){return 0===this.links.length}pop(){return this.links.shift()}peek(){return this.links[0]}}},85916:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(22437),t),i(r(79081),t)},77934:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeJsonLd=void 0;const n=r(81261),i=r(43549);class o extends n.ActorRdfSerializeFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t,r){const n=new i.JsonLdSerializer({space:" ".repeat(this.jsonStringifyIndentSpaces)});let o;return"pipe"in e.quadStream?(e.quadStream.on("error",(e=>n.emit("error",e))),o=e.quadStream.pipe(n)):o=n.import(e.quadStream),{data:o}}}t.ActorRdfSerializeJsonLd=o},61515:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77934),t)},38522:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeN3=void 0;const n=r(81261),i=r(54378);class o extends n.ActorRdfSerializeFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t){const r=new i.StreamWriter({format:t});let n;return"pipe"in e.quadStream?(e.quadStream.on("error",(e=>r.emit("error",e))),n=e.quadStream.pipe(r)):n=r.import(e.quadStream),{data:n,triples:"text/turtle"===t||"application/n-triples"===t||"text/n3"===t}}}t.ActorRdfSerializeN3=o},42274:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38522),t)},61186:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeShaclc=void 0;const n=r(81261),i=r(43165),o=r(19198),a=r(94174);class s extends n.ActorRdfSerializeFixedMediaTypes{constructor(e){super(e)}async runHandle(e,t){const r=new o.Readable;r._read=()=>{};try{const n={};e.quadStream.on("prefix",((e,t)=>{n[e]=t}));const{text:o}=await(0,a.write)(await(0,i.default)(e.quadStream),{errorOnUnused:!0,extendedSyntax:"text/shaclc-ext"===t,prefixes:n});r.push(o),r.push(null)}catch(e){r._read=()=>{r.emit("error",e)}}return{data:r,triples:!0}}}t.ActorRdfSerializeShaclc=s},98371:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(61186),t)},43165:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[];return r=e.on("data",(e=>t.push(e))),n=t,new Promise(((e,t)=>{r.on("end",(()=>e(n))),r.on("error",t)}));var r,n}},98603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermediaPatchSparqlUpdate=void 0;const n=r(14597),i=r(90412),o=r(88052);class a extends n.ActorRdfUpdateHypermedia{constructor(e){super(e,"patchSparqlUpdate")}async testMetadata(e){return e.forceDestinationType||e.metadata.patchSparqlUpdate?e.forceDestinationType||e.exists?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} can only patch a destination that already exists.`):(0,i.failTest)(`Actor ${this.name} could not detect a destination with 'application/sparql-update' as 'Accept-Patch' header.`)}async run(e){return this.logInfo(e.context,`Identified as patchSparqlUpdate destination: ${e.url}`),{destination:new o.QuadDestinationPatchSparqlUpdate(e.url,e.context,this.mediatorHttp)}}}t.ActorRdfUpdateHypermediaPatchSparqlUpdate=a},88052:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuadDestinationPatchSparqlUpdate=void 0;const n=r(70322),i=r(75627),o=r(46898),a=r(19198);t.QuadDestinationPatchSparqlUpdate=class{constructor(e,t,r){this.url=e,this.context=t,this.mediatorHttp=r}async update(e){const t=this.createCombinedQuadsQuery(e.insert,e.delete);await this.wrapSparqlUpdateRequest(t)}createCombinedQuadsQuery(e,t){return new i.ArrayIterator([],{autoStart:!1}).append(this.createQuadsQuery("DELETE",t)).append(t&&e?[" ;\n"]:[]).append(this.createQuadsQuery("INSERT",e))}createQuadsQuery(e,t){return t?t.map((e=>{let t=`${(0,o.termToString)(e.subject)} ${(0,o.termToString)(e.predicate)} ${(0,o.termToString)(e.object)} .`;return t="DefaultGraph"===e.graph.termType?` ${t}\n`:` GRAPH ${(0,o.termToString)(e.graph)} { ${t} }\n`,t})).prepend([`${e} DATA {\n`]).append(["}"]):new i.ArrayIterator([],{autoStart:!1})}async wrapSparqlUpdateRequest(e){const t=new a.Readable;t.wrap(e);const r=new Headers({"content-type":"application/sparql-update"}),i=await this.mediatorHttp.mediate({context:this.context,init:{headers:r,method:"PATCH",body:n.ActorHttp.toWebReadableStream(t)},input:this.url});await(0,n.validateAndCloseHttpResponse)(this.url,i)}async deleteGraphs(e,t,r){throw new Error("Patch-based SPARQL Update destinations don't support named graphs")}async createGraphs(e,t){throw new Error("Patch-based SPARQL Update destinations don't support named graphs")}}},45109:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98603),t),i(r(88052),t)},81096:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermediaPutLdp=void 0;const n=r(14597),i=r(90412),o=r(78877);class a extends n.ActorRdfUpdateHypermedia{constructor(e){super(e,"putLdp")}async testMetadata(e){if(!e.forceDestinationType){if(!e.metadata.allowHttpMethods||!e.metadata.allowHttpMethods.includes("PUT"))return(0,i.failTest)(`Actor ${this.name} could not detect a destination with 'Allow: PUT' header.`);if(e.exists)return(0,i.failTest)(`Actor ${this.name} can only put on a destination that does not already exists.`)}return(0,i.passTestVoid)()}async run(e){return this.logInfo(e.context,`Identified as putLdp destination: ${e.url}`),{destination:new o.QuadDestinationPutLdp(e.url,e.context,e.metadata.putAccepted||[],this.mediatorHttp,this.mediatorRdfSerializeMediatypes,this.mediatorRdfSerialize)}}}t.ActorRdfUpdateHypermediaPutLdp=a},78877:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuadDestinationPutLdp=void 0;const n=r(70322);t.QuadDestinationPutLdp=class{constructor(e,t,r,n,i,o){this.url=e,this.context=t,this.mediaTypes=r,this.mediatorHttp=n,this.mediatorRdfSerializeMediatypes=i,this.mediatorRdfSerialize=o}async update(e){if(e.delete)throw new Error("Put-based LDP destinations don't support deletions");e.insert&&await this.wrapRdfUpdateRequest("INSERT",e.insert)}async wrapRdfUpdateRequest(e,t){const{mediaTypes:r}=await this.mediatorRdfSerializeMediatypes.mediate({context:this.context,mediaTypes:!0}),i=this.mediaTypes.filter((e=>e in r)),o=i.length>0?i[0]:Object.keys(r).sort(((e,t)=>r[t]-r[e]))[0],{handle:{data:a}}=await this.mediatorRdfSerialize.mediate({context:this.context,handle:{quadStream:t,context:this.context},handleMediaType:o}),s=new Headers({"content-type":o}),c=await this.mediatorHttp.mediate({context:this.context,init:{headers:s,method:"PUT",body:n.ActorHttp.toWebReadableStream(a)},input:this.url});await(0,n.validateAndCloseHttpResponse)(this.url,c)}async deleteGraphs(e,t,r){throw new Error("Put-based LDP destinations don't support named graphs")}async createGraphs(e,t){throw new Error("Put-based LDP destinations don't support named graphs")}}},41363:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(81096),t),i(r(78877),t)},9159:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermediaSparql=void 0;const n=r(14597),i=r(90711),o=r(90412),a=r(27368);class s extends n.ActorRdfUpdateHypermedia{constructor(e){super(e,"sparql")}async testMetadata(e){return e.forceDestinationType||e.metadata.sparqlService||this.checkUrlSuffixSparql&&e.url.endsWith("/sparql")||this.checkUrlSuffixUpdate&&e.url.endsWith("/update")?(0,o.passTestVoid)():(0,o.failTest)(`Actor ${this.name} could not detect a SPARQL service description or URL ending on /sparql or /update.`)}async run(e){this.logInfo(e.context,`Identified as sparql destination: ${e.url}`);const t=e.context.getSafe(i.KeysInitQuery.dataFactory);return{destination:new a.QuadDestinationSparql(e.metadata.sparqlService||e.url,e.context,this.mediatorHttp,t)}}}t.ActorRdfUpdateHypermediaSparql=s},27368:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuadDestinationSparql=void 0;const n=r(52728),i=r(75627),o=r(92603),a=r(46898);t.QuadDestinationSparql=class{constructor(e,t,r,n){this.url=e,this.context=t,this.mediatorHttp=r,this.endpointFetcher=new o.SparqlEndpointFetcher({fetch:(e,t)=>this.mediatorHttp.mediate({input:e,init:t,context:this.context}),prefixVariableQuestionMark:!0,dataFactory:n})}async update(e){const t=this.createCombinedQuadsQuery(e.insert,e.delete);await this.wrapSparqlUpdateRequest(t)}createCombinedQuadsQuery(e,t){return new i.ArrayIterator([],{autoStart:!1}).append(this.createQuadsQuery("DELETE",t)).append(t&&e?[" ;\n"]:[]).append(this.createQuadsQuery("INSERT",e))}createQuadsQuery(e,t){return t?t.map((e=>{let t=`${(0,a.termToString)(e.subject)} ${(0,a.termToString)(e.predicate)} ${(0,a.termToString)(e.object)} .`;return t="DefaultGraph"===e.graph.termType?` ${t}\n`:` GRAPH ${(0,a.termToString)(e.graph)} { ${t} }\n`,t})).prepend([`${e} DATA {\n`]).append(["}"]):new i.ArrayIterator([],{autoStart:!1})}async wrapSparqlUpdateRequest(e){const t=await(0,n.stringify)(e);await this.endpointFetcher.fetchUpdate(this.url,t)}async deleteGraphs(e,t,r){const n=Array.isArray(e)?e:[e],i=[];for(const e of n){let n;n="string"==typeof e?e:"DefaultGraph"===e.termType?"DEFAULT":`GRAPH <${e.value}>`,i.push(`${r?"DROP":"CLEAR"} ${t?"":"SILENT "}${n}`)}await this.endpointFetcher.fetchUpdate(this.url,i.join("; "))}async createGraphs(e,t){const r=[];for(const n of e)r.push(`CREATE${t?"":" SILENT"} GRAPH <${n.value}>`);await this.endpointFetcher.fetchUpdate(this.url,r.join("; "))}}},50632:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9159),t),i(r(27368),t)},45757:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuadsHypermedia=void 0;const n=r(16657),i=r(90412),o=r(89096);class a extends n.ActorRdfUpdateQuadsDestination{constructor(e){super(e),this.cache=this.cacheSize?new o.LRUCache({max:this.cacheSize}):void 0;const t=this.cache;t&&this.httpInvalidator.addInvalidateListener((({url:e})=>e?t.delete(e):t.clear()))}async test(e){return(0,n.getContextDestinationUrl)((0,n.getContextDestination)(e.context))?(0,i.passTestVoid)():(0,i.failTest)(`Actor ${this.name} can only update quads against a single destination URL.`)}getDestination(e){const t=(0,n.getContextDestination)(e);let r=(0,n.getContextDestinationUrl)(t);if(this.cache&&this.cache.has(r))return this.cache.get(r);const i=(async()=>{let i,o;try{const t=await this.mediatorDereferenceRdf.mediate({context:e,url:r,acceptErrors:!0});o=t.exists,r=t.url;const n=await this.mediatorMetadata.mediate({context:e,url:r,quads:t.data,triples:t.metadata?.triples});i=(await this.mediatorMetadataExtract.mediate({context:e,url:r,metadata:n.metadata,headers:t.headers,requestTime:t.requestTime})).metadata}catch{i={},o=!1}const{destination:a}=await this.mediatorRdfUpdateHypermedia.mediate({context:e,url:r,metadata:i,exists:o,forceDestinationType:(0,n.getDataDestinationType)(t)});return a})();return this.cache&&this.cache.set(r,i),i}}t.ActorRdfUpdateQuadsHypermedia=a},12845:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(45757),t)},69160:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuadsRdfJsStore=void 0;const n=r(16657),i=r(90711),o=r(90412),a=r(29200);class s extends n.ActorRdfUpdateQuadsDestination{constructor(e){super(e)}async test(e){const t=(0,n.getContextDestination)(e.context);return!t||"string"==typeof t||!("remove"in t)&&"value"in t&&!t.value?.remove?(0,o.failTest)(`${this.name} received an invalid rdfjsStore.`):(0,o.passTestVoid)()}async getDestination(e){const t=(0,n.getContextDestination)(e);return new a.RdfJsQuadDestination(e.getSafe(i.KeysInitQuery.dataFactory),"remove"in t?t:t.value)}}t.ActorRdfUpdateQuadsRdfJsStore=s},29200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfJsQuadDestination=void 0;const n=r(66486),i=r(43347);t.RdfJsQuadDestination=class{constructor(e,t){this.dataFactory=e,this.store=t}async update(e){e.delete&&await(0,n.promisifyEventEmitter)(this.store.remove(e.delete)),e.insert&&await(0,n.promisifyEventEmitter)(this.store.import(e.insert))}async deleteGraphs(e,t,r){switch(e){case"ALL":await(0,n.promisifyEventEmitter)(this.store.deleteGraph(this.dataFactory.defaultGraph()));case"NAMED":const t=this.store.match(),r={};t.on("data",(e=>{"DefaultGraph"!==e.graph.termType&&(r[(0,i.termToString)(e.graph)]=!0)})),await(0,n.promisifyEventEmitter)(t),await Promise.all(Object.keys(r).map((e=>(0,n.promisifyEventEmitter)(this.store.deleteGraph((0,i.stringToTerm)(e,this.dataFactory))))));break;default:for(const t of Array.isArray(e)?e:[e])await(0,n.promisifyEventEmitter)(this.store.deleteGraph(t))}}async createGraphs(e,t){if(t)for(const t of e){const e=this.store.match(void 0,void 0,void 0,t);await new Promise(((r,n)=>{e.once("data",(()=>{n(new Error(`Unable to create graph ${t.value} as it already exists`))})),e.on("end",r),e.on("error",n)}))}}}},53550:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(69160),t)},16166:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorTermComparatorFactoryExpressionEvaluator=void 0;const n=r(74448),i=r(14628),o=r(90711),a=r(90412),s=r(81926),c=r(77545),u=r(78605);class l extends i.ActorTermComparatorFactory{async test(e){return(0,a.passTestVoid)()}async run({context:e}){return e=c.prepareEvaluatorActionContext(e),new u.TermComparatorExpressionEvaluator(new n.InternalEvaluator(e,this.mediatorFunctionFactory,this.mediatorQueryOperation,await s.BindingsFactory.create(this.mediatorMergeBindingsContext,e,e.getSafe(o.KeysInitQuery.dataFactory))),await this.mediatorFunctionFactory.mediate({functionName:c.SparqlOperator.EQUAL,context:e,requireTermExpression:!0}),await this.mediatorFunctionFactory.mediate({functionName:c.SparqlOperator.LT,context:e,requireTermExpression:!0}))}}t.ActorTermComparatorFactoryExpressionEvaluator=l},78605:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermComparatorExpressionEvaluator=void 0,t.TermComparatorExpressionEvaluator=class{constructor(e,t,r){this.internalEvaluator=e,this.equalityFunction=t,this.lessThanFunction=r,this._TERM_ORDERING_PRIORITY={Variable:0,BlankNode:1,NamedNode:2,Literal:3,Quad:4,DefaultGraph:5}}orderTypes(e,t){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;if(e.termType!==t.termType)return this._TERM_ORDERING_PRIORITY[e.termType]{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorBindingsAggregatorFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e),this.mediatorExpressionEvaluatorFactory=e.mediatorExpressionEvaluatorFactory}}t.ActorBindingsAggregatorFactory=i},27421:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AggregateEvaluator=void 0;const n=r(90711),i=r(77545),o=r(43347);t.AggregateEvaluator=class{constructor(e,t,r=!1){this.evaluator=e,this.distinct=t,this.throwError=r,this.errorOccurred=!1,this.errorOccurred=!1,this.superTypeProvider=e.context.getSafe(n.KeysExpressionEvaluator.superTypeProvider),this.termTransformer=new i.TermTransformer(this.superTypeProvider),this.variableValues=new Set}emptyValueTerm(){}emptyValue(){const e=this.emptyValueTerm();if(void 0===e&&this.throwError)throw new i.EmptyAggregateError;return e}async putBindings(e){if(!this.errorOccurred)try{const t=await this.evaluator.evaluate(e);if(!t||this.errorOccurred)return;this.distinct&&this.variableValues.has(o.termToString(t))||(this.putTerm(t),this.distinct&&this.variableValues.add(o.termToString(t)))}catch(e){this.safeThrow(e)}}async result(){if(!this.errorOccurred)return this.termResult()}safeThrow(e){if(this.throwError)throw e;this.errorOccurred=!0}termToNumericOrError(e){if("Literal"!==e.termType)throw new Error(`Term with value ${e.value} has type ${e.termType} and is not a numeric literal`);if(!i.isSubTypeOf(e.datatype.value,i.TypeAlias.SPARQL_NUMERIC,this.superTypeProvider))throw new Error(`Term datatype ${e.datatype.value} with value ${e.value} has type ${e.termType} and is not a numeric literal`);return this.termTransformer.transformLiteral(e)}}},86581:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7625),t),i(r(27421),t)},98862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorContextPreprocess=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorContextPreprocess=i},98926:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98862),t)},11370:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceRdf=void 0;const n=r(42890);class i extends n.ActorDereferenceParse{constructor(e){super(e)}}t.ActorDereferenceRdf=i},86475:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11370),t)},40671:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereference=void 0;const n=r(79806);class i extends n.ActorDereferenceBase{constructor(e){super(e)}async handleDereferenceErrors(e,t,r,n=0){return this.dereferenceErrorHandler(e,t,{url:e.url,exists:!1,headers:r,requestTime:n})}}t.ActorDereference=i},79806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceBase=t.isHardError=t.emptyReadable=void 0;const n=r(90711),i=r(90412),o=r(19198);function a(){const e=new o.Readable;return e.push(null),e}function s(e){return!e.get(n.KeysInitQuery.lenient)}t.emptyReadable=a,t.isHardError=s;class c extends i.Actor{constructor(e){super(e)}async dereferenceErrorHandler(e,t,r){if(s(e.context))throw t;return this.logWarn(e.context,t.message),{...r,data:a()}}}t.ActorDereferenceBase=c},12476:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorDereferenceParse=t.getMediaTypeFromExtension=void 0;const n=r(90412),i=r(19198),o=r(79806);function a(e,t){const r=e.lastIndexOf(".");return r>=0&&t?.[e.slice(r+1)]||""}t.getMediaTypeFromExtension=a;class s extends o.ActorDereferenceBase{constructor(e){super(e)}async test(e){return(0,n.passTestVoid)()}handleDereferenceStreamErrors(e,t){return(0,o.isHardError)(e.context)||(t.on("error",(r=>{this.logWarn(e.context,r.message,(()=>({url:e.url}))),t.push(null)})),t=t.pipe(new i.PassThrough({objectMode:!0}))),t}async run(e){const{context:t}=e,r=await this.mediatorDereference.mediate({...e,mediaTypes:async()=>(await(this.mediatorParseMediatypes?.mediate({context:t,mediaTypes:!0})))?.mediaTypes});let n;try{n=(await this.mediatorParse.mediate({context:t,handle:{context:t,...r,metadata:await this.getMetadata(r)},handleMediaType:r.mediaType||a(r.url,this.mediaMappings)||e.mediaType})).handle,n.data=this.handleDereferenceStreamErrors(e,n.data)}catch(t){await(r.data.close?.()),n=await this.dereferenceErrorHandler(e,t,{})}return{...r,...n}}}t.ActorDereferenceParse=s},42890:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40671),t),i(r(12476),t),i(r(79806),t)},23069:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorExpressionEvaluatorFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e),this.mediatorQueryOperation=e.mediatorQueryOperation,this.mediatorFunctionFactory=e.mediatorFunctionFactory,this.mediatorMergeBindingsContext=e.mediatorMergeBindingsContext}}t.ActorExpressionEvaluatorFactory=i},37811:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23069),t)},1028:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorFunctionFactory=t.ActorFunctionFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorFunctionFactory=i;class o extends n.Mediator{}t.MediatorFunctionFactory=o},68307:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorFunctionFactoryDedicated=void 0;const n=r(90412),i=r(1028);class o extends i.ActorFunctionFactory{constructor(e){super(e)}async test(e){return!this.functionNames.includes(e.functionName)||!this.termFunction&&e.requireTermExpression?(0,n.failTest)(`Actor ${this.name} can not provide implementation for "${e.functionName}", only for ${this.termFunction?"":"non-termExpression "}${this.functionNames.join(" and ")}.`):(0,n.passTestVoid)()}}t.ActorFunctionFactoryDedicated=o},48061:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BusFunctionFactory=void 0;const n=r(90412);class i extends n.BusIndexed{constructor(e){super({...e,actorIdentifierFields:["functionNames"],actionIdentifierFields:["functionName"]})}}t.BusFunctionFactory=i},5673:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermFunctionBase=t.ExpressionFunctionBase=void 0;const n=r(90711),i=r(77545);class o{constructor({arity:e,operator:t,apply:r}){this.arity=e,this.operator=t,this.apply=r}checkArity(e){return Array.isArray(this.arity)?this.arity.includes(e.length):this.arity===Number.POSITIVE_INFINITY||e.length===this.arity}}t.ExpressionFunctionBase=o,t.TermFunctionBase=class extends o{constructor({arity:e,operator:t,overloads:r}){super({arity:e,operator:t,apply:async({args:e,exprEval:t,mapping:r})=>this.applyOnTerms(await Promise.all(e.map((e=>t.evaluatorExpressionEvaluation(e,r)))),t)}),this.supportsTermExpressions=!0,this.overloads=r}applyOnTerms(e,t){return(this.overloads.search(e,t.context.getSafe(n.KeysExpressionEvaluator.superTypeProvider),t.context.getSafe(n.KeysInitQuery.functionArgumentsCache))??this.handleInvalidTypes(e))(t)(e)}handleInvalidTypes(e){throw new i.InvalidArgumentTypes(e,this.operator)}}},77617:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1028),t),i(r(68307),t),i(r(48061),t),i(r(5673),t)},67120:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashBindings=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorHashBindings=i},16235:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67120),t)},17136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHashQuads=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorHashQuads=i},65239:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17136),t)},4996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpInvalidate=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorHttpInvalidate=i},34247:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttpInvalidateListenable=void 0;const n=r(90412),i=r(4996);class o extends i.ActorHttpInvalidate{constructor(e){super(e),this.invalidateListeners=[],this.invalidateListeners=[]}addInvalidateListener(e){this.invalidateListeners.push(e)}async test(e){return(0,n.passTestVoid)()}async run(e){for(const t of this.invalidateListeners)t(e);return{}}}t.ActorHttpInvalidateListenable=o},40332:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4996),t),i(r(34247),t)},91295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorHttp=void 0;const n=r(90412),i=r(65806),o=r(31232),a=r(35276);class s extends n.Actor{constructor(e){super(e)}static toNodeReadable(e){return o(e)||null===e?e:(0,i.readableFromWeb)(e)}static toWebReadableStream(e){return a(e)}static headersToHash(e){const t={};return e.forEach(((e,r)=>{t[r]=e})),t}static getInputUrl(e){return new URL(e instanceof Request?e.url:e)}static createUserAgent(e,t){if(!s.isBrowser()){const r=[`Comunica/${t.split(".")[0]}.0`,`${e}/${t}`];return"object"==typeof globalThis.navigator&&"string"==typeof globalThis.navigator.userAgent?r.push(globalThis.navigator.userAgent):"object"==typeof globalThis.process&&"object"==typeof globalThis.process.versions&&"string"==typeof globalThis.process.versions.node&&r.push(`Node.js/${globalThis.process.versions.node.split(".")[0]}`),"object"==typeof globalThis.process&&"string"==typeof globalThis.process.platform&&"string"==typeof globalThis.process.arch&&r.splice(1,0,`(${globalThis.process.platform}; ${globalThis.process.arch})`),r.join(" ")}}static isBrowser(){return"object"==typeof globalThis.window&&"object"==typeof globalThis.window.document||"function"==typeof globalThis.importScripts}}t.ActorHttp=s},70322:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(91295),t),i(r(36339),t)},36339:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAndCloseHttpResponse=void 0;const n=r(52728),i=r(91295);t.validateAndCloseHttpResponse=async function(e,t){if(t.status>=400){let r="empty response";if(t.body){const e=i.ActorHttp.toNodeReadable(t.body);r=await(0,n.stringify)(e)}throw new Error(`Could not update ${e} (HTTP status ${t.status}):\n${r}`)}await(t.body?.cancel())}},3251:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorInit=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorInit=i},6180:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3251),t)},5603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorOptimizeQueryOperation=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorOptimizeQueryOperation=i},38912:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(5603),t)},31278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperation=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQueryOperation=i},95816:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationTyped=void 0;const n=r(90711),i=r(90412),o=r(99214),a=r(31278);class s extends a.ActorQueryOperation{constructor(e,t){if(super({...e,operationName:t}),!this.operationName)throw new Error('A valid "operationName" argument must be provided.')}async test(e){if(!e.operation)return(0,i.failTest)("Missing field 'operation' in a query operation action.");if(e.operation.type!==this.operationName)return(0,i.failTest)(`Actor ${this.name} only supports ${this.operationName} operations, but got ${e.operation.type}`);const t=e.operation;return this.testOperation(t,e.context)}async run(e,t){const r=e.context.get(n.KeysInitQuery.physicalQueryPlanLogger);r&&(r.logOperation(e.operation.type,void 0,e.operation,e.context.get(n.KeysInitQuery.physicalQueryPlanNode),this.name,{}),e.context=e.context.set(n.KeysInitQuery.physicalQueryPlanNode,e.operation));const i=e.operation,a=e.context.set(n.KeysQueryOperation.operation,i),s=await this.runOperation(i,a,t);return"metadata"in s&&(s.metadata=(0,o.cachifyMetadata)(s.metadata)),s}}t.ActorQueryOperationTyped=s},33381:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryOperationTypedMediated=void 0;const n=r(95816);class i extends n.ActorQueryOperationTyped{constructor(e,t){super(e,t)}}t.ActorQueryOperationTypedMediated=i},74501:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BusQueryOperation=void 0;const n=r(90412);class i extends n.BusIndexed{constructor(e){super({...e,actorIdentifierFields:["operationName"],actionIdentifierFields:["operation","type"]})}}t.BusQueryOperation=i},66490:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(31278),t),i(r(95816),t),i(r(33381),t),i(r(74501),t)},39830:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryParse=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQueryParse=i},92180:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(39830),t)},60622:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryProcess=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQueryProcess=i},59478:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60622),t)},74871:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerialize=void 0;const n=r(48092);class i extends n.ActorAbstractMediaTyped{constructor(e){super(e)}}t.ActorQueryResultSerialize=i},33152:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQueryResultSerializeFixedMediaTypes=void 0;const n=r(48092),i=r(90412);class o extends n.ActorAbstractMediaTypedFixed{constructor(e){super(e)}async testHandleChecked(e,t){return(0,i.passTestVoid)()}}t.ActorQueryResultSerializeFixedMediaTypes=o},58871:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(74871),t),i(r(33152),t)},23038:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentifyHypermedia=void 0;const n=r(90412);class i extends n.Actor{constructor(e,t){super(e),this.sourceType=t}async test(e){return e.forceSourceType&&this.sourceType!==e.forceSourceType?(0,n.failTest)(`Actor ${this.name} is not able to handle source type ${e.forceSourceType}.`):this.testMetadata(e)}}t.ActorQuerySourceIdentifyHypermedia=i},62100:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23038),t)},21645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorQuerySourceIdentify=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorQuerySourceIdentify=i},33386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filterMatchingQuotedQuads=t.quadsOrderToBindingsOrder=t.quadsMetadataToBindingsMetadata=t.setMetadata=t.getDuplicateElementLinks=t.getVariables=t.isTermVariable=t.quadsToBindings=void 0;const n=r(4809),i=r(99214),o=r(43347),a=r(3285),s=r(64232);function c(e){return"Variable"===e.termType}function u(e){return(0,a.uniqTerms)((0,a.getTermsNested)(e).filter(c))}function l(e){const t={};let r=!1;if((0,a.forEachTermsNested)(e,((e,n)=>{if("Variable"===e.termType){const i=(0,o.termToString)(e),a=(t[i]||(t[i]=[])).push(n);r=r||a>1}})),!r)return;const n={};for(const e in t){const r=t[e],i=r.slice(1);i.length>0&&(n[r[0].join("_")]=i)}return n}function d(e,t,r,n,o,a){const s=s=>{a&&(s.cardinality.type="estimate"),t.setProperty("metadata",p(e,(0,i.validateMetadataQuads)(s),n,o)),s.state&&s.state.addInvalidateListener((()=>{d(e,t,r,n,o,a)}))},c=r.getProperty("metadata");c?s(c):r.getProperty("metadata",s)}function p(e,t,r,n){return{...t,order:t.order?h(e,t.order,r):void 0,availableOrders:t.availableOrders?t.availableOrders.map((t=>({cost:t.cost,terms:h(e,t.terms,r)}))):void 0,variables:n.map((e=>({variable:e,canBeUndef:!1})))}}function h(e,t,r){const n={};return t.map((t=>{const i=r[t.term];if(i&&!n[i])return n[i]=!0,{term:e.variable(i),direction:t.direction}})).filter(Boolean)}t.quadsToBindings=function(e,t,r,i,o){const s=u(t),c="Variable"===t.graph.termType&&!o,p=l(t),h=(0,a.reduceTermsNested)(t,((e,t,r)=>("Variable"===t.termType&&(e[r.join("_")]=t.value),e)),{});let f=e;c&&(f=f.filter((e=>"DefaultGraph"!==e.graph.termType))),p&&(f=f.filter((e=>{for(const t in p){const r=t.split("_"),n=(0,a.getValueNestedPath)(e,r);for(const r of p[t])if(!n.equals((0,a.getValueNestedPath)(e,r)))return!1}return!0})));const y=new n.ClosableIterator(f.map((e=>i.bindings(Object.keys(h).map((t=>{const n=t.split("_"),i=h[t],o=(0,a.getValueNestedPath)(e,n);return[r.variable(i),o]}))))),{onClose:()=>e.destroy()});return d(r,y,e,h,s,c||Boolean(p)),y},t.isTermVariable=c,t.getVariables=u,t.getDuplicateElementLinks=l,t.setMetadata=d,t.quadsMetadataToBindingsMetadata=p,t.quadsOrderToBindingsOrder=h,t.filterMatchingQuotedQuads=function(e,t){return(0,a.someTerms)(e,(e=>"Quad"===e.termType))&&(t=t.filter((t=>(0,s.matchPatternMappings)(t,e)))),t}},559:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(21645),t),i(r(33386),t)},39582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinEntriesSort=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfJoinEntriesSort=i},39195:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(39582),t)},4945:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoinSelectivity=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfJoinSelectivity=i},95705:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4945),t)},57042:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfJoin=void 0;const n=r(90711),i=r(90412),o=r(4809),a=r(99214);class s extends i.Actor{constructor(e,t){super(e),this.includeInLogs=!0,this.logicalType=t.logicalType,this.physicalName=t.physicalName,this.limitEntries=t.limitEntries??Number.POSITIVE_INFINITY,this.limitEntriesMin=t.limitEntriesMin??!1,this.canHandleUndefs=t.canHandleUndefs??!1,this.isLeaf=t.isLeaf??!0,this.requiresVariableOverlap=t.requiresVariableOverlap??!1}static overlappingVariables(e){const t={};for(const r of e)for(const e of r.variables){t[e.variable.value]||(t[e.variable.value]={variable:e.variable,canBeUndef:e.canBeUndef,occurrences:0});const r=t[e.variable.value];r.canBeUndef=r.canBeUndef||e.canBeUndef,r.occurrences++}return Object.values(t).filter((t=>t.occurrences===e.length)).map((e=>({variable:e.variable,canBeUndef:e.canBeUndef})))}static joinVariables(e,t,r=!1){const n={};let i=!0;for(const e of t){for(const t of e.variables)n[t.variable.value]=n[t.variable.value]||t.canBeUndef||!i&&r&&!(t.variable.value in n);i=!1}return Object.entries(n).map((([t,r])=>({variable:e.variable(t),canBeUndef:r})))}static joinBindings(...e){if(0===e.length)return null;if(1===e.length)return e[0];let t=e[0];for(const r of e.slice(1)){const e=t.merge(r);if(!e)return null;t=e}return t}static getCardinality(e){return e.cardinality}static async getMetadatas(e){return await Promise.all(e.map((e=>e.output.metadata())))}static async getEntriesWithMetadatas(e){const t=await s.getMetadatas(e);return e.map(((e,r)=>({...e,metadata:t[r]})))}static getRequestInitialTimes(e){return e.map((e=>e.pageSize?0:e.requestTime??0))}static getRequestItemTimes(e){return e.map((e=>e.pageSize?(e.requestTime??0)/e.pageSize:0))}constructState(e){const t=new a.MetadataValidationState,r=()=>t.invalidate();for(const t of e)t.state.addInvalidateListener(r);return t}async constructResultMetadata(e,t,r,i={},o=!1){let a;return i.cardinality?a=i.cardinality:(a=t.reduce(((e,t)=>{const r=s.getCardinality(t);return{type:"estimate"===r.type?"estimate":e.type,value:e.value*(o?Math.max(1,r.value):r.value)}}),{type:"exact",value:1}),a.value*=(await this.mediatorJoinSelectivity.mediate({entries:e,context:r})).selectivity),{state:this.constructState(t),...i,cardinality:{type:a.type,value:a.value},variables:s.joinVariables(r.getSafe(n.KeysInitQuery.dataFactory),t,o)}}static async sortJoinEntries(e,t,r){if(t.some((e=>e.metadata.variables.some((e=>e.canBeUndef)))))return(0,i.passTest)(t);const n={};for(const e of t)for(const t of e.metadata.variables){let e=n[t.variable.value];e||(e=0),n[t.variable.value]=++e}const o=[];for(const[e,t]of Object.entries(n))t>=2&&o.push(e);if(0===o.length)return(0,i.failTest)("Bind join can only join entries with at least one common variable");const a=[];for(const e of t){let t=!1;for(const r of e.metadata.variables)if(o.includes(r.variable.value)){t=!0;break}t||a.push(e)}return(0,i.passTest)((await e.mediate({entries:t,context:r})).entries.sort(((e,t)=>{const r=a.includes(e);return r===a.includes(t)?0:r?1:-1})))}async test(e){if(e.type!==this.logicalType)return(0,i.failTest)(`${this.name} can only handle logical joins of type '${this.logicalType}', while '${e.type}' was given.`);if(e.entries.length<=1)return(0,i.failTest)(`${this.name} requires at least two join entries.`);if(this.limitEntriesMin?e.entries.lengththis.limitEntries)return(0,i.failTest)(`${this.name} requires ${this.limitEntries} join entries at ${this.limitEntriesMin?"least":"most"}. The input contained ${e.entries.length}.`);for(const t of e.entries)if("bindings"!==t.output.type)return(0,i.failTest)(`Invalid type of a join entry: Expected 'bindings' but got '${t.output.type}'`);const t=await s.getMetadatas(e.entries);let r;return!this.canHandleUndefs&&(r=s.overlappingVariables(t),r.some((e=>e.canBeUndef)))?(0,i.failTest)(`Actor ${this.name} can not join streams containing undefs`):this.requiresVariableOverlap&&0===(r??s.overlappingVariables(t)).length?(0,i.failTest)(`Actor ${this.name} can only join entries with at least one common variable`):await this.getJoinCoefficients(e,{metadatas:t})}async run(e,t){let r;e.context.has(n.KeysInitQuery.physicalQueryPlanLogger)&&(r=e.context.get(n.KeysInitQuery.physicalQueryPlanNode),e.context=e.context.set(n.KeysInitQuery.physicalQueryPlanNode,e));const i=e.context.get(n.KeysInitQuery.physicalQueryPlanLogger);let c;this.includeInLogs&&i&&(c={},i.stashChildren(r,(e=>e.logicalOperator.startsWith("join"))),i.logOperation(`join-${this.logicalType}`,this.physicalName,e,r,this.name,c));const{result:u,physicalPlanMetadata:l}=await this.getOutput(e,t);if(c){(0,o.instrumentIterator)(u.bindingsStream).then((t=>{i.appendMetadata(e,{cardinalityReal:t.count,timeSelf:t.timeSelf,timeLife:t.timeLife})})),Object.assign(c,l);const r=t.metadatas.map(s.getCardinality);if(c.cardinalities=r,c.joinCoefficients=(await this.getJoinCoefficients(e,t)).getOrThrow(),this.isLeaf)for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataAccumulate=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfMetadataAccumulate=i},50433:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(12957),t)},30795:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadataExtract=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfMetadataExtract=i},18412:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(30795),t)},86080:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfMetadata=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfMetadata=i},14752:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(86080),t)},47062:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParse=void 0;const n=r(48092);class i extends n.ActorAbstractMediaTyped{constructor(e){super(e)}}t.ActorRdfParse=i},46691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfParseFixedMediaTypes=void 0;const n=r(48092),i=r(90412);class o extends n.ActorAbstractMediaTypedFixed{constructor(e){super(e)}async testHandleChecked(e){return(0,i.passTestVoid)()}}t.ActorRdfParseFixedMediaTypes=o},95124:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(47062),t),i(r(46691),t)},44609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinksQueue=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfResolveHypermediaLinksQueue=i},24690:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},29306:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkQueueWrapper=void 0,t.LinkQueueWrapper=class{constructor(e){this.linkQueue=e}push(e,t){return this.linkQueue.push(e,t)}getSize(){return this.linkQueue.getSize()}isEmpty(){return this.linkQueue.isEmpty()}pop(){return this.linkQueue.pop()}peek(){return this.linkQueue.peek()}}},86074:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(44609),t),i(r(24690),t),i(r(29306),t)},96430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfResolveHypermediaLinks=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfResolveHypermediaLinks=i},67304:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(96430),t)},17538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerialize=void 0;const n=r(48092);class i extends n.ActorAbstractMediaTyped{constructor(e){super(e)}}t.ActorRdfSerialize=i},9527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfSerializeFixedMediaTypes=void 0;const n=r(48092),i=r(90412);class o extends n.ActorAbstractMediaTypedFixed{constructor(e){super(e)}async testHandleChecked(){return(0,i.passTestVoid)()}}t.ActorRdfSerializeFixedMediaTypes=o},81261:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(17538),t),i(r(9527),t)},16305:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateHypermedia=void 0;const n=r(90412);class i extends n.Actor{constructor(e,t){super(e),this.destinationType=t}async test(e){return e.forceDestinationType&&this.destinationType!==e.forceDestinationType?(0,n.failTest)(`Actor ${this.name} is not able to handle destination type ${e.forceDestinationType}.`):this.testMetadata(e)}}t.ActorRdfUpdateHypermedia=i},14597:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16305),t)},38291:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuads=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e)}}t.ActorRdfUpdateQuads=i},85459:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorRdfUpdateQuadsDestination=t.deskolemize=t.deskolemizeStream=void 0;const n=r(21806),i=r(90711),o=r(90412),a=r(38291);function s(e,t,r){return t?.map((t=>(0,n.deskolemizeQuad)(e,t,r)))}function c(e){const t=e.context.getSafe(i.KeysInitQuery.dataFactory),r=e.context.get(i.KeysRdfUpdateQuads.destination),n=e.context.get(i.KeysQuerySourceIdentify.sourceIds)?.get(r);return n?{...e,quadStreamInsert:s(t,e.quadStreamInsert,n),quadStreamDelete:s(t,e.quadStreamDelete,n)}:e}t.deskolemizeStream=s,t.deskolemize=c;class u extends a.ActorRdfUpdateQuads{async test(e){return(0,o.passTestVoid)()}async run(e){const t=await this.getDestination(e.context);return await this.getOutput(t,c(e))}async getOutput(e,t){return{execute:async()=>{await e.update({insert:t.quadStreamInsert,delete:t.quadStreamDelete}),await(t.deleteGraphs?e.deleteGraphs(t.deleteGraphs.graphs,t.deleteGraphs.requireExistence,t.deleteGraphs.dropGraphs):Promise.resolve()),await(t.createGraphs?e.createGraphs(t.createGraphs.graphs,t.createGraphs.requireNonExistence):Promise.resolve())}}}}t.ActorRdfUpdateQuadsDestination=u},41937:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},16657:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38291),t),i(r(85459),t),i(r(41937),t),i(r(52604),t)},52604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getContextDestinationUrl=t.getContextDestination=t.getDataDestinationContext=t.getDataDestinationValue=t.getDataDestinationType=t.isDataDestinationRawType=void 0;const n=r(90711);function i(e){return"string"==typeof e||"remove"in e}function o(e){return i(e)?e:e.value}t.isDataDestinationRawType=i,t.getDataDestinationType=function(e){return"string"==typeof e?"":"remove"in e?"rdfjsStore":e.type},t.getDataDestinationValue=o,t.getDataDestinationContext=function(e,t){return"string"==typeof e||"remove"in e||!e.context?t:t.merge(e.context)},t.getContextDestination=function(e){return e.get(n.KeysRdfUpdateQuads.destination)},t.getContextDestinationUrl=function(e){if(e){let t=o(e);if("string"==typeof t){const e=t.indexOf("#");return e>=0&&(t=t.slice(0,e)),t}}}},77401:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActorTermComparatorFactory=void 0;const n=r(90412);class i extends n.Actor{constructor(e){super(e),this.mediatorQueryOperation=e.mediatorQueryOperation,this.mediatorFunctionFactory=e.mediatorFunctionFactory,this.mediatorMergeBindingsContext=e.mediatorMergeBindingsContext}}t.ActorTermComparatorFactory=i},14628:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77401),t)},19039:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeysStatistics=t.KeysRdfJoin=t.KeysMergeBindingsContext=t.KeysRdfUpdateQuads=t.KeysQuerySourceIdentify=t.KeysRdfParseHtmlScript=t.KeysRdfParseJsonLd=t.KeysQueryOperation=t.KeysExpressionEvaluator=t.KeysInitQuery=t.KeysHttpProxy=t.KeysHttpMemento=t.KeysHttpWayback=t.KeysHttp=t.KeysCore=void 0;const n=r(90412);t.KeysCore={log:n.CONTEXT_KEY_LOGGER},t.KeysHttp={includeCredentials:new n.ActionContextKey("@comunica/bus-http:include-credentials"),auth:new n.ActionContextKey("@comunica/bus-http:auth"),fetch:new n.ActionContextKey("@comunica/bus-http:fetch"),httpTimeout:new n.ActionContextKey("@comunica/bus-http:http-timeout"),httpBodyTimeout:new n.ActionContextKey("@comunica/bus-http:http-body-timeout"),httpRetryCount:new n.ActionContextKey("@comunica/bus-http:http-retry-count"),httpRetryDelayFallback:new n.ActionContextKey("@comunica/bus-http:http-retry-delay-fallback"),httpRetryDelayLimit:new n.ActionContextKey("@comunica/bus-http:http-retry-delay-limit"),httpRetryStatusCodes:new n.ActionContextKey("@comunica/bus-http:http-retry-status-codes")},t.KeysHttpWayback={recoverBrokenLinks:new n.ActionContextKey("@comunica/bus-http:recover-broken-links")},t.KeysHttpMemento={datetime:new n.ActionContextKey("@comunica/actor-http-memento:datetime")},t.KeysHttpProxy={httpProxyHandler:new n.ActionContextKey("@comunica/actor-http-proxy:httpProxyHandler")},t.KeysInitQuery={querySourcesUnidentified:new n.ActionContextKey("@comunica/actor-init-query:querySourcesUnidentified"),initialBindings:new n.ActionContextKey("@comunica/actor-init-query:initialBindings"),queryFormat:new n.ActionContextKey("@comunica/actor-init-query:queryFormat"),graphqlSingularizeVariables:new n.ActionContextKey("@comunica/actor-init-query:singularizeVariables"),lenient:new n.ActionContextKey("@comunica/actor-init-query:lenient"),queryString:new n.ActionContextKey("@comunica/actor-init-query:queryString"),query:new n.ActionContextKey("@comunica/actor-init-query:query"),baseIRI:new n.ActionContextKey("@comunica/actor-init-query:baseIRI"),functionArgumentsCache:new n.ActionContextKey("@comunica/actor-init-query:functionArgumentsCache"),queryTimestamp:new n.ActionContextKey("@comunica/actor-init-query:queryTimestamp"),queryTimestampHighResolution:new n.ActionContextKey("@comunica/actor-init-query:queryTimestampHighResolution"),extensionFunctionCreator:new n.ActionContextKey("@comunica/actor-init-query:extensionFunctionCreator"),extensionFunctions:new n.ActionContextKey("@comunica/actor-init-query:extensionFunctions"),cliArgsHandlers:new n.ActionContextKey("@comunica/actor-init-query:cliArgsHandlers"),explain:new n.ActionContextKey("@comunica/actor-init-query:explain"),physicalQueryPlanLogger:new n.ActionContextKey("@comunica/actor-init-query:physicalQueryPlanLogger"),physicalQueryPlanNode:new n.ActionContextKey("@comunica/actor-init-query:physicalQueryPlanNode"),jsonLdContext:new n.ActionContextKey("@context"),invalidateCache:new n.ActionContextKey("@comunica/actor-init-query:invalidateCache"),dataFactory:new n.ActionContextKey("@comunica/actor-init-query:dataFactory"),distinctConstruct:new n.ActionContextKey("@comunica/actor-init-query:distinctConstruct")},t.KeysExpressionEvaluator={extensionFunctionCreator:new n.ActionContextKey("@comunica/utils-expression-evaluator:extensionFunctionCreator"),superTypeProvider:new n.ActionContextKey("@comunica/utils-expression-evaluator:superTypeProvider"),defaultTimeZone:new n.ActionContextKey("@comunica/utils-expression-evaluator:defaultTimeZone"),actionContext:new n.ActionContextKey("@comunica/utils-expression-evaluator:actionContext")},t.KeysQueryOperation={operation:new n.ActionContextKey("@comunica/bus-query-operation:operation"),joinLeftMetadata:new n.ActionContextKey("@comunica/bus-query-operation:joinLeftMetadata"),joinRightMetadatas:new n.ActionContextKey("@comunica/bus-query-operation:joinRightMetadatas"),joinBindings:new n.ActionContextKey("@comunica/bus-query-operation:joinBindings"),readOnly:new n.ActionContextKey("@comunica/bus-query-operation:readOnly"),isPathArbitraryLengthDistinctKey:new n.ActionContextKey("@comunica/bus-query-operation:isPathArbitraryLengthDistinct"),limitIndicator:new n.ActionContextKey("@comunica/bus-query-operation:limitIndicator"),unionDefaultGraph:new n.ActionContextKey("@comunica/bus-query-operation:unionDefaultGraph"),querySources:new n.ActionContextKey("@comunica/bus-query-operation:querySources")},t.KeysRdfParseJsonLd={documentLoader:new n.ActionContextKey("@comunica/actor-rdf-parse-jsonld:documentLoader"),strictValues:new n.ActionContextKey("@comunica/actor-rdf-parse-jsonld:strictValues"),parserOptions:new n.ActionContextKey("@comunica/actor-rdf-parse-jsonld:parserOptions")},t.KeysRdfParseHtmlScript={processingHtmlScript:new n.ActionContextKey("@comunica/actor-rdf-parse-html-script:processingHtmlScript"),extractAllScripts:new n.ActionContextKey("extractAllScripts")},t.KeysQuerySourceIdentify={sourceIds:new n.ActionContextKey("@comunica/bus-query-source-identify:sourceIds"),hypermediaSourcesAggregatedStores:new n.ActionContextKey("@comunica/bus-query-source-identify:hypermediaSourcesAggregatedStores"),traverse:new n.ActionContextKey("@comunica/bus-query-source-identify:traverse")},t.KeysRdfUpdateQuads={destination:new n.ActionContextKey("@comunica/bus-rdf-update-quads:destination")},t.KeysMergeBindingsContext={sourcesBinding:new n.ActionContextKey("@comunica/bus-merge-bindings-context:sourcesBinding")},t.KeysRdfJoin={lastPhysicalJoin:new n.ActionContextKey("@comunica/bus-rdf-join:lastPhysicalJoin")},t.KeysStatistics={discoveredLinks:new n.ActionContextKey("@comunica/bus-context-preprocess:discoveredLinks"),dereferencedLinks:new n.ActionContextKey("@comunica/bus-context-preprocess:dereferencedLinks")}},90711:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(19039),t)},94301:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionContextKey=t.ActionContext=void 0;const n=r(84779);class i{constructor(e={}){this.map=(0,n.Map)(e)}setDefault(e,t){return this.has(e)?this:this.set(e,t)}set(e,t){return this.setRaw(e.name,t)}setRaw(e,t){return new i(this.map.set(e,t))}delete(e){return new i(this.map.delete(e.name))}get(e){return this.getRaw(e.name)}getRaw(e){return this.map.get(e)}getSafe(e){if(!this.has(e))throw new Error(`Context entry ${e.name} is required but not available`);return this.get(e)}has(e){return this.hasRaw(e.name)}hasRaw(e){return this.map.has(e)}merge(...e){let t=this;for(const r of e)for(const e of r.keys())t=t.set(e,r.get(e));return t}keys(){return[...this.map.keys()].map((e=>new o(e)))}toJS(){return this.map.toJS()}toString(){return`ActionContext(${JSON.stringify(this.map.toJS())})`}[Symbol.for("nodejs.util.inspect.custom")](){return`ActionContext(${JSON.stringify(this.map.toJS(),null," ")})`}static ensureActionContext(e){return e instanceof i?e:new i((0,n.Map)(e??{}))}}t.ActionContext=i;class o{constructor(e){this.name=e}}t.ActionContextKey=o},61782:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionObserver=void 0,t.ActionObserver=class{constructor(e){Object.assign(this,e)}}},681:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Actor=void 0;const n=r(84983);class i{constructor(e){this.beforeActors=[],Object.assign(this,e),this.bus.subscribe(this),this.beforeActors.length>0&&this.bus.addDependencies(this,this.beforeActors),e.busFailMessage&&(this.bus.failMessage=e.busFailMessage)}static getContextLogger(e){return e.get(n.CONTEXT_KEY_LOGGER)}runObservable(e,t){const r=this.run(e,t);return this.bus.onRun(this,e,r),r}getDefaultLogData(e,t){const r=t?t():{};return r.actor=this.name,r}logTrace(e,t,r){const n=i.getContextLogger(e);n&&n.trace(t,this.getDefaultLogData(e,r))}logDebug(e,t,r){const n=i.getContextLogger(e);n&&n.debug(t,this.getDefaultLogData(e,r))}logInfo(e,t,r){const n=i.getContextLogger(e);n&&n.info(t,this.getDefaultLogData(e,r))}logWarn(e,t,r){const n=i.getContextLogger(e);n&&n.warn(t,this.getDefaultLogData(e,r))}logError(e,t,r){const n=i.getContextLogger(e);n&&n.error(t,this.getDefaultLogData(e,r))}logFatal(e,t,r){const n=i.getContextLogger(e);n&&n.fatal(t,this.getDefaultLogData(e,r))}}t.Actor=i},92126:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Bus=void 0,t.Bus=class{constructor(e){this.actors=[],this.observers=[],this.dependencyLinks=new Map,Object.assign(this,e),this.failMessage=`All actors over bus ${this.name} failed to handle an action`}subscribe(e){this.actors.push(e),this.reorderForDependencies()}subscribeObserver(e){this.observers.push(e)}unsubscribe(e){const t=this.actors.indexOf(e);return t>=0&&(this.actors.splice(t,1),!0)}unsubscribeObserver(e){const t=this.observers.indexOf(e);return t>=0&&(this.observers.splice(t,1),!0)}publish(e){return this.actors.map((t=>({actor:t,reply:t.test(e)})))}onRun(e,t,r){for(const n of this.observers)n.onRun(e,t,r)}addDependencies(e,t){for(const r of t){let t=this.dependencyLinks.get(r);t||(t=[],this.dependencyLinks.set(r,t)),t.push(e)}this.reorderForDependencies()}reorderForDependencies(){if(this.dependencyLinks.size>0){const e=[];for(const t of this.dependencyLinks.keys()){const r=this.actors.indexOf(t);r>=0&&(this.actors.splice(r,1),e.push(t))}for(;e.length>0;){let t=-1;for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BusIndexed=void 0;const n=r(92126);class i extends n.Bus{constructor(e){super(e),this.actorsIndex={}}subscribe(e){const t=this.getActorIdentifiers(e)??["_undefined_"];for(const r of t){let t=this.actorsIndex[r];t||(t=this.actorsIndex[r]=[]),t.push(e),super.subscribe(e)}}unsubscribe(e){const t=this.getActorIdentifiers(e)??["_undefined_"];let r=!1;for(const n of t){const t=this.actorsIndex[n];if(t){const r=t.indexOf(e);r>=0&&t.splice(r,1),0===t.length&&delete this.actorsIndex[n]}r=r||super.unsubscribe(e)}return r}publish(e){const t=this.getActionIdentifier(e);return t?[...this.actorsIndex[t]||[],...this.actorsIndex._undefined_||[]].map((t=>({actor:t,reply:t.test(e)}))):super.publish(e)}getActorIdentifiers(e){const t=this.actorIdentifierFields.reduce(((e,t)=>e[t]),e);if(t)return Array.isArray(t)?t:[t]}getActionIdentifier(e){return this.actionIdentifierFields.reduce(((e,t)=>e[t]),e)}}t.BusIndexed=i},84983:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CONTEXT_KEY_LOGGER=void 0;const n=r(94301);t.CONTEXT_KEY_LOGGER=new n.ActionContextKey("@comunica/core:log")},65991:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Mediator=void 0;class r{constructor(e){Object.assign(this,e)}publish(e){const t=this.bus.publish(e);if(0===t.length)throw new Error(`No actors are able to reply to a message in the bus ${this.bus.name}`);return t}async mediateActor(e){return await this.mediateWith(e,this.publish(e))}async mediateTestable(e){return(await this.mediateActor(e)).mapAsync(((t,r)=>t.runObservable(e,r)))}async mediate(e){return(await this.mediateTestable(e)).getOrThrow()}constructFailureMessage(e,t){const n="\n ";return`${this.bus.failMessage.replaceAll(/\$\{(.*?)\}/gu,((t,n)=>r.getObjectValue({action:e},n.split("."))||t))}\n Error messages of failing actors:${n}${t.join(n)}`}static getObjectValue(e,t){return 0===t.length?e:e?r.getObjectValue(e[t[0]],t.slice(1)):void 0}}t.Mediator=r},14231:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TestResultFailed=t.TestResultPassed=t.failTest=t.passTestVoidWithSideData=t.passTestWithSideData=t.passTestVoid=t.passTest=void 0,t.passTest=function(e){return new r(e,void 0)},t.passTestVoid=function(){return new r(!0,void 0)},t.passTestWithSideData=function(e,t){return new r(e,t)},t.passTestVoidWithSideData=function(e){return new r(!0,e)},t.failTest=function(e){return new n(e)};class r{constructor(e,t){this.value=e,this.sideData=t}isPassed(){return!0}isFailed(){return!1}get(){return this.value}getOrThrow(){return this.value}getSideData(){return this.sideData}getFailMessage(){}map(e){return new r(e(this.value,this.sideData),this.sideData)}async mapAsync(e){return new r(await e(this.value,this.sideData),this.sideData)}}t.TestResultPassed=r;class n{constructor(e){this.failMessage=e}isPassed(){return!1}isFailed(){return!0}get(){}getOrThrow(){throw new Error(this.getFailMessage())}getSideData(){throw new Error(this.getFailMessage())}getFailMessage(){return this.failMessage}map(){return this}async mapAsync(){return this}}t.TestResultFailed=n},90412:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(94301),t),i(r(92126),t),i(r(2437),t),i(r(84983),t),i(r(61782),t),i(r(681),t),i(r(65991),t),i(r(14231),t)},84779:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Collection:()=>O,Iterable:()=>In,List:()=>cr,Map:()=>Lt,OrderedMap:()=>Sr,OrderedSet:()=>ln,PairSorting:()=>yn,Range:()=>Kr,Record:()=>gn,Repeat:()=>En,Seq:()=>X,Set:()=>Ur,Stack:()=>Ir,default:()=>Rn,fromJS:()=>Tn,get:()=>ct,getIn:()=>Qr,has:()=>st,hasIn:()=>Jr,hash:()=>me,is:()=>he,isAssociative:()=>T,isCollection:()=>_,isImmutable:()=>N,isIndexed:()=>E,isKeyed:()=>w,isList:()=>sr,isMap:()=>le,isOrdered:()=>C,isOrderedMap:()=>de,isOrderedSet:()=>Cr,isPlainObject:()=>it,isRecord:()=>D,isSeq:()=>P,isSet:()=>jr,isStack:()=>Ar,isValueObject:()=>pe,merge:()=>Tt,mergeDeep:()=>xt,mergeDeepWith:()=>At,mergeWith:()=>Ot,remove:()=>lt,removeIn:()=>gt,set:()=>dt,setIn:()=>ft,update:()=>bt,updateIn:()=>pt,version:()=>An});var n="delete",i=5,o=1<>>0;if(""+r!==t||4294967295===r)return NaN;t=r}return t<0?l(e)+t:t}function p(){return!0}function h(e,t,r){return(0===e&&!m(e)||void 0!==r&&e<=-r)&&(void 0===t||void 0!==r&&t>=r)}function f(e,t){return g(e,t,0)}function y(e,t){return g(e,t,t)}function g(e,t,r){return void 0===e?r:m(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function m(e){return e<0||0===e&&1/e==-1/0}var b="@@__IMMUTABLE_ITERABLE__@@";function _(e){return Boolean(e&&e[b])}var v="@@__IMMUTABLE_KEYED__@@";function w(e){return Boolean(e&&e[v])}var S="@@__IMMUTABLE_INDEXED__@@";function E(e){return Boolean(e&&e[S])}function T(e){return w(e)||E(e)}var O=function(e){return _(e)?e:X(e)},x=function(e){function t(e){return w(e)?e:Y(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),A=function(e){function t(e){return E(e)?e:Z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),I=function(e){function t(e){return _(e)&&!T(e)?e:ee(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O);O.Keyed=x,O.Indexed=A,O.Set=I;var R="@@__IMMUTABLE_SEQ__@@";function P(e){return Boolean(e&&e[R])}var F="@@__IMMUTABLE_RECORD__@@";function D(e){return Boolean(e&&e[F])}function N(e){return _(e)||D(e)}var j="@@__IMMUTABLE_ORDERED__@@";function C(e){return Boolean(e&&e[j])}var M=0,k=1,L=2,U="function"==typeof Symbol&&Symbol.iterator,B="@@iterator",V=U||B,q=function(e){this.next=e};function H(e,t,r,n){var i=0===e?t:1===e?r:[t,r];return n?n.value=i:n={value:i,done:!1},n}function $(){return{value:void 0,done:!0}}function G(e){return!!Array.isArray(e)||!!z(e)}function K(e){return e&&"function"==typeof e.next}function Q(e){var t=z(e);return t&&t.call(e)}function z(e){var t=e&&(U&&e[U]||e[B]);if("function"==typeof t)return t}q.prototype.toString=function(){return"[Iterator]"},q.KEYS=M,q.VALUES=k,q.ENTRIES=L,q.prototype.inspect=q.prototype.toSource=function(){return this.toString()},q.prototype[V]=function(){return this};var J=Object.prototype.hasOwnProperty;function W(e){return!(!Array.isArray(e)&&"string"!=typeof e)||e&&"object"==typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var X=function(e){function t(e){return null==e?oe():N(e)?e.toSeq():function(e){var t,r,n=ce(e);if(n)return(r=z(t=e))&&r===t.entries?n.fromEntrySeq():function(e){var t=z(e);return t&&t===e.keys}(e)?n.toSetSeq():n;if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of values, or keyed object: "+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq {","}")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[t?n-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var r=this._cache;if(r){var n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=r[t?n-++i:i++];return H(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(O),Y=function(e){function t(e){return null==e?oe().toKeyedSeq():_(e)?w(e)?e.toSeq():e.fromEntrySeq():D(e)?e.toSeq():ae(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(X),Z=function(e){function t(e){return null==e?oe():_(e)?w(e)?e.entrySeq():e.toIndexedSeq():D(e)?e.toSeq().entrySeq():se(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq [","]")},t}(X),ee=function(e){function t(e){return(_(e)&&!T(e)?e:Z(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(X);X.isSeq=P,X.Keyed=Y,X.Set=ee,X.Indexed=Z,X.prototype[R]=!0;var te=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[d(this,e)]:t},t.prototype.__iterate=function(e,t){for(var r=this._array,n=r.length,i=0;i!==n;){var o=t?n-++i:i++;if(!1===e(r[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var r=this._array,n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=t?n-++i:i++;return H(e,o,r[o])}))},t}(Z),re=function(e){function t(e){var t=Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return J.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var a=n[t?i-++o:o++];if(!1===e(r[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var r=this._object,n=this._keys,i=n.length,o=0;return new q((function(){if(o===i)return{value:void 0,done:!0};var a=n[t?i-++o:o++];return H(e,a,r[a])}))},t}(Y);re.prototype[j]=!0;var ne,ie=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var r=Q(this._collection),n=0;if(K(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,n++,this););return n},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=Q(this._collection);if(!K(r))return new q($);var n=0;return new q((function(){var t=r.next();return t.done?t:H(e,n++,t.value)}))},t}(Z);function oe(){return ne||(ne=new te([]))}function ae(e){var t=ce(e);if(t)return t.fromEntrySeq();if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+e)}function se(e){var t=ce(e);if(t)return t;throw new TypeError("Expected Array or collection object of values: "+e)}function ce(e){return W(e)?new te(e):G(e)?new ie(e):void 0}var ue="@@__IMMUTABLE_MAP__@@";function le(e){return Boolean(e&&e[ue])}function de(e){return le(e)&&C(e)}function pe(e){return Boolean(e&&"function"==typeof e.equals&&"function"==typeof e.hashCode)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!!(pe(e)&&pe(t)&&e.equals(t))}var fe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var r=65535&(e|=0),n=65535&(t|=0);return r*n+((e>>>16)*n+r*(t>>>16)<<16>>>0)|0};function ye(e){return e>>>1&1073741824|3221225471&e}var ge=Object.prototype.valueOf;function me(e){if(null==e)return be(e);if("function"==typeof e.hashCode)return ye(e.hashCode(e));var t,r,n,i=(t=e).valueOf!==ge&&"function"==typeof t.valueOf?t.valueOf(t):t;if(null==i)return be(i);switch(typeof i){case"boolean":return i?1108378657:1108378656;case"number":return function(e){if(e!=e||e===1/0)return 0;var t=0|e;for(t!==e&&(t^=4294967295*e);e>4294967295;)t^=e/=4294967295;return ye(t)}(i);case"string":return i.length>Ie?(void 0===(n=Fe[r=i])&&(n=_e(r),Pe===Re&&(Pe=0,Fe={}),Pe++,Fe[r]=n),n):_e(i);case"object":case"function":return function(e){var t;if(Te&&void 0!==(t=Ee.get(e)))return t;if(void 0!==(t=e[Ae]))return t;if(!we){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ae]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=Se(),Te)Ee.set(e,t);else{if(void 0!==ve&&!1===ve(e))throw new Error("Non-extensible objects are not allowed as keys.");if(we)Object.defineProperty(e,Ae,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ae]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ae]=t}}return t}(i);case"symbol":return function(e){var t=Oe[e];return void 0!==t||(t=Se(),Oe[e]=t),t}(i);default:if("function"==typeof i.toString)return _e(i.toString());throw new Error("Value type "+typeof i+" cannot be hashed.")}}function be(e){return null===e?1108378658:1108378659}function _e(e){for(var t=0,r=0;r=0&&(c.get=function(t,r){return(t=d(this,t))>=0&&to)return{value:void 0,done:!0};var e=i.next();return n||t===k||e.done?e:H(t,c-1,t===M?void 0:e.value[1],e)}))},c}function Ve(e,t,r,n){var i=We(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,c=0;return e.__iterate((function(e,o,u){if(!s||!(s=t.call(r,e,o,u)))return c++,i(e,n?o:c-1,a)})),c},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(L,o),c=!0,u=0;return new q((function(){var e,o,l;do{if((e=s.next()).done)return n||i===k?e:H(i,u++,i===M?void 0:e.value[1],e);var d=e.value;o=d[0],l=d[1],c&&(c=t.call(r,l,o,a))}while(c);return i===L?e:H(i,o,l,e)}))},i}function qe(e,t,r){var n=We(e);return n.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(c,u){c.__iterate((function(o,c){return(!t||u0}function Ke(e,t,r,n){var i=We(e),o=new te(r).map((function(e){return e.size}));return i.size=n?o.max():o.min(),i.__iterate=function(e,t){for(var r,n=this.__iterator(k,t),i=0;!(r=n.next()).done&&!1!==e(r.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map((function(e){return e=O(e),Q(i?e.reverse():e)})),a=0,s=!1;return new q((function(){var r;return s||(r=o.map((function(e){return e.next()})),s=n?r.every((function(e){return e.done})):r.some((function(e){return e.done}))),s?{value:void 0,done:!0}:H(e,a++,t.apply(null,r.map((function(e){return e.value}))))}))},i}function Qe(e,t){return e===t?e:P(e)?t:e.constructor(t)}function ze(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Je(e){return w(e)?x:E(e)?A:I}function We(e){return Object.create((w(e)?Y:E(e)?Z:ee).prototype)}function Xe(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):X.prototype.cacheResult.call(this)}function Ye(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[r]=arguments[r+1];if("function"!=typeof e)throw new TypeError("Invalid merger function: "+e);return Et(this,t,e)}function Et(e,t,r){for(var n=[],i=0;i0;)t[r]=arguments[r+1];return Rt(e,t)}function Ot(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return Rt(t,r,e)}function xt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return It(e,t)}function At(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return It(t,r,e)}function It(e,t,r){return Rt(e,t,function(e){return function t(r,n,i){return ot(r)&&ot(n)&&(o=n,a=X(r),s=X(o),E(a)===E(s)&&w(a)===w(s))?Rt(r,[n],t):e?e(r,n,i):n;var o,a,s}}(r))}function Rt(e,t,r){if(!ot(e))throw new TypeError("Cannot merge into non-data-structure value: "+e);if(N(e))return"function"==typeof r&&e.mergeWith?e.mergeWith.apply(e,[r].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var n=Array.isArray(e),i=e,o=n?A:x,a=n?function(t){i===e&&(i=ut(i)),i.push(t)}:function(t,n){var o=J.call(i,n),a=o&&r?r(i[n],t,n):t;o&&a===i[n]||(i===e&&(i=ut(i)),i[n]=a)},s=0;s0;)t[r]=arguments[r+1];return It(this,t,e)}function Dt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return Rt(e,t)}))}function Nt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return It(e,t)}))}function jt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function Ct(){return this.__ownerID?this:this.__ensureOwner(new u)}function Mt(){return this.__ensureOwner()}function kt(){return this.__altered}var Lt=function(e){function t(t){return null==t?Wt():le(t)&&!C(t)?t:Wt().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e,t){return r.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Wt().withMutations((function(t){for(var r=0;r=e.length)throw new Error("Missing value for key: "+e[r]);t.set(e[r],e[r+1])}}))},t.prototype.toString=function(){return this.__toString("Map {","}")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return Xt(this,e,t)},t.prototype.remove=function(e){return Xt(this,e,s)},t.prototype.deleteAll=function(e){var t=O(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Wt()},t.prototype.sort=function(e){return Sr(He(this,e))},t.prototype.sortBy=function(e,t){return Sr(He(this,t,e))},t.prototype.map=function(e,t){var r=this;return this.withMutations((function(n){n.forEach((function(i,o){n.set(o,e.call(t,i,o,r))}))}))},t.prototype.__iterator=function(e,t){return new Kt(this,e,t)},t.prototype.__iterate=function(e,t){var r=this,n=0;return this._root&&this._root.iterate((function(t){return n++,e(t[1],t[0],r)}),t),n},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Jt(this.size,this._root,e,this.__hash):0===this.size?Wt():(this.__ownerID=e,this.__altered=!1,this)},t}(x);Lt.isMap=le;var Ut=Lt.prototype;Ut[ue]=!0,Ut[n]=Ut.remove,Ut.removeAll=Ut.deleteAll,Ut.setIn=yt,Ut.removeIn=Ut.deleteIn=mt,Ut.update=_t,Ut.updateIn=vt,Ut.merge=Ut.concat=wt,Ut.mergeWith=St,Ut.mergeDeep=Pt,Ut.mergeDeepWith=Ft,Ut.mergeIn=Dt,Ut.mergeDeepIn=Nt,Ut.withMutations=jt,Ut.wasAltered=kt,Ut.asImmutable=Mt,Ut["@@transducer/init"]=Ut.asMutable=Ct,Ut["@@transducer/step"]=function(e,t){return e.set(t[0],t[1])},Ut["@@transducer/result"]=function(e){return e.asImmutable()};var Bt=function(e,t){this.ownerID=e,this.entries=t};Bt.prototype.get=function(e,t,r,n){for(var i=this.entries,o=0,a=i.length;o=nr)return function(e,t,r,n){e||(e=new u);for(var i=new $t(e,me(r),[r,n]),o=0;o>>e)&a),s=this.bitmap;return s&o?this.nodes[tr(s&o-1)].get(e+i,t,r,n):n},Vt.prototype.update=function(e,t,r,n,c,u,l){void 0===r&&(r=me(n));var d=(0===t?r:r>>>t)&a,p=1<=ir)return function(e,t,r,n,i){for(var a=0,s=new Array(o),c=0;0!==r;c++,r>>>=1)s[c]=1&r?t[a++]:void 0;return s[n]=i,new qt(e,a+1,s)}(e,g,h,d,b);if(f&&!b&&2===g.length&&Zt(g[1^y]))return g[1^y];if(f&&b&&1===g.length&&Zt(b))return b;var _=e&&e===this.ownerID,v=f?b?h:h^p:h|p,w=f?b?rr(g,y,b,_):function(e,t,r){var n=e.length-1;if(r&&t===n)return e.pop(),e;for(var i=new Array(n),o=0,a=0;a>>e)&a,s=this.nodes[o];return s?s.get(e+i,t,r,n):n},qt.prototype.update=function(e,t,r,n,o,c,u){void 0===r&&(r=me(n));var l=(0===t?r:r>>>t)&a,d=o===s,p=this.nodes,h=p[l];if(d&&!h)return this;var f=Yt(h,e,t+i,r,n,o,c,u);if(f===h)return this;var y=this.count;if(h){if(!f&&--y>>r)&a,u=(0===r?n:n>>>r)&a,l=c===u?[er(e,t,r+i,n,o)]:(s=new $t(t,n,o),c>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,127&(e+=e>>8)+(e>>16)}function rr(e,t,r,n){var i=n?e:Ze(e);return i[t]=r,i}var nr=o/4,ir=o/2,or=o/4,ar="@@__IMMUTABLE_LIST__@@";function sr(e){return Boolean(e&&e[ar])}var cr=function(e){function t(t){var r=yr();if(null==t)return r;if(sr(t))return t;var n=e(t),a=n.size;return 0===a?r:(tt(a),a>0&&a=0&&e=e.size||t<0)return e.withMutations((function(e){t<0?_r(e,t).set(0,r):_r(e,0,t+1).set(t,r)}));t+=e._origin;var n=e._tail,i=e._root,o={value:!1};return t>=vr(e._capacity)?n=gr(n,e.__ownerID,0,t,r,o):i=gr(i,e.__ownerID,e._level,t,r,o),o.value?e.__ownerID?(e._root=i,e._tail=n,e.__hash=void 0,e.__altered=!0,e):fr(e._origin,e._capacity,e._level,i,n):e}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=i,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):yr()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(r){_r(r,0,t+e.length);for(var n=0;n>>t&a;if(n>=this.array.length)return new lr([],e);var o,s=0===n;if(t>0){var c=this.array[n];if((o=c&&c.removeBefore(e,t-i,r))===c&&s)return this}if(s&&!o)return this;var u=mr(this,e);if(!s)for(var l=0;l>>t&a;if(o>=this.array.length)return this;if(t>0){var s=this.array[o];if((n=s&&s.removeAfter(e,t-i,r))===s&&o===this.array.length-1)return this}var c=mr(this,e);return c.array.splice(o+1),n&&(c.array[o]=n),c};var dr,pr={};function hr(e,t){var r=e._origin,n=e._capacity,a=vr(n),s=e._tail;return function e(c,u,l){return 0===u?function(e,i){var c=i===a?s&&s.array:e&&e.array,u=i>r?0:r-i,l=n-i;return l>o&&(l=o),function(){if(u===l)return pr;var e=t?--l:u++;return c&&c[e]}}(c,l):function(a,s,c){var u,l=a&&a.array,d=c>r?0:r-c>>s,p=1+(n-c>>s);return p>o&&(p=o),function(){for(;;){if(u){var r=u();if(r!==pr)return r;u=null}if(d===p)return pr;var n=t?--p:d++;u=e(l&&l[n],s-i,c+(n<>>r&a,d=e&&l0){var p=e&&e.array[l],h=gr(p,t,r-i,n,o,s);return h===p?e:((u=mr(e,t)).array[l]=h,u)}return d&&e.array[l]===o?e:(s&&c(s),u=mr(e,t),void 0===o&&l===u.array.length-1?u.array.pop():u.array[l]=o,u)}function mr(e,t){return t&&e&&t===e.ownerID?e:new lr(e?e.array.slice():[],t)}function br(e,t){if(t>=vr(e._capacity))return e._tail;if(t<1<0;)r=r.array[t>>>n&a],n-=i;return r}}function _r(e,t,r){void 0!==t&&(t|=0),void 0!==r&&(r|=0);var n=e.__ownerID||new u,o=e._origin,s=e._capacity,c=o+t,l=void 0===r?s:r<0?s+r:o+r;if(c===o&&l===s)return e;if(c>=l)return e.clear();for(var d=e._level,p=e._root,h=0;c+h<0;)p=new lr(p&&p.array.length?[void 0,p]:[],n),h+=1<<(d+=i);h&&(c+=h,o+=h,l+=h,s+=h);for(var f=vr(s),y=vr(l);y>=1<f?new lr([],n):g;if(g&&y>f&&ci;_-=i){var v=f>>>_&a;b=b.array[v]=mr(b.array[v],n)}b.array[f>>>i&a]=g}if(l=y)c-=y,l-=y,d=i,p=null,m=m&&m.removeBefore(n,0,c);else if(c>o||y>>d&a;if(w!==y>>>d&a)break;w&&(h+=(1<o&&(p=p.removeBefore(n,d,c-h)),p&&y>>i<=o&&c.size>=2*a.size?(n=(i=c.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(n.__ownerID=i.__ownerID=e.__ownerID)):(n=a.remove(t),i=u===c.size-1?c.pop():c.set(u,void 0))}else if(l){if(r===c.get(u)[1])return e;n=a,i=c.set(u,[t,r])}else n=a.set(t,c.size),i=c.set(c.size,[t,r]);return e.__ownerID?(e.size=n.size,e._map=n,e._list=i,e.__hash=void 0,e.__altered=!0,e):Er(n,i)}Sr.isOrderedMap=de,Sr.prototype[j]=!0,Sr.prototype[n]=Sr.prototype.remove;var xr="@@__IMMUTABLE_STACK__@@";function Ar(e){return Boolean(e&&e[xr])}var Ir=function(e){function t(e){return null==e?Dr():Ar(e)?e:Dr().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("Stack [","]")},t.prototype.get=function(e,t){var r=this._head;for(e=d(this,e);r&&e--;)r=r.next;return r?r.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,r=this._head,n=arguments.length-1;n>=0;n--)r={value:e[n],next:r};return this.__ownerID?(this.size=t,this._head=r,this.__hash=void 0,this.__altered=!0,this):Fr(t,r)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&Ar(t))return t;tt(t.size);var r=this.size,n=this._head;return t.__iterate((function(e){r++,n={value:e,next:n}}),!0),this.__ownerID?(this.size=r,this._head=n,this.__hash=void 0,this.__altered=!0,this):Fr(r,n)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Dr()},t.prototype.slice=function(t,r){if(h(t,r,this.size))return this;var n=f(t,this.size);if(y(r,this.size)!==this.size)return e.prototype.slice.call(this,t,r);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Fr(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Fr(this.size,this._head,e,this.__hash):0===this.size?Dr():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var r=this;if(t)return new te(this.toArray()).__iterate((function(t,n){return e(t,n,r)}),t);for(var n=0,i=this._head;i&&!1!==e(i.value,n++,this);)i=i.next;return n},t.prototype.__iterator=function(e,t){if(t)return new te(this.toArray()).__iterator(e,t);var r=0,n=this._head;return new q((function(){if(n){var t=n.value;return n=n.next,H(e,r++,t)}return{value:void 0,done:!0}}))},t}(A);Ir.isStack=Ar;var Rr,Pr=Ir.prototype;function Fr(e,t,r,n){var i=Object.create(Pr);return i.size=e,i._head=t,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Dr(){return Rr||(Rr=Fr(0))}Pr[xr]=!0,Pr.shift=Pr.pop,Pr.unshift=Pr.push,Pr.unshiftAll=Pr.pushAll,Pr.withMutations=jt,Pr.wasAltered=kt,Pr.asImmutable=Mt,Pr["@@transducer/init"]=Pr.asMutable=Ct,Pr["@@transducer/step"]=function(e,t){return e.unshift(t)},Pr["@@transducer/result"]=function(e){return e.asImmutable()};var Nr="@@__IMMUTABLE_SET__@@";function jr(e){return Boolean(e&&e[Nr])}function Cr(e){return jr(e)&&C(e)}function Mr(e,t){if(e===t)return!0;if(!_(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||w(e)!==w(t)||E(e)!==E(t)||C(e)!==C(t))return!1;if(0===e.size&&0===t.size)return!0;var r=!T(e);if(C(e)){var n=e.entries();return t.every((function(e,t){var i=n.next().value;return i&&he(i[1],e)&&(r||he(i[0],t))}))&&n.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var a=!0,c=t.__iterate((function(t,n){if(r?!e.has(t):i?!he(t,e.get(n,s)):!he(e.get(n,s),t))return a=!1,!1}));return a&&e.size===c}function kr(e,t){var r=function(r){e.prototype[r]=t[r]};return Object.keys(t).forEach(r),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(r),e}function Lr(e){if(!e||"object"!=typeof e)return e;if(!_(e)){if(!ot(e))return e;e=X(e)}if(w(e)){var t={};return e.__iterate((function(e,r){t[r]=Lr(e)})),t}var r=[];return e.__iterate((function(e){r.push(Lr(e))})),r}var Ur=function(e){function t(t){return null==t?$r():jr(t)&&!C(t)?t:$r().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e){return r.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.intersect=function(e){return(e=O(e).toArray()).length?Vr.intersect.apply(t(e.pop()),e):$r()},t.union=function(e){return(e=O(e).toArray()).length?Vr.union.apply(t(e.pop()),e):$r()},t.prototype.toString=function(){return this.__toString("Set {","}")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return qr(this,this._map.set(e,e))},t.prototype.remove=function(e){return qr(this,this._map.remove(e))},t.prototype.clear=function(){return qr(this,this._map.clear())},t.prototype.map=function(e,t){var r=this,n=!1,i=qr(this,this._map.mapEntries((function(i){var o=i[1],a=e.call(t,o,o,r);return a!==o&&(n=!0),[a,a]}),t));return n?i:this},t.prototype.union=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(r){for(var n=0;n=0&&t=0&&r>>-15,461845907),t=fe(t<<13|t>>>-13,5),t=fe((t=t+3864292196^e)^t>>>16,2246822507),t=ye((t=fe(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(r?t?function(e,t){n=31*n+un(me(e),me(t))|0}:function(e,t){n=n+un(me(e),me(t))|0}:t?function(e){n=31*n+me(e)|0}:function(e){n=n+me(e)|0}),n)}(this))}});var Xr=O.prototype;Xr[b]=!0,Xr[V]=Xr.values,Xr.toJSON=Xr.toArray,Xr.__toStringMapper=at,Xr.inspect=Xr.toSource=function(){return this.toString()},Xr.chain=Xr.flatMap,Xr.contains=Xr.includes,kr(x,{flip:function(){return Qe(this,Me(this))},mapEntries:function(e,t){var r=this,n=0;return Qe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],n++,r)})).fromEntrySeq())},mapKeys:function(e,t){var r=this;return Qe(this,this.toSeq().flip().map((function(n,i){return e.call(t,n,i,r)})).flip())}});var Yr=x.prototype;Yr[v]=!0,Yr[V]=Xr.entries,Yr.toJSON=Wr,Yr.__toStringMapper=function(e,t){return at(t)+": "+at(e)},kr(A,{toKeyedSeq:function(){return new De(this,!1)},filter:function(e,t){return Qe(this,Ue(this,e,t,!1))},findIndex:function(e,t){var r=this.findEntry(e,t);return r?r[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Qe(this,Le(this,!1))},slice:function(e,t){return Qe(this,Be(this,e,t,!1))},splice:function(e,t){var r=arguments.length;if(t=Math.max(t||0,0),0===r||2===r&&!t)return this;e=f(e,e<0?this.count():this.size);var n=this.slice(0,e);return Qe(this,1===r?n:n.concat(Ze(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var r=this.findLastEntry(e,t);return r?r[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Qe(this,qe(this,e,!1))},get:function(e,t){return(e=d(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,r){return r===e}),void 0,t)},has:function(e){return(e=d(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function un(e,t){return e^t+2654435769+(e<<6)+(e>>2)}en.has=Xr.includes,en.contains=en.includes,en.keys=en.values,kr(Y,Yr),kr(Z,Zr),kr(ee,en);var ln=function(e){function t(e){return null==e?fn():Cr(e)?e:fn().withMutations((function(t){var r=I(e);tt(r.size),r.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.prototype.toString=function(){return this.__toString("OrderedSet {","}")},t}(Ur);ln.isOrderedSet=Cr;var dn,pn=ln.prototype;function hn(e,t){var r=Object.create(pn);return r.size=e?e.size:0,r._map=e,r.__ownerID=t,r}function fn(){return dn||(dn=hn(Tr()))}pn[j]=!0,pn.zip=Zr.zip,pn.zipWith=Zr.zipWith,pn.zipAll=Zr.zipAll,pn.__empty=fn,pn.__make=hn;var yn={LeftThenRight:-1,RightThenLeft:1},gn=function(e,t){var r;!function(e){if(D(e))throw new Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(N(e))throw new Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===e||"object"!=typeof e)throw new Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(e);var n=function(o){var a=this;if(o instanceof n)return o;if(!(this instanceof n))return new n(o);if(!r){r=!0;var s=Object.keys(e),c=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var u=0;u2?[]:void 0,{"":e})}function On(e,t,r,n,i,o){if("string"!=typeof r&&!N(r)&&(W(r)||G(r)||it(r))){if(~e.indexOf(r))throw new TypeError("Cannot convert circular structure to Immutable");e.push(r),i&&""!==n&&i.push(n);var a=t.call(o,n,X(r).map((function(n,o){return On(e,t,n,o,i,r)})),i&&i.slice());return e.pop(),i&&i.pop(),a}return r}function xn(e,t){return E(t)?t.toList():w(t)?t.toMap():t.toSet()}var An="4.3.7",In=O;const Rn={version:An,Collection:O,Iterable:O,Seq:X,Map:Lt,OrderedMap:Sr,List:cr,Stack:Ir,Set:Ur,OrderedSet:ln,PairSorting:yn,Record:gn,Range:Kr,Repeat:En,is:he,fromJS:Tn,hash:me,isImmutable:N,isCollection:_,isKeyed:w,isIndexed:E,isAssociative:T,isOrdered:C,isValueObject:pe,isPlainObject:it,isSeq:P,isList:sr,isMap:le,isOrderedMap:de,isStack:Ar,isSet:jr,isOrderedSet:Cr,isRecord:D,get:ct,getIn:Qr,has:st,hasIn:Jr,merge:Tt,mergeDeep:xt,mergeWith:Ot,mergeDeepWith:At,remove:lt,removeIn:gt,set:dt,setIn:ft,update:bt,updateIn:pt}},88296:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerPretty=void 0;const n=r(42996),i=r(58859),o=r(65606);class a extends n.Logger{constructor(e){super(),this.level=e.level,this.levelOrdinal=n.Logger.getLevelOrdinal(this.level),this.actors=e.actors}debug(e,t){this.log("debug",a.COLOR_GRAY,e,t)}error(e,t){this.log("error",a.COLOR_RED,e,t)}fatal(e,t){this.log("fatal",a.COLOR_CYAN,e,t)}info(e,t){this.log("info",a.COLOR_GREEN,e,t)}trace(e,t){this.log("trace",a.COLOR_BLUE,e,t)}warn(e,t){this.log("warn",a.COLOR_YELLOW,e,t)}log(e,t,r,s){!(n.Logger.getLevelOrdinal(e)>=this.levelOrdinal)||s&&"actor"in s&&this.actors&&!this.actors[s.actor]||o.stderr.write(a.withColor(`[${(new Date).toISOString()}] ${e.toUpperCase()}: ${r} ${i(s)}\n`,t))}static withColor(e,t){return`${t}${e}${a.COLOR_RESET}`}}t.LoggerPretty=a,a.COLOR_RESET="",a.COLOR_RED="",a.COLOR_GREEN="",a.COLOR_YELLOW="",a.COLOR_BLUE="",a.COLOR_MAGENTA="",a.COLOR_CYAN="",a.COLOR_GRAY=""},76510:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(88296),t)},40932:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerVoid=void 0;const n=r(42996);class i extends n.Logger{debug(){}error(){}fatal(){}info(){}trace(){}warn(){}}t.LoggerVoid=i},11832:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(40932),t)},60004:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorAll=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e)}async mediate(e){const t=[];let r;try{r=this.publish(e)}catch{r=[]}for(const e of r){const r=await e.reply;r.isPassed()&&t.push({actor:e.actor,sideData:r.getSideData()})}return(await Promise.all(t.map((t=>t.actor.runObservable(e,t.sideData)))))[0]}async mediateWith(){throw new Error("Unsupported operation: MediatorAll#mediateWith")}}t.MediatorAll=i},60504:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(60004),t)},6535:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorCombinePipeline=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e)}async mediate(e){let t;try{t=this.publish(e)}catch{return e}if(this.filterFailures){const e=[];for(const r of t)(await r.reply).isPassed()&&e.push(r);t=e}const r=[];if(t=await Promise.all(t.map((async({actor:t,reply:n},i)=>{try{const e=await n,o=e.getOrThrow();return r[i]=e.getSideData(),{actor:t,reply:o}}catch(t){throw new Error(this.constructFailureMessage(e,[t.message]))}}))),this.order){const e=e=>{const t=this.field?e[this.field]:e;if("number"!=typeof t)throw new TypeError("Cannot order elements that are not numbers.");return t};t=t.sort(((t,r)=>("increasing"===this.order?1:-1)*(e(t.reply)-e(r.reply))))}let n=e,i=0;for(const{actor:e}of t)n={...n,...await e.runObservable(n,r[i++])};return n}mediateWith(){throw new Error("Method not supported.")}}t.MediatorCombinePipeline=i},83223:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(6535),t)},1667:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorCombineUnion=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e),this.combiner=this.createCombiner()}async mediate(e){let t;try{t=this.publish(e)}catch{t=[]}if(this.filterFailures){const e=[];for(const r of t)(await r.reply).isPassed()&&e.push(r);t=e}const r=[];await Promise.all(t.map((async({reply:e},t)=>{const n=await e,i=n.getOrThrow();return r[t]=n.getSideData(),i})));const n=await Promise.all(t.map(((t,n)=>t.actor.runObservable(e,r[n]))));return this.combiner(n)}mediateWith(){throw new Error("Method not supported.")}createCombiner(){return e=>{const t={};return t[this.field]={},[{}].concat(e.map((e=>e[this.field]))).forEach((e=>{t[this.field]={...e,...t[this.field]}})),t}}}t.MediatorCombineUnion=i},54560:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(1667),t)},12278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorJoinCoefficientsFixed=void 0;const n=r(90711),i=r(90412);class o extends i.Mediator{constructor(e){super(e)}async mediateWith(e,t){const r=[],o=t.map((({reply:e})=>e)),a=(await Promise.all(o)).map((e=>{if(!e.isFailed())return{value:e.get(),sideData:e.getSideData()};r.push(e.getFailMessage())}));let s=a.map((e=>{if(e)return e.value.iterations*this.cpuWeight+e.value.persistedItems*this.memoryWeight+e.value.blockingItems*this.timeWeight+e.value.requestTime*this.ioWeight}));const c=Math.max(...s.filter((e=>void 0!==e))),u=e.context.get(n.KeysQueryOperation.limitIndicator);u&&(s=s.map(((e,t)=>void 0!==e&&(a[t]?.value).blockingItems>0&&(a[t]?.value).iterations>u?e+c:e)));let l=-1,d=Number.POSITIVE_INFINITY;for(const[e,t]of s.entries())void 0!==t&&(-1===l||t(await e.output.metadata()).variables.map((e=>e.variable.value))))),costs:Object.fromEntries(s.map(((e,r)=>[`${t[r].actor.logicalType}-${t[r].actor.physicalName}`,e])).filter((e=>void 0!==e[1]))),coefficients:Object.fromEntries(a.map(((e,r)=>[`${t[r].actor.logicalType}-${t[r].actor.physicalName}`,e?.value])).filter((e=>void 0!==e[1])))}),(0,i.passTestWithSideData)(p,a[l].sideData)}}t.MediatorJoinCoefficientsFixed=o},47633:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(12278),t)},18202:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorNumber=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e),this.indexPicker=this.createIndexPicker()}createIndexPicker(){switch(this.type){case"min":return e=>e.reduce(((e,t,r)=>{const n=this.getOrDefault(t[this.field],Number.POSITIVE_INFINITY);return null!==n&&(Number.isNaN(e[0])||e[0]>n)?[n,r]:e}),[Number.NaN,-1])[1];case"max":return e=>e.reduce(((e,t,r)=>{const n=this.getOrDefault(t[this.field],Number.NEGATIVE_INFINITY);return null!==n&&(Number.isNaN(e[0])||e[0]e)));const i=[];if(this.ignoreFailures){const e={};e[this.field]=null,r=r.map((t=>t.isFailed()?(i.push(t.getFailMessage()),(0,n.passTestWithSideData)(e,void 0)):t))}const o=[],a=r.map(((e,t)=>{const r=e.getOrThrow();return o[t]=e.getSideData(),r})),s=this.indexPicker(a);return s<0?(0,n.failTest)(this.constructFailureMessage(e,i)):(0,n.passTestWithSideData)(t[s].actor,o[s])}}t.MediatorNumber=i},31588:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(18202),t)},15950:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediatorRace=void 0;const n=r(90412);class i extends n.Mediator{constructor(e){super(e)}mediateWith(e,t){return new Promise(((r,i)=>{const o=[];for(const a of t)a.reply.then((i=>{i.isPassed()?r((0,n.passTestWithSideData)(a.actor,i.getSideData())):(o.push(i.getFailMessage()),o.length===t.length&&r((0,n.failTest)(this.constructFailureMessage(e,o))))})).catch((e=>{i(e)}))}))}}t.MediatorRace=i},12740:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(15950),t)},41388:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22545:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1707:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionType=void 0,function(e){e.Aggregate="aggregate",e.Existence="existence",e.Operator="operator",e.Term="term",e.Variable="variable"}(r||(t.ExpressionType=r={}))},65358:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},17169:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},53846:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},19383:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},85947:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46671:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},10766:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},63599:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},57755:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},80220:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6841:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9243:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},51690:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},90602:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=void 0;class r{static getLevelOrdinal(e){return r.LEVELS[e]}}t.Logger=r,r.LEVELS={trace:0,debug:1,info:2,warn:3,error:4,fatal:5}},42996:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41388),t),i(r(22545),t),i(r(65358),t),i(r(17169),t),i(r(53846),t),i(r(19383),t),i(r(85947),t),i(r(10766),t),i(r(63599),t),i(r(57755),t),i(r(80220),t),i(r(6841),t),i(r(9243),t),i(r(51690),t),i(r(39614),t),i(r(88680),t),i(r(46671),t),i(r(90602),t),i(r(1707),t)},88680:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},39614:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},16994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Bindings=void 0;const n=r(90412),i=r(49568),o=r(18594);class a{constructor(e,t,r){this.type="bindings",this.dataFactory=e,this.entries=t,this.contextHolder=r}has(e){return this.entries.has("string"==typeof e?e:e.value)}get(e){return this.entries.get("string"==typeof e?e:e.value)}set(e,t){return new a(this.dataFactory,this.entries.set("string"==typeof e?e:e.value,t),this.contextHolder)}delete(e){return new a(this.dataFactory,this.entries.delete("string"==typeof e?e:e.value),this.contextHolder)}keys(){return this.mapIterable(this.iteratorToIterable(this.entries.keys()),(e=>this.dataFactory.variable(e)))}values(){return this.iteratorToIterable(this.entries.values())}forEach(e){for(const[t,r]of this.entries.entries())e(r,this.dataFactory.variable(t))}get size(){return this.entries.size}[Symbol.iterator](){return this.mapIterable(this.iteratorToIterable(this.entries.entries()),(([e,t])=>[this.dataFactory.variable(e),t]))[Symbol.iterator]()}equals(e){if(!e)return!1;if(this===e)return!0;if(this.size!==e.size)return!1;for(const t of this.keys())if(!this.get(t)?.equals(e.get(t)))return!1;return!0}filter(e){return new a(this.dataFactory,(0,i.Map)(this.entries.filter(((t,r)=>e(t,this.dataFactory.variable(r))))),this.contextHolder)}map(e){return new a(this.dataFactory,(0,i.Map)(this.entries.map(((t,r)=>e(t,this.dataFactory.variable(r))))),this.contextHolder)}merge(e){if(this.sizee.name))),c=t.keys().filter((e=>s.has(e.name)));for(const n of i){if(1===a[n.name])continue;a[n.name]=1;const i=c.some((e=>e.name===n.name));e[n.name]&&i?o[n.name]=e[n.name].run(t.get(n),r.get(n)):!e[n.name]&&i||(t.get(n)?r.get(n)||(o[n.name]=t.get(n)):o[n.name]=r.get(n))}return new n.ActionContext(o)}setContextEntry(e,t){return this.setContextEntryRaw(e,t)}setContextEntryRaw(e,t){return this.contextHolder&&this.contextHolder.context?new a(this.dataFactory,this.entries,{contextMergeHandlers:this.contextHolder.contextMergeHandlers,context:this.contextHolder.context.set(e,t)}):new a(this.dataFactory,this.entries,{contextMergeHandlers:this.contextHolder?.contextMergeHandlers??{},context:(new n.ActionContext).set(e,t)})}deleteContextEntry(e){return this.deleteContextEntryRaw(e)}deleteContextEntryRaw(e){return this.contextHolder?new a(this.dataFactory,this.entries,{contextMergeHandlers:this.contextHolder.contextMergeHandlers,context:this.contextHolder.context?.delete(e)}):new a(this.dataFactory,this.entries)}getContext(){return this.contextHolder?.context}getContextEntry(e){return this.getContext()?.get(e)}toString(){return(0,o.bindingsToString)(this)}*mapIterable(e,t){for(const r of e)yield t(r)}iteratorToIterable(e){return{[Symbol.iterator]:()=>e}}}t.Bindings=a},2922:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsFactory=void 0;const n=r(49568),i=r(16994);class o{constructor(e,t){this.dataFactory=e,this.contextMergeHandlers=t}static async create(e,t,r){return new o(r,(await e.mediate({context:t})).mergeHandlers)}bindings(e=[]){return new i.Bindings(this.dataFactory,(0,n.Map)(e.map((([e,t])=>[e.value,t]))),this.contextMergeHandlers?{contextMergeHandlers:this.contextMergeHandlers}:void 0)}fromBindings(e){return this.bindings([...e])}fromRecord(e){return this.bindings(Object.entries(e).map((([e,t])=>[this.dataFactory.variable(e),t])))}}t.BindingsFactory=o},18594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bindingsToCompactString=t.bindingsToString=void 0;const n=r(43347);t.bindingsToString=function(e){const t={};for(const r of e.keys())t[r.value]=(0,n.termToString)(e.get(r));return JSON.stringify(t,null," ")},t.bindingsToCompactString=function(e,t){return t.map((t=>{const r=e.get(t);return r?(0,n.termToString)(r):""})).join("")}},81926:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(16994),t),i(r(2922),t),i(r(18594),t)},4519:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsIndexDef=void 0,t.BindingsIndexDef=class{constructor(e,t){this.keys=e.map((e=>e.variable)),this.hashFn=t,this.index={}}put(e,t){return this.index[this.hashFn(e,this.keys)]=t}get(e){const t=this.getFirst(e);return t?[t]:[]}getFirst(e){return this.index[this.hashFn(e,this.keys)]}values(){return Object.values(this.index)}}},30862:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindingsIndexUndef=void 0,t.BindingsIndexUndef=class{constructor(e,t,r){this.data={},this.keys=e.map((e=>e.variable)),this.hashFn=t,this.allowDisjointDomains=r&&this.keys.length>0}put(e,t){if(this.allowDisjointDomains||this.isBindingsValid(e)){let r=this.data;for(let n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},18888:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4519),t),i(r(30862),t),i(r(73833),t)},11752:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNodeBindingsScoped=void 0,t.BlankNodeBindingsScoped=class{constructor(e){this.termType="BlankNode",this.singleBindingsScope=!0,this.value=e}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}},4450:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNodeScoped=void 0,t.BlankNodeScoped=class{constructor(e,t){this.termType="BlankNode",this.value=e,this.skolemized=t}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}},51296:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(4450),t),i(r(11752),t)},80722:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Aggregate=void 0;const n=r(42996);t.Aggregate=class{constructor(e,t){this.name=e,this.expression=t,this.expressionType=n.ExpressionType.Aggregate}}},61013:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Existence=void 0;const n=r(42996);t.Existence=class{constructor(e){this.expression=e,this.expressionType=n.ExpressionType.Existence}}},79434:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.asTermType=void 0,t.asTermType=function(e){if("namedNode"===e||"literal"===e||"blankNode"===e||"quad"===e)return e}},54853:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Operator=void 0;const n=r(42996);t.Operator=class{constructor(e,t,r){this.name=e,this.args=t,this.apply=r,this.expressionType=n.ExpressionType.Operator}}},81791:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNonLexicalLiteral=t.NonLexicalLiteral=t.YearMonthDurationLiteral=t.DayTimeDurationLiteral=t.DurationLiteral=t.DateLiteral=t.TimeLiteral=t.DateTimeLiteral=t.StringLiteral=t.LangStringLiteral=t.BooleanLiteral=t.DoubleLiteral=t.FloatLiteral=t.DecimalLiteral=t.IntegerLiteral=t.NumericLiteral=t.Literal=t.isLiteralTermExpression=t.DefaultGraph=t.Quad=t.BlankNode=t.NamedNode=t.Term=void 0;const n=r(42996),i=r(64900),o=r(64900),a=r(98575),s=r(72374),c=r(86273);class u{constructor(){this.expressionType=n.ExpressionType.Term}str(){throw new a.InvalidArgumentTypes([this],i.SparqlOperator.STR)}coerceEBV(){throw new a.EBVCoercionError(this)}}t.Term=u,t.NamedNode=class extends u{constructor(e){super(),this.value=e,this.termType="namedNode"}toRDF(e){return e.namedNode(this.value)}str(){return this.value}},t.BlankNode=class extends u{constructor(e){super(),this.termType="blankNode",this.value=e}toRDF(e){return"string"==typeof this.value?e.blankNode(this.value):this.value}},t.Quad=class extends u{constructor(e,t,r,n){super(),this.subject=e,this.predicate=t,this.object=r,this.graph=n,this.termType="quad"}toRDF(e){return e.quad(this.subject.toRDF(e),this.predicate.toRDF(e),this.object.toRDF(e),this.graph.toRDF(e))}str(){return`Quad: [${this.subject.str()}, ${this.predicate.str()}, ${this.object.str()}, ${this.graph.str()}]`}},t.DefaultGraph=class extends u{constructor(){super(),this.termType="defaultGraph"}toRDF(e){return e.defaultGraph()}str(){return"DefaultGraph"}},t.isLiteralTermExpression=function(e){if("literal"===e.termType)return e};class l extends u{constructor(e,t,r,n){super(),this.typedValue=e,this.dataType=t,this.strValue=r,this.language=n,this.termType="literal"}toRDF(e){return e.literal(this.strValue??this.str(),this.language??e.namedNode(this.dataType))}str(){return this.strValue??this.typedValue.toString()}}t.Literal=l;class d extends l{constructor(e,t,r,n){super(e,t,r,n),this.typedValue=e,this.strValue=r,this.language=n}coerceEBV(){return Boolean(this.typedValue)}toRDF(e){const t=super.toRDF(e);return Number.isFinite(this.typedValue)||(t.value=t.value.replace("Infinity","INF")),t}str(){return this.strValue??this.specificFormatter(this.typedValue)}}t.NumericLiteral=d,t.IntegerLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_INTEGER,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){return e.toFixed(0)}},t.DecimalLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_DECIMAL,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){return e.toString()}},t.FloatLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_FLOAT,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){return e.toString()}},t.DoubleLiteral=class extends d{constructor(e,t,r,n){super(e,t??o.TypeURL.XSD_DOUBLE,r,n),this.typedValue=e,this.strValue=r,this.language=n}specificFormatter(e){if(!Number.isFinite(e))return e>0?"INF":e<0?"-INF":"NaN";const t=e.toExponential(),[r,n]=t.split("e"),i=n.replace(/\+/u,"");return`${r.includes(".")?r:`${r}.0`}E${i}`}},t.BooleanLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_BOOLEAN,t),this.typedValue=e,this.strValue=t}coerceEBV(){return this.typedValue}},t.LangStringLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.RDF_LANG_STRING,e,t),this.typedValue=e,this.language=t}coerceEBV(){return this.str().length>0}},t.StringLiteral=class extends l{constructor(e,t){super(e,t??o.TypeURL.XSD_STRING,e),this.typedValue=e}coerceEBV(){return this.str().length>0}},t.DateTimeLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_DATE_TIME,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDateTime)(this.typedValue)}},t.TimeLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_TIME,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeTime)(this.typedValue)}},t.DateLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_DATE,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDate)(this.typedValue)}};class p extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_DURATION,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDuration)(this.typedValue)}}t.DurationLiteral=p,t.DayTimeDurationLiteral=class extends p{constructor(e,t,r){super(e,t,r??o.TypeURL.XSD_DAY_TIME_DURATION),this.typedValue=e,this.strValue=t}},t.YearMonthDurationLiteral=class extends l{constructor(e,t,r){super(e,r??o.TypeURL.XSD_YEAR_MONTH_DURATION,t),this.typedValue=e,this.strValue=t}str(){return(0,s.serializeDuration)(this.typedValue,"P0M")}};class h extends l{constructor(e,t,r,n,i){super({toString:()=>"undefined"},t,n,i),this.openWorldType=r}coerceEBV(){if((0,c.isSubTypeOf)(this.dataType,o.TypeURL.XSD_BOOLEAN,this.openWorldType)||(0,c.isSubTypeOf)(this.dataType,o.TypeAlias.SPARQL_NUMERIC,this.openWorldType))return!1;throw new a.EBVCoercionError(this)}toRDF(e){return e.literal(this.str(),this.language??e.namedNode(this.dataType))}str(){return this.strValue??""}}t.NonLexicalLiteral=h,t.isNonLexicalLiteral=function(e){if(e instanceof h)return e}},33369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0;const n=r(42996);t.Variable=class{constructor(e){this.expressionType=n.ExpressionType.Variable,this.name=e}}},54833:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(79434),t),i(r(33369),t),i(r(81791),t),i(r(54853),t),i(r(80722),t),i(r(61013),t)},97618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.expressionToVar=t.dateTime=t.langString=t.string=t.double=t.float=t.decimal=t.integer=t.bool=t.Builder=t.declare=void 0;const n=r(90711),i=r(54833),o=r(54833),a=r(64900),s=r(64900),c=r(98575),u=r(34641);t.declare=function(e){return new l(e)};class l{constructor(e){this.overloadTree=new u.OverloadTree(e),this.collected=!1}collect(){if(this.collected)throw new Error("Builders can only be collected once!");return this.collected=!0,this.overloadTree}static wrapInvalidLexicalProtected(e){return t=>r=>{for(const[e,i]of r.entries())if(i instanceof o.NonLexicalLiteral)throw new c.InvalidLexicalForm(r[e].toRDF(t.context.getSafe(n.KeysInitQuery.dataFactory)));return e(t)(r)}}set(e,t,r=!0){return this.overloadTree.addOverload(e,r?l.wrapInvalidLexicalProtected(t):t),this}copy({from:e,to:t}){const r=this.overloadTree.getImplementationExact(e);if(!r)throw new c.UnexpectedError("Tried to copy implementation, but types not found",{from:e,to:t});return this.set(t,r)}onUnary(e,t,r=!0){return this.set([e],(e=>([r])=>t(e)(r)),r)}onUnaryTyped(e,t,r=!0){return this.set([e],(e=>([r])=>t(e)(r.typedValue)),r)}onBinary(e,t,r=!0){return this.set(e,(e=>([r,n])=>t(e)(r,n)),r)}onBinaryTyped(e,t,r=!0){return this.set(e,(e=>([r,n])=>t(e)(r.typedValue,n.typedValue)),r)}onTernaryTyped(e,t,r=!0){return this.set(e,(e=>([r,n,i])=>t(e)(r.typedValue,n.typedValue,i.typedValue)),r)}onTernary(e,t,r=!0){return this.set(e,(e=>([r,n,i])=>t(e)(r,n,i)),r)}onQuaternaryTyped(e,t,r=!0){return this.set(e,(e=>([r,n,i,o])=>t(e)(r.typedValue,n.typedValue,i.typedValue,o.typedValue)),r)}onTerm1(e,t=!1){return this.set(["term"],(t=>([r])=>e(t)(r)),t)}onTerm3(e){return this.set(["term","term","term"],(t=>([r,n,i])=>e(t)(r,n,i)))}onQuad1(e){return this.set(["quad"],(t=>([r])=>e(t)(r)))}onLiteral1(e,t=!0){return this.set(["literal"],(t=>([r])=>e(t)(r)),t)}onBoolean1(e,t=!0){return this.set([a.TypeURL.XSD_BOOLEAN],(t=>([r])=>e(t)(r)),t)}onBoolean1Typed(e,t=!0){return this.set([a.TypeURL.XSD_BOOLEAN],(t=>([r])=>e(t)(r.typedValue)),t)}onString1(e,t=!0){return this.set([a.TypeURL.XSD_STRING],(t=>([r])=>e(t)(r)),t)}onString1Typed(e,t=!0){return this.set([a.TypeURL.XSD_STRING],(t=>([r])=>e(t)(r.typedValue)),t)}onLangString1(e,t=!0){return this.set([a.TypeURL.RDF_LANG_STRING],(t=>([r])=>e(t)(r)),t)}onStringly1(e,t=!0){return this.set([a.TypeAlias.SPARQL_STRINGLY],(t=>([r])=>e(t)(r)),t)}onStringly1Typed(e,t=!0){return this.set([a.TypeAlias.SPARQL_STRINGLY],(t=>([r])=>e(t)(r.typedValue)),t)}onNumeric1(e,t=!0){return this.set([a.TypeAlias.SPARQL_NUMERIC],(t=>([r])=>e(t)(r)),t)}onDateTime1(e,t=!0){return this.set([a.TypeURL.XSD_DATE_TIME],(t=>([r])=>e(t)(r)),t)}numericConverter(e,t=!0){const r=t=>r=>e(t)(r.typedValue);return this.onUnary(s.TypeURL.XSD_INTEGER,(e=>t=>p(r(e)(t))),t).onUnary(s.TypeURL.XSD_DECIMAL,(e=>t=>h(r(e)(t))),t).onUnary(s.TypeURL.XSD_FLOAT,(e=>t=>f(r(e)(t))),t).onUnary(s.TypeURL.XSD_DOUBLE,(e=>t=>y(r(e)(t))),t)}arithmetic(e,t=!0){const r=t=>(r,n)=>e(t)(r.typedValue,n.typedValue);return this.onBinary([s.TypeURL.XSD_INTEGER,s.TypeURL.XSD_INTEGER],(e=>(t,n)=>p(r(e)(t,n))),t).onBinary([s.TypeURL.XSD_DECIMAL,s.TypeURL.XSD_DECIMAL],(e=>(t,n)=>h(r(e)(t,n))),t).onBinary([s.TypeURL.XSD_FLOAT,s.TypeURL.XSD_FLOAT],(e=>(t,n)=>f(r(e)(t,n))),t).onBinary([s.TypeURL.XSD_DOUBLE,s.TypeURL.XSD_DOUBLE],(e=>(t,n)=>y(r(e)(t,n))),t)}numberTest(e){return this.numeric((t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))))}stringTest(e,t=!0){return this.set([a.TypeURL.XSD_STRING,a.TypeURL.XSD_STRING],(t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))),t)}booleanTest(e,t=!0){return this.set([a.TypeURL.XSD_BOOLEAN,a.TypeURL.XSD_BOOLEAN],(t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))),t)}dateTimeTest(e,t=!0){return this.set([a.TypeURL.XSD_DATE_TIME,a.TypeURL.XSD_DATE_TIME],(t=>([r,n])=>d(e(t)(r.typedValue,n.typedValue))),t)}numeric(e){return this.set([a.TypeAlias.SPARQL_NUMERIC,a.TypeAlias.SPARQL_NUMERIC],e)}}function d(e){return new i.BooleanLiteral(e)}function p(e){return new i.IntegerLiteral(e)}function h(e){return new i.DecimalLiteral(e)}function f(e){return new i.FloatLiteral(e)}function y(e){return new i.DoubleLiteral(e)}t.Builder=l,t.bool=d,t.integer=p,t.decimal=h,t.float=f,t.double=y,t.string=function(e){return new i.StringLiteral(e)},t.langString=function(e,t){return new i.LangStringLiteral(e,t)},t.dateTime=function(e,t){return new i.DateTimeLiteral(e,t)},t.expressionToVar=function(e,t){return e.variable(t.name.slice(1))}},34641:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverloadTree=void 0;const n=r(54833),i=r(86273);class o{constructor(e,t){this.identifier=e,this.implementation=void 0,this.generalOverloads=Object.create(null),this.literalOverLoads=[],this.depth=t??0,this.promotionCount=void 0}getSubtree(e){const t=(0,i.asGeneralType)(e);if(t)return this.generalOverloads[t];for(const[t,r]of this.literalOverLoads)if(e===t)return r}getImplementationExact(e){let t=this;for(const r of e)if(t=t.getSubtree(r),!t)return;return t.implementation}search(e,t,r){let i=r[this.identifier],o=0;for(;o({node:e,index:1}))));a.length>0;){const{index:n,node:i}=a.pop();if(n===e.length&&i.implementation)return this.addToCache(r,e,i.implementation),i.implementation;a.push(...i.getSubTreeWithArg(e[n],t).map((e=>({node:e,index:n+1}))))}}addToCache(e,t,r){function i(e,t){return t in e||(e[t]={}),e[t]}let o=i(e,this.identifier);for(const e of t){const t=(0,n.isLiteralTermExpression)(e),r=t?t.dataType:e.termType;o.cache=o.cache??{},o=i(o.cache,r)}o.func=r}addOverload(e,t){this._addOverload([...e],t,0)}_addOverload(e,t,r){const[n,...a]=e;if(!n)return void((void 0===this.promotionCount||r<=this.promotionCount)&&(this.promotionCount=r,this.implementation=t));let s=this.getSubtree(n);if(!s){const e=new o(this.identifier,this.depth+1),t=(0,i.asGeneralType)(n);t&&(this.generalOverloads[t]=e);const r=(0,i.asOverrideType)(n);r&&this.literalOverLoads.push([r,e]),s=e}if(s._addOverload(a,t,r),i.typePromotion[n])for(const e of i.typePromotion[n])this.addPromotedOverload(e.typeToPromote,t,e.conversionFunction,a,r)}addPromotedOverload(e,t,r,n,i){let a=this.getSubtree(e);if(!a){const t=new o(this.identifier,this.depth+1);this.literalOverLoads.push([e,t]),a=t}a._addOverload(n,(e=>n=>t(e)([...n.slice(0,this.depth),r(n[this.depth]),...n.slice(this.depth+1,n.length)])),i+1)}getSubTreeWithArg(e,t){const r=[],o=(0,n.isLiteralTermExpression)(e);if(this.generalOverloads.term&&r.push(this.generalOverloads.term),this.generalOverloads[e.termType]&&r.push(this.generalOverloads[e.termType]),o){const e=(0,i.asKnownLiteralType)(o.dataType);let n;n=e?i.superTypeDictTable[e]:(0,i.getSuperTypes)(o.dataType,t);const a=this.literalOverLoads.filter((([e,t])=>e in n)).map((([e,t])=>[n[e],t]));a.sort((([e,t],[r,n])=>e-r)),r.push(...a.map((([e,t])=>t)))}return r}}t.OverloadTree=o},77545:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LangStringLiteral=t.TimeLiteral=t.DurationLiteral=t.DateLiteral=t.DayTimeDurationLiteral=t.DateTimeLiteral=t.yearMonthDurationsToMonths=t.toUTCDate=t.toDateTimeRepresentation=t.negateDuration=t.extractRawTimeZone=t.defaultedYearMonthDurationRepresentation=t.defaultedDurationRepresentation=t.defaultedDayTimeDurationRepresentation=t.defaultedDateTimeRepresentation=t.dayTimeDurationsToSeconds=t.isSubTypeOf=t.SparqlOperator=t.TypeAlias=t.TypeURL=t.typedLiteral=t.InvalidArity=t.InvalidLexicalForm=t.ExtensionFunctionError=t.CastError=t.UnboundVariableError=t.NoAggregator=t.InError=t.CoalesceError=t.InvalidArgumentTypes=t.InvalidTimezoneCall=t.IncompatibleLanguageOperation=t.RDFEqualTypeError=t.EmptyAggregateError=t.isExpressionError=t.ExpressionError=t.Builder=t.expressionToVar=t.float=t.decimal=t.langString=t.dateTime=t.integer=t.double=t.string=t.bool=t.declare=t.prepareEvaluatorActionContext=t.OverloadTree=t.TermTransformer=void 0,t.trimToDayTimeDuration=t.trimToYearMonthDuration=t.parseDate=t.parseXSDFloat=t.parseXSDDecimal=t.parseYearMonthDuration=t.parseTime=t.parseDuration=t.parseDayTimeDuration=t.parseDateTime=t.elapsedDuration=t.addDurationToDateTime=t.isNonLexicalLiteral=t.StringLiteral=t.NonLexicalLiteral=t.FloatLiteral=t.IntegerLiteral=t.Literal=t.Existence=t.Aggregate=t.DoubleLiteral=t.DefaultGraph=t.DecimalLiteral=t.BlankNode=t.BooleanLiteral=t.NumericLiteral=t.Variable=t.NamedNode=t.Operator=t.Quad=t.YearMonthDurationLiteral=t.Term=void 0;var n=r(53119);Object.defineProperty(t,"TermTransformer",{enumerable:!0,get:function(){return n.TermTransformer}});var i=r(34641);Object.defineProperty(t,"OverloadTree",{enumerable:!0,get:function(){return i.OverloadTree}});var o=r(17845);Object.defineProperty(t,"prepareEvaluatorActionContext",{enumerable:!0,get:function(){return o.prepareEvaluatorActionContext}});var a=r(97618);Object.defineProperty(t,"declare",{enumerable:!0,get:function(){return a.declare}}),Object.defineProperty(t,"bool",{enumerable:!0,get:function(){return a.bool}}),Object.defineProperty(t,"string",{enumerable:!0,get:function(){return a.string}}),Object.defineProperty(t,"double",{enumerable:!0,get:function(){return a.double}}),Object.defineProperty(t,"integer",{enumerable:!0,get:function(){return a.integer}}),Object.defineProperty(t,"dateTime",{enumerable:!0,get:function(){return a.dateTime}}),Object.defineProperty(t,"langString",{enumerable:!0,get:function(){return a.langString}}),Object.defineProperty(t,"decimal",{enumerable:!0,get:function(){return a.decimal}}),Object.defineProperty(t,"float",{enumerable:!0,get:function(){return a.float}}),Object.defineProperty(t,"expressionToVar",{enumerable:!0,get:function(){return a.expressionToVar}}),Object.defineProperty(t,"Builder",{enumerable:!0,get:function(){return a.Builder}});var s=r(98575);Object.defineProperty(t,"ExpressionError",{enumerable:!0,get:function(){return s.ExpressionError}}),Object.defineProperty(t,"isExpressionError",{enumerable:!0,get:function(){return s.isExpressionError}}),Object.defineProperty(t,"EmptyAggregateError",{enumerable:!0,get:function(){return s.EmptyAggregateError}}),Object.defineProperty(t,"RDFEqualTypeError",{enumerable:!0,get:function(){return s.RDFEqualTypeError}}),Object.defineProperty(t,"IncompatibleLanguageOperation",{enumerable:!0,get:function(){return s.IncompatibleLanguageOperation}}),Object.defineProperty(t,"InvalidTimezoneCall",{enumerable:!0,get:function(){return s.InvalidTimezoneCall}}),Object.defineProperty(t,"InvalidArgumentTypes",{enumerable:!0,get:function(){return s.InvalidArgumentTypes}}),Object.defineProperty(t,"CoalesceError",{enumerable:!0,get:function(){return s.CoalesceError}}),Object.defineProperty(t,"InError",{enumerable:!0,get:function(){return s.InError}}),Object.defineProperty(t,"NoAggregator",{enumerable:!0,get:function(){return s.NoAggregator}}),Object.defineProperty(t,"UnboundVariableError",{enumerable:!0,get:function(){return s.UnboundVariableError}}),Object.defineProperty(t,"CastError",{enumerable:!0,get:function(){return s.CastError}}),Object.defineProperty(t,"ExtensionFunctionError",{enumerable:!0,get:function(){return s.ExtensionFunctionError}}),Object.defineProperty(t,"InvalidLexicalForm",{enumerable:!0,get:function(){return s.InvalidLexicalForm}}),Object.defineProperty(t,"InvalidArity",{enumerable:!0,get:function(){return s.InvalidArity}});var c=r(64900);Object.defineProperty(t,"typedLiteral",{enumerable:!0,get:function(){return c.typedLiteral}}),Object.defineProperty(t,"TypeURL",{enumerable:!0,get:function(){return c.TypeURL}}),Object.defineProperty(t,"TypeAlias",{enumerable:!0,get:function(){return c.TypeAlias}}),Object.defineProperty(t,"SparqlOperator",{enumerable:!0,get:function(){return c.SparqlOperator}});var u=r(86273);Object.defineProperty(t,"isSubTypeOf",{enumerable:!0,get:function(){return u.isSubTypeOf}});var l=r(31296);Object.defineProperty(t,"dayTimeDurationsToSeconds",{enumerable:!0,get:function(){return l.dayTimeDurationsToSeconds}}),Object.defineProperty(t,"defaultedDateTimeRepresentation",{enumerable:!0,get:function(){return l.defaultedDateTimeRepresentation}}),Object.defineProperty(t,"defaultedDayTimeDurationRepresentation",{enumerable:!0,get:function(){return l.defaultedDayTimeDurationRepresentation}}),Object.defineProperty(t,"defaultedDurationRepresentation",{enumerable:!0,get:function(){return l.defaultedDurationRepresentation}}),Object.defineProperty(t,"defaultedYearMonthDurationRepresentation",{enumerable:!0,get:function(){return l.defaultedYearMonthDurationRepresentation}}),Object.defineProperty(t,"extractRawTimeZone",{enumerable:!0,get:function(){return l.extractRawTimeZone}}),Object.defineProperty(t,"negateDuration",{enumerable:!0,get:function(){return l.negateDuration}}),Object.defineProperty(t,"toDateTimeRepresentation",{enumerable:!0,get:function(){return l.toDateTimeRepresentation}}),Object.defineProperty(t,"toUTCDate",{enumerable:!0,get:function(){return l.toUTCDate}}),Object.defineProperty(t,"yearMonthDurationsToMonths",{enumerable:!0,get:function(){return l.yearMonthDurationsToMonths}});var d=r(54833);Object.defineProperty(t,"DateTimeLiteral",{enumerable:!0,get:function(){return d.DateTimeLiteral}}),Object.defineProperty(t,"DayTimeDurationLiteral",{enumerable:!0,get:function(){return d.DayTimeDurationLiteral}}),Object.defineProperty(t,"DateLiteral",{enumerable:!0,get:function(){return d.DateLiteral}}),Object.defineProperty(t,"DurationLiteral",{enumerable:!0,get:function(){return d.DurationLiteral}}),Object.defineProperty(t,"TimeLiteral",{enumerable:!0,get:function(){return d.TimeLiteral}}),Object.defineProperty(t,"LangStringLiteral",{enumerable:!0,get:function(){return d.LangStringLiteral}}),Object.defineProperty(t,"Term",{enumerable:!0,get:function(){return d.Term}}),Object.defineProperty(t,"YearMonthDurationLiteral",{enumerable:!0,get:function(){return d.YearMonthDurationLiteral}}),Object.defineProperty(t,"Quad",{enumerable:!0,get:function(){return d.Quad}}),Object.defineProperty(t,"Operator",{enumerable:!0,get:function(){return d.Operator}}),Object.defineProperty(t,"NamedNode",{enumerable:!0,get:function(){return d.NamedNode}}),Object.defineProperty(t,"Variable",{enumerable:!0,get:function(){return d.Variable}}),Object.defineProperty(t,"NumericLiteral",{enumerable:!0,get:function(){return d.NumericLiteral}}),Object.defineProperty(t,"BooleanLiteral",{enumerable:!0,get:function(){return d.BooleanLiteral}}),Object.defineProperty(t,"BlankNode",{enumerable:!0,get:function(){return d.BlankNode}}),Object.defineProperty(t,"DecimalLiteral",{enumerable:!0,get:function(){return d.DecimalLiteral}}),Object.defineProperty(t,"DefaultGraph",{enumerable:!0,get:function(){return d.DefaultGraph}}),Object.defineProperty(t,"DoubleLiteral",{enumerable:!0,get:function(){return d.DoubleLiteral}}),Object.defineProperty(t,"Aggregate",{enumerable:!0,get:function(){return d.Aggregate}}),Object.defineProperty(t,"Existence",{enumerable:!0,get:function(){return d.Existence}}),Object.defineProperty(t,"Literal",{enumerable:!0,get:function(){return d.Literal}}),Object.defineProperty(t,"IntegerLiteral",{enumerable:!0,get:function(){return d.IntegerLiteral}}),Object.defineProperty(t,"FloatLiteral",{enumerable:!0,get:function(){return d.FloatLiteral}}),Object.defineProperty(t,"NonLexicalLiteral",{enumerable:!0,get:function(){return d.NonLexicalLiteral}}),Object.defineProperty(t,"StringLiteral",{enumerable:!0,get:function(){return d.StringLiteral}}),Object.defineProperty(t,"isNonLexicalLiteral",{enumerable:!0,get:function(){return d.isNonLexicalLiteral}});var p=r(84427);Object.defineProperty(t,"addDurationToDateTime",{enumerable:!0,get:function(){return p.addDurationToDateTime}}),Object.defineProperty(t,"elapsedDuration",{enumerable:!0,get:function(){return p.elapsedDuration}});var h=r(29658);Object.defineProperty(t,"parseDateTime",{enumerable:!0,get:function(){return h.parseDateTime}}),Object.defineProperty(t,"parseDayTimeDuration",{enumerable:!0,get:function(){return h.parseDayTimeDuration}}),Object.defineProperty(t,"parseDuration",{enumerable:!0,get:function(){return h.parseDuration}}),Object.defineProperty(t,"parseTime",{enumerable:!0,get:function(){return h.parseTime}}),Object.defineProperty(t,"parseYearMonthDuration",{enumerable:!0,get:function(){return h.parseYearMonthDuration}}),Object.defineProperty(t,"parseXSDDecimal",{enumerable:!0,get:function(){return h.parseXSDDecimal}}),Object.defineProperty(t,"parseXSDFloat",{enumerable:!0,get:function(){return h.parseXSDFloat}}),Object.defineProperty(t,"parseDate",{enumerable:!0,get:function(){return h.parseDate}});var f=r(31296);Object.defineProperty(t,"trimToYearMonthDuration",{enumerable:!0,get:function(){return f.trimToYearMonthDuration}}),Object.defineProperty(t,"trimToDayTimeDuration",{enumerable:!0,get:function(){return f.trimToDayTimeDuration}})},53119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermTransformer=void 0;const n=r(43347),i=r(96331),o=r(54833),a=r(64900),s=r(98575),c=r(98575),u=r(29658),l=r(29658),d=r(86273);t.TermTransformer=class{constructor(e){this.superTypeProvider=e}transformRDFTermUnsafe(e){return this.transformTerm({term:e,type:i.Algebra.types.EXPRESSION,expressionType:i.Algebra.expressionTypes.TERM})}transformTerm(e){if(!e.term)throw new s.InvalidExpression(e);switch(e.term.termType){case"Variable":return new o.Variable(n.termToString(e.term));case"Literal":return this.transformLiteral(e.term);case"NamedNode":return new o.NamedNode(e.term.value);case"BlankNode":return new o.BlankNode(e.term.value);case"Quad":return new o.Quad(this.transformRDFTermUnsafe(e.term.subject),this.transformRDFTermUnsafe(e.term.predicate),this.transformRDFTermUnsafe(e.term.object),this.transformRDFTermUnsafe(e.term.graph));case"DefaultGraph":return new o.DefaultGraph}}transformLiteral(e){if(!e.datatype||[null,void 0,""].includes(e.datatype.value))return e.language?new o.LangStringLiteral(e.value,e.language):new o.StringLiteral(e.value);const t=e.datatype.value,r=(0,d.getSuperTypeDict)(t,this.superTypeProvider);try{if(a.TypeURL.XSD_STRING in r)return new o.StringLiteral(e.value,t);if(a.TypeURL.RDF_LANG_STRING in r)return new o.LangStringLiteral(e.value,e.language);if(a.TypeURL.XSD_YEAR_MONTH_DURATION in r)return new o.YearMonthDurationLiteral((0,u.parseYearMonthDuration)(e.value),e.value,t);if(a.TypeURL.XSD_DAY_TIME_DURATION in r)return new o.DayTimeDurationLiteral((0,u.parseDayTimeDuration)(e.value),e.value,t);if(a.TypeURL.XSD_DURATION in r)return new o.DurationLiteral((0,u.parseDuration)(e.value),e.value,t);if(a.TypeURL.XSD_DATE_TIME in r){const r=new Date(e.value);return Number.isNaN(r.getTime())?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):new o.DateTimeLiteral((0,u.parseDateTime)(e.value),e.value,t)}if(a.TypeURL.XSD_DATE in r)return new o.DateLiteral((0,u.parseDate)(e.value),e.value,t);if(a.TypeURL.XSD_TIME in r)return new o.TimeLiteral((0,u.parseTime)(e.value),e.value,t);if(a.TypeURL.XSD_BOOLEAN in r)return"true"!==e.value&&"false"!==e.value&&"1"!==e.value&&"0"!==e.value?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):new o.BooleanLiteral("true"===e.value||"1"===e.value,e.value);if(a.TypeURL.XSD_DECIMAL in r){const n=l.parseXSDDecimal(e.value);return void 0===n?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):a.TypeURL.XSD_INTEGER in r?new o.IntegerLiteral(n,t,e.value):new o.DecimalLiteral(n,t,e.value)}const n=a.TypeURL.XSD_FLOAT in r,i=a.TypeURL.XSD_DOUBLE in r;if(n||i){const r=l.parseXSDFloat(e.value);return void 0===r?new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value):n?new o.FloatLiteral(r,t,e.value):new o.DoubleLiteral(r,t,e.value)}return new o.Literal(e.value,t,e.value)}catch(r){if((0,c.isExpressionError)(r))return new o.NonLexicalLiteral(void 0,t,this.superTypeProvider,e.value);throw r}}}},64900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlOperator=t.TypeURL=t.typedLiteral=t.TypeAlias=void 0;const n=r(47793);var i;!function(e){e.SPARQL_NUMERIC="SPARQL_NUMERIC",e.SPARQL_STRINGLY="SPARQL_STRINGLY"}(i||(t.TypeAlias=i={}));const o=new n.DataFactory;var a,s;t.typedLiteral=function(e,t){return o.literal(e,o.namedNode(t))},function(e){e.XSD_ANY_URI="http://www.w3.org/2001/XMLSchema#anyURI",e.XSD_STRING="http://www.w3.org/2001/XMLSchema#string",e.RDF_LANG_STRING="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString",e.XSD_BOOLEAN="http://www.w3.org/2001/XMLSchema#boolean",e.XSD_DATE_TIME="http://www.w3.org/2001/XMLSchema#dateTime",e.XSD_DATE_TIME_STAMP="http://www.w3.org/2001/XMLSchema#dateTimeStamp",e.XSD_DATE="http://www.w3.org/2001/XMLSchema#date",e.XSD_G_MONTH="http://www.w3.org/2001/XMLSchema#gMonth",e.XSD_G_MONTHDAY="http://www.w3.org/2001/XMLSchema#gMonthDay",e.XSD_G_YEAR="http://www.w3.org/2001/XMLSchema#gYear",e.XSD_G_YEAR_MONTH="http://www.w3.org/2001/XMLSchema#gYearMonth",e.XSD_TIME="http://www.w3.org/2001/XMLSchema#time",e.XSD_G_DAY="http://www.w3.org/2001/XMLSchema#gDay",e.XSD_DECIMAL="http://www.w3.org/2001/XMLSchema#decimal",e.XSD_FLOAT="http://www.w3.org/2001/XMLSchema#float",e.XSD_DOUBLE="http://www.w3.org/2001/XMLSchema#double",e.XSD_INTEGER="http://www.w3.org/2001/XMLSchema#integer",e.XSD_NON_POSITIVE_INTEGER="http://www.w3.org/2001/XMLSchema#nonPositiveInteger",e.XSD_NEGATIVE_INTEGER="http://www.w3.org/2001/XMLSchema#negativeInteger",e.XSD_LONG="http://www.w3.org/2001/XMLSchema#long",e.XSD_INT="http://www.w3.org/2001/XMLSchema#int",e.XSD_SHORT="http://www.w3.org/2001/XMLSchema#short",e.XSD_BYTE="http://www.w3.org/2001/XMLSchema#byte",e.XSD_NON_NEGATIVE_INTEGER="http://www.w3.org/2001/XMLSchema#nonNegativeInteger",e.XSD_POSITIVE_INTEGER="http://www.w3.org/2001/XMLSchema#positiveInteger",e.XSD_UNSIGNED_LONG="http://www.w3.org/2001/XMLSchema#unsignedLong",e.XSD_UNSIGNED_INT="http://www.w3.org/2001/XMLSchema#unsignedInt",e.XSD_UNSIGNED_SHORT="http://www.w3.org/2001/XMLSchema#unsignedShort",e.XSD_UNSIGNED_BYTE="http://www.w3.org/2001/XMLSchema#unsignedByte",e.XSD_NORMALIZED_STRING="http://www.w3.org/2001/XMLSchema#normalizedString",e.XSD_TOKEN="http://www.w3.org/2001/XMLSchema#token",e.XSD_LANGUAGE="http://www.w3.org/2001/XMLSchema#language",e.XSD_NM_TOKEN="http://www.w3.org/2001/XMLSchema#NMTOKEN",e.XSD_NAME="http://www.w3.org/2001/XMLSchema#name",e.XSD_NC_NAME="http://www.w3.org/2001/XMLSchema#NCName",e.XSD_ENTITY="http://www.w3.org/2001/XMLSchema#ENTITY",e.XSD_ID="http://www.w3.org/2001/XMLSchema#ID",e.XSD_ID_REF="http://www.w3.org/2001/XMLSchema#IDREF",e.XSD_DURATION="http://www.w3.org/2001/XMLSchema#duration",e.XSD_YEAR_MONTH_DURATION="http://www.w3.org/2001/XMLSchema#yearMonthDuration",e.XSD_DAY_TIME_DURATION="http://www.w3.org/2001/XMLSchema#dayTimeDuration"}(a||(t.TypeURL=a={})),function(e){e.NOT="!",e.UMINUS="uminus",e.UPLUS="uplus",e.LOGICAL_OR="||",e.LOGICAL_AND="&&",e.EQUAL="=",e.NOT_EQUAL="!=",e.LT="<",e.GT=">",e.LTE="<=",e.GTE=">=",e.SAME_TERM="sameterm",e.IN="in",e.NOT_IN="notin",e.MULTIPLICATION="*",e.DIVISION="/",e.ADDITION="+",e.SUBTRACTION="-",e.IS_IRI="isiri",e.IS_URI="isuri",e.IS_BLANK="isblank",e.IS_LITERAL="isliteral",e.IS_NUMERIC="isnumeric",e.STR="str",e.LANG="lang",e.DATATYPE="datatype",e.IRI="iri",e.URI="uri",e.BNODE="bnode",e.STRDT="strdt",e.STRLANG="strlang",e.UUID="uuid",e.STRUUID="struuid",e.STRLEN="strlen",e.SUBSTR="substr",e.UCASE="ucase",e.LCASE="lcase",e.STRSTARTS="strstarts",e.STRENDS="strends",e.CONTAINS="contains",e.STRBEFORE="strbefore",e.STRAFTER="strafter",e.ENCODE_FOR_URI="encode_for_uri",e.CONCAT="concat",e.LANG_MATCHES="langmatches",e.REGEX="regex",e.REPLACE="replace",e.ABS="abs",e.ROUND="round",e.CEIL="ceil",e.FLOOR="floor",e.RAND="rand",e.NOW="now",e.YEAR="year",e.MONTH="month",e.DAY="day",e.HOURS="hours",e.MINUTES="minutes",e.SECONDS="seconds",e.TIMEZONE="timezone",e.TZ="tz",e.MD5="md5",e.SHA1="sha1",e.SHA256="sha256",e.SHA384="sha384",e.SHA512="sha512",e.TRIPLE="triple",e.SUBJECT="subject",e.PREDICATE="predicate",e.OBJECT="object",e.IS_TRIPLE="istriple",e.BOUND="bound",e.IF="if",e.COALESCE="coalesce"}(s||(t.SparqlOperator=s={}))},17845:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prepareEvaluatorActionContext=void 0;const n=r(90711),i=r(89096),o=r(31296);t.prepareEvaluatorActionContext=function(e){let t=e;if(t.has(n.KeysInitQuery.extensionFunctionCreator)&&t.has(n.KeysInitQuery.extensionFunctions))throw new Error("Illegal simultaneous usage of extensionFunctionCreator and extensionFunctions in context");if(t.has(n.KeysInitQuery.extensionFunctionCreator))t=t.set(n.KeysExpressionEvaluator.extensionFunctionCreator,t.get(n.KeysInitQuery.extensionFunctionCreator));else if(t.has(n.KeysInitQuery.extensionFunctions)){const e=t.getSafe(n.KeysInitQuery.extensionFunctions);t=t.set(n.KeysExpressionEvaluator.extensionFunctionCreator,(async t=>e[t.value]))}else t=t.setDefault(n.KeysExpressionEvaluator.extensionFunctionCreator,(async()=>{}));return t=t.setDefault(n.KeysExpressionEvaluator.defaultTimeZone,(0,o.extractTimeZone)(t.getSafe(n.KeysInitQuery.queryTimestamp))),t=t.setDefault(n.KeysExpressionEvaluator.superTypeProvider,{cache:new i.LRUCache({max:1e3}),discoverer:()=>"term"}),t}},31296:(e,t)=>{"use strict";function r(e){return{day:e.day??0,hours:e.hours??0,minutes:e.minutes??0,seconds:e.seconds??0}}function n(e){return{year:e.year??0,month:e.month??0}}function i(e){return{...r(e),...n(e)}}function o(e){return{...e,day:e.day??1,hours:e.hours??0,month:e.month??1,year:e.year??0,seconds:e.seconds??0,minutes:e.minutes??0}}function a(e){const t=new Date(e.year,e.month-1,e.day,e.hours,e.minutes,Math.trunc(e.seconds),e.seconds%1*1e3);if(e.year>=0&&e.year<100){const e=1900;t.setFullYear(t.getFullYear()-e)}return t}Object.defineProperty(t,"__esModule",{value:!0}),t.extractTimeZone=t.extractRawTimeZone=t.dayTimeDurationsToSeconds=t.yearMonthDurationsToMonths=t.trimToDayTimeDuration=t.trimToYearMonthDuration=t.toUTCDate=t.toJSDate=t.negateDuration=t.toDateTimeRepresentation=t.defaultedDateTimeRepresentation=t.simplifyDurationRepresentation=t.defaultedDurationRepresentation=t.defaultedYearMonthDurationRepresentation=t.defaultedDayTimeDurationRepresentation=void 0,t.defaultedDayTimeDurationRepresentation=r,t.defaultedYearMonthDurationRepresentation=n,t.defaultedDurationRepresentation=i,t.simplifyDurationRepresentation=function(e){const t=i(e),r={},n=t.year+Math.trunc(t.month/12);n&&(r.year=n,t.month%=12),t.month&&(r.month=t.month);const o=t.day+Math.trunc(t.hours/24)+Math.trunc(t.minutes/1440)+Math.trunc(t.seconds/86400);o&&(r.day=o,t.hours%=24,t.minutes%=1440,t.seconds%=86400);const a=t.hours+Math.trunc(t.minutes/60)+Math.trunc(t.seconds/3600);a&&(r.hours=a,t.minutes%=60,t.seconds%=3600);const s=t.minutes+Math.trunc(t.seconds/60);return s&&(r.minutes=s,t.seconds%=60),t.seconds&&(r.seconds=t.seconds),r},t.defaultedDateTimeRepresentation=o,t.toDateTimeRepresentation=function({date:e,timeZone:t}){return{year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate(),hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),zoneHours:t.zoneHours,zoneMinutes:t.zoneMinutes}},t.negateDuration=function(e){return{year:void 0===e.year?void 0:-1*e.year,month:void 0===e.month?void 0:-1*e.month,day:void 0===e.day?void 0:-1*e.day,hours:void 0===e.hours?void 0:-1*e.hours,minutes:void 0===e.minutes?void 0:-1*e.minutes,seconds:void 0===e.seconds?void 0:-1*e.seconds}},t.toJSDate=a,t.toUTCDate=function(e,t){const r=a(o(e)),n=r.getTimezoneOffset(),i=e.zoneHours??t.zoneHours,s=e.zoneMinutes??t.zoneMinutes;return new Date(r.getTime()-60*(n+60*i+s)*1e3)},t.trimToYearMonthDuration=function(e){return{year:e.year,month:e.month}},t.trimToDayTimeDuration=function(e){return{day:e.day,hours:e.hours,minutes:e.minutes,seconds:e.seconds}},t.yearMonthDurationsToMonths=function(e){return 12*e.year+e.month},t.dayTimeDurationsToSeconds=function(e){return 60*(60*(24*e.day+e.hours)+e.minutes)+e.seconds},t.extractRawTimeZone=function(e){return/(Z|([+-]\d\d:\d\d))?$/u.exec(e)[0]},t.extractTimeZone=function(e){return{zoneHours:e.getTimezoneOffset()/60,zoneMinutes:e.getTimezoneOffset()%60}}},98575:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NoAggregator=t.ExtensionFunctionError=t.InvalidExpression=t.InvalidArity=t.UnexpectedError=t.ParseError=t.EmptyAggregateError=t.IncompatibleLanguageOperation=t.InvalidTimezoneCall=t.CastError=t.InvalidArgumentTypes=t.InError=t.CoalesceError=t.RDFEqualTypeError=t.EBVCoercionError=t.UnboundVariableError=t.InvalidLexicalForm=t.isExpressionError=t.ExpressionError=void 0;class r extends Error{}t.ExpressionError=r,t.isExpressionError=function(e){return e instanceof r},t.InvalidLexicalForm=class extends r{constructor(e){super(`Invalid lexical form '${c(e)}'`),this.arg=e}},t.UnboundVariableError=class extends r{constructor(e,t){super(`Unbound variable '${c(e)}'`),this.variable=e,this.bindings=t}},t.EBVCoercionError=class extends r{constructor(e){super(`Cannot coerce term to EBV '${c(e)}'`),this.arg=e}},t.RDFEqualTypeError=class extends r{constructor(e){super("Equality test for literals with unsupported datatypes"),this.args=e}},t.CoalesceError=class extends r{constructor(e){super("All COALESCE arguments threw errors"),this.errors=e}},t.InError=class extends r{constructor(e){super(`Some argument to IN errorred and none where equal. ${e.map((e=>`(${e.toString()}) `)).join("and ")}`),this.errors=e}},t.InvalidArgumentTypes=class extends r{constructor(e,t){super(`Argument types not valid for operator: '${c(t)}' with '${c(e)}`),this.args=e,this.op=t}},t.CastError=class extends r{constructor(e,t){super(`Invalid cast: '${c(e)}' to '${c(t)}'`),this.arg=e}},t.InvalidTimezoneCall=class extends r{constructor(e){super(`TIMEZONE call on ${e} which has no timezone`),this.dateString=e}},t.IncompatibleLanguageOperation=class extends r{constructor(e,t){super(`Operation on incompatible language literals '${c(e)}' and '${c(t)}'`),this.arg1=e,this.arg2=t}},t.EmptyAggregateError=class extends r{constructor(){super("Empty aggregate expression")}},t.ParseError=class extends r{constructor(e,t){super(`Failed to parse "${e}" as ${t}.`)}};class n extends Error{constructor(e,t){super(`Programmer Error '${e}'`),this.payload=t}}t.UnexpectedError=n;class i extends Error{constructor(e,t){super(`The number of args does not match the arity of the operator '${c(t)}'.`),this.args=e,this.op=t}}t.InvalidArity=i;class o extends Error{constructor(e){super(`Invalid SPARQL Expression '${c(e)}'`)}}t.InvalidExpression=o;class a extends Error{constructor(e,t){t instanceof Error?super(`Error thrown in ${e}: ${t.message}${t.stack?`\n${t.stack}`:""}`):super(`Error thrown in ${e}`)}}t.ExtensionFunctionError=a;class s extends Error{constructor(e){super(`Aggregate expression ${c(e)} found, but no aggregate hook provided.`)}}function c(e){return JSON.stringify(e)}t.NoAggregator=s},29658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseDayTimeDuration=t.parseYearMonthDuration=t.parseDuration=t.parseTime=t.parseDate=t.parseDateTime=t.parseXSDDecimal=t.parseXSDFloat=void 0;const n=r(31296),i=r(98575),o=r(84427);function a(e){if(""===e)return{zoneHours:void 0,zoneMinutes:void 0};if("Z"===e)return{zoneHours:0,zoneMinutes:0};const t=e.replaceAll(/^([+|-])(\d\d):(\d\d)$/gu,"$11!$2!$3").split("!").map(Number);return{zoneHours:t[0]*t[1],zoneMinutes:t[0]*t[2]}}function s(e){const t=e.replaceAll(/^(-)?([123456789]*\d{4})-(\d\d)-(\d\d)(Z|([+-]\d\d:\d\d))?$/gu,"$11!$2!$3!$4!$5");if(t===e)throw new i.ParseError(e,"date");const r=t.split("!"),n=r.slice(0,-1).map(Number),s={year:n[0]*n[1],month:n[2],day:n[3],...a(r[4])};if(!(s.month>=1&&s.month<=12&&s.day>=1&&s.day<=(0,o.maximumDayInMonthFor)(s.year,s.month)))throw new i.ParseError(e,"date");return s}function c(e){const t=e.replaceAll(/^(\d\d):(\d\d):(\d\d(\.\d+)?)(Z|([+-]\d\d:\d\d))?$/gu,"$1!$2!$3!$5");if(t===e)throw new i.ParseError(e,"time");const r=t.split("!"),n=r.slice(0,-1).map(Number),o={hours:n[0],minutes:n[1],seconds:n[2],...a(r[3])};if(o.seconds>=60||o.minutes>=60||o.hours>24||24===o.hours&&(0!==o.minutes||0!==o.seconds))throw new i.ParseError(e,"time");return o}function u(e){const[t,r]=e.split("T"),o=t.replaceAll(/^(-)?P(\d+Y)?(\d+M)?(\d+D)?$/gu,"$11S!$2!$3!$4");if(o===t)throw new i.ParseError(e,"duration");const a=o.split("!");if(void 0!==r){const t=r.replaceAll(/^(\d+H)?(\d+M)?(\d+(\.\d+)?S)?$/gu,"$1!$2!$3");if(""===r||r===t)throw new i.ParseError(e,"duration");a.push(...t.split("!"))}const s=a.map((e=>e.slice(0,-1)));if(!s.slice(1).some(Boolean))throw new i.ParseError(e,"duration");const c=Number(s[0]);return(0,n.simplifyDurationRepresentation)({year:s[1]?c*Number(s[1]):void 0,month:s[2]?c*Number(s[2]):void 0,day:s[3]?c*Number(s[3]):void 0,hours:s[4]?c*Number(s[4]):void 0,minutes:s[5]?c*Number(s[5]):void 0,seconds:s[6]?c*Number(s[6]):void 0})}t.parseXSDFloat=function(e){const t=Number(e);return Number.isNaN(t)?"NaN"===e?Number.NaN:"INF"===e||"+INF"===e?Number.POSITIVE_INFINITY:"-INF"===e?Number.NEGATIVE_INFINITY:void 0:t},t.parseXSDDecimal=function(e){const t=Number(e);return Number.isNaN(t)?void 0:t},t.parseDateTime=function(e){const[t,r]=e.split("T");if(void 0===r)throw new i.ParseError(e,"dateTime");return{...s(t),...c(r)}},t.parseDate=s,t.parseTime=function(e){const t=c(e);return t.hours%=24,t},t.parseDuration=u,t.parseYearMonthDuration=function(e){const t=u(e);if(["hours","minutes","seconds","day"].some((e=>Boolean(t[e]))))throw new i.ParseError(e,"yearMonthDuration");return t},t.parseDayTimeDuration=function(e){const t=u(e);if(["year","month"].some((e=>Boolean(t[e]))))throw new i.ParseError(e,"dayTimeDuration");return t}},72374:(e,t)=>{"use strict";function r(e,t=2){return e.toLocaleString(void 0,{minimumIntegerDigits:t,useGrouping:!1})}function n(e){return void 0===e.zoneHours||void 0===e.zoneMinutes?"":0===e.zoneHours&&0===e.zoneMinutes?"Z":`${e.zoneHours>=0?`+${r(e.zoneHours)}`:r(e.zoneHours)}:${r(Math.abs(e.zoneMinutes))}`}function i(e){return`${r(e.year,4)}-${r(e.month)}-${r(e.day)}${n(e)}`}function o(e){return`${r(e.hours)}:${r(e.minutes)}:${r(e.seconds)}${n(e)}`}Object.defineProperty(t,"__esModule",{value:!0}),t.serializeDuration=t.serializeTime=t.serializeDate=t.serializeDateTime=void 0,t.serializeDateTime=function(e){return`${i({year:e.year,month:e.month,day:e.day})}T${o(e)}`},t.serializeDate=i,t.serializeTime=o,t.serializeDuration=function(e,t="PT0S"){if(!Object.values(e).some((e=>0!==(e||0))))return t;const r=`${Object.values(e).some((e=>(e||0)<0))?"-":""}P${e.year?`${Math.abs(e.year)}Y`:""}${e.month?`${Math.abs(e.month)}M`:""}${e.day?`${Math.abs(e.day)}D`:""}`;return e.hours||e.minutes||e.seconds?`${r}T${e.hours?`${Math.abs(e.hours)}H`:""}${e.minutes?`${Math.abs(e.minutes)}M`:""}${e.seconds?`${Math.abs(e.seconds)}S`:""}`:r}},84427:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.elapsedDuration=t.addDurationToDateTime=t.maximumDayInMonthFor=void 0;const n=r(31296);function i(e,t,r=0){const n=e-r,i=t-r,o=Math.floor(n/i);return{intDiv:o,remainder:e-o*i}}function o(e,t){const{intDiv:r,remainder:n}=i(t,13,1),o=e+r;return[1,3,5,7,8,10,12].includes(n)?31:[4,6,9,11].includes(n)?30:2===n&&(0===i(o,400).remainder||0!==i(o,100).remainder&&0===i(o,4).remainder)?29:28}t.maximumDayInMonthFor=o,t.addDurationToDateTime=function(e,t){const r={...e};let n=i(e.month+t.month,13,1);for(r.month=n.remainder,r.year=e.year+t.year+n.intDiv,n=i(e.seconds+t.seconds,60),r.seconds=n.remainder,n=i(e.minutes+t.minutes+n.intDiv,60),r.minutes=n.remainder,n=i(e.hours+t.hours+n.intDiv,24),r.hours=n.remainder,r.day=e.day+t.day+n.intDiv;;){let e;if(r.day<1)r.day+=o(r.year,r.month-1),e=-1;else{if(!(r.day>o(r.year,r.month)))break;r.day-=o(r.year,r.month),e=1}n=i(r.month+e,13,1),r.month=n.remainder,r.year+=n.intDiv}return r},t.elapsedDuration=function(e,t,r){const i=(0,n.toUTCDate)(e,r),o=(0,n.toUTCDate)(t,r),a=i.getTime()-o.getTime();return{day:Math.floor(a/864e5),hours:Math.floor(a%864e5/36e5),minutes:Math.floor(a%36e5/6e4),seconds:a%6e4}}},86273:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typePromotion=t.isSubTypeOf=t.getSuperTypeDict=t.isInternalSubType=t.asGeneralType=t.asOverrideType=t.asKnownLiteralType=t.asTypeAlias=t.typeAliasCheck=t.extensionTableInit=t.getSuperTypes=t.superTypeDictTable=t.extensionTableInput=void 0;const n=r(54833),i=r(97618),o=r(64900);function a(e,r){const n=r.cache.get(e);if(n)return n;const i=r.discoverer(e);if("term"===i){const t=Object.create(null);return t.__depth=0,t[e]=0,r.cache.set(e,t),t}let o;const s=u(i);return o=s?{...t.superTypeDictTable[s]}:{...a(i,r)},o.__depth++,o[e]=o.__depth,r.cache.set(e,o),o}function s(){for(const[e,r]of Object.entries(t.extensionTableInput)){const n=e;t.superTypeDictTable[n]||c(n,r,t.superTypeDictTable)}}function c(e,r,n){if("term"===r||void 0===r){const t=Object.create(null);return t.__depth=0,t[e]=0,void(n[e]=t)}n[r]||c(r,t.extensionTableInput[r],n),n[e]={...n[r],[e]:n[r].__depth+1,__depth:n[r].__depth+1}}function u(e){if(e in t.superTypeDictTable)return e}function l(e,r){const n=u(e);return n?t.superTypeDictTable[n]:a(e,r)}t.extensionTableInput={[o.TypeURL.XSD_DATE_TIME_STAMP]:o.TypeURL.XSD_DATE_TIME,[o.TypeURL.XSD_DAY_TIME_DURATION]:o.TypeURL.XSD_DURATION,[o.TypeURL.XSD_YEAR_MONTH_DURATION]:o.TypeURL.XSD_DURATION,[o.TypeURL.RDF_LANG_STRING]:o.TypeAlias.SPARQL_STRINGLY,[o.TypeURL.XSD_STRING]:o.TypeAlias.SPARQL_STRINGLY,[o.TypeURL.XSD_NORMALIZED_STRING]:o.TypeURL.XSD_STRING,[o.TypeURL.XSD_TOKEN]:o.TypeURL.XSD_NORMALIZED_STRING,[o.TypeURL.XSD_LANGUAGE]:o.TypeURL.XSD_TOKEN,[o.TypeURL.XSD_NM_TOKEN]:o.TypeURL.XSD_TOKEN,[o.TypeURL.XSD_NAME]:o.TypeURL.XSD_TOKEN,[o.TypeURL.XSD_NC_NAME]:o.TypeURL.XSD_NAME,[o.TypeURL.XSD_ENTITY]:o.TypeURL.XSD_NC_NAME,[o.TypeURL.XSD_ID]:o.TypeURL.XSD_NC_NAME,[o.TypeURL.XSD_ID_REF]:o.TypeURL.XSD_NC_NAME,[o.TypeURL.XSD_DOUBLE]:o.TypeAlias.SPARQL_NUMERIC,[o.TypeURL.XSD_FLOAT]:o.TypeAlias.SPARQL_NUMERIC,[o.TypeURL.XSD_DECIMAL]:o.TypeAlias.SPARQL_NUMERIC,[o.TypeURL.XSD_INTEGER]:o.TypeURL.XSD_DECIMAL,[o.TypeURL.XSD_NON_POSITIVE_INTEGER]:o.TypeURL.XSD_INTEGER,[o.TypeURL.XSD_NEGATIVE_INTEGER]:o.TypeURL.XSD_NON_POSITIVE_INTEGER,[o.TypeURL.XSD_LONG]:o.TypeURL.XSD_INTEGER,[o.TypeURL.XSD_INT]:o.TypeURL.XSD_LONG,[o.TypeURL.XSD_SHORT]:o.TypeURL.XSD_INT,[o.TypeURL.XSD_BYTE]:o.TypeURL.XSD_SHORT,[o.TypeURL.XSD_NON_NEGATIVE_INTEGER]:o.TypeURL.XSD_INTEGER,[o.TypeURL.XSD_POSITIVE_INTEGER]:o.TypeURL.XSD_NON_NEGATIVE_INTEGER,[o.TypeURL.XSD_UNSIGNED_LONG]:o.TypeURL.XSD_NON_NEGATIVE_INTEGER,[o.TypeURL.XSD_UNSIGNED_INT]:o.TypeURL.XSD_UNSIGNED_LONG,[o.TypeURL.XSD_UNSIGNED_SHORT]:o.TypeURL.XSD_UNSIGNED_INT,[o.TypeURL.XSD_UNSIGNED_BYTE]:o.TypeURL.XSD_UNSIGNED_SHORT,[o.TypeURL.XSD_DATE_TIME]:"term",[o.TypeURL.XSD_BOOLEAN]:"term",[o.TypeURL.XSD_DATE]:"term",[o.TypeURL.XSD_G_MONTH]:"term",[o.TypeURL.XSD_G_MONTHDAY]:"term",[o.TypeURL.XSD_G_YEAR]:"term",[o.TypeURL.XSD_G_YEAR_MONTH]:"term",[o.TypeURL.XSD_TIME]:"term",[o.TypeURL.XSD_G_DAY]:"term",[o.TypeURL.XSD_DURATION]:"term",[o.TypeAlias.SPARQL_NUMERIC]:"term",[o.TypeAlias.SPARQL_STRINGLY]:"term",[o.TypeURL.XSD_ANY_URI]:"term"},t.superTypeDictTable=Object.create(null),t.getSuperTypes=a,t.extensionTableInit=s,s(),t.typeAliasCheck=Object.create(null),function(){for(const e of Object.values(o.TypeAlias))t.typeAliasCheck[e]=!0}(),t.asTypeAlias=function(e){if(e in t.typeAliasCheck)return e},t.asKnownLiteralType=u,t.asOverrideType=function(e){if(u(e)??"term"===e)return e},t.asGeneralType=function(e){if("term"===e||(0,n.asTermType)(e))return e},t.isInternalSubType=function(e,r){return"term"!==e&&t.superTypeDictTable[e]&&void 0!==t.superTypeDictTable[e][r]},t.getSuperTypeDict=l,t.isSubTypeOf=function(e,t,r){return"term"!==e&&void 0!==l(e,r)[t]},t.typePromotion={[o.TypeURL.XSD_STRING]:[{typeToPromote:o.TypeURL.XSD_ANY_URI,conversionFunction:e=>(0,i.string)(e.str())}],[o.TypeURL.XSD_DOUBLE]:[{typeToPromote:o.TypeURL.XSD_FLOAT,conversionFunction:e=>(0,i.double)(e.typedValue)},{typeToPromote:o.TypeURL.XSD_DECIMAL,conversionFunction:e=>(0,i.double)(e.typedValue)}],[o.TypeURL.XSD_FLOAT]:[{typeToPromote:o.TypeURL.XSD_DECIMAL,conversionFunction:e=>(0,i.float)(e.typedValue)}]}},77571:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChunkedIterator=void 0;const n=r(75627);class i extends n.TransformIterator{constructor(e,t,r){super(e,r),this.chunk=[],this.blockSize=t}consumeChunkAsIterator(){const e=new n.ArrayIterator(this.chunk,{autoStart:!1});return this.chunk=[],e}_transform(e,t,r){this.chunk.push(e),this.chunk.length>=this.blockSize&&r(this.consumeChunkAsIterator()),t()}_flush(e){this.chunk.length>0&&this._push(this.consumeChunkAsIterator()),super._flush(e)}}t.ChunkedIterator=i},40274:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClosableIterator=void 0;const n=r(75627);class i extends n.AsyncIterator{constructor(e,t){super(),this.onClose=t.onClose,this._source=e,this._source[n.DESTINATION]=this,this._source.on("end",s),this._source.on("error",a),this._source.on("readable",o),this.readable=this._source.readable}read(){const e=this._source.read();return e||(this.readable=!1,this._source.done&&this.close()),e}_end(e){this.onClose(),this._source.removeListener("end",s),this._source.removeListener("error",a),this._source.removeListener("readable",o),delete this._source[n.DESTINATION],this._source.destroy(),super._end(e)}}function o(){this[n.DESTINATION].readable=!0}function a(e){this[n.DESTINATION].emit("error",e)}function s(){this[n.DESTINATION].close()}t.ClosableIterator=i},54236:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClosableTransformIterator=void 0;const n=r(75627);class i extends n.TransformIterator{constructor(e,t){super(e,t),this.onClose=t.onClose}_end(e){this.onClose(),super._end(e)}}t.ClosableTransformIterator=i},4809:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77571),t),i(r(40274),t),i(r(54236),t),i(r(44858),t)},44858:(e,t)=>{"use strict";function r(e,t,n){if(!("_profileInstrumented"in e)){if(e._profileInstrumented=!0,"_read"in e){const r=e._read;e._read=(n,i)=>{const o=performance.now();r.call(e,n,(()=>{t.timeSelf+=performance.now()-o,i()}))}}if("read"in e){const r=e.read;e.read=()=>{const i=performance.now(),o=r.call(e);return n&&o&&t.count++,t.timeSelf+=performance.now()-i,o}}if(n){const r=performance.now();e.on("end",(()=>{t.timeLife=performance.now()-r}))}"_source"in e&&r(e._source,t,!1)}}Object.defineProperty(t,"__esModule",{value:!0}),t.instrumentIterator=void 0,t.instrumentIterator=function(e){const t={count:0,timeSelf:0,timeLife:0};return r(e,t,!0),new Promise((r=>{e.on("end",(()=>{r(t)}))}))}},32549:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MetadataValidationState=void 0,t.MetadataValidationState=class{constructor(){this.invalidateListeners=[],this.valid=!0}addInvalidateListener(e){this.invalidateListeners.push(e)}invalidate(){if(this.valid){this.valid=!1;for(const e of this.invalidateListeners)e()}}}},2527:(e,t)=>{"use strict";function r(e){for(const t of["cardinality"])if(!(t in e))throw new Error(`Invalid metadata: missing ${t} in ${JSON.stringify(e)}`);return e}function n(e){for(const t of["cardinality","variables"])if(!(t in e))throw new Error(`Invalid metadata: missing ${t} in ${JSON.stringify(e)}`);return e}function i(e){let t;return()=>(t||(t=e(),t.then((e=>e.state.addInvalidateListener((()=>{t=void 0})))).catch((()=>{}))),t)}Object.defineProperty(t,"__esModule",{value:!0}),t.cachifyMetadata=t.validateMetadataBindings=t.validateMetadataQuads=t.getMetadataBindings=t.getMetadataQuads=void 0,t.getMetadataQuads=function(e){return i((()=>new Promise(((t,r)=>{e.getProperty("metadata",(e=>t(e))),e.on("error",r)})).then((e=>r(e)))))},t.getMetadataBindings=function(e){return i((()=>new Promise(((t,r)=>{e.getProperty("metadata",(e=>t(e))),e.on("error",r)})).then((e=>n(e)))))},t.validateMetadataQuads=r,t.validateMetadataBindings=n,t.cachifyMetadata=i},99214:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(32549),t),i(r(2527),t)},11582:(e,t)=>{"use strict";function r(e,t,i,o){if("conjunction"===t.type)return t.children.every((t=>r(e,t,i,o)));if("disjunction"===t.type)return t.children.some((t=>r(e,t,i,o)));if("arity"===t.type)return r(e,t.child,i,o);if((o?.joinBindings&&!t.joinBindings)??(o?.filterBindings&&!t.filterBindings))return!1;const a=t.operation;switch(a.operationType){case"type":return!!n(e,0,i,o)&&a.type===i.type;case"pattern":return!!n(e,0,i,o)&&a.pattern.type===i.type;case"wildcard":return!0}}function n(e,t,n,i){return!(n.input&&!(Array.isArray(n.input)?n.input:[n.input]).every((t=>r(e,e,t,i))))&&!(n.patterns&&!n.patterns.every((t=>r(e,e,t,i))))}Object.defineProperty(t,"__esModule",{value:!0}),t.doesShapeAcceptOperation=void 0,t.doesShapeAcceptOperation=function(e,t,n){return r(e,e,t,n)}},45534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.materializeOperation=t.materializeTerm=void 0;const n=r(43347),i=r(3285),o=r(96331);function a(e,t){if("Variable"===e.termType){const r=t.get(e);if(r)return r}return"Quad"===e.termType&&(0,i.someTermsNested)(e,(e=>"Variable"===e.termType))?(0,i.mapTermsNested)(e,(e=>a(e,t))):e}function s(e,t,r){const i=[];for(const[o,a]of t)if(!r||r.some((e=>e.equals(o)))){const t={[(0,n.termToString)(o)]:a};i.push(e.createValues([o],[t]))}return i}t.materializeTerm=a,t.materializeOperation=function e(t,r,i,c,u={}){return u={strictTargetVariables:"strictTargetVariables"in u&&u.strictTargetVariables,bindFilter:!("bindFilter"in u)||u.bindFilter,originalBindings:"originalBindings"in u?u.originalBindings:r},o.Util.mapOperation(t,{path:(e,t)=>({recurse:!1,result:Object.assign(t.createPath(a(e.subject,r),e.predicate,a(e.object,r),a(e.graph,r)),{metadata:e.metadata})}),pattern:(e,t)=>({recurse:!1,result:Object.assign(t.createPattern(a(e.subject,r),a(e.predicate,r),a(e.object,r),a(e.graph,r)),{metadata:e.metadata})}),extend(t){if(r.has(t.variable)){if(u.strictTargetVariables)throw new Error(`Tried to bind variable ${(0,n.termToString)(t.variable)} in a BIND operator.`);return{recurse:!0,result:e(t.input,r,i,c,u)}}return{recurse:!0,result:t}},group(e,t){if(u.strictTargetVariables){for(const t of e.variables)if(r.has(t))throw new Error(`Tried to bind variable ${(0,n.termToString)(t)} in a GROUP BY operator.`);return{recurse:!0,result:e}}const i=e.variables.filter((e=>!r.has(e)));return{recurse:!0,result:t.createGroup(e.input,i,e.aggregates)}},filter(t,n){const o=u.originalBindings;if("operator"!==t.expression.expressionType||0===o.size)return{recurse:!1,result:t};const a=s(n,o),l=e(t.expression,r,i,c,u);let d=e(t.input,r,i,c,u);return a.length>0&&(d=n.createJoin([...a,d])),{recurse:!1,result:n.createFilter(d,l)}},project(t,o){if(u.strictTargetVariables){for(const e of t.variables)if(r.has(e))throw new Error(`Tried to bind variable ${(0,n.termToString)(e)} in a SELECT operator.`);return{recurse:!0,result:t}}for(const e of r.keys())for(const n of t.variables)if(n.equals(e)){r=r.delete(e);break}const a=s(o,u.originalBindings,t.variables);let l=e(t.input,r,i,c,u);return a.length>0&&(l=o.createJoin([...a,l])),{recurse:!1,result:o.createProject(l,t.variables)}},values(e,t){if(!u.strictTargetVariables){const i=e.variables.filter((e=>!r.has(e))),o=e.bindings.map((e=>{const t={...e};let i=!0;return r.forEach(((e,r)=>{const o=(0,n.termToString)(r);o in t&&(e.equals(t[o])||(i=!1),delete t[o])})),i?t:void 0})).filter(Boolean);return{recurse:!0,result:t.createValues(i,o)}}for(const t of e.variables)if(r.has(t))throw new Error(`Tried to bind variable ${(0,n.termToString)(t)} in a VALUES operator.`);return{recurse:!1,result:e}},expression(e,t){if(!u.bindFilter)return{recurse:!1,result:e};if("term"===e.expressionType)return{recurse:!1,result:t.createTermExpression(a(e.term,r))};if("operator"===e.expressionType)return"bound"===e.operator&&1===e.args.length&&"term"===e.args[0].expressionType&&[...r.keys()].some((t=>e.args[0].term.equals(t)))?{recurse:!1,result:t.createTermExpression(t.dataFactory.literal("true",t.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean")))}:{recurse:!0,result:e};if("aggregate"===e.expressionType&&"variable"in e&&r.has(e.variable)){if(u.strictTargetVariables)throw new Error(`Tried to bind ${(0,n.termToString)(e.variable)} in a ${e.aggregator} aggregate.`);return{recurse:!0,result:e}}return{recurse:!0,result:e}}},i)}},6072:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeOperationSource=t.assignOperationSource=t.getOperationSource=t.testReadOnly=t.validateQueryOutput=t.getSafeVoid=t.getSafeBoolean=t.getSafeQuads=t.getSafeBindings=void 0;const n=r(90711),i=r(90412);function o(e,t){if(e.type!==t)throw new Error(`Invalid query output type: Expected '${t}' but got '${e.type}'`)}t.getSafeBindings=function(e){return o(e,"bindings"),e},t.getSafeQuads=function(e){return o(e,"quads"),e},t.getSafeBoolean=function(e){return o(e,"boolean"),e},t.getSafeVoid=function(e){return o(e,"void"),e},t.validateQueryOutput=o,t.testReadOnly=function(e){return e.get(n.KeysQueryOperation.readOnly)?(0,i.failTest)("Attempted a write operation in read-only mode"):(0,i.passTestVoid)()},t.getOperationSource=function(e){return e.metadata?.scopedSource},t.assignOperationSource=function(e,t){return(e={...e}).metadata=e.metadata?{...e.metadata}:{},e.metadata.scopedSource=t,e},t.removeOperationSource=function(e){delete e.metadata?.scopedSource,e.metadata&&0===Object.keys(e.metadata).length&&delete e.metadata}},67021:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(11582),t),i(r(6072),t),i(r(45534),t)},76516:function(e){var t;t=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=22)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r=4){for(var e=arguments.length,t=Array(e),r=0;r=3){for(var e=arguments.length,t=Array(e),r=0;r=2){for(var e=arguments.length,t=Array(e),r=0;r=1){for(var e=arguments.length,t=Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=t,this._jsonService=new r(["application/jwk-set+json"])}return e.prototype.resetSigningKeys=function(){this._settings=this._settings||{},this._settings.signingKeys=void 0},e.prototype.getMetadata=function(){var e=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(t){i.Log.debug("MetadataService.getMetadata: json received");var r=e._settings.metadataSeed||{};return e._settings.metadata=Object.assign({},r,t),e._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},e.prototype.getIssuer=function(){return this._getMetadataProperty("issuer")},e.prototype.getAuthorizationEndpoint=function(){return this._getMetadataProperty("authorization_endpoint")},e.prototype.getUserInfoEndpoint=function(){return this._getMetadataProperty("userinfo_endpoint")},e.prototype.getTokenEndpoint=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",e)},e.prototype.getCheckSessionIframe=function(){return this._getMetadataProperty("check_session_iframe",!0)},e.prototype.getEndSessionEndpoint=function(){return this._getMetadataProperty("end_session_endpoint",!0)},e.prototype.getRevocationEndpoint=function(){return this._getMetadataProperty("revocation_endpoint",!0)},e.prototype.getKeysEndpoint=function(){return this._getMetadataProperty("jwks_uri",!0)},e.prototype._getMetadataProperty=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+e),this.getMetadata().then((function(r){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===r[e]){if(!0===t)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+e);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+e),new Error("Metadata does not contain property "+e)}return r[e]}))},e.prototype.getSigningKeys=function(){var e=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(t){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",t),e._jsonService.getJson(t).then((function(t){if(i.Log.debug("MetadataService.getSigningKeys: key set received",t),!t.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return e._settings.signingKeys=t.keys,e._settings.signingKeys}))}))},n(e,[{key:"metadataUrl",get:function(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(a)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=a))),this._metadataUrl}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UrlUtility=void 0;var n=r(0),i=r(1);t.UrlUtility=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return e.addQueryParam=function(e,t,r){return e.indexOf("?")<0&&(e+="?"),"?"!==e[e.length-1]&&(e+="&"),e+=encodeURIComponent(t),(e+="=")+encodeURIComponent(r)},e.parseUrlFragment=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof e&&(e=r.location.href);var o=e.lastIndexOf(t);o>=0&&(e=e.substr(o+1)),"?"===t&&(o=e.indexOf("#"))>=0&&(e=e.substr(0,o));for(var a,s={},c=/([^&=]+)=([^&]*)/g,u=0;a=c.exec(e);)if(s[decodeURIComponent(a[1])]=decodeURIComponent(a[2].replace(/\+/g," ")),u++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",e),{error:"Response exceeded expected number of parameters"};for(var l in s)return s;return{}},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JoseUtil=void 0;var n=r(26),i=function(e){return e&&e.__esModule?e:{default:e}}(r(33));t.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OidcClientSettings=void 0;var n="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},i=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=t.authority,i=t.metadataUrl,o=t.metadata,l=t.signingKeys,d=t.metadataSeed,p=t.client_id,h=t.client_secret,f=t.response_type,y=void 0===f?"id_token":f,g=t.scope,m=void 0===g?"openid":g,b=t.redirect_uri,_=t.post_logout_redirect_uri,v=t.client_authentication,w=void 0===v?"client_secret_post":v,S=t.prompt,E=t.display,T=t.max_age,O=t.ui_locales,x=t.acr_values,A=t.resource,I=t.response_mode,R=t.filterProtocolClaims,P=void 0===R||R,F=t.loadUserInfo,D=void 0===F||F,N=t.staleStateAge,j=void 0===N?900:N,C=t.clockSkew,M=void 0===C?300:C,k=t.clockService,L=void 0===k?new a.ClockService:k,U=t.userInfoJwtIssuer,B=void 0===U?"OP":U,V=t.mergeClaims,q=void 0!==V&&V,H=t.stateStore,$=void 0===H?new s.WebStorageStateStore:H,G=t.ResponseValidatorCtor,K=void 0===G?c.ResponseValidator:G,Q=t.MetadataServiceCtor,z=void 0===Q?u.MetadataService:Q,J=t.extraQueryParams,W=void 0===J?{}:J,X=t.extraTokenParams,Y=void 0===X?{}:X;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=d,this._signingKeys=l,this._client_id=p,this._client_secret=h,this._response_type=y,this._scope=m,this._redirect_uri=b,this._post_logout_redirect_uri=_,this._client_authentication=w,this._prompt=S,this._display=E,this._max_age=T,this._ui_locales=O,this._acr_values=x,this._resource=A,this._response_mode=I,this._filterProtocolClaims=!!P,this._loadUserInfo=!!D,this._staleStateAge=j,this._clockSkew=M,this._clockService=L,this._userInfoJwtIssuer=B,this._mergeClaims=!!q,this._stateStore=$,this._validator=new K(this),this._metadataService=new z(this),this._extraQueryParams="object"===(void 0===W?"undefined":n(W))?W:{},this._extraTokenParams="object"===(void 0===Y?"undefined":n(Y))?Y:{}}return e.prototype.getEpochTime=function(){return this._clockService.getEpochTime()},i(e,[{key:"client_id",get:function(){return this._client_id},set:function(e){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=e}},{key:"client_secret",get:function(){return this._client_secret}},{key:"response_type",get:function(){return this._response_type}},{key:"scope",get:function(){return this._scope}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function(){return this._client_authentication}},{key:"prompt",get:function(){return this._prompt}},{key:"display",get:function(){return this._display}},{key:"max_age",get:function(){return this._max_age}},{key:"ui_locales",get:function(){return this._ui_locales}},{key:"acr_values",get:function(){return this._acr_values}},{key:"resource",get:function(){return this._resource}},{key:"response_mode",get:function(){return this._response_mode}},{key:"authority",get:function(){return this._authority},set:function(e){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=e}},{key:"metadataUrl",get:function(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(l)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=l)),this._metadataUrl}},{key:"metadata",get:function(){return this._metadata},set:function(e){this._metadata=e}},{key:"metadataSeed",get:function(){return this._metadataSeed},set:function(e){this._metadataSeed=e}},{key:"signingKeys",get:function(){return this._signingKeys},set:function(e){this._signingKeys=e}},{key:"filterProtocolClaims",get:function(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function(){return this._loadUserInfo}},{key:"staleStateAge",get:function(){return this._staleStateAge}},{key:"clockSkew",get:function(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function(){return this._mergeClaims}},{key:"stateStore",get:function(){return this._stateStore}},{key:"validator",get:function(){return this._validator}},{key:"metadataService",get:function(){return this._metadataService}},{key:"extraQueryParams",get:function(){return this._extraQueryParams},set:function(e){"object"===(void 0===e?"undefined":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:"extraTokenParams",get:function(){return this._extraTokenParams},set:function(e){"object"===(void 0===e?"undefined":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebStorageStateStore=void 0;var n=r(0),i=r(1);t.WebStorageStateStore=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.prefix,n=void 0===r?"oidc.":r,o=t.store,a=void 0===o?i.Global.localStorage:o;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._store=a,this._prefix=n}return e.prototype.set=function(e,t){return n.Log.debug("WebStorageStateStore.set",e),e=this._prefix+e,this._store.setItem(e,t),Promise.resolve()},e.prototype.get=function(e){n.Log.debug("WebStorageStateStore.get",e),e=this._prefix+e;var t=this._store.getItem(e);return Promise.resolve(t)},e.prototype.remove=function(e){n.Log.debug("WebStorageStateStore.remove",e),e=this._prefix+e;var t=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(t)},e.prototype.getAllKeys=function(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var e=[],t=0;t0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),t&&Array.isArray(t)?this._contentTypes=t.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return e.prototype.getJson=function(e,t){var r=this;if(!e)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",e),new Promise((function(i,o){var a=new r._XMLHttpRequest;a.open("GET",e);var s=r._contentTypes,c=r._jwtHandler;a.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",a.status),200===a.status){var t=a.getResponseHeader("Content-Type");if(t){var r=s.find((function(e){if(t.startsWith(e))return!0}));if("application/jwt"==r)return void c(a).then(i,o);if(r)try{return void i(JSON.parse(a.responseText))}catch(e){return n.Log.error("JsonService.getJson: Error parsing JSON response",e.message),void o(e)}}o(Error("Invalid response Content-Type: "+t+", from URL: "+e))}else o(Error(a.statusText+" ("+a.status+")"))},a.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},t&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),a.setRequestHeader("Authorization","Bearer "+t)),a.send()}))},e.prototype.postForm=function(e,t,r){var i=this;if(!e)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",e),new Promise((function(o,a){var s=new i._XMLHttpRequest;s.open("POST",e);var c=i._contentTypes;s.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",s.status),200!==s.status){if(400===s.status&&(r=s.getResponseHeader("Content-Type"))&&c.find((function(e){if(r.startsWith(e))return!0})))try{var t=JSON.parse(s.responseText);if(t&&t.error)return n.Log.error("JsonService.postForm: Error from server: ",t.error),void a(new Error(t.error))}catch(e){return n.Log.error("JsonService.postForm: Error parsing JSON response",e.message),void a(e)}a(Error(s.statusText+" ("+s.status+")"))}else{var r;if((r=s.getResponseHeader("Content-Type"))&&c.find((function(e){if(r.startsWith(e))return!0})))try{return void o(JSON.parse(s.responseText))}catch(e){return n.Log.error("JsonService.postForm: Error parsing JSON response",e.message),void a(e)}a(Error("Invalid response Content-Type: "+r+", from URL: "+e))}},s.onerror=function(){n.Log.error("JsonService.postForm: network error"),a(Error("Network Error"))};var u="";for(var l in t){var d=t[l];d&&(u.length>0&&(u+="&"),u+=encodeURIComponent(l),u+="=",u+=encodeURIComponent(d))}s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==r&&s.setRequestHeader("Authorization","Basic "+btoa(r)),s.send(u)}))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);t.SigninRequest=function(){function e(t){var r=t.url,a=t.client_id,s=t.redirect_uri,c=t.response_type,u=t.scope,l=t.authority,d=t.data,p=t.prompt,h=t.display,f=t.max_age,y=t.ui_locales,g=t.id_token_hint,m=t.login_hint,b=t.acr_values,_=t.resource,v=t.response_mode,w=t.request,S=t.request_uri,E=t.extraQueryParams,T=t.request_type,O=t.client_secret,x=t.extraTokenParams,A=t.skipUserInfo;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!a)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!s)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!c)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!u)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!l)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var I=e.isOidc(c),R=e.isCode(c);v||(v=e.isCode(c)?"query":null),this.state=new o.SigninState({nonce:I,data:d,client_id:a,authority:l,redirect_uri:s,code_verifier:R,request_type:T,response_mode:v,client_secret:O,scope:u,extraTokenParams:x,skipUserInfo:A}),r=i.UrlUtility.addQueryParam(r,"client_id",a),r=i.UrlUtility.addQueryParam(r,"redirect_uri",s),r=i.UrlUtility.addQueryParam(r,"response_type",c),r=i.UrlUtility.addQueryParam(r,"scope",u),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),I&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),R&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var P={prompt:p,display:h,max_age:f,ui_locales:y,id_token_hint:g,login_hint:m,acr_values:b,resource:_,request:w,request_uri:S,response_mode:v};for(var F in P)P[F]&&(r=i.UrlUtility.addQueryParam(r,F,P[F]));for(var D in E)r=i.UrlUtility.addQueryParam(r,D,E[D]);this.url=r}return e.isOidc=function(e){return!!e.split(/\s+/g).filter((function(e){return"id_token"===e}))[0]},e.isOAuth=function(e){return!!e.split(/\s+/g).filter((function(e){return"token"===e}))[0]},e.isCode=function(e){return!!e.split(/\s+/g).filter((function(e){return"code"===e}))[0]},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.State=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=t.id,n=t.data,i=t.created,a=t.request_type;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=a}return e.prototype.toStorageString=function(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},e.fromStorageString=function(t){return i.Log.debug("State.fromStorageString"),new e(JSON.parse(t))},e.clearStaleState=function(t,r){var n=Date.now()/1e3-r;return t.getAllKeys().then((function(r){i.Log.debug("State.clearStaleState: got keys",r);for(var o=[],a=function(a){var s=r[a];c=t.get(s).then((function(r){var o=!1;if(r)try{var a=e.fromStorageString(r);i.Log.debug("State.clearStaleState: got item from key: ",s,a.created),a.created<=n&&(o=!0)}catch(e){i.Log.error("State.clearStaleState: Error parsing state for key",s,e.message),o=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",s),o=!0;if(o)return i.Log.debug("State.clearStaleState: removed item for key: ",s),t.remove(s)})),o.push(c)},s=0;s0&&void 0!==arguments[0]?arguments[0]:{};(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),t instanceof o.OidcClientSettings?this._settings=t:this._settings=new o.OidcClientSettings(t)}return e.prototype.createSigninRequest=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.response_type,n=t.scope,o=t.redirect_uri,a=t.data,c=t.state,u=t.prompt,l=t.display,d=t.max_age,p=t.ui_locales,h=t.id_token_hint,f=t.login_hint,y=t.acr_values,g=t.resource,m=t.request,b=t.request_uri,_=t.response_mode,v=t.extraQueryParams,w=t.extraTokenParams,S=t.request_type,E=t.skipUserInfo,T=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var O=this._settings.client_id;r=r||this._settings.response_type,n=n||this._settings.scope,o=o||this._settings.redirect_uri,u=u||this._settings.prompt,l=l||this._settings.display,d=d||this._settings.max_age,p=p||this._settings.ui_locales,y=y||this._settings.acr_values,g=g||this._settings.resource,_=_||this._settings.response_mode,v=v||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var x=this._settings.authority;return s.SigninRequest.isCode(r)&&"code"!==r?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(t){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",t);var A=new s.SigninRequest({url:t,client_id:O,redirect_uri:o,response_type:r,scope:n,data:a||c,authority:x,prompt:u,display:l,max_age:d,ui_locales:p,id_token_hint:h,login_hint:f,acr_values:y,resource:g,request:m,request_uri:b,extraQueryParams:v,extraTokenParams:w,request_type:S,response_mode:_,client_secret:e._settings.client_secret,skipUserInfo:E}),I=A.state;return(T=T||e._stateStore).set(I.id,I.toStorageString()).then((function(){return A}))}))},e.prototype.readSigninResponseState=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var n="query"===this._settings.response_mode||!this._settings.response_mode&&s.SigninRequest.isCode(this._settings.response_type)?"?":"#",o=new c.SigninResponse(e,n);return o.state?(t=t||this._stateStore,(r?t.remove.bind(t):t.get.bind(t))(o.state).then((function(e){if(!e)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:d.SigninState.fromStorageString(e),response:o}}))):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},e.prototype.processSigninResponse=function(e,t){var r=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(e,t,!0).then((function(e){var t=e.state,n=e.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),r._validator.validateSigninResponse(t,n)}))},e.prototype.createSignoutRequest=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.id_token_hint,n=t.data,o=t.state,a=t.post_logout_redirect_uri,s=t.extraQueryParams,c=t.request_type,l=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),a=a||this._settings.post_logout_redirect_uri,s=s||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(t){if(!t)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",t);var d=new u.SignoutRequest({url:t,id_token_hint:r,post_logout_redirect_uri:a,data:n||o,extraQueryParams:s,request_type:c}),p=d.state;return p&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(l=l||e._stateStore).set(p.id,p.toStorageString())),d}))},e.prototype.readSignoutResponseState=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var n=new l.SignoutResponse(e);if(!n.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),n.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",n.error),Promise.reject(new a.ErrorResponse(n))):Promise.resolve({state:void 0,response:n});var o=n.state;return t=t||this._stateStore,(r?t.remove.bind(t):t.get.bind(t))(o).then((function(e){if(!e)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:p.State.fromStorageString(e),response:n}}))},e.prototype.processSignoutResponse=function(e,t){var r=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(e,t,!0).then((function(e){var t=e.state,n=e.response;return t?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),r._validator.validateSignoutResponse(t,n)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),n)}))},e.prototype.clearStaleState=function(e){return i.Log.debug("OidcClient.clearStaleState"),e=e||this._stateStore,p.State.clearStaleState(e,this.settings.staleStateAge)},n(e,[{key:"_stateStore",get:function(){return this.settings.stateStore}},{key:"_validator",get:function(){return this.settings.validator}},{key:"_metadataService",get:function(){return this.settings.metadataService}},{key:"settings",get:function(){return this._settings}},{key:"metadataService",get:function(){return this._metadataService}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);t.TokenClient=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=t,this._jsonService=new r,this._metadataService=new a(this._settings)}return e.prototype.exchangeCode=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).grant_type=t.grant_type||"authorization_code",t.client_id=t.client_id||this._settings.client_id,t.client_secret=t.client_secret||this._settings.client_secret,t.redirect_uri=t.redirect_uri||this._settings.redirect_uri;var r=void 0,n=t._client_authentication||this._settings._client_authentication;return delete t._client_authentication,t.code?t.redirect_uri?t.code_verifier?t.client_id?t.client_secret||"client_secret_basic"!=n?("client_secret_basic"==n&&(r=t.client_id+":"+t.client_secret,delete t.client_id,delete t.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),e._jsonService.postForm(n,t,r).then((function(e){return o.Log.debug("TokenClient.exchangeCode: response received"),e}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},e.prototype.exchangeRefreshToken=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).grant_type=t.grant_type||"refresh_token",t.client_id=t.client_id||this._settings.client_id,t.client_secret=t.client_secret||this._settings.client_secret;var r=void 0,n=t._client_authentication||this._settings._client_authentication;return delete t._client_authentication,t.refresh_token?t.client_id?("client_secret_basic"==n&&(r=t.client_id+":"+t.client_secret,delete t.client_id,delete t.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(n){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),e._jsonService.postForm(n,t,r).then((function(e){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),e}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorResponse=void 0;var n=r(0);t.ErrorResponse=function(e){function t(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,a=r.error_uri,s=r.state,c=r.session_state;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var u=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,o||i));return u.name="ErrorResponse",u.error=i,u.error_description=o,u.error_uri=a,u.state=s,u.session_state=c,u}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(Error)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SigninState=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,c=r.redirect_uri,u=r.code_verifier,l=r.response_mode,d=r.client_secret,p=r.scope,h=r.extraTokenParams,f=r.skipUserInfo;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var y=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,arguments[0]));if(!0===n?y._nonce=(0,s.default)():n&&(y._nonce=n),!0===u?y._code_verifier=(0,s.default)()+(0,s.default)()+(0,s.default)():u&&(y._code_verifier=u),y.code_verifier){var g=a.JoseUtil.hashString(y.code_verifier,"SHA256");y._code_challenge=a.JoseUtil.hexToBase64Url(g)}return y._redirect_uri=c,y._authority=i,y._client_id=o,y._response_mode=l,y._client_secret=d,y._scope=p,y._extraTokenParams=h,y._skipUserInfo=f,y}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toStorageString=function(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},t.fromStorageString=function(e){return i.Log.debug("SigninState.fromStorageString"),new t(JSON.parse(e))},n(t,[{key:"nonce",get:function(){return this._nonce}},{key:"authority",get:function(){return this._authority}},{key:"client_id",get:function(){return this._client_id}},{key:"redirect_uri",get:function(){return this._redirect_uri}},{key:"code_verifier",get:function(){return this._code_verifier}},{key:"code_challenge",get:function(){return this._code_challenge}},{key:"response_mode",get:function(){return this._response_mode}},{key:"client_secret",get:function(){return this._client_secret}},{key:"scope",get:function(){return this._scope}},{key:"extraTokenParams",get:function(){return this._extraTokenParams}},{key:"skipUserInfo",get:function(){return this._skipUserInfo}}]),t}(o.State)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return("undefined"!=n&&null!==n&&void 0!==n.getRandomValues?i:o)().replace(/-/g,"")};var n="undefined"!=typeof window?window.crypto||window.msCrypto:null;function i(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(e){return(e^n.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)}))}function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(e){return(e^16*Math.random()>>e/4).toString(16)}))}e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.User=void 0;var n=function(){function e(e,t){for(var r=0;r0){var r=parseInt(Date.now()/1e3);this.expires_at=r+t}}},{key:"expired",get:function(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccessTokenEvents=void 0;var n=r(0),i=r(46);t.AccessTokenEvents=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.accessTokenExpiringNotificationTime,n=void 0===r?60:r,o=t.accessTokenExpiringTimer,a=void 0===o?new i.Timer("Access token expiring"):o,s=t.accessTokenExpiredTimer,c=void 0===s?new i.Timer("Access token expired"):s;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return e.prototype.load=function(e){if(e.access_token&&void 0!==e.expires_in){var t=e.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",t),t>0){var r=t-this._accessTokenExpiringNotificationTime;r<=0&&(r=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",r),this._accessTokenExpiring.init(r)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var i=t+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",i),this._accessTokenExpired.init(i)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},e.prototype.unload=function(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},e.prototype.addAccessTokenExpiring=function(e){this._accessTokenExpiring.addHandler(e)},e.prototype.removeAccessTokenExpiring=function(e){this._accessTokenExpiring.removeHandler(e)},e.prototype.addAccessTokenExpired=function(e){this._accessTokenExpired.addHandler(e)},e.prototype.removeAccessTokenExpired=function(e){this._accessTokenExpired.removeHandler(e)},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event=void 0;var n=r(0);t.Event=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._name=t,this._callbacks=[]}return e.prototype.addHandler=function(e){this._callbacks.push(e)},e.prototype.removeHandler=function(e){var t=this._callbacks.findIndex((function(t){return t===e}));t>=0&&this._callbacks.splice(t,1)},e.prototype.raise=function(){n.Log.debug("Event: Raising event: "+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.Global.timer;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=t,this._CheckSessionIFrameCtor=n,this._timer=s,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(e){e?r._start(e):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(e){var t={session_state:e.session_state};e.sub&&e.sid&&(t.profile={sub:e.sub,sid:e.sid}),r._start(t)})).catch((function(e){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",e.message)}))})).catch((function(e){i.Log.error("SessionMonitor ctor: error from getUser:",e.message)})))}return e.prototype._start=function(e){var t=this,r=e.session_state;r&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",r,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",r,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(r):this._metadataService.getCheckSessionIframe().then((function(e){if(e){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var n=t._client_id,o=t._checkSessionInterval,a=t._stopCheckSessionOnError;t._checkSessionIFrame=new t._CheckSessionIFrameCtor(t._callback.bind(t),n,e,o,a),t._checkSessionIFrame.load().then((function(){t._checkSessionIFrame.start(r)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(e){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",e.message)})))},e.prototype._stop=function(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var t=this._timer.setInterval((function(){e._timer.clearInterval(t),e._userManager.querySessionStatus().then((function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)})).catch((function(e){i.Log.error("SessionMonitor: error from querySessionStatus:",e.message)}))}),1e3)},e.prototype._callback=function(){var e=this;this._userManager.querySessionStatus().then((function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",t.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",t.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(e._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),e._userManager.events._raiseUserSignedIn()))})).catch((function(t){e._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",t.message),e._userManager.events._raiseUserSignedOut())}))},n(e,[{key:"_settings",get:function(){return this._userManager.settings}},{key:"_metadataService",get:function(){return this._userManager.metadataService}},{key:"_client_id",get:function(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function(){return this._settings.stopCheckSessionOnError}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CheckSessionIFrame=void 0;var n=r(0);t.CheckSessionIFrame=function(){function e(t,r,n,i){var o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this._callback=t,this._client_id=r,this._url=n,this._interval=i||2e3,this._stopOnError=o;var a=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,a),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return e.prototype.load=function(){var e=this;return new Promise((function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener("message",e._boundMessageEvent,!1)}))},e.prototype._message=function(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&("error"===e.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===e.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+e.data+" message from check session op iframe"))},e.prototype.start=function(e){var t=this;if(this._session_state!==e){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=e;var r=function(){t._frame.contentWindow.postMessage(t._client_id+" "+t._session_state,t._frame_origin)};r(),this._timer=window.setInterval(r,this._interval)}},e.prototype.stop=function(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);t.TokenRevocationClient=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=t,this._XMLHttpRequestCtor=r,this._metadataService=new a(this._settings)}return e.prototype.revoke=function(e,t){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!e)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==i&&"refresh_token"!=i)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(o){if(o){n.Log.debug("TokenRevocationClient.revoke: Revoking "+i);var a=r._settings.client_id,s=r._settings.client_secret;return r._revoke(o,a,s,e,i)}if(t)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},e.prototype._revoke=function(e,t,r,i,o){var a=this;return new Promise((function(s,c){var u=new a._XMLHttpRequestCtor;u.open("POST",e),u.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",u.status),200===u.status?s():c(Error(u.statusText+" ("+u.status+")"))},u.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),c("Network Error")};var l="client_id="+encodeURIComponent(t);r&&(l+="&client_secret="+encodeURIComponent(r)),l+="&token_type_hint="+encodeURIComponent(o),l+="&token="+encodeURIComponent(i),u.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),u.send(l)}))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CordovaPopupWindow=void 0;var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.UserInfoService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u.JoseUtil,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.TokenClient;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=t,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=c,this._tokenClient=new l(this._settings)}return e.prototype.validateSigninResponse=function(e,t){var r=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(e,t).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),r._validateTokens(e,t).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),r._processClaims(e,t).then((function(e){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),e}))}))}))},e.prototype.validateSignoutResponse=function(e,t){return e.id!==t.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),t.state=e.data,t.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",t.error),Promise.reject(new c.ErrorResponse(t))):Promise.resolve(t))},e.prototype._processSigninParams=function(e,t){if(e.id!==t.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!e.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!e.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=e.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),t.state=e.data,t.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",t.error),Promise.reject(new c.ErrorResponse(t))):e.nonce&&!t.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!e.nonce&&t.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):e.code_verifier&&!t.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!e.code_verifier&&t.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(t.scope||(t.scope=e.scope),Promise.resolve(t))},e.prototype._processClaims=function(e,t){var r=this;if(t.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),t.profile=this._filterProtocolClaims(t.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&t.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(t.access_token).then((function(e){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),e.sub!==t.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(t.profile=r._mergeClaims(t.profile,e),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",t.profile),t)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(t)},e.prototype._mergeClaims=function(e,t){var r=Object.assign({},e);for(var i in t){var o=t[i];Array.isArray(o)||(o=[o]);for(var a=0;a1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=r[0]}return Promise.resolve(o)}))},e.prototype._getSigningKeyForJwtWithSingleRetry=function(e){var t=this;return this._getSigningKeyForJwt(e).then((function(r){return r?Promise.resolve(r):(t._metadataService.resetSigningKeys(),t._getSigningKeyForJwt(e))}))},e.prototype._validateIdToken=function(e,t){var r=this;if(!e.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var n=this._joseUtil.parseJwt(t.id_token);return n&&n.header&&n.payload?e.nonce!==n.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(o){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),r._getSigningKeyForJwtWithSingleRetry(n).then((function(a){if(!a)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var s=e.client_id,c=r._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(t.id_token,a,o,s,c).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),n.payload.sub?(t.profile=n.payload,t):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",n),Promise.reject(new Error("Failed to parse id_token")))},e.prototype._filterByAlg=function(e,t){var r=null;if(t.startsWith("RS"))r="RSA";else if(t.startsWith("PS"))r="PS";else{if(!t.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",t),[];r="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",r),e=e.filter((function(e){return e.kty===r})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",r,e.length),e},e.prototype._validateAccessToken=function(e){if(!e.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!e.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!e.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var t=this._joseUtil.parseJwt(e.id_token);if(!t||!t.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",t),Promise.reject(new Error("Failed to parse id_token"));var r=t.header.alg;if(!r||5!==r.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r),Promise.reject(new Error("Unsupported alg: "+r));var n=r.substr(2,3);if(!n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));if(256!==(n=parseInt(n))&&384!==n&&512!==n)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",r,n),Promise.reject(new Error("Unsupported alg: "+r));var o="sha"+n,a=this._joseUtil.hashString(e.access_token,o);if(!a)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",o),Promise.reject(new Error("Failed to validate at_hash"));var s=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(s);return c!==e.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",c,e.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(e))},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),a=r(4);t.UserInfoService=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.JoseUtil;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!t)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=t,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new s(this._settings),this._joseUtil=c}return e.prototype.getClaims=function(e){var t=this;return e?this._metadataService.getUserInfoEndpoint().then((function(r){return o.Log.debug("UserInfoService.getClaims: received userinfo url",r),t._jsonService.getJson(r,e).then((function(e){return o.Log.debug("UserInfoService.getClaims: claims received",e),e}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},e.prototype._getClaimsFromJwt=function e(t){var r=this;try{var n=this._joseUtil.parseJwt(t.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,a=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":a=this._metadataService.getIssuer();break;case"ANY":a=Promise.resolve(n.payload.iss);break;default:a=Promise.resolve(this._settings.userInfoJwtIssuer)}return a.then((function(e){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+e),r._metadataService.getSigningKeys().then((function(a){if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var s=void 0;if(i)s=a.filter((function(e){return e.kid===i}))[0];else{if((a=r._filterByAlg(a,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));s=a[0]}if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var c=r._settings.client_id,u=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",u),r._joseUtil.validateJwt(t.responseText,s,e,c,u,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(e){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",e.message),void reject(e)}},e.prototype._filterByAlg=function(e,t){var r=null;if(t.startsWith("RS"))r="RSA";else if(t.startsWith("PS"))r="PS";else{if(!t.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",t),[];r="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",r),e=e.filter((function(e){return e.kty===r})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",r,e.length),e},e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AllowedSigningAlgs=t.b64tohex=t.hextob64u=t.crypto=t.X509=t.KeyUtil=t.jws=void 0;var n=r(27);t.jws=n.jws,t.KeyUtil=n.KEYUTIL,t.X509=n.X509,t.crypto=n.crypto,t.hextob64u=n.hextob64u,t.b64tohex=n.b64tohex,t.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var r,n,i,o,a,s,c,u,l,d,p,h="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},f={userAgent:!1},y={},g=g||(r=Math,i=(n={}).lib={},o=i.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var r=new e;return t&&r.mixIn(t),r.hasOwnProperty("init")||(r.init=function(){r.$super.init.apply(this,arguments)}),r.init.prototype=r,r.$super=this,r},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=r.ceil(t/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(r,t/2)}},u=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(r,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},d=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,i=t.sigBytes,o=this.blockSize,s=i/(4*o),c=(s=e?r.ceil(s):r.max((0|s)-this._minBufferSize,0))*o,u=r.min(4*c,i);if(c){for(var l=0;l>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;4>a&&i+.75*a>>6*(3-a)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var r=e.length,n=this._map;(i=n.charAt(64))&&-1!=(i=e.indexOf(i))&&(r=i);for(var i=[],o=0,a=0;a>>6-a%4*2;i[o>>>2]|=(s|c)<<24-o%4*8,o++}return t.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(e){for(var t=g,r=(i=t.lib).WordArray,n=i.Hasher,i=t.algo,o=[],a=[],s=function(e){return 4294967296*(e-(0|e))|0},c=2,u=0;64>u;){var l;e:{l=c;for(var d=e.sqrt(l),p=2;p<=d;p++)if(!(l%p)){l=!1;break e}l=!0}l&&(8>u&&(o[u]=s(e.pow(c,.5))),a[u]=s(e.pow(c,1/3)),u++),c++}var h=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],c=r[4],u=r[5],l=r[6],d=r[7],p=0;64>p;p++){if(16>p)h[p]=0|e[t+p];else{var f=h[p-15],y=h[p-2];h[p]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+h[p-7]+((y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10)+h[p-16]}f=d+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&u^~c&l)+a[p]+h[p],y=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&o^i&o),d=l,l=u,u=c,c=s+f|0,s=o,o=i,i=n,n=f+y|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0,r[5]=r[5]+u|0,r[6]=r[6]+l|0,r[7]=r[7]+d|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=n._createHelper(i),t.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function e(){return n.create.apply(n,arguments)}for(var t=g,r=t.lib.Hasher,n=(o=t.x64).Word,i=o.WordArray,o=t.algo,a=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],s=[],c=0;80>c;c++)s[c]=e();o=o.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=(d=this._hash.words)[0],n=d[1],i=d[2],o=d[3],c=d[4],u=d[5],l=d[6],d=d[7],p=r.high,h=r.low,f=n.high,y=n.low,g=i.high,m=i.low,b=o.high,_=o.low,v=c.high,w=c.low,S=u.high,E=u.low,T=l.high,O=l.low,x=d.high,A=d.low,I=p,R=h,P=f,F=y,D=g,N=m,j=b,C=_,M=v,k=w,L=S,U=E,B=T,V=O,q=x,H=A,$=0;80>$;$++){var G=s[$];if(16>$)var K=G.high=0|e[t+2*$],Q=G.low=0|e[t+2*$+1];else{K=((Q=(K=s[$-15]).high)>>>1|(z=K.low)<<31)^(Q>>>8|z<<24)^Q>>>7;var z=(z>>>1|Q<<31)^(z>>>8|Q<<24)^(z>>>7|Q<<25),J=((Q=(J=s[$-2]).high)>>>19|(W=J.low)<<13)^(Q<<3|W>>>29)^Q>>>6,W=(W>>>19|Q<<13)^(W<<3|Q>>>29)^(W>>>6|Q<<26),X=(Q=s[$-7]).high,Y=(Z=s[$-16]).high,Z=Z.low;K=(K=(K=K+X+((Q=z+Q.low)>>>0>>0?1:0))+J+((Q+=W)>>>0>>0?1:0))+Y+((Q+=Z)>>>0>>0?1:0),G.high=K,G.low=Q}X=M&L^~M&B,Z=k&U^~k&V,G=I&P^I&D^P&D;var ee=R&F^R&N^F&N,te=(z=(I>>>28|R<<4)^(I<<30|R>>>2)^(I<<25|R>>>7),J=(R>>>28|I<<4)^(R<<30|I>>>2)^(R<<25|I>>>7),(W=a[$]).high),re=W.low;Y=q+((M>>>14|k<<18)^(M>>>18|k<<14)^(M<<23|k>>>9))+((W=H+((k>>>14|M<<18)^(k>>>18|M<<14)^(k<<23|M>>>9)))>>>0>>0?1:0),q=B,H=V,B=L,V=U,L=M,U=k,M=j+(Y=(Y=(Y=Y+X+((W+=Z)>>>0>>0?1:0))+te+((W+=re)>>>0>>0?1:0))+K+((W+=Q)>>>0>>0?1:0))+((k=C+W|0)>>>0>>0?1:0)|0,j=D,C=N,D=P,N=F,P=I,F=R,I=Y+(G=z+G+((Q=J+ee)>>>0>>0?1:0))+((R=W+Q|0)>>>0>>0?1:0)|0}h=r.low=h+R,r.high=p+I+(h>>>0>>0?1:0),y=n.low=y+F,n.high=f+P+(y>>>0>>0?1:0),m=i.low=m+N,i.high=g+D+(m>>>0>>0?1:0),_=o.low=_+C,o.high=b+j+(_>>>0>>0?1:0),w=c.low=w+k,c.high=v+M+(w>>>0>>0?1:0),E=u.low=E+U,u.high=S+L+(E>>>0>>0?1:0),O=l.low=O+V,l.high=T+B+(O>>>0>>0?1:0),A=d.low=A+H,d.high=x+q+(A>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=r._createHelper(o),t.HmacSHA512=r._createHmacHelper(o)}(),function(){var e=g,t=(i=e.x64).Word,r=i.WordArray,n=(i=e.algo).SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});e.SHA384=n._createHelper(i),e.HmacSHA384=n._createHmacHelper(i)}();var m,b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function _(e){var t,r,n="";for(t=0;t+3<=e.length;t+=3)r=parseInt(e.substring(t,t+3),16),n+=b.charAt(r>>6)+b.charAt(63&r);for(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=b.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=b.charAt(r>>2)+b.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function v(e){var t,r,n,i="",o=0;for(t=0;t>2),r=3&n,o=1):1==o?(i+=A(r<<2|n>>4),r=15&n,o=2):2==o?(i+=A(r),i+=A(n>>2),r=3&n,o=3):(i+=A(r<<2|n>>4),i+=A(15&n),o=0));return 1==o&&(i+=A(r<<2)),i}function w(e){var t,r=v(e),n=new Array;for(t=0;2*t>15;--o>=0;){var c=32767&this[e],u=this[e++]>>15,l=s*c+u*a;i=((c=a*c+((32767&l)<<15)+r[n]+(1073741823&i))>>>30)+(l>>>15)+s*u+(i>>>30),r[n++]=1073741823&c}return i},m=30):"Netscape"!=f.appName?(S.prototype.am=function(e,t,r,n,i,o){for(;--o>=0;){var a=t*this[e++]+r[n]+i;i=Math.floor(a/67108864),r[n++]=67108863&a}return i},m=26):(S.prototype.am=function(e,t,r,n,i,o){for(var a=16383&t,s=t>>14;--o>=0;){var c=16383&this[e],u=this[e++]>>14,l=s*c+u*a;i=((c=a*c+((16383&l)<<14)+r[n]+i)>>28)+(l>>14)+s*u,r[n++]=268435455&c}return i},m=28),S.prototype.DB=m,S.prototype.DM=(1<>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function F(e){this.m=e}function D(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,t+=16),!(255&e)&&(e>>=8,t+=8),!(15&e)&&(e>>=4,t+=4),!(3&e)&&(e>>=2,t+=2),!(1&e)&&++t,t}function L(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function U(){}function B(e){return e}function V(e){this.r2=E(),this.q3=E(),S.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}F.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},F.prototype.revert=function(e){return e},F.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},F.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},F.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},D.prototype.convert=function(e){var t=E();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t},D.prototype.revert=function(e){var t=E();return e.copyTo(t),this.reduce(t),t},D.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[r=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},D.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},D.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},S.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},S.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},S.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var a=8==r?255&e[n]:I(e,n);a<0?"-"==e.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=a:o+r>this.DB?(this[this.t-1]|=(a&(1<>this.DB-o):this[this.t-1]|=a<=this.DB&&(o-=this.DB))}8==r&&!!(128&e[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t},S.prototype.dlShiftTo=function(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s},S.prototype.drShiftTo=function(e,t){for(var r=e;r=0;--r)t[r+a+1]=this[r]>>i|s,s=(this[r]&o)<=0;--r)t[r]=0;t[a]=s,t.t=this.t+a+1,t.s=this.s,t.clamp()},S.prototype.rShiftTo=function(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,o=(1<>n;for(var a=r+1;a>n;n>0&&(t[this.t-r-1]|=(this.s&o)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()},S.prototype.multiplyTo=function(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()},S.prototype.divRemTo=function(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,l=o[u-1];if(0!=l){var d=l*(1<1?o[u-2]>>this.F2:0),p=this.FV/d,h=(1<=0&&(r[r.t++]=1,r.subTo(m,r)),S.ONE.dlShiftTo(u,m),m.subTo(o,o);o.t=0;){var b=r[--y]==l?this.DM:Math.floor(r[y]*p+(r[y-1]+f)*h);if((r[y]+=o.am(0,b,r,g,0,u))0&&r.rShiftTo(c,r),a<0&&S.ZERO.subTo(r,r)}}},S.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(!(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},S.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},S.prototype.exp=function(e,t){if(e>4294967295||e<1)return S.ONE;var r=E(),n=E(),i=t.convert(this),o=P(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,i,r);else{var a=r;r=n,n=a}return t.revert(r)},S.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,n=(1<0)for(s>s)>0&&(i=!0,o=A(r));a>=0;)s>(s+=this.DB-t)):(r=this[a]>>(s-=t)&n,s<=0&&(s+=this.DB,--a)),r>0&&(i=!0),i&&(o+=A(r));return i?o:"0"},S.prototype.negate=function(){var e=E();return S.ZERO.subTo(this,e),e},S.prototype.abs=function(){return this.s<0?this.negate():this},S.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this[r]-e[r]))return t;return 0},S.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)},S.prototype.mod=function(e){var t=E();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&e.subTo(t,t),t},S.prototype.modPowInt=function(e,t){var r;return r=e<256||t.isEven()?new F(t):new D(t),this.exp(e,r)},S.ZERO=R(0),S.ONE=R(1),U.prototype.convert=B,U.prototype.revert=B,U.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r)},U.prototype.sqrTo=function(e,t){e.squareTo(t)},V.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=E();return e.copyTo(t),this.reduce(t),t},V.prototype.revert=function(e){return e},V.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},V.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},V.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var q,H,$,G=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],K=(1<<26)/G[G.length-1];function Q(){this.i=0,this.j=0,this.S=new Array}function z(){!function(e){H[$++]^=255&e,H[$++]^=e>>8&255,H[$++]^=e>>16&255,H[$++]^=e>>24&255,$>=256&&($-=256)}((new Date).getTime())}if(S.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},S.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=R(r),i=E(),o=E(),a="";for(this.divRemTo(n,i,o);i.signum()>0;)a=(r+o.intValue()).toString(e).substr(1)+a,i.divRemTo(n,i,o);return o.intValue().toString(e)+a},S.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,a=0,s=0;s=r&&(this.dMultiply(n),this.dAddOffset(a,0),o=0,a=0))}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(a,0)),i&&S.ZERO.subTo(this,this)},S.prototype.fromNumber=function(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(S.ONE.shiftLeft(e-1),j,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(S.ONE.shiftLeft(e-1),this);else{var n=new Array,i=7&e;n.length=1+(e>>3),t.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()},S.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},S.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},S.prototype.multiplyLowerTo=function(e,t,r){var n,i=Math.min(this.t+e.t,t);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(t-this.t,0);n0)if(0==t)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r},S.prototype.millerRabin=function(e){var t=this.subtract(S.ONE),r=t.getLowestSetBit();if(r<=0)return!1;var n=t.shiftRight(r);(e=e+1>>1)>G.length&&(e=G.length);for(var i=E(),o=0;o>24},S.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},S.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},S.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var r,n=this.DB-e*this.DB%8,i=0;if(e-- >0)for(n>n)!=(this.s&this.DM)>>n&&(t[i++]=r|this.s<=0;)n<8?(r=(this[e]&(1<>(n+=this.DB-8)):(r=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),!!(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(t[i++]=r);return t},S.prototype.equals=function(e){return 0==this.compareTo(e)},S.prototype.min=function(e){return this.compareTo(e)<0?this:e},S.prototype.max=function(e){return this.compareTo(e)>0?this:e},S.prototype.and=function(e){var t=E();return this.bitwiseTo(e,N,t),t},S.prototype.or=function(e){var t=E();return this.bitwiseTo(e,j,t),t},S.prototype.xor=function(e){var t=E();return this.bitwiseTo(e,C,t),t},S.prototype.andNot=function(e){var t=E();return this.bitwiseTo(e,M,t),t},S.prototype.not=function(){for(var e=E(),t=0;t=this.t?0!=this.s:!!(this[t]&1<1){var l=E();for(n.sqrTo(a[1],l);s<=u;)a[s]=E(),n.mulTo(l,a[s-2],a[s]),s+=2}var d,p,h=e.t-1,f=!0,y=E();for(i=P(e[h])-1;h>=0;){for(i>=c?d=e[h]>>i-c&u:(d=(e[h]&(1<0&&(d|=e[h-1]>>this.DB+i-c)),s=r;!(1&d);)d>>=1,--s;if((i-=s)<0&&(i+=this.DB,--h),f)a[d].copyTo(o),f=!1;else{for(;s>1;)n.sqrTo(o,y),n.sqrTo(y,o),s-=2;s>0?n.sqrTo(o,y):(p=o,o=y,y=p),n.mulTo(y,a[d],o)}for(;h>=0&&!(e[h]&1<=0?(r.subTo(n,r),t&&i.subTo(a,i),o.subTo(s,o)):(n.subTo(r,n),t&&a.subTo(i,a),s.subTo(o,s))}return 0!=n.compareTo(S.ONE)?S.ZERO:s.compareTo(e)>=0?s.subtract(e):s.signum()<0?(s.addTo(e,s),s.signum()<0?s.add(e):s):s},S.prototype.pow=function(e){return this.exp(e,new U)},S.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},S.prototype.isProbablePrime=function(e){var t,r=this.abs();if(1==r.t&&r[0]<=G[G.length-1]){for(t=0;t>>8,H[$++]=255&J;$=0,z()}function Z(){if(null==q){for(z(),(q=new Q).init(H),$=0;$>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function ne(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ie(e,t){this.x=t,this.q=e}function oe(e,t,r,n){this.curve=e,this.x=t,this.y=r,this.z=null==n?S.ONE:n,this.zinv=null}function ae(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new oe(this,null,null)}ee.prototype.nextBytes=function(e){var t;for(t=0;t0&&t.length>0))throw"Invalid RSA public key";this.n=te(e,16),this.e=parseInt(t,16)}},ne.prototype.encrypt=function(e){var t=function(e,t){if(t=0&&t>0;){var i=e.charCodeAt(n--);i<128?r[--t]=i:i>127&&i<2048?(r[--t]=63&i|128,r[--t]=i>>6|192):(r[--t]=63&i|128,r[--t]=i>>6&63|128,r[--t]=i>>12|224)}r[--t]=0;for(var o=new ee,a=new Array;t>2;){for(a[0]=0;0==a[0];)o.nextBytes(a);r[--t]=a[0]}return r[--t]=2,r[--t]=0,new S(r)}(e,this.n.bitLength()+7>>3);if(null==t)return null;var r=this.doPublic(t);if(null==r)return null;var n=r.toString(16);return 1&n.length?"0"+n:n},ne.prototype.encryptOAEP=function(e,t,r){var n=function(e,t,r,n){var i=ce.crypto.MessageDigest,o=ce.crypto.Util,a=null;if(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(e){return Se(o.hashHex(Ee(e),a))}),e.length+2*n+2>t)throw"Message too long for RSA";var s,c="";for(s=0;s>3,t,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var o=i.toString(16);return 1&o.length?"0"+o:o},ne.prototype.type="RSA",ie.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.x.equals(e.x)},ie.prototype.toBigInteger=function(){return this.x},ie.prototype.negate=function(){return new ie(this.q,this.x.negate().mod(this.q))},ie.prototype.add=function(e){return new ie(this.q,this.x.add(e.toBigInteger()).mod(this.q))},ie.prototype.subtract=function(e){return new ie(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))},ie.prototype.multiply=function(e){return new ie(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))},ie.prototype.square=function(){return new ie(this.q,this.x.square().mod(this.q))},ie.prototype.divide=function(e){return new ie(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))},oe.prototype.getX=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},oe.prototype.getY=function(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},oe.prototype.equals=function(e){return e==this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():!!e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(S.ZERO)&&e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(S.ZERO))},oe.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(S.ZERO)&&!this.y.toBigInteger().equals(S.ZERO)},oe.prototype.negate=function(){return new oe(this.curve,this.x,this.y.negate(),this.z)},oe.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),r=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);if(S.ZERO.equals(r))return S.ZERO.equals(t)?this.twice():this.curve.getInfinity();var n=new S("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),a=(e.x.toBigInteger(),e.y.toBigInteger(),r.square()),s=a.multiply(r),c=i.multiply(a),u=t.square().multiply(this.z),l=u.subtract(c.shiftLeft(1)).multiply(e.z).subtract(s).multiply(r).mod(this.curve.q),d=c.multiply(n).multiply(t).subtract(o.multiply(s)).subtract(u.multiply(t)).multiply(e.z).add(t.multiply(s)).mod(this.curve.q),p=s.multiply(this.z).multiply(e.z).mod(this.curve.q);return new oe(this.curve,this.curve.fromBigInteger(l),this.curve.fromBigInteger(d),p)},oe.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=new S("3"),t=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),a=t.square().multiply(e);S.ZERO.equals(o)||(a=a.add(this.z.square().multiply(o)));var s=(a=a.mod(this.curve.q)).square().subtract(t.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),c=a.multiply(e).multiply(t).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(a.square().multiply(a)).mod(this.curve.q),u=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new oe(this.curve,this.curve.fromBigInteger(s),this.curve.fromBigInteger(c),u)},oe.prototype.multiply=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,r=e,n=r.multiply(new S("3")),i=this.negate(),o=this,a=this.curve.q.subtract(e),s=a.multiply(new S("3")),c=new oe(this.curve,this.x,this.y),u=c.negate();for(t=n.bitLength()-2;t>0;--t){o=o.twice();var l=n.testBit(t);l!=r.testBit(t)&&(o=o.add(l?this:i))}for(t=s.bitLength()-2;t>0;--t){c=c.twice();var d=s.testBit(t);d!=a.testBit(t)&&(c=c.add(d?c:u))}return o},oe.prototype.multiplyTwo=function(e,t,r){var n;n=e.bitLength()>r.bitLength()?e.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(t);n>=0;)i=i.twice(),e.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(t)),--n;return i},ae.prototype.getQ=function(){return this.q},ae.prototype.getA=function(){return this.a},ae.prototype.getB=function(){return this.b},ae.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)},ae.prototype.getInfinity=function(){return this.infinity},ae.prototype.fromBigInteger=function(e){return new ie(this.q,e)},ae.prototype.decodePointHex=function(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:default:return null;case 4:case 6:case 7:var t=(e.length-2)/2,r=e.substr(2,t),n=e.substr(t+2,t);return new oe(this,this.fromBigInteger(new S(r,16)),this.fromBigInteger(new S(n,16)))}},ie.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},oe.prototype.getEncoded=function(e){var t=function(e,t){var r=e.toByteArrayUnsigned();if(tr.length;)r.unshift(0);return r},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=t(r,32);return e?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(t(n,32))),i},oe.decodeFrom=function(e,t){t[0];var r=t.length-1,n=t.slice(1,1+r/2),i=t.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new S(n),a=new S(i);return new oe(e,e.fromBigInteger(o),e.fromBigInteger(a))},oe.decodeFromHex=function(e,t){t.substr(0,2);var r=t.length-2,n=t.substr(2,r/2),i=t.substr(2+r/2,r/2),o=new S(n,16),a=new S(i,16);return new oe(e,e.fromBigInteger(o),e.fromBigInteger(a))},oe.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y).divide(t),n=r.square().subtract(this.x).subtract(e.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new oe(this.curve,n,i)},oe.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=this.curve.fromBigInteger(S.valueOf(2)),t=this.curve.fromBigInteger(S.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new oe(this.curve,n,i)},oe.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,r=e,n=r.multiply(new S("3")),i=this.negate(),o=this;for(t=n.bitLength()-2;t>0;--t){o=o.twice();var a=n.testBit(t);a!=r.testBit(t)&&(o=o.add2D(a?this:i))}return o},oe.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=t.multiply(t).mod(i),a=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(i);return o.equals(a)},oe.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},oe.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(S.ONE)<0||t.compareTo(e.subtract(S.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(S.ONE)<0||r.compareTo(e.subtract(S.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var se=function(){var e=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),t=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),r={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function n(e,t,n){return t?r[t]:String.fromCharCode(parseInt(n,16))}var i=new String(""),o=Object.hasOwnProperty;return function(r,a){var s,c,u=r.match(e),l=u[0],d=!1;"{"===l?s={}:"["===l?s=[]:(s=[],d=!0);for(var p=[s],f=1-d,y=u.length;f=0;)delete n[i[u]]}return a.call(t,r,n)}({"":s},"")),s}}();void 0!==ce&&ce||(t.KJUR=ce={}),void 0!==ce.asn1&&ce.asn1||(ce.asn1={}),ce.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var r=t.substr(1).length;r%2==1?r+=1:t.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+r).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(e){this.params=e},null!=e&&null!=e.tlv&&(this.hTLV=e.tlv,this.isModified=!1)},ce.asn1.DERAbstractString=function(e){ce.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=ve(this.s).toLowerCase()},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?this.setString(e):void 0!==e.str?this.setString(e.str):void 0!==e.hex&&this.setStringHex(e.hex))},Ve(ce.asn1.DERAbstractString,ce.asn1.ASN1Object),ce.asn1.DERAbstractTime=function(e){ce.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(e){var t=e.getTime()+6e4*e.getTimezoneOffset();return new Date(t)},this.formatDate=function(e,t,r){var n=this.zeroPadding,i=this.localDateToUTC(e),o=String(i.getFullYear());"utc"==t&&(o=o.substr(2,2));var a=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var s=i.getMilliseconds();if(0!=s){var c=n(String(s),3);a=a+"."+(c=c.replace(/[0]+$/,""))}}return a+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=ye(e)},this.setByDateValue=function(e,t,r,n,i,o){var a=new Date(Date.UTC(e,t-1,r,n,i,o,0));this.setByDate(a)},this.getFreshValueHex=function(){return this.hV}},Ve(ce.asn1.DERAbstractTime,ce.asn1.ASN1Object),ce.asn1.DERAbstractStructured=function(e){ce.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,void 0!==e&&void 0!==e.array&&(this.asn1Array=e.array)},Ve(ce.asn1.DERAbstractStructured,ce.asn1.ASN1Object),ce.asn1.DERBoolean=function(e){ce.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==e?"010100":"0101ff"},Ve(ce.asn1.DERBoolean,ce.asn1.ASN1Object),ce.asn1.DERInteger=function(e){ce.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=ce.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new S(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.bigint?this.setByBigInteger(e.bigint):void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},Ve(ce.asn1.DERInteger,ce.asn1.ASN1Object),ce.asn1.DERBitString=function(e){if(void 0!==e&&void 0!==e.obj){var t=ce.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}ce.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7i.length&&(i=n[r]);return(e=e.replace(i,"::")).slice(1,-1)}function Ce(e){var t="malformed hex value";if(!e.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw t;if(8!=e.length)return 32==e.length?je(e):e;try{return parseInt(e.substr(0,2),16)+"."+parseInt(e.substr(2,2),16)+"."+parseInt(e.substr(4,2),16)+"."+parseInt(e.substr(6,2),16)}catch(e){throw t}}function Me(e){return e.match(/.{4}/g).map((function(e){var t=parseInt(e.substr(0,2),16),r=parseInt(e.substr(2),16);if(0==t&r<128)return String.fromCharCode(r);if(t<8){var n=128|63&r;return we((192|(7&t)<<3|(192&r)>>6).toString(16)+n.toString(16))}n=128|(15&t)<<2|(192&r)>>6;var i=128|63&r;return we((224|(240&t)>>4).toString(16)+n.toString(16)+i.toString(16))})).join("")}function ke(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}de.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var r=parseInt(e.substr(t+3,1));return 0==r?-1:0=n)break}return a},de.getNthChildIdx=function(e,t,r){return de.getChildIdx(e,t)[r]},de.getIdxbyList=function(e,t,r,n){var i,o,a=de;return 0==r.length?void 0!==n&&e.substr(t,2)!==n?-1:t:(i=r.shift())>=(o=a.getChildIdx(e,t)).length?-1:a.getIdxbyList(e,o[i],r,n)},de.getIdxbyListEx=function(e,t,r,n){var i,o,a=de;if(0==r.length)return void 0!==n&&e.substr(t,2)!==n?-1:t;i=r.shift(),o=a.getChildIdx(e,t);for(var s=0,c=0;c=e.length?null:i.getTLV(e,o)},de.getTLVbyListEx=function(e,t,r,n){var i=de,o=i.getIdxbyListEx(e,t,r,n);return-1==o?null:i.getTLV(e,o)},de.getVbyList=function(e,t,r,n,i){var o,a,s=de;return-1==(o=s.getIdxbyList(e,t,r,n))||o>=e.length?null:(a=s.getV(e,o),!0===i&&(a=a.substr(2)),a)},de.getVbyListEx=function(e,t,r,n,i){var o,a,s=de;return-1==(o=s.getIdxbyListEx(e,t,r,n))?null:(a=s.getV(e,o),"03"==e.substr(o,2)&&!1!==i&&(a=a.substr(2)),a)},de.getInt=function(e,t,r){null==r&&(r=-1);try{var n=e.substr(t,2);if("02"!=n&&"03"!=n)return r;var i=de.getV(e,t);return"02"==n?parseInt(i,16):function(e){try{var t=e.substr(0,2);if("00"==t)return parseInt(e.substr(2),16);var r=parseInt(t,16),n=e.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(e){return-1}}(i)}catch(e){return r}},de.getOID=function(e,t,r){null==r&&(r=null);try{return"06"!=e.substr(t,2)?r:function(e){if(!Le(e))return null;try{var t=[],r=e.substr(0,2),n=parseInt(r,16);t[0]=new String(Math.floor(n/40)),t[1]=new String(n%40);for(var i=e.substr(2),o=[],a=0;a0&&(u=u+"."+s.join(".")),u}catch(e){return null}}(de.getV(e,t))}catch(e){return r}},de.getOIDName=function(e,t,r){null==r&&(r=null);try{var n=de.getOID(e,t,r);if(n==r)return r;var i=ce.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(e){return r}},de.getString=function(e,t,r){null==r&&(r=null);try{return Se(de.getV(e,t))}catch(e){return r}},de.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=e.substr(2),a=[],s=0;s0&&(l=l+"."+c.join(".")),l},de.dump=function(e,t,r,n){var i=de,o=i.getV,a=i.dump,s=i.getChildIdx,c=e;e instanceof ce.asn1.ASN1Object&&(c=e.getEncodedHex());var u=function(e,t){return e.length<=2*t?e:e.substr(0,t)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-t,t)};void 0===t&&(t={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var l,d=t.ommit_long_octet;if("01"==(l=c.substr(r,2)))return"00"==(p=o(c,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==l)return n+"INTEGER "+u(p=o(c,r),d)+"\n";if("03"==l){var p=o(c,r);return i.isASN1HEX(p.substr(2))?(w=n+"BITSTRING, encapsulates\n")+a(p.substr(2),t,0,n+" "):n+"BITSTRING "+u(p,d)+"\n"}if("04"==l)return p=o(c,r),i.isASN1HEX(p)?(w=n+"OCTETSTRING, encapsulates\n")+a(p,t,0,n+" "):n+"OCTETSTRING "+u(p,d)+"\n";if("05"==l)return n+"NULL\n";if("06"==l){var h=o(c,r),f=ce.asn1.ASN1Util.oidHexToInt(h),y=ce.asn1.x509.OID.oid2name(f),g=f.replace(/\./g," ");return""!=y?n+"ObjectIdentifier "+y+" ("+g+")\n":n+"ObjectIdentifier ("+g+")\n"}if("0a"==l)return n+"ENUMERATED "+parseInt(o(c,r))+"\n";if("0c"==l)return n+"UTF8String '"+we(o(c,r))+"'\n";if("13"==l)return n+"PrintableString '"+we(o(c,r))+"'\n";if("14"==l)return n+"TeletexString '"+we(o(c,r))+"'\n";if("16"==l)return n+"IA5String '"+we(o(c,r))+"'\n";if("17"==l)return n+"UTCTime "+we(o(c,r))+"\n";if("18"==l)return n+"GeneralizedTime "+we(o(c,r))+"\n";if("1a"==l)return n+"VisualString '"+we(o(c,r))+"'\n";if("1e"==l)return n+"BMPString '"+Me(o(c,r))+"'\n";if("30"==l){if("3000"==c.substr(r,4))return n+"SEQUENCE {}\n";w=n+"SEQUENCE\n";var m=t;if((2==(v=s(c,r)).length||3==v.length)&&"06"==c.substr(v[0],2)&&"04"==c.substr(v[v.length-1],2)){y=i.oidname(o(c,v[0]));var b=JSON.parse(JSON.stringify(t));b.x509ExtName=y,m=b}for(var _=0;_31)&&128==(192&r)&&(31&r)==n}catch(e){return!1}},de.isASN1HEX=function(e){var t=de;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0);return e.length-n.length-i.length==2*r},de.checkStrictDER=function(e,t,r,n,i){var o=de;if(void 0===r){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!ce.lang.String.isHex(e))throw new Error("not hex string");r=e.length,i=(n=e.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(e,t).length>2*i)throw new Error("L of TLV too long: idx="+t);var a=o.getVblen(e,t);if(a>n)throw new Error("value of L too long than hex: idx="+t);var s=o.getTLV(e,t),c=s.length-2-o.getL(e,t).length;if(c!==2*a)throw new Error("V string length and L's value not the same:"+c+"/"+2*a);if(0===t&&e.length!=s.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+s.length);var u=e.substr(t,2);if("02"===u){var l=o.getVidx(e,t);if("00"==e.substr(l,2)&&e.charCodeAt(l+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(u,16)){for(var d=o.getVblen(e,t),p=0,h=o.getChildIdx(e,t),f=0;f=t?e:new Array(t-e.length+1).join(r)+e};function Ve(e,t){var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t)}void 0!==ce&&ce||(t.KJUR=ce={}),void 0!==ce.crypto&&ce.crypto||(ce.crypto={}),ce.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:g.algo.MD5,sha1:g.algo.SHA1,sha224:g.algo.SHA224,sha256:g.algo.SHA256,sha384:g.algo.SHA384,sha512:g.algo.SHA512,ripemd160:g.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(void 0===this.DIGESTINFOHEAD[t])throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+t;for(var o="00"+n,a="",s=i-4-o.length,c=0;c=0)return!1;if(n.compareTo(r.ONE)<0||n.compareTo(o)>=0)return!1;var s=n.modInverse(o),c=e.multiply(s).mod(o),u=t.multiply(s).mod(o);return a.multiply(c).add(i.multiply(u)).getX().toBigInteger().mod(o).equals(t)},this.serializeSig=function(e,t){var r=e.toByteArraySigned(),n=t.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(e){var t;if(48!=e[0])throw new Error("Signature not a valid DERSequence");if(2!=e[t=2])throw new Error("First element in signature must be a DERInteger");var n=e.slice(t+2,t+2+e[t+1]);if(2!=e[t+=2+e[t+1]])throw new Error("Second element in signature must be a DERInteger");var i=e.slice(t+2,t+2+e[t+1]);return t+=2+e[t+1],{r:r.fromByteArrayUnsigned(n),s:r.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(e){if(65!==e.length)throw"Signature has the wrong length";var t=e[0]-27;if(t<0||t>7)throw"Invalid signature type";var n=this.ecparams.n;return{r:r.fromByteArrayUnsigned(e.slice(1,33)).mod(n),s:r.fromByteArrayUnsigned(e.slice(33,65)).mod(n),i:t}},this.readPKCS5PrvKeyHex=function(e){if(!1===u(e))throw new Error("not ASN.1 hex string");var t,r,n;try{t=c(e,0,["[0]",0],"06"),r=c(e,0,[1],"04");try{n=c(e,0,["[1]",0],"03")}catch(e){}}catch(e){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(t),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(e){if(!1===u(e))throw new t("not ASN.1 hex string");var r,n,i;try{c(e,0,[1,0],"06"),r=c(e,0,[1,1],"06"),n=c(e,0,[2,0,1],"04");try{i=c(e,0,[2,0,"[1]",0],"03")}catch(e){}}catch(e){throw new t("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(e){if(!1===u(e))throw new t("not ASN.1 hex string");var r,n;try{c(e,0,[0,0],"06"),r=c(e,0,[0,1],"06"),n=c(e,0,[1],"03")}catch(e){throw new t("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(e,r){if(!1===u(e))throw new t("not ASN.1 hex string");var n,i;try{n=c(e,0,[0,5,0,1],"06"),i=c(e,0,[0,5,1],"03")}catch(e){throw new t("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new t("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==e&&void 0!==e.curve&&(this.curveName=e.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==e&&(void 0!==e.prv&&this.setPrivateKeyHex(e.prv),void 0!==e.pub&&this.setPublicKeyHex(e.pub))},ce.crypto.ECDSA.parseSigHex=function(e){var t=ce.crypto.ECDSA.parseSigHexInHexRS(e);return{r:new S(t.r,16),s:new S(t.s,16)}},ce.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=de,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),"30"!=e.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(e,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],a=i[1];if("02"!=e.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=e.substr(a,2))throw new Error("2nd item not ASN.1 integer");return{r:n(e,o),s:n(e,a)}},ce.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=ce.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},ce.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return ce.crypto.ECDSA.hexRSSigToASN1Sig(t,r)},ce.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new S(e,16),n=new S(t,16);return ce.crypto.ECDSA.biRSSigToASN1Sig(r,n)},ce.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=ce.asn1,n=new r.DERInteger({bigint:e}),i=new r.DERInteger({bigint:t});return new r.DERSequence({array:[n,i]}).getEncodedHex()},ce.crypto.ECDSA.getName=function(e){return"2b8104001f"===e?"secp192k1":"2a8648ce3d030107"===e?"secp256r1":"2b8104000a"===e?"secp256k1":"2b81040021"===e?"secp224r1":"2b81040022"===e?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)?"secp256r1":-1!=="|secp256k1|".indexOf(e)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(e)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(e)?"secp384r1":null},void 0!==ce&&ce||(t.KJUR=ce={}),void 0!==ce.crypto&&ce.crypto||(ce.crypto={}),ce.crypto.ECParameterDB=new function(){var e={},t={};function r(e){return new S(e,16)}this.getByName=function(r){var n=r;if(void 0!==t[n]&&(n=t[r]),void 0!==e[n])return e[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,a,s,c,u,l,d,p,h,f){e[n]={};var y=r(o),g=r(a),m=r(s),b=r(c),_=r(u),v=new ae(y,g,m),w=v.decodePointHex("04"+l+d);e[n].name=n,e[n].keylen=i,e[n].curve=v,e[n].G=w,e[n].n=b,e[n].h=_,e[n].oid=h,e[n].info=f;for(var S=0;S=2*s)break}var d={};return d.keyhex=c.substr(0,2*i[e].keylen),d.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),d},s=function(e,t,r,n){var o=g.enc.Base64.parse(e),a=g.enc.Hex.stringify(o);return(0,i[t].proc)(a,r,n)};return{version:"1.0.0",parsePKCS5PEM:function(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,r){return a(e,t,r)},decryptKeyB64:function(e,t,r,n){return s(e,t,r,n)},getDecryptedKeyHex:function(e,t){var r=o(e),n=(r.type,r.cipher),i=r.ivsalt,c=r.data,u=a(n,t,i).keyhex;return s(c,n,u,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,r,n,o){var s="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===i[n])throw new Error("KEYUTIL unsupported algorithm: "+n);void 0!==o&&null!=o||(o=function(e){var t=g.lib.WordArray.random(e);return g.enc.Hex.stringify(t)}(i[n].ivlen).toUpperCase());var c=function(e,t,r,n){return(0,i[t].eproc)(e,r,n)}(t,n,a(n,r,o).keyhex,o);return s="-----BEGIN "+e+" PRIVATE KEY-----\r\n",s+="Proc-Type: 4,ENCRYPTED\r\n",s+="DEK-Info: "+n+","+o+"\r\n",s+="\r\n",(s+=c.replace(/(.{64})/g,"$1\r\n"))+"\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={},o=r(e,0);if(2!=o.length)throw new Error("malformed format: SEQUENCE(0).items != 2: "+o.length);i.ciphertext=n(e,o[1]);var a=r(e,o[0]);if(2!=a.length)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+a.length);if("2a864886f70d01050d"!=n(e,a[0]))throw new Error("this only supports pkcs5PBES2");var s=r(e,a[1]);if(2!=a.length)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+s.length);var c=r(e,s[1]);if(2!=c.length)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+c.length);if("2a864886f70d0307"!=n(e,c[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(e,c[1]);var u=r(e,s[0]);if(2!=u.length)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+u.length);if("2a864886f70d01050c"!=n(e,u[0]))throw new Error("this only supports pkcs5PBKDF2");var l=r(e,u[1]);if(l.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+l.length);i.pbkdf2Salt=n(e,l[0]);var d=n(e,l[1]);try{i.pbkdf2Iter=parseInt(d,16)}catch(e){throw new Error("malformed format pbkdf2Iter: "+d)}return i},getPBKDF2KeyHexFromParam:function(e,t){var r=g.enc.Hex.parse(e.pbkdf2Salt),n=e.pbkdf2Iter,i=g.PBKDF2(t,r,{keySize:6,iterations:n});return g.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var r=Ie(e,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=qe.getPBKDF2KeyHexFromParam(n,t),o={};o.ciphertext=g.enc.Hex.parse(n.ciphertext);var a=g.enc.Hex.parse(i),s=g.enc.Hex.parse(n.encryptionSchemeIV),c=g.TripleDES.decrypt(o,a,{iv:s});return g.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function(e,t){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={algparam:null};if("30"!=e.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var o=r(e,0);if(o.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=e.substr(o[1],2))throw new Error("malformed PKCS8 private key(code:003)");var a=r(e,o[1]);if(2!=a.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=e.substr(a[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(i.algoid=n(e,a[0]),"06"==e.substr(a[1],2)&&(i.algparam=n(e,a[1])),"04"!=e.substr(o[2],2))throw new Error("malformed PKCS8 private key(code:006)");return i.keyidx=t.getVidx(e,o[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=Ie(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(t)},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,r=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==r.algoid)t=new ne;else if("2a8648ce380401"==r.algoid)t=new ce.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw new Error("unsupported private key algorithm");t=new ce.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,r=de.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===r)t=new ne;else if("2a8648ce380401"===r)t=new ce.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw new Error("unsupported PKCS#8 public key hex");t=new ce.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={};if("30"!=e.substr(0,2))throw new Error("malformed RSA key(code:001)");var o=r(e,0);if(2!=o.length)throw new Error("malformed RSA key(code:002)");if("02"!=e.substr(o[0],2))throw new Error("malformed RSA key(code:003)");if(i.n=n(e,o[0]),"02"!=e.substr(o[1],2))throw new Error("malformed RSA key(code:004)");return i.e=n(e,o[1]),i},parsePublicPKCS8Hex:function(e){var t=de,r=t.getChildIdx,n=t.getV,i={algparam:null},o=r(e,0);if(2!=o.length)throw new Error("outer DERSequence shall have 2 elements: "+o.length);var a=o[0];if("30"!=e.substr(a,2))throw new Error("malformed PKCS8 public key(code:001)");var s=r(e,a);if(2!=s.length)throw new Error("malformed PKCS8 public key(code:002)");if("06"!=e.substr(s[0],2))throw new Error("malformed PKCS8 public key(code:003)");if(i.algoid=n(e,s[0]),"06"==e.substr(s[1],2)?i.algparam=n(e,s[1]):"30"==e.substr(s[1],2)&&(i.algparam={},i.algparam.p=t.getVbyList(e,s[1],[0],"02"),i.algparam.q=t.getVbyList(e,s[1],[1],"02"),i.algparam.g=t.getVbyList(e,s[1],[2],"02")),"03"!=e.substr(o[1],2))throw new Error("malformed PKCS8 public key(code:004)");return i.key=n(e,o[1]).substr(2),i}}}();function He(e,t){for(var r="",n=t/4-e.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Ge(e){for(var t in ce.crypto.Util.DIGESTINFOHEAD){var r=ce.crypto.Util.DIGESTINFOHEAD[t],n=r.length;if(e.substring(0,n)==r)return[t,e.substring(n)]}return[]}function Ke(e){var t,r=de,n=r.getChildIdx,i=r.getV,o=r.getTLV,a=r.getVbyList,s=r.getVbyListEx,c=r.getTLVbyList,u=r.getTLVbyListEx,l=r.getIdxbyList,d=r.getIdxbyListEx,p=r.getVidx,h=r.getInt,f=r.oidname,y=r.hextooidstr,g=Ie;try{t=ce.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(e){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(null===this.hex||0!==this.version)return this.version;var e=c(this.hex,0,[0,0]);if("a0"==e.substr(0,2)){var t=c(e,0,[0]),r=h(t,0);if(r<0||21){var s=o(e,a[1]),c=this.getGeneralName(s);null!=c.uri&&(i.uri=c.uri)}if(a.length>2){var u=o(e,a[2]);"0101ff"==u&&(i.reqauth=!0),"010100"==u&&(i.reqauth=!1)}return i},this.getX500NameRule=function(e){for(var t=null,r=[],n=0;n0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){null==e&&-1!=d(this.hex,0,[0,"[3]"])&&(e=u(this.hex,0,[0,"[3]",0],"30"));for(var t=[],r=n(e,0),i=0;i2&&"04"===g.substr(y[1],2)))throw new Error("unsupported PKCS#1/5 hexadecimal key");(R=new s).readPKCS5PrvKeyHex(g)}return R}if("pkcs8prv"===r)return d.getKeyFromPlainPrivatePKCS8Hex(e);if("pkcs8pub"===r)return d._getKeyFromPublicPKCS8Hex(e);if("x509pub"===r)return Ke.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return Ke.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var b=Ie(e,"PUBLIC KEY");return d._getKeyFromPublicPKCS8Hex(b)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var _=l(e,"RSA PRIVATE KEY");return d.getKey(_,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var v=o(n=l(e,"DSA PRIVATE KEY"),0,[1],"02"),w=o(n,0,[2],"02"),E=o(n,0,[3],"02"),T=o(n,0,[4],"02"),O=o(n,0,[5],"02");return(R=new c).setPrivate(new S(v,16),new S(w,16),new S(E,16),new S(T,16),new S(O,16)),R}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED"))return _=l(e,"EC PRIVATE KEY"),d.getKey(_,null,"pkcs5prv");if(-1!=e.indexOf("-END PRIVATE KEY-"))return d.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var x=d.getDecryptedKeyHex(e,t),A=new ne;return A.readPKCS5PrvKeyHex(x),A}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var I,R=o(n=d.getDecryptedKeyHex(e,t),0,[1],"04"),P=o(n,0,[2,0],"06"),F=o(n,0,[3,0],"03").substr(2);if(void 0===ce.crypto.OID.oidhex2name[P])throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+P);return(I=new s({curve:ce.crypto.OID.oidhex2name[P]})).setPublicKeyHex(F),I.setPrivateKeyHex(R),I.isPublic=!1,I}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED"))return v=o(n=d.getDecryptedKeyHex(e,t),0,[1],"02"),w=o(n,0,[2],"02"),E=o(n,0,[3],"02"),T=o(n,0,[4],"02"),O=o(n,0,[5],"02"),(R=new c).setPrivate(new S(v,16),new S(w,16),new S(E,16),new S(T,16),new S(O,16)),R;if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return d.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},qe.generateKeypair=function(e,t){if("RSA"==e){var r=t;(a=new ne).generate(r,"10001"),a.isPrivate=!0,a.isPublic=!0;var n=new ne,i=a.n.toString(16),o=a.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(s={}).prvKeyObj=a,s.pubKeyObj=n,s}if("EC"==e){var a,s,c=t,u=new ce.crypto.ECDSA({curve:c}).generateKeyPairHex();return(a=new ce.crypto.ECDSA({curve:c})).setPublicKeyHex(u.ecpubhex),a.setPrivateKeyHex(u.ecprvhex),a.isPrivate=!0,a.isPublic=!1,(n=new ce.crypto.ECDSA({curve:c})).setPublicKeyHex(u.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(s={}).prvKeyObj=a,s.pubKeyObj=n,s}throw new Error("unknown algorithm: "+e)},qe.getPEM=function(e,t,r,n,i,o){var a=ce,s=a.asn1,c=s.DERObjectIdentifier,u=s.DERInteger,l=s.ASN1Util.newObject,d=s.x509.SubjectPublicKeyInfo,p=a.crypto,h=p.DSA,f=p.ECDSA,y=ne;function m(e){return l({seq:[{int:0},{int:{bigint:e.n}},{int:e.e},{int:{bigint:e.d}},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.dmp1}},{int:{bigint:e.dmq1}},{int:{bigint:e.coeff}}]})}function b(e){return l({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a0",!0,{oid:{name:e.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]})}function _(e){return l({seq:[{int:0},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}},{int:{bigint:e.y}},{int:{bigint:e.x}}]})}if((void 0!==y&&e instanceof y||void 0!==h&&e instanceof h||void 0!==f&&e instanceof f)&&1==e.isPublic&&(void 0===t||"PKCS8PUB"==t))return Ae(E=new d(e).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==t&&void 0!==y&&e instanceof y&&(void 0===r||null==r)&&1==e.isPrivate)return Ae(E=m(e).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==t&&void 0!==f&&e instanceof f&&(void 0===r||null==r)&&1==e.isPrivate){var v=new c({name:e.curveName}).getEncodedHex(),w=b(e).getEncodedHex(),S="";return(S+=Ae(v,"EC PARAMETERS"))+Ae(w,"EC PRIVATE KEY")}if("PKCS1PRV"==t&&void 0!==h&&e instanceof h&&(void 0===r||null==r)&&1==e.isPrivate)return Ae(E=_(e).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==t&&void 0!==y&&e instanceof y&&void 0!==r&&null!=r&&1==e.isPrivate){var E=m(e).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",E,r,n,o)}if("PKCS5PRV"==t&&void 0!==f&&e instanceof f&&void 0!==r&&null!=r&&1==e.isPrivate)return E=b(e).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",E,r,n,o);if("PKCS5PRV"==t&&void 0!==h&&e instanceof h&&void 0!==r&&null!=r&&1==e.isPrivate)return E=_(e).getEncodedHex(),void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",E,r,n,o);var T=function(e,t){var r=O(e,t);return new l({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},O=function(e,t){var r=g.lib.WordArray.random(8),n=g.lib.WordArray.random(8),i=g.PBKDF2(t,r,{keySize:6,iterations:100}),o=g.enc.Hex.parse(e),a=g.TripleDES.encrypt(o,i,{iv:n})+"",s={};return s.ciphertext=a,s.pbkdf2Salt=g.enc.Hex.stringify(r),s.pbkdf2Iter=100,s.encryptionSchemeAlg="DES-EDE3-CBC",s.encryptionSchemeIV=g.enc.Hex.stringify(n),s};if("PKCS8PRV"==t&&null!=y&&e instanceof y&&1==e.isPrivate){var x=m(e).getEncodedHex();return E=l({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:x}}]}).getEncodedHex(),void 0===r||null==r?Ae(E,"PRIVATE KEY"):Ae(w=T(E,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==f&&e instanceof f&&1==e.isPrivate)return x=new l({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]}).getEncodedHex(),E=l({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:x}}]}).getEncodedHex(),void 0===r||null==r?Ae(E,"PRIVATE KEY"):Ae(w=T(E,r),"ENCRYPTED PRIVATE KEY");if("PKCS8PRV"==t&&void 0!==h&&e instanceof h&&1==e.isPrivate)return x=new u({bigint:e.x}).getEncodedHex(),E=l({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:x}}]}).getEncodedHex(),void 0===r||null==r?Ae(E,"PRIVATE KEY"):Ae(w=T(E,r),"ENCRYPTED PRIVATE KEY");throw new Error("unsupported object nor format")},qe.getKeyFromCSRPEM=function(e){var t=Ie(e,"CERTIFICATE REQUEST");return qe.getKeyFromCSRHex(t)},qe.getKeyFromCSRHex=function(e){var t=qe.parseCSRHex(e);return qe.getKey(t.p8pubkeyhex,null,"pkcs8pub")},qe.parseCSRHex=function(e){var t=de,r=t.getChildIdx,n=t.getTLV,i={},o=e;if("30"!=o.substr(0,2))throw new Error("malformed CSR(code:001)");var a=r(o,0);if(a.length<1)throw new Error("malformed CSR(code:002)");if("30"!=o.substr(a[0],2))throw new Error("malformed CSR(code:003)");var s=r(o,a[0]);if(s.length<3)throw new Error("malformed CSR(code:004)");return i.p8pubkeyhex=n(o,s[2]),i},qe.getKeyID=function(e){var t=qe,r=de;"string"==typeof e&&-1!=e.indexOf("BEGIN ")&&(e=t.getKey(e));var n=Ie(t.getPEM(e)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return ce.crypto.Util.hashHex(o,"sha1")},qe.getJWKFromKey=function(e){var t={};if(e instanceof ne&&e.isPrivate)return t.kty="RSA",t.n=be(e.n.toString(16)),t.e=be(e.e.toString(16)),t.d=be(e.d.toString(16)),t.p=be(e.p.toString(16)),t.q=be(e.q.toString(16)),t.dp=be(e.dmp1.toString(16)),t.dq=be(e.dmq1.toString(16)),t.qi=be(e.coeff.toString(16)),t;if(e instanceof ne&&e.isPublic)return t.kty="RSA",t.n=be(e.n.toString(16)),t.e=be(e.e.toString(16)),t;if(e instanceof ce.crypto.ECDSA&&e.isPrivate){if("P-256"!==(n=e.getShortNISTPCurveName())&&"P-384"!==n)throw new Error("unsupported curve name for JWT: "+n);var r=e.getPublicKeyXYHex();return t.kty="EC",t.crv=n,t.x=be(r.x),t.y=be(r.y),t.d=be(e.prvKeyHex),t}if(e instanceof ce.crypto.ECDSA&&e.isPublic){var n;if("P-256"!==(n=e.getShortNISTPCurveName())&&"P-384"!==n)throw new Error("unsupported curve name for JWT: "+n);return r=e.getPublicKeyXYHex(),t.kty="EC",t.crv=n,t.x=be(r.x),t.y=be(r.y),t}throw new Error("not supported key object")},ne.getPosArrayOfChildrenFromHex=function(e){return de.getChildIdx(e,0)},ne.getHexValueArrayOfChildrenFromHex=function(e){var t,r=de.getV,n=r(e,(t=ne.getPosArrayOfChildrenFromHex(e))[0]),i=r(e,t[1]),o=r(e,t[2]),a=r(e,t[3]),s=r(e,t[4]),c=r(e,t[5]),u=r(e,t[6]),l=r(e,t[7]),d=r(e,t[8]);return(t=new Array).push(n,i,o,a,s,c,u,l,d),t},ne.prototype.readPrivateKeyFromPEMString=function(e){var t=Ie(e),r=ne.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},ne.prototype.readPKCS5PrvKeyHex=function(e){var t=ne.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},ne.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,o,a,s,c,u=de,l=u.getVbyListEx;if(!1===u.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=l(e,0,[2,0,1],"02"),r=l(e,0,[2,0,2],"02"),n=l(e,0,[2,0,3],"02"),i=l(e,0,[2,0,4],"02"),o=l(e,0,[2,0,5],"02"),a=l(e,0,[2,0,6],"02"),s=l(e,0,[2,0,7],"02"),c=l(e,0,[2,0,8],"02")}catch(e){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,o,a,s,c)},ne.prototype.readPKCS5PubKeyHex=function(e){var t=de,r=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(2!==n.length||"02"!==e.substr(n[0],2)||"02"!==e.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),o=r(e,n[1]);this.setPublic(i,o)},ne.prototype.readPKCS8PubKeyHex=function(e){var t=de;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)},ne.prototype.readCertPubKeyHex=function(e,t){var r,n;(r=new Ke).readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},new RegExp("[^0-9a-f]","gi"),ne.prototype.sign=function(e,t){var r=function(e){return ce.crypto.Util.hashString(e,t)}(e);return this.signWithMessageHash(r,t)},ne.prototype.signWithMessageHash=function(e,t){var r=te(ce.crypto.Util.getPaddedDigestInfoHex(e,t,this.n.bitLength()),16);return He(this.doPrivate(r).toString(16),this.n.bitLength())},ne.prototype.signPSS=function(e,t,r){var n=function(e){return ce.crypto.Util.hashHex(e,t)}(Ee(e));return void 0===r&&(r=-1),this.signWithMessageHashPSS(n,t,r)},ne.prototype.signWithMessageHashPSS=function(e,t,r){var n,i=Se(e),o=i.length,a=this.n.bitLength()-1,s=Math.ceil(a/8),c=function(e){return ce.crypto.Util.hashHex(e,t)};if(-1===r||void 0===r)r=o;else if(-2===r)r=s-o-2;else if(r<-2)throw new Error("invalid salt length");if(s0&&(u=new Array(r),(new ee).nextBytes(u),u=String.fromCharCode.apply(String,u));var l=Se(c(Ee("\0\0\0\0\0\0\0\0"+i+u))),d=[];for(n=0;n>8*s-a&255;for(f[0]&=~y,n=0;nn)return!1;var i=this.doPublic(r).toString(16);if(i.length+3!=n/4)return!1;var o=Ge(i.replace(/^1f+00/,""));if(0==o.length)return!1;var a=o[0];return o[1]==function(e){return ce.crypto.Util.hashString(e,a)}(e)},ne.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=te(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Ge(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==e)},ne.prototype.verifyPSS=function(e,t,r,n){var i=function(e){return ce.crypto.Util.hashHex(e,r)}(Ee(e));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,t,r,n)},ne.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new S(t,16),a=function(e){return ce.crypto.Util.hashHex(e,r)},s=Se(e),c=s.length,u=this.n.bitLength()-1,l=Math.ceil(u/8);if(-1===n||void 0===n)n=c;else if(-2===n)n=l-c-2;else if(n<-2)throw new Error("invalid salt length");if(l>8*l-u&255;if(p.charCodeAt(0)&f)throw new Error("bits beyond keysize not zero");var y=$e(h,p.length,a),g=[];for(i=0;i0&&-1==(":"+r.join(":")+":").indexOf(":"+m+":"))throw"algorithm '"+m+"' not accepted in the list";if("none"!=m&&null===t)throw"key shall be specified to verify.";if("string"==typeof t&&-1!=t.indexOf("-----BEGIN ")&&(t=qe.getKey(t)),!("RS"!=p&&"PS"!=p||t instanceof n))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==p&&!(t instanceof c))throw"key shall be a ECDSA obj for ES* algs";var b=null;if(void 0===o.jwsalg2sigalg[g.alg])throw"unsupported alg name: "+m;if("none"==(b=o.jwsalg2sigalg[m]))throw"not supported";if("Hmac"==b.substr(0,4)){if(void 0===t)throw"hexadecimal key shall be specified for HMAC";var _=new u({alg:b,pass:t});return _.updateString(f),y==_.doFinal()}if(-1!=b.indexOf("withECDSA")){var v,w=null;try{w=c.concatSigToASN1Sig(y)}catch(e){return!1}return(v=new l({alg:b})).init(t),v.updateString(f),v.verify(w)}return(v=new l({alg:b})).init(t),v.updateString(f),v.verify(y)},ce.jws.JWS.parse=function(e){var t,r,n,i=e.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return t=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=ce.jws.JWS.readSafeJSONString(le(t)),o.payloadObj=ce.jws.JWS.readSafeJSONString(le(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=le(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=_e(n)),o},ce.jws.JWS.verifyJWT=function(e,t,r){var n=ce.jws,i=n.JWS,o=i.readSafeJSONString,a=i.inArray,s=i.includedArray,c=e.split("."),u=c[0],l=c[1],d=(_e(c[2]),o(le(u))),p=o(le(l));if(void 0===d.alg)return!1;if(void 0===r.alg)throw"acceptField.alg shall be specified";if(!a(d.alg,r.alg))return!1;if(void 0!==p.iss&&"object"===h(r.iss)&&!a(p.iss,r.iss))return!1;if(void 0!==p.sub&&"object"===h(r.sub)&&!a(p.sub,r.sub))return!1;if(void 0!==p.aud&&"object"===h(r.aud))if("string"==typeof p.aud){if(!a(p.aud,r.aud))return!1}else if("object"==h(p.aud)&&!s(p.aud,r.aud))return!1;var f=n.IntDate.getNow();return void 0!==r.verifyAt&&"number"==typeof r.verifyAt&&(f=r.verifyAt),void 0!==r.gracePeriod&&"number"==typeof r.gracePeriod||(r.gracePeriod=0),!(void 0!==p.exp&&"number"==typeof p.exp&&p.exp+r.gracePeriodt.length&&(r=t.length);for(var n=0;n=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function f(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return q(e).length;default:if(n)return V(e).length;t=(""+t).toLowerCase(),n=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return I(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return O(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):b(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){var o,a=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=r;os&&(r=s-c),o=r;o>=0;o--){for(var d=!0,p=0;pi&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function O(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&u)<<6|63&o)>127&&(l=c);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(c=(15&u)<<12|(63&o)<<6|63&a)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);for(var r="",n=0;n0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},c.prototype.compare=function(e,t,r,n,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(n,i),l=e.slice(t,r),d=0;di)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return _(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return w(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function I(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,r,n,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function j(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function C(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function M(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function k(e,t,r,n,o){return o||M(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function L(e,t,r,n,o){return o||M(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||D(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||N(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},c.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):C(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):C(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);N(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a|0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):C(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):C(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,r){return k(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return k(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return L(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return L(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function H(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(29))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],s=n[1],u=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),l=0,d=s>0?a-4:a;for(r=0;r>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],a=16383,s=0,c=r-i;sc?c:s+a));return 1===i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function u(e,t,r){for(var i,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,p=r?-1:1,h=e[t+d];for(d+=p,o=h&(1<<-l)-1,h>>=-l,l+=s;l>0;o=256*o+e[t+d],d+=p,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+d],d+=p,l-=8);if(0===o)o=1-u;else{if(o===c)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,n),o-=u}return(h?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,c,u=8*o-i-1,l=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,f=n?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?p/c:p*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*c-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+h]=255&s,h+=f,s/=256,i-=8);for(a=a<0;e[r+h]=255&a,h+=f,a/=256,u-=8);e[r+h-f]|=128*y}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.jws,r=e.KeyUtil,i=e.X509,o=e.crypto,a=e.hextob64u,s=e.b64tohex,c=e.AllowedSigningAlgs;return function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return e.parseJwt=function e(r){n.Log.debug("JoseUtil.parseJwt");try{var i=t.JWS.parse(r);return{header:i.headerObj,payload:i.payloadObj}}catch(e){n.Log.error(e)}},e.validateJwt=function(t,o,a,c,u,l,d){n.Log.debug("JoseUtil.validateJwt");try{if("RSA"===o.kty)if(o.e&&o.n)o=r.getKey(o);else{if(!o.x5c||!o.x5c.length)return n.Log.error("JoseUtil.validateJwt: RSA key missing key material",o),Promise.reject(new Error("RSA key missing key material"));var p=s(o.x5c[0]);o=i.getPublicKeyFromCertHex(p)}else{if("EC"!==o.kty)return n.Log.error("JoseUtil.validateJwt: Unsupported key type",o&&o.kty),Promise.reject(new Error(o.kty));if(!(o.crv&&o.x&&o.y))return n.Log.error("JoseUtil.validateJwt: EC key missing key material",o),Promise.reject(new Error("EC key missing key material"));o=r.getKey(o)}return e._validateJwt(t,o,a,c,u,l,d)}catch(e){return n.Log.error(e&&e.message||e),Promise.reject("JWT validation failed")}},e.validateJwtAttributes=function(t,r,i,o,a,s){o||(o=0),a||(a=parseInt(Date.now()/1e3));var c=e.parseJwt(t).payload;if(!c.iss)return n.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(c.iss!==r)return n.Log.error("JoseUtil._validateJwt: Invalid issuer in token",c.iss),Promise.reject(new Error("Invalid issuer in token: "+c.iss));if(!c.aud)return n.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(c.aud===i||Array.isArray(c.aud)&&c.aud.indexOf(i)>=0))return n.Log.error("JoseUtil._validateJwt: Invalid audience in token",c.aud),Promise.reject(new Error("Invalid audience in token: "+c.aud));if(c.azp&&c.azp!==i)return n.Log.error("JoseUtil._validateJwt: Invalid azp in token",c.azp),Promise.reject(new Error("Invalid azp in token: "+c.azp));if(!s){var u=a+o,l=a-o;if(!c.iat)return n.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(u1&&void 0!==arguments[1]?arguments[1]:"#";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=i.UrlUtility.parseUrlFragment(t,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(e,[{key:"expires_in",get:function(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function(e){var t=parseInt(e);if("number"==typeof t&&t>0){var r=parseInt(Date.now()/1e3);this.expires_at=r+t}}},{key:"expired",get:function(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),e}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);t.SignoutRequest=function e(t){var r=t.url,a=t.id_token_hint,s=t.post_logout_redirect_uri,c=t.data,u=t.extraQueryParams,l=t.request_type;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var d in a&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",a)),s&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",s),c&&(this.state=new o.State({data:c,request_type:l}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),u)r=i.UrlUtility.addQueryParam(r,d,u[d]);this.url=r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignoutResponse=void 0;var n=r(3);t.SignoutResponse=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=n.UrlUtility.parseUrlFragment(t,"?");this.error=r.error,this.error_description=r.error_description,this.error_uri=r.error_uri,this.state=r.state}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InMemoryWebStorage=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.SessionMonitor,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:p.TokenRevocationClient,d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:h.TokenClient,y=arguments.length>5&&void 0!==arguments[5]?arguments[5]:f.JoseUtil;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,t),r instanceof a.UserManagerSettings||(r=new a.UserManagerSettings(r));var g=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return g._events=new c.UserManagerEvents(r),g._silentRenewService=new n(g),g.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),g.startSilentRenew()),g.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),g._sessionMonitor=new o(g)),g._tokenRevocationClient=new s(g._settings),g._tokenClient=new d(g._settings),g._joseUtil=y,g}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getUser=function(){var e=this;return this._loadUser().then((function(t){return t?(i.Log.info("UserManager.getUser: user loaded"),e._events.load(t,!1),t):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},t.prototype.removeUser=function(){var e=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),e._events.unload()}))},t.prototype.signinRedirect=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:r";var t={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,t).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},t.prototype.signinRedirectCallback=function(e){return this._signinEnd(e||this._redirectNavigator.url).then((function(e){return e.profile&&e.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),e}))},t.prototype.signinPopup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:p";var t=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.display="popup",this._signin(e,this._popupNavigator,{startUrl:t,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),e}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},t.prototype.signinPopupCallback=function(e){return this._signinCallback(e,this._popupNavigator).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),e})).catch((function(e){i.Log.error(e.message)}))},t.prototype.signinSilent=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=Object.assign({},t),this._loadUser().then((function(r){return r&&r.refresh_token?(t.refresh_token=r.refresh_token,e._useRefreshToken(t)):(t.request_type="si:s",t.id_token_hint=t.id_token_hint||e.settings.includeIdTokenInSilentRenew&&r&&r.id_token,r&&e._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",r.profile.sub),t.current_sub=r.profile.sub),e._signinSilentIframe(t))}))},t.prototype._useRefreshToken=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(t).then((function(t){return t?t.access_token?e._loadUser().then((function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=t.id_token||r.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then((function(){return e._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},t.prototype._validateIdTokenFromTokenRefreshToken=function(e,t){var r=this;return this._metadataService.getIssuer().then((function(n){return r.settings.getEpochTime().then((function(o){return r._joseUtil.validateJwtAttributes(t,n,r._settings.client_id,r._settings.clockSkew,o).then((function(t){return t?t.sub!==e.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):t.azp&&t.azp!==e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!t.azp&&e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},t.prototype._signinSilentIframe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return t?(e.redirect_uri=t,e.prompt=e.prompt||"none",this._signin(e,this._iframeNavigator,{startUrl:t,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),e}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},t.prototype.signinSilentCallback=function(e){return this._signinCallback(e,this._iframeNavigator).then((function(e){return e&&(e.profile&&e.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",e.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),e}))},t.prototype.signinCallback=function(e){var t=this;return this.readSigninResponseState(e).then((function(r){var n=r.state;return r.response,"si:r"===n.request_type?t.signinRedirectCallback(e):"si:p"===n.request_type?t.signinPopupCallback(e):"si:s"===n.request_type?t.signinSilentCallback(e):Promise.reject(new Error("invalid response_type in state"))}))},t.prototype.signoutCallback=function(e,t){var r=this;return this.readSignoutResponseState(e).then((function(n){var i=n.state,o=n.response;return i?"so:r"===i.request_type?r.signoutRedirectCallback(e):"so:p"===i.request_type?r.signoutPopupCallback(e,t):Promise.reject(new Error("invalid response_type in state")):o}))},t.prototype.querySessionStatus=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(t=Object.assign({},t)).request_type="si:s";var r=t.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(t.redirect_uri=r,t.prompt="none",t.response_type=t.response_type||this.settings.query_status_response_type,t.scope=t.scope||"openid",t.skipUserInfo=!0,this._signinStart(t,this._iframeNavigator,{startUrl:r,silentRequestTimeout:t.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return e.processSigninResponse(t.url).then((function(e){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),e.session_state&&e.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",e.profile.sub),{session_state:e.session_state,sub:e.profile.sub,sid:e.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&("login_required"==t.message||"consent_required"==t.message||"interaction_required"==t.message||"account_selection_required"==t.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:t.session_state};throw t}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},t.prototype._signin=function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,t,n).then((function(t){return r._signinEnd(t.url,e)}))},t.prototype._signinStart=function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.prepare(n).then((function(t){return i.Log.debug("UserManager._signinStart: got navigator window handle"),r.createSigninRequest(e).then((function(e){return i.Log.debug("UserManager._signinStart: got signin request"),n.url=e.url,n.id=e.state.id,t.navigate(n)})).catch((function(e){throw t.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),t.close()),e}))}))},t.prototype._signinEnd=function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then((function(e){i.Log.debug("UserManager._signinEnd: got signin response");var n=new s.User(e);if(r.current_sub){if(r.current_sub!==n.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",n.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return t.storeUser(n).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),t._events.load(n),n}))}))},t.prototype._signinCallback=function(e,t){i.Log.debug("UserManager._signinCallback");var r="query"===this._settings.response_mode||!this._settings.response_mode&&d.SigninRequest.isCode(this._settings.response_type)?"?":"#";return t.callback(e,void 0,r)},t.prototype.signoutRedirect=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:r";var t=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;t&&(e.post_logout_redirect_uri=t);var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},t.prototype.signoutRedirectCallback=function(e){return this._signoutEnd(e||this._redirectNavigator.url).then((function(e){return i.Log.info("UserManager.signoutRedirectCallback: successful"),e}))},t.prototype.signoutPopup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:p";var t=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=t,e.display="popup",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:t,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},t.prototype.signoutPopupCallback=function(e,t){return void 0===t&&"boolean"==typeof e&&(t=e,e=null),this._popupNavigator.callback(e,t,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},t.prototype._signout=function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,t,n).then((function(e){return r._signoutEnd(e.url)}))},t.prototype._signoutStart=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return arguments[1].prepare(r).then((function(n){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),t._loadUser().then((function(o){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(t._settings.revokeAccessTokenOnSignout?t._revokeInternal(o):Promise.resolve()).then((function(){var a=e.id_token_hint||o&&o.id_token;return a&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),e.id_token_hint=a),t.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),t.createSignoutRequest(e).then((function(e){return i.Log.debug("UserManager._signoutStart: got signout request"),r.url=e.url,e.state&&(r.id=e.state.id),n.navigate(r)}))}))}))})).catch((function(e){throw n.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),n.close()),e}))}))},t.prototype._signoutEnd=function(e){return this.processSignoutResponse(e).then((function(e){return i.Log.debug("UserManager._signoutEnd: got signout response"),e}))},t.prototype.revokeAccessToken=function(){var e=this;return this._loadUser().then((function(t){return e._revokeInternal(t,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),e._events.load(t)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},t.prototype._revokeInternal=function(e,t){var r=this;if(e){var n=e.access_token,o=e.refresh_token;return this._revokeAccessTokenInternal(n,t).then((function(e){return r._revokeRefreshTokenInternal(o,t).then((function(t){return e||t||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),e||t}))}))}return Promise.resolve(!1)},t.prototype._revokeAccessTokenInternal=function(e,t){return!e||e.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,t).then((function(){return!0}))},t.prototype._revokeRefreshTokenInternal=function(e,t){return e?this._tokenRevocationClient.revoke(e,t,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},t.prototype.startSilentRenew=function(){this._silentRenewService.start()},t.prototype.stopSilentRenew=function(){this._silentRenewService.stop()},t.prototype._loadUser=function(){return this._userStore.get(this._userStoreKey).then((function(e){return e?(i.Log.debug("UserManager._loadUser: user storageString loaded"),s.User.fromStorageString(e)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},t.prototype.storeUser=function(e){if(e){i.Log.debug("UserManager.storeUser: storing user");var t=e.toStorageString();return this._userStore.set(this._userStoreKey,t)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(t,[{key:"_redirectNavigator",get:function(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function(){return this.settings.iframeNavigator}},{key:"_userStore",get:function(){return this.settings.userStore}},{key:"events",get:function(){return this._events}},{key:"_userStoreKey",get:function(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),t}(o.OidcClient)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserManagerSettings=void 0;var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,d=r.popupWindowFeatures,p=r.popupWindowTarget,h=r.silent_redirect_uri,f=r.silentRequestTimeout,y=r.automaticSilentRenew,g=void 0!==y&&y,m=r.validateSubOnSilentRenew,b=void 0!==m&&m,_=r.includeIdTokenInSilentRenew,v=void 0===_||_,w=r.monitorSession,S=void 0===w||w,E=r.monitorAnonymousSession,T=void 0!==E&&E,O=r.checkSessionInterval,x=void 0===O?2e3:O,A=r.stopCheckSessionOnError,I=void 0===A||A,R=r.query_status_response_type,P=r.revokeAccessTokenOnSignout,F=void 0!==P&&P,D=r.accessTokenExpiringNotificationTime,N=void 0===D?60:D,j=r.redirectNavigator,C=void 0===j?new o.RedirectNavigator:j,M=r.popupNavigator,k=void 0===M?new a.PopupNavigator:M,L=r.iframeNavigator,U=void 0===L?new s.IFrameNavigator:L,B=r.userStore,V=void 0===B?new c.WebStorageStateStore({store:u.Global.sessionStorage}):B;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var q=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,arguments[0]));return q._popup_redirect_uri=n,q._popup_post_logout_redirect_uri=i,q._popupWindowFeatures=d,q._popupWindowTarget=p,q._silent_redirect_uri=h,q._silentRequestTimeout=f,q._automaticSilentRenew=g,q._validateSubOnSilentRenew=b,q._includeIdTokenInSilentRenew=v,q._accessTokenExpiringNotificationTime=N,q._monitorSession=S,q._monitorAnonymousSession=T,q._checkSessionInterval=x,q._stopCheckSessionOnError=I,R?q._query_status_response_type=R:arguments[0]&&arguments[0].response_type?q._query_status_response_type=l.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":q._query_status_response_type="id_token",q._revokeAccessTokenOnSignout=F,q._redirectNavigator=C,q._popupNavigator=k,q._iframeNavigator=U,q._userStore=V,q}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"popup_redirect_uri",get:function(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function(){return this._redirectNavigator}},{key:"popupNavigator",get:function(){return this._popupNavigator}},{key:"iframeNavigator",get:function(){return this._iframeNavigator}},{key:"userStore",get:function(){return this._userStore}}]),t}(i.OidcClientSettings)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RedirectNavigator=void 0;var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),e.prototype.load.call(this,t),r&&this._userLoaded.raise(t)},t.prototype.unload=function(){n.Log.debug("UserManagerEvents.unload"),e.prototype.unload.call(this),this._userUnloaded.raise()},t.prototype.addUserLoaded=function(e){this._userLoaded.addHandler(e)},t.prototype.removeUserLoaded=function(e){this._userLoaded.removeHandler(e)},t.prototype.addUserUnloaded=function(e){this._userUnloaded.addHandler(e)},t.prototype.removeUserUnloaded=function(e){this._userUnloaded.removeHandler(e)},t.prototype.addSilentRenewError=function(e){this._silentRenewError.addHandler(e)},t.prototype.removeSilentRenewError=function(e){this._silentRenewError.removeHandler(e)},t.prototype._raiseSilentRenewError=function(e){n.Log.debug("UserManagerEvents._raiseSilentRenewError",e.message),this._silentRenewError.raise(e)},t.prototype.addUserSignedIn=function(e){this._userSignedIn.addHandler(e)},t.prototype.removeUserSignedIn=function(e){this._userSignedIn.removeHandler(e)},t.prototype._raiseUserSignedIn=function(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},t.prototype.addUserSignedOut=function(e){this._userSignedOut.addHandler(e)},t.prototype.removeUserSignedOut=function(e){this._userSignedOut.removeHandler(e)},t.prototype._raiseUserSignedOut=function(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},t.prototype.addUserSessionChanged=function(e){this._userSessionChanged.addHandler(e)},t.prototype.removeUserSessionChanged=function(e){this._userSessionChanged.removeHandler(e)},t.prototype._raiseUserSessionChanged=function(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},t}(i.AccessTokenEvents)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Timer=void 0;var n=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r));return a._timer=n,a._nowFunc=i||function(){return Date.now()/1e3},a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.init=function(e){e<=0&&(e=1),e=parseInt(e);var t=this.now+e;if(this.expiration===t&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",e),this._expiration=t;var r=5;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fragment=void 0,t.fragment=function(e){let t=function(e){let t=e;(t.endsWith("/")||t.endsWith("#"))&&(t=t.slice(0,t.length-1));const r=[];t.lastIndexOf("/")>0&&r.push(t.lastIndexOf("/")),t.lastIndexOf("#")>0&&r.push(t.lastIndexOf("#"));const n=Math.max(...r);return t.slice(n+1)}(e);return t=t?function(e){var t;const r=null===(t=e.split(/[^a-z0-9]+/gi).filter((e=>""!==e)).map((e=>e[0].toUpperCase()+e.slice(1))).join("").match(/[a-z][a-z0-9]+/gi))||void 0===t?void 0:t[0];return void 0===r?void 0:r[0].toLowerCase()+r.slice(1)}(t):void 0,t||"v"}},35030:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupAllPrefixes=t.prefixToUri=t.uriToPrefix=void 0;const i=r(62620),o=r(88993);t.uriToPrefix=function(e,t){return n(this,void 0,void 0,(function*(){let r;try{r=yield(0,o.lookupPrefix)(e,t)}catch(n){(null==t?void 0:t.mintOnUnknown)&&(r=(0,i.fragment)(e).slice(0,4))}if(void 0!==r&&"object"==typeof(null==t?void 0:t.existingPrefixes)&&r in t.existingPrefixes){let e=0;for(;`${r}${e}`in t.existingPrefixes;)e+=1;r=`${r}${e}`}return r}))},t.prefixToUri=function(e,t){return n(this,void 0,void 0,(function*(){try{return yield(0,o.lookupUri)(e,t)}catch(e){return}}))};var a=r(88993);Object.defineProperty(t,"lookupAllPrefixes",{enumerable:!0,get:function(){return a.lookupAllPrefixes}})},37338:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchContext=t.fetchJson=void 0;const i=r(74945);function o(e,t){var r;return n(this,void 0,void 0,(function*(){const n=null!==(r=null==t?void 0:t.fetch)&&void 0!==r?r:i.fetch;return(yield n(e)).json()}))}t.fetchJson=o,t.fetchContext=function(e,t){return n(this,void 0,void 0,(function*(){return(yield o(e,t))["@context"]}))}},88993:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(51192),t),i(r(35535),t),i(r(45144),t)},45144:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupAllPrefixes=void 0;const i=r(37338);t.lookupAllPrefixes=function(e){return n(this,void 0,void 0,(function*(){return(0,i.fetchContext)("https://prefix.cc/context",e)}))}},51192:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupUri=void 0;const i=r(37338);t.lookupUri=function(e,t){return n(this,void 0,void 0,(function*(){const r=(yield(0,i.fetchContext)(`https://prefix.cc/${e}.file.jsonld`,t))[e];if("string"!=typeof r)throw new Error(`Expected uri to be a string, received: ${r} of type ${typeof r}`);return r}))}},35535:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.lookupPrefix=void 0;const i=r(37338);t.lookupPrefix=function(e,t){return n(this,void 0,void 0,(function*(){const r=new URL("https://prefix.cc/reverse");r.searchParams.append("uri",e),r.searchParams.append("format","jsonld");const n=Object.keys(yield(0,i.fetchContext)(r,t));if(0===n.length)throw new Error("No prefixes returned");return n[0]}))}},52728:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.stringify=function(e){return n(this,void 0,void 0,(function*(){let t="";return e.on("data",(e=>{t+=e})),yield(0,i.promisifyEventEmitter)(e),t}))};const i=r(66486)},40319:(e,t,r)=>{"use strict";r.r(t),r.d(t,{CordovaIFrameNavigator:()=>n.CordovaIFrameNavigator,CordovaPopupNavigator:()=>n.CordovaPopupNavigator,InMemoryWebStorage:()=>n.InMemoryWebStorage,Log:()=>n.Log,OidcClient:()=>n.OidcClient,SessionMonitor:()=>n.SessionMonitor,User:()=>n.User,UserManager:()=>n.UserManager,Version:()=>n.Version,WebStorageStateStore:()=>n.WebStorageStateStore,clearOidcPersistentStorage:()=>h,getBearerToken:()=>c,getDpopToken:()=>u,refresh:()=>d,registerClient:()=>o,removeOidcQueryParam:()=>p});var n=r(76516),i=r(30710);async function o(e,t){var r;if(!t.registrationEndpoint)throw new Error("Dynamic Registration could not be completed because the issuer has no registration endpoint.");if(!Array.isArray(t.idTokenSigningAlgValuesSupported))throw new Error("The OIDC issuer discovery profile is missing the 'id_token_signing_alg_values_supported' value, which is mandatory.");const n=(0,i.determineSigningAlg)(t.idTokenSigningAlgValuesSupported,i.PREFERRED_SIGNING_ALG),o={client_name:e.clientName,application_type:"web",redirect_uris:[null===(r=e.redirectUrl)||void 0===r?void 0:r.toString()],subject_type:"public",token_endpoint_auth_method:"client_secret_basic",id_token_signed_response_alg:n,grant_types:["authorization_code","refresh_token"]},a=await fetch(t.registrationEndpoint.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(a.ok){const t=await a.json();return function(e,t){if(void 0===e.client_id)throw new Error(`Dynamic client registration failed: no client_id has been found on ${JSON.stringify(e)}`);if(t.redirectUrl&&(void 0===e.redirect_uris||e.redirect_uris[0]!==t.redirectUrl.toString()))throw new Error(`Dynamic client registration failed: the returned redirect URIs ${JSON.stringify(e.redirect_uris)} don't match the provided ${JSON.stringify([t.redirectUrl.toString()])}`)}(t,e),{clientId:t.client_id,clientSecret:t.client_secret,idTokenSignedResponseAlg:t.id_token_signed_response_alg,clientType:"dynamic"}}throw 400===a.status&&function(e,t){var r,n,i,o;if("invalid_redirect_uri"===e.error)throw new Error(`Dynamic client registration failed: the provided redirect uri [${null===(r=t.redirectUrl)||void 0===r?void 0:r.toString()}] is invalid - ${null!==(n=e.error_description)&&void 0!==n?n:""}`);if("invalid_client_metadata"===e.error)throw new Error(`Dynamic client registration failed: the provided client metadata ${JSON.stringify(t)} is invalid - ${null!==(i=e.error_description)&&void 0!==i?i:""}`);throw new Error(`Dynamic client registration failed: ${e.error} - ${null!==(o=e.error_description)&&void 0!==o?o:""}`)}(await a.json(),e),new Error(`Dynamic client registration failed: the server returned ${a.status} ${a.statusText} - ${await a.text()}`)}function a(e){return void 0!==e.error_description&&"string"==typeof e.error_description}function s(e,t){if(void 0!==(r=e).error&&"string"==typeof r.error)throw new i.OidcProviderError(`Token endpoint returned error [${e.error}]${a(e)?`: ${e.error_description}`:""}${function(e){return void 0!==e.error_uri&&"string"==typeof e.error_uri}(e)?` (see ${e.error_uri})`:""}`,e.error,a(e)?e.error_description:void 0);var r;if(!function(e){return void 0!==e.access_token&&"string"==typeof e.access_token}(e))throw new i.InvalidResponseError(["access_token"]);if(!function(e){return void 0!==e.id_token&&"string"==typeof e.id_token}(e))throw new i.InvalidResponseError(["id_token"]);if(!function(e){return void 0!==e.token_type&&"string"==typeof e.token_type}(e))throw new i.InvalidResponseError(["token_type"]);if(!function(e){return void 0===e.expires_in||"number"==typeof e.expires_in}(e))throw new i.InvalidResponseError(["expires_in"]);if(!t&&"bearer"!==e.token_type.toLowerCase())throw new Error(`Invalid token endpoint response: requested a [Bearer] token, but got a 'token_type' value of [${e.token_type}].`);return e}async function c(e){let t;try{const r=new n.OidcClient({response_mode:"query",loadUserInfo:!1});if(t=await r.processSigninResponse(e),void 0===r.settings.metadata)throw new Error("Cannot retrieve issuer metadata from client information in storage.");if(void 0===r.settings.metadata.jwks_uri)throw new Error("Missing some issuer metadata from client information in storage: 'jwks_uri' is undefined");if(void 0===r.settings.metadata.issuer)throw new Error("Missing some issuer metadata from client information in storage: 'issuer' is undefined");if(void 0===r.settings.client_id)throw new Error("Missing some client information in storage: 'client_id' is undefined");const o=await(0,i.getWebidFromTokenPayload)(t.id_token,r.settings.metadata.jwks_uri,r.settings.metadata.issuer,r.settings.client_id);return{accessToken:t.access_token,idToken:t.id_token,webId:o,refreshToken:t.refresh_token}}catch(t){throw new Error(`Problem handling Auth Code Grant (Flow) redirect - URL [${e}]: ${t}`)}}async function u(e,t,r){return async function(e,t,r,n){!function(e,t){if(t.grantType&&(!e.grantTypesSupported||!e.grantTypesSupported.includes(t.grantType)))throw new Error(`The issuer [${e.issuer}] does not support the [${t.grantType}] grant`);if(!e.tokenEndpoint)throw new Error(`This issuer [${e.issuer}] does not have a token endpoint`)}(e,r);const o={"content-type":"application/x-www-form-urlencoded"};let a;n&&(a=await(0,i.generateDpopKeyPair)(),o.DPoP=await(0,i.createDpopHeader)(e.tokenEndpoint,"POST",a)),t.clientSecret&&(o.Authorization=`Basic ${btoa(`${t.clientId}:${t.clientSecret}`)}`);const c={grant_type:r.grantType,redirect_uri:r.redirectUrl,code:r.code,code_verifier:r.codeVerifier,client_id:t.clientId},u={method:"POST",headers:o,body:new URLSearchParams(c).toString()},l=await await fetch(e.tokenEndpoint,u),d=s(await l.json(),n),p=await(0,i.getWebidFromTokenPayload)(d.id_token,e.jwksUri,e.issuer,t.clientId);return{accessToken:d.access_token,idToken:d.id_token,refreshToken:(h=d,void 0!==h.refresh_token&&"string"==typeof h.refresh_token?d.refresh_token:void 0),webId:p,dpopKey:a,expiresIn:d.expires_in};var h}(e,t,r,!0)}const l=e=>{try{return new URL(e),!0}catch(e){return!1}};async function d(e,t,r,n){if(void 0===r.clientId)throw new Error("No client ID available when trying to refresh the access token.");const o={grant_type:"refresh_token",refresh_token:e,scope:i.DEFAULT_SCOPES};let a={};void 0!==n&&(a={DPoP:await(0,i.createDpopHeader)(t.tokenEndpoint,"POST",n)});let c={};void 0!==r.clientSecret?c={Authorization:`Basic ${btoa(`${r.clientId}:${r.clientSecret}`)}`}:l(r.clientId)&&(o.client_id=r.clientId);const u=await fetch(t.tokenEndpoint,{method:"POST",body:new URLSearchParams(o).toString(),headers:{...a,...c,"Content-Type":"application/x-www-form-urlencoded"}});let d;try{d=await u.json()}catch(e){throw new Error(`The token endpoint of issuer ${t.issuer} returned a malformed response.`)}const p=s(d,void 0!==n),h=await(0,i.getWebidFromTokenPayload)(p.id_token,t.jwksUri,t.issuer,r.clientId);return{accessToken:p.access_token,idToken:p.id_token,refreshToken:"string"==typeof p.refresh_token?p.refresh_token:void 0,webId:h,dpopKey:n,expiresIn:p.expires_in}}function p(e){const t=new URL(e);return t.searchParams.delete("code"),t.searchParams.delete("state"),t.hash="",t.toString()}async function h(){const e=new n.OidcClient({response_mode:"query"});await e.clearStaleState(new n.WebStorageStateStore({}));const t=window.localStorage,r=[];for(let e=0;e<=t.length;e+=1){const n=t.key(e);n&&(n.match(/^oidc\..+$/)||n.match(/^solidClientAuthenticationUser:.+$/))&&r.push(n)}r.forEach((e=>t.removeItem(e)))}},55201:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SaxesParser=t.EVENTS=void 0;const n=r(31487),i=r(84797),o=r(60446);var a=n.isS,s=n.isChar,c=n.isNameStartChar,u=n.isNameChar,l=n.S_LIST,d=n.NAME_RE,p=i.isChar,h=o.isNCNameStartChar,f=o.isNCNameChar,y=o.NC_NAME_RE;const g="http://www.w3.org/XML/1998/namespace",m="http://www.w3.org/2000/xmlns/",b={__proto__:null,xml:g,xmlns:m},_={__proto__:null,amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},v=-1,w=-2,S=13,E=33,T=10,O=60,x=61,A=62,I=63,R=93,P=e=>34===e||39===e,F=[34,39],D=[...F,91,A],N=[...F,O,R],j=[x,I,...l],C=[...l,A,38,O];function M(e,t,r){switch(t){case"xml":r!==g&&e.fail(`xml prefix must be bound to ${g}.`);break;case"xmlns":r!==m&&e.fail(`xmlns prefix must be bound to ${m}.`)}switch(r){case m:e.fail(""===t?`the default namespace may not be set to ${r}.`:`may not assign a prefix (even "xmlns") to the URI ${m}.`);break;case g:switch(t){case"xml":break;case"":e.fail(`the default namespace may not be set to ${r}.`);break;default:e.fail("may not assign the xml namespace to another prefix.")}}}const k=e=>y.test(e),L=e=>d.test(e);t.EVENTS=["xmldecl","text","processinginstruction","doctype","comment","opentagstart","attribute","opentag","closetag","cdata","error","end","ready"];const U={xmldecl:"xmldeclHandler",text:"textHandler",processinginstruction:"piHandler",doctype:"doctypeHandler",comment:"commentHandler",opentagstart:"openTagStartHandler",attribute:"attributeHandler",opentag:"openTagHandler",closetag:"closeTagHandler",cdata:"cdataHandler",error:"errorHandler",end:"endHandler",ready:"readyHandler"};t.SaxesParser=class{get closed(){return this._closed}constructor(e){this.opt=null!=e?e:{},this.fragmentOpt=!!this.opt.fragment;const t=this.xmlnsOpt=!!this.opt.xmlns;if(this.trackPosition=!1!==this.opt.position,this.fileName=this.opt.fileName,t){this.nameStartCheck=h,this.nameCheck=f,this.isName=k,this.processAttribs=this.processAttribsNS,this.pushAttrib=this.pushAttribNS,this.ns=Object.assign({__proto__:null},b);const e=this.opt.additionalNamespaces;null!=e&&(function(e,t){for(const r of Object.keys(t))M(e,r,t[r])}(this,e),Object.assign(this.ns,e))}else this.nameStartCheck=c,this.nameCheck=u,this.isName=L,this.processAttribs=this.processAttribsPlain,this.pushAttrib=this.pushAttribPlain;this.stateTable=[this.sBegin,this.sBeginWhitespace,this.sDoctype,this.sDoctypeQuote,this.sDTD,this.sDTDQuoted,this.sDTDOpenWaka,this.sDTDOpenWakaBang,this.sDTDComment,this.sDTDCommentEnding,this.sDTDCommentEnded,this.sDTDPI,this.sDTDPIEnding,this.sText,this.sEntity,this.sOpenWaka,this.sOpenWakaBang,this.sComment,this.sCommentEnding,this.sCommentEnded,this.sCData,this.sCDataEnding,this.sCDataEnding2,this.sPIFirstChar,this.sPIRest,this.sPIBody,this.sPIEnding,this.sXMLDeclNameStart,this.sXMLDeclName,this.sXMLDeclEq,this.sXMLDeclValueStart,this.sXMLDeclValue,this.sXMLDeclSeparator,this.sXMLDeclEnding,this.sOpenTag,this.sOpenTagSlash,this.sAttrib,this.sAttribName,this.sAttribNameSawWhite,this.sAttribValue,this.sAttribValueQuoted,this.sAttribValueClosed,this.sAttribValueUnquoted,this.sCloseTag,this.sCloseTagSawWhite],this._init()}_init(){var e;this.openWakaBang="",this.text="",this.name="",this.piTarget="",this.entity="",this.q=null,this.tags=[],this.tag=null,this.topNS=null,this.chunk="",this.chunkPosition=0,this.i=0,this.prevI=0,this.carriedFromPrevious=void 0,this.forbiddenState=0,this.attribList=[];const{fragmentOpt:t}=this;this.state=t?S:0,this.reportedTextBeforeRoot=this.reportedTextAfterRoot=this.closedRoot=this.sawRoot=t,this.xmlDeclPossible=!t,this.xmlDeclExpects=["version"],this.entityReturnState=void 0;let{defaultXMLVersion:r}=this.opt;if(void 0===r){if(!0===this.opt.forceXMLVersion)throw new Error("forceXMLVersion set but defaultXMLVersion is not set");r="1.0"}this.setXMLVersion(r),this.positionAtNewLine=0,this.doctype=!1,this._closed=!1,this.xmlDecl={version:void 0,encoding:void 0,standalone:void 0},this.line=1,this.column=0,this.ENTITIES=Object.create(_),null===(e=this.readyHandler)||void 0===e||e.call(this)}get position(){return this.chunkPosition+this.i}get columnIndex(){return this.position-this.positionAtNewLine}on(e,t){this[U[e]]=t}off(e){this[U[e]]=void 0}makeError(e){var t;let r=null!==(t=this.fileName)&&void 0!==t?t:"";return this.trackPosition&&(r.length>0&&(r+=":"),r+=`${this.line}:${this.column}`),r.length>0&&(r+=": "),new Error(r+e)}fail(e){const t=this.makeError(e),r=this.errorHandler;if(void 0===r)throw t;return r(t),this}write(e){if(this.closed)return this.fail("cannot write after close; assign an onready handler.");let t=!1;null===e?(t=!0,e=""):"object"==typeof e&&(e=e.toString()),void 0!==this.carriedFromPrevious&&(e=`${this.carriedFromPrevious}${e}`,this.carriedFromPrevious=void 0);let r=e.length;const n=e.charCodeAt(r-1);!t&&(13===n||n>=55296&&n<=56319)&&(this.carriedFromPrevious=e[r-1],r--,e=e.slice(0,r));const{stateTable:i}=this;for(this.chunk=e,this.i=0;this.i=e.length)return v;const r=e.charCodeAt(t);if(this.column++,r<55296){if(r>=32||9===r)return r;switch(r){case T:return this.line++,this.column=0,this.positionAtNewLine=this.position,T;case 13:return e.charCodeAt(t+1)===T&&(this.i=t+2),this.line++,this.column=0,this.positionAtNewLine=this.position,w;default:return this.fail("disallowed character."),r}}if(r>56319)return r>=57344&&r<=65533||this.fail("disallowed character."),r;const n=65536+1024*(r-55296)+(e.charCodeAt(t+1)-56320);return this.i=t+2,n>1114111&&this.fail("disallowed character."),n}getCode11(){const{chunk:e,i:t}=this;if(this.prevI=t,this.i=t+1,t>=e.length)return v;const r=e.charCodeAt(t);if(this.column++,r<55296){if(r>31&&r<127||r>159&&8232!==r||9===r)return r;switch(r){case T:return this.line++,this.column=0,this.positionAtNewLine=this.position,T;case 13:{const r=e.charCodeAt(t+1);r!==T&&133!==r||(this.i=t+2)}case 133:case 8232:return this.line++,this.column=0,this.positionAtNewLine=this.position,w;default:return this.fail("disallowed character."),r}}if(r>56319)return r>=57344&&r<=65533||this.fail("disallowed character."),r;const n=65536+1024*(r-55296)+(e.charCodeAt(t+1)-56320);return this.i=t+2,n>1114111&&this.fail("disallowed character."),n}getCodeNorm(){const e=this.getCode();return e===w?T:e}unget(){this.i=this.prevI,this.column--}captureTo(e){let{i:t}=this;const{chunk:r}=this;for(;;){const n=this.getCode(),i=n===w,o=i?T:n;if(o===v||e.includes(o))return this.text+=r.slice(t,this.prevI),o;i&&(this.text+=`${r.slice(t,this.prevI)}\n`,t=this.i)}}captureToChar(e){let{i:t}=this;const{chunk:r}=this;for(;;){let n=this.getCode();switch(n){case w:this.text+=`${r.slice(t,this.prevI)}\n`,t=this.i,n=T;break;case v:return this.text+=r.slice(t),!1}if(n===e)return this.text+=r.slice(t,this.prevI),!0}}captureNameChars(){const{chunk:e,i:t}=this;for(;;){const r=this.getCode();if(r===v)return this.name+=e.slice(t),v;if(!u(r))return this.name+=e.slice(t,this.prevI),r===w?T:r}}skipSpaces(){for(;;){const e=this.getCodeNorm();if(e===v||!a(e))return e}}setXMLVersion(e){this.currentXMLVersion=e,"1.0"===e?(this.isChar=s,this.getCode=this.getCode10):(this.isChar=p,this.getCode=this.getCode11)}sBegin(){65279===this.chunk.charCodeAt(0)&&(this.i++,this.column++),this.state=1}sBeginWhitespace(){const e=this.i,t=this.skipSpaces();switch(this.prevI!==e&&(this.xmlDeclPossible=!1),t){case O:if(this.state=15,0!==this.text.length)throw new Error("no-empty text at start");break;case v:break;default:this.unget(),this.state=S,this.xmlDeclPossible=!1}}sDoctype(){var e;const t=this.captureTo(D);switch(t){case A:null===(e=this.doctypeHandler)||void 0===e||e.call(this,this.text),this.text="",this.state=S,this.doctype=!0;break;case v:break;default:this.text+=String.fromCodePoint(t),91===t?this.state=4:P(t)&&(this.state=3,this.q=t)}}sDoctypeQuote(){const e=this.q;this.captureToChar(e)&&(this.text+=String.fromCodePoint(e),this.q=null,this.state=2)}sDTD(){const e=this.captureTo(N);e!==v&&(this.text+=String.fromCodePoint(e),e===R?this.state=2:e===O?this.state=6:P(e)&&(this.state=5,this.q=e))}sDTDQuoted(){const e=this.q;this.captureToChar(e)&&(this.text+=String.fromCodePoint(e),this.state=4,this.q=null)}sDTDOpenWaka(){const e=this.getCodeNorm();switch(this.text+=String.fromCodePoint(e),e){case 33:this.state=7,this.openWakaBang="";break;case I:this.state=11;break;default:this.state=4}}sDTDOpenWakaBang(){const e=String.fromCodePoint(this.getCodeNorm()),t=this.openWakaBang+=e;this.text+=e,"-"!==t&&(this.state="--"===t?8:4,this.openWakaBang="")}sDTDComment(){this.captureToChar(45)&&(this.text+="-",this.state=9)}sDTDCommentEnding(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),this.state=45===e?10:8}sDTDCommentEnded(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),e===A?this.state=4:(this.fail("malformed comment."),this.state=8)}sDTDPI(){this.captureToChar(I)&&(this.text+="?",this.state=12)}sDTDPIEnding(){const e=this.getCodeNorm();this.text+=String.fromCodePoint(e),e===A&&(this.state=4)}sText(){0!==this.tags.length?this.handleTextInRoot():this.handleTextOutsideRoot()}sEntity(){let{i:e}=this;const{chunk:t}=this;e:for(;;)switch(this.getCode()){case w:this.entity+=`${t.slice(e,this.prevI)}\n`,e=this.i;break;case 59:{const{entityReturnState:r}=this,n=this.entity+t.slice(e,this.prevI);let i;this.state=r,""===n?(this.fail("empty entity name."),i="&;"):(i=this.parseEntity(n),this.entity=""),r===S&&void 0===this.textHandler||(this.text+=i);break e}case v:this.entity+=t.slice(e);break e}}sOpenWaka(){const e=this.getCode();if(c(e))this.state=34,this.unget(),this.xmlDeclPossible=!1;else switch(e){case 47:this.state=43,this.xmlDeclPossible=!1;break;case 33:this.state=16,this.openWakaBang="",this.xmlDeclPossible=!1;break;case I:this.state=23;break;default:this.fail("disallowed character in tag name"),this.state=S,this.xmlDeclPossible=!1}}sOpenWakaBang(){switch(this.openWakaBang+=String.fromCodePoint(this.getCodeNorm()),this.openWakaBang){case"[CDATA[":this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0),this.state=20,this.openWakaBang="";break;case"--":this.state=17,this.openWakaBang="";break;case"DOCTYPE":this.state=2,(this.doctype||this.sawRoot)&&this.fail("inappropriately located doctype declaration."),this.openWakaBang="";break;default:this.openWakaBang.length>=7&&this.fail("incorrect syntax.")}}sComment(){this.captureToChar(45)&&(this.state=18)}sCommentEnding(){var e;const t=this.getCodeNorm();45===t?(this.state=19,null===(e=this.commentHandler)||void 0===e||e.call(this,this.text),this.text=""):(this.text+=`-${String.fromCodePoint(t)}`,this.state=17)}sCommentEnded(){const e=this.getCodeNorm();e!==A?(this.fail("malformed comment."),this.text+=`--${String.fromCodePoint(e)}`,this.state=17):this.state=S}sCData(){this.captureToChar(R)&&(this.state=21)}sCDataEnding(){const e=this.getCodeNorm();e===R?this.state=22:(this.text+=`]${String.fromCodePoint(e)}`,this.state=20)}sCDataEnding2(){var e;const t=this.getCodeNorm();switch(t){case A:null===(e=this.cdataHandler)||void 0===e||e.call(this,this.text),this.text="",this.state=S;break;case R:this.text+="]";break;default:this.text+=`]]${String.fromCodePoint(t)}`,this.state=20}}sPIFirstChar(){const e=this.getCodeNorm();this.nameStartCheck(e)?(this.piTarget+=String.fromCodePoint(e),this.state=24):e===I||a(e)?(this.fail("processing instruction without a target."),this.state=e===I?26:25):(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(e),this.state=24)}sPIRest(){const{chunk:e,i:t}=this;for(;;){const r=this.getCodeNorm();if(r===v)return void(this.piTarget+=e.slice(t));if(!this.nameCheck(r)){this.piTarget+=e.slice(t,this.prevI);const n=r===I;n||a(r)?"xml"===this.piTarget?(this.xmlDeclPossible||this.fail("an XML declaration must be at the start of the document."),this.state=n?E:27):this.state=n?26:25:(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(r));break}}}sPIBody(){if(0===this.text.length){const e=this.getCodeNorm();e===I?this.state=26:a(e)||(this.text=String.fromCodePoint(e))}else this.captureToChar(I)&&(this.state=26)}sPIEnding(){var e;const t=this.getCodeNorm();if(t===A){const{piTarget:t}=this;"xml"===t.toLowerCase()&&this.fail("the XML declaration must appear at the start of the document."),null===(e=this.piHandler)||void 0===e||e.call(this,{target:t,body:this.text}),this.piTarget=this.text="",this.state=S}else t===I?this.text+="?":(this.text+=`?${String.fromCodePoint(t)}`,this.state=25);this.xmlDeclPossible=!1}sXMLDeclNameStart(){const e=this.skipSpaces();e!==I?e!==v&&(this.state=28,this.name=String.fromCodePoint(e)):this.state=E}sXMLDeclName(){const e=this.captureTo(j);if(e===I)return this.state=E,this.name+=this.text,this.text="",void this.fail("XML declaration is incomplete.");if(a(e)||e===x){if(this.name+=this.text,this.text="",!this.xmlDeclExpects.includes(this.name))switch(this.name.length){case 0:this.fail("did not expect any more name/value pairs.");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail(`expected one of ${this.xmlDeclExpects.join(", ")}`)}this.state=e===x?30:29}}sXMLDeclEq(){const e=this.getCodeNorm();if(e===I)return this.state=E,void this.fail("XML declaration is incomplete.");a(e)||(e!==x&&this.fail("value required."),this.state=30)}sXMLDeclValueStart(){const e=this.getCodeNorm();if(e===I)return this.state=E,void this.fail("XML declaration is incomplete.");a(e)||(P(e)?this.q=e:(this.fail("value must be quoted."),this.q=32),this.state=31)}sXMLDeclValue(){const e=this.captureTo([this.q,I]);if(e===I)return this.state=E,this.text="",void this.fail("XML declaration is incomplete.");if(e===v)return;const t=this.text;switch(this.text="",this.name){case"version":{this.xmlDeclExpects=["encoding","standalone"];const e=t;this.xmlDecl.version=e,/^1\.[0-9]+$/.test(e)?this.opt.forceXMLVersion||this.setXMLVersion(e):this.fail("version number must match /^1\\.[0-9]+$/.");break}case"encoding":/^[A-Za-z][A-Za-z0-9._-]*$/.test(t)||this.fail("encoding value must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/."),this.xmlDeclExpects=["standalone"],this.xmlDecl.encoding=t;break;case"standalone":"yes"!==t&&"no"!==t&&this.fail('standalone value must match "yes" or "no".'),this.xmlDeclExpects=[],this.xmlDecl.standalone=t}this.name="",this.state=32}sXMLDeclSeparator(){const e=this.getCodeNorm();e!==I?(a(e)||(this.fail("whitespace required."),this.unget()),this.state=27):this.state=E}sXMLDeclEnding(){var e;this.getCodeNorm()===A?("xml"!==this.piTarget?this.fail("processing instructions are not allowed before root."):"version"!==this.name&&this.xmlDeclExpects.includes("version")&&this.fail("XML declaration must contain a version."),null===(e=this.xmldeclHandler)||void 0===e||e.call(this,this.xmlDecl),this.name="",this.piTarget=this.text="",this.state=S):this.fail("The character ? is disallowed anywhere in XML declarations."),this.xmlDeclPossible=!1}sOpenTag(){var e;const t=this.captureNameChars();if(t===v)return;const r=this.tag={name:this.name,attributes:Object.create(null)};switch(this.name="",this.xmlnsOpt&&(this.topNS=r.ns=Object.create(null)),null===(e=this.openTagStartHandler)||void 0===e||e.call(this,r),this.sawRoot=!0,!this.fragmentOpt&&this.closedRoot&&this.fail("documents may contain only one root."),t){case A:this.openTag();break;case 47:this.state=35;break;default:a(t)||this.fail("disallowed character in tag name."),this.state=36}}sOpenTagSlash(){this.getCode()===A?this.openSelfClosingTag():(this.fail("forward-slash in opening tag not followed by >."),this.state=36)}sAttrib(){const e=this.skipSpaces();e!==v&&(c(e)?(this.unget(),this.state=37):e===A?this.openTag():47===e?this.state=35:this.fail("disallowed character in attribute name."))}sAttribName(){const e=this.captureNameChars();e===x?this.state=39:a(e)?this.state=38:e===A?(this.fail("attribute without value."),this.pushAttrib(this.name,this.name),this.name=this.text="",this.openTag()):e!==v&&this.fail("disallowed character in attribute name.")}sAttribNameSawWhite(){const e=this.skipSpaces();switch(e){case v:return;case x:this.state=39;break;default:this.fail("attribute without value."),this.text="",this.name="",e===A?this.openTag():c(e)?(this.unget(),this.state=37):(this.fail("disallowed character in attribute name."),this.state=36)}}sAttribValue(){const e=this.getCodeNorm();P(e)?(this.q=e,this.state=40):a(e)||(this.fail("unquoted attribute value."),this.state=42,this.unget())}sAttribValueQuoted(){const{q:e,chunk:t}=this;let{i:r}=this;for(;;)switch(this.getCode()){case e:return this.pushAttrib(this.name,this.text+t.slice(r,this.prevI)),this.name=this.text="",this.q=null,void(this.state=41);case 38:return this.text+=t.slice(r,this.prevI),this.state=14,void(this.entityReturnState=40);case T:case w:case 9:this.text+=`${t.slice(r,this.prevI)} `,r=this.i;break;case O:return this.text+=t.slice(r,this.prevI),void this.fail("disallowed character.");case v:return void(this.text+=t.slice(r))}}sAttribValueClosed(){const e=this.getCodeNorm();a(e)?this.state=36:e===A?this.openTag():47===e?this.state=35:c(e)?(this.fail("no whitespace between attributes."),this.unget(),this.state=37):this.fail("disallowed character in attribute name.")}sAttribValueUnquoted(){const e=this.captureTo(C);switch(e){case 38:this.state=14,this.entityReturnState=42;break;case O:this.fail("disallowed character.");break;case v:break;default:this.text.includes("]]>")&&this.fail('the string "]]>" is disallowed in char data.'),this.pushAttrib(this.name,this.text),this.name=this.text="",e===A?this.openTag():this.state=36}}sCloseTag(){const e=this.captureNameChars();e===A?this.closeTag():a(e)?this.state=44:e!==v&&this.fail("disallowed character in closing tag.")}sCloseTagSawWhite(){switch(this.skipSpaces()){case A:this.closeTag();break;case v:break;default:this.fail("disallowed character in closing tag.")}}handleTextInRoot(){let{i:e,forbiddenState:t}=this;const{chunk:r,textHandler:n}=this;e:for(;;)switch(this.getCode()){case O:if(this.state=15,void 0!==n){const{text:t}=this,i=r.slice(e,this.prevI);0!==t.length?(n(t+i),this.text=""):0!==i.length&&n(i)}t=0;break e;case 38:this.state=14,this.entityReturnState=S,void 0!==n&&(this.text+=r.slice(e,this.prevI)),t=0;break e;case R:switch(t){case 0:t=1;break;case 1:t=2;break;case 2:break;default:throw new Error("impossible state")}break;case A:2===t&&this.fail('the string "]]>" is disallowed in char data.'),t=0;break;case w:void 0!==n&&(this.text+=`${r.slice(e,this.prevI)}\n`),e=this.i,t=0;break;case v:void 0!==n&&(this.text+=r.slice(e));break e;default:t=0}this.forbiddenState=t}handleTextOutsideRoot(){let{i:e}=this;const{chunk:t,textHandler:r}=this;let n=!1;e:for(;;){const i=this.getCode();switch(i){case O:if(this.state=15,void 0!==r){const{text:n}=this,i=t.slice(e,this.prevI);0!==n.length?(r(n+i),this.text=""):0!==i.length&&r(i)}break e;case 38:this.state=14,this.entityReturnState=S,void 0!==r&&(this.text+=t.slice(e,this.prevI)),n=!0;break e;case w:void 0!==r&&(this.text+=`${t.slice(e,this.prevI)}\n`),e=this.i;break;case v:void 0!==r&&(this.text+=t.slice(e));break e;default:a(i)||(n=!0)}}n&&(this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0))}pushAttribNS(e,t){var r;const{prefix:n,local:i}=this.qname(e),o={name:e,prefix:n,local:i,value:t};if(this.attribList.push(o),null===(r=this.attributeHandler)||void 0===r||r.call(this,o),"xmlns"===n){const e=t.trim();"1.0"===this.currentXMLVersion&&""===e&&this.fail("invalid attempt to undefine prefix in XML 1.0"),this.topNS[i]=e,M(this,i,e)}else if("xmlns"===e){const e=t.trim();this.topNS[""]=e,M(this,"",e)}}pushAttribPlain(e,t){var r;const n={name:e,value:t};this.attribList.push(n),null===(r=this.attributeHandler)||void 0===r||r.call(this,n)}end(){var e,t;this.sawRoot||this.fail("document must contain a root element.");const{tags:r}=this;for(;r.length>0;){const e=r.pop();this.fail(`unclosed tag: ${e.name}`)}0!==this.state&&this.state!==S&&this.fail("unexpected end.");const{text:n}=this;return 0!==n.length&&(null===(e=this.textHandler)||void 0===e||e.call(this,n),this.text=""),this._closed=!0,null===(t=this.endHandler)||void 0===t||t.call(this),this._init(),this}resolve(e){var t,r;let n=this.topNS[e];if(void 0!==n)return n;const{tags:i}=this;for(let t=i.length-1;t>=0;t--)if(n=i[t].ns[e],void 0!==n)return n;return n=this.ns[e],void 0!==n?n:null===(r=(t=this.opt).resolvePrefix)||void 0===r?void 0:r.call(t,e)}qname(e){const t=e.indexOf(":");if(-1===t)return{prefix:"",local:e};const r=e.slice(t+1),n=e.slice(0,t);return(""===n||""===r||r.includes(":"))&&this.fail(`malformed name: ${e}.`),{prefix:n,local:r}}processAttribsNS(){var e;const{attribList:t}=this,r=this.tag;{const{prefix:t,local:n}=this.qname(r.name);r.prefix=t,r.local=n;const i=r.uri=null!==(e=this.resolve(t))&&void 0!==e?e:"";""!==t&&("xmlns"===t&&this.fail('tags may not have "xmlns" as prefix.'),""===i&&(this.fail(`unbound namespace prefix: ${JSON.stringify(t)}.`),r.uri=t))}if(0===t.length)return;const{attributes:n}=r,i=new Set;for(const e of t){const{name:t,prefix:r,local:o}=e;let a,s;""===r?(a="xmlns"===t?m:"",s=t):(a=this.resolve(r),void 0===a&&(this.fail(`unbound namespace prefix: ${JSON.stringify(r)}.`),a=r),s=`{${a}}${o}`),i.has(s)&&this.fail(`duplicate attribute: ${s}.`),i.add(s),e.uri=a,n[t]=e}this.attribList=[]}processAttribsPlain(){const{attribList:e}=this,t=this.tag.attributes;for(const{name:r,value:n}of e)void 0!==t[r]&&this.fail(`duplicate attribute: ${r}.`),t[r]=n;this.attribList=[]}openTag(){var e;this.processAttribs();const{tags:t}=this,r=this.tag;r.isSelfClosing=!1,null===(e=this.openTagHandler)||void 0===e||e.call(this,r),t.push(r),this.state=S,this.name=""}openSelfClosingTag(){var e,t,r;this.processAttribs();const{tags:n}=this,i=this.tag;i.isSelfClosing=!0,null===(e=this.openTagHandler)||void 0===e||e.call(this,i),null===(t=this.closeTagHandler)||void 0===t||t.call(this,i),null===(this.tag=null!==(r=n[n.length-1])&&void 0!==r?r:null)&&(this.closedRoot=!0),this.state=S,this.name=""}closeTag(){const{tags:e,name:t}=this;if(this.state=S,this.name="",""===t)return this.fail("weird empty close tag."),void(this.text+="");const r=this.closeTagHandler;let n=e.length;for(;n-- >0;){const n=this.tag=e.pop();if(this.topNS=n.ns,null==r||r(n),n.name===t)break;this.fail("unexpected close tag.")}0===n?this.closedRoot=!0:n<0&&(this.fail(`unmatched closing tag: ${t}.`),this.text+=``)}parseEntity(e){if("#"!==e[0]){const t=this.ENTITIES[e];return void 0!==t?t:(this.fail(this.isName(e)?"undefined entity.":"disallowed character in entity name."),`&${e};`)}let t=NaN;return"x"===e[1]&&/^#x[0-9a-f]+$/i.test(e)?t=parseInt(e.slice(2),16):/^#[0-9]+$/.test(e)&&(t=parseInt(e.slice(1),10)),this.isChar(t)?String.fromCodePoint(t):(this.fail("malformed character entity."),`&${e};`)}}},11908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710),i=r(40319),o=(e,t)=>window.fetch(e,t),a=()=>Promise.reject(new Error("headersAuthenticator is not initialized yet"));t.default=class{constructor(e,t,r,s,c){this.loginHandler=e,this.redirectHandler=t,this.logoutHandler=r,this.sessionInfoManager=s,this.issuerConfigFetcher=c,this.login=async(e,t)=>{var r,n;await this.sessionInfoManager.clear(e.sessionId);const o=(0,i.removeOidcQueryParam)(null!==(r=e.redirectUrl)&&void 0!==r?r:window.location.href);await this.loginHandler.handle({...e,redirectUrl:o,clientName:null!==(n=e.clientName)&&void 0!==n?n:e.clientId,eventEmitter:t})},this.fetch=o,this.headersAuthenticator=a,this.logout=async e=>{await this.logoutHandler.handle(e),this.fetch=o,this.headersAuthenticator=a},this.getSessionInfo=async e=>this.sessionInfoManager.get(e),this.getAllSessionInfo=async()=>this.sessionInfoManager.getAll(),this.validateCurrentSession=async e=>{const t=await this.sessionInfoManager.get(e);return void 0===t||void 0===t.clientAppId||void 0===t.issuer?null:t},this.handleIncomingRedirect=async(e,t)=>{try{const r=await this.redirectHandler.handle(e,t);return this.fetch=r.fetch.bind(window),this.headersAuthenticator=r.headersAuthenticator,this.cleanUrlAfterRedirect(e),{isLoggedIn:r.isLoggedIn,webId:r.webId,sessionId:r.sessionId,expirationDate:r.expirationDate}}catch(r){return this.cleanUrlAfterRedirect(e),void t.emit(n.EVENTS.ERROR,"redirect",r)}}}cleanUrlAfterRedirect(e){const t=new URL(e);t.searchParams.delete("state"),t.searchParams.delete("code"),t.searchParams.delete("id_token"),t.searchParams.delete("access_token"),t.searchParams.delete("error"),t.searchParams.delete("error_description"),window.history.replaceState(null,"",t.toString())}}},80687:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Session=t.silentlyAuthenticate=void 0;const n=r(37007),i=r(30710),o=r(10611),a=r(77818),s=r(14935);async function c(e,t,r){var n;const i=await t.validateCurrentSession(e);return null!==i&&(window.localStorage.setItem(s.KEY_CURRENT_URL,window.location.href),await t.login({sessionId:e,prompt:"none",oidcIssuer:i.issuer,redirectUrl:i.redirectUrl,clientId:i.clientAppId,clientSecret:i.clientAppSecret,tokenType:null!==(n=i.tokenType)&&void 0!==n?n:"DPoP"},r),!0)}t.silentlyAuthenticate=c;class u extends n.EventEmitter{constructor(e={},t){super(),this.tokenRequestInProgress=!1,this.login=async e=>{var t;return await this.clientAuthentication.login({sessionId:this.info.sessionId,...e,tokenType:null!==(t=e.tokenType)&&void 0!==t?t:"DPoP"},this),new Promise((()=>{}))},this.fetch=async(e,t)=>this.clientAuthentication.fetch(e,t),this.authenticateHeaders=(e,t,r)=>this.clientAuthentication.headersAuthenticator(e,t,r),this.internalLogout=async e=>{window.localStorage.removeItem(s.KEY_CURRENT_SESSION),await this.clientAuthentication.logout(this.info.sessionId),this.info.isLoggedIn=!1,e&&this.emit(i.EVENTS.LOGOUT)},this.logout=async()=>this.internalLogout(!0),this.handleIncomingRedirect=async(e={})=>{var t;if(this.info.isLoggedIn)return this.info;if(this.tokenRequestInProgress)return;const r="string"==typeof e?{url:e}:e,n=null!==(t=r.url)&&void 0!==t?t:window.location.href;this.tokenRequestInProgress=!0;const o=await this.clientAuthentication.handleIncomingRedirect(n,this);if(function(e){return!!(null==e?void 0:e.isLoggedIn)}(o)){this.setSessionInfo(o);const e=window.localStorage.getItem(s.KEY_CURRENT_URL);null===e?this.emit(i.EVENTS.LOGIN):(window.localStorage.removeItem(s.KEY_CURRENT_URL),this.emit(i.EVENTS.SESSION_RESTORED,e))}else if(!0===r.restorePreviousSession){const e=window.localStorage.getItem(s.KEY_CURRENT_SESSION);if(null!==e&&await c(e,this.clientAuthentication,this))return new Promise((()=>{}))}return this.tokenRequestInProgress=!1,o},e.clientAuthentication?this.clientAuthentication=e.clientAuthentication:e.secureStorage&&e.insecureStorage?this.clientAuthentication=(0,a.getClientAuthenticationWithDependencies)({secureStorage:e.secureStorage,insecureStorage:e.insecureStorage}):this.clientAuthentication=(0,a.getClientAuthenticationWithDependencies)({}),e.sessionInfo?this.info={sessionId:e.sessionInfo.sessionId,isLoggedIn:!1,webId:e.sessionInfo.webId}:this.info={sessionId:null!=t?t:(0,o.v4)(),isLoggedIn:!1},this.on(i.EVENTS.LOGIN,(()=>window.localStorage.setItem(s.KEY_CURRENT_SESSION,this.info.sessionId))),this.on(i.EVENTS.SESSION_EXPIRED,(()=>this.internalLogout(!1))),this.on(i.EVENTS.ERROR,(()=>this.internalLogout(!1)))}onLogin(e){this.on(i.EVENTS.LOGIN,e)}onLogout(e){this.on(i.EVENTS.LOGOUT,e)}onError(e){this.on(i.EVENTS.ERROR,e)}onSessionRestore(e){this.on(i.EVENTS.SESSION_RESTORED,e)}onSessionExpiration(e){this.on(i.EVENTS.SESSION_EXPIRED,e)}setSessionInfo(e){this.info.isLoggedIn=e.isLoggedIn,this.info.webId=e.webId,this.info.sessionId=e.sessionId,this.info.expirationDate=e.expirationDate,this.on(i.EVENTS.SESSION_EXTENDED,(e=>{this.info.expirationDate=Date.now()+1e3*e}))}}t.Session=u},14935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KEY_CURRENT_URL=t.KEY_CURRENT_SESSION=void 0;const n=r(30710);t.KEY_CURRENT_SESSION=`${n.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentSession`,t.KEY_CURRENT_URL=`${n.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentUrl`},96520:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.onSessionRestore=t.onLogout=t.onLogin=t.handleIncomingRedirect=t.logout=t.login=t.fetch=t.getDefaultSession=void 0;const n=r(80687);let i;function o(){return void 0===i&&(i=new n.Session),i}t.getDefaultSession=o,t.fetch=(...e)=>o().fetch(...e),t.login=(...e)=>o().login(...e),t.logout=(...e)=>o().logout(...e),t.handleIncomingRedirect=(...e)=>o().handleIncomingRedirect(...e),t.onLogin=(...e)=>o().onLogin(...e),t.onLogout=(...e)=>o().onLogout(...e),t.onSessionRestore=(...e)=>o().onSessionRestore(...e)},77818:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getClientAuthenticationWithDependencies=void 0;const i=r(30710),o=n(r(83258)),a=n(r(11908)),s=n(r(38349)),c=n(r(1642)),u=n(r(51103)),l=r(76994),d=n(r(91366)),p=r(87177),h=r(3025),f=n(r(31858)),y=n(r(89292)),g=n(r(75970)),m=n(r(3149)),b=r(47747),_=n(r(7160));t.getClientAuthenticationWithDependencies=function(e){const t=new i.InMemoryStorage,r=e.secureStorage||t,n=e.insecureStorage||new y.default,v=new o.default(r,n),w=new u.default(v),S=new m.default(v),E=new p.SessionInfoManager(v),T=new _.default(v,w,S),O=new s.default(v,new c.default(v,new g.default),w,S),x=new f.default([new b.ErrorOidcHandler,new h.AuthCodeRedirectHandler(v,E,w,S,T),new l.FallbackRedirectHandler]);return new a.default(O,x,new d.default(E),E,w)}},89279:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.InMemoryStorage=t.ConfigurationError=t.NotImplementedError=t.getClientAuthenticationWithDependencies=t.Session=void 0;var o=r(80687);Object.defineProperty(t,"Session",{enumerable:!0,get:function(){return o.Session}});var a=r(77818);Object.defineProperty(t,"getClientAuthenticationWithDependencies",{enumerable:!0,get:function(){return a.getClientAuthenticationWithDependencies}}),i(r(96520),t),i(r(88602),t),i(r(89774),t);var s=r(30710);Object.defineProperty(t,"NotImplementedError",{enumerable:!0,get:function(){return s.NotImplementedError}}),Object.defineProperty(t,"ConfigurationError",{enumerable:!0,get:function(){return s.ConfigurationError}}),Object.defineProperty(t,"InMemoryStorage",{enumerable:!0,get:function(){return s.InMemoryStorage}})},31858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710);class i extends n.AggregateHandler{constructor(e){super(e)}}t.default=i},3149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(40319);t.default=class{constructor(e){this.storageUtility=e}async getClient(e,t){const[r,i]=await Promise.all([this.storageUtility.getForUser(e.sessionId,"clientId",{secure:!1}),this.storageUtility.getForUser(e.sessionId,"clientSecret",{secure:!1})]);if(r)return{clientId:r,clientSecret:i,clientType:"dynamic"};try{const r=await(0,n.registerClient)(e,t),i={clientId:r.clientId};return r.clientSecret&&(i.clientSecret=r.clientSecret),r.idTokenSignedResponseAlg&&(i.idTokenSignedResponseAlg=r.idTokenSignedResponseAlg),await this.storageUtility.setForUser(e.sessionId,i,{secure:!1}),r}catch(e){throw new Error(`Client registration failed: [${e}]`)}}}},51103:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WELL_KNOWN_OPENID_CONFIG=void 0;const n=r(30710),i=r(2654);t.WELL_KNOWN_OPENID_CONFIG=".well-known/openid-configuration";const o={issuer:{toKey:"issuer",convertToUrl:!0},authorization_endpoint:{toKey:"authorizationEndpoint",convertToUrl:!0},token_endpoint:{toKey:"tokenEndpoint",convertToUrl:!0},userinfo_endpoint:{toKey:"userinfoEndpoint",convertToUrl:!0},jwks_uri:{toKey:"jwksUri",convertToUrl:!0},registration_endpoint:{toKey:"registrationEndpoint",convertToUrl:!0},scopes_supported:{toKey:"scopesSupported"},response_types_supported:{toKey:"responseTypesSupported"},response_modes_supported:{toKey:"responseModesSupported"},grant_types_supported:{toKey:"grantTypesSupported"},acr_values_supported:{toKey:"acrValuesSupported"},subject_types_supported:{toKey:"subjectTypesSupported"},id_token_signing_alg_values_supported:{toKey:"idTokenSigningAlgValuesSupported"},id_token_encryption_alg_values_supported:{toKey:"idTokenEncryptionAlgValuesSupported"},id_token_encryption_enc_values_supported:{toKey:"idTokenEncryptionEncValuesSupported"},userinfo_signing_alg_values_supported:{toKey:"userinfoSigningAlgValuesSupported"},userinfo_encryption_alg_values_supported:{toKey:"userinfoEncryptionAlgValuesSupported"},userinfo_encryption_enc_values_supported:{toKey:"userinfoEncryptionEncValuesSupported"},request_object_signing_alg_values_supported:{toKey:"requestObjectSigningAlgValuesSupported"},request_object_encryption_alg_values_supported:{toKey:"requestObjectEncryptionAlgValuesSupported"},request_object_encryption_enc_values_supported:{toKey:"requestObjectEncryptionEncValuesSupported"},token_endpoint_auth_methods_supported:{toKey:"tokenEndpointAuthMethodsSupported"},token_endpoint_auth_signing_alg_values_supported:{toKey:"tokenEndpointAuthSigningAlgValuesSupported"},display_values_supported:{toKey:"displayValuesSupported"},claim_types_supported:{toKey:"claimTypesSupported"},claims_supported:{toKey:"claimsSupported"},service_documentation:{toKey:"serviceDocumentation"},claims_locales_supported:{toKey:"claimsLocalesSupported"},ui_locales_supported:{toKey:"uiLocalesSupported"},claims_parameter_supported:{toKey:"claimsParameterSupported"},request_parameter_supported:{toKey:"requestParameterSupported"},request_uri_parameter_supported:{toKey:"requestUriParameterSupported"},require_request_uri_registration:{toKey:"requireRequestUriRegistration"},op_policy_uri:{toKey:"opPolicyUri",convertToUrl:!0},op_tos_uri:{toKey:"opTosUri",convertToUrl:!0}};class a{constructor(e){this.storageUtility=e}static getLocalStorageKey(e){return`issuerConfig:${e}`}async fetchConfig(e){let r;const s=(0,i.appendToUrlPathname)(e,t.WELL_KNOWN_OPENID_CONFIG),c=await window.fetch(s);try{r=function(e){const t={};return Object.keys(e).forEach((r=>{o[r]&&(t[o[r].toKey]=e[r])})),Array.isArray(t.scopesSupported)||(t.scopesSupported=["openid"]),t}(await c.json())}catch(t){throw new n.ConfigurationError(`[${e.toString()}] has an invalid configuration: ${t.message}`)}return await this.storageUtility.set(a.getLocalStorageKey(e),JSON.stringify(r)),r}}t.default=a},38349:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710);function i(e){return"string"==typeof e.oidcIssuer}function o(e){return"string"==typeof e.redirectUrl}t.default=class{constructor(e,t,r,n){this.storageUtility=e,this.oidcHandler=t,this.issuerConfigFetcher=r,this.clientRegistrar=n}async canHandle(e){return i(e)&&o(e)}async handle(e){if(!i(e))throw new n.ConfigurationError(`OidcLoginHandler requires an OIDC issuer: missing property 'oidcIssuer' in ${JSON.stringify(e)}`);if(!o(e))throw new n.ConfigurationError(`OidcLoginHandler requires a redirect URL: missing property 'redirectUrl' in ${JSON.stringify(e)}`);const t=await this.issuerConfigFetcher.fetchConfig(e.oidcIssuer),r=await(0,n.handleRegistration)(e,t,this.storageUtility,this.clientRegistrar),a={issuer:t.issuer,dpop:"dpop"===e.tokenType.toLowerCase(),...e,issuerConfiguration:t,client:r};return this.oidcHandler.handle(a)}}},75970:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{redirect(e,t){t&&t.handleRedirect?t.handleRedirect(e):t&&t.redirectByReplacingState?window.history.replaceState({},"",e):window.location.href=e}}},3025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthCodeRedirectHandler=void 0;const n=r(30710),i=r(40319);t.AuthCodeRedirectHandler=class{constructor(e,t,r,n,i){this.storageUtility=e,this.sessionInfoManager=t,this.issuerConfigFetcher=r,this.clientRegistrar=n,this.tokerRefresher=i}async canHandle(e){try{const t=new URL(e);return null!==t.searchParams.get("code")&&null!==t.searchParams.get("state")}catch(t){throw new Error(`[${e}] is not a valid URL, and cannot be used as a redirect URL: ${t}`)}}async handle(e,t){if(!await this.canHandle(e))throw new Error(`AuthCodeRedirectHandler cannot handle [${e}]: it is missing one of [code, state].`);const r=new URL(e),o=r.searchParams.get("state"),a=await this.storageUtility.getForUser(o,"sessionId",{errorIfNull:!0}),{issuerConfig:s,codeVerifier:c,redirectUrl:u,dpop:l}=await(0,n.loadOidcContextFromStorage)(a,this.storageUtility,this.issuerConfigFetcher);if(void 0===c)throw new Error(`The code verifier for session ${a} is missing from storage.`);if(void 0===u)throw new Error(`The redirect URL for session ${a} is missing from storage.`);const d=await this.clientRegistrar.getClient({sessionId:a},s);let p;const h=Date.now();let f;l?(p=await(0,i.getDpopToken)(s,d,{grantType:"authorization_code",code:r.searchParams.get("code"),codeVerifier:c,redirectUrl:u}),window.localStorage.removeItem(`oidc.${o}`)):p=await(0,i.getBearerToken)(r.toString()),void 0!==p.refreshToken&&(f={sessionId:a,refreshToken:p.refreshToken,tokenRefresher:this.tokerRefresher});const y=await(0,n.buildAuthenticatedFetch)(fetch,p.accessToken,{dpopKey:p.dpopKey,refreshOptions:f,eventEmitter:t,expiresIn:p.expiresIn}),g=await(0,n.buildHeadersAuthenticator)(p.accessToken,{dpopKey:p.dpopKey});await this.storageUtility.setForUser(a,{webId:p.webId,isLoggedIn:"true"},{secure:!0}),r.searchParams.delete("code"),await this.storageUtility.setForUser(a,{redirectUrl:r.toString()},{secure:!1});const m=await this.sessionInfoManager.get(a);if(!m)throw new Error(`Could not retrieve session: [${a}].`);return Object.assign(m,{fetch:y,headersAuthenticator:g,expirationDate:"number"==typeof p.expiresIn?h+1e3*p.expiresIn:null})}}},47747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorOidcHandler=void 0;const n=r(30710),i=r(87177);t.ErrorOidcHandler=class{async canHandle(e){try{return new URL(e).searchParams.has("error")}catch(t){throw new Error(`[${e}] is not a valid URL, and cannot be used as a redirect URL: ${t}`)}}async handle(e,t){if(void 0!==t){const r=new URL(e),i=r.searchParams.get("error"),o=r.searchParams.get("error_description");t.emit(n.EVENTS.ERROR,i,o)}return(0,i.getUnauthenticatedSession)()}}},76994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FallbackRedirectHandler=void 0;const n=r(87177);t.FallbackRedirectHandler=class{async canHandle(e){try{return new URL(e),!0}catch(t){throw new Error(`[${e}] is not a valid URL, and cannot be used as a redirect URL: ${t}`)}}async handle(e){return(0,n.getUnauthenticatedSession)()}}},1642:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710),i=r(40319);t.default=class{constructor(e,t){this.storageUtility=e,this.redirector=t}async canHandle(e){return!!(e.issuerConfiguration.grantTypesSupported&&e.issuerConfiguration.grantTypesSupported.indexOf("authorization_code")>-1)}async handle(e){var t;const r={authority:e.issuer.toString(),client_id:e.client.clientId,client_secret:e.client.clientSecret,redirect_uri:e.redirectUrl.toString(),post_logout_redirect_uri:e.redirectUrl.toString(),response_type:"code",scope:n.DEFAULT_SCOPES,filterProtocolClaims:!0,loadUserInfo:!1,code_verifier:!0,prompt:null!==(t=e.prompt)&&void 0!==t?t:"consent"},o=new i.OidcClient(r),{redirector:a}=this,s=this.storageUtility;try{const t=await o.createSigninRequest();await Promise.all([s.setForUser(t.state._id,{sessionId:e.sessionId}),s.setForUser(e.sessionId,{codeVerifier:t.state._code_verifier,issuer:e.issuer.toString(),redirectUrl:e.redirectUrl,dpop:e.dpop?"true":"false"})]),a.redirect(t.url.toString(),{handleRedirect:e.handleRedirect})}catch(e){console.error(e)}}}},7160:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710),i=r(40319);t.default=class{constructor(e,t,r){this.storageUtility=e,this.issuerConfigFetcher=t,this.clientRegistrar=r}async refresh(e,t,r,o){const a=await(0,n.loadOidcContextFromStorage)(e,this.storageUtility,this.issuerConfigFetcher),s=await this.clientRegistrar.getClient({sessionId:e},a.issuerConfig);if(void 0===t)throw new Error(`Session [${e}] has no refresh token to allow it to refresh its access token.`);if(a.dpop&&void 0===r)throw new Error(`For session [${e}], the key bound to the DPoP access token must be provided to refresh said access token.`);const c=await(0,i.refresh)(t,a.issuerConfig,s,r);return void 0!==c.refreshToken&&(null==o||o.emit(n.EVENTS.NEW_REFRESH_TOKEN,c.refreshToken),await this.storageUtility.setForUser(e,{refreshToken:c.refreshToken})),c}}},91366:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.sessionInfoManager=e}async canHandle(){return!0}async handle(e){await this.sessionInfoManager.clear(e)}}},87177:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionInfoManager=t.clear=t.getUnauthenticatedSession=void 0;const n=r(30710),i=r(10611),o=r(40319);async function a(e,t){await Promise.all([t.deleteAllUserData(e,{secure:!1}),t.deleteAllUserData(e,{secure:!0}),t.delete("clientKey",{secure:!1})]),await(0,o.clearOidcPersistentStorage)()}t.getUnauthenticatedSession=function(){return{isLoggedIn:!1,sessionId:(0,i.v4)(),fetch,headersAuthenticator:async(e,t,r)=>r}},t.clear=a,t.SessionInfoManager=class{constructor(e){this.storageUtility=e}update(e,t){throw new Error("Not Implemented")}async get(e){var t;const r=await this.storageUtility.getForUser(e,"isLoggedIn",{secure:!0}),i=await this.storageUtility.getForUser(e,"webId",{secure:!0}),o=await this.storageUtility.getForUser(e,"clientId",{secure:!1}),a=await this.storageUtility.getForUser(e,"clientSecret",{secure:!1}),s=await this.storageUtility.getForUser(e,"redirectUrl",{secure:!1}),c=await this.storageUtility.getForUser(e,"refreshToken",{secure:!0}),u=await this.storageUtility.getForUser(e,"issuer",{secure:!1}),l=null!==(t=await this.storageUtility.getForUser(e,"tokenType",{secure:!1}))&&void 0!==t?t:"DPoP";if(!(0,n.isSupportedTokenType)(l))throw new Error(`Tokens of type [${l}] are not supported.`);if(void 0!==o||void 0!==r||void 0!==i||void 0!==c)return{sessionId:e,webId:i,isLoggedIn:"true"===r,redirectUrl:s,refreshToken:c,issuer:u,clientAppId:o,clientAppSecret:a,tokenType:l}}async getAll(){throw new Error("Not implemented")}async clear(e){return a(e,this.storageUtility)}async register(e){throw new Error("Not implemented")}async getRegisteredSessionIdAll(){throw new Error("Not implemented")}async clearAll(){throw new Error("Not implemented")}}},89292:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{get storage(){return window.localStorage}async get(e){return this.storage.getItem(e)||void 0}async set(e,t){this.storage.setItem(e,t)}async delete(e){this.storage.removeItem(e)}}},83258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(30710);class i extends n.StorageUtility{constructor(e,t){super(e,t)}}t.default=i},2654:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.appendToUrlPathname=void 0,t.appendToUrlPathname=function(e,t){const r=new URL(e),n=r.pathname;return r.pathname=`${n}${n.endsWith("/")?"":"/"}${t.startsWith("/")?t.substring(1):t}`,r.toString()}},88602:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowToWorkerHandler=void 0;const n=r(89774);t.WindowToWorkerHandler=class{constructor(e,t,r){this.windowSelf=e,this.worker=t,this.session=r}onmessage(e){if("object"==typeof e.data&&n.WorkerToWindowHandler.MESSAGE_KEY_POST in e.data){const t=e.data[n.WorkerToWindowHandler.MESSAGE_KEY_POST];return this.session.authenticateHeaders(t.resource,t.method,new Headers(t.headersUnauthenticatedRaw)).then((e=>{const r={messageId:t.messageId,headersAuthenticatedRaw:[...e.entries()]};this.worker.postMessage({[n.WorkerToWindowHandler.MESSAGE_KEY_RESPONSE]:r})})).catch((e=>{const r={messageId:t.messageId,errorMessage:e.message};this.worker.postMessage({[n.WorkerToWindowHandler.MESSAGE_KEY_RESPONSE]:r})})),!0}return!1}}},89774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerToWindowHandler=void 0;class n{constructor(e){this.workerSelf=e,this.messageCounter=0,this.messageReceiveCallbackBuffer={}}onmessage(e){if("object"==typeof e.data&&n.MESSAGE_KEY_RESPONSE in e.data){const t=e.data[n.MESSAGE_KEY_RESPONSE],r=this.messageReceiveCallbackBuffer[t.messageId];if(!r)throw new Error(`Received unexpected authenticated headers response for id ${t.messageId}`);return t.errorMessage?r.reject(new Error(t.errorMessage)):r.resolve(new Headers(t.headersAuthenticatedRaw)),delete this.messageReceiveCallbackBuffer[t.messageId],!0}return!1}buildAuthenticatedFetch(){return async(e,t)=>{const n="string"==typeof e,i=e instanceof URL,o=await this.authenticateHeaders(n?e:i?e.toString():e.url,(n||i?null==t?void 0:t.method:e.method)||"get",new Headers(i||n||!e.headers?null==t?void 0:t.headers:e.headers));return"string"!=typeof e?r.g.fetch({...e,headers:o},{...t}):r.g.fetch(e,{...t,headers:o})}}authenticateHeaders(e,t,r){const i=this.messageCounter,o=new Promise(((e,t)=>{this.messageReceiveCallbackBuffer[i]={resolve:e,reject:t}}));this.messageCounter+=1;const a={messageId:i,resource:e,method:t,headersUnauthenticatedRaw:[...r.entries()]};return this.workerSelf.postMessage({[n.MESSAGE_KEY_POST]:a}),o}}t.WorkerToWindowHandler=n,n.MESSAGE_KEY_POST="solid-client-authn-js.requestUnauthenticated",n.MESSAGE_KEY_RESPONSE="solid-client-authn-js.headersAuthenticated"},73050:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateDpopKeyPair=t.createDpopHeader=void 0;const n=r(31613),i=r(10611),o=r(42968);function a(e){const t=new URL(e);return new URL(t.pathname,t.origin).toString()}t.createDpopHeader=async function(e,t,r){return new n.SignJWT({htu:a(e),htm:t.toUpperCase(),jti:(0,i.v4)()}).setProtectedHeader({alg:o.PREFERRED_SIGNING_ALG[0],jwk:r.publicKey,typ:"dpop+jwt"}).setIssuedAt().sign(r.privateKey,{})},t.generateDpopKeyPair=async function(){const{privateKey:e,publicKey:t}=await(0,n.generateKeyPair)(o.PREFERRED_SIGNING_ALG[0]),r={privateKey:e,publicKey:await(0,n.exportJWK)(t)};return[r.publicKey.alg]=o.PREFERRED_SIGNING_ALG,r}},29074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildHeadersAuthenticator=t.buildAuthenticatedFetch=t.DEFAULT_EXPIRATION_TIME_SECONDS=void 0;const n=r(74945),i=r(42968),o=r(73050),a=r(46134),s=r(51072);async function c(e,t,r,i){if(void 0!==r)return async function(e,t,r,i){var a;const s=new n.Headers(null==i?void 0:i.headers);return s.set("Authorization",`DPoP ${t}`),s.set("DPoP",await(0,o.createDpopHeader)(e,null!==(a=null==i?void 0:i.method)&&void 0!==a?a:"get",r)),{...i,headers:s}}(e,t,r,i);const a=new n.Headers(null==i?void 0:i.headers);return a.set("Authorization",`Bearer ${t}`),{...i,headers:a}}async function u(e,t,r,n,i){return e(r,await c(r.toString(),t,i,n))}t.DEFAULT_EXPIRATION_TIME_SECONDS=600;const l=e=>void 0!==e?e-i.REFRESH_BEFORE_EXPIRATION_SECONDS>0?e-i.REFRESH_BEFORE_EXPIRATION_SECONDS:e:t.DEFAULT_EXPIRATION_TIME_SECONDS;t.buildAuthenticatedFetch=async function(e,r,n){var o;let c,d=r;const p=null==n?void 0:n.refreshOptions;if(void 0!==p){const e=async()=>{var r,o,u,h;try{const{accessToken:o,refreshToken:a,expiresIn:s}=await async function(e,r,n){var o;const a=await e.tokenRefresher.refresh(e.sessionId,e.refreshToken,r);return null==n||n.emit(i.EVENTS.SESSION_EXTENDED,null!==(o=a.expiresIn)&&void 0!==o?o:t.DEFAULT_EXPIRATION_TIME_SECONDS),"string"==typeof a.refreshToken&&(null==n||n.emit(i.EVENTS.NEW_REFRESH_TOKEN,a.refreshToken)),{accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:a.expiresIn}}(p,n.dpopKey,n.eventEmitter);d=o,void 0!==a&&(p.refreshToken=a),clearTimeout(c),c=setTimeout(e,1e3*l(s)),null===(r=n.eventEmitter)||void 0===r||r.emit(i.EVENTS.TIMEOUT_SET,c)}catch(e){e instanceof a.OidcProviderError&&(null===(o=null==n?void 0:n.eventEmitter)||void 0===o||o.emit(i.EVENTS.ERROR,e.error,e.errorDescription),null===(u=null==n?void 0:n.eventEmitter)||void 0===u||u.emit(i.EVENTS.SESSION_EXPIRED)),e instanceof s.InvalidResponseError&&e.missingFields.includes("access_token")&&(null===(h=null==n?void 0:n.eventEmitter)||void 0===h||h.emit(i.EVENTS.SESSION_EXPIRED))}};c=setTimeout(e,1e3*l(n.expiresIn)),null===(o=n.eventEmitter)||void 0===o||o.emit(i.EVENTS.TIMEOUT_SET,c)}else if(void 0!==n&&void 0!==n.eventEmitter){const e=setTimeout((()=>{n.eventEmitter.emit(i.EVENTS.SESSION_EXPIRED)}),1e3*l(n.expiresIn));n.eventEmitter.emit(i.EVENTS.TIMEOUT_SET,e)}return async(t,r)=>{let i=await u(e,d,t,r,null==n?void 0:n.dpopKey);const o=!i.ok&&(a=i.status,![401,403].includes(a));var a;return i.ok||o||i.url!==t&&void 0!==(null==n?void 0:n.dpopKey)&&(i=await u(e,d,i.url,r,n.dpopKey)),i}},t.buildHeadersAuthenticator=async function(e,t){return async(r,i,o)=>{const a=new n.Headers((await c(r.toString(),e,null==t?void 0:t.dpopKey,{method:i})).headers);return o.forEach(((e,t)=>{a.has(t)||a.set(t,e)})),a}}},42968:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SCOPES=t.REFRESH_BEFORE_EXPIRATION_SECONDS=t.EVENTS=t.PREFERRED_SIGNING_ALG=t.SOLID_CLIENT_AUTHN_KEY_PREFIX=void 0,t.SOLID_CLIENT_AUTHN_KEY_PREFIX="solidClientAuthn:",t.PREFERRED_SIGNING_ALG=["ES256","RS256"],t.EVENTS={ERROR:"error",LOGIN:"login",LOGOUT:"logout",NEW_REFRESH_TOKEN:"newRefreshToken",SESSION_EXPIRED:"sessionExpired",SESSION_EXTENDED:"sessionExtended",SESSION_RESTORED:"sessionRestore",TIMEOUT_SET:"timeoutSet"},t.REFRESH_BEFORE_EXPIRATION_SECONDS=5,t.DEFAULT_SCOPES=["openid","offline_access","webid"].join(" ")},58178:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(e)}}t.default=r},42312:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e,t,n=!0){super("string"==typeof e?r.substituteParams(e,t):r.appendErrorIri(r.lookupErrorIri(e,t),e,n))}httpResponse(e,t=!0){return this.message=r.appendHttpResponseDetails(this.message,e,t),this.httpErrorResponse=e,this}hasHttpResponse(){return void 0!==this.httpErrorResponse}getHttpResponse(){return this.httpErrorResponse}getHttpStatusCode(){if(void 0===this.httpErrorResponse)throw new r("This InruptError was not provided with a HTTP response - so we can't get its HTTP Status Code.");return this.httpErrorResponse.status}getHttpStatusText(){if(void 0===this.httpErrorResponse)throw new r("This InruptError was not provided with a HTTP response - so we can't get its HTTP Status Text!");return this.httpErrorResponse.statusText}static determineIfVocabTerm(e){return void 0!==e.strict}static lookupErrorIri(e,t){if(r.determineIfVocabTerm(e)){const r=void 0===t?e.message:e.messageParams(...t);return void 0===r?`Looked up error message IRI [${e.value}], but found no message value.`:r}return`Error message looked up at: [${e.value}]${void 0===t?"":`, with params [${t.toString()}]`}`}static appendHttpResponseDetails(e,t,r){return r&&void 0!==t?`${e} HTTP details: status code [${t.status}], status text [${t.statusText}].`:e}static appendErrorIri(e,t,r){return r?`${e} Error IRI: [${t.value}].`:e}static substituteParams(e,t){let r=e;if(void 0!==t){const n=e.split("{{").length-1;if(n!==t.length)throw new Error(`Setting parameters on message [${e}], but it requires [${n}] params and we received [${t.length}].`);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidResponseError=void 0;class r extends Error{constructor(e){super(`Invalid response from OIDC provider: missing fields ${e}`),this.missingFields=e}}t.InvalidResponseError=r},43063:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(`[${e}] is not implemented`)}}t.default=r},46134:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OidcProviderError=void 0;class r extends Error{constructor(e,t,r){super(e),this.error=t,this.errorDescription=r}}t.OidcProviderError=r},30710:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StorageUtilityGetResponse=t.StorageUtilityMock=t.mockStorageUtility=t.mockStorage=t.buildHeadersAuthenticator=t.buildAuthenticatedFetch=t.generateDpopKeyPair=t.createDpopHeader=t.OidcProviderError=t.InvalidResponseError=t.NotImplementedError=t.ConfigurationError=t.InMemoryStorage=t.getSessionIdFromOauthState=t.saveSessionInfoToStorage=t.loadOidcContextFromStorage=t.StorageUtility=t.determineSigningAlg=t.handleRegistration=t.USER_SESSION_PREFIX=t.isSupportedTokenType=t.fetchJwks=t.getWebidFromTokenPayload=t.AggregateHandler=void 0,i(r(42968),t);var a=r(68897);Object.defineProperty(t,"AggregateHandler",{enumerable:!0,get:function(){return o(a).default}});var s=r(402);Object.defineProperty(t,"getWebidFromTokenPayload",{enumerable:!0,get:function(){return s.getWebidFromTokenPayload}}),Object.defineProperty(t,"fetchJwks",{enumerable:!0,get:function(){return s.fetchJwks}});var c=r(73796);Object.defineProperty(t,"isSupportedTokenType",{enumerable:!0,get:function(){return c.isSupportedTokenType}});var u=r(14337);Object.defineProperty(t,"USER_SESSION_PREFIX",{enumerable:!0,get:function(){return u.USER_SESSION_PREFIX}});var l=r(81185);Object.defineProperty(t,"handleRegistration",{enumerable:!0,get:function(){return l.handleRegistration}}),Object.defineProperty(t,"determineSigningAlg",{enumerable:!0,get:function(){return l.determineSigningAlg}});var d=r(66833);Object.defineProperty(t,"StorageUtility",{enumerable:!0,get:function(){return o(d).default}}),Object.defineProperty(t,"loadOidcContextFromStorage",{enumerable:!0,get:function(){return d.loadOidcContextFromStorage}}),Object.defineProperty(t,"saveSessionInfoToStorage",{enumerable:!0,get:function(){return d.saveSessionInfoToStorage}}),Object.defineProperty(t,"getSessionIdFromOauthState",{enumerable:!0,get:function(){return d.getSessionIdFromOauthState}});var p=r(81);Object.defineProperty(t,"InMemoryStorage",{enumerable:!0,get:function(){return o(p).default}});var h=r(58178);Object.defineProperty(t,"ConfigurationError",{enumerable:!0,get:function(){return o(h).default}});var f=r(43063);Object.defineProperty(t,"NotImplementedError",{enumerable:!0,get:function(){return o(f).default}});var y=r(51072);Object.defineProperty(t,"InvalidResponseError",{enumerable:!0,get:function(){return y.InvalidResponseError}});var g=r(46134);Object.defineProperty(t,"OidcProviderError",{enumerable:!0,get:function(){return g.OidcProviderError}});var m=r(73050);Object.defineProperty(t,"createDpopHeader",{enumerable:!0,get:function(){return m.createDpopHeader}}),Object.defineProperty(t,"generateDpopKeyPair",{enumerable:!0,get:function(){return m.generateDpopKeyPair}});var b=r(29074);Object.defineProperty(t,"buildAuthenticatedFetch",{enumerable:!0,get:function(){return b.buildAuthenticatedFetch}}),Object.defineProperty(t,"buildHeadersAuthenticator",{enumerable:!0,get:function(){return b.buildHeadersAuthenticator}});var _=r(83993);Object.defineProperty(t,"mockStorage",{enumerable:!0,get:function(){return _.mockStorage}}),Object.defineProperty(t,"mockStorageUtility",{enumerable:!0,get:function(){return _.mockStorageUtility}}),Object.defineProperty(t,"StorageUtilityMock",{enumerable:!0,get:function(){return _.StorageUtilityMock}}),Object.defineProperty(t,"StorageUtilityGetResponse",{enumerable:!0,get:function(){return _.StorageUtilityGetResponse}})},81185:(e,t)=>{"use strict";function r(e){try{return new URL(e),!0}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.handleRegistration=t.determineSigningAlg=void 0,t.determineSigningAlg=function(e,t){var r;return null!==(r=t.find((t=>e.includes(t))))&&void 0!==r?r:null},t.handleRegistration=async function(e,t,n,i){const o=function(e,t){return void 0===e.clientId||r(e.clientId)?t.scopesSupported.includes("webid")&&void 0!==e.clientId&&r(e.clientId)?"solid-oidc":"dynamic":"static"}(e,t);return"dynamic"===o?i.getClient({sessionId:e.sessionId,clientName:e.clientName,redirectUrl:e.redirectUrl},t):(await n.setForUser(e.sessionId,{clientId:e.clientId}),e.clientSecret&&await n.setForUser(e.sessionId,{clientSecret:e.clientSecret}),e.clientName&&await n.setForUser(e.sessionId,{clientName:e.clientName}),{clientId:e.clientId,clientSecret:e.clientSecret,clientName:e.clientName,clientType:o})}},73796:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSupportedTokenType=void 0,t.isSupportedTokenType=function(e){return"string"==typeof e&&["DPoP","Bearer"].includes(e)}},14337:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.USER_SESSION_PREFIX=void 0,t.USER_SESSION_PREFIX="solidClientAuthenticationUser"},81:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.map={}}async get(e){return this.map[e]||void 0}async set(e,t){this.map[e]=t}async delete(e){delete this.map[e]}}},66833:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.saveSessionInfoToStorage=t.loadOidcContextFromStorage=t.getSessionIdFromOauthState=void 0;const i=r(31613),o=n(r(42312));t.getSessionIdFromOauthState=async function(e,t){return e.getForUser(t,"sessionId")},t.loadOidcContextFromStorage=async function(e,t,r){try{const[n,i,o,a]=await Promise.all([t.getForUser(e,"issuer",{errorIfNull:!0}),t.getForUser(e,"codeVerifier"),t.getForUser(e,"redirectUrl"),t.getForUser(e,"dpop",{errorIfNull:!0})]);return await t.deleteForUser(e,"codeVerifier"),{codeVerifier:i,redirectUrl:o,issuerConfig:await r.fetchConfig(n),dpop:"true"===a}}catch(t){throw new Error(`Failed to retrieve OIDC context from storage associated with session [${e}]: ${t}`)}},t.saveSessionInfoToStorage=async function(e,t,r,n,o,a,s){void 0!==o&&await e.setForUser(t,{refreshToken:o},{secure:a}),void 0!==r&&await e.setForUser(t,{webId:r},{secure:a}),void 0!==n&&await e.setForUser(t,{isLoggedIn:n},{secure:a}),void 0!==s&&await e.setForUser(t,{publicKey:JSON.stringify(s.publicKey),privateKey:JSON.stringify(await(0,i.exportJWK)(s.privateKey))},{secure:a})},t.default=class{constructor(e,t){this.secureStorage=e,this.insecureStorage=t}getKey(e){return`solidClientAuthenticationUser:${e}`}async getUserData(e,t){const r=await(t?this.secureStorage:this.insecureStorage).get(this.getKey(e));if(void 0===r)return{};try{return JSON.parse(r)}catch(n){throw new o.default(`Data for user [${e}] in [${t?"secure":"unsecure"}] storage is corrupted - expected valid JSON, but got: ${r}`)}}async setUserData(e,t,r){await(r?this.secureStorage:this.insecureStorage).set(this.getKey(e),JSON.stringify(t))}async get(e,t){const r=await((null==t?void 0:t.secure)?this.secureStorage:this.insecureStorage).get(e);if(void 0===r&&(null==t?void 0:t.errorIfNull))throw new o.default(`[${e}] is not stored`);return r}async set(e,t,r){return((null==r?void 0:r.secure)?this.secureStorage:this.insecureStorage).set(e,t)}async delete(e,t){return((null==t?void 0:t.secure)?this.secureStorage:this.insecureStorage).delete(e)}async getForUser(e,t,r){const n=await this.getUserData(e,null==r?void 0:r.secure);let i;if(n&&n[t]||(i=void 0),i=n[t],void 0===i&&(null==r?void 0:r.errorIfNull))throw new o.default(`Field [${t}] for user [${e}] is not stored`);return i||void 0}async setForUser(e,t,r){let n;try{n=await this.getUserData(e,null==r?void 0:r.secure)}catch(e){n={}}await this.setUserData(e,{...n,...t},null==r?void 0:r.secure)}async deleteForUser(e,t,r){const n=await this.getUserData(e,null==r?void 0:r.secure);delete n[t],await this.setUserData(e,n,null==r?void 0:r.secure)}async deleteAllUserData(e,t){await((null==t?void 0:t.secure)?this.secureStorage:this.insecureStorage).delete(this.getKey(e))}}},83993:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.mockStorageUtility=t.mockStorage=t.StorageUtilityMock=t.StorageUtilityGetResponse=void 0;const i=n(r(66833));t.StorageUtilityGetResponse="getResponse",t.StorageUtilityMock={get:async(e,r)=>t.StorageUtilityGetResponse,set:async(e,t)=>{},delete:async e=>{},getForUser:async(e,r,n)=>t.StorageUtilityGetResponse,setForUser:async(e,t,r)=>{},deleteForUser:async(e,t,r)=>{},deleteAllUserData:async(e,t)=>{}},t.mockStorage=e=>{const t=e;return{get:async e=>{if(void 0!==t[e])return"string"==typeof t[e]?t[e]:JSON.stringify(t[e])},set:async(e,r)=>{t[e]=r},delete:async e=>{delete t[e]}}},t.mockStorageUtility=(e,r=!1)=>r?new i.default((0,t.mockStorage)(e),(0,t.mockStorage)({})):new i.default((0,t.mockStorage)({}),(0,t.mockStorage)(e))},68897:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(42312));t.default=class{constructor(e){this.handleables=e}async getProperHandler(e){const t=await Promise.all(this.handleables.map((t=>t.canHandle(...e))));for(let e=0;e{try{return JSON.stringify(e)}catch(t){return e.toString()}})).join(", ")}`)}}},402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWebidFromTokenPayload=t.fetchJwks=void 0;const n=r(74945),i=r(31613);async function o(e,t){const r=await(0,n.fetch)(e);if(200!==r.status)throw new Error(`Could not fetch JWKS for [${t}] at [${e}]: ${r.status} ${r.statusText}`);let i;try{i=(await r.json()).keys[0]}catch(r){throw new Error(`Malformed JWKS for [${t}] at [${e}]: ${r.message}`)}return i}t.fetchJwks=o,t.getWebidFromTokenPayload=async function(e,t,r,n){const a=await o(t,r);let s;try{const{payload:t}=await(0,i.jwtVerify)(e,await(0,i.importJWK)(a),{issuer:r,audience:n});s=t}catch(e){throw new Error(`Token verification failed: ${e.stack}`)}if("string"==typeof s.webid)return s.webid;if("string"!=typeof s.sub)throw new Error(`The token ${JSON.stringify(s)} is invalid: it has no 'webid' claim and no 'sub' claim.`);try{return new URL(s.sub),s.sub}catch(e){throw new Error(`The token has no 'webid' claim, and its 'sub' claim of [${s.sub}] is invalid as a URL - error [${e}].`)}}},25568:e=>{"use strict";const{AbortController:t,AbortSignal:r}="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0;e.exports=t,e.exports.AbortSignal=r,e.exports.default=t},25579:(e,t,r)=>{const n=r(2044),i=r(4518),o=r(12391),a=r(23111),s=r(32106);e.exports={DynamicNestedLoopJoin:n,HashJoin:i,NestedLoopJoin:o,SymmetricHashJoin:a,MergeStream:s}},2044:(e,t,r)=>{let n=r(75627),i=n.MultiTransformIterator,o=n.SimpleTransformIterator;e.exports=class extends i{constructor(e,t,r,n){super(e,n),this.funRight=t,this.funJoin=r}_createTransformer(e){return new o(this.funRight(e),{transform:(t,r,n)=>{let i=this.funJoin(e,t);null!==i&&n(i),r()}})}}},4518:(e,t,r)=>{let n=r(75627).AsyncIterator;e.exports=class extends n{constructor(e,t,r,n){super(),this.addedDataListener=!1,this.left=e,this.right=t,this.funHash=r,this.funJoin=n,this.leftMap=new Map,this.match=null,this.matches=[],this.matchIdx=0,this.left.on("error",(e=>this.destroy(e))),this.right.on("error",(e=>this.destroy(e))),this.readable=!1,this.left.on("end",function(){this.readable=!0,this.right.on("readable",(()=>this.readable=!0)),this.right.on("end",(()=>{this.hasResults()||this._end()}))}.bind(this)),this.on("newListener",(e=>{"data"===e&&this._addDataListenerIfNeeded()})),this.left.readable&&this._addDataListenerIfNeeded(),this.left.on("readable",(()=>this._addDataListenerIfNeeded()))}hasResults(){return!this.right.ended||this.matchIdx{const{MultiTransformIterator:n,SimpleTransformIterator:i,scheduleTask:o}=r(75627);e.exports=class extends n{constructor(e,t,r,n){super(e,n),this.right=t,this.funJoin=r,this.on("end",(()=>this.right.close()))}_end(){super._end(),o((()=>this.right.destroy()))}_createTransformer(e){return new i(this.right.clone(),{transform:(t,r,n)=>{let i=this.funJoin(e,t);null!==i&&n(i),r()}})}}},23111:(e,t,r)=>{let n=r(75627).AsyncIterator;e.exports=class extends n{constructor(e,t,r,n){super(),this.left=e,this.right=t,this.funHash=r,this.funJoin=n,this.usedLeft=!1,this.leftMap=new Map,this.rightMap=new Map,this.on("end",(()=>this._cleanup())),this.match=null,this.matches=[],this.matchIdx=0,(this.left.readable||this.right.readable)&&(this.readable=!0),this.left.on("error",(e=>this.destroy(e))),this.right.on("error",(e=>this.destroy(e))),this.left.on("readable",(()=>this.readable=!0)),this.right.on("readable",(()=>this.readable=!0)),this.left.on("end",(()=>{this.hasResults()||this._end()})),this.right.on("end",(()=>{this.hasResults()||this._end()}))}hasResults(){return!this.left.ended||!this.right.ended||!!this.matches&&this.matchIdx{let n=r(75627).AsyncIterator;e.exports=class extends n{constructor(e){super(),Array.isArray(e)||(e=Array.prototype.slice.call(arguments)),this.streams=e;for(let t of e)t.on("readable",(()=>this.emit("readable"))),t.on("end",(()=>this._removeStream(t)));0===this.streams.length&&this.close(),this.idx=this.streams.length-1}_removeStream(e){let t=this.streams.indexOf(e);t<0||(this.streams.splice(t,1),this.idx>=this.streams.length&&--this.idx,0===this.streams.length&&this._end())}close(){super.close();for(let e of this.streams)e.close()}read(){for(let e=0;e{e.exports=function(e){const t=new(r(11832).LoggerVoid),n=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-init/^4.0.0/components/ActorInit.jsonld#ActorInit_default_bus"}),i=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-context-preprocess/^4.0.0/components/ActorContextPreprocess.jsonld#ActorContextPreprocess_default_bus"}),o=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-hash-bindings/^4.0.0/components/ActorHashBindings.jsonld#ActorHashBindings_default_bus"}),a=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-hash-quads/^4.0.0/components/ActorHashQuads.jsonld#ActorHashQuads_default_bus"}),s=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-query-operation/^4.0.0/components/ActorOptimizeQueryOperation.jsonld#ActorOptimizeQueryOperation_default_bus"}),c=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-parse/^4.0.0/components/ActorQueryParse.jsonld#ActorQueryParse_default_bus"}),u=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-result-serialize/^4.0.0/components/ActorQueryResultSerialize.jsonld#ActorQueryResultSerialize_default_bus"}),l=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-source-identify-hypermedia/^4.0.0/components/ActorQuerySourceIdentifyHypermedia.jsonld#ActorQuerySourceIdentifyHypermedia_default_bus"}),d=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-dereference/^4.0.0/components/ActorDereference.jsonld#ActorDereference_default_bus"}),p=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-dereference-rdf/^4.0.0/components/ActorDereferenceRdf.jsonld#ActorDereferenceRdf_default_bus"}),h=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join-entries-sort/^4.0.0/components/ActorRdfJoinEntriesSort.jsonld#ActorRdfJoinEntriesSort_default_bus"}),f=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join-selectivity/^4.0.0/components/ActorRdfJoinSelectivity.jsonld#ActorRdfJoinSelectivity_default_bus"}),y=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata/^4.0.0/components/ActorRdfMetadata.jsonld#ActorRdfMetadata_default_bus"}),g=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata-accumulate/^4.0.0/components/ActorRdfMetadataAccumulate.jsonld#ActorRdfMetadataAccumulate_default_bus"}),m=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata-extract/^4.0.0/components/ActorRdfMetadataExtract.jsonld#ActorRdfMetadataExtract_default_bus"}),b=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-parse/^4.0.0/components/ActorRdfParse.jsonld#ActorRdfParse_default_bus"}),_=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-parse-html/^4.0.0/components/ActorRdfParseHtml.jsonld#ActorRdfParseHtml_default_bus"}),v=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-resolve-hypermedia-links/^4.0.0/components/ActorRdfResolveHypermediaLinks.jsonld#ActorRdfResolveHypermediaLinks_default_bus"}),w=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-resolve-hypermedia-links-queue/^4.0.0/components/ActorRdfResolveHypermediaLinksQueue.jsonld#ActorRdfResolveHypermediaLinksQueue_default_bus"}),S=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-serialize/^4.0.0/components/ActorRdfSerialize.jsonld#ActorRdfSerialize_default_bus"}),E=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-hypermedia/^4.0.0/components/ActorRdfUpdateHypermedia.jsonld#ActorRdfUpdateHypermedia_default_bus"}),T=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-quads/^4.0.0/components/ActorRdfUpdateQuads.jsonld#ActorRdfUpdateQuads_default_bus"}),O=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-bindings-aggregator-factory/^4.0.0/components/ActorBindingsAggregatorFactory.jsonld#ActorBindingsAggregatorFactory_default_bus"}),x=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-expression-evaluator-factory/^4.0.0/components/ActorExpressionEvaluatorFactory.jsonld#ActorExpressionEvaluatorFactory_default_bus"}),A=new(r(77617).BusFunctionFactory)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-function-factory/^4.0.0/components/ActorFunctionFactory.jsonld#ActorFunctionFactory_default_bus"}),I=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http/^4.0.0/components/ActorHttp.jsonld#ActorHttp_default_bus"}),R=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http/^4.0.0/components/ActorHttp.jsonld#ActorHttp_fallback_bus"}),P=new(r(66490).BusQueryOperation)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^4.0.0/components/ActorQueryOperation.jsonld#ActorQueryOperation_default_bus"}),F=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-process/^4.0.0/components/ActorQueryProcess.jsonld#ActorQueryProcess_default_bus"}),D=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-source-identify/^4.0.0/components/ActorQuerySourceIdentify.jsonld#ActorQuerySourceIdentify_default_bus"}),N=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join/^4.0.0/components/ActorRdfJoin.jsonld#ActorRdfJoin_default_bus"}),j=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-term-comparator-factory/^4.0.0/components/ActorTermComparatorFactory.jsonld#ActorTermComparatorFactory_default_bus"}),C=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http-invalidate/^4.0.0/components/ActorHttpInvalidate.jsonld#ActorHttpInvalidate_default_bus"}),M=new(r(90412).Bus)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-merge-bindings-context/^4.0.0/components/ActorMergeBindingsContext.jsonld#ActorMergeBindingsContext_default_bus"}),k=(new(r(71871).ActorContextPreprocessConvertShortcuts)({contextKeyShortcuts:{baseIRI:"@comunica/actor-init-query:baseIRI",dataFactory:"@comunica/actor-init-query:dataFactory",datetime:"@comunica/actor-http-memento:datetime",destination:"@comunica/bus-rdf-update-quads:destination",distinctConstruct:"@comunica/actor-init-query:distinctConstruct",explain:"@comunica/actor-init-query:explain",extensionFunctionCreator:"@comunica/actor-init-query:extensionFunctionCreator",extensionFunctions:"@comunica/actor-init-query:extensionFunctions",fetch:"@comunica/bus-http:fetch",functionArgumentsCache:"@comunica/actor-init-query:functionArgumentsCache",httpAuth:"@comunica/bus-http:auth",httpBodyTimeout:"@comunica/bus-http:http-body-timeout",httpIncludeCredentials:"@comunica/bus-http:include-credentials",httpProxyHandler:"@comunica/actor-http-proxy:httpProxyHandler",httpRetryCount:"@comunica/bus-http:http-retry-count",httpRetryDelayFallback:"@comunica/bus-http:http-retry-delay-fallback",httpRetryDelayLimit:"@comunica/bus-http:http-retry-delay-limit",httpTimeout:"@comunica/bus-http:http-timeout",initialBindings:"@comunica/actor-init-query:initialBindings",invalidateCache:"@comunica/actor-init-query:invalidateCache",lenient:"@comunica/actor-init-query:lenient",log:"@comunica/core:log",queryFormat:"@comunica/actor-init-query:queryFormat",queryTimestamp:"@comunica/actor-init-query:queryTimestamp",queryTimestampHighResolution:"@comunica/actor-init-query:queryTimestampHighResolution",readOnly:"@comunica/bus-query-operation:readOnly",recoverBrokenLinks:"@comunica/bus-http-wayback:recover-broken-links",sources:"@comunica/actor-init-query:querySourcesUnidentified",traverse:"@comunica/bus-query-source-identify:traverse",unionDefaultGraph:"@comunica/bus-query-operation:unionDefaultGraph"},name:"urn:comunica:default:context-preprocess/actors#convert-shortcuts",bus:i,busFailMessage:"Context preprocessing failed"}),new(r(10607).ActorContextPreprocessSetDefaults)({logger:t,name:"urn:comunica:default:context-preprocess/actors#set-defaults",bus:i,busFailMessage:"Context preprocessing failed"}),new(r(94410).ActorContextPreprocessSourceToDestination)({name:"urn:comunica:default:context-preprocess/actors#source-to-destination",bus:i,busFailMessage:"Context preprocessing failed"}),new(r(21806).ActorContextPreprocessQuerySourceSkolemize)({name:"urn:comunica:default:context-preprocess/actors#query-source-skolemize",bus:i,busFailMessage:"Context preprocessing failed"})),L=new(r(83223).MediatorCombinePipeline)({name:"urn:comunica:default:context-preprocess/mediators#main",bus:i}),U=(new(r(47111).ActorHashBindingsMurmur)({name:"urn:comunica:default:hash-bindings/actors#murmur",bus:o,busFailMessage:"Failed to obtaining hash functions for bindings"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:hash-bindings/mediators#main",bus:o})),B=(new(r(33401).ActorHashQuadsMurmur)({name:"urn:comunica:default:hash-quads/actors#murmur",bus:a,busFailMessage:"Failed to obtaining hash functions for quads"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:hash-quads/mediators#main",bus:a})),V=(new(r(20578).ActorOptimizeQueryOperationRewriteCopy)({name:"urn:comunica:default:optimize-query-operation/actors#rewrite-copy",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(12538).ActorOptimizeQueryOperationRewriteMove)({name:"urn:comunica:default:optimize-query-operation/actors#rewrite-move",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(34406).ActorOptimizeQueryOperationRewriteAdd)({name:"urn:comunica:default:optimize-query-operation/actors#rewrite-add",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(92012).ActorOptimizeQueryOperationGroupSources)({name:"urn:comunica:default:optimize-query-operation/actors#group-sources",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"})),q=(new(r(98832).ActorOptimizeQueryOperationConstructDistinct)({name:"urn:comunica:default:optimize-query-operation/actors#construct-distinct",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize"}),new(r(83223).MediatorCombinePipeline)({filterFailures:!0,name:"urn:comunica:default:optimize-query-operation/mediators#main",bus:s})),H=(new(r(8323).ActorQueryParseSparql)({prefixes:{dbpedia:"http://dbpedia.org/resource/","dbpedia-owl":"http://dbpedia.org/ontology/",dbpprop:"http://dbpedia.org/property/",dc:"http://purl.org/dc/terms/",dc11:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",foaf:"http://xmlns.com/foaf/0.1/",geo:"http://www.w3.org/2003/01/geo/wgs84_pos#",owl:"http://www.w3.org/2002/07/owl#",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",schema:"http://schema.org/",skos:"http://www.w3.org/2008/05/skos#",xsd:"http://www.w3.org/2001/XMLSchema#"},name:"urn:comunica:default:query-parse/actors#sparql",bus:c,busFailMessage:'Query parsing failed: none of the configured parsers were able to the query "${action.query}"'}),new(r(4047).ActorQueryParseGraphql)({name:"urn:comunica:default:query-parse/actors#graphql",bus:c,busFailMessage:'Query parsing failed: none of the configured parsers were able to the query "${action.query}"'}),new(r(12740).MediatorRace)({name:"urn:comunica:default:query-parse/mediators#main",bus:c})),$=(new(r(1359).ActorQueryResultSerializeJson)({mediaTypePriorities:{"application/json":1},mediaTypeFormats:{"application/json":"https://comunica.linkeddatafragments.org/#results_JSON"},name:"urn:comunica:default:query-result-serialize/actors#json",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(1595).ActorQueryResultSerializeSimple)({mediaTypePriorities:{simple:.9},mediaTypeFormats:{simple:"https://comunica.linkeddatafragments.org/#results_simple"},name:"urn:comunica:default:query-result-serialize/actors#simple",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(83657).ActorQueryResultSerializeSparqlCsv)({mediaTypePriorities:{"text/csv":.75},mediaTypeFormats:{"text/csv":"http://www.w3.org/ns/formats/SPARQL_Results_CSV"},name:"urn:comunica:default:query-result-serialize/actors#csv",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(92796).ActorQueryResultSerializeSparqlTsv)({mediaTypePriorities:{"text/tab-separated-values":.75},mediaTypeFormats:{"text/tab-separated-values":"http://www.w3.org/ns/formats/SPARQL_Results_TSV"},name:"urn:comunica:default:query-result-serialize/actors#sparql-tsv",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(23200).ActorQueryResultSerializeSparqlXml)({mediaTypePriorities:{"application/sparql-results+xml":.8},mediaTypeFormats:{"application/sparql-results+xml":"http://www.w3.org/ns/formats/SPARQL_Results_XML"},name:"urn:comunica:default:query-result-serialize/actors#sparql-xml",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(17731).ActorQueryResultSerializeTable)({columnWidth:50,mediaTypePriorities:{table:.6},mediaTypeFormats:{table:"https://comunica.linkeddatafragments.org/#results_table"},name:"urn:comunica:default:query-result-serialize/actors#table",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(78149).ActorQueryResultSerializeTree)({mediaTypePriorities:{tree:.5},mediaTypeFormats:{tree:"https://comunica.linkeddatafragments.org/#results_tree"},name:"urn:comunica:default:query-result-serialize/actors#tree",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:query-result-serialize/mediators#serialize",bus:u})),G=new(r(54560).MediatorCombineUnion)({field:"mediaTypes",name:"urn:comunica:default:query-result-serialize/mediators#mediaType",bus:u}),K=new(r(54560).MediatorCombineUnion)({field:"mediaTypeFormats",name:"urn:comunica:default:query-result-serialize/mediators#mediaTypeFormat",bus:u}),Q=new(r(31588).MediatorNumber)({field:"filterFactor",type:"max",ignoreFailures:!0,name:"urn:comunica:default:query-source-identify-hypermedia/mediators#main",bus:l}),z=new(r(67498).ActorDereferenceFallback)({name:"urn:comunica:default:dereference/actors#fallback",bus:d,busFailMessage:"Dereferencing failed: none of the configured actors were able to handle ${action.url}"}),J=new(r(12740).MediatorRace)({name:"urn:comunica:default:dereference/mediators#main",bus:d}),W=new(r(12740).MediatorRace)({name:"urn:comunica:default:dereference-rdf/mediators#main",bus:p}),X=(new(r(4669).ActorRdfJoinEntriesSortCardinality)({name:"urn:comunica:default:rdf-join-entries-sort/actors#cardinality",bus:h,busFailMessage:"Sorting join entries failed: none of the configured actors were able to sort"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-join-entries-sort/mediators#main",bus:h})),Y=(new(r(3595).ActorRdfJoinSelectivityVariableCounting)({name:"urn:comunica:default:rdf-join-selectivity/actors#variable-counting",bus:f,busFailMessage:"Determining join selectivity failed: none of the configured actors were able to calculate selectivities"}),new(r(31588).MediatorNumber)({field:"accuracy",type:"max",ignoreFailures:!0,name:"urn:comunica:default:rdf-join-selectivity/mediators#main",bus:f})),Z=(new(r(59340).ActorRdfMetadataPrimaryTopic)({metadataToData:!1,dataToMetadataOnInvalidMetadataGraph:!0,name:"urn:comunica:default:rdf-metadata/actors#primary-topic",bus:y,busFailMessage:"Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}"}),new(r(67831).ActorRdfMetadataAll)({name:"urn:comunica:default:rdf-metadata/actors#all",bus:y,busFailMessage:"Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-metadata/mediators#main",bus:y})),ee=(new(r(37143).ActorRdfMetadataAccumulateCardinality)({name:"urn:comunica:default:rdf-metadata-accumulate/actors#cardinality",bus:g,busFailMessage:"Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}"}),new(r(17215).ActorRdfMetadataAccumulatePageSize)({name:"urn:comunica:default:rdf-metadata-accumulate/actors#pagesize",bus:g,busFailMessage:"Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}"}),new(r(59075).ActorRdfMetadataAccumulateRequestTime)({name:"urn:comunica:default:rdf-metadata-accumulate/actors#requesttime",bus:g,busFailMessage:"Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}"}),new(r(54560).MediatorCombineUnion)({field:"metadata",name:"urn:comunica:default:rdf-metadata-accumulate/mediators#main",bus:g})),te=(new(r(62649).ActorRdfMetadataExtractHydraControls)({name:"urn:comunica:default:rdf-metadata-extract/actors#hydra-controls",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(12814).ActorRdfMetadataExtractHydraCount)({predicates:["http://www.w3.org/ns/hydra/core#totalItems","http://rdfs.org/ns/void#triples"],name:"urn:comunica:default:rdf-metadata-extract/actors#hydra-count",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(14405).ActorRdfMetadataExtractHydraPagesize)({predicates:["http://www.w3.org/ns/hydra/core#itemsPerPage"],name:"urn:comunica:default:rdf-metadata-extract/actors#hydra-pagesize",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(121).ActorRdfMetadataExtractRequestTime)({name:"urn:comunica:default:rdf-metadata-extract/actors#request-time",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(19531).ActorRdfMetadataExtractAllowHttpMethods)({name:"urn:comunica:default:rdf-metadata-extract/actors#allow-http-methods",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(13121).ActorRdfMetadataExtractPutAccepted)({name:"urn:comunica:default:rdf-metadata-extract/actors#put-accepted",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(93742).ActorRdfMetadataExtractPatchSparqlUpdate)({name:"urn:comunica:default:rdf-metadata-extract/actors#patch-sparql-update",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(19727).ActorRdfMetadataExtractSparqlService)({inferHttpsEndpoint:!0,name:"urn:comunica:default:rdf-metadata-extract/actors#sparql-service",bus:m,busFailMessage:"Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}"}),new(r(54560).MediatorCombineUnion)({filterFailures:!0,field:"metadata",name:"urn:comunica:default:rdf-metadata-extract/mediators#main",bus:m})),re=(new(r(56361).ActorRdfParseN3)({mediaTypePriorities:{"application/n-quads":1,"application/n-triples":.8,"application/trig":.95,"text/n3":.35,"text/turtle":.6},mediaTypeFormats:{"application/n-quads":"http://www.w3.org/ns/formats/N-Quads","application/n-triples":"http://www.w3.org/ns/formats/N-Triples","application/trig":"http://www.w3.org/ns/formats/TriG","text/n3":"http://www.w3.org/ns/formats/N3","text/turtle":"http://www.w3.org/ns/formats/Turtle"},priorityScale:1,name:"urn:comunica:default:rdf-parse/actors#n3",bus:b,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(19227).ActorRdfParseRdfXml)({mediaTypePriorities:{"application/rdf+xml":1},mediaTypeFormats:{"application/rdf+xml":"http://www.w3.org/ns/formats/RDF_XML"},priorityScale:.5,name:"urn:comunica:default:rdf-parse/actors#rdfxml",bus:b,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(2669).ActorRdfParseXmlRdfa)({mediaTypePriorities:{"application/xml":1,"image/svg+xml":1,"text/xml":1},mediaTypeFormats:{"application/xml":"http://www.w3.org/ns/formats/RDFa","image/svg+xml":"http://www.w3.org/ns/formats/RDFa","text/xml":"http://www.w3.org/ns/formats/RDFa"},priorityScale:.3,name:"urn:comunica:default:rdf-parse/actors#xmlrdfa",bus:b,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(71356).ActorRdfParseShaclc)({mediaTypePriorities:{"text/shaclc":1,"text/shaclc-ext":.5},mediaTypeFormats:{"text/shaclc":"http://www.w3.org/ns/formats/Shaclc","text/shaclc-ext":"http://www.w3.org/ns/formats/ShaclcExtended"},priorityScale:.1,name:"urn:comunica:default:rdf-parse/actors#shaclc",bus:b,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-parse/mediators#parse",bus:b})),ne=new(r(54560).MediatorCombineUnion)({field:"mediaTypes",name:"urn:comunica:default:rdf-parse/mediators#mediaType",bus:b}),ie=(new(r(97103).ActorRdfParseHtml)({busRdfParseHtml:_,mediaTypePriorities:{"application/xhtml+xml":.9,"text/html":1},mediaTypeFormats:{"application/xhtml+xml":"http://www.w3.org/ns/formats/HTML","text/html":"http://www.w3.org/ns/formats/HTML"},priorityScale:.2,name:"urn:comunica:default:rdf-parse/actors#html",bus:b,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(37630).ActorRdfParseHtmlMicrodata)({name:"urn:comunica:default:rdf-parse-html/actors#microdata",bus:_,busFailMessage:"RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML"}),new(r(59453).ActorRdfParseHtmlRdfa)({name:"urn:comunica:default:rdf-parse-html/actors#rdfa",bus:_,busFailMessage:"RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML"}),new(r(34121).ActorRdfResolveHypermediaLinksNext)({name:"urn:comunica:default:rdf-resolve-hypermedia-links/actors#next",bus:v,busFailMessage:"Hypermedia link resolution failed: none of the configured actors were able to resolve links from metadata"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-resolve-hypermedia-links/mediators#main",bus:v})),oe=(new(r(85916).ActorRdfResolveHypermediaLinksQueueFifo)({name:"urn:comunica:default:rdf-resolve-hypermedia-links-queue/actors#fifo",bus:w,busFailMessage:"Link queue creation failed: none of the configured actors were able to create a link queue starting from ${action.firstUrl}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-resolve-hypermedia-links-queue/mediators#main",bus:w})),ae=(new(r(42274).ActorRdfSerializeN3)({mediaTypePriorities:{"application/n-quads":1,"application/n-triples":.8,"application/trig":.95,"text/n3":.35,"text/turtle":.6},mediaTypeFormats:{"application/n-quads":"http://www.w3.org/ns/formats/N-Quads","application/n-triples":"http://www.w3.org/ns/formats/N-Triples","application/trig":"http://www.w3.org/ns/formats/TriG","text/n3":"http://www.w3.org/ns/formats/N3","text/turtle":"http://www.w3.org/ns/formats/Turtle"},name:"urn:comunica:default:rdf-serialize/actors#n3",bus:S,busFailMessage:"RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}"}),new(r(61515).ActorRdfSerializeJsonLd)({jsonStringifyIndentSpaces:2,mediaTypePriorities:{"application/ld+json":1},mediaTypeFormats:{"application/ld+json":"http://www.w3.org/ns/formats/JSON-LD"},priorityScale:.9,name:"urn:comunica:default:rdf-serialize/actors#jsonld",bus:S,busFailMessage:"RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}"}),new(r(98371).ActorRdfSerializeShaclc)({mediaTypePriorities:{"text/shaclc":1,"text/shaclc-ext":.5},mediaTypeFormats:{"text/shaclc":"http://www.w3.org/ns/formats/Shaclc","text/shaclc-ext":"http://www.w3.org/ns/formats/ShaclcExtended"},priorityScale:.1,name:"urn:comunica:default:rdf-serialize/actors#shaclc",bus:S,busFailMessage:"RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-serialize/mediators#serialize",bus:S})),se=new(r(54560).MediatorCombineUnion)({field:"mediaTypes",name:"urn:comunica:default:rdf-serialize/mediators#mediaType",bus:S}),ce=new(r(54560).MediatorCombineUnion)({field:"mediaTypeFormats",name:"urn:comunica:default:rdf-serialize/mediators#mediaTypeFormat",bus:S}),ue=new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-update-hypermedia/mediators#main",bus:E}),le=(new(r(53550).ActorRdfUpdateQuadsRdfJsStore)({name:"urn:comunica:default:rdf-update-quads/actors#rdfjs-store",bus:T,busFailMessage:"RDF updating failed: none of the configured actors were able to handle an update"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:rdf-update-quads/mediators#main",bus:T})),de=new(r(12740).MediatorRace)({name:"urn:comunica:default:bindings-aggregator-factory/mediators#main",bus:O}),pe=new(r(12740).MediatorRace)({name:"urn:comunica:default:expression-evaluator-factory/mediators#main",bus:x}),he=(new(r(52598).ActorFunctionFactoryExpressionBnode)({name:"urn:comunica:default:function-factory/actors#expression-function-bnode",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(19856).ActorFunctionFactoryExpressionBound)({name:"urn:comunica:default:function-factory/actors#expression-function-bound",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4475).ActorFunctionFactoryExpressionCoalesce)({name:"urn:comunica:default:function-factory/actors#expression-function-coalesce",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(85312).ActorFunctionFactoryExpressionConcat)({name:"urn:comunica:default:function-factory/actors#expression-function-concat",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(66478).ActorFunctionFactoryExpressionExtensions)({name:"urn:comunica:default:function-factory/actors#expression-function-extensions",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(40767).ActorFunctionFactoryExpressionIf)({name:"urn:comunica:default:function-factory/actors#expression-function-if",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(12067).ActorFunctionFactoryExpressionLogicalAnd)({name:"urn:comunica:default:function-factory/actors#expression-function-logical-and",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(1223).ActorFunctionFactoryExpressionLogicalOr)({name:"urn:comunica:default:function-factory/actors#expression-function-logical-or",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(14579).ActorFunctionFactoryExpressionSameTerm)({name:"urn:comunica:default:function-factory/actors#expression-function-same-term",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(59812).ActorFunctionFactoryTermAbs)({name:"urn:comunica:default:function-factory/actors#term-function-abs",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(91172).ActorFunctionFactoryTermAddition)({name:"urn:comunica:default:function-factory/actors#term-function-addition",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30953).ActorFunctionFactoryTermCeil)({name:"urn:comunica:default:function-factory/actors#term-function-ceil",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(72945).ActorFunctionFactoryTermContains)({name:"urn:comunica:default:function-factory/actors#term-function-contains",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(24700).ActorFunctionFactoryTermDatatype)({name:"urn:comunica:default:function-factory/actors#term-function-datatype",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(99778).ActorFunctionFactoryTermDay)({name:"urn:comunica:default:function-factory/actors#term-function-day",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(61103).ActorFunctionFactoryTermDivision)({name:"urn:comunica:default:function-factory/actors#term-function-division",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30971).ActorFunctionFactoryTermEncodeForUri)({name:"urn:comunica:default:function-factory/actors#term-function-encode-for-uri",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(61688).ActorFunctionFactoryTermEquality)({name:"urn:comunica:default:function-factory/actors#term-function-equality",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(56718).ActorFunctionFactoryTermFloor)({name:"urn:comunica:default:function-factory/actors#term-function-floor",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(54531).ActorFunctionFactoryTermHours)({name:"urn:comunica:default:function-factory/actors#term-function-hours",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(16686).ActorFunctionFactoryTermIri)({name:"urn:comunica:default:function-factory/actors#term-function-iri",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(92959).ActorFunctionFactoryTermIsBlank)({name:"urn:comunica:default:function-factory/actors#term-function-is-blank",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(11767).ActorFunctionFactoryTermIsIri)({name:"urn:comunica:default:function-factory/actors#term-function-is-iri",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30254).ActorFunctionFactoryTermIsLiteral)({name:"urn:comunica:default:function-factory/actors#term-function-is-literal",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(6082).ActorFunctionFactoryTermIsNumeric)({name:"urn:comunica:default:function-factory/actors#term-function-is-numeric",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(61151).ActorFunctionFactoryTermIsTriple)({name:"urn:comunica:default:function-factory/actors#term-function-is-triple",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(33032).ActorFunctionFactoryTermLang)({name:"urn:comunica:default:function-factory/actors#term-function-lang",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(15769).ActorFunctionFactoryTermLangmatches)({name:"urn:comunica:default:function-factory/actors#term-function-langmatches",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(22460).ActorFunctionFactoryTermLcase)({name:"urn:comunica:default:function-factory/actors#term-function-lcase",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(12744).ActorFunctionFactoryTermMd5)({name:"urn:comunica:default:function-factory/actors#term-function-md5",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(24713).ActorFunctionFactoryTermMinutes)({name:"urn:comunica:default:function-factory/actors#term-function-minutes",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(32310).ActorFunctionFactoryTermMonth)({name:"urn:comunica:default:function-factory/actors#term-function-month",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(23610).ActorFunctionFactoryTermMultiplication)({name:"urn:comunica:default:function-factory/actors#term-function-multiplication",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(52505).ActorFunctionFactoryTermNot)({name:"urn:comunica:default:function-factory/actors#term-function-not",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(69636).ActorFunctionFactoryTermNow)({name:"urn:comunica:default:function-factory/actors#term-function-now",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(20379).ActorFunctionFactoryTermObject)({name:"urn:comunica:default:function-factory/actors#term-function-object",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(68545).ActorFunctionFactoryTermPredicate)({name:"urn:comunica:default:function-factory/actors#term-function-predicate",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(86155).ActorFunctionFactoryTermRand)({name:"urn:comunica:default:function-factory/actors#term-function-rand",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(98811).ActorFunctionFactoryTermRegex)({name:"urn:comunica:default:function-factory/actors#term-function-regex",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(52452).ActorFunctionFactoryTermReplace)({name:"urn:comunica:default:function-factory/actors#term-function-replace",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(80748).ActorFunctionFactoryTermRound)({name:"urn:comunica:default:function-factory/actors#term-function-round",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(9941).ActorFunctionFactoryTermSeconds)({name:"urn:comunica:default:function-factory/actors#term-function-seconds",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(45845).ActorFunctionFactoryTermSha1)({name:"urn:comunica:default:function-factory/actors#term-function-sha1",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(77267).ActorFunctionFactoryTermSha256)({name:"urn:comunica:default:function-factory/actors#term-function-sha256",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(96447).ActorFunctionFactoryTermSha384)({name:"urn:comunica:default:function-factory/actors#term-function-sha384",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(24742).ActorFunctionFactoryTermSha512)({name:"urn:comunica:default:function-factory/actors#term-function-sha512",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(30912).ActorFunctionFactoryTermStrAfter)({name:"urn:comunica:default:function-factory/actors#term-function-str-after",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(60649).ActorFunctionFactoryTermStrBefore)({name:"urn:comunica:default:function-factory/actors#term-function-str-before",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(93734).ActorFunctionFactoryTermStrDt)({name:"urn:comunica:default:function-factory/actors#term-function-str-dt",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(49060).ActorFunctionFactoryTermStrEnds)({name:"urn:comunica:default:function-factory/actors#term-function-str-ends",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(20554).ActorFunctionFactoryTermStrLang)({name:"urn:comunica:default:function-factory/actors#term-function-str-lang",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(27869).ActorFunctionFactoryTermStrLen)({name:"urn:comunica:default:function-factory/actors#term-function-str-len",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(94379).ActorFunctionFactoryTermStrStarts)({name:"urn:comunica:default:function-factory/actors#term-function-str-starts",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(53417).ActorFunctionFactoryTermStrUuid)({name:"urn:comunica:default:function-factory/actors#term-function-str-uuid",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(28699).ActorFunctionFactoryTermStr)({name:"urn:comunica:default:function-factory/actors#term-function-str",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(96404).ActorFunctionFactoryTermSubStr)({name:"urn:comunica:default:function-factory/actors#term-function-sub-str",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(51060).ActorFunctionFactoryTermSubject)({name:"urn:comunica:default:function-factory/actors#term-function-subject",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(55010).ActorFunctionFactoryTermSubtraction)({name:"urn:comunica:default:function-factory/actors#term-function-subtraction",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4535).ActorFunctionFactoryTermTimezone)({name:"urn:comunica:default:function-factory/actors#term-function-timezone",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(31348).ActorFunctionFactoryTermTriple)({name:"urn:comunica:default:function-factory/actors#term-function-triple",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4898).ActorFunctionFactoryTermTz)({name:"urn:comunica:default:function-factory/actors#term-function-tz",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(55711).ActorFunctionFactoryTermUcase)({name:"urn:comunica:default:function-factory/actors#term-function-ucase",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(67186).ActorFunctionFactoryTermUnaryMinus)({name:"urn:comunica:default:function-factory/actors#term-function-unary-minus",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(2810).ActorFunctionFactoryTermUnaryPlus)({name:"urn:comunica:default:function-factory/actors#term-function-unary-plus",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(2479).ActorFunctionFactoryTermUuid)({name:"urn:comunica:default:function-factory/actors#term-function-uuid",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(11554).ActorFunctionFactoryTermXsdToBoolean)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-boolean",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(43406).ActorFunctionFactoryTermXsdToDate)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-date",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(4523).ActorFunctionFactoryTermXsdToDatetime)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-datetime",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(69721).ActorFunctionFactoryTermXsdToDayTimeDuration)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-day-time-duration",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(25033).ActorFunctionFactoryTermXsdToDecimal)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-decimal",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(99507).ActorFunctionFactoryTermXsdToDouble)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-double",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(48758).ActorFunctionFactoryTermXsdToDuration)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-duration",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(64068).ActorFunctionFactoryTermXsdToFloat)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-float",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(8096).ActorFunctionFactoryTermXsdToInteger)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-integer",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(91799).ActorFunctionFactoryTermXsdToString)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-string",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(18895).ActorFunctionFactoryTermXsdToTime)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-time",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(26143).ActorFunctionFactoryTermXsdToYearMonthDuration)({name:"urn:comunica:default:function-factory/actors#term-function-xsd-to-year-month-duration",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(22361).ActorFunctionFactoryTermYear)({name:"urn:comunica:default:function-factory/actors#term-function-year",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(12740).MediatorRace)({name:"urn:comunica:default:function-factory/mediators#main",bus:A})),fe=new(r(90178).ActorHttpFetch)({agentOptions:{keepAlive:!0,maxSockets:5},name:"urn:comunica:default:http/actors#fetch",bus:I,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}"}),ye=new(r(31588).MediatorNumber)({field:"time",type:"min",ignoreFailures:!0,name:"urn:comunica:default:http/mediators#no-fallback",bus:I}),ge=new(r(31588).MediatorNumber)({field:"time",type:"min",ignoreFailures:!0,name:"urn:comunica:default:http/mediators#main",bus:R}),me=(new(r(48169).ActorQueryOperationSource)({name:"urn:comunica:default:query-operation/actors#source",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(31588).MediatorNumber)({field:"httpRequests",type:"min",ignoreFailures:!0,name:"urn:comunica:default:query-operation/mediators#main",bus:P})),be=new(r(12740).MediatorRace)({name:"urn:comunica:default:query-process/mediators#main",bus:F}),_e=new(r(12740).MediatorRace)({name:"urn:comunica:default:query-source-identify/mediators#main",bus:D}),ve=new(r(47633).MediatorJoinCoefficientsFixed)({cpuWeight:10,memoryWeight:1,timeWeight:2,ioWeight:10,name:"urn:comunica:default:rdf-join/mediators#main",bus:N}),we=new(r(12740).MediatorRace)({name:"urn:comunica:default:term-comparator-factory/mediators#main",bus:j}),Se=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-context-preprocess-query-source-identify/^4.0.0/components/ActorContextPreprocessQuerySourceIdentify.jsonld#IActorContextPreprocessQuerySourceIdentifyArgs_default_invalidator",bus:C,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Ee=new(r(60504).MediatorAll)({name:"urn:comunica:default:http-invalidate/mediators#main",bus:C}),Te=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-rdf-update-quads-hypermedia/^4.0.0/components/ActorRdfUpdateQuadsHypermedia.jsonld#IActorRdfUpdateQuadsHypermediaArgs_default_invalidator",bus:C,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Oe=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-http-retry/^4.0.0/components/ActorHttpRetry.jsonld#IActorHttpQueueArgs_default_invalidator",bus:C,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),xe=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-sparql-json/^4.0.0/components/ActionObserverHttp.jsonld#IActionObserverHttpArgs_default_invalidator",bus:C,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Ae=new(r(40332).ActorHttpInvalidateListenable)({name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-stats/^4.0.0/components/ActionObserverHttp.jsonld#IActionObserverHttpArgs_default_invalidator",bus:C,busFailMessage:"HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}"}),Ie=new(r(54560).MediatorCombineUnion)({field:"mergeHandlers",name:"urn:comunica:default:merge-bindings-context/mediators#main",bus:M}),Re=(new(r(71924).ActorRdfJoinSingle)({mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-single",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(25445).ActorRdfJoinMultiEmpty)({mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-multi-empty",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(96848).ActorRdfJoinHash)({mediatorHashBindings:U,canHandleUndefs:!1,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-hash-def",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"})),Pe=new(r(96848).ActorRdfJoinHash)({mediatorHashBindings:U,canHandleUndefs:!0,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-hash-undef",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),Fe=new(r(96835).ActorRdfJoinSymmetricHash)({mediatorHashBindings:U,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-symmetric-hash",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),De=new(r(36229).ActorRdfJoinNestedLoop)({mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-nested-loop",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),Ne=(new(r(42004).ActorRdfJoinMinusHash)({canHandleUndefs:!1,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#minus-hash-def",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(42004).ActorRdfJoinMinusHash)({canHandleUndefs:!0,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#minus-hash-undef",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!1,blocking:!1,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#optional-hash-def-nonblocking",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!1,blocking:!0,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#optional-hash-def-blocking",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!0,blocking:!1,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#optional-hash-undef-nonblocking",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(60146).ActorRdfJoinOptionalHash)({canHandleUndefs:!0,blocking:!0,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#optional-hash-undef-blocking",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(65267).ActorRdfJoinOptionalNestedLoop)({mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#optional-nested-loop",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(11558).ActorDereferenceRdfParse)({mediatorDereference:J,mediatorParse:re,mediatorParseMediatypes:ne,mediaMappings:{htm:"text/html",html:"text/html",json:"application/json",jsonld:"application/ld+json",n3:"text/n3",nq:"application/n-quads",nquads:"application/n-quads",nt:"application/n-triples",ntriples:"application/n-triples",owl:"application/rdf+xml",rdf:"application/rdf+xml",rdfxml:"application/rdf+xml",shaclc:"text/shaclc",shaclce:"text/shaclc-ext",shc:"text/shaclc",shce:"text/shaclc-ext",svg:"image/svg+xml",svgz:"image/svg+xml",trig:"application/trig",ttl:"text/turtle",turtle:"text/turtle",xht:"application/xhtml+xml",xhtml:"application/xhtml+xml",xml:"application/xml"},name:"urn:comunica:default:dereference-rdf/actors#parse",bus:p,busFailMessage:"RDF dereferencing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(38505).ActorRdfParseHtmlScript)({mediatorRdfParseMediatypes:ne,mediatorRdfParseHandle:re,name:"urn:comunica:default:rdf-parse-html/actors#script",bus:_,busFailMessage:"RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML"}),new(r(33275).ActorQueryResultSerializeRdf)({mediatorRdfSerialize:ae,mediatorMediaTypeCombiner:se,mediatorMediaTypeFormatCombiner:ce,name:"urn:comunica:default:query-result-serialize/actors#rdf",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(2236).ActorBindingsAggregatorFactoryCount)({mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#count",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(37779).ActorBindingsAggregatorFactoryGroupConcat)({mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#group-concat",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(71271).ActorBindingsAggregatorFactorySample)({mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#sample",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(20489).ActorBindingsAggregatorFactoryWildcardCount)({mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#wildcard-count",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(17352).ActorBindingsAggregatorFactoryAverage)({mediatorFunctionFactory:he,mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#average",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(26568).ActorBindingsAggregatorFactorySum)({mediatorFunctionFactory:he,mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#sum",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(94311).ActorFunctionFactoryExpressionIn)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#expression-function-in",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(63067).ActorFunctionFactoryExpressionNotIn)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#expression-function-not-in",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(8711).ActorFunctionFactoryTermGreaterThanEqual)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#term-function-greater-than-equal",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(31038).ActorFunctionFactoryTermGreaterThan)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#term-function-greater-than",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(76695).ActorFunctionFactoryTermInequality)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#term-function-inequality",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(38507).ActorFunctionFactoryTermLesserThanEqual)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#term-function-lesser-than-equal",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(95426).ActorFunctionFactoryTermLesserThan)({mediatorFunctionFactory:he,name:"urn:comunica:default:function-factory/actors#term-function-lesser-than",bus:A,busFailMessage:"Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}"}),new(r(23794).ActorHttpWayback)({mediatorHttp:ye,name:"urn:comunica:default:http/actors#wayback",bus:R,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}"}),new(r(81108).ActorRdfParseJsonLd)({mediatorHttp:ge,mediaTypePriorities:{"application/json":.15,"application/ld+json":1},mediaTypeFormats:{"application/json":"http://www.w3.org/ns/formats/JSON-LD","application/ld+json":"http://www.w3.org/ns/formats/JSON-LD"},priorityScale:.9,name:"urn:comunica:default:rdf-parse/actors#jsonld",bus:b,busFailMessage:"RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}"}),new(r(45109).ActorRdfUpdateHypermediaPatchSparqlUpdate)({mediatorHttp:ge,name:"urn:comunica:default:rdf-update-hypermedia/actors#patch-sparql-update",bus:E,busFailMessage:"RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}"}),new(r(41363).ActorRdfUpdateHypermediaPutLdp)({mediatorHttp:ge,mediatorRdfSerializeMediatypes:se,mediatorRdfSerialize:ae,name:"urn:comunica:default:rdf-update-hypermedia/actors#put-ldp",bus:E,busFailMessage:"RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}"}),new(r(50632).ActorRdfUpdateHypermediaSparql)({mediatorHttp:ge,checkUrlSuffixSparql:!0,checkUrlSuffixUpdate:!0,name:"urn:comunica:default:rdf-update-hypermedia/actors#sparql",bus:E,busFailMessage:"RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}"}),new(r(16682).ActorQueryOperationAsk)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#ask",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(38820).ActorQueryOperationBgpJoin)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#bgp",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(34585).ActorQueryOperationConstruct)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#construct",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(24615).ActorQueryOperationDistinctHash)({mediatorHashBindings:U,mediatorHashQuads:B,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#distinct",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(12304).ActorQueryOperationExtend)({mediatorExpressionEvaluatorFactory:pe,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#extend",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(68350).ActorQueryOperationFilter)({mediatorExpressionEvaluatorFactory:pe,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#filter",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(22744).ActorQueryOperationFromQuad)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#from",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(99817).ActorQueryOperationProject)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#project",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(66713).ActorQueryOperationReducedHash)({mediatorHashBindings:U,cacheSize:100,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#reduced",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(24718).ActorQueryOperationSlice)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#slice",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(43415).ActorQueryOperationUnion)({mediatorRdfMetadataAccumulate:ee,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#union",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(35529).ActorQueryOperationPathAlt)({mediatorRdfMetadataAccumulate:ee,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-alt",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(6809).ActorQueryOperationPathInv)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-inv",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(66218).ActorQueryOperationPathLink)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-link",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(54309).ActorQueryOperationPathNps)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-nps",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(84629).ActorQueryOperationClear)({mediatorUpdateQuads:le,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#update-clear",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(330).ActorQueryOperationUpdateCompositeUpdate)({mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#update-composite",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(54672).ActorQueryOperationCreate)({mediatorUpdateQuads:le,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#update-create",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(33181).ActorQueryOperationDrop)({mediatorUpdateQuads:le,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#update-drop",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(38392).ActorQueryOperationLoad)({mediatorUpdateQuads:le,mediatorQuerySourceIdentify:_e,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#update-load",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(20240).ActorQueryOperationJoin)({mediatorJoin:ve,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#join",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(75113).ActorQueryOperationLeftJoin)({mediatorJoin:ve,mediatorExpressionEvaluatorFactory:pe,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#leftjoin",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(48952).ActorQueryOperationMinus)({mediatorJoin:ve,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#minus",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(75049).ActorQueryOperationPathSeq)({mediatorJoin:ve,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-seq",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(25925).ActorRdfJoinMultiSmallest)({mediatorJoinEntriesSort:X,mediatorJoin:ve,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-multi-smallest",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"})),je=(new(r(51237).ActorBindingsAggregatorFactoryMax)({mediatorTermComparatorFactory:we,mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#max",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(13847).ActorBindingsAggregatorFactoryMin)({mediatorTermComparatorFactory:we,mediatorExpressionEvaluatorFactory:pe,name:"urn:comunica:default:bindings-aggregator-factory/actors#min",bus:O,busFailMessage:"Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}"}),new(r(73945).ActorQueryOperationOrderBy)({mediatorExpressionEvaluatorFactory:pe,mediatorTermComparatorFactory:we,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#orderby",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(62001).ActorOptimizeQueryOperationFilterPushdown)({aggressivePushdown:!1,maxIterations:10,splitConjunctive:!0,mergeConjunctive:!0,pushIntoLeftJoins:!0,pushEqualityIntoPatterns:!0,name:"urn:comunica:default:optimize-query-operation/actors#filter-pushdown",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[V]})),Ce=(new(r(78e3).ActorDereferenceHttp)({mediatorHttp:ge,maxAcceptHeaderLength:1024,maxAcceptHeaderLengthBrowser:128,name:"urn:comunica:default:dereference/actors#http",bus:d,busFailMessage:"Dereferencing failed: none of the configured actors were able to handle ${action.url}",beforeActors:[z]}),new(r(75050).ActorHttpProxy)({mediatorHttp:ge,name:"urn:comunica:default:http/actors#proxy",bus:I,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}",beforeActors:[fe]})),Me=(new(r(38235).ActorContextPreprocessQuerySourceIdentify)({cacheSize:100,httpInvalidator:Se,mediatorQuerySourceIdentify:_e,mediatorContextPreprocess:L,name:"urn:comunica:default:context-preprocess/actors#query-source-identify",bus:i,busFailMessage:"Context preprocessing failed",beforeActors:[k]}),new(r(12301).ActorInitQuery)({mediatorQueryProcess:be,mediatorQueryResultSerialize:$,mediatorQueryResultSerializeMediaTypeCombiner:G,mediatorQueryResultSerializeMediaTypeFormatCombiner:K,mediatorHttpInvalidate:Ee,defaultQueryInputFormat:"sparql",allowNoSources:!1,name:"urn:comunica:default:init/actors#query",bus:n,busFailMessage:"Initialization failed: none of the configured actors were to initialize"})),ke=(new(r(12845).ActorRdfUpdateQuadsHypermedia)({cacheSize:100,httpInvalidator:Te,mediatorDereferenceRdf:W,mediatorMetadata:Z,mediatorMetadataExtract:te,mediatorRdfUpdateHypermedia:ue,name:"urn:comunica:default:rdf-update-quads/actors#hypermedia",bus:T,busFailMessage:"RDF updating failed: none of the configured actors were able to handle an update"}),new(r(13125).ActionObserverHttp)({httpInvalidator:xe,name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-sparql-json/^4.0.0/components/ActorQueryResultSerializeSparqlJson.jsonld#ActorQueryResultSerializeSparqlJson_default_observer",bus:I})),Le=new(r(93408).ActionObserverHttp)({httpInvalidator:Ae,name:"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-stats/^4.0.0/components/ActorQueryResultSerializeStats.jsonld#ActorQueryResultSerializeStats_default_observer",bus:I}),Ue=(new(r(63881).ActorQuerySourceIdentifyHypermediaQpf)({mediatorMetadata:Z,mediatorMetadataExtract:te,mediatorDereferenceRdf:W,mediatorMergeBindingsContext:Ie,subjectUri:"http://www.w3.org/1999/02/22-rdf-syntax-ns#subject",predicateUri:"http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate",objectUri:"http://www.w3.org/1999/02/22-rdf-syntax-ns#object",graphUri:"http://www.w3.org/ns/sparql-service-description#graph",name:"urn:comunica:default:query-source-identify-hypermedia/actors#qpf",bus:l,busFailMessage:"Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}"}),new(r(83101).ActorQuerySourceIdentifyHypermediaSparql)({mediatorHttp:ge,mediatorMergeBindingsContext:Ie,checkUrlSuffix:!0,forceHttpGet:!1,cacheSize:1024,bindMethod:"values",countTimeout:3e3,name:"urn:comunica:default:rdf-resolve-quad-pattern/actors#sparql",bus:l,busFailMessage:"Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}"}),new(r(74838).ActorQuerySourceIdentifyHypermediaNone)({mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:query-source-identify-hypermedia/actors#none",bus:l,busFailMessage:"Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}"}),new(r(76810).ActorExpressionEvaluatorFactoryDefault)({mediatorQueryOperation:me,mediatorFunctionFactory:he,mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:expression-evaluator-factory/actors#default",bus:x,busFailMessage:"Creation of Expression Evaluator failed"}),new(r(37515).ActorQueryOperationGroup)({mediatorMergeBindingsContext:Ie,mediatorBindingsAggregatorFactory:de,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#group",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(79153).ActorQueryOperationNop)({mediatorMergeBindingsContext:Ie,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#nop",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(89115).ActorQueryOperationService)({forceSparqlEndpoint:!1,mediatorMergeBindingsContext:Ie,mediatorQuerySourceIdentify:_e,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#service",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(65178).ActorQueryOperationValues)({mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:query-operation/actors#values",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(23654).ActorQueryOperationPathOneOrMore)({mediatorMergeBindingsContext:Ie,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-one-or-more",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(85928).ActorQueryOperationPathZeroOrMore)({mediatorMergeBindingsContext:Ie,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-zero-or-more",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(8327).ActorQueryOperationPathZeroOrOne)({mediatorMergeBindingsContext:Ie,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#path-zero-or-one",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(63002).ActorQueryOperationUpdateDeleteInsert)({mediatorUpdateQuads:le,mediatorMergeBindingsContext:Ie,mediatorQueryOperation:me,name:"urn:comunica:default:query-operation/actors#update-delete-insert",bus:P,busFailMessage:"Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}"}),new(r(92423).ActorQueryProcessSequential)({mediatorContextPreprocess:L,mediatorQueryParse:H,mediatorOptimizeQueryOperation:q,mediatorQueryOperation:me,mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:query-process/actors#sequential",bus:F,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'})),Be=new(r(79881).ActorQuerySourceIdentifyHypermedia)({cacheSize:100,maxIterators:64,aggregateTraversalStore:!0,mediatorDereferenceRdf:W,mediatorMetadata:Z,mediatorMetadataExtract:te,mediatorMetadataAccumulate:ee,mediatorQuerySourceIdentifyHypermedia:Q,mediatorRdfResolveHypermediaLinks:ie,mediatorRdfResolveHypermediaLinksQueue:oe,mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:query-source-identify/actors#hypermedia",bus:D,busFailMessage:"Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}"}),Ve=(new(r(88766).ActorRdfJoinNone)({mediatorMergeBindingsContext:Ie,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-none",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(97237).ActorRdfJoinOptionalBind)({bindOrder:"depth-first",selectivityModifier:1e-6,mediatorQueryOperation:me,mediatorMergeBindingsContext:Ie,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#optional-bind",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}"}),new(r(64468).ActorTermComparatorFactoryExpressionEvaluator)({mediatorQueryOperation:me,mediatorFunctionFactory:he,mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:term-comparator-factory/actors#expression-evaluator",bus:j,busFailMessage:"Creation of term comparator failed"}),new(r(42815).ActorRdfJoinMultiBind)({bindOrder:"depth-first",selectivityModifier:1e-4,minMaxCardinalityRatio:60,mediatorJoinEntriesSort:X,mediatorQueryOperation:me,mediatorMergeBindingsContext:Ie,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-multi-bind",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}",beforeActors:[Ne,Re,Pe,Fe,De]})),qe=(new(r(30615).ActorRdfJoinMultiSmallestFilterBindings)({selectivityModifier:1e-4,blockSize:64,mediatorJoinEntriesSort:X,mediatorJoin:ve,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-multi-smallest-filter-bindings",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}",beforeActors:[Ne,Re,Pe,Fe,De]}),new(r(13125).ActorQueryResultSerializeSparqlJson)({emitMetadata:!0,httpObserver:ke,mediaTypePriorities:{"application/sparql-results+json":.8},mediaTypeFormats:{"application/sparql-results+json":"http://www.w3.org/ns/formats/SPARQL_Results_JSON"},name:"urn:comunica:default:query-result-serialize/actors#sparql-json",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(93408).ActorQueryResultSerializeStats)({httpObserver:Le,mediaTypePriorities:{stats:.5},mediaTypeFormats:{stats:"https://comunica.linkeddatafragments.org/#results_stats"},name:"urn:comunica:default:query-result-serialize/actors#stats",bus:u,busFailMessage:"Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}"}),new(r(7779).ActorQueryProcessExplainParsed)({queryProcessor:Ue,name:"urn:comunica:default:query-process/actors#explain-parsed",bus:F,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'}),new(r(42281).ActorQueryProcessExplainLogical)({queryProcessor:Ue,name:"urn:comunica:default:query-process/actors#explain-logical",bus:F,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'}),new(r(35191).ActorQueryProcessExplainPhysical)({queryProcessor:Ue,name:"urn:comunica:default:query-process/actors#explain-physical",bus:F,busFailMessage:'Query processing failed: none of the configured actor were process to the query "${action.query}"'}),new(r(94731).ActorOptimizeQueryOperationPruneEmptySourceOperations)({useAskIfSupported:!1,name:"urn:comunica:default:optimize-query-operation/actors#prune-empty-source-operations",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[je]})),He=(new(r(84600).ActorHttpRetry)({mediatorHttp:ge,httpInvalidator:Oe,name:"urn:comunica:default:http/actors#retry",bus:I,busFailMessage:"HTTP request failed: none of the configured actors were able to handle ${action.input}",beforeActors:[Ce]}),new(r(20998).ActorQuerySourceIdentifyRdfJs)({mediatorMergeBindingsContext:Ie,name:"urn:comunica:default:query-source-identify/actors#rdfjs",bus:D,busFailMessage:"Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}",beforeActors:[Be]}),new(r(34905).ActorQuerySourceIdentifySerialized)({mediatorRdfParse:re,mediatorQuerySourceIdentify:_e,name:"urn:comunica:default:query-source-identify/actors#serialized",bus:D,busFailMessage:"Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}",beforeActors:[Be]}),new(r(79731).ActorRdfJoinMultiBindSource)({selectivityModifier:1e-4,blockSize:16,mediatorJoinEntriesSort:X,mediatorJoinSelectivity:Y,name:"urn:comunica:default:rdf-join/actors#inner-multi-bind-source",bus:N,busFailMessage:"RDF joining failed: none of the configured actors were able to handle the join type ${action.type}",beforeActors:[Ne,Ve,Re,Pe,Fe,De]}),new(r(5118).ActorOptimizeQueryOperationJoinConnected)({name:"urn:comunica:default:optimize-query-operation/actors#join-connected",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[qe]})),$e=new(r(60192).ActorOptimizeQueryOperationBgpToJoin)({name:"urn:comunica:default:optimize-query-operation/actors#bgp-to-join",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[He]}),Ge=new(r(34304).ActorOptimizeQueryOperationJoinBgp)({name:"urn:comunica:default:optimize-query-operation/actors#join-bgp",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[$e]}),Ke=new(r(2425).ActorOptimizeQueryOperationAssignSourcesExhaustive)({name:"urn:comunica:default:optimize-query-operation/actors#assign-sources-exhaustive",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[Ge]});return new(r(31399).ActorOptimizeQueryOperationDescribeToConstructsSubject)({name:"urn:comunica:default:optimize-query-operation/actors#describe-to-constructs-subject",bus:s,busFailMessage:"Query optimization failed: none of the configured actors were able to optimize",beforeActors:[Ke]}),Me}},67526:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,o=s(e),a=o[0],c=o[1],u=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,c)),l=0,d=c>0?a-4:a;for(r=0;r>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===c&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===c&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=16383,s=0,u=n-i;su?u:s+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var i,o,a=[],s=t;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},61594:function(e,t,r){var n;!function(i){"use strict";var o,a=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,s=Math.ceil,c=Math.floor,u="[BigNumber Error] ",l=u+"Number primitive has more than 15 significant digits: ",d=1e14,p=14,h=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],y=1e7,g=1e9;function m(e){var t=0|e;return e>0||e===t?t:t-1}function b(e){for(var t,r,n=1,i=e.length,o=e[0]+"";nu^r?1:-1;for(s=(c=i.length)<(u=o.length)?c:u,a=0;ao[a]^r?1:-1;return c==u?0:c>u^r?1:-1}function v(e,t,r,n){if(er||e!==c(e))throw Error(u+(n||"Argument")+("number"==typeof e?er?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function w(e){var t=e.c.length-1;return m(e.e/p)==t&&e.c[t]%2!=0}function S(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function E(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else tk?m.c=m.e=null:e.e=10;d/=10,u++);return void(u>k?m.c=m.e=null:(m.e=u,m.c=[e]))}g=String(e)}else{if(!a.test(g=String(e)))return i(m,g,f);m.s=45==g.charCodeAt(0)?(g=g.slice(1),-1):1}(u=g.indexOf("."))>-1&&(g=g.replace(".","")),(d=g.search(/e/i))>0?(u<0&&(u=d),u+=+g.slice(d+1),g=g.substring(0,d)):u<0&&(u=g.length)}else{if(v(t,2,q.length,"Base"),10==t&&H)return z(m=new $(e),D+m.e+1,N);if(g=String(e),f="number"==typeof e){if(0*e!=0)return i(m,g,f,t);if(m.s=1/e<0?(g=g.slice(1),-1):1,$.DEBUG&&g.replace(/^0\.0*|\./,"").length>15)throw Error(l+e)}else m.s=45===g.charCodeAt(0)?(g=g.slice(1),-1):1;for(r=q.slice(0,t),u=d=0,y=g.length;du){u=y;continue}}else if(!s&&(g==g.toUpperCase()&&(g=g.toLowerCase())||g==g.toLowerCase()&&(g=g.toUpperCase()))){s=!0,d=-1,u=0;continue}return i(m,String(e),f,t)}f=!1,(u=(g=n(g,t,10,m.s)).indexOf("."))>-1?g=g.replace(".",""):u=g.length}for(d=0;48===g.charCodeAt(d);d++);for(y=g.length;48===g.charCodeAt(--y););if(g=g.slice(d,++y)){if(y-=d,f&&$.DEBUG&&y>15&&(e>h||e!==c(e)))throw Error(l+m.s*e);if((u=u-d-1)>k)m.c=m.e=null;else if(u=C)?S(c,a):E(c,a,"0");else if(o=(e=z(new $(e),t,r)).e,s=(c=b(e.c)).length,1==n||2==n&&(t<=o||o<=j)){for(;ss){if(--t>0)for(c+=".";t--;c+="0");}else if((t+=o-s)>0)for(o+1==s&&(c+=".");t--;c+="0");return e.s<0&&i?"-"+c:c}function K(e,t){for(var r,n,i=1,o=new $(e[0]);i=10;i/=10,n++);return(r=n+r*p-1)>k?e.c=e.e=null:r=10;u/=10,i++);if((o=t-i)<0)o+=p,a=t,l=g[h=0],y=c(l/m[i-a-1]%10);else if((h=s((o+1)/p))>=g.length){if(!n)break e;for(;g.length<=h;g.push(0));l=y=0,i=1,a=(o%=p)-p+1}else{for(l=u=g[h],i=1;u>=10;u/=10,i++);y=(a=(o%=p)-p+i)<0?0:c(l/m[i-a-1]%10)}if(n=n||t<0||null!=g[h+1]||(a<0?l:l%m[i-a-1]),n=r<4?(y||n)&&(0==r||r==(e.s<0?3:2)):y>5||5==y&&(4==r||n||6==r&&(o>0?a>0?l/m[i-a]:0:g[h-1])%10&1||r==(e.s<0?8:7)),t<1||!g[0])return g.length=0,n?(t-=e.e+1,g[0]=m[(p-t%p)%p],e.e=-t||0):g[0]=e.e=0,e;if(0==o?(g.length=h,u=1,h--):(g.length=h+1,u=m[p-o],g[h]=a>0?c(l/m[i-a]%m[a])*u:0),n)for(;;){if(0==h){for(o=1,a=g[0];a>=10;a/=10,o++);for(a=g[0]+=u,u=1;a>=10;a/=10,u++);o!=u&&(e.e++,g[0]==d&&(g[0]=1));break}if(g[h]+=u,g[h]!=d)break;g[h--]=0,u=1}for(o=g.length;0===g[--o];g.pop());}e.e>k?e.c=e.e=null:e.e=C?S(t,r):E(t,r,"0"),e.s<0?"-"+t:t)}return $.clone=e,$.ROUND_UP=0,$.ROUND_DOWN=1,$.ROUND_CEIL=2,$.ROUND_FLOOR=3,$.ROUND_HALF_UP=4,$.ROUND_HALF_DOWN=5,$.ROUND_HALF_EVEN=6,$.ROUND_HALF_CEIL=7,$.ROUND_HALF_FLOOR=8,$.EUCLID=9,$.config=$.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(u+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(v(r=e[t],0,g,t),D=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(v(r=e[t],0,8,t),N=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(v(r[0],-g,0,t),v(r[1],0,g,t),j=r[0],C=r[1]):(v(r,-g,g,t),j=-(C=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)v(r[0],-g,-1,t),v(r[1],1,g,t),M=r[0],k=r[1];else{if(v(r,-g,g,t),!r)throw Error(u+t+" cannot be zero: "+r);M=-(k=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(u+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw L=!r,Error(u+"crypto unavailable");L=r}else L=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(v(r=e[t],0,9,t),U=r),e.hasOwnProperty(t="POW_PRECISION")&&(v(r=e[t],0,g,t),B=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(u+t+" not an object: "+r);V=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(u+t+" invalid: "+r);H="0123456789"==r.slice(0,10),q=r}}return{DECIMAL_PLACES:D,ROUNDING_MODE:N,EXPONENTIAL_AT:[j,C],RANGE:[M,k],CRYPTO:L,MODULO_MODE:U,POW_PRECISION:B,FORMAT:V,ALPHABET:q}},$.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!$.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&i>=-g&&i<=g&&i===c(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%p)<1&&(t+=p),String(n[0]).length==t){for(t=0;t=d||r!==c(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(u+"Invalid BigNumber: "+e)},$.maximum=$.max=function(){return K(arguments,-1)},$.minimum=$.min=function(){return K(arguments,1)},$.random=(o=9007199254740992,T=Math.random()*o&2097151?function(){return c(Math.random()*o)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,i,o,a=0,l=[],d=new $(F);if(null==e?e=D:v(e,0,g),i=s(e/p),L)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));a>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[a]=r[0],t[a+1]=r[1]):(l.push(o%1e14),a+=2);a=i/2}else{if(!crypto.randomBytes)throw L=!1,Error(u+"crypto unavailable");for(t=crypto.randomBytes(i*=7);a=9e15?crypto.randomBytes(7).copy(t,a):(l.push(o%1e14),a+=7);a=i/7}if(!L)for(;a=10;o/=10,a++);ar-1&&(null==a[i+1]&&(a[i+1]=0),a[i+1]+=a[i]/r|0,a[i]%=r)}return a.reverse()}return function(n,i,o,a,s){var c,u,l,d,p,h,f,y,g=n.indexOf("."),m=D,_=N;for(g>=0&&(d=B,B=0,n=n.replace(".",""),h=(y=new $(i)).pow(n.length-g),B=d,y.c=t(E(b(h.c),h.e,"0"),10,o,e),y.e=y.c.length),l=d=(f=t(n,i,o,s?(c=q,e):(c=e,q))).length;0==f[--d];f.pop());if(!f[0])return c.charAt(0);if(g<0?--l:(h.c=f,h.e=l,h.s=a,f=(h=r(h,y,m,_,o)).c,p=h.r,l=h.e),g=f[u=l+m+1],d=o/2,p=p||u<0||null!=f[u+1],p=_<4?(null!=g||p)&&(0==_||_==(h.s<0?3:2)):g>d||g==d&&(4==_||p||6==_&&1&f[u-1]||_==(h.s<0?8:7)),u<1||!f[0])n=p?E(c.charAt(1),-m,c.charAt(0)):c.charAt(0);else{if(f.length=u,p)for(--o;++f[--u]>o;)f[u]=0,u||(++l,f=[1].concat(f));for(d=f.length;!f[--d];);for(g=0,n="";g<=d;n+=c.charAt(f[g++]));n=E(n,l,c.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,i,o,a,s=0,c=e.length,u=t%y,l=t/y|0;for(e=e.slice();c--;)s=((i=u*(o=e[c]%y)+(n=l*o+(a=e[c]/y|0)*u)%y*y+s)/r|0)+(n/y|0)+l*a,e[c]=i%r;return s&&(e=[s].concat(e)),e}function t(e,t,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;it[i]?1:-1;break}return o}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]1;e.splice(0,1));}return function(n,i,o,a,s){var u,l,h,f,y,g,b,_,v,w,S,E,T,O,x,A,I,R=n.s==i.s?1:-1,P=n.c,F=i.c;if(!(P&&P[0]&&F&&F[0]))return new $(n.s&&i.s&&(P?!F||P[0]!=F[0]:F)?P&&0==P[0]||!F?0*R:R/0:NaN);for(v=(_=new $(R)).c=[],R=o+(l=n.e-i.e)+1,s||(s=d,l=m(n.e/p)-m(i.e/p),R=R/p|0),h=0;F[h]==(P[h]||0);h++);if(F[h]>(P[h]||0)&&l--,R<0)v.push(1),f=!0;else{for(O=P.length,A=F.length,h=0,R+=2,(y=c(s/(F[0]+1)))>1&&(F=e(F,y,s),P=e(P,y,s),A=F.length,O=P.length),T=A,S=(w=P.slice(0,A)).length;S=s/2&&x++;do{if(y=0,(u=t(F,w,A,S))<0){if(E=w[0],A!=S&&(E=E*s+(w[1]||0)),(y=c(E/x))>1)for(y>=s&&(y=s-1),b=(g=e(F,y,s)).length,S=w.length;1==t(g,w,b,S);)y--,r(g,A=10;R/=10,h++);z(_,o+(_.e=h+l*p-1)+1,a,f)}else _.e=l,_.r=+f;return _}}(),O=/^(-?)0([xbo])(?=\w[\w.]*$)/i,x=/^([^.]+)\.$/,A=/^\.([^.]+)$/,I=/^-?(Infinity|NaN)$/,R=/^\s*\+(?=[\w.])|^\s+|\s+$/g,i=function(e,t,r,n){var i,o=r?t:t.replace(R,"");if(I.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!r&&(o=o.replace(O,(function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t})),n&&(i=n,o=o.replace(x,"$1").replace(A,"0.$1")),t!=o))return new $(o,i);if($.DEBUG)throw Error(u+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},P.absoluteValue=P.abs=function(){var e=new $(this);return e.s<0&&(e.s=1),e},P.comparedTo=function(e,t){return _(this,new $(e,t))},P.decimalPlaces=P.dp=function(e,t){var r,n,i,o=this;if(null!=e)return v(e,0,g),null==t?t=N:v(t,0,8),z(new $(o),e+o.e+1,t);if(!(r=o.c))return null;if(n=((i=r.length-1)-m(this.e/p))*p,i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},P.dividedBy=P.div=function(e,t){return r(this,new $(e,t),D,N)},P.dividedToIntegerBy=P.idiv=function(e,t){return r(this,new $(e,t),0,1)},P.exponentiatedBy=P.pow=function(e,t){var r,n,i,o,a,l,d,h,f=this;if((e=new $(e)).c&&!e.isInteger())throw Error(u+"Exponent not an integer: "+J(e));if(null!=t&&(t=new $(t)),a=e.e>14,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return h=new $(Math.pow(+J(f),a?e.s*(2-w(e)):+J(e))),t?h.mod(t):h;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new $(NaN);(n=!l&&f.isInteger()&&t.isInteger())&&(f=f.mod(t))}else{if(e.e>9&&(f.e>0||f.e<-1||(0==f.e?f.c[0]>1||a&&f.c[1]>=24e7:f.c[0]<8e13||a&&f.c[0]<=9999975e7)))return o=f.s<0&&w(e)?-0:0,f.e>-1&&(o=1/o),new $(l?1/o:o);B&&(o=s(B/p+2))}for(a?(r=new $(.5),l&&(e.s=1),d=w(e)):d=(i=Math.abs(+J(e)))%2,h=new $(F);;){if(d){if(!(h=h.times(f)).c)break;o?h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}if(i){if(0===(i=c(i/2)))break;d=i%2}else if(z(e=e.times(r),e.e+1,1),e.e>14)d=w(e);else{if(0==(i=+J(e)))break;d=i%2}f=f.times(f),o?f.c&&f.c.length>o&&(f.c.length=o):n&&(f=f.mod(t))}return n?h:(l&&(h=F.div(h)),t?h.mod(t):o?z(h,B,N,void 0):h)},P.integerValue=function(e){var t=new $(this);return null==e?e=N:v(e,0,8),z(t,t.e+1,e)},P.isEqualTo=P.eq=function(e,t){return 0===_(this,new $(e,t))},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(e,t){return _(this,new $(e,t))>0},P.isGreaterThanOrEqualTo=P.gte=function(e,t){return 1===(t=_(this,new $(e,t)))||0===t},P.isInteger=function(){return!!this.c&&m(this.e/p)>this.c.length-2},P.isLessThan=P.lt=function(e,t){return _(this,new $(e,t))<0},P.isLessThanOrEqualTo=P.lte=function(e,t){return-1===(t=_(this,new $(e,t)))||0===t},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&0==this.c[0]},P.minus=function(e,t){var r,n,i,o,a=this,s=a.s;if(t=(e=new $(e,t)).s,!s||!t)return new $(NaN);if(s!=t)return e.s=-t,a.plus(e);var c=a.e/p,u=e.e/p,l=a.c,h=e.c;if(!c||!u){if(!l||!h)return l?(e.s=-t,e):new $(h?a:NaN);if(!l[0]||!h[0])return h[0]?(e.s=-t,e):new $(l[0]?a:3==N?-0:0)}if(c=m(c),u=m(u),l=l.slice(),s=c-u){for((o=s<0)?(s=-s,i=l):(u=c,i=h),i.reverse(),t=s;t--;i.push(0));i.reverse()}else for(n=(o=(s=l.length)<(t=h.length))?s:t,s=t=0;t0)for(;t--;l[r++]=0);for(t=d-1;n>s;){if(l[--n]=0;){for(r=0,f=E[i]%v,g=E[i]/v|0,o=i+(a=c);o>i;)r=((u=f*(u=S[--a]%v)+(s=g*u+(l=S[a]/v|0)*f)%v*v+b[o]+r)/_|0)+(s/v|0)+g*l,b[o--]=u%_;b[o]=r}return r?++n:b.splice(0,1),Q(e,b,n)},P.negated=function(){var e=new $(this);return e.s=-e.s||null,e},P.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new $(e,t)).s,!i||!t)return new $(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/p,a=e.e/p,s=n.c,c=e.c;if(!o||!a){if(!s||!c)return new $(i/0);if(!s[0]||!c[0])return c[0]?e:new $(s[0]?n:0*i)}if(o=m(o),a=m(a),s=s.slice(),i=o-a){for(i>0?(a=o,r=c):(i=-i,r=s),r.reverse();i--;r.push(0));r.reverse()}for((i=s.length)-(t=c.length)<0&&(r=c,c=s,s=r,t=i),i=0;t;)i=(s[--t]=s[t]+c[t]+i)/d|0,s[t]=d===s[t]?0:s[t]%d;return i&&(s=[i].concat(s),++a),Q(e,s,a)},P.precision=P.sd=function(e,t){var r,n,i,o=this;if(null!=e&&e!==!!e)return v(e,1,g),null==t?t=N:v(t,0,8),z(new $(o),e,t);if(!(r=o.c))return null;if(n=(i=r.length-1)*p+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},P.shiftedBy=function(e){return v(e,-9007199254740991,h),this.times("1e"+e)},P.squareRoot=P.sqrt=function(){var e,t,n,i,o,a=this,s=a.c,c=a.s,u=a.e,l=D+4,d=new $("0.5");if(1!==c||!s||!s[0])return new $(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);if(0==(c=Math.sqrt(+J(a)))||c==1/0?(((t=b(s)).length+u)%2==0&&(t+="0"),c=Math.sqrt(+t),u=m((u+1)/2)-(u<0||u%2),n=new $(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):n=new $(c+""),n.c[0])for((c=(u=n.e)+l)<3&&(c=0);;)if(o=n,n=d.times(o.plus(r(a,o,l,1))),b(o.c).slice(0,c)===(t=b(n.c)).slice(0,c)){if(n.e0&&y>0){for(o=y%s||s,d=f.substr(0,o);o0&&(d+=l+f.slice(o)),h&&(d="-"+d)}n=p?d+(r.decimalSeparator||"")+((c=+r.fractionGroupSize)?p.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):p):d}return(r.prefix||"")+n+(r.suffix||"")},P.toFraction=function(e){var t,n,i,o,a,s,c,l,d,h,y,g,m=this,_=m.c;if(null!=e&&(!(c=new $(e)).isInteger()&&(c.c||1!==c.s)||c.lt(F)))throw Error(u+"Argument "+(c.isInteger()?"out of range: ":"not an integer: ")+J(c));if(!_)return new $(m);for(t=new $(F),d=n=new $(F),i=l=new $(F),g=b(_),a=t.e=g.length-m.e-1,t.c[0]=f[(s=a%p)<0?p+s:s],e=!e||c.comparedTo(t)>0?a>0?t:d:c,s=k,k=1/0,c=new $(g),l.c[0]=0;h=r(c,t,0,1),1!=(o=n.plus(h.times(i))).comparedTo(e);)n=i,i=o,d=l.plus(h.times(o=d)),l=o,t=c.minus(h.times(o=t)),c=o;return o=r(e.minus(n),i,0,1),l=l.plus(o.times(d)),n=n.plus(o.times(i)),l.s=d.s=m.s,y=r(d,i,a*=2,N).minus(m).abs().comparedTo(r(l,n,a,N).minus(m).abs())<1?[d,i]:[l,n],k=s,y},P.toNumber=function(){return+J(this)},P.toPrecision=function(e,t){return null!=e&&v(e,1,g),G(this,e,t,2)},P.toString=function(e){var t,r=this,i=r.s,o=r.e;return null===o?i?(t="Infinity",i<0&&(t="-"+t)):t="NaN":(null==e?t=o<=j||o>=C?S(b(r.c),o):E(b(r.c),o,"0"):10===e&&H?t=E(b((r=z(new $(r),D+o+1,N)).c),r.e,"0"):(v(e,2,q.length,"Base"),t=n(E(b(r.c),o,"0"),10,e,i,!0)),i<0&&r.c[0]&&(t="-"+t)),t},P.valueOf=P.toJSON=function(){return J(this)},P._isBigNumber=!0,null!=t&&$.set(t),$}(),o.default=o.BigNumber=o,void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)}()},48287:(e,t,r)=>{"use strict";const n=r(67526),i=r(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=c,t.SlowBuffer=function(e){return+e!=e&&(e=0),c.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,c.prototype),t}function c(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}return u(e,t,r)}function u(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!c.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|y(e,t);let n=s(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return c.from(n,t,r);const i=function(e){if(c.isBuffer(e)){const t=0|f(e.length),r=s(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||W(e.length)?s(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return c.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return l(e),s(e<0?0:0|f(e))}function p(e){const t=e.length<0?0:0|f(e.length),r=s(t);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function y(e,t){if(c.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(e).length;default:if(i)return n?-1:K(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return I(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return O(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function b(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),W(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:_(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,i){let o,a=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let n=-1;for(o=r;os&&(r=s-c),o=r;o>=0;o--){let r=!0;for(let n=0;ni&&(n=i):n=i;const o=t.length;let a;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function O(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);const n=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=r){let r,n,s,c;switch(a){case 1:t<128&&(o=t);break;case 2:r=e[i+1],128==(192&r)&&(c=(31&t)<<6|63&r,c>127&&(o=c));break;case 3:r=e[i+1],n=e[i+2],128==(192&r)&&128==(192&n)&&(c=(15&t)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(c=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,c>65535&&c<1114112&&(o=c))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=a}return function(e){const t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn.length?(c.isBuffer(t)||(t=c.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else{if(!c.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,i)}i+=t.length}return n},c.byteLength=y,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(e+=" ... "),""},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(e,t,r,n,i){if(J(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;let o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0);const s=Math.min(o,a),u=this.slice(n,i),l=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return v(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":case"latin1":case"binary":return S(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function I(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;in)&&(r=n);let i="";for(let n=t;nr)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,r,n,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function j(e,t,r,n,i){q(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,r}function C(e,t,r,n,i){q(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o>>=8,e[r+6]=o,o>>=8,e[r+5]=o,o>>=8,e[r+4]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=a,a>>=8,e[r+2]=a,a>>=8,e[r+1]=a,a>>=8,e[r]=a,r+8}function M(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function k(e,t,r,n,o){return t=+t,r>>>=0,o||M(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function L(e,t,r,n,o){return t=+t,r>>>=0,o||M(e,0,r,8),i.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||D(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>=0,t>>>=0,r||D(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(e,t){return e>>>=0,t||D(e,1,this.length),this[e]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(e,t){return e>>>=0,t||D(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(e,t){return e>>>=0,t||D(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(e,t){return e>>>=0,t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(e,t){return e>>>=0,t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readBigUInt64LE=Y((function(e){H(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||D(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||D(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return e>>>=0,t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){e>>>=0,t||D(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){e>>>=0,t||D(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return e>>>=0,t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return e>>>=0,t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readBigInt64LE=Y((function(e){H(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||$(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<>>=0,t||D(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return e>>>=0,t||D(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return e>>>=0,t||D(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return e>>>=0,t||D(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||N(this,e,t,r,Math.pow(2,8*r)-1,0);let i=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,n||N(this,e,t,r,Math.pow(2,8*r)-1,0);let i=r-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,1,255,0),this[t]=255&e,t+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigUInt64LE=Y((function(e,t=0){return j(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=Y((function(e,t=0){return C(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);N(this,e,t,r,n-1,-n)}let i=0,o=1,a=0;for(this[t]=255&e;++i>>=0,!n){const n=Math.pow(2,8*r-1);N(this,e,t,r,n-1,-n)}let i=r-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o|0)-a&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},c.prototype.writeBigInt64LE=Y((function(e,t=0){return j(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=Y((function(e,t=0){return C(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(e,t,r){return k(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return k(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return L(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return L(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(!c.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function q(e,t,r,n,i,o){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new U.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,r){H(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||$(t,e.length-(r+1))}(n,i,o)}function H(e,t){if("number"!=typeof e)throw new U.ERR_INVALID_ARG_TYPE(t,"number",e)}function $(e,t,r){if(Math.floor(e)!==e)throw H(e,r),new U.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}B("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),B("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),B("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=V(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=V(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n}),RangeError);const G=/[^+/0-9A-Za-z-_]/g;function K(e,t){let r;t=t||1/0;const n=e.length;let i=null;const o=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Q(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(G,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function z(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function W(e){return e!=e}const X=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Y(e){return"undefined"==typeof BigInt?Z:e}function Z(){throw new Error("BigInt not supported")}},82341:e=>{"use strict";e.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(((t,r,n)=>t+(0===n?"":",")+e(void 0===r||"symbol"==typeof r?null:r)),"")+"]":"{"+Object.keys(t).sort().reduce(((r,n,i)=>void 0===t[n]||"symbol"==typeof t[n]?r:r+(0===r.length?"":",")+e(n)+":"+e(t[n])),"")+"}"}},86547:function(){!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function f(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=f(t);return t.readAsArrayBuffer(e),r}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=f(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function v(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new p(t.headers),this.url=t.url||"",this._initBody(e)}_.prototype.clone=function(){return new _(this,{body:this._bodyInit})},m.call(_.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var S=[301,302,303,307,308];w.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function E(e,r){return new Promise((function(n,o){var a=new _(e,r);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new p,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;n(new w(i,r))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&i&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}E.polyfill=!0,e.fetch||(e.fetch=E,e.Headers=p,e.Request=_,e.Response=w),t.Headers=p,t.Request=_,t.Response=w,t.fetch=E,Object.defineProperty(t,"__esModule",{value:!0})}({})}("undefined"!=typeof self?self:this)},74945:function(e,t){var r="undefined"!=typeof self?self:this,n=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function f(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function y(e){var t=new FileReader,r=f(t);return t.readAsArrayBuffer(e),r}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=f(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function v(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new p(t.headers),this.url=t.url||"",this._initBody(e)}_.prototype.clone=function(){return new _(this,{body:this._bodyInit})},m.call(_.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var S=[301,302,303,307,308];w.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function E(e,r){return new Promise((function(n,o){var a=new _(e,r);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new p,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var i="response"in s?s.response:s.responseText;n(new w(i,r))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&i&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}E.polyfill=!0,e.fetch||(e.fetch=E,e.Headers=p,e.Request=_,e.Response=w),t.Headers=p,t.Request=_,t.Response=w,t.fetch=E,Object.defineProperty(t,"__esModule",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=n;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},94460:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((function(e){return[e.toLowerCase(),e]}))),t.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((function(e){return[e.toLowerCase(),e]})))},53806:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r");case s.Comment:return"\x3c!--".concat(e.data,"--\x3e");case s.CDATA:return function(e){return"")}(e);case s.Script:case s.Style:case s.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=u.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&y.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<".concat(e.name),o=function(e,t){var r;if(e){var n=!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)?d:t.xmlMode||"utf8"!==t.encodeEntities?c.encodeXML:c.escapeAttribute;return Object.keys(e).map((function(r){var i,o,a=null!==(i=e[r])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(r=null!==(o=u.attributeNames.get(r))&&void 0!==o?o:r),t.emptyAttrs||t.xmlMode||""!==a?"".concat(r,'="').concat(n(a),'"'):r})).join(" ")}}(e.attribs,t);return o&&(i+=" ".concat(o)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&p.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=h(e.children,t)),!t.xmlMode&&p.has(e.name)||(i+=""))),i}(e,t);case s.Text:return function(e,t){var r,n=e.data||"";return!1===(null!==(r=t.encodeEntities)&&void 0!==r?r:t.decodeEntities)||!t.xmlMode&&e.parent&&l.has(e.parent.name)||(n=t.xmlMode||"utf8"!==t.encodeEntities?(0,c.encodeXML)(n):(0,c.escapeText)(n)),n}(e,t)}}t.render=h,t.default=h;var y=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},45413:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(r=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===r.Tag||e.type===r.Script||e.type===r.Style},t.Root=r.Root,t.Text=r.Text,t.Directive=r.Directive,t.Comment=r.Comment,t.Script=r.Script,t.Style=r.Style,t.Tag=r.Tag,t.CDATA=r.CDATA,t.Doctype=r.Doctype},41141:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.DomHandler=void 0;var o=r(45413),a=r(36957);i(r(36957),t);var s={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},c=function(){function e(e,t,r){this.dom=[],this.root=new a.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(r=t,t=s),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:s,this.elementCB=null!=r?r:null}return e.prototype.onparserinit=function(e){this.parser=e},e.prototype.onreset=function(){this.dom=[],this.root=new a.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},e.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},e.prototype.onerror=function(e){this.handleCallback(e)},e.prototype.onclosetag=function(){this.lastNode=null;var e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)},e.prototype.onopentag=function(e,t){var r=this.options.xmlMode?o.ElementType.Tag:void 0,n=new a.Element(e,t,void 0,r);this.addNode(n),this.tagStack.push(n)},e.prototype.ontext=function(e){var t=this.lastNode;if(t&&t.type===o.ElementType.Text)t.data+=e,this.options.withEndIndices&&(t.endIndex=this.parser.endIndex);else{var r=new a.Text(e);this.addNode(r),this.lastNode=r}},e.prototype.oncomment=function(e){if(this.lastNode&&this.lastNode.type===o.ElementType.Comment)this.lastNode.data+=e;else{var t=new a.Comment(e);this.addNode(t),this.lastNode=t}},e.prototype.oncommentend=function(){this.lastNode=null},e.prototype.oncdatastart=function(){var e=new a.Text(""),t=new a.CDATA([e]);this.addNode(t),e.parent=t,this.lastNode=e},e.prototype.oncdataend=function(){this.lastNode=null},e.prototype.onprocessinginstruction=function(e,t){var r=new a.ProcessingInstruction(e,t);this.addNode(r)},e.prototype.handleCallback=function(e){if("function"==typeof this.callback)this.callback(e,this.dom);else if(e)throw e},e.prototype.addNode=function(e){var t=this.tagStack[this.tagStack.length-1],r=t.children[t.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),t.children.push(e),r&&(e.prev=r,r.next=e),e.parent=t,this.lastNode=null},e}();t.DomHandler=c,t.default=c},36957:function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(s);t.NodeWithChildren=p;var h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(p);t.CDATA=h;var f=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(p);t.Document=f;var y=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var o=e.call(this,n)||this;return o.name=t,o.attribs=r,o.type=i,o}return i(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}}))},enumerable:!1,configurable:!0}),t}(p);function g(e){return(0,a.isTag)(e)}function m(e){return e.type===a.ElementType.CDATA}function b(e){return e.type===a.ElementType.Text}function _(e){return e.type===a.ElementType.Comment}function v(e){return e.type===a.ElementType.Directive}function w(e){return e.type===a.ElementType.Root}function S(e,t){var r;if(void 0===t&&(t=!1),b(e))r=new u(e.data);else if(_(e))r=new l(e.data);else if(g(e)){var n=t?E(e.children):[],i=new y(e.name,o({},e.attribs),n);n.forEach((function(e){return e.parent=i})),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=o({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=o({},e["x-attribsPrefix"])),r=i}else if(m(e)){n=t?E(e.children):[];var a=new h(n);n.forEach((function(e){return e.parent=a})),r=a}else if(w(e)){n=t?E(e.children):[];var s=new f(n);n.forEach((function(e){return e.parent=s})),e["x-mode"]&&(s["x-mode"]=e["x-mode"]),r=s}else{if(!v(e))throw new Error("Not implemented yet: ".concat(e.type));var c=new d(e.name,e.data);null!=e["x-name"]&&(c["x-name"]=e["x-name"],c["x-publicId"]=e["x-publicId"],c["x-systemId"]=e["x-systemId"]),r=c}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function E(e){for(var t=e.map((function(e){return S(e,!0)})),r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFeed=void 0;var n=r(76037),i=r(43209);t.getFeed=function(e){var t=c(d,e);return t?"feed"===t.name?function(e){var t,r=e.children,n={type:"atom",items:(0,i.getElementsByTagName)("entry",r).map((function(e){var t,r=e.children,n={media:s(r)};l(n,"id","id",r),l(n,"title","title",r);var i=null===(t=c("link",r))||void 0===t?void 0:t.attribs.href;i&&(n.link=i);var o=u("summary",r)||u("content",r);o&&(n.description=o);var a=u("updated",r);return a&&(n.pubDate=new Date(a)),n}))};l(n,"id","id",r),l(n,"title","title",r);var o=null===(t=c("link",r))||void 0===t?void 0:t.attribs.href;o&&(n.link=o),l(n,"description","subtitle",r);var a=u("updated",r);return a&&(n.updated=new Date(a)),l(n,"author","email",r,!0),n}(t):function(e){var t,r,n=null!==(r=null===(t=c("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==r?r:[],o={type:e.name.substr(0,3),id:"",items:(0,i.getElementsByTagName)("item",e.children).map((function(e){var t=e.children,r={media:s(t)};l(r,"id","guid",t),l(r,"title","title",t),l(r,"link","link",t),l(r,"description","description",t);var n=u("pubDate",t)||u("dc:date",t);return n&&(r.pubDate=new Date(n)),r}))};l(o,"title","title",n),l(o,"link","link",n),l(o,"description","description",n);var a=u("lastBuildDate",n);return a&&(o.updated=new Date(a)),l(o,"author","managingEditor",n,!0),o}(t):null};var o=["url","type","lang"],a=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function s(e){return(0,i.getElementsByTagName)("media:content",e).map((function(e){for(var t=e.attribs,r={medium:t.medium,isDefault:!!t.isDefault},n=0,i=o;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSort=t.compareDocumentPosition=t.DocumentPosition=t.removeSubsets=void 0;var n,i=r(41141);function o(e,t){var r=[],o=[];if(e===t)return 0;for(var a=(0,i.hasChildren)(e)?e:e.parent;a;)r.unshift(a),a=a.parent;for(a=(0,i.hasChildren)(t)?t:t.parent;a;)o.unshift(a),a=a.parent;for(var s=Math.min(r.length,o.length),c=0;cl.indexOf(p)?u===t?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:u===e?n.PRECEDING|n.CONTAINS:n.PRECEDING}t.removeSubsets=function(e){for(var t=e.length;--t>=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(n=t.DocumentPosition||(t.DocumentPosition={})),t.compareDocumentPosition=o,t.uniqueSort=function(e){return e=e.filter((function(e,t,r){return!r.includes(e,t+1)})),e.sort((function(e,t){var r=o(e,t);return r&n.PRECEDING?-1:r&n.FOLLOWING?1:0})),e}},98888:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(76037),t),i(r(8938),t),i(r(73403),t),i(r(90718),t),i(r(43209),t),i(r(45397),t),i(r(54437),t);var o=r(41141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return o.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return o.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return o.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return o.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return o.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return o.hasChildren}})},43209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var n=r(41141),i=r(90718),o={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function s(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map((function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(o,t)?o[t](r):a(t,r)}));return 0===t.length?null:t.reduce(s)}t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var o=c(e);return o?(0,i.filter)(o,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(o.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(o.tag_type(e),t,r,n)}},73403:(e,t)=>{"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children,r=t.lastIndexOf(e);r>=0&&t.splice(r,1)}e.next=null,e.prev=null,e.parent=null}Object.defineProperty(t,"__esModule",{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var o=i.children;o[o.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var o=n.children;o.splice(o.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},90718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var n=r(41141);function i(e,t,r,i){for(var o=[],a=[t],s=[0];;)if(s[0]>=a[0].length){if(1===s.length)return o;a.shift(),s.shift()}else{var c=a[0][s[0]++];if(e(c)&&(o.push(c),--i<=0))return o;r&&(0,n.hasChildren)(c)&&c.children.length>0&&(s.unshift(0),a.unshift(c.children))}}t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),i(e,Array.isArray(t)?t:[t],r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var o=null,a=0;a0&&(o=e(t,s.children,!0)))}return o},t.existsOne=function e(t,r){return r.some((function(r){return(0,n.isTag)(r)&&(t(r)||e(t,r.children))}))},t.findAll=function(e,t){for(var r=[],i=[t],o=[0];;)if(o[0]>=i[0].length){if(1===i.length)return r;i.shift(),o.shift()}else{var a=i[0][o[0]++];(0,n.isTag)(a)&&(e(a)&&r.push(a),a.children.length>0&&(o.unshift(0),i.unshift(a.children)))}}},76037:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.innerText=t.textContent=t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var i=r(41141),o=n(r(53806)),a=r(45413);function s(e,t){return(0,o.default)(e,t)}t.getOuterHTML=s,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map((function(e){return s(e,t)})).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""}},8938:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var n=r(41141);function i(e){return(0,n.hasChildren)(e)?e.children:[]}function o(e){return e.parent||null}t.getChildren=i,t.getParent=o,t.getSiblings=function(e){var t=o(e);if(null!=t)return i(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t}},79878:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTMLAttribute=t.decodeHTML=t.determineBranch=t.EntityDecoder=t.DecodingMode=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var s=a(r(13603));t.htmlDecodeTree=s.default;var c=a(r(22517));t.xmlDecodeTree=c.default;var u=o(r(55096));t.decodeCodePoint=u.default;var l,d,p,h,f=r(55096);function y(e){return e>=l.ZERO&&e<=l.NINE}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return f.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return f.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"}(l||(l={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(d=t.BinTrieFlags||(t.BinTrieFlags={})),function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"}(p||(p={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"}(h=t.DecodingMode||(t.DecodingMode={}));var g=function(){function e(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=p.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=h.Strict}return e.prototype.startEntity=function(e){this.decodeMode=e,this.state=p.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},e.prototype.write=function(e,t){switch(this.state){case p.EntityStart:return e.charCodeAt(t)===l.NUM?(this.state=p.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=p.NamedEntity,this.stateNamedEntity(e,t));case p.NumericStart:return this.stateNumericStart(e,t);case p.NumericDecimal:return this.stateNumericDecimal(e,t);case p.NumericHex:return this.stateNumericHex(e,t);case p.NamedEntity:return this.stateNamedEntity(e,t)}},e.prototype.stateNumericStart=function(e,t){return t>=e.length?-1:(32|e.charCodeAt(t))===l.LOWER_X?(this.state=p.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=p.NumericDecimal,this.stateNumericDecimal(e,t))},e.prototype.addToNumericResult=function(e,t,r,n){if(t!==r){var i=r-t;this.result=this.result*Math.pow(n,i)+parseInt(e.substr(t,i),n),this.consumed+=i}},e.prototype.stateNumericHex=function(e,t){for(var r,n=t;t=l.UPPER_A&&r<=l.UPPER_F||r>=l.LOWER_A&&r<=l.LOWER_F)))return this.addToNumericResult(e,n,t,16),this.emitNumericEntity(i,3);t+=1}return this.addToNumericResult(e,n,t,16),-1},e.prototype.stateNumericDecimal=function(e,t){for(var r=t;t>14;t=l.UPPER_A&&e<=l.UPPER_Z||e>=l.LOWER_A&&e<=l.LOWER_Z||y(e)}(a)))?0:this.emitNotTerminatedNamedEntity();if(0!=(i=((n=r[this.treeIndex])&d.VALUE_LENGTH)>>14)){if(o===l.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==h.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}var a;return-1},e.prototype.emitNotTerminatedNamedEntity=function(){var e,t=this.result,r=(this.decodeTree[t]&d.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(),this.consumed},e.prototype.emitNamedEntityData=function(e,t,r){var n=this.decodeTree;return this.emitCodePoint(1===t?n[e]&~d.VALUE_LENGTH:n[e+1],r),3===t&&this.emitCodePoint(n[e+2],r),r},e.prototype.end=function(){var e;switch(this.state){case p.NamedEntity:return 0===this.result||this.decodeMode===h.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case p.NumericDecimal:return this.emitNumericEntity(0,2);case p.NumericHex:return this.emitNumericEntity(0,3);case p.NumericStart:return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case p.EntityStart:return 0}},e}();function m(e){var t="",r=new g(e,(function(e){return t+=(0,u.fromCodePoint)(e)}));return function(e,n){for(var i=0,o=0;(o=e.indexOf("&",o))>=0;){t+=e.slice(i,o),r.startEntity(n);var a=r.write(e,o+1);if(a<0){i=o+r.end();break}i=o+a,o=0===a?i+1:i}var s=t+e.slice(i);return t="",s}}function b(e,t,r,n){var i=(t&d.BRANCH_LENGTH)>>7,o=t&d.JUMP_TABLE;if(0===i)return 0!==o&&n===o?r:-1;if(o){var a=n-o;return a<0||a>=i?-1:e[r+a]-1}for(var s=r,c=s+i-1;s<=c;){var u=s+c>>>1,l=e[u];if(ln))return e[u+i];c=u-1}}return-1}t.EntityDecoder=g,t.determineBranch=b;var _=m(s.default),v=m(c.default);t.decodeHTML=function(e,t){return void 0===t&&(t=h.Legacy),_(e,t)},t.decodeHTMLAttribute=function(e){return _(e,h.Attribute)},t.decodeHTMLStrict=function(e){return _(e,h.Strict)},t.decodeXML=function(e){return v(e,h.Strict)}},55096:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var n=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=n.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(r=String.fromCodePoint)&&void 0!==r?r:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}},71818:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var i=n(r(35504)),o=r(5987),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function s(e,t){for(var r,n="",a=0;null!==(r=e.exec(t));){var s=r.index;n+=t.substring(a,s);var c=t.charCodeAt(s),u=i.default.get(c);if("object"==typeof u){if(s+1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.getCodePoint=t.xmlReplacer=void 0,t.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var r=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function n(e){for(var n,i="",o=0;null!==(n=t.xmlReplacer.exec(e));){var a=n.index,s=e.charCodeAt(a),c=r.get(s);void 0!==c?(i+=e.substring(o,a)+c,o=a+1):(i+="".concat(e.substring(o,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),o=t.xmlReplacer.lastIndex+=Number(55296==(64512&s)))}return i+e.substr(o)}function i(e,t){return function(r){for(var n,i=0,o="";n=e.exec(r);)i!==n.index&&(o+=r.substring(i,n.index)),o+=t.get(n[0].charCodeAt(0)),i=n.index+1;return o+r.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=n,t.escape=n,t.escapeUTF8=i(/[&<>'"]/g,r),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},13603:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((function(e){return e.charCodeAt(0)})))},22517:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(e){return e.charCodeAt(0)})))},35504:(e,t)=>{"use strict";function r(e){for(var t=1;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLAttribute=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.DecodingMode=t.EntityDecoder=t.encodeHTML5=t.encodeHTML4=t.encodeNonAsciiHTML=t.encodeHTML=t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.encode=t.decodeStrict=t.decode=t.EncodingMode=t.EntityLevel=void 0;var n,i,o=r(79878),a=r(71818),s=r(5987);function c(e,t){if(void 0===t&&(t=n.XML),("number"==typeof t?t:t.level)===n.HTML){var r="object"==typeof t?t.mode:void 0;return(0,o.decodeHTML)(e,r)}return(0,o.decodeXML)(e)}!function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"}(n=t.EntityLevel||(t.EntityLevel={})),function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"}(i=t.EncodingMode||(t.EncodingMode={})),t.decode=c,t.decodeStrict=function(e,t){var r;void 0===t&&(t=n.XML);var i="number"==typeof t?{level:t}:t;return null!==(r=i.mode)&&void 0!==r||(i.mode=o.DecodingMode.Strict),c(e,i)},t.encode=function(e,t){void 0===t&&(t=n.XML);var r="number"==typeof t?{level:t}:t;return r.mode===i.UTF8?(0,s.escapeUTF8)(e):r.mode===i.Attribute?(0,s.escapeAttribute)(e):r.mode===i.Text?(0,s.escapeText)(e):r.level===n.HTML?r.mode===i.ASCII?(0,a.encodeNonAsciiHTML)(e):(0,a.encodeHTML)(e):(0,s.encodeXML)(e)};var u=r(5987);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return u.encodeXML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return u.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return u.escapeUTF8}}),Object.defineProperty(t,"escapeAttribute",{enumerable:!0,get:function(){return u.escapeAttribute}}),Object.defineProperty(t,"escapeText",{enumerable:!0,get:function(){return u.escapeText}});var l=r(71818);Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return l.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return l.encodeNonAsciiHTML}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return l.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return l.encodeHTML}});var d=r(79878);Object.defineProperty(t,"EntityDecoder",{enumerable:!0,get:function(){return d.EntityDecoder}}),Object.defineProperty(t,"DecodingMode",{enumerable:!0,get:function(){return d.DecodingMode}}),Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return d.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTMLAttribute",{enumerable:!0,get:function(){return d.decodeHTMLAttribute}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return d.decodeXML}})},66486:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.promisifyEventEmitter=void 0,t.promisifyEventEmitter=function(e,t){return new Promise(((r,n)=>{e.on("end",(()=>r(t))),e.on("error",n)}))}},37007:e=>{"use strict";var t,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,o),n(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}y(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&y(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,o,a,u;if(s(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),a=o[t]),void 0===a)a=o[t]=r,++e._eventsCount;else if("function"==typeof a?a=o[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(i=c(e))>0&&a.length>i&&!a.warned){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,u=l,console&&console.warn&&console.warn(u)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=l.bind(n);return i.listener=r,n.wrapFn=i,i}function p(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)n(c,this,t);else{var u=c.length,l=f(c,u);for(r=0;r=0;o--)if(r[o]===t||r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},29252:e=>{"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(!e(t[i],r[i]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(i of t.entries())if(!r.has(i[0]))return!1;for(i of t.entries())if(!e(i[1],r.get(i[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(i of t.entries())if(!r.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(t[i]!==r[i])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;0!=i--;){var a=o[i];if(!e(t[a],r[a]))return!1}return!0}return t!=t&&r!=r}},92603:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(59636),t)},59636:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlEndpointFetcher=void 0;const i=r(31232),o=r(30684),a=r(65806),s=r(76196),c=r(916),u=r(75295),l=r(43789);class d{constructor(e){var t,r,n;this.method=null!==(t=null==e?void 0:e.method)&&void 0!==t?t:"POST",this.timeout=null==e?void 0:e.timeout,this.additionalUrlParams=null!==(r=null==e?void 0:e.additionalUrlParams)&&void 0!==r?r:new URLSearchParams,this.defaultHeaders=null!==(n=null==e?void 0:e.defaultHeaders)&&void 0!==n?n:new Headers,this.fetchCb=null==e?void 0:e.fetch,this.sparqlJsonParser=new c.SparqlJsonParser(e),this.sparqlXmlParser=new u.SparqlXmlParser(e),this.sparqlParsers={[d.CONTENTTYPE_SPARQL_JSON]:{parseBooleanStream:e=>this.sparqlJsonParser.parseJsonBooleanStream(e),parseResultsStream:e=>this.sparqlJsonParser.parseJsonResultsStream(e)},[d.CONTENTTYPE_SPARQL_XML]:{parseBooleanStream:e=>this.sparqlXmlParser.parseXmlBooleanStream(e),parseResultsStream:e=>this.sparqlXmlParser.parseXmlResultsStream(e)}}}getQueryType(e){const t=new s.Parser({sparqlStar:!0}).parse(e);return"query"===t.type?"DESCRIBE"===t.queryType?"CONSTRUCT":t.queryType:"UNKNOWN"}getUpdateTypes(e){const t=new s.Parser({sparqlStar:!0}).parse(e);if("update"===t.type){const e={};for(const r of t.updates)"type"in r?e[r.type]=!0:e[r.updateType]=!0;return e}return"UNKNOWN"}fetchBindings(e,t){return n(this,void 0,void 0,(function*(){const[r,n]=yield this.fetchRawStream(e,t,d.CONTENTTYPE_SPARQL),i=this.sparqlParsers[r];if(!i)throw new Error(`Unknown SPARQL results content type: ${r}`);return i.parseResultsStream(n)}))}fetchAsk(e,t){return n(this,void 0,void 0,(function*(){const[r,n]=yield this.fetchRawStream(e,t,d.CONTENTTYPE_SPARQL),i=this.sparqlParsers[r];if(!i)throw new Error(`Unknown SPARQL results content type: ${r}`);return i.parseBooleanStream(n)}))}fetchTriples(e,t){return n(this,void 0,void 0,(function*(){const[r,n]=yield this.fetchRawStream(e,t,d.CONTENTTYPE_TURTLE);return n.pipe(new o.StreamParser({format:r}))}))}fetchUpdate(e,t){return n(this,void 0,void 0,(function*(){const r=new AbortController,n={};this.defaultHeaders.forEach(((e,t)=>{n[t]=e}));const i={method:"POST",headers:Object.assign(Object.assign({},n),{"content-type":"application/sparql-update"}),body:t,signal:r.signal};yield this.handleFetchCall(e,i,{ignoreBody:!0}),r.abort()}))}fetchRawStream(e,t,r){return n(this,void 0,void 0,(function*(){let n,i="POST"===this.method?e:`${e}?query=${encodeURIComponent(t)}`;const o=new Headers(this.defaultHeaders);if(o.append("Accept",r),"POST"===this.method){o.append("Content-Type","application/x-www-form-urlencoded"),n=new URLSearchParams,n.set("query",t);for(const[e,t]of this.additionalUrlParams.entries())n.set(e,t);o.append("Content-Length",n.toString().length.toString())}else this.additionalUrlParams.toString().length>0&&(i+=`&${this.additionalUrlParams.toString()}`);return this.handleFetchCall(i,{headers:o,method:this.method,body:n})}))}handleFetchCall(e,t,r){return n(this,void 0,void 0,(function*(){var n,o,s;let c,u;if(this.timeout){const e=new AbortController;t.signal=e.signal,c=setTimeout((()=>e.abort()),this.timeout)}const d=yield(null!==(n=this.fetchCb)&&void 0!==n?n:fetch)(e,t);if(clearTimeout(c),!(null==r?void 0:r.ignoreBody)&&d.body&&(u=i(d.body)?d.body:(0,a.readableFromWeb)(d.body)),!d.ok||!u&&!(null==r?void 0:r.ignoreBody)){const t=e.split("?").at(0),r=u?yield l(u):"empty response";throw new Error(`Invalid SPARQL endpoint response from ${t} (HTTP status ${d.status}):\n${r}`)}return[null!==(s=null===(o=d.headers.get("Content-Type"))||void 0===o?void 0:o.split(";").at(0))&&void 0!==s?s:"",u]}))}}t.SparqlEndpointFetcher=d,d.CONTENTTYPE_SPARQL_JSON="application/sparql-results+json",d.CONTENTTYPE_SPARQL_XML="application/sparql-results+xml",d.CONTENTTYPE_TURTLE="text/turtle",d.CONTENTTYPE_SPARQL=`${d.CONTENTTYPE_SPARQL_JSON};q=1.0,${d.CONTENTTYPE_SPARQL_XML};q=0.7`},30684:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BlankNode:()=>A,DataFactory:()=>E,DefaultGraph:()=>R,EntityIndex:()=>he,Lexer:()=>m,Literal:()=>x,NamedNode:()=>O,Parser:()=>V,Quad:()=>D,Reasoner:()=>_e,Store:()=>fe,StoreFactory:()=>me,StreamParser:()=>Se,StreamWriter:()=>Ee,Term:()=>T,Triple:()=>D,Util:()=>n,Variable:()=>I,Writer:()=>oe,default:()=>Te,getRulesFromDataset:()=>be,termFromId:()=>P,termToId:()=>F});var n={};r.r(n),r.d(n,{inDefaultGraph:()=>J,isBlankNode:()=>G,isDefaultGraph:()=>z,isLiteral:()=>K,isNamedNode:()=>$,isVariable:()=>Q,prefix:()=>W,prefixes:()=>X});var i=r(48287),o=r(79596),a=r.n(o);const s="http://www.w3.org/1999/02/22-rdf-syntax-ns#",c="http://www.w3.org/2001/XMLSchema#",u="http://www.w3.org/2000/10/swap/",l={xsd:{decimal:`${c}decimal`,boolean:`${c}boolean`,double:`${c}double`,integer:`${c}integer`,string:`${c}string`},rdf:{type:`${s}type`,nil:`${s}nil`,first:`${s}first`,rest:`${s}rest`,langString:`${s}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${u}reify#forSome`,forAll:`${u}reify#forAll`},log:{implies:`${u}log#implies`}},{xsd:d}=l,p=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,h={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},f=/[\x00-\x20<>\\"\{\}\|\^\`]/,y={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},g=/$0^/;class m{constructor(e){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,e=e||{},this._lineMode=!!e.lineMode){this._n3Mode=!1;for(const e in this)!(e in y)&&this[e]instanceof RegExp&&(this[e]=g)}else this._n3Mode=!1!==e.n3;this.comments=!!e.comments,this._literalClosingPos=0}_tokenizeToEnd(e,t){let r=this._input,n=r.length;for(;;){let e,a;for(;e=this._newline.exec(r);)this.comments&&(a=this._comment.exec(e[0]))&&i("comment",a[1],"",this._line,e[0].length),r=r.substr(e[0].length,r.length),n=r.length,this._line++;if(!e&&(e=this._whitespace.exec(r))&&(r=r.substr(e[0].length,r.length)),this._endOfFile.test(r))return t&&(this.comments&&(a=this._comment.exec(r))&&i("comment",a[1],"",this._line,r.length),r=null,i("eof","","",this._line,0)),this._input=r;const s=this._line,c=r[0];let u="",l="",p="",h=null,y=0,g=!1;switch(c){case"^":if(r.length<3)break;if("^"!==r[1]){this._n3Mode&&(y=1,u="^");break}if(this._previousMarker="^^",r=r.substr(2),"<"!==r[0]){g=!0;break}case"<":if(h=this._unescapedIri.exec(r))u="IRI",l=h[1];else if(h=this._iri.exec(r)){if(l=this._unescape(h[1]),null===l||f.test(l))return o(this);u="IRI"}else r.length>1&&"<"===r[1]?(u="<<",y=2):this._n3Mode&&r.length>1&&"="===r[1]&&(u="inverse",y=2,l=">");break;case">":r.length>1&&">"===r[1]&&(u=">>",y=2);break;case"_":((h=this._blank.exec(r))||t&&(h=this._blank.exec(`${r} `)))&&(u="blank",p="_",l=h[1]);break;case'"':if(h=this._simpleQuotedString.exec(r))l=h[1];else if(({value:l,matchLength:y}=this._parseLiteral(r)),null===l)return o(this);null===h&&0===y||(u="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(h=this._simpleApostropheString.exec(r))l=h[1];else if(({value:l,matchLength:y}=this._parseLiteral(r)),null===l)return o(this);null===h&&0===y||(u="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(h=this._variable.exec(r))&&(u="var",l=h[0]);break;case"@":"literal"===this._previousMarker&&(h=this._langcode.exec(r))?(u="langcode",l=h[1]):(h=this._keyword.exec(r))&&(u=h[0]);break;case".":if(1===r.length?t:r[1]<"0"||r[1]>"9"){u=".",y=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(h=this._number.exec(r)||t&&(h=this._number.exec(`${r} `)))&&(u="literal",l=h[0],p="string"==typeof h[1]?d.double:"string"==typeof h[2]?d.decimal:d.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(h=this._sparqlKeyword.exec(r))?u=h[0].toUpperCase():g=!0;break;case"f":case"t":(h=this._boolean.exec(r))?(u="literal",l=h[0],p=d.boolean):g=!0;break;case"a":(h=this._shortPredicates.exec(r))?(u="abbreviation",l="a"):g=!0;break;case"=":this._n3Mode&&r.length>1&&(u="abbreviation",">"!==r[1]?(y=1,l="="):(y=2,l=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"}":this._lineMode||(y=1,u=c);break;case"{":!this._lineMode&&r.length>=2&&("|"===r[1]?(u="{|",y=2):(u=c,y=1));break;case"|":r.length>=2&&"}"===r[1]&&(u="|}",y=2);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(h=this._prefix.exec(r))?((h=this._prefixed.exec(r))||t&&(h=this._prefixed.exec(`${r} `)))&&(u="prefixed",p=h[1]||"",l=this._unescape(h[2])):(u="prefix",l=h[1]||"")),"^^"===this._previousMarker)switch(u){case"prefixed":u="type";break;case"IRI":u="typeIRI";break;default:u=""}if(!u)return t||!/^'''|^"""/.test(r)&&/\n|\r/.test(r)?o(this):this._input=r;const m=y||h[0].length,b=i(u,l,p,s,m);this.previousToken=b,this._previousMarker=u,r=r.substr(m,r.length)}function i(t,i,o,a,s){const c=r?n-r.length:n,u={type:t,value:i,prefix:o,line:a,start:c,end:c+s};return e(null,u),u}function o(t){e(t._syntaxError(/^\S*/.exec(r)[0]))}}_unescape(e){let t=!1;const r=e.replace(p,((e,r,n,i)=>{if("string"==typeof r)return String.fromCharCode(Number.parseInt(r,16));if("string"==typeof n){let e=Number.parseInt(n,16);return e<=65535?String.fromCharCode(Number.parseInt(n,16)):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}return i in h?h[i]:(t=!0,"")}));return t?null:r}_parseLiteral(e){if(e.length>=3){const t=e.match(/^(?:"""|"|'''|'|)/)[0],r=t.length;let n=Math.max(this._literalClosingPos,r);for(;(n=e.indexOf(t,n))>0;){let t=0;for(;"\\"===e[n-t-1];)t++;if(t%2==0){const t=e.substring(r,n),i=t.split(/\r\n|\r|\n/).length-1,o=n+r;if(1===r&&0!==i||3===r&&this._lineMode)break;return this._line+=i,{value:this._unescape(t),matchLength:o}}n++}this._literalClosingPos=e.length-r+1}return{value:"",matchLength:0}}_syntaxError(e){this._input=null;const t=new Error(`Unexpected "${e}" on line ${this._line}.`);return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}_readStartingBom(e){return e.startsWith("\ufeff")?e.substr(1):e}tokenize(e,t){if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof t){const e=[];let t;if(this._tokenizeToEnd(((r,n)=>r?t=r:e.push(n)),!0),t)throw t;return e}a()((()=>this._tokenizeToEnd(t,!0)))}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",(e=>{null!==this._input&&0!==e.length&&(this._pendingBuffer&&(e=i.Buffer.concat([this._pendingBuffer,e]),this._pendingBuffer=null),128&e[e.length-1]?this._pendingBuffer=e:(void 0===this._input?this._input=this._readStartingBom("string"==typeof e?e:e.toString()):this._input+=e,this._tokenizeToEnd(t,!1)))})),e.on("end",(()=>{"string"==typeof this._input&&this._tokenizeToEnd(t,!0)})),e.on("error",t)}}const{rdf:b,xsd:_}=l;let v,w=0;const S={namedNode:N,blankNode:j,variable:M,literal:C,defaultGraph:function(){return v},quad:k,triple:k,fromTerm:L,fromQuad:U},E=S;class T{constructor(e){this.id=e}get value(){return this.id}equals(e){return e instanceof T?this.id===e.id:!!e&&this.termType===e.termType&&this.value===e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}class O extends T{get termType(){return"NamedNode"}}class x extends T{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const e=this.id;let t=e.lastIndexOf('"')+1;return t0?"INF":"-INF")))),""===r||r===_.string?new x(`"${e}"`):new x(`"${e}"^^${r}`)}function M(e){return new I(e)}function k(e,t,r,n){return new D(e,t,r,n)}function L(e){if(e instanceof T)return e;switch(e.termType){case"NamedNode":return N(e.value);case"BlankNode":return j(e.value);case"Variable":return M(e.value);case"DefaultGraph":return v;case"Literal":return C(e.value,e.language||e.datatype);case"Quad":return U(e);default:throw new Error(`Unexpected termType: ${e.termType}`)}}function U(e){if(e instanceof D)return e;if("Quad"!==e.termType)throw new Error(`Unexpected termType: ${e.termType}`);return k(L(e.subject),L(e.predicate),L(e.object),L(e.graph))}let B=0;class V{constructor(e){this._contextStack=[],this._graph=null,e=e||{},this._setBase(e.baseIRI),e.factory&&H(this,e.factory);const t="string"==typeof e.format?e.format.match(/\w*$/)[0].toLowerCase():"",r=/turtle/.test(t),n=/trig/.test(t),i=/triple/.test(t),o=/quad/.test(t),a=this._n3Mode=/n3/.test(t),s=i||o;(this._supportsNamedGraphs=!(r||a))||(this._readPredicateOrNamedGraph=this._readPredicate),this._supportsQuads=!(r||n||i||a),this._supportsRDFStar=""===t||/star|\*$/.test(t),s&&(this._resolveRelativeIRI=e=>null),this._blankNodePrefix="string"!=typeof e.blankNodePrefix?"":e.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=e.lexer||new m({lineMode:s,n3:a}),this._explicitQuantifiers=!!e.explicitQuantifiers}static _resetBlankNodePrefix(){B=0}_setBase(e){if(e){const t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}_saveContext(e,t,r,n,i){const o=this._n3Mode;this._contextStack.push({type:e,subject:r,predicate:n,object:i,graph:t,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.value}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(e,t){const r=this._contextStack.pop();if(!r||r.type!==e)return this._error(`Unexpected ${t.type}`,t);this._subject=r.subject,this._predicate=r.predicate,this._object=r.object,this._graph=r.graph,this._n3Mode&&(this._inversePredicate=r.inverse,this._prefixes._=r.blankPrefix,this._quantified=r.quantified)}_readInTopContext(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}_readEntity(e,t){let r;switch(e.type){case"IRI":case"typeIRI":const t=this._resolveIRI(e.value);if(null===t)return this._error("Invalid IRI",e);r=this._namedNode(t);break;case"type":case"prefixed":const n=this._prefixes[e.prefix];if(void 0===n)return this._error(`Undefined prefix "${e.prefix}:"`,e);r=this._namedNode(n+e.value);break;case"blank":r=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":r=this._variable(e.value.substr(1));break;default:return this._error(`Expected entity but got ${e.type}`,e)}return!t&&this._n3Mode&&r.id in this._quantified&&(r=this._quantified[r.id]),r}_readSubject(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(e){const t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${t}`,e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}_readObject(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF-star syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}_readGraph(e){return"{"!==e.type?this._error(`Expected graph but got ${e.type}`,e):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}_readBlankNodeTail(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const t=null===this._predicate;return this._restoreContext("blank",e),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}_readListItem(e){let t=null,r=null,n=this._readListItem;const i=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,r=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),n=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,r=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext("list",e),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(n=this._readPredicate,this._subject===this.RDF_NIL)return n}else if(n=this._getContextEndReader(),this._object===this.RDF_NIL)return n;r=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,n=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),n=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===r&&(this._subject=r=this._blankNode()),null===i?null===a.predicate?a.subject=r:a.object=r:this._emit(i,this.RDF_REST,r,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,r,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(r,this.RDF_FIRST,t,this._graph)}return n}_readDataTypeOrLang(e){return this._completeObjectLiteral(e,!1)}_readListItemDataTypeOrLang(e){return this._completeObjectLiteral(e,!0)}_completeLiteral(e){let t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":const r=this._readEntity(e);if(void 0===r)return;t=this._literal(this._literalValue,r),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}_completeSubjectLiteral(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(e,t){const r=this._completeLiteral(e);if(r)return this._object=r.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===r.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(r.token))}_readFormulaTail(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext("formula",e),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(e){let t,r=this._graph;const n=this._subject,i=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,i&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;case"{|":if(!this._supportsRDFStar)return this._error("Unexpected RDF-star syntax",e);const o=this._predicate,a=this._object;this._subject=this._quad(n,o,a,this.DEFAULTGRAPH),t=this._readPredicate;break;case"|}":if("Quad"!==this._subject.termType)return this._error("Unexpected asserted triple closing",e);this._subject=null,t=this._readPunctuation;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(r=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}if(null!==n){const e=this._predicate,t=this._object;i?this._emit(t,e,n,r):this._emit(n,e,t,r)}return t}_readBlankNodePunctuation(e){let t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}_readQuadPunctuation(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}_readPrefix(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}_readPrefixIRI(e){if("IRI"!==e.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,e);const t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}_readBaseIRI(e){const t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}_readNamedGraphLabel(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}_readNamedGraphBlankLabel(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}_readQuantifierList(e){let t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error(`Unexpected ${e.type}`,e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}_getPathReader(e){return this._afterPath=e,this._readPath}_readPath(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const t=this._contextStack,r=t.length&&t[t.length-1];if(r&&"item"===r.type){const t=this._subject;this._restoreContext("item",e),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(e)}}_readForwardPath(e){let t,r;const n=this._blankNode();if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=n):(t=this._object,this._object=n),this._emit(t,r,n,this._graph),this._readPath}_readBackwardPath(e){const t=this._blankNode();let r,n;if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=t):(n=this._object,this._object=t),this._emit(t,r,n,this._graph),this._readPath}_readRDFStarTailOrGraph(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,e):this._readRDFStarTail(e)}_readRDFStarTail(e){if(">>"!==e.type)return this._error(`Expected >> but got ${e.type}`,e);const t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext("<<",e),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}_getContextEndReader(){const e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(e,t,r,n){this._callback(null,this._quad(e,t,r,n||this.DEFAULTGRAPH))}_error(e,t){const r=new Error(`${e} on line ${t.line}.`);r.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(r),this._callback=q}_resolveIRI(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}_resolveRelativeIRI(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}_removeDotSegments(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;const t=e.length;let r="",n=-1,i=-1,o=0,a="/";for(;n=i&&(r=r.substr(0,o)),"/"!==a)return`${r}/${e.substr(n+1)}`;o=n+1}}}a=e[++n]}return r+e.substring(o)}parse(e,t,r){let n,i,o;if(t&&(t.onQuad||t.onPrefix||t.onComment)?(n=t.onQuad,i=t.onPrefix,o=t.onComment):(n=t,i=r),this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${B++}_`,this._prefixCallback=i||q,this._inversePredicate=!1,this._quantified=Object.create(null),!n){const t=[];let r;if(this._callback=(e,n)=>{e?r=e:n&&t.push(n)},this._lexer.tokenize(e).every((e=>this._readCallback=this._readCallback(e))),r)throw r;return t}let a=(e,t)=>{null!==e?(this._callback(e),this._callback=q):this._readCallback&&(this._readCallback=this._readCallback(t))};o&&(this._lexer.comments=!0,a=(e,t)=>{null!==e?(this._callback(e),this._callback=q):this._readCallback&&("comment"===t.type?o(t.value):this._readCallback=this._readCallback(t))}),this._callback=n,this._lexer.tokenize(e,a)}}function q(){}function H(e,t){const r=t.namedNode;e._namedNode=r,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=r(l.rdf.first),e.RDF_REST=r(l.rdf.rest),e.RDF_NIL=r(l.rdf.nil),e.N3_FORALL=r(l.r.forAll),e.N3_FORSOME=r(l.r.forSome),e.ABBREVIATIONS={a:r(l.rdf.type),"=":r(l.owl.sameAs),">":r(l.log.implies)},e.QUANTIFIERS_GRAPH=r("urn:n3:quantifiers")}function $(e){return!!e&&"NamedNode"===e.termType}function G(e){return!!e&&"BlankNode"===e.termType}function K(e){return!!e&&"Literal"===e.termType}function Q(e){return!!e&&"Variable"===e.termType}function z(e){return!!e&&"DefaultGraph"===e.termType}function J(e){return z(e.graph)}function W(e,t){return X({"":e.value||e},t)("")}function X(e,t){const r=Object.create(null);for(const t in e)n(t,e[t]);function n(e,n){if("string"==typeof n){const i=Object.create(null);r[e]=e=>i[e]||(i[e]=t.namedNode(n+e))}else if(!(e in r))throw new Error(`Unknown prefix: ${e}`);return r[e]}return t=t||E,n}H(V.prototype,E);const Y=E.defaultGraph(),{rdf:Z,xsd:ee}=l,te=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,re=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,ne={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class ie extends T{equals(e){return e===this}}class oe{constructor(e,t){if(this._prefixRegex=/$0^/,e&&"function"!=typeof e.write&&(t=e,e=null),t=t||{},this._lists=t.lists,e)this._outputStream=e,this._endStream=void 0===t.end||!!t.end;else{let e="";this._outputStream={write(t,r,n){e+=t,n&&n()},end:t=>{t&&t(null,e)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(t.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=Y,this._prefixIRIs=Object.create(null),t.prefixes&&this.addPrefixes(t.prefixes),t.baseIRI&&(this._baseMatcher=new RegExp(`^${se(t.baseIRI)}${t.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=t.baseIRI.length))}get _inDefaultGraph(){return Y.equals(this._graph)}_write(e,t){this._outputStream.write(e,"utf8",t)}_writeQuad(e,t,r,n,i){try{n.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(Y.equals(n)?"":`${this._encodeIriOrBlank(n)} {\n`)),this._graph=n,this._subject=null),e.equals(this._subject)?t.equals(this._predicate)?this._write(`, ${this._encodeObject(r)}`,i):this._write(`;\n ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=e)} ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i)}catch(e){i&&i(e)}}_writeQuadLine(e,t,r,n,i){delete this._prefixMatch,this._write(this.quadToString(e,t,r,n),i)}quadToString(e,t,r,n){return`${this._encodeSubject(e)} ${this._encodeIriOrBlank(t)} ${this._encodeObject(r)}${n&&n.value?` ${this._encodeIriOrBlank(n)} .\n`:" .\n"}`}quadsToString(e){let t="";for(const r of e)t+=this.quadToString(r.subject,r.predicate,r.object,r.graph);return t}_encodeSubject(e){return"Quad"===e.termType?this._encodeQuad(e):this._encodeIriOrBlank(e)}_encodeIriOrBlank(e){if("NamedNode"!==e.termType)return this._lists&&e.value in this._lists&&(e=this.list(this._lists[e.value])),"id"in e?e.id:`_:${e.value}`;let t=e.value;this._baseMatcher&&this._baseMatcher.test(t)&&(t=t.substr(this._baseLength)),te.test(t)&&(t=t.replace(re,ae));const r=this._prefixRegex.exec(t);return r?r[1]?this._prefixIRIs[r[1]]+r[2]:t:`<${t}>`}_encodeLiteral(e){let t=e.value;if(te.test(t)&&(t=t.replace(re,ae)),e.language)return`"${t}"@${e.language}`;if(this._lineMode){if(e.datatype.value===ee.string)return`"${t}"`}else switch(e.datatype.value){case ee.string:return`"${t}"`;case ee.boolean:if("true"===t||"false"===t)return t;break;case ee.integer:if(/^[+-]?\d+$/.test(t))return t;break;case ee.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case ee.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return`"${t}"^^${this._encodeIriOrBlank(e.datatype)}`}_encodePredicate(e){return e.value===Z.type?"a":this._encodeIriOrBlank(e)}_encodeObject(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}_encodeQuad({subject:e,predicate:t,object:r,graph:n}){return`<<${this._encodeSubject(e)} ${this._encodePredicate(t)} ${this._encodeObject(r)}${z(n)?"":` ${this._encodeIriOrBlank(n)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(e,t,r,n,i){void 0===r?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof n?this._writeQuad(e,t,r,Y,n):this._writeQuad(e,t,r,n||Y,i)}addQuads(e){for(let t=0;t.\n`)}if(r){let e="",t="";for(const r in this._prefixIRIs)e+=e?`|${r}`:r,t+=(t?"|":"")+this._prefixIRIs[r];e=se(e),this._prefixRegex=new RegExp(`^(?:${t})[^/]*$|^(${e})([_a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(r?"\n":"",t)}blank(e,t){let r,n,i=e;switch(void 0===e?i=[]:e.termType?i=[{predicate:e,object:t}]:"length"in e||(i=[e]),n=i.length){case 0:return new ie("[]");case 1:if(r=i[0],!(r.object instanceof ie))return new ie(`[ ${this._encodePredicate(r.predicate)} ${this._encodeObject(r.object)} ]`);default:let t="[";for(let o=0;o{t=null,e(r,n)});if(this._endStream)try{return this._outputStream.end(t)}catch(e){}t&&t()}}function ae(e){let t=ne[e];return void 0===t&&(1===e.length?(t=e.charCodeAt(0).toString(16),t="\\u0000".substr(0,6-t.length)+t):(t=(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)+9216).toString(16),t="\\U00000000".substr(0,10-t.length)+t)),t}function se(e){return e.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}var ce=r(19198);const ue=Symbol("iter");function le(e,t,r=4){if(0===r)return Object.assign(e,t);for(const n in t)e[n]=le(e[n]||Object.create(null),t[n],r-1);return e}function de(e,t,r=4){let n=!1;for(const i in e)if(i in t){const o=0===r?null:de(e[i],t[i],r-1);if(!1!==o)n=n||Object.create(null),n[i]=o;else if(3===r)return!1}return n}function pe(e,t,r=4){let n=!1;for(const i in e)if(i in t){if(0!==r){const o=pe(e[i],t[i],r-1);if(!1!==o)n=n||Object.create(null),n[i]=o;else if(3===r)return!1}}else n=n||Object.create(null),n[i]=0===r?null:le({},e[i],r-1);return n}class he{constructor(e={}){this._id=1,this._ids=Object.create(null),this._ids[""]=1,this._entities=Object.create(null),this._entities[1]="",this._blankNodeIndex=0,this._factory=e.factory||E}_termFromId(e){if("."===e[0]){const t=this._entities,r=e.split(".");return this._factory.quad(this._termFromId(t[r[1]]),this._termFromId(t[r[2]]),this._termFromId(t[r[3]]),r[4]&&this._termFromId(t[r[4]]))}return P(e,this._factory)}_termToNumericId(e){if("Quad"===e.termType){const t=this._termToNumericId(e.subject),r=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object);let i;return t&&r&&n&&(z(e.graph)||(i=this._termToNumericId(e.graph)))&&this._ids[i?`.${t}.${r}.${n}.${i}`:`.${t}.${r}.${n}`]}return this._ids[F(e)]}_termToNewNumericId(e){const t=e&&"Quad"===e.termType?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${z(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:F(e);return this._ids[t]||(this._ids[this._entities[++this._id]=t]=this._id)}createBlankNode(e){let t,r;if(e)for(t=e=`_:${e}`,r=1;this._ids[t];)t=e+r++;else do{t="_:b"+this._blankNodeIndex++}while(this._ids[t]);return this._ids[t]=++this._id,this._entities[this._id]=t,this._factory.blankNode(t.substr(2))}}class fe{constructor(e,t){this._size=0,this._graphs=Object.create(null),t||!e||e[0]||(t=e,e=null),t=t||{},this._factory=t.factory||E,this._entityIndex=t.entityIndex||new he({factory:this._factory}),this._entities=this._entityIndex._entities,this._termFromId=this._entityIndex._termFromId.bind(this._entityIndex),this._termToNumericId=this._entityIndex._termToNumericId.bind(this._entityIndex),this._termToNewNumericId=this._entityIndex._termToNewNumericId.bind(this._entityIndex),e&&this.addQuads(e)}get size(){let e=this._size;if(null!==e)return e;e=0;const t=this._graphs;let r,n;for(const i in t)for(const o in r=t[i].subjects)for(const t in n=r[o])e+=Object.keys(n[t]).length;return this._size=e}_addToIndex(e,t,r,n){const i=e[t]||(e[t]={}),o=i[r]||(i[r]={}),a=n in o;return a||(o[n]=null),!a}_removeFromIndex(e,t,r,n){const i=e[t],o=i[r];delete o[n];for(const e in o)return;delete i[r];for(const e in i)return;delete e[t]}*_findInIndex(e,t,r,n,i,o,a,s){let c,u,l;const d=this._entities,p=this._termFromId(d[s]),h={subject:null,predicate:null,object:null};t&&((c=e,e={})[t]=c[t]);for(const t in e)if(u=e[t]){h[i]=this._termFromId(d[t]),r&&((c=u,u={})[r]=c[r]);for(const e in u)if(l=u[e]){h[o]=this._termFromId(d[e]);const t=n?n in l?[n]:[]:Object.keys(l);for(let e=0;e{r in t||(t[r]=!0,e(this._termFromId(this._entities[r],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,t,r,n){t||(n=e.graph,r=e.object,t=e.predicate,e=e.subject),n=n?this._termToNewNumericId(n):1;let i=this._graphs[n];return i||(i=this._graphs[n]={subjects:{},predicates:{},objects:{}},Object.freeze(i)),e=this._termToNewNumericId(e),t=this._termToNewNumericId(t),r=this._termToNewNumericId(r),!!this._addToIndex(i.subjects,e,t,r)&&(this._addToIndex(i.predicates,t,r,e),this._addToIndex(i.objects,r,e,t),this._size=null,!0)}addQuads(e){for(let t=0;t{this.addQuad(e)})),e}removeQuad(e,t,r,n){t||({subject:e,predicate:t,object:r,graph:n}=e),n=n?this._termToNumericId(n):1;const i=this._graphs;let o,a,s;if(!((e=e&&this._termToNumericId(e))&&(t=t&&this._termToNumericId(t))&&(r=r&&this._termToNumericId(r))&&(o=i[n])&&(a=o.subjects[e])&&(s=a[t])&&r in s))return!1;for(e in this._removeFromIndex(o.subjects,e,t,r),this._removeFromIndex(o.predicates,t,r,e),this._removeFromIndex(o.objects,r,e,t),null!==this._size&&this._size--,o.subjects)return!0;return delete i[n],!0}removeQuads(e){for(let t=0;t{this.removeQuad(e)})),e}removeMatches(e,t,r,n){const i=new ce.Readable({objectMode:!0}),o=this.readQuads(e,t,r,n);return i._read=e=>{for(;--e>=0;){const{done:e,value:t}=o.next();if(e)return void i.push(null);i.push(t)}},this.remove(i)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,t,r,n){return[...this.readQuads(e,t,r,n)]}*readQuads(e,t,r,n){const i=this._getGraphs(n);let o,a,s,c;if(!(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r))))for(const e in i)(o=i[e])&&(a?c?yield*this._findInIndex(o.objects,c,a,s,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,a,s,null,"subject","predicate","object",e):s?yield*this._findInIndex(o.predicates,s,c,null,"predicate","object","subject",e):c?yield*this._findInIndex(o.objects,c,null,null,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",e))}match(e,t,r,n){return new ge(this,e,t,r,n,{entityIndex:this._entityIndex})}countQuads(e,t,r,n){const i=this._getGraphs(n);let o,a,s,c,u=0;if(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r)))return 0;for(const n in i)(o=i[n])&&(u+=e?r?this._countInIndex(o.objects,c,a,s):this._countInIndex(o.subjects,a,s,c):t?this._countInIndex(o.predicates,s,c,a):this._countInIndex(o.objects,c,a,s));return u}forEach(e,t,r,n,i){this.some((t=>(e(t,this),!1)),t,r,n,i)}every(e,t,r,n,i){return!this.some((t=>!e(t,this)),t,r,n,i)}some(e,t,r,n,i){for(const o of this.readQuads(t,r,n,i))if(e(o))return!0;return!1}getSubjects(e,t,r){const n=[];return this.forSubjects((e=>{n.push(e)}),e,t,r),n}forSubjects(e,t,r,n){const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.predicates,a,s,e):this._loopByKey1(o.subjects,a,e):s?this._loopByKey0(o.objects,s,e):this._loop(o.subjects,e))}getPredicates(e,t,r){const n=[];return this.forPredicates((e=>{n.push(e)}),e,t,r),n}forPredicates(e,t,r,n){const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.objects,s,a,e):this._loopByKey0(o.subjects,a,e):s?this._loopByKey1(o.predicates,s,e):this._loop(o.predicates,e))}getObjects(e,t,r){const n=[];return this.forObjects((e=>{n.push(e)}),e,t,r),n}forObjects(e,t,r,n){const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.subjects,a,s,e):this._loopByKey1(o.objects,a,e):s?this._loopByKey0(o.predicates,s,e):this._loop(o.objects,e))}getGraphs(e,t,r){const n=[];return this.forGraphs((e=>{n.push(e)}),e,t,r),n}forGraphs(e,t,r,n){for(const i in this._graphs)this.some((t=>(e(t.graph),!0)),t,r,n,this._termFromId(this._entities[i]))}createBlankNode(e){return this._entityIndex.createBlankNode(e)}extractLists({remove:e=!1,ignoreErrors:t=!1}={}){const r={},n=t?()=>!0:(e,t)=>{throw new Error(`${e.value} ${t}`)},i=this.getQuads(null,l.rdf.rest,l.rdf.nil,null),o=e?[...i]:[];return i.forEach((t=>{const i=[];let a,s,c=!1;const u=t.graph;let d=t.subject;for(;d&&!c;){const e=this.getQuads(null,null,d,null),t=this.getQuads(d,null,null,null);let r,p=null,h=null,f=null;for(let i=0;ithis.has(e)));const t=this._graphs,r=e._graphs;let n,i,o,a,s;for(const e in r){if(!(n=t[e]))return!1;n=n.subjects;for(const t in i=r[e].subjects){if(!(o=n[t]))return!1;for(const e in a=i[t]){if(!(s=o[e]))return!1;for(const t in a[e])if(!(t in s))return!1}}}return!0}deleteMatches(e,t,r,n){for(const i of this.match(e,t,r,n))this.removeQuad(i);return this}difference(e){if(e&&e instanceof ge&&(e=e.filtered),e===this)return new fe({entityIndex:this._entityIndex});if(e instanceof fe&&e._entityIndex===this._entityIndex){const t=new fe({entityIndex:this._entityIndex}),r=pe(this._graphs,e._graphs);return r&&(t._graphs=r,t._size=null),t}return this.filter((t=>!e.has(t)))}equals(e){return e instanceof ge&&(e=e.filtered),e===this||this.size===e.size&&this.contains(e)}filter(e){const t=new fe({entityIndex:this._entityIndex});for(const r of this)e(r,this)&&t.add(r);return t}intersection(e){if(e instanceof ge&&(e=e.filtered),e===this){const e=new fe({entityIndex:this._entityIndex});return e._graphs=le(Object.create(null),this._graphs),e._size=this._size,e}if(e instanceof fe&&this._entityIndex===e._entityIndex){const t=new fe({entityIndex:this._entityIndex}),r=de(e._graphs,this._graphs);return r&&(t._graphs=r,t._size=null),t}return this.filter((t=>e.has(t)))}map(e){const t=new fe({entityIndex:this._entityIndex});for(const r of this)t.add(e(r,this));return t}reduce(e,t){const r=this.readQuads();let n=void 0===t?r.next().value:t;for(const t of r)n=e(n,t,this);return n}toArray(){return this.getQuads()}toCanonical(){throw new Error("not implemented")}toStream(){return this.match()}toString(){return(new oe).quadsToString(this)}union(e){const t=new fe({entityIndex:this._entityIndex});return t._graphs=le(Object.create(null),this._graphs),t._size=this._size,t.addAll(e),t}*[Symbol.iterator](){yield*this.readQuads()}}function ye(e,t,r=0){const n=t[r];if(n&&!(n in e))return!1;let i=!1;for(const o in n?{[n]:e[n]}:e){const n=2===r?null:ye(e[o],t,r+1);!1!==n&&(i=i||Object.create(null),i[o]=n)}return i}class ge extends ce.Readable{constructor(e,t,r,n,i,o){super({objectMode:!0}),Object.assign(this,{n3Store:e,subject:t,predicate:r,object:n,graph:i,options:o})}get filtered(){if(!this._filtered){const{n3Store:e,graph:t,object:r,predicate:n,subject:i}=this,o=this._filtered=new fe({factory:e._factory,entityIndex:this.options.entityIndex});let a,s,c;if(i&&!(a=o._termToNumericId(i))||n&&!(s=o._termToNumericId(n))||r&&!(c=o._termToNumericId(r)))return o;const u=e._getGraphs(t);for(const e in u){let t,r,n;!a&&s?(r=ye(u[e].predicates,[s,c,a]))&&(t=ye(u[e].subjects,[a,s,c]),n=ye(u[e].objects,[c,a,s])):c?(n=ye(u[e].objects,[c,a,s]))&&(t=ye(u[e].subjects,[a,s,c]),r=ye(u[e].predicates,[s,c,a])):(t=ye(u[e].subjects,[a,s,c]))&&(r=ye(u[e].predicates,[s,c,a]),n=ye(u[e].objects,[c,a,s])),t&&(o._graphs[e]={subjects:t,predicates:r,objects:n})}o._size=null}return this._filtered}get size(){return this.filtered.size}_read(e){e>0&&!this[ue]&&(this[ue]=this[Symbol.iterator]());const t=this[ue];for(;--e>=0;){const{done:e,value:r}=t.next();if(e)return void this.push(null);this.push(r)}}addAll(e){return this.filtered.addAll(e)}contains(e){return this.filtered.contains(e)}deleteMatches(e,t,r,n){return this.filtered.deleteMatches(e,t,r,n)}difference(e){return this.filtered.difference(e)}equals(e){return this.filtered.equals(e)}every(e,t,r,n,i){return this.filtered.every(e,t,r,n,i)}filter(e){return this.filtered.filter(e)}forEach(e,t,r,n,i){return this.filtered.forEach(e,t,r,n,i)}import(e){return this.filtered.import(e)}intersection(e){return this.filtered.intersection(e)}map(e){return this.filtered.map(e)}some(e,t,r,n,i){return this.filtered.some(e,t,r,n,i)}toCanonical(){return this.filtered.toCanonical()}toStream(){return this._filtered?this._filtered.toStream():this.n3Store.match(this.subject,this.predicate,this.object,this.graph)}union(e){return this._filtered?this._filtered.union(e):this.n3Store.match(this.subject,this.predicate,this.object,this.graph).addAll(e)}toArray(){return this._filtered?this._filtered.toArray():this.n3Store.getQuads(this.subject,this.predicate,this.object,this.graph)}reduce(e,t){return this.filtered.reduce(e,t)}toString(){return(new oe).quadsToString(this)}add(e){return this.filtered.add(e)}delete(e){return this.filtered.delete(e)}has(e){return this.filtered.has(e)}match(e,t,r,n){return new ge(this.filtered,e,t,r,n,this.options)}*[Symbol.iterator](){yield*this._filtered||this.n3Store.readQuads(this.subject,this.predicate,this.object,this.graph)}}class me{dataset(e){return new fe(e)}}function be(e){const t=[];for(const{subject:r,object:n}of e.match(null,E.namedNode("http://www.w3.org/2000/10/swap/log#implies"),null,E.defaultGraph())){const i=[...e.match(null,null,null,r)],o=[...e.match(null,null,null,n)];t.push({premise:i,conclusion:o})}return t}class _e{constructor(e){this._store=e}_add(e,t,r,n,i){this._store._addToIndex(n.subjects,e,t,r)&&(this._store._addToIndex(n.predicates,t,r,e),this._store._addToIndex(n.objects,r,e,t),i())}_evaluatePremise(e,t,r,n=0){let i,o,a,s,c;const[u,l,d]=e.premise[n].value,p=t[e.premise[n].content],h=!(a=u.value);for(a in h?p:{[a]:p[a]})if(s=p[a]){for(a in h&&(u.value=Number(a)),i=!(a=l.value),i?s:{[a]:s[a]})if(c=s[a]){for(a in i&&(l.value=Number(a)),o=!(a=d.value),o?c:{[a]:c[a]})o&&(d.value=Number(a)),n===e.premise.length-1?e.conclusion.forEach((e=>{this._add(e.subject.value,e.predicate.value,e.object.value,t,(()=>{r(e)}))})):this._evaluatePremise(e,t,r,n+1);o&&(d.value=null)}i&&(l.value=null)}h&&(u.value=null)}_evaluateRules(e,t,r){for(let n=0;n{r.push([e.subject.value,e.predicate.value,e.object.value,t])}))}const i=e=>{e.forEach((e=>{this._add(e.subject.value,e.predicate.value,e.object.value,t,(()=>{n(e)}))}))};let o;for(this._evaluateRules(e,t,n);void 0!==(o=r.pop());){const[e,r,a,s]=o,c=s.basePremise.subject.value;c||(s.basePremise.subject.value=e);const u=s.basePremise.predicate.value;u||(s.basePremise.predicate.value=r);const l=s.basePremise.object.value;l||(s.basePremise.object.value=a),0===s.premise.length?i(s.conclusion):this._evaluatePremise(s,t,n),c||(s.basePremise.subject.value=null),u||(s.basePremise.predicate.value=null),l||(s.basePremise.object.value=null)}}_createRule({premise:e,conclusion:t}){const r={},n=e=>"Variable"===e.termType?r[e.value]=r[e.value]||{}:{value:this._store._termToNewNumericId(e)},i=e=>({subject:n(e.subject),predicate:n(e.predicate),object:n(e.object)});return{premise:e.map((e=>i(e))),conclusion:t.map((e=>i(e))),variables:Object.values(r)}}reason(e){Array.isArray(e)||(e=be(e)),e=e.map((e=>this._createRule(e)));for(const t of e)for(const r of e)for(let e=0;e{e.value=null}))}}for(const t of e){const e=new Set;t.premise=t.premise.map((t=>ve(t,e)))}const t=this._store._getGraphs();for(const r in t)this._reasonGraphNaive(e,t[r]);this._store._size=null}}function ve({subject:e,predicate:t,object:r},n){const i=e.value||n.has(e)||(n.add(e),!1),o=t.value||n.has(t)||(n.add(t),!1),a=r.value||n.has(r)||(n.add(r),!1);return!i&&o?{content:"predicates",value:[t,r,e]}:a?{content:"objects",value:[r,e,t]}:{content:"subjects",value:[e,t,r]}}function we(e,t){return null===e.value&&(e.value=t.value),e.value===t.value}class Se extends ce.Transform{constructor(e){super({decodeStrings:!0}),this._readableState.objectMode=!0;const t=new V(e);let r,n;const i={onQuad:(e,t)=>{e&&this.emit("error",e)||t&&this.push(t)},onPrefix:(e,t)=>{this.emit("prefix",e,t)}};e&&e.comments&&(i.onComment=e=>{this.emit("comment",e)}),t.parse({on:(e,t)=>{switch(e){case"data":r=t;break;case"end":n=t}}},i),this._transform=(e,t,n)=>{r(e),n()},this._flush=e=>{n(),e()}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),this}}class Ee extends ce.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0});const t=this._writer=new oe({write:(e,t,r)=>{this.push(e),r&&r()},end:e=>{this.push(null),e&&e()}},e);this._transform=(e,r,n)=>{t.addQuad(e,n)},this._flush=e=>{t.end(e)}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),e.on("prefix",((e,t)=>{this._writer.addPrefix(e,t)})),this}}const Te={Lexer:m,Parser:V,Writer:oe,Store:fe,StoreFactory:me,EntityIndex:he,StreamParser:Se,StreamWriter:Ee,Util:n,Reasoner:_e,DataFactory:E,Term:T,NamedNode:O,Literal:x,BlankNode:A,Variable:I,DefaultGraph:R,Quad:D,Triple:D,termFromId:P,termToId:F}},51915:e=>{function t(e){this._options=e=e||{};var t=e.prefixes||{};this._prefixByIri={};var r=[];for(var n in t){var i=t[n];a(i)&&(this._prefixByIri[i]=n,r.push(i))}var o=r.join("|").replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&");this._prefixRegex=new RegExp("^("+o+")([a-zA-Z][\\-_a-zA-Z0-9]*)$"),this._usedPrefixes={},this._sparqlStar=e.sparqlStar,this._indent=a(e.indent)?e.indent:" ",this._newline=a(e.newline)?e.newline:"\n",this._explicitDatatype=Boolean(e.explicitDatatype)}t.prototype.toQuery=function(e){var t="";return e.queryType&&(t+=e.queryType.toUpperCase()+" "),e.reduced&&(t+="REDUCED "),e.distinct&&(t+="DISTINCT "),e.variables?t+=u(e.variables,void 0,(function(e){return/^[?$]/.test(e)?e:s(e)?this.toEntity(e):"("+this.toExpression(e.expression)+" AS "+o(e.variable)+")"}),this)+" ":e.template&&(t+=this.group(e.template,!0)+this._newline),e.from&&(t+=this.graphs("FROM ",e.from.default)+this.graphs("FROM NAMED ",e.from.named)),e.where&&(t+="WHERE "+this.group(e.where,!0)+this._newline),e.updates&&(t+=u(e.updates,";"+this._newline,this.toUpdate,this)),e.group&&(t+="GROUP BY "+u(e.group,void 0,(function(e){var t=s(e.expression)?this.toEntity(e.expression):"("+this.toExpression(e.expression)+")";return e.variable?"("+t+" AS "+o(e.variable)+")":t}),this)+this._newline),e.having&&(t+="HAVING ("+u(e.having,void 0,this.toExpression,this)+")"+this._newline),e.order&&(t+="ORDER BY "+u(e.order,void 0,(function(e){var t="("+this.toExpression(e.expression)+")";return e.descending?"DESC "+t:t}),this)+this._newline),e.offset&&(t+="OFFSET "+e.offset+this._newline),e.limit&&(t+="LIMIT "+e.limit+this._newline),e.values&&(t+=this.values(e)),(t=this.baseAndPrefixes(e)+t).trim()},t.prototype.baseAndPrefixes=function(e){var t=e.base?"BASE <"+e.base+">"+this._newline:"",r="";for(var n in e.prefixes)(this._options.allPrefixes||this._usedPrefixes[n])&&(r+="PREFIX "+n+": <"+e.prefixes[n]+">"+this._newline);return t+r},t.prototype.toPattern=function(e){var t=e.type||e instanceof Array&&"array"||(e.subject&&e.predicate&&e.object?"triple":"");if(!(t in this))throw new Error("Unknown entry type: "+t);return this[t](e)},t.prototype.triple=function(e){return this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+"."},t.prototype.array=function(e){return u(e,this._newline,this.toPattern,this)},t.prototype.bgp=function(e){return this.encodeTriples(e.triples)},t.prototype.encodeTriples=function(e){if(!e.length)return"";for(var t=[],r=void 0,n=void 0,i=0;i":case">=":case"<=":case"&&":case"||":case"=":case"!=":case"+":case"-":case"*":case"/":return(s(i[0])?this.toEntity(i[0]):"("+this.toExpression(i[0])+")")+" "+t+" "+(s(i[1])?this.toEntity(i[1]):"("+this.toExpression(i[1])+")");case"!":return"!("+this.toExpression(i[0])+")";case"uplus":return"+("+this.toExpression(i[0])+")";case"uminus":return"-("+this.toExpression(i[0])+")";case"notin":t="NOT IN";case"in":return this.toExpression(i[0])+" "+t+"("+(a(i[1])?i[1]:u(i[1],", ",this.toExpression,this))+")";case"notexists":t="NOT EXISTS";case"exists":return t+" "+this.group(i[0],!0);default:return t+"("+u(i,", ",this.toExpression,this)+")"}default:throw new Error("Unknown expression type: "+e.type)}},t.prototype.toEntity=function(e){if(s(e))switch(e.termType){case"Wildcard":return"*";case"Variable":return o(e);case"BlankNode":return"_:"+e.value;case"Literal":var t=e.value||"",i=e.language||"",a=e.datatype;if(e='"'+t.replace(r,n)+'"',i)e+="@"+i;else if(a){if(!this._explicitDatatype)switch(a.value){case"http://www.w3.org/2001/XMLSchema#string":return e;case"http://www.w3.org/2001/XMLSchema#integer":if(/^\d+$/.test(t))return t+" "}e+="^^"+this.encodeIRI(a.value)}return e;case"Quad":if(!this._sparqlStar)throw new Error("SPARQL* support is not enabled");return e.graph&&"DefaultGraph"!==e.graph.termType?"<< GRAPH "+this.toEntity(e.graph)+" { "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" } >>":"<< "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" >>";default:return this.encodeIRI(e.value)}else{var c=e.items.map(this.toEntity,this),u=e.pathType;switch(u){case"^":case"!":return u+c[0];case"*":case"+":case"?":return"("+c[0]+u+")";default:return"("+c.join(u)+")"}}};var r=/["\\\t\n\r\b\f]/g,n=function(e){return i[e]},i={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};function o(e){return"?"+e.value}function a(e){return"string"==typeof e}function s(e){return"string"==typeof e.termType}function c(e,t){if(!e||!s(e))return!1;if(!t||!s(t))return!1;if(e.termType!==t.termType)return!1;switch(e.termType){case"Literal":return e.value===t.value&&e.language===t.language&&c(e.datatype,t.datatype);case"Quad":return c(e.subject,t.subject)&&c(e.predicate,t.predicate)&&c(e.object,t.object)&&c(e.graph,t.graph);default:return e.value===t.value}}function u(e,t,r,n){return e.map(r,n).join(a(t)?t:" ")}t.prototype.encodeIRI=function(e){var t=this._prefixRegex.exec(e);if(t){var r=this._prefixByIri[t[1]];return this._usedPrefixes[r]=!0,r+":"+t[2]}return"<"+e+">"},t.prototype.toUpdate=function(e){switch(e.type||e.updateType){case"load":return"LOAD"+(e.source?" "+this.toEntity(e.source):"")+(e.destination?" INTO GRAPH "+this.toEntity(e.destination):"");case"insert":return"INSERT DATA "+this.group(e.insert,!0);case"delete":return"DELETE DATA "+this.group(e.delete,!0);case"deletewhere":return"DELETE WHERE "+this.group(e.delete,!0);case"insertdelete":return(e.graph?"WITH "+this.toEntity(e.graph)+this._newline:"")+(e.delete.length?"DELETE "+this.group(e.delete,!0)+this._newline:"")+(e.insert.length?"INSERT "+this.group(e.insert,!0)+this._newline:"")+(e.using?this.graphs("USING ",e.using.default):"")+(e.using?this.graphs("USING NAMED ",e.using.named):"")+"WHERE "+this.group(e.where,!0);case"add":case"copy":case"move":return e.type.toUpperCase()+" "+(e.silent?"SILENT ":"")+(e.source.default?"DEFAULT":this.toEntity(e.source.name))+" TO "+this.toEntity(e.destination.name);case"create":case"clear":case"drop":return e.type.toUpperCase()+(e.silent?" SILENT ":" ")+(e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.all?"ALL":"GRAPH "+this.toEntity(e.graph.name));default:throw new Error("Unknown update query type: "+e.type)}},t.prototype.indent=function(e){return e.replace(/^/gm,this._indent)},e.exports={Generator:function(e={}){return{stringify:function(r){var n=Object.create(e);return n.prefixes=r.prefixes,new t(n).toQuery(r)},createGenerator:function(){return new t(e)}}}}},72663:(e,t,r)=>{var n=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[6,12,13,15,16,24,32,36,41,45,100,110,113,115,116,123,126,131,197,224,229,308,329,330,331,332,333],n=[2,247],i=[100,110,113,115,116,123,126,131,329,330,331,332,333],o=[2,409],a=[1,18],s=[1,27],c=[13,16,45,197,224,229,308],u=[28,29,53],l=[28,53],d=[1,42],p=[1,45],h=[1,41],f=[1,44],y=[123,126],g=[1,67],m=[39,45,87],b=[13,16,45,197,224,308],_=[1,87],v=[2,281],w=[1,86],S=[13,16,45,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],E=[6,28,29,53,63,70,73,81,83,85],T=[6,13,16,28,29,53,63,70,73,81,83,85,87,308],O=[6,13,16,28,29,45,53,63,70,73,81,82,83,85,87,89,197,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314],x=[6,13,16,28,29,31,39,45,47,48,53,63,70,73,81,82,83,85,87,89,109,112,121,123,126,128,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,337,338,340,341,342,343,344,345,346],A=[13,16,308],I=[112,132,327,334],R=[13,16,112,132,308],P=[1,111],F=[1,117],D=[112,132,327,328,334],N=[13,16,112,132,308,328],j=[28,29,45,53,87],C=[1,138],M=[1,151],k=[1,128],L=[1,127],U=[1,129],B=[1,140],V=[1,141],q=[1,142],H=[1,143],$=[1,144],G=[1,145],K=[1,147],Q=[1,148],z=[2,457],J=[1,158],W=[1,159],X=[1,160],Y=[1,152],Z=[1,153],ee=[1,156],te=[1,171],re=[1,172],ne=[1,173],ie=[1,174],oe=[1,175],ae=[1,176],se=[1,167],ce=[1,168],ue=[1,169],le=[1,170],de=[1,157],pe=[1,166],he=[1,161],fe=[1,162],ye=[1,163],ge=[1,164],me=[1,165],be=[6,13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],_e=[1,195],ve=[6,31,73,81,83,85],we=[2,285],Se=[1,199],Ee=[1,201],Te=[6,31,70,73,81,83,85],Oe=[2,283],xe=[1,207],Ae=[1,218],Ie=[1,223],Re=[1,219],Pe=[1,225],Fe=[1,226],De=[1,224],Ne=[6,63,70,73,81,83,85],je=[1,236],Ce=[2,334],Me=[1,243],ke=[1,241],Le=[6,193],Ue=[2,349],Be=[2,339],Ve=[28,128],qe=[47,48,193,272],He=[47,48,193,242,272],$e=[47,48,193,242,246,272],Ge=[47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,341,342,343,344,345,346],Ke=[39,47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,338,341,342,343,344,345,346],Qe=[1,271],ze=[1,270],Je=[6,13,16,29,31,39,45,47,48,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,338,341,342,343,344,345,346,347,348,349,350,351],We=[1,281],Xe=[1,280],Ye=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],Ze=[45,89],et=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],tt=[13,16,31,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rt=[31,89],nt=[48,87],it=[6,13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338],ot=[6,13,16,39,45,48,82,87,89,231,263,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338,340],at=[1,313],st=[6,85],ct=[6,31,81,83,85],ut=[2,361],lt=[2,353],dt=[1,343],pt=[31,112,335],ht=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],ft=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335],yt=[6,109,193],gt=[31,112],mt=[13,16,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],bt=[1,390],_t=[1,391],vt=[13,16,87,197,308,314],wt=[13,16,39,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],St=[1,417],Et=[1,418],Tt=[13,16,48,197,229,308],Ot=[6,31,85],xt=[6,13,16,31,45,73,81,83,85,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],At=[6,13,16,29,31,45,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,231,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,346,347,348,349,350,351],It=[29,31,85,112,159,160,161,163,164],Rt=[1,443],Pt=[1,444],Ft=[1,449],Dt=[31,112,193,232,318,335],Nt=[13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],jt=[13,16,31,45,48,82,87,89,112,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Ct=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Mt=[13,16,31,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],kt=[31,45],Lt=[1,507],Ut=[1,508],Bt=[6,13,16,29,31,39,45,47,48,63,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,336,338,341,342,343,344,345,346,347,348,349,350,351],Vt=[29,31,85,112,159,160,161,163,164,335],qt=[6,13,16,31,45,70,73,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],Ht=[13,16,31,45,48,82,87,89,112,193,197,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],$t=[2,352],Gt=[13,16,197,308,314],Kt=[1,565],Qt=[6,13,16,31,45,76,78,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],zt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],Jt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],Wt=[13,16,87,308],Xt=[2,364],Yt=[29,31,85,112,159,160,161,163,164,193,232,318,335],Zt=[31,112,193,232,272,318,335],er=[2,359],tr=[13,16,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rr=[29,31,85,112,159,160,161,163,164,193,232,272,318,335],nr=[13,16,31,45,82,87,89,112,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],ir=[2,347],or={trace:function(){},yy:{},symbols_:{error:2,QueryOrUpdate:3,Prologue:4,QueryOrUpdate_group0:5,EOF:6,Query:7,Qry:8,Query_option0:9,Prologue_repetition0:10,BaseDecl:11,BASE:12,IRIREF:13,PrefixDecl:14,PREFIX:15,PNAME_NS:16,SelectClauseWildcard:17,Qry_repetition0:18,WhereClause:19,SolutionModifierNoGroup:20,SelectClauseVars:21,Qry_repetition1:22,SolutionModifier:23,CONSTRUCT:24,ConstructTemplate:25,Qry_repetition2:26,Qry_repetition3:27,WHERE:28,"{":29,Qry_option0:30,"}":31,DESCRIBE:32,Qry_group0:33,Qry_repetition4:34,Qry_option1:35,ASK:36,Qry_repetition5:37,SelectClauseBase:38,"*":39,SelectClauseVars_repetition_plus0:40,SELECT:41,SelectClauseBase_option0:42,SelectClauseItem:43,Var:44,"(":45,Expression:46,AS:47,")":48,SubSelect:49,SubSelect_option0:50,SubSelect_option1:51,DatasetClause:52,FROM:53,DatasetClause_option0:54,iri:55,WhereClause_option0:56,GroupGraphPattern:57,SolutionModifier_option0:58,SolutionModifierNoGroup_option0:59,SolutionModifierNoGroup_option1:60,SolutionModifierNoGroup_option2:61,GroupClause:62,GROUP:63,BY:64,GroupClause_repetition_plus0:65,GroupCondition:66,BuiltInCall:67,FunctionCall:68,HavingClause:69,HAVING:70,HavingClause_repetition_plus0:71,OrderClause:72,ORDER:73,OrderClause_repetition_plus0:74,OrderCondition:75,ASC:76,BrackettedExpression:77,DESC:78,Constraint:79,LimitOffsetClauses:80,LIMIT:81,INTEGER:82,OFFSET:83,ValuesClause:84,VALUES:85,InlineData:86,VAR:87,InlineData_repetition0:88,NIL:89,InlineData_repetition1:90,InlineData_repetition_plus2:91,InlineData_repetition3:92,DataBlock:93,DataBlockValueList:94,DataBlockValueList_repetition_plus0:95,Update:96,Update_repetition0:97,Update1:98,Update_option0:99,LOAD:100,Update1_option0:101,Update1_option1:102,Update1_group0:103,Update1_option2:104,GraphRefAll:105,Update1_group1:106,Update1_option3:107,GraphOrDefault:108,TO:109,CREATE:110,Update1_option4:111,GRAPH:112,INSERTDATA:113,QuadPattern:114,DELETEDATA:115,DELETEWHERE:116,Update1_option5:117,InsertDeleteClause:118,Update1_repetition0:119,IntoGraphClause:120,INTO:121,GraphRef:122,DELETE:123,InsertDeleteClause_option0:124,InsertClause:125,INSERT:126,UsingClause:127,USING:128,UsingClause_option0:129,WithClause:130,WITH:131,DEFAULT:132,GraphOrDefault_option0:133,GraphRefAll_group0:134,Quads:135,Quads_option0:136,Quads_repetition0:137,QuadsNotTriples:138,VarOrIri:139,QuadsNotTriples_option0:140,QuadsNotTriples_option1:141,QuadsNotTriples_option2:142,TriplesTemplate:143,TriplesTemplate_repetition0:144,TriplesSameSubject:145,TriplesTemplate_option0:146,GroupGraphPatternSub:147,GroupGraphPatternSub_option0:148,GroupGraphPatternSub_repetition0:149,GroupGraphPatternSubTail:150,GraphPatternNotTriples:151,GroupGraphPatternSubTail_option0:152,GroupGraphPatternSubTail_option1:153,TriplesBlock:154,TriplesBlock_repetition0:155,TriplesSameSubjectPath:156,TriplesBlock_option0:157,GroupOrUnionGraphPattern:158,OPTIONAL:159,MINUS:160,SERVICE:161,GraphPatternNotTriples_option0:162,FILTER:163,BIND:164,InlineDataOneVar:165,InlineDataFull:166,InlineDataOneVar_repetition0:167,InlineDataFull_repetition0:168,InlineDataFull_repetition_plus1:169,InlineDataFull_repetition2:170,DataBlockValue:171,Literal:172,QuotedTriple:173,UNDEF:174,GroupOrUnionGraphPattern_repetition0:175,ArgList:176,ArgList_option0:177,ArgList_repetition0:178,ExpressionList:179,ExpressionList_repetition0:180,ConstructTemplate_option0:181,ConstructTriples:182,ConstructTriples_repetition0:183,ConstructTriples_option0:184,VarOrTermOrQuotedTP:185,PropertyListNotEmpty:186,TriplesNode:187,PropertyList:188,PropertyList_option0:189,VerbObjectList:190,PropertyListNotEmpty_repetition0:191,SemiOptionalVerbObjectList:192,";":193,SemiOptionalVerbObjectList_option0:194,Verb:195,ObjectList:196,a:197,ObjectList_repetition0:198,Object:199,GraphNode:200,Object_option0:201,PropertyListPathNotEmpty:202,TriplesNodePath:203,TriplesSameSubjectPath_option0:204,O:205,PropertyListPathNotEmpty_repetition0:206,PropertyListPathNotEmptyTail:207,O_group0:208,ObjectListPath:209,ObjectListPath_repetition0:210,ObjectPath:211,GraphNodePath:212,ObjectPath_option0:213,Path:214,Path_repetition0:215,PathSequence:216,PathSequence_repetition0:217,PathEltOrInverse:218,PathElt:219,PathPrimary:220,PathElt_option0:221,PathEltOrInverse_option0:222,IriOrA:223,"!":224,PathNegatedPropertySet:225,PathOneInPropertySet:226,PathNegatedPropertySet_repetition0:227,PathNegatedPropertySet_option0:228,"^":229,TriplesNode_repetition_plus0:230,"[":231,"]":232,TriplesNodePath_repetition_plus0:233,VarOrTermOrQuotedTPExpr:234,VarOrTerm:235,GraphTerm:236,BlankNode:237,ConditionalOrExpression:238,ConditionalAndExpression:239,ConditionalOrExpression_repetition0:240,ConditionalOrExpressionTail:241,"||":242,RelationalExpression:243,ConditionalAndExpression_repetition0:244,ConditionalAndExpressionTail:245,"&&":246,NumericExpression:247,RelationalExpression_group0:248,RelationalExpression_option0:249,IN:250,MultiplicativeExpression:251,NumericExpression_repetition0:252,AdditiveExpressionTail:253,AdditiveExpressionTail_group0:254,NumericLiteralPositive:255,AdditiveExpressionTail_repetition0:256,NumericLiteralNegative:257,AdditiveExpressionTail_repetition1:258,UnaryExpression:259,MultiplicativeExpression_repetition0:260,MultiplicativeExpressionTail:261,MultiplicativeExpressionTail_group0:262,"+":263,PrimaryExpression:264,"-":265,ExprQuotedTP:266,Aggregate:267,FUNC_ARITY0:268,FUNC_ARITY1:269,FUNC_ARITY1_SPARQL_STAR:270,FUNC_ARITY2:271,",":272,FUNC_ARITY3:273,FUNC_ARITY3_SPARQL_STAR:274,BuiltInCall_group0:275,BOUND:276,BNODE:277,BuiltInCall_option0:278,EXISTS:279,COUNT:280,Aggregate_option0:281,Aggregate_group0:282,FUNC_AGGREGATE:283,Aggregate_option1:284,GROUP_CONCAT:285,Aggregate_option2:286,Aggregate_option3:287,GroupConcatSeparator:288,SEPARATOR:289,"=":290,String:291,LANGTAG:292,"^^":293,DECIMAL:294,DOUBLE:295,BOOLEAN:296,INTEGER_POSITIVE:297,DECIMAL_POSITIVE:298,DOUBLE_POSITIVE:299,INTEGER_NEGATIVE:300,DECIMAL_NEGATIVE:301,DOUBLE_NEGATIVE:302,STRING_LITERAL1:303,STRING_LITERAL2:304,STRING_LITERAL_LONG1:305,STRING_LITERAL_LONG2:306,PrefixedName:307,PNAME_LN:308,BLANK_NODE_LABEL:309,ANON:310,QuotedTP:311,"<<":312,qtSubjectOrObject:313,">>":314,DataValueTerm:315,AnnotationPattern:316,"{|":317,"|}":318,AnnotationPatternPath:319,ExprVarOrTerm:320,QueryOrUpdate_group0_option0:321,Prologue_repetition0_group0:322,Qry_group0_repetition_plus0:323,SelectClauseBase_option0_group0:324,DISTINCT:325,REDUCED:326,NAMED:327,SILENT:328,CLEAR:329,DROP:330,ADD:331,MOVE:332,COPY:333,ALL:334,".":335,UNION:336,"|":337,"/":338,PathElt_option0_group0:339,"?":340,"!=":341,"<":342,">":343,"<=":344,">=":345,NOT:346,CONCAT:347,COALESCE:348,SUBSTR:349,REGEX:350,REPLACE:351,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",12:"BASE",13:"IRIREF",15:"PREFIX",16:"PNAME_NS",24:"CONSTRUCT",28:"WHERE",29:"{",31:"}",32:"DESCRIBE",36:"ASK",39:"*",41:"SELECT",45:"(",47:"AS",48:")",53:"FROM",63:"GROUP",64:"BY",70:"HAVING",73:"ORDER",76:"ASC",78:"DESC",81:"LIMIT",82:"INTEGER",83:"OFFSET",85:"VALUES",87:"VAR",89:"NIL",100:"LOAD",109:"TO",110:"CREATE",112:"GRAPH",113:"INSERTDATA",115:"DELETEDATA",116:"DELETEWHERE",121:"INTO",123:"DELETE",126:"INSERT",128:"USING",131:"WITH",132:"DEFAULT",159:"OPTIONAL",160:"MINUS",161:"SERVICE",163:"FILTER",164:"BIND",174:"UNDEF",193:";",197:"a",224:"!",229:"^",231:"[",232:"]",242:"||",246:"&&",250:"IN",263:"+",265:"-",268:"FUNC_ARITY0",269:"FUNC_ARITY1",270:"FUNC_ARITY1_SPARQL_STAR",271:"FUNC_ARITY2",272:",",273:"FUNC_ARITY3",274:"FUNC_ARITY3_SPARQL_STAR",276:"BOUND",277:"BNODE",279:"EXISTS",280:"COUNT",283:"FUNC_AGGREGATE",285:"GROUP_CONCAT",289:"SEPARATOR",290:"=",292:"LANGTAG",293:"^^",294:"DECIMAL",295:"DOUBLE",296:"BOOLEAN",297:"INTEGER_POSITIVE",298:"DECIMAL_POSITIVE",299:"DOUBLE_POSITIVE",300:"INTEGER_NEGATIVE",301:"DECIMAL_NEGATIVE",302:"DOUBLE_NEGATIVE",303:"STRING_LITERAL1",304:"STRING_LITERAL2",305:"STRING_LITERAL_LONG1",306:"STRING_LITERAL_LONG2",308:"PNAME_LN",309:"BLANK_NODE_LABEL",310:"ANON",312:"<<",314:">>",317:"{|",318:"|}",325:"DISTINCT",326:"REDUCED",327:"NAMED",328:"SILENT",329:"CLEAR",330:"DROP",331:"ADD",332:"MOVE",333:"COPY",334:"ALL",335:".",336:"UNION",337:"|",338:"/",340:"?",341:"!=",342:"<",343:">",344:"<=",345:">=",346:"NOT",347:"CONCAT",348:"COALESCE",349:"SUBSTR",350:"REGEX",351:"REPLACE"},productions_:[0,[3,3],[7,2],[4,1],[11,2],[14,3],[8,4],[8,4],[8,5],[8,7],[8,5],[8,4],[17,2],[21,2],[38,2],[43,1],[43,5],[49,4],[49,4],[52,3],[19,2],[23,2],[20,3],[62,3],[66,1],[66,1],[66,3],[66,5],[66,1],[69,2],[72,3],[75,2],[75,2],[75,1],[75,1],[80,2],[80,2],[80,4],[80,4],[84,2],[86,4],[86,4],[86,6],[86,2],[94,3],[96,3],[98,4],[98,3],[98,5],[98,4],[98,2],[98,2],[98,2],[98,5],[120,2],[118,3],[118,1],[125,2],[127,3],[130,2],[108,1],[108,2],[122,2],[105,1],[105,1],[114,3],[135,2],[138,7],[143,3],[57,3],[57,3],[147,2],[150,3],[154,3],[151,1],[151,2],[151,2],[151,3],[151,4],[151,2],[151,6],[151,1],[93,1],[93,1],[165,4],[166,4],[166,6],[171,1],[171,1],[171,1],[171,1],[158,2],[79,1],[79,1],[79,1],[68,2],[176,1],[176,5],[179,1],[179,4],[25,3],[182,3],[145,2],[145,2],[188,1],[186,2],[192,2],[190,2],[195,1],[195,1],[196,2],[199,2],[156,2],[156,2],[202,2],[207,1],[207,2],[205,2],[209,2],[211,2],[214,2],[216,2],[219,2],[218,2],[220,1],[220,2],[220,3],[225,1],[225,1],[225,4],[226,1],[226,2],[187,3],[187,3],[203,3],[203,3],[200,1],[200,1],[212,1],[212,1],[234,1],[235,1],[235,1],[139,1],[139,1],[44,1],[236,1],[236,1],[236,1],[236,1],[46,1],[238,2],[241,2],[239,2],[245,2],[243,1],[243,3],[243,4],[247,2],[253,2],[253,2],[253,2],[251,2],[261,2],[259,2],[259,2],[259,2],[259,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[77,3],[67,1],[67,2],[67,4],[67,4],[67,6],[67,8],[67,8],[67,2],[67,4],[67,2],[67,4],[67,3],[267,5],[267,5],[267,6],[288,4],[172,1],[172,2],[172,3],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[255,1],[255,1],[255,1],[257,1],[257,1],[257,1],[291,1],[291,1],[291,1],[291,1],[55,1],[55,1],[307,1],[307,1],[237,1],[237,1],[311,5],[173,5],[313,1],[313,1],[313,1],[313,1],[313,1],[315,1],[315,1],[315,1],[185,1],[185,1],[185,1],[316,3],[319,3],[266,5],[320,1],[320,1],[320,1],[223,1],[223,1],[321,0],[321,1],[5,1],[5,1],[5,1],[9,0],[9,1],[322,1],[322,1],[10,0],[10,2],[18,0],[18,2],[22,0],[22,2],[26,0],[26,2],[27,0],[27,2],[30,0],[30,1],[323,1],[323,2],[33,1],[33,1],[34,0],[34,2],[35,0],[35,1],[37,0],[37,2],[40,1],[40,2],[324,1],[324,1],[42,0],[42,1],[50,0],[50,1],[51,0],[51,1],[54,0],[54,1],[56,0],[56,1],[58,0],[58,1],[59,0],[59,1],[60,0],[60,1],[61,0],[61,1],[65,1],[65,2],[71,1],[71,2],[74,1],[74,2],[88,0],[88,2],[90,0],[90,2],[91,1],[91,2],[92,0],[92,2],[95,1],[95,2],[97,0],[97,4],[99,0],[99,2],[101,0],[101,1],[102,0],[102,1],[103,1],[103,1],[104,0],[104,1],[106,1],[106,1],[106,1],[107,0],[107,1],[111,0],[111,1],[117,0],[117,1],[119,0],[119,2],[124,0],[124,1],[129,0],[129,1],[133,0],[133,1],[134,1],[134,1],[134,1],[136,0],[136,1],[137,0],[137,2],[140,0],[140,1],[141,0],[141,1],[142,0],[142,1],[144,0],[144,3],[146,0],[146,1],[148,0],[148,1],[149,0],[149,2],[152,0],[152,1],[153,0],[153,1],[155,0],[155,3],[157,0],[157,1],[162,0],[162,1],[167,0],[167,2],[168,0],[168,2],[169,1],[169,2],[170,0],[170,2],[175,0],[175,3],[177,0],[177,1],[178,0],[178,3],[180,0],[180,3],[181,0],[181,1],[183,0],[183,3],[184,0],[184,1],[189,0],[189,1],[191,0],[191,2],[194,0],[194,1],[198,0],[198,3],[201,0],[201,1],[204,0],[204,1],[206,0],[206,2],[208,1],[208,1],[210,0],[210,3],[213,0],[213,1],[215,0],[215,3],[217,0],[217,3],[339,1],[339,1],[339,1],[221,0],[221,1],[222,0],[222,1],[227,0],[227,3],[228,0],[228,1],[230,1],[230,2],[233,1],[233,2],[240,0],[240,2],[244,0],[244,2],[248,1],[248,1],[248,1],[248,1],[248,1],[248,1],[249,0],[249,1],[252,0],[252,2],[254,1],[254,1],[256,0],[256,2],[258,0],[258,2],[260,0],[260,2],[262,1],[262,1],[275,1],[275,1],[275,1],[275,1],[275,1],[278,0],[278,1],[281,0],[281,1],[282,1],[282,1],[284,0],[284,1],[286,0],[286,1],[287,0],[287,1]],performAction:function(e,t,r,n,i,o,a){var s,c,u,l,d=o.length-1;switch(i){case 1:if(o[d-1]=o[d-1]||{},nn.base&&(o[d-1].base=nn.base),nn.base="",o[d-1].prefixes=nn.prefixes,nn.prefixes=null,nn.pathOnly){if("path"===o[d-1].type||"termType"in o[d-1])return o[d-1];throw new Error("Received full SPARQL query in path only mode")}if("path"===o[d-1].type||"termType"in o[d-1])throw new Error("Received only path in full SPARQL mode");if("update"===o[d-1].type){const e={};for(const t of o[d-1].updates)if("insert"===t.updateType){const r={};for(const e of t.insert)if("bgp"===e.type||"graph"===e.type)for(const t of e.triples)"BlankNode"===t.subject.termType&&(r[t.subject.value]=!0),"BlankNode"===t.predicate.termType&&(r[t.predicate.value]=!0),"BlankNode"===t.object.termType&&(r[t.object.value]=!0);for(const t of Object.keys(r)){if(e[t])throw new Error("Detected reuse blank node across different INSERT DATA clauses");e[t]=!0}}}return o[d-1];case 2:this.$={...o[d-1],...o[d],type:"query"};break;case 4:nn.base=Or(o[d]);break;case 5:nn.prefixes||(nn.prefixes={}),o[d-1]=o[d-1].substr(0,o[d-1].length-1),o[d]=Or(o[d]),nn.prefixes[o[d-1]]=o[d];break;case 6:this.$={...o[d-3],...Fr(o[d-2]),...o[d-1],...o[d]};break;case 7:if(!nn.skipValidation&&(zr(o[d-3].variables.map((e=>Kr(e.expression)))).some((e=>"count"===e.aggregation&&!(e.expression instanceof ar)))||o[d].group))for(const e of o[d-3].variables)if("Variable"===e.termType){if(!o[d].group||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Projection of ungrouped variable (?"+Gr(e)+")")}else if(0===Kr(e.expression).length){const t=Qr(e.expression);for(const e of t)if(!o[d].group||!o[d].group.map||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Use of ungrouped variable in projection of operation (?"+Gr(e)+")")}const e=o[d-1].where.filter((e=>"query"===e.type));if(e.length>0){const t=o[d-3].variables.filter((e=>e.variable&&e.variable.value)).map((e=>e.variable.value)),r=zr(e.map((e=>e.variables))).map((e=>e.value||e.variable.value));for(const e of t)if(r.indexOf(e)>=0)throw Error("Target id of 'AS' (?"+e+") already used in subquery")}this.$=Er(o[d-3],Fr(o[d-2]),o[d-1],o[d]);break;case 8:this.$=Er({queryType:"CONSTRUCT",template:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 9:this.$=Er({queryType:"CONSTRUCT",template:o[d-2]=o[d-2]?o[d-2].triples:[]},Fr(o[d-5]),{where:[{type:"bgp",triples:Sr([],o[d-2])}]},o[d]);break;case 10:this.$=Er({queryType:"DESCRIBE",variables:"*"===o[d-3]?[new ar]:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 11:this.$=Er({queryType:"ASK"},Fr(o[d-2]),o[d-1],o[d]);break;case 12:this.$=Er(o[d-1],{variables:[new ar]});break;case 13:const t=function(e){const t=e.slice().sort(),r=[];for(let e=0;ee.value||e.variable.value)));if(t.length>0)throw Error("Two or more of the resulting columns have the same name (?"+t[0]+")");this.$=Er(o[d-1],{variables:o[d]});break;case 14:this.$=Er({queryType:"SELECT"},o[d]&&(o[d-1]=vr(o[d]),o[d]={},o[d][o[d-1]]=!0,o[d]));break;case 16:case 27:this.$=Ir(o[d-3],{variable:o[d-1]});break;case 17:case 18:this.$=Er(o[d-3],o[d-2],o[d-1],o[d],{type:"query"});break;case 19:case 58:this.$={iri:o[d],named:!!o[d-1]};break;case 20:this.$={where:o[d].patterns};break;case 21:this.$=Er(o[d-1],o[d]);break;case 22:this.$=Er(o[d-2],o[d-1],o[d]);break;case 23:this.$={group:o[d]};break;case 24:case 25:case 28:case 31:case 33:case 34:this.$=Ir(o[d]);break;case 26:this.$=Ir(o[d-1]);break;case 29:this.$={having:o[d]};break;case 30:this.$={order:o[d]};break;case 32:this.$=Ir(o[d],{descending:!0});break;case 35:this.$={limit:Dr(o[d])};break;case 36:this.$={offset:Dr(o[d])};break;case 37:this.$={limit:Dr(o[d-2]),offset:Dr(o[d])};break;case 38:this.$={limit:Dr(o[d]),offset:Dr(o[d-2])};break;case 39:case 43:this.$={type:"values",values:o[d]};break;case 40:case 84:this.$=o[d-1].map((e=>({[o[d-3]]:e})));break;case 41:case 85:this.$=o[d-1].map((()=>({})));break;case 42:case 86:var p=o[d-4].length;o[d-4]=o[d-4].map(xr),this.$=o[d-1].map((function(e){if(e.length!==p)throw Error("Inconsistent VALUES length");for(var t={},r=0;r"bind"===e.type))){const t=o[d-1].indexOf(e),r=new Set;for(const e of o[d-1].slice(0,t))"group"!==e.type&&"bgp"!==e.type||Wr(e).forEach((e=>r.add(e)));if(r.has(e.variable.value))throw Error("Variable used to bind is already bound (?"+e.variable.value+")")}this.$={type:"group",patterns:o[d-1]};break;case 71:this.$=o[d-1]?Tr([o[d-1]],o[d]):Tr(o[d]);break;case 72:this.$=o[d]?[o[d-2],o[d]]:o[d-2];break;case 75:this.$=Er(o[d],{type:"optional"});break;case 76:this.$=Er(o[d],{type:"minus"});break;case 77:this.$=Er(o[d],{type:"graph",name:o[d-1]});break;case 78:this.$=Er(o[d],{type:"service",name:o[d-1],silent:!!o[d-2]});break;case 79:this.$={type:"filter",expression:o[d]};break;case 80:this.$={type:"bind",variable:o[d-1],expression:o[d-3]};break;case 89:this.$=Xr(o[d]);break;case 90:this.$=void 0;break;case 91:this.$=o[d-1].length?{type:"union",patterns:Tr(o[d-1].map(Nr),[Nr(o[d])])}:o[d];break;case 95:this.$={...o[d],function:o[d-1]};break;case 96:this.$={type:"functionCall",args:[]};break;case 97:this.$={type:"functionCall",args:wr(o[d-2],o[d-1]),distinct:!!o[d-3]};break;case 98:case 115:case 128:case 247:case 249:case 251:case 253:case 255:case 263:case 267:case 297:case 299:case 303:case 307:case 328:case 341:case 349:case 355:case 361:case 367:case 369:case 373:case 375:case 379:case 381:case 385:case 391:case 395:case 401:case 405:case 409:case 411:case 420:case 428:case 430:case 440:case 444:case 446:case 448:this.$=[];break;case 99:this.$=wr(o[d-2],o[d-1]);break;case 101:this.$=Tr(o[d-2],[o[d-1]]);break;case 102:case 112:this.$=Zr(o[d].map((e=>Er(Mr(o[d-1]),e))));break;case 103:this.$=Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples));break;case 105:this.$=Tr([o[d-1]],o[d]);break;case 106:this.$=Tr(o[d]);break;case 107:this.$=$r(o[d-1],o[d]);break;case 109:case 237:this.$=nn.factory.namedNode(cr);break;case 110:case 118:this.$=wr(o[d-1],o[d]);break;case 111:this.$=o[d]?{annotation:o[d],object:o[d-1]}:o[d-1];break;case 113:this.$=o[d]?Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples)):o[d-1].triples;break;case 114:this.$=$r(...o[d-1],o[d]);break;case 116:this.$=$r(...o[d]);break;case 117:case 159:case 163:this.$=[o[d-1],o[d]];break;case 119:this.$=o[d]?{object:o[d-1],annotation:o[d]}:o[d-1];break;case 120:this.$=o[d-1].length?Rr("|",wr(o[d-1],o[d])):o[d];break;case 121:this.$=o[d-1].length?Rr("/",wr(o[d-1],o[d])):o[d];break;case 122:this.$=o[d]?Rr(o[d],[o[d-1]]):o[d-1];break;case 123:this.$=o[d-1]?Rr(o[d-1],[o[d]]):o[d];break;case 125:case 131:this.$=Rr(o[d-1],[o[d]]);break;case 129:this.$=Rr("|",wr(o[d-2],o[d-1]));break;case 132:case 134:this.$=function(e){var t=kr(),r=t,n=[],i=[];e.forEach((function(e){n.push(e.entity),Sr(i,e.triples)}));for(var o=0,a=0,s=n.length,c=Array(2*s);o2&&O.push("'"+this.terminals_[S]+"'");A=d.showPosition?"Parse error on line "+(s+1)+":\n"+d.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:f,expected:O})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(v[0]){case 1:r.push(m),n.push(d.yytext),i.push(d.yylloc),r.push(v[1]),m=null,b?(m=b,b=null):(c=d.yyleng,a=d.yytext,s=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[v[1]][1],x.$=n[n.length-E],x._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},g&&(x._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(x,[a,c,s,p.yy,v[1],n,i].concat(l))))return w;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[v[1]][0]),n.push(x.$),i.push(x._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}},ar=r(10419).Wildcard,sr="http://www.w3.org/1999/02/22-rdf-syntax-ns#",cr=sr+"type",ur=sr+"first",lr=sr+"rest",dr=sr+"nil",pr="http://www.w3.org/2001/XMLSchema#",hr=pr+"integer",fr=pr+"decimal",yr=pr+"double",gr=pr+"boolean",mr="",br="",_r="";function vr(e){return e.toLowerCase()}function wr(e,t){return e.push(t),e}function Sr(e,t){return e.push.apply(e,t),e}function Er(e){e||(e={});for(var t,r=1,n=arguments.length;r>10),56320+(1023&i))}var o=Br[n];if(!o)throw new Error;return o}))}catch(e){return""}if(Vr.exec(e))throw new Error("Invalid unicode codepoint of surrogate pair without corresponding codepoint in "+e);return e}function $r(e,t,r){var n=[],i=[];return t.forEach((function(t){let r=null;t.annotation&&(r=t.annotation,t=t.object),n.push(Mr(null,e,t.entity,r)),Sr(i,t.triples)})),Tr(n,r||[],i)}function Gr(e){return e.variable?e.variable.value:e.value||e.expression.value}function Kr(e){if(!e)return[];if("aggregate"===e.type)return[e];if("operation"===e.type){const t=[];for(const r of e.args)t.push(...Kr(r));return t}return[]}function Qr(e){const t=new Set,r=function(e){e&&("Variable"===e.termType?t.add(e):"operation"===e.type&&e.args.forEach(r))};return r(e),t}function zr(e,t=1,r=[]){for(const n of e)t>0&&n instanceof Array?zr(n,t-1,r):r.push(n);return r}function Jr(e){return"Variable"===e.termType}function Wr(e){if(e.triples){const t=[];for(const r of e.triples)Jr(r.subject)&&t.push(r.subject.value),Jr(r.predicate)&&t.push(r.predicate.value),Jr(r.object)&&t.push(r.object.value);return t}if(e.patterns){const t=[];for(const r of e.patterns)t.push(...Wr(r));return t}return[]}function Xr(e){if(!nn.sparqlStar)throw new Error("SPARQL-star support is not enabled");return e}function Yr(e,t,r){for(const n of t){const t=Mr("subject"in n?n.subject:e,n.predicate,n.object);r.push(t),n.annotations&&Yr(Cr(e,n.predicate,n.object),n.annotations,r)}}function Zr(e){if(nn.sparqlStar){const t=[];return e.forEach((e=>{const r=Mr(e.subject,e.predicate,e.object);t.push(r),e.annotations&&Yr(Cr(e.subject,e.predicate,e.object),e.annotations,t)})),t}return e}function en(e){for(const t of e){if("graph"===t.type&&"Variable"===t.name.termType)throw new Error("Detected illegal variable in GRAPH");if("bgp"===t.type||"graph"===t.type)for(const e of t.triples)if("Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType)throw new Error("Detected illegal variable in BGP")}return e}function tn(e){for(const t of e)if("bgp"===t.type)for(const e of t.triples)if("BlankNode"===e.subject.termType||"BlankNode"===e.predicate.termType||"BlankNode"===e.object.termType)throw new Error("Detected illegal blank node in BGP");return e}var rn=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;ot[0].length)){if(t=r,n=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{flex:!0,"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 12;case 2:return 15;case 3:return 41;case 4:return 325;case 5:return 326;case 6:return 45;case 7:return 47;case 8:return 48;case 9:return 39;case 10:return 24;case 11:return 28;case 12:return 29;case 13:return 31;case 14:return 32;case 15:return 36;case 16:return 53;case 17:return 327;case 18:return 63;case 19:return 64;case 20:return 70;case 21:return 73;case 22:return 76;case 23:return 78;case 24:return 81;case 25:return 83;case 26:return 85;case 27:return 193;case 28:return 100;case 29:return 328;case 30:return 121;case 31:return 329;case 32:return 330;case 33:return 110;case 34:return 331;case 35:return 109;case 36:return 332;case 37:return 333;case 38:return 113;case 39:return 115;case 40:return 116;case 41:return 131;case 42:return 123;case 43:return 126;case 44:return 128;case 45:return 132;case 46:return 112;case 47:return 334;case 48:return 335;case 49:return 159;case 50:return 161;case 51:return 164;case 52:return 174;case 53:return 160;case 54:return 336;case 55:return 163;case 56:return 312;case 57:return 314;case 58:return 317;case 59:return 318;case 60:return 272;case 61:return 197;case 62:return 337;case 63:return 338;case 64:return 229;case 65:return 340;case 66:return 263;case 67:return 224;case 68:return 231;case 69:return 232;case 70:return 242;case 71:return 246;case 72:return 290;case 73:return 341;case 74:return 342;case 75:return 343;case 76:return 344;case 77:return 345;case 78:return 250;case 79:return 346;case 80:return 265;case 81:return 276;case 82:return 277;case 83:return 268;case 84:return 269;case 85:return 270;case 86:return 271;case 87:return 347;case 88:return 348;case 89:return 273;case 90:return 274;case 91:return 350;case 92:return 349;case 93:return 351;case 94:return 279;case 95:return 280;case 96:return 283;case 97:return 285;case 98:return 289;case 99:return 293;case 100:return 296;case 101:return 13;case 102:return 16;case 103:return 308;case 104:return 309;case 105:return 87;case 106:return 292;case 107:return 82;case 108:return 294;case 109:return 295;case 110:return 297;case 111:return 298;case 112:return 299;case 113:return 300;case 114:return 301;case 115:return 302;case 116:return"EXPONENT";case 117:return 303;case 118:return 304;case 119:return 305;case 120:return 306;case 121:return 89;case 122:return 310;case 123:return 6;case 124:return"INVALID";case 125:console.log(t.yytext)}},rules:[/^(?:\s+|(#[^\n\r]*))/i,/^(?:BASE)/i,/^(?:PREFIX)/i,/^(?:SELECT)/i,/^(?:DISTINCT)/i,/^(?:REDUCED)/i,/^(?:\()/i,/^(?:AS)/i,/^(?:\))/i,/^(?:\*)/i,/^(?:CONSTRUCT)/i,/^(?:WHERE)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:DESCRIBE)/i,/^(?:ASK)/i,/^(?:FROM)/i,/^(?:NAMED)/i,/^(?:GROUP)/i,/^(?:BY)/i,/^(?:HAVING)/i,/^(?:ORDER)/i,/^(?:ASC)/i,/^(?:DESC)/i,/^(?:LIMIT)/i,/^(?:OFFSET)/i,/^(?:VALUES)/i,/^(?:;)/i,/^(?:LOAD)/i,/^(?:SILENT)/i,/^(?:INTO)/i,/^(?:CLEAR)/i,/^(?:DROP)/i,/^(?:CREATE)/i,/^(?:ADD)/i,/^(?:TO)/i,/^(?:MOVE)/i,/^(?:COPY)/i,/^(?:INSERT((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)WHERE)/i,/^(?:WITH)/i,/^(?:DELETE)/i,/^(?:INSERT)/i,/^(?:USING)/i,/^(?:DEFAULT)/i,/^(?:GRAPH)/i,/^(?:ALL)/i,/^(?:\.)/i,/^(?:OPTIONAL)/i,/^(?:SERVICE)/i,/^(?:BIND)/i,/^(?:UNDEF)/i,/^(?:MINUS)/i,/^(?:UNION)/i,/^(?:FILTER)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:\{\|)/i,/^(?:\|\})/i,/^(?:,)/i,/^(?:a)/i,/^(?:\|)/i,/^(?:\/)/i,/^(?:\^)/i,/^(?:\?)/i,/^(?:\+)/i,/^(?:!)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:<)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:>=)/i,/^(?:IN)/i,/^(?:NOT)/i,/^(?:-)/i,/^(?:BOUND)/i,/^(?:BNODE)/i,/^(?:(RAND|NOW|UUID|STRUUID))/i,/^(?:(LANG|DATATYPE|IRI|URI|ABS|CEIL|FLOOR|ROUND|STRLEN|STR|UCASE|LCASE|ENCODE_FOR_URI|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|MD5|SHA1|SHA256|SHA384|SHA512|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC))/i,/^(?:(SUBJECT|PREDICATE|OBJECT|isTRIPLE))/i,/^(?:(LANGMATCHES|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|STRLANG|STRDT|sameTerm))/i,/^(?:CONCAT)/i,/^(?:COALESCE)/i,/^(?:IF)/i,/^(?:TRIPLE)/i,/^(?:REGEX)/i,/^(?:SUBSTR)/i,/^(?:REPLACE)/i,/^(?:EXISTS)/i,/^(?:COUNT)/i,/^(?:SUM|MIN|MAX|AVG|SAMPLE)/i,/^(?:GROUP_CONCAT)/i,/^(?:SEPARATOR)/i,/^(?:\^\^)/i,/^(?:true|false)/i,/^(?:(<(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*>))/i,/^(?:((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:)((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|:|[0-9]|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(_:(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?))/i,/^(?:([\?\$]((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])*)))/i,/^(?:(@[a-zA-Z]+(?:-[a-zA-Z0-9]+)*))/i,/^(?:([0-9]+))/i,/^(?:([0-9]*\.[0-9]+))/i,/^(?:([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+)))/i,/^(?:(\+([0-9]+)))/i,/^(?:(\+([0-9]*\.[0-9]+)))/i,/^(?:(\+([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:(-([0-9]+)))/i,/^(?:(-([0-9]*\.[0-9]+)))/i,/^(?:(-([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*"""))/i,/^(?:(\((\u0020|\u0009|\u000D|\u000A)*\)))/i,/^(?:(\[(\u0020|\u0009|\u000D|\u000A)*\]))/i,/^(?:$)/i,/^(?:.)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],inclusive:!0}}};return e}();function nn(){this.yy={}}return or.lexer=rn,nn.prototype=or,or.Parser=nn,new nn}();e.exports=n},10419:e=>{class t{constructor(){return r||this}equals(e){return e&&this.termType===e.termType}}Object.defineProperty(t.prototype,"value",{enumerable:!0,value:"*"}),Object.defineProperty(t.prototype,"termType",{enumerable:!0,value:"Wildcard"});var r=new t;e.exports.Wildcard=t},76196:(e,t,r)=>{const{Parser:n}=r(72663),{Generator:i}=r(51915),{Wildcard:o}=r(10419),{DataFactory:a}=r(47793);e.exports={Parser:function({prefixes:e,baseIRI:t,factory:r,pathOnly:i,sparqlStar:o,skipValidation:s,skipUngroupedVariableCheck:c}={}){const u={};for(const t in e??{})u[t]=e[t];const l=new n;return l.parse=function(){return n.base=t||"",n.prefixes=Object.create(u),n.factory=r||new a,n.sparqlStar=Boolean(o),n.pathOnly=Boolean(i),n.skipValidation=Boolean(s)||Boolean(c),n.prototype.parse.apply(l,arguments)},l._resetBlanks=n._resetBlanks,l},Generator:i,Wildcard:o}},33826:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(70297),t),i(r(3062),t),i(r(65183),t),i(r(91475),t),i(r(97480),t)},3062:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.Converter=void 0;const i=r(80425),o=r(70297),a=r(2307),s=r(65183),c=r(97480);class u{constructor(e){(e=e||{}).variableDelimiter=e.variableDelimiter||"_",e.expressionVariableCounter=e.expressionVariableCounter||0,this.util=new c.Util(e),this.initializeNodeHandlers(e)}static registerNodeHandlers(e,t){e.registerNodeHandler(new o.NodeHandlerDocument(e,t)),e.registerNodeHandler(new o.NodeHandlerDefinitionOperation(e,t)),e.registerNodeHandler(new o.NodeHandlerDefinitionFragment(e,t)),e.registerNodeHandler(new o.NodeHandlerSelectionFragmentSpread(e,t)),e.registerNodeHandler(new o.NodeHandlerSelectionInlineFragment(e,t)),e.registerNodeHandler(new o.NodeHandlerSelectionField(e,t))}static registerNodeValueHandlers(e,t){e.registerNodeValueHandler(new o.NodeValueHandlerVariable(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerInt(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerFloat(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerString(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerBoolean(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerNull(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerEnum(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerList(e,t)),e.registerNodeValueHandler(new o.NodeValueHandlerObject(e,t))}static registerDirectiveNodeHandlers(e,t){e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerInclude(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerOptional(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerPlural(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerSingle(e,t)),e.registerDirectiveNodeHandler(new a.DirectiveNodeHandlerSkip(e,t))}graphqlToSparqlAlgebra(e,t,r){return n(this,void 0,void 0,(function*(){return this.graphqlToSparqlAlgebraRawContext(e,yield this.util.contextParser.parse(t),r)}))}graphqlToSparqlAlgebraRawContext(e,t,r){r=r||{};const n="string"==typeof e?(0,i.parse)(e):e,o={context:t,fragmentDefinitions:this.indexFragments(n),graph:this.util.dataFactory.defaultGraph(),path:[],singularizeState:s.SingularizeState.PLURAL,singularizeVariables:r.singularizeVariables||{},subject:null,terminalVariables:[],variablesDict:r.variablesDict||{},variablesMetaDict:{}};return this.util.handleNode(n,o)}indexFragments(e){const t={},r=[];for(const n of e.definitions)"FragmentDefinition"===n.kind?t[n.name.value]=n:r.push(n);return e.definitions=r,t}initializeNodeHandlers(e){u.registerNodeHandlers(this.util,e),u.registerNodeValueHandlers(this.util,e),u.registerDirectiveNodeHandlers(this.util,e)}}t.Converter=u},65183:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.SingularizeState=void 0,(r=t.SingularizeState||(t.SingularizeState={}))[r.SINGLE=0]="SINGLE",r[r.PLURAL=1]="PLURAL"},91475:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},97480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(47793),i=r(61082),o=r(17394);t.Util=class{constructor(e){this.nodeHandlers={},this.nodeValueHandlers={},this.directiveNodeHandlers={},this.settings=e,this.dataFactory=e.dataFactory||new n.DataFactory,this.operationFactory=new o.Factory(this.dataFactory),this.contextParser=new i.ContextParser}registerNodeHandler(e){this.nodeHandlers[e.targetKind]=e}registerNodeValueHandler(e){this.nodeValueHandlers[e.targetKind]=e}registerDirectiveNodeHandler(e){this.directiveNodeHandlers[e.targetKind]=e}handleNode(e,t){const r=this.nodeHandlers[e.kind];if(!r)throw new Error(`Unsupported GraphQL node '${e.kind}'`);return r.handle(e,t)}handleNodeValue(e,t,r){const n=this.nodeValueHandlers[e.kind];if(!n)throw new Error(`Unsupported GraphQL value node '${e.kind}'`);return n.handle(e,t,r)}handleDirectiveNode(e,t){const r=this.directiveNodeHandlers[e.directive.name.value];return r?r.handle(e,t):null}joinOperations(e){if(1===e.length)return e[0];const t=[],r=[];for(const n of e)"bgp"===n.type?t.push(n):r.push(n);if(t.length===e.length)return this.joinOperationsAsBgp(t);if(t.length===e.length-1&&"leftjoin"===r[0].type&&"bgp"===r[0].input[0].type){const e=r[0];return t.push(e.input[0]),this.operationFactory.createLeftJoin(this.joinOperationsAsBgp(t),e.input[1])}return r.length===e.length?this.joinOperationsAsNestedJoin(r):this.joinOperationsAsNestedJoin([this.joinOperationsAsBgp(t),this.joinOperationsAsNestedJoin(r)])}joinOperationsAsBgp(e){return this.operationFactory.createBgp([].concat.apply([],e.map((e=>e.patterns))))}joinOperationsAsNestedJoin(e){return this.operationFactory.createJoin(e)}appendFieldToPath(e,t){return e.concat([t])}getFieldLabel(e){return(e.alias?e.alias:e.name).value}nameToVariable(e,t){return this.dataFactory.variable((t.path.length?t.path.join(this.settings.variableDelimiter)+this.settings.variableDelimiter:"")+e)}valueToNamedNode(e,t){const r=t.expandTerm(e,!0);if(this.settings.requireContext&&!r)throw new Error("No context entry was found for "+e);return this.dataFactory.namedNode(r||e)}getArgument(e,t){if(e)for(const r of e)if(r.name.value===t)return r}newTypePattern(e,t,r){return this.operationFactory.createPattern(e,this.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),this.valueToNamedNode(t.name.value,r.context),r.graph)}createQuadPattern(e,t,r,n,i){const o=this.valueToNamedNode(t.value,i);return i&&i.getContextRaw()[t.value]&&i.getContextRaw()[t.value]["@reverse"]?this.operationFactory.createPattern(r,o,e,n):this.operationFactory.createPattern(e,o,r,n)}createQuadPath(e,t,r,n,i,o){const a=this.valueToNamedNode(t.value,o);let s=this.operationFactory.createLink(a);for(const e of r.values){if("EnumValue"!==e.kind)throw new Error("Invalid value type for 'alt' argument, must be EnumValue, but got "+e.kind);s=this.operationFactory.createAlt([s,this.operationFactory.createLink(this.valueToNamedNode(e.value,o))])}return o&&o.getContextRaw()[t.value]&&o.getContextRaw()[t.value]["@reverse"]?this.operationFactory.createPath(n,s,e,i):this.operationFactory.createPath(e,s,n,i)}}},75566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerAdapter=void 0,t.NodeHandlerAdapter=class{constructor(e,t,r){this.targetKind=e,this.util=t,this.settings=r}getNodeQuadContextSelectionSet(e,t,r){const n={};if(e)for(const t of e.selections)if("Field"===t.kind){const e=t;this.handleNodeQuadContextField(e,r,n,"id","subject"),this.handleNodeQuadContextField(e,r,n,"graph","graph")}return n}handleNodeQuadContextField(e,t,r,n,i){if(!r[i]&&e.name.value===n){if(!r[i]){const o=this.util.getArgument(e.arguments,"_");if(o){const a=this.util.handleNodeValue(o.value,e.name.value,t);if(1!==a.terms.length)throw new Error(`Only single values can be set as ${n}, but got ${a.terms.length} at ${e.name.value}`);r[i]=a.terms[0],a.auxiliaryPatterns&&(r.auxiliaryPatterns||(r.auxiliaryPatterns=[]),r.auxiliaryPatterns.concat(a.auxiliaryPatterns))}}if(!r[i]){const n=this.util.nameToVariable(this.util.getFieldLabel(e),t);t.terminalVariables.push(n),r[i]=n}}}getDirectiveOutputs(e,t,r){const n=[];if(e)for(const i of e){const e=this.util.handleDirectiveNode({directive:i,fieldLabel:t},r);if(e){if(e.ignore)return null;n.push(e)}}return n}handleDirectiveOutputs(e,t){for(const r of e){if(r.ignore)return this.util.operationFactory.createBgp([]);r.operationOverrider&&(t=r.operationOverrider(t))}return t}}},66337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDefinitionAdapter=void 0;const n=r(75566);class i extends n.NodeHandlerAdapter{constructor(e,t,r){super(e,t,r)}}t.NodeHandlerDefinitionAdapter=i},13260:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDefinitionFragment=void 0;const n=r(66337);class i extends n.NodeHandlerDefinitionAdapter{constructor(e,t){super("FragmentDefinition",e,t)}handle(e,t){throw new Error("Illegal state: fragment definitions must be indexed and removed before processing")}}t.NodeHandlerDefinitionFragment=i},91891:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDefinitionOperation=void 0;const n=r(66337);class i extends n.NodeHandlerDefinitionAdapter{constructor(e,t){super("OperationDefinition",e,t)}handle(e,t){if("query"!==e.operation)throw new Error("Unsupported definition operation: "+e.operation);if(e.variableDefinitions)for(const r of e.variableDefinitions){const e=r.variable.name.value;r.defaultValue&&(t.variablesDict[e]||(t.variablesDict[e]=r.defaultValue));let n=r.type;const i="NonNullType"===n.kind;i&&(n=n.type);const o="ListType"===n.kind;o&&(n=n.type);const a=n.name.value;t.variablesMetaDict[e]={mandatory:i,list:o,type:a}}const r=this.getDirectiveOutputs(e.directives,e.name?e.name.value:"",t);if(!r)return this.util.operationFactory.createBgp([]);const n=this.util.joinOperations(e.selectionSet.selections.map((e=>this.util.handleNode(e,t))));return this.handleDirectiveOutputs(r,n)}}t.NodeHandlerDefinitionOperation=i},98960:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerDocument=void 0;const n=r(17394),i=r(75566);class o extends i.NodeHandlerAdapter{constructor(e,t){super("Document",e,t)}handle(e,t){const r=e.definitions.map((e=>{const r=this.getNodeQuadContextDefinitionNode(e,Object.assign(Object.assign({},t),{ignoreUnknownVariables:!0})),n=Object.assign(Object.assign({},t),{graph:r.graph||t.graph,subject:r.subject||this.util.dataFactory.blankNode()});let i=this.util.handleNode(e,n);return r&&r.auxiliaryPatterns&&(i=this.util.joinOperations([i,this.util.operationFactory.createBgp(r.auxiliaryPatterns)])),i})),n=this.util.operationFactory.createProject(1===r.length?r[0]:this.util.operationFactory.createUnion(r),t.terminalVariables);return this.translateBlankNodesToVariables(n)}getNodeQuadContextDefinitionNode(e,t){if("OperationDefinition"===e.kind)return this.getNodeQuadContextSelectionSet(e.selectionSet,e.name?e.name.value:"",t);throw new Error(`Unsupported definition: ${e.kind}`)}translateBlankNodesToVariables(e){const t=this,r={},i=Array.from(e.variables).reduce(((e,t)=>(e[t.value]=!0,e)),{});return n.Util.mapOperation(e,{path:(e,t)=>({recurse:!1,result:t.createPath(o(e.subject),e.predicate,o(e.object),o(e.graph))}),pattern:(e,t)=>({recurse:!1,result:t.createPattern(o(e.subject),o(e.predicate),o(e.object),o(e.graph))})});function o(e){if("BlankNode"===e.termType){let o=r[e.value];return o||(o=n.Util.createUniqueVariable(e.value,i,t.util.dataFactory),i[o.value]=!0,r[e.value]=o),o}return e}}}t.NodeHandlerDocument=o},53284:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionAdapter=void 0;const n=r(17394),i=r(65183),o=r(75566);class a extends o.NodeHandlerAdapter{constructor(e,t,r){super(e,t,r)}getNodeQuadContextFieldNode(e,t,r){return this.getNodeQuadContextSelectionSet(e.selectionSet,t,Object.assign(Object.assign({},r),{path:this.util.appendFieldToPath(r.path,t)}))}fieldToOperation(e,t,r,o){const a=r;let s,c=0;if(("id"===t.name.value||"graph"===t.name.value)&&(r=!1,t.arguments))for(const r of t.arguments)"_"===r.name.value&&this.util.handleNodeValue(r.value,t.name.value,e);const u=this.util.getFieldLabel(t);if(e.singularizeState===i.SingularizeState.SINGLE&&(e.singularizeVariables[this.util.nameToVariable(u,e).value]=!0),r){const t=this.handleMetaField(e,u,o);if(t)return t}const l=o?[this.util.operationFactory.createBgp(o)]:[],d=this.getNodeQuadContextFieldNode(t,u,e);let p=d.subject||this.util.nameToVariable(u,e),h=d.graph||e.graph;d.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(d.auxiliaryPatterns));let f=!0,y=null;if(r&&t.arguments&&t.arguments.length)for(const n of t.arguments){if("_"===n.name.value){const i=this.util.handleNodeValue(n.value,t.name.value,e);y=i.terms,l.push(this.util.operationFactory.createBgp(i.terms.map((r=>this.util.createQuadPattern(e.subject,t.name,r,e.graph,e.context))))),i.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(i.auxiliaryPatterns)),r=!1;break}if("graph"===n.name.value){const r=this.util.handleNodeValue(n.value,t.name.value,e);if(1!==r.terms.length)throw new Error(`Only single values can be set as graph, but got ${r.terms.length} at ${t.name.value}`);h=r.terms[0],e=Object.assign(Object.assign({},e),{graph:h}),r.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(r.auxiliaryPatterns));break}if("alt"===n.name.value){let r=n.value;"ListValue"!==r.kind&&(r={kind:"ListValue",values:[r]}),l.push(this.util.createQuadPath(e.subject,t.name,r,p,e.graph,e.context)),f=!1;break}}if(r&&f&&l.push(this.util.operationFactory.createBgp([this.util.createQuadPattern(e.subject,t.name,p,e.graph,e.context)])),t.arguments&&t.arguments.length)for(const r of t.arguments)if("_"===r.name.value||"graph"===r.name.value||"alt"===r.name.value);else if("first"===r.name.value){if("IntValue"!==r.value.kind)throw new Error("Invalid value type for 'first' argument: "+r.value.kind);s=parseInt(r.value.value,10)}else if("offset"===r.name.value){if("IntValue"!==r.value.kind)throw new Error("Invalid value type for 'offset' argument: "+r.value.kind);c=parseInt(r.value.value,10)}else{const t=this.util.handleNodeValue(r.value,r.name.value,e);l.push(this.util.operationFactory.createBgp(t.terms.map((t=>this.util.createQuadPattern(p,r.name,t,e.graph,e.context))))),t.auxiliaryPatterns&&l.push(this.util.operationFactory.createBgp(t.auxiliaryPatterns))}const g=this.getDirectiveOutputs(t.directives,u,e);if(!g)return this.util.operationFactory.createBgp([]);let m=this.util.joinOperations(l);if(t.selectionSet&&t.selectionSet.selections.length){if(y){if(1!==y.length)throw new Error(`Only single values can be set as id, but got ${y.length} at ${t.name.value}`);p=y[0]}const r=Object.assign(Object.assign(Object.assign({},e),a?{path:this.util.appendFieldToPath(e.path,u)}:{}),{graph:h,subject:a?p:e.subject});let n=!1;const i=t.selectionSet.selections.filter((e=>"Field"!==e.kind||"totalCount"!==e.name.value||(n=!0,!1)));let o=this.util.joinOperations(l.concat(i.map((e=>this.util.handleNode(e,r)))));if(n){const t=this.util.dataFactory.variable("var"+this.settings.expressionVariableCounter++),r=this.util.dataFactory.variable(p.value+this.settings.variableDelimiter+"totalCount"),n=this.util.operationFactory.createBoundAggregate(t,"count",this.util.operationFactory.createTermExpression(p),!1),a=this.util.operationFactory.createProject(this.util.operationFactory.createExtend(this.util.operationFactory.createGroup(m,[],[n]),r,this.util.operationFactory.createTermExpression(t)),[r]);e.terminalVariables.push(r),o=i.length?this.util.operationFactory.createJoin([this.util.operationFactory.createProject(o,[]),a]):a}m=o}else r&&"Variable"===p.termType&&e.terminalVariables.push(p);return(c||s)&&(m=this.util.operationFactory.createSlice(this.util.operationFactory.createProject(m,n.Util.inScopeVariables(m)),c,s)),this.handleDirectiveOutputs(g,m)}handleMetaField(e,t,r){if("__typename"===t){const n=this.util.nameToVariable(t,e);return e.terminalVariables.push(n),this.util.operationFactory.createBgp([this.util.operationFactory.createPattern(e.subject,this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),this.util.nameToVariable(t,e),e.graph)].concat(r||[]))}}}t.NodeHandlerSelectionAdapter=a},89275:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionField=void 0;const n=r(53284);class i extends n.NodeHandlerSelectionAdapter{constructor(e,t){super("Field",e,t)}handle(e,t){return this.fieldToOperation(t,e,!0)}}t.NodeHandlerSelectionField=i},16332:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionFragmentSpread=void 0;const n=r(53284);class i extends n.NodeHandlerSelectionAdapter{constructor(e,t){super("FragmentSpread",e,t)}handle(e,t){const r=t.fragmentDefinitions[e.name.value];if(!r)throw new Error("Undefined fragment definition: "+e.name.value);const n={alias:void 0,arguments:void 0,directives:r.directives,kind:"Field",name:e.name,selectionSet:r.selectionSet},i=[this.util.newTypePattern(t.subject,r.typeCondition,t)];return this.util.operationFactory.createLeftJoin(this.util.operationFactory.createBgp([]),this.fieldToOperation(t,n,!1,i))}}t.NodeHandlerSelectionFragmentSpread=i},29638:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHandlerSelectionInlineFragment=void 0;const n=r(53284);class i extends n.NodeHandlerSelectionAdapter{constructor(e,t){super("InlineFragment",e,t)}handle(e,t){const r={alias:void 0,arguments:void 0,directives:e.directives,kind:"Field",name:{kind:"Name",value:t.subject.value},selectionSet:e.selectionSet},n=e.typeCondition?[this.util.newTypePattern(t.subject,e.typeCondition,t)]:[];return this.util.operationFactory.createLeftJoin(this.util.operationFactory.createBgp([]),this.fieldToOperation(t,r,!1,n))}}t.NodeHandlerSelectionInlineFragment=i},67797:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerAdapter=void 0,t.DirectiveNodeHandlerAdapter=class{constructor(e,t,r){this.targetKind=e,this.util=t,this.settings=r}getDirectiveConditionalValue(e,t){const r=this.util.getArgument(e.arguments,"if");if(!r)throw new Error(`The directive ${e.name.value} is missing an if-argument.`);const n=this.util.handleNodeValue(r.value,r.name.value,t);if(1!==n.terms.length)throw new Error(`Can not apply the directive ${e.name.value} with a list.`);return n.terms[0]}isDirectiveScopeAll(e){const t=this.util.getArgument(e.arguments,"scope");return t&&"EnumValue"===t.value.kind&&"all"===t.value.value}}},63125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerInclude=void 0;const n=r(67797);class i extends n.DirectiveNodeHandlerAdapter{constructor(e,t){super("include",e,t)}handle(e,t){const r=this.getDirectiveConditionalValue(e.directive,t);return"Literal"===r.termType&&"false"===r.value?{ignore:!0}:{}}}t.DirectiveNodeHandlerInclude=i},53992:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerOptional=void 0;const n=r(67797);class i extends n.DirectiveNodeHandlerAdapter{constructor(e,t){super("optional",e,t)}handle(e,t){return{operationOverrider:e=>this.util.operationFactory.createLeftJoin(this.util.operationFactory.createBgp([]),e)}}}t.DirectiveNodeHandlerOptional=i},95570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerPlural=void 0;const n=r(65183),i=r(67797);class o extends i.DirectiveNodeHandlerAdapter{constructor(e,t){super("plural",e,t)}handle(e,t){return this.isDirectiveScopeAll(e.directive)&&(t.singularizeState=n.SingularizeState.PLURAL),delete t.singularizeVariables[this.util.nameToVariable(e.fieldLabel,t).value],{}}}t.DirectiveNodeHandlerPlural=o},15064:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerSingle=void 0;const n=r(65183),i=r(67797);class o extends i.DirectiveNodeHandlerAdapter{constructor(e,t){super("single",e,t)}handle(e,t){return this.isDirectiveScopeAll(e.directive)&&(t.singularizeState=n.SingularizeState.SINGLE),t.singularizeVariables[this.util.nameToVariable(e.fieldLabel,t).value]=!0,{}}}t.DirectiveNodeHandlerSingle=o},30879:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveNodeHandlerSkip=void 0;const n=r(67797);class i extends n.DirectiveNodeHandlerAdapter{constructor(e,t){super("skip",e,t)}handle(e,t){const r=this.getDirectiveConditionalValue(e.directive,t);return"Literal"===r.termType&&"true"===r.value?{ignore:!0}:{}}}t.DirectiveNodeHandlerSkip=i},2307:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67797),t),i(r(63125),t),i(r(53992),t),i(r(95570),t),i(r(15064),t),i(r(30879),t)},70297:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(2307),t),i(r(4391),t),i(r(75566),t),i(r(66337),t),i(r(13260),t),i(r(91891),t),i(r(98960),t),i(r(53284),t),i(r(89275),t),i(r(16332),t),i(r(29638),t)},55009:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerAdapter=void 0,t.NodeValueHandlerAdapter=class{constructor(e,t,r){this.targetKind=e,this.util=t,this.settings=r}}},22910:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerBoolean=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("BooleanValue",e,t),this.datatype=this.util.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#boolean")}handle(e,t,r){return{terms:[this.util.dataFactory.literal(e.value?"true":"false",this.datatype)]}}}t.NodeValueHandlerBoolean=i},67057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerEnum=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("EnumValue",e,t)}handle(e,t,r){return{terms:[this.util.valueToNamedNode(e.value,r.context)]}}}t.NodeValueHandlerEnum=i},968:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerFloat=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("FloatValue",e,t),this.datatype=this.util.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#float")}handle(e,t,r){return{terms:[this.util.dataFactory.literal(e.value,this.datatype)]}}}t.NodeValueHandlerFloat=i},1463:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerInt=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("IntValue",e,t),this.datatype=this.util.dataFactory.namedNode("http://www.w3.org/2001/XMLSchema#integer")}handle(e,t,r){return{terms:[this.util.dataFactory.literal(e.value,this.datatype)]}}}t.NodeValueHandlerInt=i},57044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerList=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("ListValue",e,t),this.nodeFirst=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first"),this.nodeRest=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest"),this.nodeNil=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil")}handle(e,t,r){const n=[];let i=[];for(const o of e.values){const e=this.util.handleNodeValue(o,t,r);for(const t of e.terms)n.push(t);e.auxiliaryPatterns&&(i=i.concat(e.auxiliaryPatterns))}if(this.settings.arraysToRdfLists){const e=this.util.dataFactory.blankNode();let t=e,o=n.length;for(const e of n){i.push(this.util.operationFactory.createPattern(t,this.nodeFirst,e,r.graph));const n=0==--o?this.nodeNil:this.util.dataFactory.blankNode();i.push(this.util.operationFactory.createPattern(t,this.nodeRest,n,r.graph)),t=n}return{terms:[e],auxiliaryPatterns:i}}return{terms:n,auxiliaryPatterns:i}}}t.NodeValueHandlerList=i},13381:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerNull=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("NullValue",e,t),this.nil=this.util.dataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil")}handle(e,t,r){return{terms:[this.nil]}}}t.NodeValueHandlerNull=i},89339:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerObject=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("ObjectValue",e,t)}handle(e,t,r){const n=this.util.dataFactory.blankNode();let i=[];for(const o of e.fields){const e=this.util.handleNodeValue(o.value,t,r);for(const t of e.terms)i.push(this.util.createQuadPattern(n,o.name,t,r.graph,r.context));e.auxiliaryPatterns&&(i=i.concat(e.auxiliaryPatterns))}return{terms:[n],auxiliaryPatterns:i}}}t.NodeValueHandlerObject=i},86085:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerString=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("StringValue",e,t)}handle(e,t,r){const n=r.context.getContextRaw()[t];let i,o;return n&&"string"!=typeof n&&(n["@language"]?i=n["@language"]:n["@type"]&&(o=this.util.dataFactory.namedNode(n["@type"]))),{terms:[this.util.dataFactory.literal(e.value,i||o)]}}}t.NodeValueHandlerString=i},62784:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeValueHandlerVariable=void 0;const n=r(55009);class i extends n.NodeValueHandlerAdapter{constructor(e,t){super("Variable",e,t)}handle(e,t,r){const n=e.name.value,i=r.variablesDict[n],o=r.variablesMetaDict[n];if(!i){if(r.ignoreUnknownVariables||o&&!o.mandatory){const e=this.util.dataFactory.variable(n);return r.terminalVariables.map((e=>e.value)).indexOf(n)<0&&r.terminalVariables.push(e),{terms:[e]}}throw new Error(`Undefined variable: ${n}`)}if("Variable"===i.kind)throw new Error(`Variable refers to another variable: ${n}`);if(o)if(o.list){if("ListValue"!==i.kind)throw new Error(`Expected a list, but got ${i.kind} for ${n}`);if(o.type){const e=i;for(const t of e.values)if(t.kind!==o.type)throw new Error(`Expected ${o.type}, but got ${t.kind} for ${n}`)}}else o.type;return this.util.handleNodeValue(i,t,r)}}t.NodeValueHandlerVariable=i},4391:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(55009),t),i(r(22910),t),i(r(67057),t),i(r(968),t),i(r(1463),t),i(r(57044),t),i(r(13381),t),i(r(89339),t),i(r(86085),t),i(r(62784),t)},61082:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(57930),t),i(r(44785),t),i(r(32176),t),i(r(16347),t),i(r(46043),t),i(r(63146),t),i(r(36624),t)},57930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0;const n=r(70742),i=r(44785),o=r(32176),a=r(63146),s=r(36624);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},44785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},32176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0;const n=r(44785),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},16347:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46043:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},63146:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(44785),o=r(36624);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},17394:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.toSparqlJs=t.toSparql=t.Factory=t.Algebra=t.translate=void 0;const s=a(r(70189));t.translate=s.default;const c=o(r(8498));t.Algebra=c;const u=a(r(35344));t.Factory=u.default;const l=r(74093);Object.defineProperty(t,"toSparql",{enumerable:!0,get:function(){return l.toSparql}}),Object.defineProperty(t,"toSparqlJs",{enumerable:!0,get:function(){return l.toSparqlJs}});const d=a(r(53496));t.Util=d.default},8498:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.expressionTypes=t.types=void 0,(n=t.types||(t.types={})).ALT="alt",n.ASK="ask",n.BGP="bgp",n.CONSTRUCT="construct",n.DESCRIBE="describe",n.DISTINCT="distinct",n.EXPRESSION="expression",n.EXTEND="extend",n.FILTER="filter",n.FROM="from",n.GRAPH="graph",n.GROUP="group",n.INV="inv",n.JOIN="join",n.LEFT_JOIN="leftjoin",n.LINK="link",n.MINUS="minus",n.NOP="nop",n.NPS="nps",n.ONE_OR_MORE_PATH="OneOrMorePath",n.ORDER_BY="orderby",n.PATH="path",n.PATTERN="pattern",n.PROJECT="project",n.REDUCED="reduced",n.SEQ="seq",n.SERVICE="service",n.SLICE="slice",n.UNION="union",n.VALUES="values",n.ZERO_OR_MORE_PATH="ZeroOrMorePath",n.ZERO_OR_ONE_PATH="ZeroOrOnePath",n.COMPOSITE_UPDATE="compositeupdate",n.DELETE_INSERT="deleteinsert",n.LOAD="load",n.CLEAR="clear",n.CREATE="create",n.DROP="drop",n.ADD="add",n.MOVE="move",n.COPY="copy",(r=t.expressionTypes||(t.expressionTypes={})).AGGREGATE="aggregate",r.EXISTENCE="existence",r.NAMED="named",r.OPERATOR="operator",r.TERM="term",r.WILDCARD="wildcard"},35344:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(8498)),s=r(47793),c=r(43347),u=r(98082);t.default=class{constructor(e){this.dataFactory=e||new s.DataFactory,this.stringType=this.createTerm("http://www.w3.org/2001/XMLSchema#string")}createAlt(e,t=!0){return this.flattenMulti({type:a.types.ALT,input:e},t)}createAsk(e){return{type:a.types.ASK,input:e}}createBoundAggregate(e,t,r,n,i){const o=this.createAggregateExpression(t,r,n,i);return o.variable=e,o}createBgp(e){return{type:a.types.BGP,patterns:e}}createConstruct(e,t){return{type:a.types.CONSTRUCT,input:e,template:t}}createDescribe(e,t){return{type:a.types.DESCRIBE,input:e,terms:t}}createDistinct(e){return{type:a.types.DISTINCT,input:e}}createExtend(e,t,r){return{type:a.types.EXTEND,input:e,variable:t,expression:r}}createFrom(e,t,r){return{type:a.types.FROM,input:e,default:t,named:r}}createFilter(e,t){return{type:a.types.FILTER,input:e,expression:t}}createGraph(e,t){return{type:a.types.GRAPH,input:e,name:t}}createGroup(e,t,r){return{type:a.types.GROUP,input:e,variables:t,aggregates:r}}createInv(e){return{type:a.types.INV,path:e}}createJoin(e,t=!0){return this.flattenMulti({type:a.types.JOIN,input:e},t)}createLeftJoin(e,t,r){return r?{type:a.types.LEFT_JOIN,input:[e,t],expression:r}:{type:a.types.LEFT_JOIN,input:[e,t]}}createLink(e){return{type:a.types.LINK,iri:e}}createMinus(e,t){return{type:a.types.MINUS,input:[e,t]}}createNop(){return{type:a.types.NOP}}createNps(e){return{type:a.types.NPS,iris:e}}createOneOrMorePath(e){return{type:a.types.ONE_OR_MORE_PATH,path:e}}createOrderBy(e,t){return{type:a.types.ORDER_BY,input:e,expressions:t}}createPath(e,t,r,n){return n?{type:a.types.PATH,subject:e,predicate:t,object:r,graph:n}:{type:a.types.PATH,subject:e,predicate:t,object:r,graph:this.dataFactory.defaultGraph()}}createPattern(e,t,r,n){const i=this.dataFactory.quad(e,t,r,n);return i.type=a.types.PATTERN,i}createProject(e,t){return{type:a.types.PROJECT,input:e,variables:t}}createReduced(e){return{type:a.types.REDUCED,input:e}}createSeq(e,t=!0){return this.flattenMulti({type:a.types.SEQ,input:e},t)}createService(e,t,r){return{type:a.types.SERVICE,input:e,name:t,silent:Boolean(r)}}createSlice(e,t,r){return t=t||0,void 0!==r?{type:a.types.SLICE,input:e,start:t,length:r}:{type:a.types.SLICE,input:e,start:t}}createUnion(e,t=!0){return this.flattenMulti({type:a.types.UNION,input:e},t)}createValues(e,t){return{type:a.types.VALUES,variables:e,bindings:t}}createZeroOrMorePath(e){return{type:a.types.ZERO_OR_MORE_PATH,path:e}}createZeroOrOnePath(e){return{type:a.types.ZERO_OR_ONE_PATH,path:e}}createAggregateExpression(e,t,r,n){return n?{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,separator:n,distinct:r}:{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,distinct:r}}createExistenceExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.EXISTENCE,not:e,input:t}}createNamedExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.NAMED,name:e,args:t}}createOperatorExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.OPERATOR,operator:e,args:t}}createTermExpression(e){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.TERM,term:e}}createWildcardExpression(){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.WILDCARD,wildcard:new u.Wildcard}}createTerm(e){return(0,c.stringToTerm)(e,this.dataFactory)}createCompositeUpdate(e){return{type:a.types.COMPOSITE_UPDATE,updates:e}}createDeleteInsert(e,t,r){const n={type:a.types.DELETE_INSERT};return e&&(n.delete=e),t&&(n.insert=t),r&&(n.where=r),n}createLoad(e,t,r){const n={type:a.types.LOAD,source:e};return t&&(n.destination=t),this.addSilent(n,Boolean(r))}createClear(e,t){return this.addSilent({type:a.types.CLEAR,source:e},Boolean(t))}createCreate(e,t){return this.addSilent({type:a.types.CREATE,source:e},Boolean(t))}createDrop(e,t){return this.addSilent({type:a.types.DROP,source:e},Boolean(t))}createAdd(e,t,r){return this.addSilent({type:a.types.ADD,source:e,destination:t},Boolean(r))}createMove(e,t,r){return this.addSilent({type:a.types.MOVE,source:e,destination:t},Boolean(r))}createCopy(e,t,r){return this.addSilent({type:a.types.COPY,source:e,destination:t},Boolean(r))}addSilent(e,t){return t&&(e.silent=t),e}flattenMulti(e,t){if(!t)return e;const r=e.type,n=e.input;let i=[];for(const e of n)e.type===r?i.push(...e.input):i.push(e);return e.input=i,e}}},74093:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.toSparqlJs=t.toSparql=void 0;const s=r(62699),c=r(43347),u=r(98082),l=o(r(8498)),d=a(r(35344)),p=a(r(53496)),h=l.types,f=l.expressionTypes;let y;const g=new d.default;function m(e){b();let t=_(e=function(e){return D(e,[])}(e));return"group"===t.type?t.patterns[0]:t}function b(){y={project:!1,extend:[],group:[],aggregates:[],order:[]}}function _(e){switch(e.type!==h.EXTEND&&e.type!==h.ORDER_BY&&e.type!==h.GRAPH&&(y.project=!1),e.type){case h.EXPRESSION:return v(e);case h.ASK:return A(e,h.ASK);case h.BGP:return function(e){let t=e.patterns.map(O);return 0===t.length?null:{type:"bgp",triples:t}}(e);case h.CONSTRUCT:return function(e){return{type:"query",prefixes:{},queryType:"CONSTRUCT",template:e.template.map(O),where:p.default.flatten([_(e.input)])}}(e);case h.DESCRIBE:return A(e,h.DESCRIBE);case h.DISTINCT:return function(e){let t=_(e.input);return t.patterns[0].distinct=!0,t}(e);case h.EXTEND:return function(e){return y.project?(y.extend.push(e),_(e.input)):p.default.flatten([_(e.input),{type:"bind",variable:e.variable,expression:v(e.expression)}])}(e);case h.FROM:return function(e){const t=_(e.input);let r=t;return"group"===t.type&&(r=t.patterns[0]),r.from={default:e.default,named:e.named},t}(e);case h.FILTER:return function(e){return{type:"group",patterns:p.default.flatten([_(e.input),{type:"filter",expression:v(e.expression)}])}}(e);case h.GRAPH:return function(e){return{type:"graph",patterns:p.default.flatten([_(e.input)]),name:e.name}}(e);case h.GROUP:return function(e){const t=_(e.input),r=e.aggregates.map(T);return y.aggregates.push(...r),y.group.push(...e.variables),t}(e);case h.JOIN:return function(e){return p.default.flatten(e.input.map(_)).reduce(((e,t)=>("bgp"!==t.type||0==e.length||"bgp"!==e[e.length-1].type?e.push(t):e[e.length-1].triples.push(...t.triples),e)),[])}(e);case h.LEFT_JOIN:return function(e){const t={type:"optional",patterns:[_(e.input[1])]};return e.expression&&t.patterns.push({type:"filter",expression:v(e.expression)}),t.patterns=p.default.flatten(t.patterns),p.default.flatten([_(e.input[0]),t])}(e);case h.MINUS:return function(e){let t=_(e.input[1]);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),p.default.flatten([_(e.input[0]),{type:"minus",patterns:t}])}(e);case h.NOP:return{};case h.ORDER_BY:return function(e){return y.order.push(...e.expressions),_(e.input)}(e);case h.PATH:return function(e){return{type:"bgp",triples:[{subject:e.subject,predicate:w(e.predicate),object:e.object}]}}(e);case h.PATTERN:return O(e);case h.PROJECT:return A(e,h.PROJECT);case h.REDUCED:return function(e){let t=_(e.input);return t.patterns[0].reduced=!0,t}(e);case h.SERVICE:return function(e){let t=_(e.input);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),{type:"service",name:e.name,silent:e.silent,patterns:t}}(e);case h.SLICE:return function(e){let t=_(e.input),r=t;return t.type&&"group"===t.type&&(r=t.patterns[0]),0!==e.start&&(r.offset=e.start),void 0!==e.length&&(r.limit=e.length),t}(e);case h.UNION:return function(e){return{type:"union",patterns:e.input.map(_).map(E)}}(e);case h.VALUES:return function(e){return{type:"values",values:e.bindings.map((t=>{let r={};for(let n of e.variables){let e=`?${n.value}`;t[e]?r[e]=t[e]:r[e]=void 0}return r}))}}(e);case h.COMPOSITE_UPDATE:return function(e){return{prefixes:{},type:"update",updates:e.updates.map((e=>_(e).updates[0]))}}(e);case h.DELETE_INSERT:return function(e){var t;let r,n=e.where;if(n&&n.type===h.FROM){let e=n;n=e.input,r={default:e.default,named:e.named}}const i=[{updateType:"insertdelete",delete:F(e.delete||[]),insert:F(e.insert||[])}];if(r&&(i[0].using=r),!n||n.type===h.BGP&&0===n.patterns.length)i[0].where=[];else{const e=[];let r=_(D(n,e));if("group"===r.type?i[0].where=r.patterns:i[0].where=[r],e.length>0){if(1!==e.length)throw new Error("This is unexpected and might indicate an error in graph handling for updates.");""!==(null===(t=e[0])||void 0===t?void 0:t.value)&&(i[0].where=[{type:"graph",patterns:i[0].where,name:e[0]}])}}return e.delete||e.where?e.insert||e.where?!e.insert&&e.where&&"bgp"===e.where.type&&(0,s.isomorphic)(e.delete,e.where.patterns)&&(delete i[0].where,i[0].updateType="deletewhere"):(delete i[0].insert,delete i[0].where,e.delete.some((e=>"Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType))?i[0].updateType="deletewhere":i[0].updateType="delete"):(i[0].updateType="insert",delete i[0].delete,delete i[0].where),{prefixes:{},type:"update",updates:i}}(e);case h.LOAD:return function(e){const t=[{type:"load",silent:Boolean(e.silent),source:e.source}];return e.destination&&(t[0].destination=e.destination),{prefixes:{},type:"update",updates:t}}(e);case h.CLEAR:return function(e){return R(e,"clear")}(e);case h.CREATE:return function(e){return R(e,"create")}(e);case h.DROP:return function(e){return R(e,"drop")}(e);case h.ADD:return function(e){return P(e,"add")}(e);case h.MOVE:return function(e){return P(e,"move")}(e);case h.COPY:return function(e){return P(e,"copy")}(e)}throw new Error(`Unknown Operation type ${e.type}`)}function v(e){switch(e.expressionType){case f.AGGREGATE:return function(e){const t={expression:v(e.expression),type:"aggregate",aggregation:e.aggregator,distinct:e.distinct};return e.separator&&(t.separator=e.separator),t}(e);case f.EXISTENCE:return function(e){return{type:"operation",operator:e.not?"notexists":"exists",args:p.default.flatten([_(e.input)])}}(e);case f.NAMED:return function(e){return{type:"functionCall",function:e.name,args:e.args.map(v)}}(e);case f.OPERATOR:return function(e){if("desc"===e.operator){return{expression:v(e.args[0]),descending:!0}}const t={type:"operation",operator:e.operator,args:e.args.map(v)};return"in"!==t.operator&&"notin"!==t.operator||(t.args=[t.args[0]].concat([t.args.slice(1)])),t}(e);case f.TERM:return function(e){return e.term}(e);case f.WILDCARD:return function(e){return e.wildcard}(e)}throw new Error(`Unknown Expression Operation type ${e.expressionType}`)}function w(e){switch(e.type){case h.ALT:return function(e){const t=e.input.map(w);return t.every((e=>"pathType"in e&&"!"===e.pathType))?{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:p.default.flatten(t.map((e=>e.items)))}]}:{type:"path",pathType:"|",items:t}}(e);case h.INV:return function(e){if(e.path.type===h.NPS){const t=e.path.iris.map((e=>({type:"path",pathType:"^",items:[e]})));return t.length<=1?{type:"path",pathType:"!",items:t}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:t}]}}return{type:"path",pathType:"^",items:[w(e.path)]}}(e);case h.LINK:return function(e){return e.iri}(e);case h.NPS:return function(e){return e.iris.length<=1?{type:"path",pathType:"!",items:e.iris}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:e.iris}]}}(e);case h.ONE_OR_MORE_PATH:return function(e){return{type:"path",pathType:"+",items:[w(e.path)]}}(e);case h.SEQ:return function(e){return{type:"path",pathType:"/",items:e.input.map(w)}}(e);case h.ZERO_OR_MORE_PATH:return function(e){return{type:"path",pathType:"*",items:[w(e.path)]}}(e);case h.ZERO_OR_ONE_PATH:return function(e){return{type:"path",pathType:"?",items:[w(e.path)]}}(e)}throw new Error(`Unknown Path type ${e.type}`)}function S(e){return(0,c.termToString)(e)}function E(e){return Array.isArray(e)?1===e.length?e[0]:{type:"group",patterns:e}:e}function T(e){return e}function O(e){return{subject:e.subject,predicate:e.predicate,object:e.object}}function x(e,t){let r=p.default.isSimpleTerm(e)?S(e):e;if("string"==typeof r){if(t[r])return t[r]}else if(Array.isArray(e))e=e.map((e=>x(e,t)));else for(let r of Object.keys(e))e[r]=x(e[r],t);return e}function A(e,t){const r={type:"query",prefixes:{}},n=r;let i;t===h.PROJECT?(r.queryType="SELECT",i=e.variables):t===h.ASK?r.queryType="ASK":t===h.DESCRIBE&&(r.queryType="DESCRIBE",i=e.terms);const o=y.extend,a=y.group,s=y.aggregates,c=y.order;b(),y.project=!0;let l=p.default.flatten([_(e.input)]);1===l.length&&"group"===l[0].type&&(l=l[0].patterns),r.where=l;let d={};for(let e of y.aggregates)d[S(e.variable)]=v(e);let f={};for(let e=y.extend.length-1;e>=0;--e){let t=y.extend[e];f[S(t.variable)]=x(v(t.expression),d)}if(y.group.length>0&&(n.group=y.group.map((e=>{let t=S(e);if(f[t]){let r=f[t];return delete f[t],{variable:e,expression:r}}return{expression:e}}))),y.order.length>0&&(n.order=y.order.map(_).map((e=>e.descending?e:{expression:e}))),i&&(n.variables=i.map((e=>{let t=S(e);return f[t]?{variable:e,expression:f[t]}:e})),0===n.variables.length&&(n.variables=[new u.Wildcard])),r.where.length>0&&"filter"===r.where[r.where.length-1].type){const e=r.where[r.where.length-1];I(e,Object.keys(d))&&(n.having=p.default.flatten([x(e.expression,d)]),r.where.splice(-1))}return y.extend=o,y.group=a,y.aggregates=s,y.order=c,{type:"group",patterns:[n]}}function I(e,t){return p.default.isSimpleTerm(e)?t.indexOf(S(e))>=0:Array.isArray(e)?e.some((e=>I(e,t))):e===Object(e)?Object.keys(e).some((r=>I(e[r],t))):t.indexOf(e)>=0}function R(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return"DEFAULT"===e.source?r[0].graph={default:!0}:"NAMED"===e.source?r[0].graph={named:!0}:"ALL"===e.source?r[0].graph={all:!0}:r[0].graph={type:"graph",name:e.source},{prefixes:{},type:"update",updates:r}}function P(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return r[0].source="DEFAULT"===e.source?{type:"graph",default:!0}:{type:"graph",name:e.source},r[0].destination="DEFAULT"===e.destination?{type:"graph",default:!0}:{type:"graph",name:e.destination},{prefixes:{},type:"update",updates:r}}function F(e){if(!e)return[];const t={};return e.forEach((e=>{const r=e.graph.value;t[r]||(t[r]=[]),t[r].push(e)})),Object.keys(t).map((e=>""===e?{type:"bgp",triples:t[e].map(O)}:{type:"graph",triples:t[e].map(O),name:t[e][0].graph}))}function D(e,t){if(Array.isArray(e))return e.map((e=>D(e,t)));if(!e.type)return e;if(e.type===h.DELETE_INSERT)return e;if((e.type===h.PATTERN||e.type===h.PATH)&&e.graph)return t.push(e.graph),""!==e.graph.name?e.type===h.PATTERN?g.createPattern(e.subject,e.predicate,e.object):g.createPath(e.subject,e.predicate,e.object):e;const r={},n={},i={};for(let t of Object.keys(e)){const o=[];if(r[t]=D(e[t],o),o.length>0){n[t]=o;for(const e of o)i[e.value]=e}}const o=Object.keys(i);if(o.length>0)if(1!==o.length||[h.PROJECT,h.SERVICE].includes(e.type)){if(e.type===h.BGP)return function(e,t){var r;const n={};for(let i=0;i""===n[e][0].value?t:g.createGraph(t,n[e][r]))):""!==n[e][0].value&&(r[e]=g.createGraph(t,n[e][0]))}}else t.push(i[o[0]]);return r}t.toSparql=function(e,t={}){return new u.Generator(t).stringify(m(e))},t.toSparqlJs=m},70189:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(29252),c=r(43347),u=o(r(8498)),l=a(r(35344)),d=a(r(53496)),p=r(98082).Parser,h=u.types;let f,y=new Set,g=0,m=!1;function b(e,t,r){if(y=new Set,g=0,m=Boolean(t),!e.type)return f.createNop();if("query"!==e.type&&"update"!==e.type)throw new Error("Translate only works on complete query or update objects.");let n;var i;return w(e),"query"===e.type?(n=E({type:"group",patterns:e.where||[]}),n=function(e,t){const r=e,n=[],i={};if(r.variables=r.variables&&r.variables.map((e=>j(e,i))),r.having=r.having&&r.having.map((e=>j(e,i))),r.order=r.order&&r.order.map((e=>j(e,i))),r.group||Object.keys(i).length>0){const e=Object.keys(i).map((e=>function(e,t){if("aggregate"!==e.type||!e.aggregation)throw new Error(`Unexpected input: ${JSON.stringify(e)}`);const r=T(e);return r.variable=t,r}(i[e],f.createTerm(e)))),n=[];if(r.group)for(const e of r.group)if(d.default.isSimpleTerm(e.expression))n.push(e.expression);else{const r="variable"in e?e.variable:A();t=f.createExtend(t,r,T(e.expression)),n.push(r)}t=f.createGroup(t,n,e)}if(r.having)for(let e of r.having)t=f.createFilter(t,T(e));e.values&&(t=f.createJoin([t,N(e)]));let o=[];if("SELECT"===e.queryType||"DESCRIBE"===e.queryType)if(e.variables.some((e=>e&&d.default.isWildcard(e))))o=Object.values(S(e)).sort(((e,t)=>e.value.localeCompare(t.value)));else for(let t of e.variables)v(t)||!("variable"in t)?o.push(t):t.variable&&(o.push(t.variable),n.push(t));for(let e of n)t=f.createExtend(t,e.variable,T(e.expression));return r.order&&(t=f.createOrderBy(t,r.order.map((e=>{let t=T(e.expression);return e.descending&&(t=f.createOperatorExpression("desc",[t])),t})))),"SELECT"===e.queryType&&(t=f.createProject(t,o)),r.distinct&&(t=f.createDistinct(t)),r.reduced&&(t=f.createReduced(t)),"CONSTRUCT"===e.queryType?t=f.createConstruct(t,(e.template||[]).map(I)):"ASK"===e.queryType?t=f.createAsk(t):"DESCRIBE"===e.queryType&&(t=f.createDescribe(t,o)),(r.offset||r.limit)&&(t=f.createSlice(t,r.offset||0,r.limit)),r.from&&(t=f.createFrom(t,r.from.default,r.from.named)),t}(e,n)):"update"===e.type&&(n=1===(i=e).updates.length?C(i.updates[0]):f.createCompositeUpdate(i.updates.map(C))),r&&(n=k(n)),n}function _(e){return Boolean(null==e?void 0:e.termType)}function v(e){return"Variable"===(null==e?void 0:e.termType)}function w(e){if(_(e))v(e)&&y.add(`?${e.value}`);else if(Array.isArray(e))for(const t of e)w(t);else if(e&&"object"==typeof e)for(let t of Object.keys(e))t.startsWith("?")&&y.add(t),w(e[t])}function S(e){let t={};if((r=e).subject&&r.predicate&&r.object){const r=[S(e.subject),S(e.predicate),S(e.object),e.graph?S(e.graph):{}];Object.assign(t,...r)}else if(_(e))v(e)&&(t[e.value]=e);else if("bgp"===e.type){const r=e.triples;Object.assign(t,...r.map(S))}else if("path"===e.type)Object.assign(t,...e.items.map(S));else if("group"===e.type||"union"===e.type||"optional"===e.type)Object.assign(t,...e.patterns.map(S));else if("service"===e.type||"graph"===e.type)Object.assign(t,S(e.name)),Object.assign(t,...e.patterns.map(S));else if("bind"===e.type)Object.assign(t,S(e.variable));else if("values"===e.type){if(e.values.length>0){const r=Object.keys(e.values[0]).map((e=>f.createTerm(e)));Object.assign(t,...r.map(S))}}else if("query"===e.type&&("SELECT"===e.queryType||"DESCRIBE"===e.queryType)){e.where&&e.variables.some(d.default.isWildcard)&&Object.assign(t,...e.where.map(S));for(const r of e.variables)v(r)?Object.assign(t,S(r)):r.variable&&Object.assign(t,S(r.variable));if("SELECT"===e.queryType){if(e.group)for(const r of e.group)r.variable&&Object.assign(t,S(r.variable));if(e.values){const r={type:"values",values:e.values};Object.assign(t,S(r))}}}var r;return t}function E(e){if("bgp"===e.type)return function(e){let t=[],r=[];for(let i of e.triples)if("pathType"in i.predicate){let e=x((n=i).subject,O(n.predicate),n.object);for(let n of e)n.type===h.PATH?(t.length>0&&r.push(f.createBgp(t)),t=[],r.push(n)):t.push(n)}else t.push(I(i));var n;return t.length>0&&r.push(f.createBgp(t)),1===r.length?r[0]:f.createJoin(r)}(e);if("union"===e.type)return f.createUnion(e.patterns.map((e=>("group"!==e.type&&(e={type:"group",patterns:[e]}),E(e)))));if("graph"===e.type){let t=E({type:"group",patterns:e.patterns});return t=m?P(t,e.name):f.createGraph(t,e.name),t}if("values"===e.type)return N(e);if("query"===e.type)return b(e,m,!1);if("group"===e.type){let t=[],r=[];for(let n of e.patterns)("filter"===n.type?t:r).push(n);let n=r.reduce(F,f.createBgp([])),i=t.map((e=>T(e.expression)));return i.length>0&&(n=f.createFilter(n,i.reduce(((e,t)=>f.createOperatorExpression("&&",[e,t]))))),n}throw new Error(`Unexpected type: ${e.type}`)}function T(e){if(d.default.isSimpleTerm(e))return f.createTermExpression(e);if(d.default.isQuad(e))return d.default.hasQuadVariables(e)?f.createOperatorExpression("triple",[T(e.subject),T(e.predicate),T(e.object)]):f.createTermExpression(e);if(d.default.isWildcard(e))return f.createWildcardExpression();if("aggregation"in e)return f.createAggregateExpression(e.aggregation,T(e.expression),Boolean(e.distinct),e.separator);if("function"in e)return f.createNamedExpression(e.function,e.args.map(T));if("operator"in e)return"exists"===e.operator||"notexists"===e.operator?f.createExistenceExpression("notexists"===e.operator,E(e.args[0])):("in"!==e.operator&&"notin"!==e.operator||(e.args=[e.args[0]].concat(e.args[1])),f.createOperatorExpression(e.operator,e.args.map(T)));throw new Error(`Unknown expression: ${JSON.stringify(e)}`)}function O(e){if(d.default.isSimpleTerm(e)){if("NamedNode"===e.termType)return f.createLink(e);throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(e)}`)}if("^"===e.pathType)return f.createInv(O(e.items[0]));if("!"===e.pathType){let t,r=[],n=[];t="pathType"in e.items[0]&&"|"===e.items[0].pathType?e.items[0].items:e.items;for(let e of t)if(d.default.isSimpleTerm(e))r.push(e);else{if("^"!==e.pathType)throw new Error(`Unexpected item: ${JSON.stringify(e)}`);n.push(e.items[0])}let i=f.createNps(r),o=f.createInv(f.createNps(n));return 0===n.length?i:0===r.length?o:f.createAlt([i,o])}if("/"===e.pathType)return f.createSeq(e.items.map(O));if("|"===e.pathType)return f.createAlt(e.items.map(O));if("*"===e.pathType)return f.createZeroOrMorePath(O(e.items[0]));if("+"===e.pathType)return f.createOneOrMorePath(O(e.items[0]));if("?"===e.pathType)return f.createZeroOrOnePath(O(e.items[0]));throw new Error(`Unable to translate path expression ${JSON.stringify(e)}`)}function x(e,t,r){if(t.type===h.LINK)return[f.createPattern(e,t.iri,r)];if(t.type===h.INV)return x(r,t.path,e);if(t.type===h.SEQ){let n=e;return d.default.flatten(t.input.map(((e,i)=>{const o=i===t.input.length-1?r:A(),a=x(n,e,o);return"Variable"===o.termType&&(n=o),a})))}return[f.createPath(e,t,r)]}function A(){let e="?var"+g++;return y.has(e)?A():(y.add(e),f.createTerm(e))}function I(e){if("pathType"in e.predicate)throw new Error("Trying to translate property path to quad.");return f.createPattern(e.subject,e.predicate,e.object,e.graph)}t.default=function(e,t){let r;if(t=t||{},f=new l.default(t.dataFactory),"string"==typeof e){let n=new p(t);n._resetBlanks(),r=n.parse(e)}else r=e;return b(r,t.quads,t.blankToVariable)};let R=Object.values(h);function P(e,t,r){if(e.type===h.GRAPH){if(r)throw new Error("Recursing through nested GRAPH statements with a replacement is impossible.");e=P(e.input,e.name)}else if(e.type===h.SERVICE);else if(e.type===h.BGP)e.patterns=e.patterns.map((e=>(r&&(e.subject.equals(t)&&(e.subject=r),e.predicate.equals(t)&&(e.predicate=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t),e)));else if(e.type===h.PATH)r&&(e.subject.equals(t)&&(e.subject=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t);else if(e.type!==h.PROJECT||r)if(e.type!==h.EXTEND||r)for(let n of Object.keys(e))Array.isArray(e[n])?e[n]=e[n].map((e=>P(e,t,r))):R.indexOf(e[n].type)>=0?e[n]=P(e[n],t,r):r&&v(e[n])&&e[n].equals(t)&&(e[n]=r);else e.variable.equals(t)&&(r=A()),e.input=P(e.input,t,r);else e.variables.some((e=>e.equals(t)))||(r=A()),e.input=P(e.input,t,r);return e}function F(e,t){if("optional"===t.type){const r=E({type:"group",patterns:t.patterns});e=r.type===h.FILTER?f.createLeftJoin(e,r.input,r.expression):f.createLeftJoin(e,r)}else if("minus"===t.type){const r=E({type:"group",patterns:t.patterns});e=f.createMinus(e,r)}else if("bind"===t.type)e=f.createExtend(e,t.variable,T(t.expression));else if("service"===t.type){const r={type:"group",patterns:t.patterns};e=D(e,f.createService(E(r),t.name,t.silent))}else e=D(e,E(t));return e}function D(e,t){return e.type===h.BGP&&t.type===h.BGP?e=f.createBgp([...e.patterns,...t.patterns]):e.type===h.BGP&&0===e.patterns.length?e=t:t.type===h.BGP&&0===t.patterns.length||(e=f.createJoin([e,t])),e}function N(e){let t=(0===e.values.length?[]:Object.keys(e.values[0])).map(f.createTerm.bind(f)),r=e.values.map((e=>{let t=Object.keys(e);t=t.filter((t=>void 0!==e[t]));let r={};for(let n of t)r[n]=e[n];return r}));return f.createValues(t,r)}function j(e,t){if("type"in e&&"aggregate"===e.type){let r,n=!1;for(let i of Object.keys(t))if(s(t[i],e)){r=f.createTerm(i),n=!0;break}return n||(r=A(),t[(0,c.termToString)(r)]=e),r}return"expression"in e&&e.expression?{...e,expression:j(e.expression,t)}:"args"in e&&e.args?{...e,args:e.args.map((e=>j(e,t)))}:e}function C(e){if("type"in e){if("load"===e.type)return function(e){return f.createLoad(e.source,e.destination,e.silent)}(e);if("clear"===e.type||"create"===e.type||"drop"===e.type)return function(e){let t;switch(t=d.default.isSimpleTerm(e.graph)?e.graph:e.graph.all?"ALL":e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.name,e.type){case"clear":return f.createClear(t,e.silent);case"create":return f.createCreate(t,e.silent);case"drop":return f.createDrop(t,e.silent)}}(e);if("add"===e.type||"copy"===e.type||"move"===e.type)return function(e){const t=e.source.default?"DEFAULT":e.source.name,r=e.destination.default?"DEFAULT":e.destination.name;switch(e.type){case"copy":return f.createCopy(t,r,e.silent);case"move":return f.createMove(t,r,e.silent);case"add":return f.createAdd(t,r,e.silent)}}(e)}else if("insertdelete"===e.updateType||"deletewhere"===e.updateType||"delete"===e.updateType||"insert"===e.updateType)return function(e){if(!m)throw new Error("INSERT/DELETE operations are only supported with quads option enabled");let t,r=[],n=[];if(e.delete&&(r=d.default.flatten(e.delete.map((t=>M(t,e.graph))))),e.insert&&(n=d.default.flatten(e.insert.map((t=>M(t,e.graph))))),e.where&&e.where.length>0){t=E({type:"group",patterns:e.where});const r=e.using;r?t=f.createFrom(t,r.default,r.named):e.graph&&(t=P(t,e.graph))}else"deletewhere"===e.updateType&&r.length>0&&(t=f.createBgp(r));return f.createDeleteInsert(r.length>0?r:void 0,n.length>0?n:void 0,t)}(e);throw new Error(`Unknown update type ${JSON.stringify(e)}`)}function M(e,t){let r=t;"graph"===e.type&&(r=e.name);let n=e.triples;return r&&(n=n.map((e=>Object.assign(e,{graph:r})))),n.map(I)}function k(e){const t={},r=Array.from(y).reduce(((e,t)=>(e[t]=!0,e)),{});return d.default.mapOperation(e,{[u.types.DELETE_INSERT]:e=>({result:e,recurse:!1}),[u.types.PATH]:(e,t)=>({result:t.createPath(n(e.subject),e.predicate,n(e.object),n(e.graph)),recurse:!1}),[u.types.PATTERN]:(e,t)=>({result:t.createPattern(n(e.subject),n(e.predicate),n(e.object),n(e.graph)),recurse:!1}),[u.types.CONSTRUCT]:e=>({result:f.createConstruct(k(e.input),e.template),recurse:!1})});function n(e){if("BlankNode"===e.termType){let n=t[e.value];return n||(n=d.default.createUniqueVariable(e.value,r,f.dataFactory),r[n.value]=!0,t[e.value]=n),n}return e}}},53496:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(8498),o=n(r(35344)),a=r(3285);class s{static flatten(e){return Array.prototype.concat(...e).filter((e=>e))}static objectify(e){if(e.termType){if("Quad"===e.termType)return{type:"pattern",termType:"Quad",subject:s.objectify(e.subject),predicate:s.objectify(e.predicate),object:s.objectify(e.object),graph:s.objectify(e.graph)};{let t={termType:e.termType,value:e.value};return e.language&&(t.language=e.language),e.datatype&&(t.datatype=s.objectify(e.datatype)),t}}if(Array.isArray(e))return e.map((e=>s.objectify(e)));if(e===Object(e)){let t={};for(let r of Object.keys(e))t[r]=s.objectify(e[r]);return t}return e}static inScopeVariables(e){const t=[];function r(e){t.find((t=>e.value===t.value))||t.push(e)}function n(e){"Variable"===e.subject.termType&&r(e.subject),"Variable"===e.predicate.termType&&r(e.predicate),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.predicate.termType&&n(e.predicate),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph)}return s.recurseOperation(e,{[i.types.EXPRESSION]:e=>(e.expressionType===i.expressionTypes.AGGREGATE&&e.variable&&r(e.variable),!0),[i.types.EXTEND]:e=>(r(e.variable),!0),[i.types.GRAPH]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.GROUP]:e=>(e.variables.forEach(r),!0),[i.types.PATH]:e=>("Variable"===e.subject.termType&&r(e.subject),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph),!0),[i.types.PATTERN]:e=>(n(e),!0),[i.types.PROJECT]:e=>(e.variables.forEach(r),!1),[i.types.SERVICE]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.VALUES]:e=>(e.variables.forEach(r),!0)}),t}static recurseOperation(e,t){let r=e,n=!0;const o=t[e.type];if(o&&(n=o(e)),!n)return;let a=e=>s.recurseOperation(e,t);switch(r.type){case i.types.ALT:r.input.map(a);break;case i.types.ASK:a(r.input);break;case i.types.BGP:r.patterns.forEach(a);break;case i.types.CONSTRUCT:a(r.input),r.template.map(a);break;case i.types.DESCRIBE:case i.types.DISTINCT:a(r.input);break;case i.types.EXPRESSION:r.expressionType===i.expressionTypes.EXISTENCE&&a(r.input);break;case i.types.EXTEND:case i.types.FILTER:a(r.input),a(r.expression);break;case i.types.FROM:case i.types.GRAPH:a(r.input);break;case i.types.GROUP:a(r.input),r.aggregates.forEach(a);break;case i.types.INV:a(r.path);break;case i.types.JOIN:r.input.map(a);break;case i.types.LEFT_JOIN:r.input.map(a),r.expression&&a(r.expression);break;case i.types.LINK:break;case i.types.MINUS:r.input.map(a);break;case i.types.NOP:case i.types.NPS:break;case i.types.ONE_OR_MORE_PATH:a(r.path);break;case i.types.ORDER_BY:a(r.input),r.expressions.forEach(a);break;case i.types.PATH:a(r.predicate);break;case i.types.PATTERN:break;case i.types.PROJECT:case i.types.REDUCED:a(r.input);break;case i.types.SEQ:r.input.map(a);break;case i.types.SERVICE:case i.types.SLICE:a(r.input);break;case i.types.UNION:r.input.map(a);break;case i.types.VALUES:break;case i.types.ZERO_OR_MORE_PATH:case i.types.ZERO_OR_ONE_PATH:a(r.path);break;case i.types.COMPOSITE_UPDATE:r.updates.forEach((e=>a(e)));break;case i.types.DELETE_INSERT:r.delete&&r.delete.forEach((e=>a(e))),r.insert&&r.insert.forEach((e=>a(e))),r.where&&a(r.where);break;case i.types.LOAD:case i.types.CLEAR:case i.types.CREATE:case i.types.DROP:case i.types.ADD:case i.types.MOVE:case i.types.COPY:break;default:throw new Error(`Unknown Operation type ${r.type}`)}}static mapOperation(e,t,r){let n=e,a=!0,c=!0;r=r||new o.default;const u=t[e.type];if(u){const t=u(e,r);n=t.result,a=t.recurse,c=!1!==t.copyMetadata}let l;if(c&&(n.metadata||e.metadata)&&(l={...n.metadata,...e.metadata}),!a)return l&&(n.metadata=l),n;let d=e=>s.mapOperation(e,t,r);switch(n.type){case i.types.ALT:n=r.createAlt(n.input.map(d));break;case i.types.ASK:n=r.createAsk(d(n.input));break;case i.types.BGP:n=r.createBgp(n.patterns.map(d));break;case i.types.CONSTRUCT:n=r.createConstruct(d(n.input),n.template.map(d));break;case i.types.DESCRIBE:n=r.createDescribe(d(n.input),n.terms);break;case i.types.DISTINCT:n=r.createDistinct(d(n.input));break;case i.types.EXPRESSION:n=s.mapExpression(n,t,r);break;case i.types.EXTEND:n=r.createExtend(d(n.input),n.variable,d(n.expression));break;case i.types.FILTER:n=r.createFilter(d(n.input),d(n.expression));break;case i.types.FROM:n=r.createFrom(d(n.input),[...n.default],[...n.named]);break;case i.types.GRAPH:n=r.createGraph(d(n.input),n.name);break;case i.types.GROUP:n=r.createGroup(d(n.input),[].concat(n.variables),n.aggregates.map(d));break;case i.types.INV:n=r.createInv(d(n.path));break;case i.types.JOIN:n=r.createJoin(n.input.map(d));break;case i.types.LEFT_JOIN:n=r.createLeftJoin(d(n.input[0]),d(n.input[1]),n.expression?d(n.expression):void 0);break;case i.types.LINK:n=r.createLink(n.iri);break;case i.types.MINUS:n=r.createMinus(d(n.input[0]),d(n.input[1]));break;case i.types.NOP:n=r.createNop();break;case i.types.NPS:n=r.createNps([].concat(n.iris));break;case i.types.ONE_OR_MORE_PATH:n=r.createOneOrMorePath(d(n.path));break;case i.types.ORDER_BY:n=r.createOrderBy(d(n.input),n.expressions.map(d));break;case i.types.PATH:n=r.createPath(n.subject,d(n.predicate),n.object,n.graph);break;case i.types.PATTERN:n=r.createPattern(n.subject,n.predicate,n.object,n.graph);break;case i.types.PROJECT:n=r.createProject(d(n.input),[...n.variables]);break;case i.types.REDUCED:n=r.createReduced(d(n.input));break;case i.types.SEQ:n=r.createSeq(n.input.map(d));break;case i.types.SERVICE:n=r.createService(d(n.input),n.name,n.silent);break;case i.types.SLICE:n=r.createSlice(d(n.input),n.start,n.length);break;case i.types.UNION:n=r.createUnion(n.input.map(d));break;case i.types.VALUES:n=r.createValues([].concat(n.variables),n.bindings.map((e=>Object.assign({},e))));break;case i.types.ZERO_OR_MORE_PATH:n=r.createZeroOrMorePath(d(n.path));break;case i.types.ZERO_OR_ONE_PATH:n=r.createZeroOrOnePath(d(n.path));break;case i.types.COMPOSITE_UPDATE:n=r.createCompositeUpdate(n.updates.map(d));break;case i.types.DELETE_INSERT:n=r.createDeleteInsert(n.delete?n.delete.map(d):void 0,n.insert?n.insert.map(d):void 0,n.where?d(n.where):void 0);break;case i.types.LOAD:n=r.createLoad(n.source,n.destination,n.silent);break;case i.types.CLEAR:n=r.createClear(n.source,n.silent);break;case i.types.CREATE:n=r.createCreate(n.source,n.silent);break;case i.types.DROP:n=r.createDrop(n.source,n.silent);break;case i.types.ADD:n=r.createAdd(n.source,n.destination);break;case i.types.MOVE:n=r.createMove(n.source,n.destination);break;case i.types.COPY:n=r.createCopy(n.source,n.destination);break;default:throw new Error(`Unknown Operation type ${n.type}`)}return l&&(n.metadata=l),n}static mapExpression(e,t,r){let n=e,a=!0;r=r||new o.default;const c=t[e.expressionType];if(c&&({result:n,recurse:a}=c(e,r)),!a)return n;let u=e=>s.mapOperation(e,t,r);switch(e.expressionType){case i.expressionTypes.AGGREGATE:return e.variable?r.createBoundAggregate(e.variable,e.aggregator,u(e.expression),e.distinct,e.separator):r.createAggregateExpression(e.aggregator,u(e.expression),e.distinct,e.separator);case i.expressionTypes.EXISTENCE:return r.createExistenceExpression(e.not,u(e.input));case i.expressionTypes.NAMED:return r.createNamedExpression(e.name,e.args.map(u));case i.expressionTypes.OPERATOR:return r.createOperatorExpression(e.operator,e.args.map(u));case i.expressionTypes.TERM:return r.createTermExpression(e.term);case i.expressionTypes.WILDCARD:return r.createWildcardExpression();default:throw new Error(`Unknown Expression type ${e.expressionType}`)}}static cloneOperation(e){return s.mapOperation(e,{})}static cloneExpression(e){return s.mapExpression(e,{})}static createUniqueVariable(e,t,r){let n=0,i=e;for(;t[i];)i=`${e}${n++}`;return r.variable(i)}static isSimpleTerm(e){return void 0!==e.termType&&"Quad"!==e.termType&&"Wildcard"!==e.termType}static isQuad(e){return"Quad"===e.termType}static hasQuadVariables(e){return(0,a.someTermsNested)(e,(e=>"Variable"===e.termType))}static isWildcard(e){return"Wildcard"===e.termType}}t.default=s},61702:(e,t,r)=>{"use strict";function n(e){return n="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},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.printError=w,t.GraphQLError=void 0;var i,o=(i=r(55569))&&i.__esModule?i:{default:i},a=r(25888),s=r(99530),c=r(40825);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){for(var r=0;r0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=a&&a.stack?(Object.defineProperty(h(b),"stack",{value:a.stack,writable:!0,configurable:!0}),p(b)):(Error.captureStackTrace?Error.captureStackTrace(h(b),f):Object.defineProperty(h(b),"stack",{value:Error().stack,writable:!0,configurable:!0}),b)}return n=f,(i=[{key:"toString",value:function(){return w(this)}},{key:a.SYMBOL_TO_STRING_TAG,get:function(){return"Object"}}])&&d(n.prototype,i),f}(f(Error));function v(e){return void 0===e||0===e.length?void 0:e}function w(e){var t=e.message;if(e.nodes)for(var r=0,n=e.nodes;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.syntaxError=function(e,t,r){return new n.GraphQLError("Syntax Error: ".concat(r),void 0,e,[t])};var n=r(61702)},63580:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.prototype.toJSON;"function"==typeof t||(0,n.default)(0),e.prototype.inspect=t,i.default&&(e.prototype[i.default]=t)};var n=o(r(61321)),i=o(r(98493));function o(e){return e&&e.__esModule?e:{default:e}}},93028:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(t)}},29657:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return c(e,[])};var n,i=(n=r(98493))&&n.__esModule?n:{default:n};function o(e){return o="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},o(e)}var a=10,s=2;function c(e,t){switch(o(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var r=[].concat(t,[e]),n=function(e){var t=e[String(i.default)];return"function"==typeof t?t:"function"==typeof e.inspect?e.inspect:void 0}(e);if(void 0!==n){var o=n.call(e);if(o!==e)return"string"==typeof o?o:c(o,r)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>s)return"[Array]";for(var r=Math.min(a,e.length),n=e.length-r,i=[],o=0;o1&&i.push("... ".concat(n," more items")),"["+i.join(", ")+"]"}(e,r);return function(e,t){var r=Object.keys(e);return 0===r.length?"{}":t.length>s?"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var r=e.constructor.name;if("string"==typeof r&&""!==r)return r}return t}(e)+"]":"{ "+r.map((function(r){return r+": "+c(e[r],t)})).join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}},79527:(e,t,r)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,(n=r(29657))&&n.__esModule;t.default=function(e,t){return e instanceof t}},61321:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}},55569:(e,t)=>{"use strict";function r(e){return r="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},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"object"==r(e)&&null!==e}},98493:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;t.default=r},76257:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNode=function(e){return null!=e&&"string"==typeof e.kind},t.Token=t.Location=void 0;var n,i=(n=r(63580))&&n.__esModule?n:{default:n},o=function(){function e(e,t,r){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=r}return e.prototype.toJSON=function(){return{start:this.start,end:this.end}},e}();t.Location=o,(0,i.default)(o);var a=function(){function e(e,t,r,n,i,o,a){this.kind=e,this.start=t,this.end=r,this.line=n,this.column=i,this.value=a,this.prev=o,this.next=null}return e.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},e}();t.Token=a,(0,i.default)(a)},69165:(e,t)=>{"use strict";function r(e){for(var t=0;ta&&r(t[s-1]);)--s;return t.slice(a,s).join("\n")},t.getBlockStringIndentation=n,t.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=-1===e.indexOf("\n"),i=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a="\\"===e[e.length-1],s=!n||o||a||r,c="";return!s||n&&i||(c+="\n"+t),c+=t?e.replace(/\n/g,"\n"+t):e,s&&(c+="\n"),'"""'+c.replace(/"""/g,'\\"""')+'"""'}},5919:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveLocation=void 0;var r=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});t.DirectiveLocation=r},80425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return n.Source}}),Object.defineProperty(t,"getLocation",{enumerable:!0,get:function(){return i.getLocation}}),Object.defineProperty(t,"printLocation",{enumerable:!0,get:function(){return o.printLocation}}),Object.defineProperty(t,"printSourceLocation",{enumerable:!0,get:function(){return o.printSourceLocation}}),Object.defineProperty(t,"Kind",{enumerable:!0,get:function(){return a.Kind}}),Object.defineProperty(t,"TokenKind",{enumerable:!0,get:function(){return s.TokenKind}}),Object.defineProperty(t,"Lexer",{enumerable:!0,get:function(){return c.Lexer}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return u.parse}}),Object.defineProperty(t,"parseValue",{enumerable:!0,get:function(){return u.parseValue}}),Object.defineProperty(t,"parseType",{enumerable:!0,get:function(){return u.parseType}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return l.print}}),Object.defineProperty(t,"visit",{enumerable:!0,get:function(){return d.visit}}),Object.defineProperty(t,"visitInParallel",{enumerable:!0,get:function(){return d.visitInParallel}}),Object.defineProperty(t,"getVisitFn",{enumerable:!0,get:function(){return d.getVisitFn}}),Object.defineProperty(t,"BREAK",{enumerable:!0,get:function(){return d.BREAK}}),Object.defineProperty(t,"Location",{enumerable:!0,get:function(){return p.Location}}),Object.defineProperty(t,"Token",{enumerable:!0,get:function(){return p.Token}}),Object.defineProperty(t,"isDefinitionNode",{enumerable:!0,get:function(){return h.isDefinitionNode}}),Object.defineProperty(t,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return h.isExecutableDefinitionNode}}),Object.defineProperty(t,"isSelectionNode",{enumerable:!0,get:function(){return h.isSelectionNode}}),Object.defineProperty(t,"isValueNode",{enumerable:!0,get:function(){return h.isValueNode}}),Object.defineProperty(t,"isTypeNode",{enumerable:!0,get:function(){return h.isTypeNode}}),Object.defineProperty(t,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return h.isTypeSystemDefinitionNode}}),Object.defineProperty(t,"isTypeDefinitionNode",{enumerable:!0,get:function(){return h.isTypeDefinitionNode}}),Object.defineProperty(t,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return h.isTypeSystemExtensionNode}}),Object.defineProperty(t,"isTypeExtensionNode",{enumerable:!0,get:function(){return h.isTypeExtensionNode}}),Object.defineProperty(t,"DirectiveLocation",{enumerable:!0,get:function(){return f.DirectiveLocation}});var n=r(46876),i=r(99530),o=r(40825),a=r(7030),s=r(73038),c=r(46083),u=r(50246),l=r(70585),d=r(9111),p=r(76257),h=r(39187),f=r(5919)},7030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kind=void 0;var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"});t.Kind=r},46083:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPunctuatorTokenKind=function(e){return e===o.TokenKind.BANG||e===o.TokenKind.DOLLAR||e===o.TokenKind.AMP||e===o.TokenKind.PAREN_L||e===o.TokenKind.PAREN_R||e===o.TokenKind.SPREAD||e===o.TokenKind.COLON||e===o.TokenKind.EQUALS||e===o.TokenKind.AT||e===o.TokenKind.BRACKET_L||e===o.TokenKind.BRACKET_R||e===o.TokenKind.BRACE_L||e===o.TokenKind.PIPE||e===o.TokenKind.BRACE_R},t.Lexer=void 0;var n=r(51352),i=r(76257),o=r(73038),a=r(69165),s=function(){function e(e){var t=new i.Token(o.TokenKind.SOF,0,0,0,0,null);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}var t=e.prototype;return t.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},t.lookahead=function(){var e=this.token;if(e.kind!==o.TokenKind.EOF)do{var t;e=null!==(t=e.next)&&void 0!==t?t:e.next=u(this,e)}while(e.kind===o.TokenKind.COMMENT);return e},e}();function c(e){return isNaN(e)?o.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function u(e,t){for(var r=e.source,a=r.body,s=a.length,c=t.end;c31||9===s));return new i.Token(o.TokenKind.COMMENT,t,u,r,n,a,c.slice(t+1,u))}function p(e,t,r,a,s,u){var l=e.body,d=r,p=t,f=!1;if(45===d&&(d=l.charCodeAt(++p)),48===d){if((d=l.charCodeAt(++p))>=48&&d<=57)throw(0,n.syntaxError)(e,p,"Invalid number, unexpected digit after 0: ".concat(c(d),"."))}else p=h(e,p,d),d=l.charCodeAt(p);if(46===d&&(f=!0,d=l.charCodeAt(++p),p=h(e,p,d),d=l.charCodeAt(p)),69!==d&&101!==d||(f=!0,43!==(d=l.charCodeAt(++p))&&45!==d||(d=l.charCodeAt(++p)),p=h(e,p,d),d=l.charCodeAt(p)),46===d||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(d))throw(0,n.syntaxError)(e,p,"Invalid number, expected digit but got: ".concat(c(d),"."));return new i.Token(f?o.TokenKind.FLOAT:o.TokenKind.INT,t,p,a,s,u,l.slice(t,p))}function h(e,t,r){var i=e.body,o=t,a=r;if(a>=48&&a<=57){do{a=i.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,n.syntaxError)(e,o,"Invalid number, expected digit but got: ".concat(c(a),"."))}function f(e,t,r,a,s){for(var u,l,d,p,h=e.body,f=t+1,y=f,m=0,b="";f=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function m(e,t,r,n,a){for(var s=e.body,c=s.length,u=t+1,l=0;u!==c&&!isNaN(l=s.charCodeAt(u))&&(95===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122);)++u;return new i.Token(o.TokenKind.NAME,t,u,r,n,a,s.slice(t,u))}t.Lexer=s},99530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLocation=function(e,t){for(var r,n=/\r\n|[\n\r]/g,i=1,o=t+1;(r=n.exec(e.body))&&r.index{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=function(e,t){return new l(e,t).parseDocument()},t.parseValue=function(e,t){var r=new l(e,t);r.expectToken(a.TokenKind.SOF);var n=r.parseValueLiteral(!1);return r.expectToken(a.TokenKind.EOF),n},t.parseType=function(e,t){var r=new l(e,t);r.expectToken(a.TokenKind.SOF);var n=r.parseTypeReference();return r.expectToken(a.TokenKind.EOF),n},t.Parser=void 0;var n=r(51352),i=r(7030),o=r(76257),a=r(73038),s=r(46876),c=r(5919),u=r(46083),l=function(){function e(e,t){var r=(0,s.isSource)(e)?e:new s.Source(e);this._lexer=new u.Lexer(r),this._options=t}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(a.TokenKind.NAME);return{kind:i.Kind.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:i.Kind.DOCUMENT,definitions:this.many(a.TokenKind.SOF,this.parseDefinition,a.TokenKind.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(a.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(a.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(a.TokenKind.BRACE_L))return{kind:i.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,r=this.parseOperationType();return this.peek(a.TokenKind.NAME)&&(t=this.parseName()),{kind:i.Kind.OPERATION_DEFINITION,operation:r,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(a.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(a.TokenKind.PAREN_L,this.parseVariableDefinition,a.TokenKind.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:i.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(a.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(a.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(a.TokenKind.DOLLAR),{kind:i.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:i.Kind.SELECTION_SET,selections:this.many(a.TokenKind.BRACE_L,this.parseSelection,a.TokenKind.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(a.TokenKind.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,r=this._lexer.token,n=this.parseName();return this.expectOptionalToken(a.TokenKind.COLON)?(e=n,t=this.parseName()):t=n,{kind:i.Kind.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(a.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(r)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(a.TokenKind.PAREN_L,t,a.TokenKind.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(a.TokenKind.COLON),{kind:i.Kind.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:i.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(a.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(a.TokenKind.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(a.TokenKind.NAME)?{kind:i.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:i.Kind.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e,t=this._lexer.token;return this.expectKeyword("fragment"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}:{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case a.TokenKind.BRACKET_L:return this.parseList(e);case a.TokenKind.BRACE_L:return this.parseObject(e);case a.TokenKind.INT:return this._lexer.advance(),{kind:i.Kind.INT,value:t.value,loc:this.loc(t)};case a.TokenKind.FLOAT:return this._lexer.advance(),{kind:i.Kind.FLOAT,value:t.value,loc:this.loc(t)};case a.TokenKind.STRING:case a.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case a.TokenKind.NAME:switch(this._lexer.advance(),t.value){case"true":return{kind:i.Kind.BOOLEAN,value:!0,loc:this.loc(t)};case"false":return{kind:i.Kind.BOOLEAN,value:!1,loc:this.loc(t)};case"null":return{kind:i.Kind.NULL,loc:this.loc(t)};default:return{kind:i.Kind.ENUM,value:t.value,loc:this.loc(t)}}case a.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:i.Kind.STRING,value:e.value,block:e.kind===a.TokenKind.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,r=this._lexer.token;return{kind:i.Kind.LIST,values:this.any(a.TokenKind.BRACKET_L,(function(){return t.parseValueLiteral(e)}),a.TokenKind.BRACKET_R),loc:this.loc(r)}},t.parseObject=function(e){var t=this,r=this._lexer.token;return{kind:i.Kind.OBJECT,fields:this.any(a.TokenKind.BRACE_L,(function(){return t.parseObjectField(e)}),a.TokenKind.BRACE_R),loc:this.loc(r)}},t.parseObjectField=function(e){var t=this._lexer.token,r=this.parseName();return this.expectToken(a.TokenKind.COLON),{kind:i.Kind.OBJECT_FIELD,name:r,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(a.TokenKind.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(a.TokenKind.AT),{kind:i.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(a.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(a.TokenKind.BRACKET_R),e={kind:i.Kind.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(a.TokenKind.BANG)?{kind:i.Kind.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:i.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===a.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(a.TokenKind.STRING)||this.peek(a.TokenKind.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");var r=this.parseDirectives(!0),n=this.many(a.TokenKind.BRACE_L,this.parseOperationTypeDefinition,a.TokenKind.BRACE_R);return{kind:i.Kind.SCHEMA_DEFINITION,description:t,directives:r,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(a.TokenKind.COLON);var r=this.parseNamedType();return{kind:i.Kind.OPERATION_TYPE_DEFINITION,operation:t,type:r,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var r=this.parseName(),n=this.parseDirectives(!0);return{kind:i.Kind.SCALAR_TYPE_DEFINITION,description:t,name:r,directives:n,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var r=this.parseName(),n=this.parseImplementsInterfaces(),o=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:i.Kind.OBJECT_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:o,fields:a,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var t=[];this.expectOptionalToken(a.TokenKind.AMP);do{t.push(this.parseNamedType())}while(this.expectOptionalToken(a.TokenKind.AMP)||this.peek(a.TokenKind.NAME));return t}return this.delimitedMany(a.TokenKind.AMP,this.parseNamedType)},t.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(a.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===a.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(a.TokenKind.BRACE_L,this.parseFieldDefinition,a.TokenKind.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseArgumentDefs();this.expectToken(a.TokenKind.COLON);var o=this.parseTypeReference(),s=this.parseDirectives(!0);return{kind:i.Kind.FIELD_DEFINITION,description:t,name:r,arguments:n,type:o,directives:s,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(a.TokenKind.PAREN_L,this.parseInputValueDef,a.TokenKind.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),r=this.parseName();this.expectToken(a.TokenKind.COLON);var n,o=this.parseTypeReference();this.expectOptionalToken(a.TokenKind.EQUALS)&&(n=this.parseValueLiteral(!0));var s=this.parseDirectives(!0);return{kind:i.Kind.INPUT_VALUE_DEFINITION,description:t,name:r,type:o,defaultValue:n,directives:s,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var r=this.parseName(),n=this.parseImplementsInterfaces(),o=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:i.Kind.INTERFACE_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:o,fields:a,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var r=this.parseName(),n=this.parseDirectives(!0),o=this.parseUnionMemberTypes();return{kind:i.Kind.UNION_TYPE_DEFINITION,description:t,name:r,directives:n,types:o,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){return this.expectOptionalToken(a.TokenKind.EQUALS)?this.delimitedMany(a.TokenKind.PIPE,this.parseNamedType):[]},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var r=this.parseName(),n=this.parseDirectives(!0),o=this.parseEnumValuesDefinition();return{kind:i.Kind.ENUM_TYPE_DEFINITION,description:t,name:r,directives:n,values:o,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(a.TokenKind.BRACE_L,this.parseEnumValueDefinition,a.TokenKind.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseDirectives(!0);return{kind:i.Kind.ENUM_VALUE_DEFINITION,description:t,name:r,directives:n,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var r=this.parseName(),n=this.parseDirectives(!0),o=this.parseInputFieldsDefinition();return{kind:i.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:r,directives:n,fields:o,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(a.TokenKind.BRACE_L,this.parseInputValueDef,a.TokenKind.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===a.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),r=this.optionalMany(a.TokenKind.BRACE_L,this.parseOperationTypeDefinition,a.TokenKind.BRACE_R);if(0===t.length&&0===r.length)throw this.unexpected();return{kind:i.Kind.SCHEMA_EXTENSION,directives:t,operationTypes:r,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),r=this.parseDirectives(!0);if(0===r.length)throw this.unexpected();return{kind:i.Kind.SCALAR_TYPE_EXTENSION,name:t,directives:r,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseDirectives(!0),o=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===o.length)throw this.unexpected();return{kind:i.Kind.OBJECT_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:o,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseDirectives(!0),o=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===o.length)throw this.unexpected();return{kind:i.Kind.INTERFACE_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:o,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),r=this.parseDirectives(!0),n=this.parseUnionMemberTypes();if(0===r.length&&0===n.length)throw this.unexpected();return{kind:i.Kind.UNION_TYPE_EXTENSION,name:t,directives:r,types:n,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),r=this.parseDirectives(!0),n=this.parseEnumValuesDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return{kind:i.Kind.ENUM_TYPE_EXTENSION,name:t,directives:r,values:n,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),r=this.parseDirectives(!0),n=this.parseInputFieldsDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return{kind:i.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:r,fields:n,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(a.TokenKind.AT);var r=this.parseName(),n=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var s=this.parseDirectiveLocations();return{kind:i.Kind.DIRECTIVE_DEFINITION,description:t,name:r,arguments:n,repeatable:o,locations:s,loc:this.loc(e)}},t.parseDirectiveLocations=function(){return this.delimitedMany(a.TokenKind.PIPE,this.parseDirectiveLocation)},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==c.DirectiveLocation[t.value])return t;throw this.unexpected(e)},t.loc=function(e){var t;if(!0!==(null===(t=this._options)||void 0===t?void 0:t.noLocation))return new o.Location(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw(0,n.syntaxError)(this._lexer.source,t.start,"Expected ".concat(p(e),", found ").concat(d(t),"."))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==a.TokenKind.NAME||t.value!==e)throw(0,n.syntaxError)(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(d(t),"."));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===a.TokenKind.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=null!=e?e:this._lexer.token;return(0,n.syntaxError)(this._lexer.source,t.start,"Unexpected ".concat(d(t),"."))},t.any=function(e,t,r){this.expectToken(e);for(var n=[];!this.expectOptionalToken(r);)n.push(t.call(this));return n},t.optionalMany=function(e,t,r){if(this.expectOptionalToken(e)){var n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n}return[]},t.many=function(e,t,r){this.expectToken(e);var n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n},t.delimitedMany=function(e,t){this.expectOptionalToken(e);var r=[];do{r.push(t.call(this))}while(this.expectOptionalToken(e));return r},e}();function d(e){var t=e.value;return p(e.kind)+(null!=t?' "'.concat(t,'"'):"")}function p(e){return(0,u.isPunctuatorTokenKind)(e)?'"'.concat(e,'"'):e}t.Parser=l},39187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDefinitionNode=function(e){return i(e)||o(e)||s(e)},t.isExecutableDefinitionNode=i,t.isSelectionNode=function(e){return e.kind===n.Kind.FIELD||e.kind===n.Kind.FRAGMENT_SPREAD||e.kind===n.Kind.INLINE_FRAGMENT},t.isValueNode=function(e){return e.kind===n.Kind.VARIABLE||e.kind===n.Kind.INT||e.kind===n.Kind.FLOAT||e.kind===n.Kind.STRING||e.kind===n.Kind.BOOLEAN||e.kind===n.Kind.NULL||e.kind===n.Kind.ENUM||e.kind===n.Kind.LIST||e.kind===n.Kind.OBJECT},t.isTypeNode=function(e){return e.kind===n.Kind.NAMED_TYPE||e.kind===n.Kind.LIST_TYPE||e.kind===n.Kind.NON_NULL_TYPE},t.isTypeSystemDefinitionNode=o,t.isTypeDefinitionNode=a,t.isTypeSystemExtensionNode=s,t.isTypeExtensionNode=c;var n=r(7030);function i(e){return e.kind===n.Kind.OPERATION_DEFINITION||e.kind===n.Kind.FRAGMENT_DEFINITION}function o(e){return e.kind===n.Kind.SCHEMA_DEFINITION||a(e)||e.kind===n.Kind.DIRECTIVE_DEFINITION}function a(e){return e.kind===n.Kind.SCALAR_TYPE_DEFINITION||e.kind===n.Kind.OBJECT_TYPE_DEFINITION||e.kind===n.Kind.INTERFACE_TYPE_DEFINITION||e.kind===n.Kind.UNION_TYPE_DEFINITION||e.kind===n.Kind.ENUM_TYPE_DEFINITION||e.kind===n.Kind.INPUT_OBJECT_TYPE_DEFINITION}function s(e){return e.kind===n.Kind.SCHEMA_EXTENSION||c(e)}function c(e){return e.kind===n.Kind.SCALAR_TYPE_EXTENSION||e.kind===n.Kind.OBJECT_TYPE_EXTENSION||e.kind===n.Kind.INTERFACE_TYPE_EXTENSION||e.kind===n.Kind.UNION_TYPE_EXTENSION||e.kind===n.Kind.ENUM_TYPE_EXTENSION||e.kind===n.Kind.INPUT_OBJECT_TYPE_EXTENSION}},40825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printLocation=function(e){return i(e.source,(0,n.getLocation)(e.source,e.start))},t.printSourceLocation=i;var n=r(99530);function i(e,t){var r=e.locationOffset.column-1,n=a(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,c=t.line+s,u=1===t.line?r:0,l=t.column+u,d="".concat(e.name,":").concat(c,":").concat(l,"\n"),p=n.split(/\r\n|[\n\r]/g),h=p[i];if(h.length>120){for(var f=Math.floor(l/80),y=l%80,g=[],m=0;m{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.print=function(e){return(0,n.visit)(e,{leave:o})};var n=r(9111),i=r(69165),o={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return s(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,r=e.name,n=u("(",s(e.variableDefinitions,", "),")"),i=s(e.directives," "),o=e.selectionSet;return r||i||n||"query"!==t?s([t,s([r,n]),i,o]," "):o},VariableDefinition:function(e){var t=e.variable,r=e.type,n=e.defaultValue,i=e.directives;return t+": "+r+u(" = ",n)+u(" ",s(i," "))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var t=e.alias,r=e.name,n=e.arguments,i=e.directives,o=e.selectionSet,a=u("",t,": ")+r,c=a+u("(",s(n,", "),")");return c.length>80&&(c=a+u("(\n",l(s(n,"\n")),"\n)")),s([c,s(i," "),o]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+u(" ",s(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,r=e.directives,n=e.selectionSet;return s(["...",u("on ",t),s(r," "),n]," ")},FragmentDefinition:function(e){var t=e.name,r=e.typeCondition,n=e.variableDefinitions,i=e.directives,o=e.selectionSet;return"fragment ".concat(t).concat(u("(",s(n,", "),")")," ")+"on ".concat(r," ").concat(u("",s(i," ")," "))+o},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var r=e.value;return e.block?(0,i.printBlockString)(r,"description"===t?"":" "):JSON.stringify(r)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+s(e.values,", ")+"]"},ObjectValue:function(e){return"{"+s(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+u("(",s(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:a((function(e){var t=e.directives,r=e.operationTypes;return s(["schema",s(t," "),c(r)]," ")})),OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:a((function(e){return s(["scalar",e.name,s(e.directives," ")]," ")})),ObjectTypeDefinition:a((function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["type",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")})),FieldDefinition:a((function(e){var t=e.name,r=e.arguments,n=e.type,i=e.directives;return t+(p(r)?u("(\n",l(s(r,"\n")),"\n)"):u("(",s(r,", "),")"))+": "+n+u(" ",s(i," "))})),InputValueDefinition:a((function(e){var t=e.name,r=e.type,n=e.defaultValue,i=e.directives;return s([t+": "+r,u("= ",n),s(i," ")]," ")})),InterfaceTypeDefinition:a((function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["interface",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")})),UnionTypeDefinition:a((function(e){var t=e.name,r=e.directives,n=e.types;return s(["union",t,s(r," "),n&&0!==n.length?"= "+s(n," | "):""]," ")})),EnumTypeDefinition:a((function(e){var t=e.name,r=e.directives,n=e.values;return s(["enum",t,s(r," "),c(n)]," ")})),EnumValueDefinition:a((function(e){return s([e.name,s(e.directives," ")]," ")})),InputObjectTypeDefinition:a((function(e){var t=e.name,r=e.directives,n=e.fields;return s(["input",t,s(r," "),c(n)]," ")})),DirectiveDefinition:a((function(e){var t=e.name,r=e.arguments,n=e.repeatable,i=e.locations;return"directive @"+t+(p(r)?u("(\n",l(s(r,"\n")),"\n)"):u("(",s(r,", "),")"))+(n?" repeatable":"")+" on "+s(i," | ")})),SchemaExtension:function(e){var t=e.directives,r=e.operationTypes;return s(["extend schema",s(t," "),c(r)]," ")},ScalarTypeExtension:function(e){return s(["extend scalar",e.name,s(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["extend type",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")},InterfaceTypeExtension:function(e){var t=e.name,r=e.interfaces,n=e.directives,i=e.fields;return s(["extend interface",t,u("implements ",s(r," & ")),s(n," "),c(i)]," ")},UnionTypeExtension:function(e){var t=e.name,r=e.directives,n=e.types;return s(["extend union",t,s(r," "),n&&0!==n.length?"= "+s(n," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,r=e.directives,n=e.values;return s(["extend enum",t,s(r," "),c(n)]," ")},InputObjectTypeExtension:function(e){var t=e.name,r=e.directives,n=e.fields;return s(["extend input",t,s(r," "),c(n)]," ")}};function a(e){return function(t){return s([t.description,e(t)],"\n")}}function s(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==(t=null==e?void 0:e.filter((function(e){return e})).join(r))&&void 0!==t?t:""}function c(e){return u("{\n",l(s(e,"\n")),"\n}")}function u(e,t){return null!=t&&""!==t?e+t+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:""):""}function l(e){return u(" ",e.replace(/\n/g,"\n "))}function d(e){return-1!==e.indexOf("\n")}function p(e){return null!=e&&e.some(d)}},46876:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSource=function(e){return(0,a.default)(e,u)},t.Source=void 0;var n=r(25888),i=s(r(29657)),o=s(r(93028)),a=s(r(79527));function s(e){return e&&e.__esModule?e:{default:e}}function c(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||(0,o.default)(0,"Body must be a string. Received: ".concat((0,i.default)(e),".")),this.body=e,this.name=t,this.locationOffset=r,this.locationOffset.line>0||(0,o.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,o.default)(0,"column in locationOffset is 1-indexed and must be positive.")}var t,r;return t=e,(r=[{key:n.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}])&&c(t.prototype,r),e}();t.Source=u},73038:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenKind=void 0;var r=Object.freeze({SOF:"",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});t.TokenKind=r},9111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.visit=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,n=void 0,u=Array.isArray(e),l=[e],d=-1,p=[],h=void 0,f=void 0,y=void 0,g=[],m=[],b=e;do{var _=++d===l.length,v=_&&0!==p.length;if(_){if(f=0===m.length?void 0:g[g.length-1],h=y,y=m.pop(),v){if(u)h=h.slice();else{for(var w={},S=0,E=Object.keys(h);S{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SYMBOL_TO_STRING_TAG=t.SYMBOL_ASYNC_ITERATOR=t.SYMBOL_ITERATOR=void 0;var r="function"==typeof Symbol&&null!=Symbol.iterator?Symbol.iterator:"@@iterator";t.SYMBOL_ITERATOR=r;var n="function"==typeof Symbol&&null!=Symbol.asyncIterator?Symbol.asyncIterator:"@@asyncIterator";t.SYMBOL_ASYNC_ITERATOR=n;var i="function"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:"@@toStringTag";t.SYMBOL_TO_STRING_TAG=i},77952:(e,t,r)=>{var n=t;n.utils=r(67426),n.common=r(66166),n.sha=r(46229),n.ripemd=r(46784),n.hmac=r(28948),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},66166:(e,t,r)=>{"use strict";var n=r(67426),i=r(43349);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o{"use strict";var n=r(67426),i=r(43349);function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t{"use strict";var n=r(67426),i=r(66166),o=n.rotl32,a=n.sum32,s=n.sum32_3,c=n.sum32_4,u=i.BlockHash;function l(){if(!(this instanceof l))return new l;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function d(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function p(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(l,u),t.ripemd160=l,l.blockSize=512,l.outSize=160,l.hmacStrength=192,l.padLength=64,l.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],u=this.h[3],l=this.h[4],b=r,_=n,v=i,w=u,S=l,E=0;E<80;E++){var T=a(o(c(r,d(E,n,i,u),e[f[E]+t],p(E)),g[E]),l);r=l,l=u,u=o(i,10),i=n,n=T,T=a(o(c(b,d(79-E,_,v,w),e[y[E]+t],h(E)),m[E]),S),b=S,S=w,w=o(v,10),v=_,_=T}T=s(this.h[1],i,w),this.h[1]=s(this.h[2],u,S),this.h[2]=s(this.h[3],l,b),this.h[3]=s(this.h[4],r,_),this.h[4]=s(this.h[0],n,v),this.h[0]=T},l.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],y=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],m=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},46229:(e,t,r)=>{"use strict";t.sha1=r(43917),t.sha224=r(47714),t.sha256=r(2287),t.sha384=r(21911),t.sha512=r(57766)},43917:(e,t,r)=>{"use strict";var n=r(67426),i=r(66166),o=r(66225),a=n.rotl32,s=n.sum32,c=n.sum32_5,u=o.ft_1,l=i.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function p(){if(!(this instanceof p))return new p;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(p,l),e.exports=p,p.blockSize=512,p.outSize=160,p.hmacStrength=80,p.padLength=64,p.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(67426),i=r(2287);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},2287:(e,t,r)=>{"use strict";var n=r(67426),i=r(66166),o=r(66225),a=r(43349),s=n.sum32,c=n.sum32_4,u=n.sum32_5,l=o.ch32,d=o.maj32,p=o.s0_256,h=o.s1_256,f=o.g0_256,y=o.g1_256,g=i.BlockHash,m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=m,this.W=new Array(64)}n.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(67426),i=r(57766);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},57766:(e,t,r)=>{"use strict";var n=r(67426),i=r(66166),o=r(43349),a=n.rotr64_hi,s=n.rotr64_lo,c=n.shr64_hi,u=n.shr64_lo,l=n.sum64,d=n.sum64_hi,p=n.sum64_lo,h=n.sum64_4_hi,f=n.sum64_4_lo,y=n.sum64_5_hi,g=n.sum64_5_lo,m=i.BlockHash,b=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function _(){if(!(this instanceof _))return new _;m.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=b,this.W=new Array(160)}function v(e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function w(e,t,r,n,i,o){var a=t&n^~t&o;return a<0&&(a+=4294967296),a}function S(e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function E(e,t,r,n,i,o){var a=t&n^t&o^n&o;return a<0&&(a+=4294967296),a}function T(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function O(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function x(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}function A(e,t){var r=a(e,t,1)^a(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}function I(e,t){var r=s(e,t,1)^s(e,t,8)^u(e,t,7);return r<0&&(r+=4294967296),r}function R(e,t){var r=s(e,t,19)^s(t,e,29)^u(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(_,m),e.exports=_,_.blockSize=1024,_.outSize=512,_.hmacStrength=192,_.padLength=128,_.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n{"use strict";var n=r(67426).rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}function a(e,t,r){return e^t^r}t.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?a(t,r,n):2===e?o(t,r,n):void 0},t.ch32=i,t.maj32=o,t.p32=a,t.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},t.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},t.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},t.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},67426:(e,t,r)=>{"use strict";var n=r(43349),i=r(56698);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function c(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,r[n++]=63&a|128):o(e,i)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i>>0}return a},t.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,r){return e+t+r>>>0},t.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},t.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},t.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},t.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},t.sum64_lo=function(e,t,r,n){return t+n>>>0},t.sum64_4_hi=function(e,t,r,n,i,o,a,s){var c=0,u=t;return c+=(u=u+n>>>0)>>0)>>0)>>0},t.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},t.sum64_5_hi=function(e,t,r,n,i,o,a,s,c,u){var l=0,d=t;return l+=(d=d+n>>>0)>>0)>>0)>>0)>>0},t.sum64_5_lo=function(e,t,r,n,i,o,a,s,c,u){return t+n+o+s+u>>>0},t.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},t.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},t.shr64_hi=function(e,t,r){return e>>>r},t.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},11724:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var a=o(r(57918)),s=r(79878),c=new Set(["input","option","optgroup","select","button","datalist","textarea"]),u=new Set(["p"]),l=new Set(["thead","tbody"]),d=new Set(["dd","dt"]),p=new Set(["rt","rp"]),h=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",u],["h1",u],["h2",u],["h3",u],["h4",u],["h5",u],["h6",u],["select",c],["input",c],["output",c],["button",c],["datalist",c],["textarea",c],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",d],["dt",d],["address",u],["article",u],["aside",u],["blockquote",u],["details",u],["div",u],["dl",u],["fieldset",u],["figcaption",u],["figure",u],["footer",u],["form",u],["header",u],["hr",u],["main",u],["nav",u],["ol",u],["pre",u],["section",u],["table",u],["ul",u],["rt",p],["rp",p],["tbody",l],["tfoot",l]]),f=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),y=new Set(["math","svg"]),g=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),m=/\s|\//,b=function(){function e(e,t){var r,n,i,o,s;void 0===t&&(t={}),this.options=t,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=e?e:{},this.lowerCaseTagNames=null!==(r=t.lowerCaseTags)&&void 0!==r?r:!t.xmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:!t.xmlMode,this.tokenizer=new(null!==(i=t.Tokenizer)&&void 0!==i?i:a.default)(this.options,this),null===(s=(o=this.cbs).onparserinit)||void 0===s||s.call(o,this)}return e.prototype.ontext=function(e,t){var r,n,i=this.getSlice(e,t);this.endIndex=t-1,null===(n=(r=this.cbs).ontext)||void 0===n||n.call(r,i),this.startIndex=t},e.prototype.ontextentity=function(e){var t,r,n=this.tokenizer.getSectionStart();this.endIndex=n-1,null===(r=(t=this.cbs).ontext)||void 0===r||r.call(t,(0,s.fromCodePoint)(e)),this.startIndex=n},e.prototype.isVoidElement=function(e){return!this.options.xmlMode&&f.has(e)},e.prototype.onopentagname=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);this.lowerCaseTagNames&&(r=r.toLowerCase()),this.emitOpenTag(r)},e.prototype.emitOpenTag=function(e){var t,r,n,i;this.openTagStart=this.startIndex,this.tagname=e;var o=!this.options.xmlMode&&h.get(e);if(o)for(;this.stack.length>0&&o.has(this.stack[this.stack.length-1]);){var a=this.stack.pop();null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,a,!0)}this.isVoidElement(e)||(this.stack.push(e),y.has(e)?this.foreignContext.push(!0):g.has(e)&&this.foreignContext.push(!1)),null===(i=(n=this.cbs).onopentagname)||void 0===i||i.call(n,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.endOpenTag=function(e){var t,r;this.startIndex=this.openTagStart,this.attribs&&(null===(r=(t=this.cbs).onopentag)||void 0===r||r.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},e.prototype.onopentagend=function(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1},e.prototype.onclosetag=function(e,t){var r,n,i,o,a,s;this.endIndex=t;var c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(y.has(c)||g.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))this.options.xmlMode||"br"!==c||(null===(n=(r=this.cbs).onopentagname)||void 0===n||n.call(r,"br"),null===(o=(i=this.cbs).onopentag)||void 0===o||o.call(i,"br",{},!0),null===(s=(a=this.cbs).onclosetag)||void 0===s||s.call(a,"br",!1));else{var u=this.stack.lastIndexOf(c);if(-1!==u)if(this.cbs.onclosetag)for(var l=this.stack.length-u;l--;)this.cbs.onclosetag(this.stack.pop(),0!==l);else this.stack.length=u;else this.options.xmlMode||"p"!==c||(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1},e.prototype.onselfclosingtag=function(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)},e.prototype.closeCurrentTag=function(e){var t,r,n=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===n&&(null===(r=(t=this.cbs).onclosetag)||void 0===r||r.call(t,n,!e),this.stack.pop())},e.prototype.onattribname=function(e,t){this.startIndex=e;var r=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?r.toLowerCase():r},e.prototype.onattribdata=function(e,t){this.attribvalue+=this.getSlice(e,t)},e.prototype.onattribentity=function(e){this.attribvalue+=(0,s.fromCodePoint)(e)},e.prototype.onattribend=function(e,t){var r,n;this.endIndex=t,null===(n=(r=this.cbs).onattribute)||void 0===n||n.call(r,this.attribname,this.attribvalue,e===a.QuoteType.Double?'"':e===a.QuoteType.Single?"'":e===a.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(m),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},e.prototype.ondeclaration=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("!".concat(n),"!".concat(r))}this.startIndex=t+1},e.prototype.onprocessinginstruction=function(e,t){this.endIndex=t;var r=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){var n=this.getInstructionName(r);this.cbs.onprocessinginstruction("?".concat(n),"?".concat(r))}this.startIndex=t+1},e.prototype.oncomment=function(e,t,r){var n,i,o,a;this.endIndex=t,null===(i=(n=this.cbs).oncomment)||void 0===i||i.call(n,this.getSlice(e,t-r)),null===(a=(o=this.cbs).oncommentend)||void 0===a||a.call(o),this.startIndex=t+1},e.prototype.oncdata=function(e,t,r){var n,i,o,a,s,c,u,l,d,p;this.endIndex=t;var h=this.getSlice(e,t-r);this.options.xmlMode||this.options.recognizeCDATA?(null===(i=(n=this.cbs).oncdatastart)||void 0===i||i.call(n),null===(a=(o=this.cbs).ontext)||void 0===a||a.call(o,h),null===(c=(s=this.cbs).oncdataend)||void 0===c||c.call(s)):(null===(l=(u=this.cbs).oncomment)||void 0===l||l.call(u,"[CDATA[".concat(h,"]]")),null===(p=(d=this.cbs).oncommentend)||void 0===p||p.call(d)),this.startIndex=t+1},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r],!0));}null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)},e.prototype.reset=function(){var e,t,r,n;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(n=(r=this.cbs).onparserinit)||void 0===n||n.call(r,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1},e.prototype.parseComplete=function(e){this.reset(),this.end(e)},e.prototype.getSlice=function(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();for(var r=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),r+=this.buffers[0].slice(0,t-this.bufferOffset);return r},e.prototype.shiftBuffer=function(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()},e.prototype.write=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))},e.prototype.end=function(e){var t,r;this.ended?null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,new Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuoteType=void 0;var n,i,o,a=r(79878);function s(e){return e===n.Space||e===n.NewLine||e===n.Tab||e===n.FormFeed||e===n.CarriageReturn}function c(e){return e===n.Slash||e===n.Gt||s(e)}function u(e){return e>=n.Zero&&e<=n.Nine}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Number=35]="Number",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(n||(n={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"}(i||(i={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(o=t.QuoteType||(t.QuoteType={}));var l={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},d=function(){function e(e,t){var r=e.xmlMode,n=void 0!==r&&r,o=e.decodeEntities,s=void 0===o||o;this.cbs=t,this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=i.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=n,this.decodeEntities=s,this.entityTrie=n?a.xmlDecodeTree:a.htmlDecodeTree}return e.prototype.reset=function(){this.state=i.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=i.Text,this.currentSequence=void 0,this.running=!0,this.offset=0},e.prototype.write=function(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()},e.prototype.end=function(){this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=i.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===n.Amp&&(this.state=i.BeforeEntity)},e.prototype.stateSpecialStartSequence=function(e){var t=this.sequenceIndex===this.currentSequence.length;if(t?c(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=i.InTagName,this.stateInTagName(e)},e.prototype.stateInSpecialTag=function(e){if(this.sequenceIndex===this.currentSequence.length){if(e===n.Gt||s(e)){var t=this.index-this.currentSequence.length;if(this.sectionStart=n.LowerA&&e<=n.LowerZ||e>=n.UpperA&&e<=n.UpperZ}(e)},e.prototype.startSpecial=function(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=i.SpecialStartSequence},e.prototype.stateBeforeTagName=function(e){if(e===n.ExclamationMark)this.state=i.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===n.Questionmark)this.state=i.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){var t=32|e;this.sectionStart=this.index,this.xmlMode||t!==l.TitleEnd[2]?this.state=this.xmlMode||t!==l.ScriptEnd[2]?i.InTagName:i.BeforeSpecialS:this.startSpecial(l.TitleEnd,3)}else e===n.Slash?this.state=i.BeforeClosingTagName:(this.state=i.Text,this.stateText(e))},e.prototype.stateInTagName=function(e){c(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateBeforeClosingTagName=function(e){s(e)||(e===n.Gt?this.state=i.Text:(this.state=this.isTagStartChar(e)?i.InClosingTagName:i.InSpecialComment,this.sectionStart=this.index))},e.prototype.stateInClosingTagName=function(e){(e===n.Gt||s(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.AfterClosingTagName,this.stateAfterClosingTagName(e))},e.prototype.stateAfterClosingTagName=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.state=i.Text,this.baseState=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeAttributeName=function(e){e===n.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=i.InSpecialTag,this.sequenceIndex=0):this.state=i.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===n.Slash?this.state=i.InSelfClosingTag:s(e)||(this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateInSelfClosingTag=function(e){e===n.Gt?(this.cbs.onselfclosingtag(this.index),this.state=i.Text,this.baseState=i.Text,this.sectionStart=this.index+1,this.isSpecial=!1):s(e)||(this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e))},e.prototype.stateInAttributeName=function(e){(e===n.Eq||c(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=i.AfterAttributeName,this.stateAfterAttributeName(e))},e.prototype.stateAfterAttributeName=function(e){e===n.Eq?this.state=i.BeforeAttributeValue:e===n.Slash||e===n.Gt?(this.cbs.onattribend(o.NoValue,this.index),this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):s(e)||(this.cbs.onattribend(o.NoValue,this.index),this.state=i.InAttributeName,this.sectionStart=this.index)},e.prototype.stateBeforeAttributeValue=function(e){e===n.DoubleQuote?(this.state=i.InAttributeValueDq,this.sectionStart=this.index+1):e===n.SingleQuote?(this.state=i.InAttributeValueSq,this.sectionStart=this.index+1):s(e)||(this.sectionStart=this.index,this.state=i.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))},e.prototype.handleInAttributeValue=function(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===n.DoubleQuote?o.Double:o.Single,this.index),this.state=i.BeforeAttributeName):this.decodeEntities&&e===n.Amp&&(this.baseState=this.state,this.state=i.BeforeEntity)},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,n.DoubleQuote)},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,n.SingleQuote)},e.prototype.stateInAttributeValueNoQuotes=function(e){s(e)||e===n.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(o.Unquoted,this.index),this.state=i.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===n.Amp&&(this.baseState=this.state,this.state=i.BeforeEntity)},e.prototype.stateBeforeDeclaration=function(e){e===n.OpeningSquareBracket?(this.state=i.CDATASequence,this.sequenceIndex=0):this.state=e===n.Dash?i.BeforeComment:i.InDeclaration},e.prototype.stateInDeclaration=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateInProcessingInstruction=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeComment=function(e){e===n.Dash?(this.state=i.InCommentLike,this.currentSequence=l.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=i.InDeclaration},e.prototype.stateInSpecialComment=function(e){(e===n.Gt||this.fastForwardTo(n.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=i.Text,this.sectionStart=this.index+1)},e.prototype.stateBeforeSpecialS=function(e){var t=32|e;t===l.ScriptEnd[3]?this.startSpecial(l.ScriptEnd,4):t===l.StyleEnd[3]?this.startSpecial(l.StyleEnd,4):(this.state=i.InTagName,this.stateInTagName(e))},e.prototype.stateBeforeEntity=function(e){this.entityExcess=1,this.entityResult=0,e===n.Number?this.state=i.BeforeNumericEntity:e===n.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=i.InNamedEntity,this.stateInNamedEntity(e))},e.prototype.stateInNamedEntity=function(e){if(this.entityExcess+=1,this.trieIndex=(0,a.determineBranch)(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0)return this.emitNamedEntity(),void this.index--;this.trieCurrent=this.entityTrie[this.trieIndex];var t=this.trieCurrent&a.BinTrieFlags.VALUE_LENGTH;if(t){var r=(t>>14)-1;if(this.allowLegacyEntity()||e===n.Semi){var i=this.index-this.entityExcess+1;i>this.sectionStart&&this.emitPartial(this.sectionStart,i),this.entityResult=this.trieIndex,this.trieIndex+=r,this.entityExcess=0,this.sectionStart=this.index+1,0===r&&this.emitNamedEntity()}else this.trieIndex+=r}},e.prototype.emitNamedEntity=function(){if(this.state=this.baseState,0!==this.entityResult)switch((this.entityTrie[this.entityResult]&a.BinTrieFlags.VALUE_LENGTH)>>14){case 1:this.emitCodePoint(this.entityTrie[this.entityResult]&~a.BinTrieFlags.VALUE_LENGTH);break;case 2:this.emitCodePoint(this.entityTrie[this.entityResult+1]);break;case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}},e.prototype.stateBeforeNumericEntity=function(e){(32|e)===n.LowerX?(this.entityExcess++,this.state=i.InHexEntity):(this.state=i.InNumericEntity,this.stateInNumericEntity(e))},e.prototype.emitNumericEntity=function(e){var t=this.index-this.entityExcess-1;t+2+Number(this.state===i.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint((0,a.replaceCodePoint)(this.entityResult))),this.state=this.baseState},e.prototype.stateInNumericEntity=function(e){e===n.Semi?this.emitNumericEntity(!0):u(e)?(this.entityResult=10*this.entityResult+(e-n.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},e.prototype.stateInHexEntity=function(e){e===n.Semi?this.emitNumericEntity(!0):u(e)?(this.entityResult=16*this.entityResult+(e-n.Zero),this.entityExcess++):function(e){return e>=n.UpperA&&e<=n.UpperF||e>=n.LowerA&&e<=n.LowerF}(e)?(this.entityResult=16*this.entityResult+((32|e)-n.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},e.prototype.allowLegacyEntity=function(){return!this.xmlMode&&(this.baseState===i.Text||this.baseState===i.InSpecialTag)},e.prototype.cleanup=function(){this.running&&this.sectionStart!==this.index&&(this.state===i.Text||this.state===i.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==i.InAttributeValueDq&&this.state!==i.InAttributeValueSq&&this.state!==i.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))},e.prototype.shouldContinue=function(){return this.index{"use strict";var t=/^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i,r=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,n=/\s|\uFEFF|\xA0/,i=/\r?\n[\x20\x09]+/g,o=/[;,"]/,a=/[;,"]|\s/,s=/^[!#$%&'*+\-\.^_`|~\da-zA-Z]+$/;function c(e){return e.replace(r,"")}function u(e){return n.test(e)}function l(e,t){for(;u(e[t]);)t++;return t}function d(e){return a.test(e)||!s.test(e)}class p{constructor(e){this.refs=[],e&&this.parse(e)}rel(e){for(var t=[],r=e.toLowerCase(),n=0;n{return r=t,n=e,Object.keys(r).length===Object.keys(n).length&&Object.keys(r).every((e=>e in n&&r[e]===n[e]));var r,n}))||this.refs.push(e),this}has(e,t){e=e.toLowerCase(),t=t.toLowerCase();for(var r=0;r",t)))throw new Error("Expected end of URI delimiter at offset "+t);a={uri:e.slice(t+1,h)},t=h,r=2,t++}else if(2===r){if(u(e[t])){t++;continue}if(";"===e[t])r=4,t++;else{if(","!==e[t])throw new Error('Unexpected character "'+e[t]+'" at offset '+t);r=1,t++}}else{if(4!==r)throw new Error('Unknown parser state "'+r+'"');if(";"===e[t]||u(e[t])){t++;continue}-1===(h=e.indexOf("=",t))&&(h=e.indexOf(";",t)),-1===h&&(h=e.length);var s=c(e.slice(t,h)).toLowerCase(),d="";if('"'===e[t=l(e,t=h+1)])for(t++;t"),e.push(t);return e.join(", ")}}p.isCompatibleEncoding=function(e){return t.test(e)},p.parse=function(e,t){return(new p).parse(e,t)},p.isSingleOccurenceAttr=function(e){return"rel"===e||"type"===e||"media"===e||"title"===e||"title*"===e},p.isTokenAttr=function(e){return"rel"===e||"type"===e||"anchor"===e},p.escapeQuotes=function(e){return e.replace(/"/g,'\\"')},p.expandRelations=function(e){return e.rel.split(" ").map((function(t){var r=Object.assign({},e);return r.rel=t,r}))},p.parseExtendedValue=function(e){var t=/([^']+)?(?:'([^']*)')?(.+)/.exec(e);return{language:t[2].toLowerCase(),encoding:p.isCompatibleEncoding(t[1])?null:t[1].toLowerCase(),value:p.isCompatibleEncoding(t[1])?decodeURIComponent(t[3]):t[3]}},p.formatExtendedAttribute=function(e,t){var r=(t.encoding||"utf-8").toUpperCase();return e+"="+r+"'"+(t.language||"en")+"'"+(Buffer.isBuffer(t.value)&&p.isCompatibleEncoding(r)?t.value.toString(r):Buffer.isBuffer(t.value)?t.value.toString("hex").replace(/[0-9a-f]{2}/gi,"%$1"):encodeURIComponent(t.value))},p.formatAttribute=function(e,t){return Array.isArray(t)?t.map((t=>p.formatAttribute(e,t))).join("; "):"*"===e[e.length-1]||"string"!=typeof t?p.formatExtendedAttribute(e,t):(p.isTokenAttr(e)?t=d(t)?'"'+p.escapeQuotes(t)+'"':p.escapeQuotes(t):d(t)&&(t='"'+(t=(t=encodeURIComponent(t)).replace(/%20/g," ").replace(/%2C/g,",").replace(/%3B/g,";"))+'"'),e+"="+t)},e.exports=p},251:(e,t)=>{t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,p=r?-1:1,h=e[t+d];for(d+=p,o=h&(1<<-l)-1,h>>=-l,l+=s;l>0;o=256*o+e[t+d],d+=p,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+d],d+=p,l-=8);if(0===o)o=1-u;else{if(o===c)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,n),o-=u}return(h?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,c,u=8*o-i-1,l=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,f=n?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?p/c:p*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=l?(s=0,a=l):a+d>=1?(s=(t*c-1)*Math.pow(2,i),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),a=0));i>=8;e[r+h]=255&s,h+=f,s/=256,i-=8);for(a=a<0;e[r+h]=255&a,h+=f,a/=256,u-=8);e[r+h-f]|=128*y}},49568:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Collection:()=>O,Iterable:()=>In,List:()=>cr,Map:()=>Lt,OrderedMap:()=>Sr,OrderedSet:()=>ln,PairSorting:()=>yn,Range:()=>Kr,Record:()=>gn,Repeat:()=>En,Seq:()=>X,Set:()=>Ur,Stack:()=>Ir,default:()=>Rn,fromJS:()=>Tn,get:()=>ct,getIn:()=>Qr,has:()=>st,hasIn:()=>Jr,hash:()=>me,is:()=>he,isAssociative:()=>T,isCollection:()=>_,isImmutable:()=>N,isIndexed:()=>E,isKeyed:()=>w,isList:()=>sr,isMap:()=>le,isOrdered:()=>C,isOrderedMap:()=>de,isOrderedSet:()=>Cr,isPlainObject:()=>it,isRecord:()=>D,isSeq:()=>P,isSet:()=>jr,isStack:()=>Ar,isValueObject:()=>pe,merge:()=>Tt,mergeDeep:()=>xt,mergeDeepWith:()=>At,mergeWith:()=>Ot,remove:()=>lt,removeIn:()=>gt,set:()=>dt,setIn:()=>ft,update:()=>bt,updateIn:()=>pt,version:()=>An});var n="delete",i=5,o=1<>>0;if(""+r!==t||4294967295===r)return NaN;t=r}return t<0?l(e)+t:t}function p(){return!0}function h(e,t,r){return(0===e&&!m(e)||void 0!==r&&e<=-r)&&(void 0===t||void 0!==r&&t>=r)}function f(e,t){return g(e,t,0)}function y(e,t){return g(e,t,t)}function g(e,t,r){return void 0===e?r:m(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function m(e){return e<0||0===e&&1/e==-1/0}var b="@@__IMMUTABLE_ITERABLE__@@";function _(e){return Boolean(e&&e[b])}var v="@@__IMMUTABLE_KEYED__@@";function w(e){return Boolean(e&&e[v])}var S="@@__IMMUTABLE_INDEXED__@@";function E(e){return Boolean(e&&e[S])}function T(e){return w(e)||E(e)}var O=function(e){return _(e)?e:X(e)},x=function(e){function t(e){return w(e)?e:Y(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),A=function(e){function t(e){return E(e)?e:Z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O),I=function(e){function t(e){return _(e)&&!T(e)?e:ee(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(O);O.Keyed=x,O.Indexed=A,O.Set=I;var R="@@__IMMUTABLE_SEQ__@@";function P(e){return Boolean(e&&e[R])}var F="@@__IMMUTABLE_RECORD__@@";function D(e){return Boolean(e&&e[F])}function N(e){return _(e)||D(e)}var j="@@__IMMUTABLE_ORDERED__@@";function C(e){return Boolean(e&&e[j])}var M=0,k=1,L=2,U="function"==typeof Symbol&&Symbol.iterator,B="@@iterator",V=U||B,q=function(e){this.next=e};function H(e,t,r,n){var i=0===e?t:1===e?r:[t,r];return n?n.value=i:n={value:i,done:!1},n}function $(){return{value:void 0,done:!0}}function G(e){return!!Array.isArray(e)||!!z(e)}function K(e){return e&&"function"==typeof e.next}function Q(e){var t=z(e);return t&&t.call(e)}function z(e){var t=e&&(U&&e[U]||e[B]);if("function"==typeof t)return t}q.prototype.toString=function(){return"[Iterator]"},q.KEYS=M,q.VALUES=k,q.ENTRIES=L,q.prototype.inspect=q.prototype.toSource=function(){return this.toString()},q.prototype[V]=function(){return this};var J=Object.prototype.hasOwnProperty;function W(e){return!(!Array.isArray(e)&&"string"!=typeof e)||e&&"object"==typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var X=function(e){function t(e){return null==e?oe():N(e)?e.toSeq():function(e){var t,r,n=ce(e);if(n)return(r=z(t=e))&&r===t.entries?n.fromEntrySeq():function(e){var t=z(e);return t&&t===e.keys}(e)?n.toSetSeq():n;if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of values, or keyed object: "+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq {","}")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[t?n-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var r=this._cache;if(r){var n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=r[t?n-++i:i++];return H(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(O),Y=function(e){function t(e){return null==e?oe().toKeyedSeq():_(e)?w(e)?e.toSeq():e.fromEntrySeq():D(e)?e.toSeq():ae(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(X),Z=function(e){function t(e){return null==e?oe():_(e)?w(e)?e.entrySeq():e.toIndexedSeq():D(e)?e.toSeq().entrySeq():se(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString("Seq [","]")},t}(X),ee=function(e){function t(e){return(_(e)&&!T(e)?e:Z(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(X);X.isSeq=P,X.Keyed=Y,X.Set=ee,X.Indexed=Z,X.prototype[R]=!0;var te=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[d(this,e)]:t},t.prototype.__iterate=function(e,t){for(var r=this._array,n=r.length,i=0;i!==n;){var o=t?n-++i:i++;if(!1===e(r[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var r=this._array,n=r.length,i=0;return new q((function(){if(i===n)return{value:void 0,done:!0};var o=t?n-++i:i++;return H(e,o,r[o])}))},t}(Z),re=function(e){function t(e){var t=Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return J.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var a=n[t?i-++o:o++];if(!1===e(r[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var r=this._object,n=this._keys,i=n.length,o=0;return new q((function(){if(o===i)return{value:void 0,done:!0};var a=n[t?i-++o:o++];return H(e,a,r[a])}))},t}(Y);re.prototype[j]=!0;var ne,ie=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var r=Q(this._collection),n=0;if(K(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,n++,this););return n},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var r=Q(this._collection);if(!K(r))return new q($);var n=0;return new q((function(){var t=r.next();return t.done?t:H(e,n++,t.value)}))},t}(Z);function oe(){return ne||(ne=new te([]))}function ae(e){var t=ce(e);if(t)return t.fromEntrySeq();if("object"==typeof e)return new re(e);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+e)}function se(e){var t=ce(e);if(t)return t;throw new TypeError("Expected Array or collection object of values: "+e)}function ce(e){return W(e)?new te(e):G(e)?new ie(e):void 0}var ue="@@__IMMUTABLE_MAP__@@";function le(e){return Boolean(e&&e[ue])}function de(e){return le(e)&&C(e)}function pe(e){return Boolean(e&&"function"==typeof e.equals&&"function"==typeof e.hashCode)}function he(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!!(pe(e)&&pe(t)&&e.equals(t))}var fe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var r=65535&(e|=0),n=65535&(t|=0);return r*n+((e>>>16)*n+r*(t>>>16)<<16>>>0)|0};function ye(e){return e>>>1&1073741824|3221225471&e}var ge=Object.prototype.valueOf;function me(e){if(null==e)return be(e);if("function"==typeof e.hashCode)return ye(e.hashCode(e));var t,r,n,i=(t=e).valueOf!==ge&&"function"==typeof t.valueOf?t.valueOf(t):t;if(null==i)return be(i);switch(typeof i){case"boolean":return i?1108378657:1108378656;case"number":return function(e){if(e!=e||e===1/0)return 0;var t=0|e;for(t!==e&&(t^=4294967295*e);e>4294967295;)t^=e/=4294967295;return ye(t)}(i);case"string":return i.length>Ie?(void 0===(n=Fe[r=i])&&(n=_e(r),Pe===Re&&(Pe=0,Fe={}),Pe++,Fe[r]=n),n):_e(i);case"object":case"function":return function(e){var t;if(Te&&void 0!==(t=Ee.get(e)))return t;if(void 0!==(t=e[Ae]))return t;if(!we){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ae]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=Se(),Te)Ee.set(e,t);else{if(void 0!==ve&&!1===ve(e))throw new Error("Non-extensible objects are not allowed as keys.");if(we)Object.defineProperty(e,Ae,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ae]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ae]=t}}return t}(i);case"symbol":return function(e){var t=Oe[e];return void 0!==t||(t=Se(),Oe[e]=t),t}(i);default:if("function"==typeof i.toString)return _e(i.toString());throw new Error("Value type "+typeof i+" cannot be hashed.")}}function be(e){return null===e?1108378658:1108378659}function _e(e){for(var t=0,r=0;r=0&&(u.get=function(t,r){return(t=d(this,t))>=0&&ts)return{value:void 0,done:!0};var e=i.next();return n||t===k||e.done?e:H(t,c-1,t===M?void 0:e.value[1],e)}))},u}function Ve(e,t,r,n){var i=We(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,c=0;return e.__iterate((function(e,o,u){if(!s||!(s=t.call(r,e,o,u)))return c++,i(e,n?o:c-1,a)})),c},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(L,o),c=!0,u=0;return new q((function(){var e,o,l;do{if((e=s.next()).done)return n||i===k?e:H(i,u++,i===M?void 0:e.value[1],e);var d=e.value;o=d[0],l=d[1],c&&(c=t.call(r,l,o,a))}while(c);return i===L?e:H(i,o,l,e)}))},i}function qe(e,t,r){var n=We(e);return n.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(c,u){c.__iterate((function(o,c){return(!t||u0}function Ke(e,t,r,n){var i=We(e),o=new te(r).map((function(e){return e.size}));return i.size=n?o.max():o.min(),i.__iterate=function(e,t){for(var r,n=this.__iterator(k,t),i=0;!(r=n.next()).done&&!1!==e(r.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map((function(e){return e=O(e),Q(i?e.reverse():e)})),a=0,s=!1;return new q((function(){var r;return s||(r=o.map((function(e){return e.next()})),s=n?r.every((function(e){return e.done})):r.some((function(e){return e.done}))),s?{value:void 0,done:!0}:H(e,a++,t.apply(null,r.map((function(e){return e.value}))))}))},i}function Qe(e,t){return e===t?e:P(e)?t:e.constructor(t)}function ze(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Je(e){return w(e)?x:E(e)?A:I}function We(e){return Object.create((w(e)?Y:E(e)?Z:ee).prototype)}function Xe(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):X.prototype.cacheResult.call(this)}function Ye(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e0;)t[r]=arguments[r+1];if("function"!=typeof e)throw new TypeError("Invalid merger function: "+e);return Et(this,t,e)}function Et(e,t,r){for(var n=[],i=0;i0;)t[r]=arguments[r+1];return Rt(e,t)}function Ot(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return Rt(t,r,e)}function xt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return It(e,t)}function At(e,t){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return It(t,r,e)}function It(e,t,r){return Rt(e,t,function(e){return function t(r,n,i){return ot(r)&&ot(n)&&(o=n,a=X(r),s=X(o),E(a)===E(s)&&w(a)===w(s))?Rt(r,[n],t):e?e(r,n,i):n;var o,a,s}}(r))}function Rt(e,t,r){if(!ot(e))throw new TypeError("Cannot merge into non-data-structure value: "+e);if(N(e))return"function"==typeof r&&e.mergeWith?e.mergeWith.apply(e,[r].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var n=Array.isArray(e),i=e,o=n?A:x,a=n?function(t){i===e&&(i=ut(i)),i.push(t)}:function(t,n){var o=J.call(i,n),a=o&&r?r(i[n],t,n):t;o&&a===i[n]||(i===e&&(i=ut(i)),i[n]=a)},s=0;s0;)t[r]=arguments[r+1];return It(this,t,e)}function Dt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return Rt(e,t)}))}function Nt(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return pt(this,e,Wt(),(function(e){return It(e,t)}))}function jt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function Ct(){return this.__ownerID?this:this.__ensureOwner(new u)}function Mt(){return this.__ensureOwner()}function kt(){return this.__altered}var Lt=function(e){function t(t){return null==t?Wt():le(t)&&!C(t)?t:Wt().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e,t){return r.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Wt().withMutations((function(t){for(var r=0;r=e.length)throw new Error("Missing value for key: "+e[r]);t.set(e[r],e[r+1])}}))},t.prototype.toString=function(){return this.__toString("Map {","}")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return Xt(this,e,t)},t.prototype.remove=function(e){return Xt(this,e,s)},t.prototype.deleteAll=function(e){var t=O(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Wt()},t.prototype.sort=function(e){return Sr(He(this,e))},t.prototype.sortBy=function(e,t){return Sr(He(this,t,e))},t.prototype.map=function(e,t){var r=this;return this.withMutations((function(n){n.forEach((function(i,o){n.set(o,e.call(t,i,o,r))}))}))},t.prototype.__iterator=function(e,t){return new Kt(this,e,t)},t.prototype.__iterate=function(e,t){var r=this,n=0;return this._root&&this._root.iterate((function(t){return n++,e(t[1],t[0],r)}),t),n},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Jt(this.size,this._root,e,this.__hash):0===this.size?Wt():(this.__ownerID=e,this.__altered=!1,this)},t}(x);Lt.isMap=le;var Ut=Lt.prototype;Ut[ue]=!0,Ut[n]=Ut.remove,Ut.removeAll=Ut.deleteAll,Ut.setIn=yt,Ut.removeIn=Ut.deleteIn=mt,Ut.update=_t,Ut.updateIn=vt,Ut.merge=Ut.concat=wt,Ut.mergeWith=St,Ut.mergeDeep=Pt,Ut.mergeDeepWith=Ft,Ut.mergeIn=Dt,Ut.mergeDeepIn=Nt,Ut.withMutations=jt,Ut.wasAltered=kt,Ut.asImmutable=Mt,Ut["@@transducer/init"]=Ut.asMutable=Ct,Ut["@@transducer/step"]=function(e,t){return e.set(t[0],t[1])},Ut["@@transducer/result"]=function(e){return e.asImmutable()};var Bt=function(e,t){this.ownerID=e,this.entries=t};Bt.prototype.get=function(e,t,r,n){for(var i=this.entries,o=0,a=i.length;o=nr)return function(e,t,r,n){e||(e=new u);for(var i=new $t(e,me(r),[r,n]),o=0;o>>e)&a),s=this.bitmap;return s&o?this.nodes[tr(s&o-1)].get(e+i,t,r,n):n},Vt.prototype.update=function(e,t,r,n,c,u,l){void 0===r&&(r=me(n));var d=(0===t?r:r>>>t)&a,p=1<=ir)return function(e,t,r,n,i){for(var a=0,s=new Array(o),c=0;0!==r;c++,r>>>=1)s[c]=1&r?t[a++]:void 0;return s[n]=i,new qt(e,a+1,s)}(e,g,h,d,b);if(f&&!b&&2===g.length&&Zt(g[1^y]))return g[1^y];if(f&&b&&1===g.length&&Zt(b))return b;var _=e&&e===this.ownerID,v=f?b?h:h^p:h|p,w=f?b?rr(g,y,b,_):function(e,t,r){var n=e.length-1;if(r&&t===n)return e.pop(),e;for(var i=new Array(n),o=0,a=0;a>>e)&a,s=this.nodes[o];return s?s.get(e+i,t,r,n):n},qt.prototype.update=function(e,t,r,n,o,c,u){void 0===r&&(r=me(n));var l=(0===t?r:r>>>t)&a,d=o===s,p=this.nodes,h=p[l];if(d&&!h)return this;var f=Yt(h,e,t+i,r,n,o,c,u);if(f===h)return this;var y=this.count;if(h){if(!f&&--y>>r)&a,u=(0===r?n:n>>>r)&a,l=c===u?[er(e,t,r+i,n,o)]:(s=new $t(t,n,o),c>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,127&(e+=e>>8)+(e>>16)}function rr(e,t,r,n){var i=n?e:Ze(e);return i[t]=r,i}var nr=o/4,ir=o/2,or=o/4,ar="@@__IMMUTABLE_LIST__@@";function sr(e){return Boolean(e&&e[ar])}var cr=function(e){function t(t){var r=yr();if(null==t)return r;if(sr(t))return t;var n=e(t),a=n.size;return 0===a?r:(tt(a),a>0&&a=0&&e=e.size||t<0)return e.withMutations((function(e){t<0?_r(e,t).set(0,r):_r(e,0,t+1).set(t,r)}));t+=e._origin;var n=e._tail,i=e._root,o={value:!1};return t>=vr(e._capacity)?n=gr(n,e.__ownerID,0,t,r,o):i=gr(i,e.__ownerID,e._level,t,r,o),o.value?e.__ownerID?(e._root=i,e._tail=n,e.__hash=void 0,e.__altered=!0,e):fr(e._origin,e._capacity,e._level,i,n):e}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=i,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):yr()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(r){_r(r,0,t+e.length);for(var n=0;n>>t&a;if(n>=this.array.length)return new lr([],e);var o,s=0===n;if(t>0){var c=this.array[n];if((o=c&&c.removeBefore(e,t-i,r))===c&&s)return this}if(s&&!o)return this;var u=mr(this,e);if(!s)for(var l=0;l>>t&a;if(o>=this.array.length)return this;if(t>0){var s=this.array[o];if((n=s&&s.removeAfter(e,t-i,r))===s&&o===this.array.length-1)return this}var c=mr(this,e);return c.array.splice(o+1),n&&(c.array[o]=n),c};var dr,pr={};function hr(e,t){var r=e._origin,n=e._capacity,a=vr(n),s=e._tail;return function e(c,u,l){return 0===u?function(e,i){var c=i===a?s&&s.array:e&&e.array,u=i>r?0:r-i,l=n-i;return l>o&&(l=o),function(){if(u===l)return pr;var e=t?--l:u++;return c&&c[e]}}(c,l):function(a,s,c){var u,l=a&&a.array,d=c>r?0:r-c>>s,p=1+(n-c>>s);return p>o&&(p=o),function(){for(;;){if(u){var r=u();if(r!==pr)return r;u=null}if(d===p)return pr;var n=t?--p:d++;u=e(l&&l[n],s-i,c+(n<>>r&a,d=e&&l0){var p=e&&e.array[l],h=gr(p,t,r-i,n,o,s);return h===p?e:((u=mr(e,t)).array[l]=h,u)}return d&&e.array[l]===o?e:(s&&c(s),u=mr(e,t),void 0===o&&l===u.array.length-1?u.array.pop():u.array[l]=o,u)}function mr(e,t){return t&&e&&t===e.ownerID?e:new lr(e?e.array.slice():[],t)}function br(e,t){if(t>=vr(e._capacity))return e._tail;if(t<1<0;)r=r.array[t>>>n&a],n-=i;return r}}function _r(e,t,r){void 0!==t&&(t|=0),void 0!==r&&(r|=0);var n=e.__ownerID||new u,o=e._origin,s=e._capacity,c=o+t,l=void 0===r?s:r<0?s+r:o+r;if(c===o&&l===s)return e;if(c>=l)return e.clear();for(var d=e._level,p=e._root,h=0;c+h<0;)p=new lr(p&&p.array.length?[void 0,p]:[],n),h+=1<<(d+=i);h&&(c+=h,o+=h,l+=h,s+=h);for(var f=vr(s),y=vr(l);y>=1<f?new lr([],n):g;if(g&&y>f&&ci;_-=i){var v=f>>>_&a;b=b.array[v]=mr(b.array[v],n)}b.array[f>>>i&a]=g}if(l=y)c-=y,l-=y,d=i,p=null,m=m&&m.removeBefore(n,0,c);else if(c>o||y>>d&a;if(w!==y>>>d&a)break;w&&(h+=(1<o&&(p=p.removeBefore(n,d,c-h)),p&&y>>i<=o&&c.size>=2*a.size?(n=(i=c.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(n.__ownerID=i.__ownerID=e.__ownerID)):(n=a.remove(t),i=u===c.size-1?c.pop():c.set(u,void 0))}else if(l){if(r===c.get(u)[1])return e;n=a,i=c.set(u,[t,r])}else n=a.set(t,c.size),i=c.set(c.size,[t,r]);return e.__ownerID?(e.size=n.size,e._map=n,e._list=i,e.__hash=void 0,e.__altered=!0,e):Er(n,i)}Sr.isOrderedMap=de,Sr.prototype[j]=!0,Sr.prototype[n]=Sr.prototype.remove;var xr="@@__IMMUTABLE_STACK__@@";function Ar(e){return Boolean(e&&e[xr])}var Ir=function(e){function t(e){return null==e?Dr():Ar(e)?e:Dr().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString("Stack [","]")},t.prototype.get=function(e,t){var r=this._head;for(e=d(this,e);r&&e--;)r=r.next;return r?r.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,r=this._head,n=arguments.length-1;n>=0;n--)r={value:e[n],next:r};return this.__ownerID?(this.size=t,this._head=r,this.__hash=void 0,this.__altered=!0,this):Fr(t,r)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&Ar(t))return t;tt(t.size);var r=this.size,n=this._head;return t.__iterate((function(e){r++,n={value:e,next:n}}),!0),this.__ownerID?(this.size=r,this._head=n,this.__hash=void 0,this.__altered=!0,this):Fr(r,n)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Dr()},t.prototype.slice=function(t,r){if(h(t,r,this.size))return this;var n=f(t,this.size);if(y(r,this.size)!==this.size)return e.prototype.slice.call(this,t,r);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Fr(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Fr(this.size,this._head,e,this.__hash):0===this.size?Dr():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var r=this;if(t)return new te(this.toArray()).__iterate((function(t,n){return e(t,n,r)}),t);for(var n=0,i=this._head;i&&!1!==e(i.value,n++,this);)i=i.next;return n},t.prototype.__iterator=function(e,t){if(t)return new te(this.toArray()).__iterator(e,t);var r=0,n=this._head;return new q((function(){if(n){var t=n.value;return n=n.next,H(e,r++,t)}return{value:void 0,done:!0}}))},t}(A);Ir.isStack=Ar;var Rr,Pr=Ir.prototype;function Fr(e,t,r,n){var i=Object.create(Pr);return i.size=e,i._head=t,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Dr(){return Rr||(Rr=Fr(0))}Pr[xr]=!0,Pr.shift=Pr.pop,Pr.unshift=Pr.push,Pr.unshiftAll=Pr.pushAll,Pr.withMutations=jt,Pr.wasAltered=kt,Pr.asImmutable=Mt,Pr["@@transducer/init"]=Pr.asMutable=Ct,Pr["@@transducer/step"]=function(e,t){return e.unshift(t)},Pr["@@transducer/result"]=function(e){return e.asImmutable()};var Nr="@@__IMMUTABLE_SET__@@";function jr(e){return Boolean(e&&e[Nr])}function Cr(e){return jr(e)&&C(e)}function Mr(e,t){if(e===t)return!0;if(!_(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||w(e)!==w(t)||E(e)!==E(t)||C(e)!==C(t))return!1;if(0===e.size&&0===t.size)return!0;var r=!T(e);if(C(e)){var n=e.entries();return t.every((function(e,t){var i=n.next().value;return i&&he(i[1],e)&&(r||he(i[0],t))}))&&n.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var o=e;e=t,t=o}var a=!0,c=t.__iterate((function(t,n){if(r?!e.has(t):i?!he(t,e.get(n,s)):!he(e.get(n,s),t))return a=!1,!1}));return a&&e.size===c}function kr(e,t){var r=function(r){e.prototype[r]=t[r]};return Object.keys(t).forEach(r),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(r),e}function Lr(e){if(!e||"object"!=typeof e)return e;if(!_(e)){if(!ot(e))return e;e=X(e)}if(w(e)){var t={};return e.__iterate((function(e,r){t[r]=Lr(e)})),t}var r=[];return e.__iterate((function(e){r.push(Lr(e))})),r}var Ur=function(e){function t(t){return null==t?$r():jr(t)&&!C(t)?t:$r().withMutations((function(r){var n=e(t);tt(n.size),n.forEach((function(e){return r.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.intersect=function(e){return(e=O(e).toArray()).length?Vr.intersect.apply(t(e.pop()),e):$r()},t.union=function(e){return(e=O(e).toArray()).length?Vr.union.apply(t(e.pop()),e):$r()},t.prototype.toString=function(){return this.__toString("Set {","}")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return qr(this,this._map.set(e,e))},t.prototype.remove=function(e){return qr(this,this._map.remove(e))},t.prototype.clear=function(){return qr(this,this._map.clear())},t.prototype.map=function(e,t){var r=this,n=!1,i=qr(this,this._map.mapEntries((function(i){var o=i[1],a=e.call(t,o,o,r);return a!==o&&(n=!0),[a,a]}),t));return n?i:this},t.prototype.union=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(r){for(var n=0;n=0&&t=0&&r>>-15,461845907),t=fe(t<<13|t>>>-13,5),t=fe((t=t+3864292196^e)^t>>>16,2246822507),t=ye((t=fe(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(r?t?function(e,t){n=31*n+un(me(e),me(t))|0}:function(e,t){n=n+un(me(e),me(t))|0}:t?function(e){n=31*n+me(e)|0}:function(e){n=n+me(e)|0}),n)}(this))}});var Xr=O.prototype;Xr[b]=!0,Xr[V]=Xr.values,Xr.toJSON=Xr.toArray,Xr.__toStringMapper=at,Xr.inspect=Xr.toSource=function(){return this.toString()},Xr.chain=Xr.flatMap,Xr.contains=Xr.includes,kr(x,{flip:function(){return Qe(this,Me(this))},mapEntries:function(e,t){var r=this,n=0;return Qe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],n++,r)})).fromEntrySeq())},mapKeys:function(e,t){var r=this;return Qe(this,this.toSeq().flip().map((function(n,i){return e.call(t,n,i,r)})).flip())}});var Yr=x.prototype;Yr[v]=!0,Yr[V]=Xr.entries,Yr.toJSON=Wr,Yr.__toStringMapper=function(e,t){return at(t)+": "+at(e)},kr(A,{toKeyedSeq:function(){return new De(this,!1)},filter:function(e,t){return Qe(this,Ue(this,e,t,!1))},findIndex:function(e,t){var r=this.findEntry(e,t);return r?r[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Qe(this,Le(this,!1))},slice:function(e,t){return Qe(this,Be(this,e,t,!1))},splice:function(e,t){var r=arguments.length;if(t=Math.max(t||0,0),0===r||2===r&&!t)return this;e=f(e,e<0?this.count():this.size);var n=this.slice(0,e);return Qe(this,1===r?n:n.concat(Ze(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var r=this.findLastEntry(e,t);return r?r[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Qe(this,qe(this,e,!1))},get:function(e,t){return(e=d(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,r){return r===e}),void 0,t)},has:function(e){return(e=d(this,e))>=0&&(void 0!==this.size?this.size===1/0||et?-1:0}function un(e,t){return e^t+2654435769+(e<<6)+(e>>2)}en.has=Xr.includes,en.contains=en.includes,en.keys=en.values,kr(Y,Yr),kr(Z,Zr),kr(ee,en);var ln=function(e){function t(e){return null==e?fn():Cr(e)?e:fn().withMutations((function(t){var r=I(e);tt(r.size),r.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(x(e).keySeq())},t.prototype.toString=function(){return this.__toString("OrderedSet {","}")},t}(Ur);ln.isOrderedSet=Cr;var dn,pn=ln.prototype;function hn(e,t){var r=Object.create(pn);return r.size=e?e.size:0,r._map=e,r.__ownerID=t,r}function fn(){return dn||(dn=hn(Tr()))}pn[j]=!0,pn.zip=Zr.zip,pn.zipWith=Zr.zipWith,pn.zipAll=Zr.zipAll,pn.__empty=fn,pn.__make=hn;var yn={LeftThenRight:-1,RightThenLeft:1},gn=function(e,t){var r;!function(e){if(D(e))throw new Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(N(e))throw new Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===e||"object"!=typeof e)throw new Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(e);var n=function(o){var a=this;if(o instanceof n)return o;if(!(this instanceof n))return new n(o);if(!r){r=!0;var s=Object.keys(e),c=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var u=0;u2?[]:void 0,{"":e})}function On(e,t,r,n,i,o){if("string"!=typeof r&&!N(r)&&(W(r)||G(r)||it(r))){if(~e.indexOf(r))throw new TypeError("Cannot convert circular structure to Immutable");e.push(r),i&&""!==n&&i.push(n);var a=t.call(o,n,X(r).map((function(n,o){return On(e,t,n,o,i,r)})),i&&i.slice());return e.pop(),i&&i.pop(),a}return r}function xn(e,t){return E(t)?t.toList():w(t)?t.toMap():t.toSet()}var An="4.3.5",In=O;const Rn={version:An,Collection:O,Iterable:O,Seq:X,Map:Lt,OrderedMap:Sr,List:cr,Stack:Ir,Set:Ur,OrderedSet:ln,PairSorting:yn,Record:gn,Range:Kr,Repeat:En,is:he,fromJS:Tn,hash:me,isImmutable:N,isCollection:_,isKeyed:w,isIndexed:E,isAssociative:T,isOrdered:C,isValueObject:pe,isPlainObject:it,isSeq:P,isList:sr,isMap:le,isOrderedMap:de,isStack:Ar,isSet:jr,isOrderedSet:Cr,isRecord:D,get:ct,getIn:Qr,has:st,hasIn:Jr,merge:Tt,mergeDeep:xt,mergeWith:Ot,mergeDeepWith:At,remove:lt,removeIn:gt,set:dt,setIn:ft,update:bt,updateIn:pt}},24799:e=>{!function(){var t;function r(e,n){var i=this instanceof r?this:t;if(i.reset(n),"string"==typeof e&&e.length>0&&i.hash(e),i!==this)return i}r.prototype.hash=function(e){var t,r,n,i,o;switch(o=e.length,this.len+=o,r=this.k1,n=0,this.rem){case 0:r^=o>n?65535&e.charCodeAt(n++):0;case 1:r^=o>n?(65535&e.charCodeAt(n++))<<8:0;case 2:r^=o>n?(65535&e.charCodeAt(n++))<<16:0;case 3:r^=o>n?(255&e.charCodeAt(n))<<24:0,r^=o>n?(65280&e.charCodeAt(n++))>>8:0}if(this.rem=o+this.rem&3,(o-=this.rem)>0){for(t=this.h1;t=5*(t=(t^=r=13715*(r=(r=11601*r+3432906752*(65535&r)&4294967295)<<15|r>>>17)+461832192*(65535&r)&4294967295)<<13|t>>>19)+3864292196&4294967295,!(n>=o);)r=65535&e.charCodeAt(n++)^(65535&e.charCodeAt(n++))<<8^(65535&e.charCodeAt(n++))<<16,r^=(255&(i=e.charCodeAt(n++)))<<24^(65280&i)>>8;switch(r=0,this.rem){case 3:r^=(65535&e.charCodeAt(n+2))<<16;case 2:r^=(65535&e.charCodeAt(n+1))<<8;case 1:r^=65535&e.charCodeAt(n)}this.h1=t}return this.k1=r,this},r.prototype.result=function(){var e,t;return e=this.k1,t=this.h1,e>0&&(t^=e=13715*(e=(e=11601*e+3432906752*(65535&e)&4294967295)<<15|e>>>17)+461832192*(65535&e)&4294967295),t^=this.len,t=51819*(t^=t>>>16)+2246770688*(65535&t)&4294967295,t=44597*(t^=t>>>13)+3266445312*(65535&t)&4294967295,(t^=t>>>16)>>>0},r.prototype.reset=function(e){return this.h1="number"==typeof e?e:0,this.rem=this.k1=this.len=0,this},t=new r,e.exports=r}()},56698:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},31232:e=>{"use strict";const t=e=>null!==e&&"object"==typeof e&&"function"==typeof e.pipe;t.writable=e=>t(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState,t.readable=e=>t(e)&&!1!==e.readable&&"function"==typeof e._read&&"object"==typeof e._readableState,t.duplex=e=>t.writable(e)&&t.readable(e),t.transform=e=>t.duplex(e)&&"function"==typeof e._transform,e.exports=t},42395:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(72803),t),i(r(75094),t),i(r(60585),t),i(r(29146),t),i(r(45086),t),i(r(85215),t),i(r(94931),t)},72803:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0,r(86547);const n=r(70742),i=r(75094),o=r(60585),a=r(85215),s=r(94931);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},75094:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},60585:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0,r(86547);const n=r(75094),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},29146:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},45086:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},85215:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(75094),o=r(94931);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},38690:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52277),t)},4405:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTree=void 0;class r{constructor(){this.subTrees={}}getContext(e){if(e.length>0){const[t,...r]=e,n=this.subTrees[t];if(n){const e=n.getContext(r);if(e)return e.then((({context:e,depth:t})=>({context:e,depth:t+1})))}}return this.context?this.context.then((e=>({context:e,depth:0}))):null}setContext(e,t){if(0===e.length)this.context=t;else{const[n,...i]=e;let o=this.subTrees[n];o||(o=this.subTrees[n]=new r),o.setContext(i,t)}}removeContext(e){this.setContext(e,null)}}t.ContextTree=r},52277:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JsonLdParser=void 0;const n=r(50608),i=r(58202),o=r(19198),a=r(39693),s=r(64860),c=r(22386),u=r(76970),l=r(23809),d=r(55998),p=r(15517),h=r(70736),f=r(24910),y=r(62036),g=r(86454),m=r(33283),b=r(93099),_=r(10888),v=r(2384),w=r(86105);class S extends o.Transform{constructor(e){super({readableObjectMode:!0}),e=e||{},this.options=e,this.parsingContext=new b.ParsingContext(Object.assign({parser:this},e)),this.util=new _.Util({dataFactory:e.dataFactory,parsingContext:this.parsingContext}),this.jsonParser=new n,this.contextJobs=[],this.typeJobs=[],this.contextAwaitingJobs=[],this.lastDepth=0,this.lastKeys=[],this.lastOnValueJob=Promise.resolve(),this.attachJsonParserListeners(),this.on("end",(()=>{void 0!==this.jsonParser.mode&&this.emit("error",new Error("Unclosed document"))}))}static fromHttpResponse(e,t,r,n){let o,a,s=["application/activity+json"];if(n&&n.wellKnownMediaTypes&&(s=n.wellKnownMediaTypes),"application/ld+json"!==t&&!s.includes(t)){if("application/json"!==t&&!t.endsWith("+json"))throw new i.ErrorCoded(`Unsupported JSON-LD media type ${t}`,i.ERROR_CODES.LOADING_DOCUMENT_FAILED);if(r&&r.has("Link")&&r.forEach(((t,r)=>{if("link"===r){const r=(0,v.parse)(t);for(const t of r.get("rel","http://www.w3.org/ns/json-ld#context")){if(o)throw new i.ErrorCoded("Multiple JSON-LD context link headers were found on "+e,i.ERROR_CODES.MULTIPLE_CONTEXT_LINK_HEADERS);o=t.uri}}})),!o&&!(null==n?void 0:n.ignoreMissingContextLinkHeader))throw new i.ErrorCoded(`Missing context link header for media type ${t} on ${e}`,i.ERROR_CODES.LOADING_DOCUMENT_FAILED)}if(r&&r.has("Content-Type")){const e=r.get("Content-Type"),t=/; *profile=([^"]*)/.exec(e);t&&"http://www.w3.org/ns/json-ld#streaming"===t[1]&&(a=!0)}return new S(Object.assign({baseIRI:e,context:o,streamingProfile:a},n||{}))}import(e){if("pipe"in e){e.on("error",(e=>t.emit("error",e)));const t=e.pipe(new S(this.options));return t}{const t=new o.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new S(this.options));return r}}_transform(e,t,r){this.jsonParser.write(e),this.lastOnValueJob.then((()=>r()),(e=>r(e)))}async newOnValueJob(e,t,r,n){let o=!0;if(n&&r1&&(l=this.parsingContext.validationStack[this.parsingContext.validationStack.length-1].property);for(let t=Math.max(1,this.parsingContext.validationStack.length-1);t=0?this.parsingContext.idStack[e-r-1]:[await this.util.getGraphContainerValue(t,e)];if(o)for(const t of o){this.parsingContext.emittedStack[e]=!0;for(const r of n)this.util.emitQuadChecked(e,i,r.predicate,r.object,t,r.reverse,r.isEmbedded)}else{const r=this.parsingContext.getUnidentifiedGraphBufferSafe(e-await this.util.getDepthOffsetGraph(e,t)-1);for(const e of n)e.reverse?r.push({object:i,predicate:e.predicate,subject:e.object,isEmbedded:e.isEmbedded}):r.push({object:e.object,predicate:e.predicate,subject:i,isEmbedded:e.isEmbedded})}}this.parsingContext.unidentifiedValuesBuffer.splice(e,1),this.parsingContext.literalStack.splice(e,1),this.parsingContext.jsonLiteralStack.splice(e,1)}const o=this.parsingContext.unidentifiedGraphsBuffer[e];if(o){for(const t of r){const r=1!==e||"BlankNode"!==t.termType||this.parsingContext.topLevelProperties?t:this.util.getDefaultGraph();this.parsingContext.emittedStack[e]=!0;for(const t of o)this.parsingContext.emitQuad(e,this.util.dataFactory.quad(t.subject,t.predicate,t.object,r))}this.parsingContext.unidentifiedGraphsBuffer.splice(e,1)}const a=this.parsingContext.annotationsBuffer[e];if(a){a.length>0&&1===e&&this.parsingContext.emitError(new i.ErrorCoded("Annotations can not be made on top-level nodes",i.ERROR_CODES.INVALID_ANNOTATION));const t=this.parsingContext.getAnnotationsBufferSafe(e-1);for(const e of a)t.push(e);delete this.parsingContext.annotationsBuffer[e]}}async validateKey(e,t,r){for(const n of S.ENTRY_HANDLERS)if(await n.validate(this.parsingContext,this.util,e,t,r))return{valid:!0,property:r||n.isPropertyHandler()};return{valid:!1,property:!1}}attachJsonParserListeners(){this.jsonParser.onValue=e=>{const t=this.jsonParser.stack.length,r=new Array(t+1).fill(0).map(((e,r)=>r===t?this.jsonParser.key:this.jsonParser.stack[r].key));if(!this.isParsingContextInner(t)){const n=()=>this.newOnValueJob(r,e,t,!0);if(this.parsingContext.streamingProfile||this.parsingContext.contextTree.getContext(r.slice(0,-1)))this.lastOnValueJob=this.lastOnValueJob.then(n);else if("@context"===r[t]){let e=this.contextJobs[t];e||(e=this.contextJobs[t]=[]),e.push(n)}else this.contextAwaitingJobs.push({job:n,keys:r,depth:t});this.parsingContext.streamingProfile||0!==t||(this.lastOnValueJob=this.lastOnValueJob.then((()=>this.executeBufferedJobs())))}},this.jsonParser.onError=e=>{this.emit("error",e)}}isParsingContextInner(e){for(let t=e;t>0;t--)if("@context"===this.jsonParser.stack[t-1].key)return!0;return!1}async executeBufferedJobs(){for(const e of this.contextJobs)if(e)for(const t of e)await t();this.parsingContext.unaliasedKeywordCacheStack.splice(0);const e=[];for(const t of this.contextAwaitingJobs)"@type"===await this.util.unaliasKeyword(t.keys[t.depth],t.keys,t.depth,!0)||"number"==typeof t.keys[t.depth]&&"@type"===await this.util.unaliasKeyword(t.keys[t.depth-1],t.keys,t.depth-1,!0)?this.typeJobs.push({job:t.job,keys:t.keys.slice(0,t.keys.length-1)}):e.push(t);for(const t of e){if(this.typeJobs.length>0){const e=[],r=[];for(let n=0;ne.keys.length-t.keys.length));for(const e of n)await e.job();const i=r.sort().reverse();for(const e of i)this.typeJobs.splice(e,1)}await t.job()}}}S.DEFAULT_PROCESSING_MODE="1.1",S.ENTRY_HANDLERS=[new a.EntryHandlerArrayValue,new l.EntryHandlerKeywordContext,new p.EntryHandlerKeywordId,new h.EntryHandlerKeywordIncluded,new d.EntryHandlerKeywordGraph,new f.EntryHandlerKeywordNest,new y.EntryHandlerKeywordType,new m.EntryHandlerKeywordValue,new w.EntryHandlerKeywordAnnotation,new s.EntryHandlerContainer,new g.EntryHandlerKeywordUnknownFallback,new u.EntryHandlerPredicate,new c.EntryHandlerInvalidFallback],t.JsonLdParser=S},93099:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParsingContext=void 0;const n=r(58202),i=r(18033),o=r(4405),a=r(52277);class s{constructor(e){this.contextParser=new n.ContextParser({documentLoader:e.documentLoader,skipValidation:e.skipContextValidation}),this.streamingProfile=!!e.streamingProfile,this.baseIRI=e.baseIRI,this.produceGeneralizedRdf=!!e.produceGeneralizedRdf,this.allowSubjectList=!!e.allowSubjectList,this.processingMode=e.processingMode||a.JsonLdParser.DEFAULT_PROCESSING_MODE,this.strictValues=!!e.strictValues,this.validateValueIndexes=!!e.validateValueIndexes,this.defaultGraph=e.defaultGraph,this.rdfDirection=e.rdfDirection,this.normalizeLanguageTags=e.normalizeLanguageTags,this.streamingProfileAllowOutOfOrderPlainType=e.streamingProfileAllowOutOfOrderPlainType,this.rdfstar=!1!==e.rdfstar,this.rdfstarReverseInEmbedded=e.rdfstarReverseInEmbedded,this.topLevelProperties=!1,this.activeProcessingMode=parseFloat(this.processingMode),this.processingStack=[],this.processingType=[],this.emittedStack=[],this.idStack=[],this.graphStack=[],this.graphContainerTermStack=[],this.listPointerStack=[],this.contextTree=new o.ContextTree,this.literalStack=[],this.validationStack=[],this.unaliasedKeywordCacheStack=[],this.jsonLiteralStack=[],this.unidentifiedValuesBuffer=[],this.unidentifiedGraphsBuffer=[],this.annotationsBuffer=[],this.pendingContainerFlushBuffers=[],this.parser=e.parser,e.context?(this.rootContext=this.parseContext(e.context),this.rootContext.then((e=>this.validateContext(e)))):this.rootContext=Promise.resolve(new n.JsonLdContextNormalized(this.baseIRI?{"@base":this.baseIRI,"@__baseDocument":!0}:{}))}async parseContext(e,t,r){return this.contextParser.parse(e,{baseIRI:this.baseIRI,ignoreProtection:r,normalizeLanguageTags:this.normalizeLanguageTags,parentContext:t,processingMode:this.activeProcessingMode})}validateContext(e){const t=e.getContextRaw()["@version"];if(t){if(this.activeProcessingMode&&t>this.activeProcessingMode)throw new i.ErrorCoded(`Unsupported JSON-LD version '${t}' under active processing mode ${this.activeProcessingMode}.`,i.ERROR_CODES.PROCESSING_MODE_CONFLICT);if(this.activeProcessingMode&&t0&&!1===i.context.getContextRaw()["@propagate"]&&i.depth!==t&&!r);return 0===i.depth&&!1===i.context.getContextRaw()["@propagate"]&&i.depth!==t&&(i.context=new n.JsonLdContextNormalized({})),i}async newOnValueJob(e,t,r,n){await this.parser.newOnValueJob(e,t,r,n)}async handlePendingContainerFlushBuffers(){if(this.pendingContainerFlushBuffers.length>0){for(const e of this.pendingContainerFlushBuffers)await this.parser.flushBuffer(e.depth,e.keys),this.parser.flushStacks(e.depth);return this.pendingContainerFlushBuffers.splice(0,this.pendingContainerFlushBuffers.length),!0}return!1}emitQuad(e,t){1===e&&(this.topLevelProperties=!0),this.parser.push(t)}emitError(e){this.parser.emit("error",e)}emitContext(e){this.parser.emit("context",e)}getUnidentifiedValueBufferSafe(e){let t=this.unidentifiedValuesBuffer[e];return t||(t=[],this.unidentifiedValuesBuffer[e]=t),t}getUnidentifiedGraphBufferSafe(e){let t=this.unidentifiedGraphsBuffer[e];return t||(t=[],this.unidentifiedGraphsBuffer[e]=t),t}getAnnotationsBufferSafe(e){let t=this.annotationsBuffer[e];return t||(t=[],this.annotationsBuffer[e]=t),t}getExpandOptions(){return s.EXPAND_OPTIONS[this.activeProcessingMode]}shiftStack(e,t){const r=this.idStack[e+t];if(r&&(this.idStack[e]=r,this.emittedStack[e]=!0,delete this.idStack[e+t]),this.pendingContainerFlushBuffers.length)for(const r of this.pendingContainerFlushBuffers)r.depth>=e+t&&(r.depth-=t,r.keys.splice(e,t));this.unidentifiedValuesBuffer[e+t]&&(this.unidentifiedValuesBuffer[e]=this.unidentifiedValuesBuffer[e+t],delete this.unidentifiedValuesBuffer[e+t]),this.annotationsBuffer[e+t-1]&&(this.annotationsBuffer[e-1]||(this.annotationsBuffer[e-1]=[]),this.annotationsBuffer[e-1]=[...this.annotationsBuffer[e-1],...this.annotationsBuffer[e+t-1]],delete this.annotationsBuffer[e+t-1])}}s.EXPAND_OPTIONS={1:{allowPrefixForcing:!1,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!1},1.1:{allowPrefixForcing:!0,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!0}},t.ParsingContext=s},10888:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(58202),i=r(47793),o=r(64860),a=r(82341);class s{constructor(e){this.parsingContext=e.parsingContext,this.dataFactory=e.dataFactory||new i.DataFactory,this.rdfFirst=this.dataFactory.namedNode(s.RDF+"first"),this.rdfRest=this.dataFactory.namedNode(s.RDF+"rest"),this.rdfNil=this.dataFactory.namedNode(s.RDF+"nil"),this.rdfType=this.dataFactory.namedNode(s.RDF+"type"),this.rdfJson=this.dataFactory.namedNode(s.RDF+"JSON")}static getContextValue(e,t,r,n){const i=e.getContextRaw()[r];if(!i)return n;const o=i[t];return void 0===o?n:o}static getContextValueContainer(e,t){return s.getContextValue(e,"@container",t,{"@set":!0})}static getContextValueType(e,t){const r=s.getContextValue(e,"@type",t,null);return"@none"===r?null:r}static getContextValueLanguage(e,t){return s.getContextValue(e,"@language",t,e.getContextRaw()["@language"]||null)}static getContextValueDirection(e,t){return s.getContextValue(e,"@direction",t,e.getContextRaw()["@direction"]||null)}static isContextValueReverse(e,t){return!!s.getContextValue(e,"@reverse",t,null)}static getContextValueIndex(e,t){return s.getContextValue(e,"@index",t,e.getContextRaw()["@index"]||null)}static isPropertyReverse(e,t,r){return"@reverse"===r!==s.isContextValueReverse(e,t)}static isPropertyInEmbeddedNode(e){return"@id"===e}static isPropertyInAnnotationObject(e){return"@annotation"===e}static isValidIri(e){return null!==e&&n.Util.isValidIri(e)}static isPrefixArray(e,t){if(e.length>t.length)return!1;for(let r=0;r1)throw new n.ErrorCoded(`Found illegal neighbouring entries next to @set for key: '${t}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);return[]}if("@list"in r){if(Object.keys(r).length>1)throw new n.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${t}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);const e=r["@list"];return Array.isArray(e)?0===e.length?[this.rdfNil]:this.parsingContext.idStack[i+1]||[]:await this.valueToTerm(await this.parsingContext.getContext(o),t,e,i-1,o.slice(0,-1))}if("@reverse"in r&&"boolean"==typeof r["@reverse"])return[];if("@graph"in s.getContextValueContainer(await this.parsingContext.getContext(o),t)){const e=this.parsingContext.graphContainerTermStack[i+1];return e?Object.values(e):[this.dataFactory.blankNode()]}if("@id"in r){if(Object.keys(r).length>1&&(e=await this.parsingContext.getContext(o,0)),"@context"in r&&(e=await this.parsingContext.parseContext(r["@context"],e.getContextRaw())),"@vocab"===r["@type"])return this.nullableTermToArray(this.createVocabOrBaseTerm(e,r["@id"]));{const t=r["@id"];let o;if("object"==typeof t){if(!this.parsingContext.rdfstar)throw new n.ErrorCoded(`Found illegal @id '${r}'`,n.ERROR_CODES.INVALID_ID_VALUE);o=this.parsingContext.idStack[i+1][0]}else o=this.resourceToTerm(e,t);return this.nullableTermToArray(o)}}return this.parsingContext.emittedStack[i+1]||r&&"object"==typeof r&&0===Object.keys(r).length?this.parsingContext.idStack[i+1]||(this.parsingContext.idStack[i+1]=[this.dataFactory.blankNode()]):[];case"string":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,r,null));case"boolean":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,Boolean(r).toString(),this.dataFactory.namedNode(s.XSD_BOOLEAN)));case"number":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,r,this.dataFactory.namedNode(r%1==0&&r<1e21?s.XSD_INTEGER:s.XSD_DOUBLE)));default:return this.parsingContext.emitError(new Error(`Could not determine the RDF type of a ${a}`)),[]}}async getContextSelfOrPropertyScoped(e,t){const r=e.getContextRaw()[t];return r&&"object"==typeof r&&"@context"in r&&(e=await this.parsingContext.parseContext(r,e.getContextRaw(),!0)),e}nullableTermToArray(e){return e?[e]:[]}predicateToTerm(e,t){const r=e.expandTerm(t,!0,this.parsingContext.getExpandOptions());return r?"_"===r[0]&&":"===r[1]?this.parsingContext.produceGeneralizedRdf?this.dataFactory.blankNode(r.substr(2)):null:s.isValidIri(r)?this.dataFactory.namedNode(r):r&&this.parsingContext.strictValues?(this.parsingContext.emitError(new n.ErrorCoded(`Invalid predicate IRI: ${r}`,n.ERROR_CODES.INVALID_IRI_MAPPING)),null):null:null}resourceToTerm(e,t){if(t.startsWith("_:"))return this.dataFactory.blankNode(t.substr(2));const r=e.expandTerm(t,!1,this.parsingContext.getExpandOptions());if(!s.isValidIri(r)){if(!r||!this.parsingContext.strictValues)return null;this.parsingContext.emitError(new Error(`Invalid resource IRI: ${r}`))}return this.dataFactory.namedNode(r)}createVocabOrBaseTerm(e,t){if(t.startsWith("_:"))return this.dataFactory.blankNode(t.substr(2));const r=this.parsingContext.getExpandOptions();let n=e.expandTerm(t,!0,r);if(n===t&&(n=e.expandTerm(t,!1,r)),!s.isValidIri(n)){if(!n||!this.parsingContext.strictValues||n.startsWith("@"))return null;this.parsingContext.emitError(new Error(`Invalid term IRI: ${n}`))}return this.dataFactory.namedNode(n)}intToString(e,t){return"number"==typeof e?Number.isFinite(e)?e%1!=0||t&&t.value===s.XSD_DOUBLE?e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"):Number(e).toString():e>0?"INF":"-INF":e}stringValueToTerm(e,t,r,n,i){const o=s.getContextValueType(t,r);if(o)if("@id"===o){if(!i)return this.resourceToTerm(t,this.intToString(n,i))}else if("@vocab"===o){if(!i)return this.createVocabOrBaseTerm(t,this.intToString(n,i))}else i=this.dataFactory.namedNode(o);if(!i){const o=s.getContextValueLanguage(t,r),a=s.getContextValueDirection(t,r);return a&&this.parsingContext.rdfDirection?this.createLanguageDirectionLiteral(e,this.intToString(n,i),o,a):this.dataFactory.literal(this.intToString(n,i),o)}return this.dataFactory.literal(this.intToString(n,i),i)}createLanguageDirectionLiteral(e,t,r,n){if("i18n-datatype"===this.parsingContext.rdfDirection)return r||(r=""),this.dataFactory.literal(t,this.dataFactory.namedNode(`https://www.w3.org/ns/i18n#${r}_${n}`));{const i=this.dataFactory.blankNode(),o=this.getDefaultGraph();return this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"value"),this.dataFactory.literal(t),o)),r&&this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"language"),this.dataFactory.literal(r),o)),this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"direction"),this.dataFactory.literal(n),o)),i}}valueToJsonString(e){return a(e)}async unaliasKeyword(e,t,r,i,o){if(Number.isInteger(e))return e;if(!i){const e=this.parsingContext.unaliasedKeywordCacheStack[r];if(e)return e}if(!n.Util.isPotentialKeyword(e)){let r=(o=o||await this.parsingContext.getContext(t)).getContextRaw()[e];r&&"object"==typeof r&&(r=r["@id"]),n.Util.isValidKeyword(r)&&(e=r)}return i?e:this.parsingContext.unaliasedKeywordCacheStack[r]=e}async unaliasKeywordParent(e,t){return await this.unaliasKeyword(t>0&&e[t-1],e,t-1)}async unaliasKeywords(e,t,r,n){const i={};for(const o in e)i[await this.unaliasKeyword(o,t,r+1,!0,n)]=e[o];return i}async isLiteral(e,t){for(let r=t;r>=0;r--){if("@annotation"===await this.unaliasKeyword(e[r],e,r))return!1;if(this.parsingContext.literalStack[r]||this.parsingContext.jsonLiteralStack[r])return!0}return!1}async getDepthOffsetGraph(e,t){for(let r=e-1;r>0;r--)if("@graph"===await this.unaliasKeyword(t[r],t,r)){const n=(await o.EntryHandlerContainer.getContainerHandler(this.parsingContext,t,r)).containers;return o.EntryHandlerContainer.isComplexGraphContainer(n)?-1:e-r-1}return-1}validateReverseSubject(e){if("Literal"===e.termType)throw new n.ErrorCoded(`Found illegal literal in subject position: ${e.value}`,n.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}getDefaultGraph(){return this.parsingContext.defaultGraph||this.dataFactory.defaultGraph()}async getGraphContainerValue(e,t){let r=this.getDefaultGraph();const{containers:n,depth:i}=await o.EntryHandlerContainer.getContainerHandler(this.parsingContext,e,t);if("@graph"in n){const t=o.EntryHandlerContainer.getContainerGraphIndex(n,i,e),a=this.parsingContext.graphContainerTermStack[i];if(r=a?a[t]:null,!r){let o=null;if("@id"in n){const t=await this.getContainerKey(e[i],e,i);null!==t&&(o=await this.resourceToTerm(await this.parsingContext.getContext(e),t))}o||(o=this.dataFactory.blankNode()),this.parsingContext.graphContainerTermStack[i]||(this.parsingContext.graphContainerTermStack[i]={}),r=this.parsingContext.graphContainerTermStack[i][t]=o}}return r}async getPropertiesDepth(e,t){let r=t;for(let n=t-1;n>0;n--)if("number"!=typeof e[n]){const t=await this.unaliasKeyword(e[n],e,n);if("@reverse"===t)return n;if("@nest"!==t)return r;r=n}return r}async getContainerKey(e,t,r){const n=await this.unaliasKeyword(e,t,r);return"@none"===n?null:n}validateReverseInEmbeddedNode(e,t,r){if(r&&t&&!this.parsingContext.rdfstarReverseInEmbedded)throw new n.ErrorCoded(`Illegal reverse property in embedded node in ${e}`,n.ERROR_CODES.INVALID_EMBEDDED_NODE)}emitQuadChecked(e,t,r,i,o,a,s){let c;if(a?(this.validateReverseSubject(i),c=this.dataFactory.quad(i,r,t,o)):c=this.dataFactory.quad(t,r,i,o),s){if("DefaultGraph"!==c.graph.termType&&(c=this.dataFactory.quad(c.subject,c.predicate,c.object)),this.parsingContext.idStack[e-1])throw new n.ErrorCoded("Illegal multiple properties in an embedded node",n.ERROR_CODES.INVALID_EMBEDDED_NODE);this.parsingContext.idStack[e-1]=[c]}else this.parsingContext.emitQuad(e,c);const u=this.parsingContext.annotationsBuffer[e];if(u){for(const t of u)this.emitAnnotation(e,c,t);delete this.parsingContext.annotationsBuffer[e]}}emitAnnotation(e,t,r){let n;r.reverse?(this.validateReverseSubject(r.object),n=this.dataFactory.quad(r.object,r.predicate,t)):n=this.dataFactory.quad(t,r.predicate,r.object),this.parsingContext.emitQuad(e,n);for(const t of r.nestedAnnotations)this.emitAnnotation(e,n,t)}}s.XSD="http://www.w3.org/2001/XMLSchema#",s.XSD_BOOLEAN=s.XSD+"boolean",s.XSD_INTEGER=s.XSD+"integer",s.XSD_DOUBLE=s.XSD+"double",s.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",t.Util=s},7986:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerIdentifier=void 0,t.ContainerHandlerIdentifier=class{canCombineWithGraph(){return!0}async handle(e,t,r,n,i,o){let a;if(t.emittedStack[o+1]&&t.idStack[o+1])a=t.idStack[o+1][0];else{const e=null!==await r.getContainerKey(n[o],n,o)?await r.resourceToTerm(await t.getContext(n),n[o]):r.dataFactory.blankNode();if(!e)return void(t.emittedStack[o]=!1);a=e,t.idStack[o+1]=[a]}let s=t.idStack[o];s||(s=t.idStack[o]=[]),s.some((e=>e.equals(a)))||s.push(a),await t.handlePendingContainerFlushBuffers()||(t.emittedStack[o]=!1)}}},71977:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerIndex=void 0;const n=r(58202),i=r(76970),o=r(10888);t.ContainerHandlerIndex=class{canCombineWithGraph(){return!0}async handle(e,t,r,a,s,c){if(!Array.isArray(s)){const u="@graph"in e,l=await t.getContext(a),d=a[c-1],p=o.Util.getContextValueIndex(l,d);if(p){if(n.Util.isPotentialKeyword(p))throw new n.ErrorCoded(`Keywords can not be used as @index value, got: ${p}`,n.ERROR_CODES.INVALID_TERM_DEFINITION);if("string"!=typeof p)throw new n.ErrorCoded(`@index values must be strings, got: ${p}`,n.ERROR_CODES.INVALID_TERM_DEFINITION);if("object"!=typeof s){if("@id"!==o.Util.getContextValueType(l,d))throw new n.ErrorCoded(`Property-based index containers require nodes as values or strings with @type: @id, but got: ${s}`,n.ERROR_CODES.INVALID_VALUE_OBJECT);const e=r.resourceToTerm(l,s);e&&(t.idStack[c+1]=[e])}const e=r.createVocabOrBaseTerm(l,p);if(e){const n=await r.valueToTerm(l,p,await r.getContainerKey(a[c],a,c),c,a);if(u){const i=await r.getGraphContainerValue(a,c+1);for(const o of n)t.emitQuad(c,r.dataFactory.quad(i,e,o,r.getDefaultGraph()))}else for(const o of n)await i.EntryHandlerPredicate.handlePredicateObject(t,r,a,c+1,e,o,!1,!1,!1)}}const h=u?2:1;await t.newOnValueJob(a.slice(0,a.length-h),s,c-h,!0),await t.handlePendingContainerFlushBuffers()}t.emittedStack[c]=!1}}},63847:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerLanguage=void 0;const n=r(58202);t.ContainerHandlerLanguage=class{canCombineWithGraph(){return!1}async handle(e,t,r,i,o,a){const s=await r.getContainerKey(i[a],i,a);if(Array.isArray(o))o=o.map((e=>({"@value":e,"@language":s})));else{if("string"!=typeof o)throw new n.ErrorCoded(`Got invalid language map value, got '${JSON.stringify(o)}', but expected string`,n.ERROR_CODES.INVALID_LANGUAGE_MAP_VALUE);o={"@value":o,"@language":s}}await t.newOnValueJob(i.slice(0,i.length-1),o,a-1,!0),t.emittedStack[a]=!1}}},47229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerType=void 0;const n=r(76970),i=r(10888);t.ContainerHandlerType=class{canCombineWithGraph(){return!1}async handle(e,t,r,o,a,s){if(!Array.isArray(a)){if("string"==typeof a){const e=await t.getContext(o),n="@vocab"===i.Util.getContextValueType(e,o[s-1])?await r.createVocabOrBaseTerm(e,a):await r.resourceToTerm(e,a);if(n){const e={"@id":"NamedNode"===n.termType?n.value:a};await t.newOnValueJob(o.slice(0,o.length-1),e,s-1,!0),t.idStack[s+1]=[n]}}else{const e=!!t.idStack[s+1];e||delete t.idStack[s],await t.newOnValueJob(o.slice(0,o.length-1),a,s-1,!0),e||(t.idStack[s+1]=t.idStack[s])}const e=await r.getContainerKey(o[s],o,s),c=null!==e?r.createVocabOrBaseTerm(await t.getContext(o),e):null;c&&await n.EntryHandlerPredicate.handlePredicateObject(t,r,o,s+1,r.rdfType,c,!1,!1,!1),await t.handlePendingContainerFlushBuffers()}t.emittedStack[s]=!1}}},39693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerArrayValue=void 0;const n=r(10888),i=r(58202);t.EntryHandlerArrayValue=class{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return this.test(e,t,null,r,n)}async test(e,t,r,n,i){return"number"==typeof n[i]}async handle(e,t,r,i,o,a){let s=await t.unaliasKeywordParent(i,a);if("@list"===s){let r=null,n=0;for(let e=a-2;e>0;e--){const t=i[e];if("string"==typeof t||"number"==typeof t){n=e,r=t;break}}if(null!==r){const s=await t.valueToTerm(await e.getContext(i),r,o,a,i);for(const r of s)await this.handleListElement(e,t,r,o,a,i.slice(0,n),n);0===s.length&&await this.handleListElement(e,t,null,o,a,i.slice(0,n),n)}}else if("@set"===s)await e.newOnValueJob(i.slice(0,-2),o,a-2,!1);else if(void 0!==s&&"@type"!==s){for(let e=a-1;e>0;e--)if("number"!=typeof i[e]){s=await t.unaliasKeyword(i[e],i,e);break}const r=await e.getContext(i.slice(0,-1));if("@list"in n.Util.getContextValueContainer(r,s)){e.emittedStack[a+1]=!0;const r=await t.valueToTerm(await e.getContext(i),s,o,a,i);for(const n of r)await this.handleListElement(e,t,n,o,a,i.slice(0,-1),a-1);0===r.length&&await this.handleListElement(e,t,null,o,a,i.slice(0,-1),a-1)}else e.shiftStack(a,1),await e.newOnValueJob(i.slice(0,-1),o,a-1,!1),e.contextTree.removeContext(i.slice(0,-1))}}async handleListElement(e,t,r,n,o,a,s){let c=e.listPointerStack[o];if(null!==n&&null!==(await t.unaliasKeywords(n,a,o))["@value"]){if(c&&c.value){const r=t.dataFactory.blankNode();e.emitQuad(o,t.dataFactory.quad(c.value,t.rdfRest,r,t.getDefaultGraph())),c.value=r}else{const e=t.dataFactory.blankNode();c={value:e,listRootDepth:s,listId:e}}r&&e.emitQuad(o,t.dataFactory.quad(c.value,t.rdfFirst,r,t.getDefaultGraph()))}else c||(c={listRootDepth:s,listId:t.rdfNil});e.listPointerStack[o]=c,e.rdfstar&&e.annotationsBuffer[o]&&e.emitError(new i.ErrorCoded("Found an illegal annotation inside a list",i.ERROR_CODES.INVALID_ANNOTATION))}}},64860:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerContainer=void 0;const n=r(7986),i=r(71977),o=r(63847),a=r(47229),s=r(10888);class c{static isSimpleGraphContainer(e){return"@graph"in e&&("@set"in e&&2===Object.keys(e).length||1===Object.keys(e).length)}static isComplexGraphContainer(e){return"@graph"in e&&("@set"in e&&Object.keys(e).length>2||!("@set"in e)&&Object.keys(e).length>1)}static getContainerGraphIndex(e,t,r){let n=c.isSimpleGraphContainer(e),i="";for(let e=t;e=0;e--)if("number"!=typeof t[e]){const r=s.Util.getContextValue(o,"@container",t[e],!1);if(r&&c.isSimpleGraphContainer(r))return{containers:r,depth:e+1,fallback:!1};const a=s.Util.getContextValue(o,"@container",t[e-1],!1);if(a){const t="@graph"in a;for(const r in c.CONTAINER_HANDLERS)if(a[r])return t?c.CONTAINER_HANDLERS[r].canCombineWithGraph()?{containers:a,depth:e,fallback:!1}:n:i?n:{containers:a,depth:e,fallback:!1};return n}if(i)return n;i=!0}return n}static async isBufferableContainerHandler(e,t,r){const n=await c.getContainerHandler(e,t,r);return!n.fallback&&!("@graph"in n.containers)}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!!await this.test(e,t,null,r,n)}async test(e,t,r,n,i){const o=s.Util.getContextValueContainer(await e.getContext(n,2),n[i-1]);for(const e in c.CONTAINER_HANDLERS)if(o[e])return{containers:o,handler:c.CONTAINER_HANDLERS[e]};return null}async handle(e,t,r,n,i,o,a){return a.handler.handle(a.containers,e,t,n,i,o)}}c.CONTAINER_HANDLERS={"@id":new n.ContainerHandlerIdentifier,"@index":new i.ContainerHandlerIndex,"@language":new o.ContainerHandlerLanguage,"@type":new a.ContainerHandlerType},t.EntryHandlerContainer=c},22386:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerInvalidFallback=void 0,t.EntryHandlerInvalidFallback=class{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!1}async test(e,t,r,n,i){return!0}async handle(e,t,r,n,i,o){e.emittedStack[o]=!1}}},76970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerPredicate=void 0;const n=r(58202),i=r(10888);class o{static async handlePredicateObject(e,t,r,i,o,a,s,c,u){const l=await t.getPropertiesDepth(r,i),d=await t.getDepthOffsetGraph(i,r),p=i-d,h=e.idStack[l];if(h&&!u)for(const n of h)if(d>=0){const r=e.idStack[p-1];if(r)for(const e of r)t.emitQuadChecked(i,n,o,a,e,s,c);else s?(t.validateReverseSubject(a),e.getUnidentifiedGraphBufferSafe(p-1).push({subject:a,predicate:o,object:n,isEmbedded:c})):e.getUnidentifiedGraphBufferSafe(p-1).push({subject:n,predicate:o,object:a,isEmbedded:c})}else{const e=await t.getGraphContainerValue(r,l);t.emitQuadChecked(i,n,o,a,e,s,c)}else if(s&&t.validateReverseSubject(a),u){if(e.rdfstar){e.idStack[i]&&e.emitError(new n.ErrorCoded(`Found an illegal @id inside an annotation: ${e.idStack[i][0].value}`,n.ERROR_CODES.INVALID_ANNOTATION));for(let o=0;o=0;e--){const t=c[e];t.depth>l&&(u.nestedAnnotations.push(t),c.splice(e,1))}}}else e.getUnidentifiedValueBufferSafe(l).push({predicate:o,object:a,reverse:s,isEmbedded:c})}isPropertyHandler(){return!0}isStackProcessor(){return!0}async validate(e,t,r,n,o){const a=r[n];if(a){const o=await e.getContext(r);if(!e.jsonLiteralStack[n]&&await t.predicateToTerm(o,r[n]))return"@json"===i.Util.getContextValueType(o,a)&&(e.jsonLiteralStack[n+1]=!0),!0}return!1}async test(e,t,r,n,i){return n[i]}async handle(e,t,r,a,s,c,u){const l=a[c],d=await e.getContext(a),p=await t.predicateToTerm(d,r);if(p){const u=await t.valueToTerm(d,r,s,c,a);if(u.length)for(let h of u){let u=await t.unaliasKeywordParent(a,c);const f=i.Util.isPropertyReverse(d,l,u);let y=0;for(;"@reverse"===u||"number"==typeof u;)"number"==typeof u?y++:c--,u=await t.unaliasKeywordParent(a,c-y);const g=i.Util.isPropertyInEmbeddedNode(u);t.validateReverseInEmbeddedNode(r,f,g);const m=i.Util.isPropertyInAnnotationObject(u);if(s){const o="@list"in i.Util.getContextValueContainer(d,r);if(o||s["@list"]){if((o&&!Array.isArray(s)&&!s["@list"]||s["@list"]&&!Array.isArray(s["@list"]))&&h!==t.rdfNil){const r=t.dataFactory.blankNode();e.emitQuad(c,t.dataFactory.quad(r,t.rdfRest,t.rdfNil,t.getDefaultGraph())),e.emitQuad(c,t.dataFactory.quad(r,t.rdfFirst,h,t.getDefaultGraph())),h=r}if(f&&!e.allowSubjectList)throw new n.ErrorCoded(`Found illegal list value in subject position at ${r}`,n.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}}await o.handlePredicateObject(e,t,a,c,p,h,f,g,m)}}}}t.EntryHandlerPredicate=o},1548:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeyword=void 0,t.EntryHandlerKeyword=class{constructor(e){this.keyword=e}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!1}async test(e,t,r,n,i){return r===this.keyword}}},86105:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordAnnotation=void 0;const n=r(1548),i=r(58202);class o extends n.EntryHandlerKeyword{constructor(){super("@annotation")}async handle(e,t,r,n,o,a){("string"==typeof o||"object"==typeof o&&o["@value"])&&e.emitError(new i.ErrorCoded(`Found illegal annotation value: ${JSON.stringify(o)}`,i.ERROR_CODES.INVALID_ANNOTATION))}}t.EntryHandlerKeywordAnnotation=o},23809:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordContext=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@context")}isStackProcessor(){return!1}async handle(e,t,r,i,o,a){e.streamingProfile&&(e.processingStack[a]||e.processingType[a]||void 0!==e.idStack[a])&&e.emitError(new n.ErrorCoded("Found an out-of-order context, while streaming is enabled.(disable `streamingProfile`)",n.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));const s=e.getContext(i),c=e.parseContext(o,(await s).getContextRaw());e.contextTree.setContext(i.slice(0,-1),c),e.emitContext(o),await e.validateContext(await c)}}t.EntryHandlerKeywordContext=o},55998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordGraph=void 0;const n=r(1548);class i extends n.EntryHandlerKeyword{constructor(){super("@graph")}async handle(e,t,r,n,i,o){e.graphStack[o+1]=!0}}t.EntryHandlerKeywordGraph=i},15517:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordId=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@id")}isStackProcessor(){return!1}async handle(e,t,r,i,o,a){if("string"!=typeof o){if(e.rdfstar&&"object"==typeof o){const t=Object.keys(o);1===t.length&&"@id"===t[0]&&e.emitError(new n.ErrorCoded(`Invalid embedded node without property with @id ${o["@id"]}`,n.ERROR_CODES.INVALID_EMBEDDED_NODE))}else e.emitError(new n.ErrorCoded(`Found illegal @id '${o}'`,n.ERROR_CODES.INVALID_ID_VALUE));return}const s=await t.getPropertiesDepth(i,a);if(void 0!==e.idStack[s]&&(e.idStack[s][0].listHead?e.emitError(new n.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${i[a-1]}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT)):e.emitError(new n.ErrorCoded(`Found duplicate @ids '${e.idStack[s][0].value}' and '${o}'`,n.ERROR_CODES.COLLIDING_KEYWORDS))),e.rdfstar&&e.annotationsBuffer[a])for(const t of e.annotationsBuffer[a])t.depth===a&&e.emitError(new n.ErrorCoded(`Found an illegal @id inside an annotation: ${o}`,n.ERROR_CODES.INVALID_ANNOTATION));e.idStack[s]=t.nullableTermToArray(await t.resourceToTerm(await e.getContext(i),o))}}t.EntryHandlerKeywordId=o},70736:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordIncluded=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@included")}async handle(e,t,r,i,o,a){"object"!=typeof o&&e.emitError(new n.ErrorCoded(`Found illegal @included '${o}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE));const s=await t.unaliasKeywords(o,i,a,await e.getContext(i));"@value"in s&&e.emitError(new n.ErrorCoded(`Found an illegal @included @value node '${JSON.stringify(o)}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE)),"@list"in s&&e.emitError(new n.ErrorCoded(`Found an illegal @included @list node '${JSON.stringify(o)}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE)),e.emittedStack[a]=!1}}t.EntryHandlerKeywordIncluded=o},24910:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordNest=void 0;const n=r(58202),i=r(1548);class o extends i.EntryHandlerKeyword{constructor(){super("@nest")}async handle(e,t,r,i,o,a){"object"!=typeof o&&e.emitError(new n.ErrorCoded(`Found invalid @nest entry for '${r}': '${o}'`,n.ERROR_CODES.INVALID_NEST_VALUE)),"@value"in await t.unaliasKeywords(o,i,a,await e.getContext(i))&&e.emitError(new n.ErrorCoded(`Found an invalid @value node for '${r}'`,n.ERROR_CODES.INVALID_NEST_VALUE)),e.emittedStack[a]=!1}}t.EntryHandlerKeywordNest=o},62036:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordType=void 0;const n=r(58202),i=r(10888),o=r(76970),a=r(1548);class s extends a.EntryHandlerKeyword{constructor(){super("@type")}isStackProcessor(){return!1}async handle(e,t,r,a,s,c){const u=a[c],l=await e.getContext(a),d=t.rdfType,p=await t.unaliasKeywordParent(a,c),h=i.Util.isPropertyReverse(l,u,p),f=i.Util.isPropertyInEmbeddedNode(p);t.validateReverseInEmbeddedNode(r,h,f);const y=i.Util.isPropertyInAnnotationObject(p),g=Array.isArray(s)?s:[s];for(const r of g){"string"!=typeof r&&e.emitError(new n.ErrorCoded(`Found illegal @type '${r}'`,n.ERROR_CODES.INVALID_TYPE_VALUE));const i=t.createVocabOrBaseTerm(l,r);i&&await o.EntryHandlerPredicate.handlePredicateObject(e,t,a,c,d,i,h,f,y)}let m=Promise.resolve(l),b=!1;for(const t of g.sort()){const r=i.Util.getContextValue(l,"@context",t,null);r&&(b=!0,m=m.then((t=>e.parseContext(r,t.getContextRaw()))))}!e.streamingProfile||!b&&e.streamingProfileAllowOutOfOrderPlainType||!e.processingStack[c]&&!e.idStack[c]||e.emitError(new n.ErrorCoded("Found an out-of-order type-scoped context, while streaming is enabled.(disable `streamingProfile`)",n.ERROR_CODES.INVALID_STREAMING_KEY_ORDER)),b&&(m=m.then((e=>!0!==e.getContextRaw()["@propagate"]?new n.JsonLdContextNormalized(Object.assign(Object.assign({},e.getContextRaw()),{"@propagate":!1,"@__propagateFallback":l.getContextRaw()})):e)),e.contextTree.setContext(a.slice(0,a.length-1),m)),e.processingType[c]=!0}}t.EntryHandlerKeywordType=s},86454:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordUnknownFallback=void 0;const n=r(58202);class i{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,i,o){const a=await t.unaliasKeyword(r[i],r,i);return!(!n.Util.isPotentialKeyword(a)||!o&&"@list"===a)}async test(e,t,r,i,o){return n.Util.isPotentialKeyword(r)}async handle(e,t,r,o,a,s){const c=i.VALID_KEYWORDS_TYPES[r];void 0!==c?c&&typeof a!==c.type&&e.emitError(new n.ErrorCoded(`Invalid value type for '${r}' with value '${a}'`,c.errorCode)):e.strictValues&&e.emitError(new Error(`Unknown keyword '${r}' with value '${a}'`)),e.emittedStack[s]=!1}}i.VALID_KEYWORDS_TYPES={"@index":{type:"string",errorCode:n.ERROR_CODES.INVALID_INDEX_VALUE},"@list":null,"@reverse":{type:"object",errorCode:n.ERROR_CODES.INVALID_REVERSE_VALUE},"@set":null,"@value":null},t.EntryHandlerKeywordUnknownFallback=i},33283:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordValue=void 0;const n=r(1548);class i extends n.EntryHandlerKeyword{constructor(){super("@value")}async validate(e,t,r,n,i){const o=r[n];return o&&!e.literalStack[n]&&await this.test(e,t,o,r,n)&&(e.literalStack[n]=!0),super.validate(e,t,r,n,i)}async test(e,t,r,n,i){return"@value"===await t.unaliasKeyword(n[i],n.slice(0,n.length-1),i-1,!0)}async handle(e,t,r,n,i,o){e.literalStack[o]=!0,delete e.unidentifiedValuesBuffer[o],delete e.unidentifiedGraphsBuffer[o],e.emittedStack[o]=!1}}t.EntryHandlerKeywordValue=i},58202:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(38314),t),i(r(18033),t),i(r(99344),t),i(r(72731),t),i(r(31579),t),i(r(22602),t),i(r(70384),t)},38314:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0;const n=r(70742),i=r(18033),o=r(99344),a=r(22602),s=r(70384);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},18033:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},99344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0;const n=r(18033),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},72731:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},31579:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22602:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(18033),o=r(70384);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},43549:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(77843),t),i(r(23317),t)},77843:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JsonLdSerializer=void 0;const n=r(25875),i=r(89250),o=r(23317),a=r(19198);class s extends a.Transform{constructor(e={}){super({objectMode:!0}),this.indentation=0,this.options=e,this.options.baseIRI&&!this.options.context&&(this.options.context={"@base":this.options.baseIRI}),this.options.context?(this.originalContext=this.options.context,this.context=(new n.ContextParser).parse(this.options.context,{baseIRI:this.options.baseIRI})):this.context=Promise.resolve(new n.JsonLdContextNormalized({}))}import(e){const t=new a.PassThrough({objectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new s(this.options));return r}_transform(e,t,r){this.context.then((t=>{this.transformQuad(e,t),r()})).catch(r)}async list(e){const t=await this.context;return{"@list":e.map((e=>o.Util.termToValue(e,t,this.options)))}}_flush(e){return this.opened||this.pushDocumentStart(),this.lastPredicate&&this.endPredicate(),this.lastSubject&&this.endSubject(),this.lastGraph&&"DefaultGraph"!==this.lastGraph.termType&&this.endGraph(),this.endDocument(),e(null,null)}transformQuad(e,t){this.opened||this.pushDocumentStart();const r=this.lastGraph&&"DefaultGraph"!==this.lastGraph.termType&&this.lastGraph.equals(e.subject);if(!(r||this.lastGraph&&e.graph.equals(this.lastGraph))){let r="DefaultGraph"!==e.graph.termType&&this.lastSubject&&this.lastSubject.equals(e.graph);this.lastGraph&&("DefaultGraph"!==this.lastGraph.termType?(this.endPredicate(),this.endSubject(),this.endGraph(!0),r=!1):r?(this.endPredicate(!0),this.lastSubject=null):(this.endPredicate(),this.endSubject(!0))),"DefaultGraph"!==e.graph.termType&&(r||this.pushId(e.graph,!0,t),this.pushSeparator(this.options.space?i.SeparatorType.GRAPH_FIELD_NONCOMPACT:i.SeparatorType.GRAPH_FIELD_COMPACT),this.indentation++),this.lastGraph=e.graph}this.lastSubject&&e.subject.equals(this.lastSubject)||(r?(this.endPredicate(),this.endSubject(),this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END_COMMA),this.lastGraph=e.graph):(this.lastSubject&&(this.endPredicate(),this.endSubject(!0)),this.pushId(e.subject,!0,t)),this.lastSubject=e.subject),this.lastPredicate&&e.predicate.equals(this.lastPredicate)||(this.lastPredicate&&this.endPredicate(!0),this.pushPredicate(e.predicate,t)),this.pushObject(e.object,t)}pushDocumentStart(){this.opened=!0,this.originalContext&&!this.options.excludeContext?(this.pushSeparator(i.SeparatorType.OBJECT_START),this.indentation++,this.pushSeparator(i.SeparatorType.CONTEXT_FIELD),this.pushIndented(JSON.stringify(this.originalContext,null,this.options.space)+","),this.pushSeparator(this.options.space?i.SeparatorType.GRAPH_FIELD_NONCOMPACT:i.SeparatorType.GRAPH_FIELD_COMPACT),this.indentation++):(this.pushSeparator(i.SeparatorType.ARRAY_START),this.indentation++)}pushId(e,t,r){if("Quad"===e.termType)this.pushNestedQuad(e,!0,r);else{const n="BlankNode"===e.termType?"_:"+e.value:r.compactIri(e.value,!1);t?this.pushSeparator(i.SeparatorType.OBJECT_START):(this.push(i.SeparatorType.OBJECT_START.label),this.options.space&&this.push("\n")),this.indentation++,this.pushIndented(this.options.space?`"@id": "${n}",`:`"@id":"${n}",`)}}pushPredicate(e,t){let r=e.value;this.options.useRdfType||r!==o.Util.RDF_TYPE||(r="@type",this.objectOptions=Object.assign(Object.assign({},this.options),{compactIds:!0,vocab:!0}));const n=t.compactIri(r,!0);this.pushIndented(this.options.space?`"${n}": [`:`"${n}":[`),this.indentation++,this.lastPredicate=e}pushObject(e,t){if(this.hadObjectForPredicate?this.pushSeparator(i.SeparatorType.COMMA):this.hadObjectForPredicate=!0,"Quad"===e.termType){const r=this.lastSubject,n=this.lastPredicate;return this.hadObjectForPredicate=!1,this.pushNestedQuad(e,!1,t),this.endSubject(!1),this.hadObjectForPredicate=!0,this.lastPredicate=n,void(this.lastSubject=r)}let r;try{r=e["@list"]?e:o.Util.termToValue(e,t,this.objectOptions||this.options)}catch(e){return this.emit("error",e)}this.pushIndented(JSON.stringify(r,null,this.options.space))}pushNestedQuad(e,t,r){this.pushSeparator(i.SeparatorType.OBJECT_START),this.indentation++,this.pushIndented(this.options.space?'"@id": ':'"@id":',!1),"DefaultGraph"!==e.graph.termType&&this.emit("error",new Error(`Found a nested quad with the non-default graph: ${e.graph.value}`)),this.pushId(e.subject,!1,r),this.pushPredicate(e.predicate,r),this.pushObject(e.object,r),this.endPredicate(!1),this.endSubject(t)}endDocument(){this.opened=!1,this.originalContext&&!this.options.excludeContext?(this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END),this.indentation--,this.pushSeparator(i.SeparatorType.OBJECT_END)):(this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END))}endPredicate(e){this.indentation--,this.pushSeparator(e?i.SeparatorType.ARRAY_END_COMMA:i.SeparatorType.ARRAY_END),this.hadObjectForPredicate=!1,this.objectOptions=null,this.lastPredicate=null}endSubject(e){this.indentation--,this.pushSeparator(e?i.SeparatorType.OBJECT_END_COMMA:i.SeparatorType.OBJECT_END),this.lastSubject=null}endGraph(e){this.indentation--,this.pushSeparator(i.SeparatorType.ARRAY_END),this.indentation--,this.pushSeparator(e?i.SeparatorType.OBJECT_END_COMMA:i.SeparatorType.OBJECT_END),this.lastGraph=null}pushSeparator(e){this.pushIndented(e.label)}pushIndented(e,t=!0){const r=this.getIndentPrefix(),n=e.split("\n").map((e=>r+e)).join("\n");this.push(n),this.options.space&&t&&this.push("\n")}getIndentPrefix(){return this.options.space?this.options.space.repeat(this.indentation):""}}t.JsonLdSerializer=s},89250:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SeparatorType=void 0;class r{constructor(e){this.label=e}}t.SeparatorType=r,r.COMMA=new r(","),r.OBJECT_START=new r("{"),r.OBJECT_END=new r("}"),r.OBJECT_END_COMMA=new r("},"),r.ARRAY_START=new r("["),r.ARRAY_END=new r("]"),r.ARRAY_END_COMMA=new r("],"),r.GRAPH_FIELD_NONCOMPACT=new r('"@graph": ['),r.GRAPH_FIELD_COMPACT=new r('"@graph":['),r.CONTEXT_FIELD=new r('"@context":')},23317:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(25875);class i{static termToValue(e,t,r={compactIds:!1,useNativeTypes:!1}){switch(e.termType){case"NamedNode":const o=t.compactIri(e.value,r.vocab);return r.compactIds?o:{"@id":o};case"DefaultGraph":return r.compactIds?e.value:{"@id":e.value};case"BlankNode":const a=`_:${e.value}`;return r.compactIds?a:{"@id":a};case"Literal":if(e.datatype.value===i.RDF_JSON){let t;try{t=JSON.parse(e.value)}catch(e){throw new n.ErrorCoded("Invalid JSON literal: "+e.message,n.ERROR_CODES.INVALID_JSON_LITERAL)}return{"@value":t,"@type":"@json"}}if("i18n-datatype"===r.rdfDirection&&e.datatype.value.startsWith(i.I18N)){const[t,r]=e.datatype.value.substr(i.I18N.length,e.datatype.value.length).split("_");return Object.assign(Object.assign({"@value":e.value},t?{"@language":t}:{}),r?{"@direction":r}:{})}const s=e.datatype.value===i.XSD_STRING,c={"@value":!s&&r.useNativeTypes?i.stringToNativeType(e.value,e.datatype.value):e.value};return e.language?Object.assign(Object.assign({},c),{"@language":e.language}):s||"string"!=typeof c["@value"]?c:Object.assign(Object.assign({},c),{"@type":e.datatype.value})}}static stringToNativeType(e,t){if(t.startsWith(i.XSD))switch(t.substr(i.XSD.length)){case"boolean":if("true"===e)return!0;if("false"===e)return!1;throw new Error(`Invalid xsd:boolean value '${e}'`);case"integer":case"number":case"int":case"byte":case"long":const t=parseInt(e,10);if(isNaN(t))throw new Error(`Invalid xsd:integer value '${e}'`);return t;case"float":case"double":const r=parseFloat(e);if(isNaN(r))throw new Error(`Invalid xsd:float value '${e}'`);return r}return e}}t.Util=i,i.XSD="http://www.w3.org/2001/XMLSchema#",i.XSD_STRING=i.XSD+"string",i.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",i.RDF_TYPE=i.RDF+"type",i.RDF_JSON=i.RDF+"JSON",i.I18N="https://www.w3.org/ns/i18n#"},25875:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(41163),t),i(r(94142),t),i(r(48897),t),i(r(74482),t),i(r(64230),t),i(r(98087),t),i(r(44219),t)},41163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0;const n=r(70742),i=r(94142),o=r(48897),a=r(98087),s=r(44219);class c{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!=typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"==typeof r&&r["@reverse"]&&!r["@id"]){if("string"!=typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"==typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);for(;s.Util.isPrefixValue(n[o]);){const r=n[o];let i=!1;if("string"==typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],c=r["@type"],u=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)null!=a&&"string"==typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&u){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(c&&"string"==typeof c&&"@vocab"!==c&&(!r["@container"]||!r["@container"]["@type"])&&u){let r=e.expandTerm(c,!0);t&&c===r&&(r=e.expandTerm(c,!1)),r!==c&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const t of Object.keys(e))if("@language"===t&&"string"==typeof e[t])e[t]=e[t].toLowerCase();else{const r=e[t];if(r&&"object"==typeof r&&"string"==typeof r["@language"]){const n=r["@language"].toLowerCase();n!==r["@language"]&&(e[t]=Object.assign(Object.assign({},r),{"@language":n}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"==typeof r)if("string"==typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"==typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const r of null!=n?n:Object.keys(t))if(s.Util.isTermProtected(e,r)&&("string"==typeof t[r]?t[r]={"@id":t[r],"@protected":!0}:t[r]=Object.assign(Object.assign({},t[r]),{"@protected":!0}),!s.Util.deepEqual(e[r],t[r])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${r} from ${JSON.stringify(s.Util.getContextValueId(e[r]))} to ${JSON.stringify(s.Util.getContextValueId(t[r]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&c.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&c.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE)}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!(s.Util.isCompactIri(r)||"@id"in n||("@id"===n["@type"]?e["@base"]:e["@vocab"])))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const u of Object.keys(n)){const l=n[u];if(l)switch(u){case"@id":if(s.Util.isValidKeyword(l)&&"@type"!==l&&"@id"!==l&&"@graph"!==l&&"@nest"!==l)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===l)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(l)&&l!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!=typeof l)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(l,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==l&&"@vocab"!==l)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!=typeof l)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if(!("@id"===l||"@vocab"===l||1!==t&&"@json"===l||1!==t&&"@none"===l||"_"!==l[0]&&s.Util.isValidIri(l)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${l}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"==typeof l&&n["@id"]&&n["@id"]!==l)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${l}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(l).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(l)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(l)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(l)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":c.validateLanguage(l,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":c.validateDirection(l,!0);break;case"@prefix":if(null!==l&&"boolean"!=typeof l)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(l)&&"@nest"!==l)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"==typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"==typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!=typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(t){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const n of null!=r?r:Object.keys(e)){const r=e[n];if(r&&"object"==typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const i=Object.assign(Object.assign({},e),{[n]:Object.assign({},e[n])});delete i[n]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:i,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(e){throw new i.ErrorCoded(e.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[n]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:u,processingMode:l=c.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:d,ignoreProtection:p,minimalProcessing:h}=t,f=t.remoteContexts||{};if(Object.keys(f).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(f),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null==e){if(!p&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"==typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},f),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"==typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;return this.getOverriddenLoad(o,t)||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},f),{[r[o]]:!0}):f}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!=typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);f=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(f,{processingMode:l},a.defaultExpandOptions);const y=Object.assign(f,e);this.idifyReverseTerms(y),this.normalize(y,{processingMode:l,normalizeLanguageTags:d}),this.applyScopedProtected(y,{processingMode:l},a.defaultExpandOptions);const g=Object.keys(y),m=[];if("object"==typeof o)for(const e in o)e in y?m.push(e):y[e]=o[e];await this.parseInnerContexts(y,t,g);const b=new a.JsonLdContextNormalized(y);return(y&&y["@version"]||c.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"==typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?y["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in y)&&(y["@vocab"]=b.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(b,this.expandContentTypeToBase,g),!p&&o&&l>=1.1&&this.validateKeywordRedefinitions(o,y,a.defaultExpandOptions,m),this.validateContext&&!r.skipValidation&&this.validate(y,{processingMode:l}),b}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(t){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${t.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!=typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}c.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=c},94142:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}var n;t.ErrorCoded=r,(n=t.ERROR_CODES||(t.ERROR_CODES={})).COLLIDING_KEYWORDS="colliding keywords",n.CONFLICTING_INDEXES="conflicting indexes",n.CYCLIC_IRI_MAPPING="cyclic IRI mapping",n.INVALID_ID_VALUE="invalid @id value",n.INVALID_INDEX_VALUE="invalid @index value",n.INVALID_NEST_VALUE="invalid @nest value",n.INVALID_PREFIX_VALUE="invalid @prefix value",n.INVALID_PROPAGATE_VALUE="invalid @propagate value",n.INVALID_REVERSE_VALUE="invalid @reverse value",n.INVALID_IMPORT_VALUE="invalid @import value",n.INVALID_VERSION_VALUE="invalid @version value",n.INVALID_BASE_IRI="invalid base IRI",n.INVALID_CONTAINER_MAPPING="invalid container mapping",n.INVALID_CONTEXT_ENTRY="invalid context entry",n.INVALID_CONTEXT_NULLIFICATION="invalid context nullification",n.INVALID_DEFAULT_LANGUAGE="invalid default language",n.INVALID_INCLUDED_VALUE="invalid @included value",n.INVALID_IRI_MAPPING="invalid IRI mapping",n.INVALID_JSON_LITERAL="invalid JSON literal",n.INVALID_KEYWORD_ALIAS="invalid keyword alias",n.INVALID_LANGUAGE_MAP_VALUE="invalid language map value",n.INVALID_LANGUAGE_MAPPING="invalid language mapping",n.INVALID_LANGUAGE_TAGGED_STRING="invalid language-tagged string",n.INVALID_LANGUAGE_TAGGED_VALUE="invalid language-tagged value",n.INVALID_LOCAL_CONTEXT="invalid local context",n.INVALID_REMOTE_CONTEXT="invalid remote context",n.INVALID_REVERSE_PROPERTY="invalid reverse property",n.INVALID_REVERSE_PROPERTY_MAP="invalid reverse property map",n.INVALID_REVERSE_PROPERTY_VALUE="invalid reverse property value",n.INVALID_SCOPED_CONTEXT="invalid scoped context",n.INVALID_SCRIPT_ELEMENT="invalid script element",n.INVALID_SET_OR_LIST_OBJECT="invalid set or list object",n.INVALID_TERM_DEFINITION="invalid term definition",n.INVALID_TYPE_MAPPING="invalid type mapping",n.INVALID_TYPE_VALUE="invalid type value",n.INVALID_TYPED_VALUE="invalid typed value",n.INVALID_VALUE_OBJECT="invalid value object",n.INVALID_VALUE_OBJECT_VALUE="invalid value object value",n.INVALID_VOCAB_MAPPING="invalid vocab mapping",n.IRI_CONFUSED_WITH_PREFIX="IRI confused with prefix",n.KEYWORD_REDEFINITION="keyword redefinition",n.LOADING_DOCUMENT_FAILED="loading document failed",n.LOADING_REMOTE_CONTEXT_FAILED="loading remote context failed",n.MULTIPLE_CONTEXT_LINK_HEADERS="multiple context link headers",n.PROCESSING_MODE_CONFLICT="processing mode conflict",n.PROTECTED_TERM_REDEFINITION="protected term redefinition",n.CONTEXT_OVERFLOW="context overflow",n.INVALID_BASE_DIRECTION="invalid base direction",n.RECURSIVE_CONTEXT_INCLUSION="recursive context inclusion",n.INVALID_STREAMING_KEY_ORDER="invalid streaming key order",n.INVALID_EMBEDDED_NODE="invalid embedded node",n.INVALID_ANNOTATION="invalid annotation"},48897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0;const n=r(94142),i=r(2384),o=r(70742);t.FetchDocumentLoader=class{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}},74482:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},64230:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(70742),i=r(94142),o=r(44219);t.JsonLdContextNormalized=class{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let c=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"==typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(c=!1)}}const u=o.Util.getPrefix(e,this.contextRaw),l=this.contextRaw["@vocab"],d=(!!l||""===l)&&l.indexOf(":")<0,p=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(u){const t=this.contextRaw[u],r=o.Util.getContextValueId(t);if(r){if("string"!=typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(u.length+1)}}else{if(r&&(l||""===l||a.allowVocabRelativeToBase&&p&&d)&&!h&&!o.Util.isCompactIri(e)){if(d){if(a.allowVocabRelativeToBase)return(l||p?(0,n.resolve)(l,p):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${l}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return l+e}if(!r&&p&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,p)}if(c)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class r{static isCompactIri(e){return e.indexOf(":")>0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"==typeof e)return e;return e["@id"]||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"==typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"==typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"==typeof e||e&&"object"==typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"==typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"==typeof n&&"object"==typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},51009:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3170),t),i(r(68686),t),i(r(47194),t),i(r(36458),t),i(r(8770),t),i(r(43392),t),i(r(48073),t),i(r(75636),t),i(r(86126),t),i(r(73153),t)},43392:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},48073:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},75636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MicrodataRdfParser=void 0;const n=r(78659),i=r(19198),o=r(68686),a=r(47194),s=r(36458),c=r(8770),u=r(73153),l=r(68395);class d extends i.Transform{constructor(e){super({readableObjectMode:!0}),this.itemScopeStack=[],this.textBufferStack=[],this.isEmittingReferences=!1,this.pendingItemRefsDomain={},this.pendingItemRefsRangeFinalized={},this.pendingItemRefsRangeCollecting={},e=e||{},this.options=e,this.util=new u.Util(e.dataFactory,e.baseIRI),this.defaultGraph=e.defaultGraph||this.util.dataFactory.defaultGraph(),this.htmlParseListener=e.htmlParseListener,this.vocabRegistry=e.vocabRegistry||l,this.parser=this.initializeParser(!!e.xmlMode)}import(e){const t=new i.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new d(this.options));return r}_transform(e,t,r){this.parser.write(e.toString()),r()}_flush(e){this.parser.end(),e()}getItemScope(e){let t=this.itemScopeStack.length-(e?2:1);for(;t>0&&!this.itemScopeStack[t];)t--;return this.itemScopeStack[t]}getDepth(){return this.itemScopeStack.length}onTagOpen(e,t){if(!this.isEmittingReferences){if("id"in t){const e=t.id;this.pendingItemRefsRangeCollecting[e]={events:[],counter:0,ids:[]}}for(const r of Object.values(this.pendingItemRefsRangeCollecting))r.counter++,r.events.push({type:"open",name:e,attributes:t})}let r;if(this.textBufferStack.push(void 0),"itemscope"in t){let e;if(this.emittingReferencesItemScopeIdGenerator)e=this.emittingReferencesItemScopeIdGenerator();else{e="itemid"in t&&this.util.createSubject(t.itemid)||this.util.dataFactory.blankNode();for(const t of Object.values(this.pendingItemRefsRangeCollecting))t.ids.push(e)}r={subject:e},this.isEmittingReferences&&(r.blockEmission=!0);const n=this.getItemScope();n&&n.vocab&&(r.vocab=n.vocab),this.itemScopeStack.push(r)}else r=this.getItemScope(),this.itemScopeStack.push(void 0);if(r){if("itemtype"in t)for(const e of this.util.createVocabIris(t.itemtype,r,!1))r.vocab||(r.vocab=this.util.deriveVocab(e.value,this.vocabRegistry)),r.blockEmission||this.emitTriple(r.subject,this.util.dataFactory.namedNode(`${u.Util.RDF}type`),e);if("lang"in t&&(r.language=t.lang),"xml:lang"in t&&(r.language=t["xml:lang"]),"itemscope"in t&&!this.isEmittingReferences&&"itemref"in t)for(const e of t.itemref.split(/\s+/u))e in this.pendingItemRefsDomain||(this.pendingItemRefsDomain[e]=[]),this.pendingItemRefsDomain[e].push(r),this.tryToEmitReferences(e,r)}"itemprop"in t&&this.handleItemProperties(t.itemprop,!1,r,e,t),"itemprop-reverse"in t&&this.handleItemProperties(t["itemprop-reverse"],!0,r,e,t)}onText(e){if(!this.isEmittingReferences)for(const t of Object.values(this.pendingItemRefsRangeCollecting))t.events.push({type:"text",data:e});for(const t of this.textBufferStack)t&&t.push(e)}onTagClose(){if(!this.isEmittingReferences)for(const[e,t]of Object.entries(this.pendingItemRefsRangeCollecting))t.counter--,t.events.push({type:"close"}),0===t.counter&&(this.pendingItemRefsRangeFinalized[e]=t,delete this.pendingItemRefsRangeCollecting[e],this.tryToEmitReferences(e));const e=this.getItemScope(!0);if(e){const t=this.getDepth();if(e.predicates&&t in e.predicates)for(const[r,n]of Object.entries(e.predicates[t])){const i=this.util.createLiteral(this.textBufferStack[t].join(""),e);this.emitPredicateTriples(e,n,i,"reverse"===r),delete e.predicates[t][r]}}this.itemScopeStack.pop(),this.textBufferStack.pop()}onEnd(){}initializeParser(e){return new n.Parser({onclosetag:()=>{try{this.onTagClose(),this.htmlParseListener&&this.htmlParseListener.onTagClose()}catch(e){this.emit("error",e)}},onend:()=>{try{this.onEnd(),this.htmlParseListener&&this.htmlParseListener.onEnd()}catch(e){this.emit("error",e)}},onopentag:(e,t)=>{try{this.onTagOpen(e,t),this.htmlParseListener&&this.htmlParseListener.onTagOpen(e,t)}catch(e){this.emit("error",e)}},ontext:e=>{try{this.onText(e),this.htmlParseListener&&this.htmlParseListener.onText(e)}catch(e){this.emit("error",e)}}},{decodeEntities:!0,recognizeSelfClosing:!0,xmlMode:e})}handleItemProperties(e,t,r,n,i){const o=this.getItemScope(!0);if(o){const a=this.getDepth(),s=this.util.createVocabIris(e,o,!0);o.predicates||(o.predicates={}),o.predicates[a]||(o.predicates[a]={});const c=t?"reverse":"forward";o.predicates[a][c]=s;for(const t of this.util.getVocabularyExpansionType(e,o,this.vocabRegistry))s.push(t);if(r&&"itemscope"in i)this.emitPredicateTriples(o,s,r.subject,t),delete o.predicates[a][c];else for(const e of d.ITEM_PROPERTY_HANDLERS)if(e.canHandle(n,i)){const r=e.getObject(i,this.util,o);this.emitPredicateTriples(o,s,r,t),delete o.predicates[a][c]}o.predicates[a][c]&&(this.textBufferStack[a]=[])}}emitPredicateTriples(e,t,r,n){if(!e.blockEmission)for(const i of t)n?"Literal"!==r.termType&&this.emitTriple(r,i,e.subject):this.emitTriple(e.subject,i,r)}emitTriple(e,t,r){this.push(this.util.dataFactory.quad(e,t,r,this.defaultGraph))}tryToEmitReferences(e,t){const r=this.pendingItemRefsRangeFinalized[e];if(r){let n;if(t){n=[t];const r=this.pendingItemRefsDomain[e].indexOf(t);this.pendingItemRefsDomain[e].splice(r,1)}else n=this.pendingItemRefsDomain[e],delete this.pendingItemRefsDomain[e];if(n){const e=this.itemScopeStack,t=this.textBufferStack;this.isEmittingReferences=!0;for(const e of n){this.itemScopeStack=[e],this.textBufferStack=[void 0];const t=[...r.ids];this.emittingReferencesItemScopeIdGenerator=()=>t.shift();for(const e of r.events)switch(e.type){case"open":this.onTagOpen(e.name,e.attributes);break;case"text":this.onText(e.data);break;case"close":this.onTagClose()}}this.emittingReferencesItemScopeIdGenerator=void 0,this.itemScopeStack=e,this.textBufferStack=t,this.isEmittingReferences=!1}}}}t.MicrodataRdfParser=d,d.ITEM_PROPERTY_HANDLERS=[new o.ItemPropertyHandlerContent,new c.ItemPropertyHandlerUrl("a","href"),new c.ItemPropertyHandlerUrl("area","href"),new c.ItemPropertyHandlerUrl("audio","src"),new c.ItemPropertyHandlerUrl("embed","src"),new c.ItemPropertyHandlerUrl("iframe","src"),new c.ItemPropertyHandlerUrl("img","src"),new c.ItemPropertyHandlerUrl("link","href"),new c.ItemPropertyHandlerUrl("object","data"),new c.ItemPropertyHandlerUrl("source","src"),new c.ItemPropertyHandlerUrl("track","src"),new c.ItemPropertyHandlerUrl("video","src"),new a.ItemPropertyHandlerNumber("data","value"),new a.ItemPropertyHandlerNumber("meter","value"),new s.ItemPropertyHandlerTime]},73153:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(47793),i=r(70742);class o{constructor(e,t){this.dataFactory=e||new n.DataFactory,this.baseIRI=t||""}static isValidIri(e){return o.IRI_REGEX.test(e)}createVocabIris(e,t,r){return e.split(/\s+/u).filter((e=>!!e)).map((e=>{if(!o.isValidIri(e)){if(!r)return;e=`${t.vocab||`${this.baseIRI}#`}${e}`}return this.dataFactory.namedNode(e)})).filter((e=>!!e))}getVocabularyExpansionType(e,t,r){const n=e.split(/\s+/u);if(n.includes("subPropertyOf")||n.includes("equivalentProperty"))return[this.dataFactory.namedNode(`${o.RDF}type`)];if(t.vocab&&t.vocab in r&&r[t.vocab].properties){let e=[];for(const[i,o]of Object.entries(r[t.vocab].properties))n.includes(i)&&(e=[...Object.values(o).map((e=>this.dataFactory.namedNode(e)))]);return e}return[]}createSubject(e){if(!o.isValidIri(e))try{e=(0,i.resolve)(e,this.baseIRI)}catch(e){return}return this.dataFactory.namedNode(e)}createLiteral(e,t){return this.dataFactory.literal(e,t.language)}deriveVocab(e,t){let r;for(const n in t)if(e.startsWith(n)){r=n,r.endsWith("/")||(r+="#");break}if(!r){const t=e.indexOf("#");r=t>0?e.slice(0,t+1):(0,i.resolve)(".",e)}return r}}t.Util=o,o.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",o.XSD="http://www.w3.org/2001/XMLSchema#",o.RDFA="http://www.w3.org/ns/rdfa#",o.IRI_REGEX=/^([A-Za-z][\d+-.A-Za-z]*|_):[^ "<>[\\\]`{|}]*$/u},3170:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},68686:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerContent=void 0,t.ItemPropertyHandlerContent=class{canHandle(e,t){return"content"in t}getObject(e,t,r){return t.createLiteral(e.content,r)}}},47194:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerNumber=void 0;const n=r(73153);t.ItemPropertyHandlerNumber=class{constructor(e,t){this.tagName=e,this.attributeName=t}canHandle(e,t){return this.tagName===e&&this.attributeName in t}getObject(e,t,r){const i=e[this.attributeName];let o;return Number.isNaN(Number.parseInt(i,10))||i.includes(".")?Number.isNaN(Number.parseFloat(i))||(o=`${n.Util.XSD}double`):o=`${n.Util.XSD}integer`,t.dataFactory.literal(i,o&&t.dataFactory.namedNode(o))}}},36458:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerTime=void 0;const n=r(73153);class i{canHandle(e,t){return"time"===e&&"datetime"in t}getObject(e,t,r){const o=e.datetime;let a;for(const e of i.TIME_REGEXES)if(e.regex.test(o)){a=t.dataFactory.namedNode(n.Util.XSD+e.type);break}return t.dataFactory.literal(o,a)}}t.ItemPropertyHandlerTime=i,i.TIME_REGEXES=[{regex:/^-?P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d)?S)?)?$/u,type:"duration"},{regex:/^\d+-\d\d-\d\dT\d\d:\d\d:\d\d((Z?)|([+-]\d\d:\d\d))$/u,type:"dateTime"},{regex:/^\d+-\d\d-\d\dZ?$/u,type:"date"},{regex:/^\d\d:\d\d:\d\d((Z?)|([+-]\d\d:\d\d))$/u,type:"time"},{regex:/^\d+-\d\d$/u,type:"gYearMonth"},{regex:/^\d+$/u,type:"gYear"}]},8770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPropertyHandlerUrl=void 0;const n=r(70742);t.ItemPropertyHandlerUrl=class{constructor(e,t){this.tagName=e,this.attributeName=t}canHandle(e,t){return this.tagName===e&&this.attributeName in t}getObject(e,t,r){return t.dataFactory.namedNode((0,n.resolve)(e[this.attributeName],t.baseIRI))}}},43349:e=>{function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},54378:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BlankNode:()=>x,DataFactory:()=>S,DefaultGraph:()=>I,Lexer:()=>g,Literal:()=>O,NamedNode:()=>T,Parser:()=>j,Quad:()=>F,Store:()=>re,StreamParser:()=>ie,StreamWriter:()=>oe,Term:()=>E,Triple:()=>F,Util:()=>n,Variable:()=>A,Writer:()=>Y,default:()=>ae,termFromId:()=>R,termToId:()=>P});var n={};r.r(n),r.d(n,{inDefaultGraph:()=>q,isBlankNode:()=>L,isDefaultGraph:()=>V,isLiteral:()=>U,isNamedNode:()=>k,isVariable:()=>B,prefix:()=>H,prefixes:()=>$});var i=r(79596),o=r.n(i);const a="http://www.w3.org/1999/02/22-rdf-syntax-ns#",s="http://www.w3.org/2001/XMLSchema#",c="http://www.w3.org/2000/10/swap/",u={xsd:{decimal:`${s}decimal`,boolean:`${s}boolean`,double:`${s}double`,integer:`${s}integer`,string:`${s}string`},rdf:{type:`${a}type`,nil:`${a}nil`,first:`${a}first`,rest:`${a}rest`,langString:`${a}langString`},owl:{sameAs:"http://www.w3.org/2002/07/owl#sameAs"},r:{forSome:`${c}reify#forSome`,forAll:`${c}reify#forAll`},log:{implies:`${c}log#implies`}},{xsd:l}=u,d=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\([^])/g,p={"\\":"\\","'":"'",'"':'"',n:"\n",r:"\r",t:"\t",f:"\f",b:"\b",_:"_","~":"~",".":".","-":"-","!":"!",$:"$","&":"&","(":"(",")":")","*":"*","+":"+",",":",",";":";","=":"=","/":"/","?":"?","#":"#","@":"@","%":"%"},h=/[\x00-\x20<>\\"\{\}\|\^\`]/,f={_iri:!0,_unescapedIri:!0,_simpleQuotedString:!0,_langcode:!0,_blank:!0,_newline:!0,_comment:!0,_whitespace:!0,_endOfFile:!0},y=/$0^/;class g{constructor(e){if(this._iri=/^<((?:[^ <>{}\\]|\\[uU])+)>[ \t]*/,this._unescapedIri=/^<([^\x00-\x20<>\\"\{\}\|\^\`]*)>[ \t]*/,this._simpleQuotedString=/^"([^"\\\r\n]*)"(?=[^"])/,this._simpleApostropheString=/^'([^'\\\r\n]*)'(?=[^'])/,this._langcode=/^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\-])/i,this._prefix=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:(?=[#\s<])/,this._prefixed=/^((?:[A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)?:((?:(?:[0-:A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])(?:(?:[\.\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~])*(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff]|%[0-9a-fA-F]{2}|\\[!#-\/;=?\-@_~]))?)?)(?:[ \t]+|(?=\.?[,;!\^\s#()\[\]\{\}"'<>]))/,this._variable=/^\?(?:(?:[A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:[\-0-:A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?=[.,;!\^\s#()\[\]\{\}"'<>])/,this._blank=/^_:((?:[0-9A-Z_a-z\xc0-\xd6\xd8-\xf6\xf8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])(?:\.?[\-0-9A-Z_a-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u037f-\u1fff\u200c\u200d\u203f\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]|[\ud800-\udb7f][\udc00-\udfff])*)(?:[ \t]+|(?=\.?[,;:\s#()\[\]\{\}"'<>]))/,this._number=/^[\-+]?(?:(\d+\.\d*|\.?\d+)[eE][\-+]?|\d*(\.)?)\d+(?=\.?[,;:\s#()\[\]\{\}"'<>])/,this._boolean=/^(?:true|false)(?=[.,;\s#()\[\]\{\}"'<>])/,this._keyword=/^@[a-z]+(?=[\s#<:])/i,this._sparqlKeyword=/^(?:PREFIX|BASE|GRAPH)(?=[\s#<])/i,this._shortPredicates=/^a(?=[\s#()\[\]\{\}"'<>])/,this._newline=/^[ \t]*(?:#[^\n\r]*)?(?:\r\n|\n|\r)[ \t]*/,this._comment=/#([^\n\r]*)/,this._whitespace=/^[ \t]+/,this._endOfFile=/^(?:#[^\n\r]*)?$/,e=e||{},this._lineMode=!!e.lineMode){this._n3Mode=!1;for(const e in this)!(e in f)&&this[e]instanceof RegExp&&(this[e]=y)}else this._n3Mode=!1!==e.n3;this._comments=!!e.comments,this._literalClosingPos=0}_tokenizeToEnd(e,t){let r=this._input,n=r.length;for(;;){let e,a;for(;e=this._newline.exec(r);)this._comments&&(a=this._comment.exec(e[0]))&&i("comment",a[1],"",this._line,e[0].length),r=r.substr(e[0].length,r.length),n=r.length,this._line++;if(!e&&(e=this._whitespace.exec(r))&&(r=r.substr(e[0].length,r.length)),this._endOfFile.test(r))return t&&(this._comments&&(a=this._comment.exec(r))&&i("comment",a[1],"",this._line,r.length),r=null,i("eof","","",this._line,0)),this._input=r;const s=this._line,c=r[0];let u="",d="",p="",f=null,y=0,g=!1;switch(c){case"^":if(r.length<3)break;if("^"!==r[1]){this._n3Mode&&(y=1,u="^");break}if(this._previousMarker="^^",r=r.substr(2),"<"!==r[0]){g=!0;break}case"<":if(f=this._unescapedIri.exec(r))u="IRI",d=f[1];else if(f=this._iri.exec(r)){if(d=this._unescape(f[1]),null===d||h.test(d))return o(this);u="IRI"}else r.length>1&&"<"===r[1]?(u="<<",y=2):this._n3Mode&&r.length>1&&"="===r[1]&&(u="inverse",y=2,d=">");break;case">":r.length>1&&">"===r[1]&&(u=">>",y=2);break;case"_":((f=this._blank.exec(r))||t&&(f=this._blank.exec(`${r} `)))&&(u="blank",p="_",d=f[1]);break;case'"':if(f=this._simpleQuotedString.exec(r))d=f[1];else if(({value:d,matchLength:y}=this._parseLiteral(r)),null===d)return o(this);null===f&&0===y||(u="literal",this._literalClosingPos=0);break;case"'":if(!this._lineMode){if(f=this._simpleApostropheString.exec(r))d=f[1];else if(({value:d,matchLength:y}=this._parseLiteral(r)),null===d)return o(this);null===f&&0===y||(u="literal",this._literalClosingPos=0)}break;case"?":this._n3Mode&&(f=this._variable.exec(r))&&(u="var",d=f[0]);break;case"@":"literal"===this._previousMarker&&(f=this._langcode.exec(r))?(u="langcode",d=f[1]):(f=this._keyword.exec(r))&&(u=f[0]);break;case".":if(1===r.length?t:r[1]<"0"||r[1]>"9"){u=".",y=1;break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"+":case"-":(f=this._number.exec(r)||t&&(f=this._number.exec(`${r} `)))&&(u="literal",d=f[0],p="string"==typeof f[1]?l.double:"string"==typeof f[2]?l.decimal:l.integer);break;case"B":case"b":case"p":case"P":case"G":case"g":(f=this._sparqlKeyword.exec(r))?u=f[0].toUpperCase():g=!0;break;case"f":case"t":(f=this._boolean.exec(r))?(u="literal",d=f[0],p=l.boolean):g=!0;break;case"a":(f=this._shortPredicates.exec(r))?(u="abbreviation",d="a"):g=!0;break;case"=":this._n3Mode&&r.length>1&&(u="abbreviation",">"!==r[1]?(y=1,d="="):(y=2,d=">"));break;case"!":if(!this._n3Mode)break;case",":case";":case"[":case"]":case"(":case")":case"}":this._lineMode||(y=1,u=c);break;case"{":!this._lineMode&&r.length>=2&&("|"===r[1]?(u="{|",y=2):(u=c,y=1));break;case"|":r.length>=2&&"}"===r[1]&&(u="|}",y=2);break;default:g=!0}if(g&&("@prefix"!==this._previousMarker&&"PREFIX"!==this._previousMarker||!(f=this._prefix.exec(r))?((f=this._prefixed.exec(r))||t&&(f=this._prefixed.exec(`${r} `)))&&(u="prefixed",p=f[1]||"",d=this._unescape(f[2])):(u="prefix",d=f[1]||"")),"^^"===this._previousMarker)switch(u){case"prefixed":u="type";break;case"IRI":u="typeIRI";break;default:u=""}if(!u)return t||!/^'''|^"""/.test(r)&&/\n|\r/.test(r)?o(this):this._input=r;const m=y||f[0].length,b=i(u,d,p,s,m);this.previousToken=b,this._previousMarker=u,r=r.substr(m,r.length)}function i(t,i,o,a,s){const c=r?n-r.length:n,u={type:t,value:i,prefix:o,line:a,start:c,end:c+s};return e(null,u),u}function o(t){e(t._syntaxError(/^\S*/.exec(r)[0]))}}_unescape(e){let t=!1;const r=e.replace(d,((e,r,n,i)=>{if("string"==typeof r)return String.fromCharCode(Number.parseInt(r,16));if("string"==typeof n){let e=Number.parseInt(n,16);return e<=65535?String.fromCharCode(Number.parseInt(n,16)):String.fromCharCode(55296+((e-=65536)>>10),56320+(1023&e))}return i in p?p[i]:(t=!0,"")}));return t?null:r}_parseLiteral(e){if(e.length>=3){const t=e.match(/^(?:"""|"|'''|'|)/)[0],r=t.length;let n=Math.max(this._literalClosingPos,r);for(;(n=e.indexOf(t,n))>0;){let t=0;for(;"\\"===e[n-t-1];)t++;if(t%2==0){const t=e.substring(r,n),i=t.split(/\r\n|\r|\n/).length-1,o=n+r;if(1===r&&0!==i||3===r&&this._lineMode)break;return this._line+=i,{value:this._unescape(t),matchLength:o}}n++}this._literalClosingPos=e.length-r+1}return{value:"",matchLength:0}}_syntaxError(e){this._input=null;const t=new Error(`Unexpected "${e}" on line ${this._line}.`);return t.context={token:void 0,line:this._line,previousToken:this.previousToken},t}_readStartingBom(e){return e.startsWith("\ufeff")?e.substr(1):e}tokenize(e,t){if(this._line=1,"string"==typeof e){if(this._input=this._readStartingBom(e),"function"!=typeof t){const e=[];let t;if(this._tokenizeToEnd(((r,n)=>r?t=r:e.push(n)),!0),t)throw t;return e}o()((()=>this._tokenizeToEnd(t,!0)))}else this._pendingBuffer=null,"function"==typeof e.setEncoding&&e.setEncoding("utf8"),e.on("data",(e=>{null!==this._input&&0!==e.length&&(this._pendingBuffer&&(e=Buffer.concat([this._pendingBuffer,e]),this._pendingBuffer=null),128&e[e.length-1]?this._pendingBuffer=e:(void 0===this._input?this._input=this._readStartingBom("string"==typeof e?e:e.toString()):this._input+=e,this._tokenizeToEnd(t,!1)))})),e.on("end",(()=>{"string"==typeof this._input&&this._tokenizeToEnd(t,!0)})),e.on("error",t)}}const{rdf:m,xsd:b}=u;let _,v=0;const w={namedNode:function(e){return new T(e)},blankNode:function(e){return new x(e||"n3-"+v++)},variable:function(e){return new A(e)},literal:function(e,t){if("string"==typeof t)return new O(`"${e}"@${t.toLowerCase()}`);let r=t?t.value:"";return""===r&&("boolean"==typeof e?r=b.boolean:"number"==typeof e&&(Number.isFinite(e)?r=Number.isInteger(e)?b.integer:b.double:(r=b.double,Number.isNaN(e)||(e=e>0?"INF":"-INF")))),""===r||r===b.string?new O(`"${e}"`):new O(`"${e}"^^${r}`)},defaultGraph:function(){return _},quad:D,triple:D},S=w;class E{constructor(e){this.id=e}get value(){return this.id}equals(e){return e instanceof E?this.id===e.id:!!e&&this.termType===e.termType&&this.value===e.value}hashCode(){return 0}toJSON(){return{termType:this.termType,value:this.value}}}class T extends E{get termType(){return"NamedNode"}}class O extends E{get termType(){return"Literal"}get value(){return this.id.substring(1,this.id.lastIndexOf('"'))}get language(){const e=this.id;let t=e.lastIndexOf('"')+1;return tnull),this._blankNodePrefix="string"!=typeof e.blankNodePrefix?"":e.blankNodePrefix.replace(/^(?!_:)/,"_:"),this._lexer=e.lexer||new g({lineMode:s,n3:a}),this._explicitQuantifiers=!!e.explicitQuantifiers}static _resetBlankNodePrefix(){N=0}_setBase(e){if(e){const t=e.indexOf("#");t>=0&&(e=e.substr(0,t)),this._base=e,this._basePath=e.indexOf("/")<0?e:e.replace(/[^\/?]*(?:\?.*)?$/,""),e=e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i),this._baseRoot=e[0],this._baseScheme=e[1]}else this._base="",this._basePath=""}_saveContext(e,t,r,n,i){const o=this._n3Mode;this._contextStack.push({type:e,subject:r,predicate:n,object:i,graph:t,inverse:!!o&&this._inversePredicate,blankPrefix:o?this._prefixes._:"",quantified:o?this._quantified:null}),o&&(this._inversePredicate=!1,this._prefixes._=this._graph?`${this._graph.value}.`:".",this._quantified=Object.create(this._quantified))}_restoreContext(e,t){const r=this._contextStack.pop();if(!r||r.type!==e)return this._error(`Unexpected ${t.type}`,t);this._subject=r.subject,this._predicate=r.predicate,this._object=r.object,this._graph=r.graph,this._n3Mode&&(this._inversePredicate=r.inverse,this._prefixes._=r.blankPrefix,this._quantified=r.quantified)}_readInTopContext(e){switch(e.type){case"eof":return null!==this._graph?this._error("Unclosed graph",e):(delete this._prefixes._,this._callback(null,null,this._prefixes));case"PREFIX":this._sparqlStyle=!0;case"@prefix":return this._readPrefix;case"BASE":this._sparqlStyle=!0;case"@base":return this._readBaseIRI;case"{":if(this._supportsNamedGraphs)return this._graph="",this._subject=null,this._readSubject;case"GRAPH":if(this._supportsNamedGraphs)return this._readNamedGraphLabel;default:return this._readSubject(e)}}_readEntity(e,t){let r;switch(e.type){case"IRI":case"typeIRI":const t=this._resolveIRI(e.value);if(null===t)return this._error("Invalid IRI",e);r=this._namedNode(t);break;case"type":case"prefixed":const n=this._prefixes[e.prefix];if(void 0===n)return this._error(`Undefined prefix "${e.prefix}:"`,e);r=this._namedNode(n+e.value);break;case"blank":r=this._blankNode(this._prefixes[e.prefix]+e.value);break;case"var":r=this._variable(e.value.substr(1));break;default:return this._error(`Expected entity but got ${e.type}`,e)}return!t&&this._n3Mode&&r.id in this._quantified&&(r=this._quantified[r.id]),r}_readSubject(e){switch(this._predicate=null,e.type){case"[":return this._saveContext("blank",this._graph,this._subject=this._blankNode(),null,null),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this.RDF_NIL,null,null),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._graph=this._blankNode(),null,null),this._readSubject):this._error("Unexpected graph",e);case"}":return this._readPunctuation(e);case"@forSome":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORSOME,this._quantifier=this._blankNode,this._readQuantifierList):this._error('Unexpected "@forSome"',e);case"@forAll":return this._n3Mode?(this._subject=null,this._predicate=this.N3_FORALL,this._quantifier=this._variable,this._readQuantifierList):this._error('Unexpected "@forAll"',e);case"literal":if(!this._n3Mode)return this._error("Unexpected literal",e);if(0===e.prefix.length)return this._literalValue=e.value,this._completeSubjectLiteral;this._subject=this._literal(e.value,this._namedNode(e.prefix));break;case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,null,null,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._subject=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._readPredicateOrNamedGraph)}return this._readPredicateOrNamedGraph}_readPredicate(e){const t=e.type;switch(t){case"inverse":this._inversePredicate=!0;case"abbreviation":this._predicate=this.ABBREVIATIONS[e.value];break;case".":case"]":case"}":return null===this._predicate?this._error(`Unexpected ${t}`,e):(this._subject=null,"]"===t?this._readBlankNodeTail(e):this._readPunctuation(e));case";":return null!==this._predicate?this._readPredicate:this._error("Expected predicate but got ;",e);case"[":if(this._n3Mode)return this._saveContext("blank",this._graph,this._subject,this._subject=this._blankNode(),null),this._readBlankNodeHead;case"blank":if(!this._n3Mode)return this._error("Disallowed blank node as predicate",e);default:if(void 0===(this._predicate=this._readEntity(e)))return}return this._readObject}_readObject(e){switch(e.type){case"literal":if(0===e.prefix.length)return this._literalValue=e.value,this._readDataTypeOrLang;this._object=this._literal(e.value,this._namedNode(e.prefix));break;case"[":return this._saveContext("blank",this._graph,this._subject,this._predicate,this._subject=this._blankNode()),this._readBlankNodeHead;case"(":return this._saveContext("list",this._graph,this._subject,this._predicate,this.RDF_NIL),this._subject=null,this._readListItem;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);case"<<":return this._supportsRDFStar?(this._saveContext("<<",this._graph,this._subject,this._predicate,null),this._graph=null,this._readSubject):this._error("Unexpected RDF* syntax",e);default:if(void 0===(this._object=this._readEntity(e)))return;if(this._n3Mode)return this._getPathReader(this._getContextEndReader())}return this._getContextEndReader()}_readPredicateOrNamedGraph(e){return"{"===e.type?this._readGraph(e):this._readPredicate(e)}_readGraph(e){return"{"!==e.type?this._error(`Expected graph but got ${e.type}`,e):(this._graph=this._subject,this._subject=null,this._readSubject)}_readBlankNodeHead(e){return"]"===e.type?(this._subject=null,this._readBlankNodeTail(e)):(this._predicate=null,this._readPredicate(e))}_readBlankNodeTail(e){if("]"!==e.type)return this._readBlankNodePunctuation(e);null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph);const t=null===this._predicate;return this._restoreContext("blank",e),null!==this._object?this._getContextEndReader():null!==this._predicate?this._readObject:t?this._readPredicateOrNamedGraph:this._readPredicateAfterBlank}_readPredicateAfterBlank(e){switch(e.type){case".":case"}":return this._subject=null,this._readPunctuation(e);default:return this._readPredicate(e)}}_readListItem(e){let t=null,r=null,n=this._readListItem;const i=this._subject,o=this._contextStack,a=o[o.length-1];switch(e.type){case"[":this._saveContext("blank",this._graph,r=this._blankNode(),this.RDF_FIRST,this._subject=t=this._blankNode()),n=this._readBlankNodeHead;break;case"(":this._saveContext("list",this._graph,r=this._blankNode(),this.RDF_FIRST,this.RDF_NIL),this._subject=null;break;case")":if(this._restoreContext("list",e),0!==o.length&&"list"===o[o.length-1].type&&this._emit(this._subject,this._predicate,this._object,this._graph),null===this._predicate){if(n=this._readPredicate,this._subject===this.RDF_NIL)return n}else if(n=this._getContextEndReader(),this._object===this.RDF_NIL)return n;r=this.RDF_NIL;break;case"literal":0===e.prefix.length?(this._literalValue=e.value,n=this._readListItemDataTypeOrLang):(t=this._literal(e.value,this._namedNode(e.prefix)),n=this._getContextEndReader());break;case"{":return this._n3Mode?(this._saveContext("formula",this._graph,this._subject,this._predicate,this._graph=this._blankNode()),this._readSubject):this._error("Unexpected graph",e);default:if(void 0===(t=this._readEntity(e)))return}if(null===r&&(this._subject=r=this._blankNode()),null===i?null===a.predicate?a.subject=r:a.object=r:this._emit(i,this.RDF_REST,r,this._graph),null!==t){if(this._n3Mode&&("IRI"===e.type||"prefixed"===e.type))return this._saveContext("item",this._graph,r,this.RDF_FIRST,t),this._subject=t,this._predicate=null,this._getPathReader(this._readListItem);this._emit(r,this.RDF_FIRST,t,this._graph)}return n}_readDataTypeOrLang(e){return this._completeObjectLiteral(e,!1)}_readListItemDataTypeOrLang(e){return this._completeObjectLiteral(e,!0)}_completeLiteral(e){let t=this._literal(this._literalValue);switch(e.type){case"type":case"typeIRI":const r=this._readEntity(e);if(void 0===r)return;t=this._literal(this._literalValue,r),e=null;break;case"langcode":t=this._literal(this._literalValue,e.value),e=null}return{token:e,literal:t}}_completeSubjectLiteral(e){return this._subject=this._completeLiteral(e).literal,this._readPredicateOrNamedGraph}_completeObjectLiteral(e,t){const r=this._completeLiteral(e);if(r)return this._object=r.literal,t&&this._emit(this._subject,this.RDF_FIRST,this._object,this._graph),null===r.token?this._getContextEndReader():(this._readCallback=this._getContextEndReader(),this._readCallback(r.token))}_readFormulaTail(e){return"}"!==e.type?this._readPunctuation(e):(null!==this._subject&&this._emit(this._subject,this._predicate,this._object,this._graph),this._restoreContext("formula",e),null===this._object?this._readPredicate:this._getContextEndReader())}_readPunctuation(e){let t,r=this._graph;const n=this._subject,i=this._inversePredicate;switch(e.type){case"}":if(null===this._graph)return this._error("Unexpected graph closing",e);if(this._n3Mode)return this._readFormulaTail(e);this._graph=null;case".":this._subject=null,t=this._contextStack.length?this._readSubject:this._readInTopContext,i&&(this._inversePredicate=!1);break;case";":t=this._readPredicate;break;case",":t=this._readObject;break;case"{|":if(!this._supportsRDFStar)return this._error("Unexpected RDF* syntax",e);const o=this._predicate,a=this._object;this._subject=this._quad(n,o,a,this.DEFAULTGRAPH),t=this._readPredicate;break;case"|}":if("Quad"!==this._subject.termType)return this._error("Unexpected asserted triple closing",e);this._subject=null,t=this._readPunctuation;break;default:if(this._supportsQuads&&null===this._graph&&void 0!==(r=this._readEntity(e))){t=this._readQuadPunctuation;break}return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}if(null!==n){const e=this._predicate,t=this._object;i?this._emit(t,e,n,r):this._emit(n,e,t,r)}return t}_readBlankNodePunctuation(e){let t;switch(e.type){case";":t=this._readPredicate;break;case",":t=this._readObject;break;default:return this._error(`Expected punctuation to follow "${this._object.id}"`,e)}return this._emit(this._subject,this._predicate,this._object,this._graph),t}_readQuadPunctuation(e){return"."!==e.type?this._error("Expected dot to follow quad",e):this._readInTopContext}_readPrefix(e){return"prefix"!==e.type?this._error("Expected prefix to follow @prefix",e):(this._prefix=e.value,this._readPrefixIRI)}_readPrefixIRI(e){if("IRI"!==e.type)return this._error(`Expected IRI to follow prefix "${this._prefix}:"`,e);const t=this._readEntity(e);return this._prefixes[this._prefix]=t.value,this._prefixCallback(this._prefix,t),this._readDeclarationPunctuation}_readBaseIRI(e){const t="IRI"===e.type&&this._resolveIRI(e.value);return t?(this._setBase(t),this._readDeclarationPunctuation):this._error("Expected valid IRI to follow base declaration",e)}_readNamedGraphLabel(e){switch(e.type){case"IRI":case"blank":case"prefixed":return this._readSubject(e),this._readGraph;case"[":return this._readNamedGraphBlankLabel;default:return this._error("Invalid graph label",e)}}_readNamedGraphBlankLabel(e){return"]"!==e.type?this._error("Invalid graph label",e):(this._subject=this._blankNode(),this._readGraph)}_readDeclarationPunctuation(e){return this._sparqlStyle?(this._sparqlStyle=!1,this._readInTopContext(e)):"."!==e.type?this._error("Expected declaration to end with a dot",e):this._readInTopContext}_readQuantifierList(e){let t;switch(e.type){case"IRI":case"prefixed":if(void 0!==(t=this._readEntity(e,!0)))break;default:return this._error(`Unexpected ${e.type}`,e)}return this._explicitQuantifiers?(null===this._subject?this._emit(this._graph||this.DEFAULTGRAPH,this._predicate,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH):this._emit(this._subject,this.RDF_REST,this._subject=this._blankNode(),this.QUANTIFIERS_GRAPH),this._emit(this._subject,this.RDF_FIRST,t,this.QUANTIFIERS_GRAPH)):this._quantified[t.id]=this._quantifier(this._blankNode().value),this._readQuantifierPunctuation}_readQuantifierPunctuation(e){return","===e.type?this._readQuantifierList:(this._explicitQuantifiers&&(this._emit(this._subject,this.RDF_REST,this.RDF_NIL,this.QUANTIFIERS_GRAPH),this._subject=null),this._readCallback=this._getContextEndReader(),this._readCallback(e))}_getPathReader(e){return this._afterPath=e,this._readPath}_readPath(e){switch(e.type){case"!":return this._readForwardPath;case"^":return this._readBackwardPath;default:const t=this._contextStack,r=t.length&&t[t.length-1];if(r&&"item"===r.type){const t=this._subject;this._restoreContext("item",e),this._emit(this._subject,this.RDF_FIRST,t,this._graph)}return this._afterPath(e)}}_readForwardPath(e){let t,r;const n=this._blankNode();if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(t=this._subject,this._subject=n):(t=this._object,this._object=n),this._emit(t,r,n,this._graph),this._readPath}_readBackwardPath(e){const t=this._blankNode();let r,n;if(void 0!==(r=this._readEntity(e)))return null===this._predicate?(n=this._subject,this._subject=t):(n=this._object,this._object=t),this._emit(t,r,n,this._graph),this._readPath}_readRDFStarTailOrGraph(e){return">>"!==e.type?this._supportsQuads&&null===this._graph&&void 0!==(this._graph=this._readEntity(e))?this._readRDFStarTail:this._error(`Expected >> to follow "${this._object.id}"`,e):this._readRDFStarTail(e)}_readRDFStarTail(e){if(">>"!==e.type)return this._error(`Expected >> but got ${e.type}`,e);const t=this._quad(this._subject,this._predicate,this._object,this._graph||this.DEFAULTGRAPH);return this._restoreContext("<<",e),null===this._subject?(this._subject=t,this._readPredicate):(this._object=t,this._getContextEndReader())}_getContextEndReader(){const e=this._contextStack;if(!e.length)return this._readPunctuation;switch(e[e.length-1].type){case"blank":return this._readBlankNodeTail;case"list":return this._readListItem;case"formula":return this._readFormulaTail;case"<<":return this._readRDFStarTailOrGraph}}_emit(e,t,r,n){this._callback(null,this._quad(e,t,r,n||this.DEFAULTGRAPH))}_error(e,t){const r=new Error(`${e} on line ${t.line}.`);r.context={token:t,line:t.line,previousToken:this._lexer.previousToken},this._callback(r),this._callback=C}_resolveIRI(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)?e:this._resolveRelativeIRI(e)}_resolveRelativeIRI(e){if(!e.length)return this._base;switch(e[0]){case"#":return this._base+e;case"?":return this._base.replace(/(?:\?.*)?$/,e);case"/":return("/"===e[1]?this._baseScheme:this._baseRoot)+this._removeDotSegments(e);default:return/^[^/:]*:/.test(e)?null:this._removeDotSegments(this._basePath+e)}}_removeDotSegments(e){if(!/(^|\/)\.\.?($|[/#?])/.test(e))return e;const t=e.length;let r="",n=-1,i=-1,o=0,a="/";for(;n=i&&(r=r.substr(0,o)),"/"!==a)return`${r}/${e.substr(n+1)}`;o=n+1}}}a=e[++n]}return r+e.substring(o)}parse(e,t,r){if(this._readCallback=this._readInTopContext,this._sparqlStyle=!1,this._prefixes=Object.create(null),this._prefixes._=this._blankNodePrefix?this._blankNodePrefix.substr(2):`b${N++}_`,this._prefixCallback=r||C,this._inversePredicate=!1,this._quantified=Object.create(null),!t){const t=[];let r;if(this._callback=(e,n)=>{e?r=e:n&&t.push(n)},this._lexer.tokenize(e).every((e=>this._readCallback=this._readCallback(e))),r)throw r;return t}this._callback=t,this._lexer.tokenize(e,((e,t)=>{null!==e?(this._callback(e),this._callback=C):this._readCallback&&(this._readCallback=this._readCallback(t))}))}}function C(){}function M(e,t){const r=t.namedNode;e._namedNode=r,e._blankNode=t.blankNode,e._literal=t.literal,e._variable=t.variable,e._quad=t.quad,e.DEFAULTGRAPH=t.defaultGraph(),e.RDF_FIRST=r(u.rdf.first),e.RDF_REST=r(u.rdf.rest),e.RDF_NIL=r(u.rdf.nil),e.N3_FORALL=r(u.r.forAll),e.N3_FORSOME=r(u.r.forSome),e.ABBREVIATIONS={a:r(u.rdf.type),"=":r(u.owl.sameAs),">":r(u.log.implies)},e.QUANTIFIERS_GRAPH=r("urn:n3:quantifiers")}function k(e){return!!e&&"NamedNode"===e.termType}function L(e){return!!e&&"BlankNode"===e.termType}function U(e){return!!e&&"Literal"===e.termType}function B(e){return!!e&&"Variable"===e.termType}function V(e){return!!e&&"DefaultGraph"===e.termType}function q(e){return V(e.graph)}function H(e,t){return $({"":e.value||e},t)("")}function $(e,t){const r=Object.create(null);for(const t in e)n(t,e[t]);function n(e,n){if("string"==typeof n){const i=Object.create(null);r[e]=e=>i[e]||(i[e]=t.namedNode(n+e))}else if(!(e in r))throw new Error(`Unknown prefix: ${e}`);return r[e]}return t=t||S,n}M(j.prototype,S);const G=S.defaultGraph(),{rdf:K,xsd:Q}=u,z=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,J=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,W={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class X extends E{equals(e){return e===this}}class Y{constructor(e,t){if(this._prefixRegex=/$0^/,e&&"function"!=typeof e.write&&(t=e,e=null),t=t||{},this._lists=t.lists,e)this._outputStream=e,this._endStream=void 0===t.end||!!t.end;else{let e="";this._outputStream={write(t,r,n){e+=t,n&&n()},end:t=>{t&&t(null,e)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(t.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=G,this._prefixIRIs=Object.create(null),t.prefixes&&this.addPrefixes(t.prefixes),t.baseIRI&&(this._baseMatcher=new RegExp(`^${ee(t.baseIRI)}${t.baseIRI.endsWith("/")?"":"[#?]"}`),this._baseLength=t.baseIRI.length))}get _inDefaultGraph(){return G.equals(this._graph)}_write(e,t){this._outputStream.write(e,"utf8",t)}_writeQuad(e,t,r,n,i){try{n.equals(this._graph)||(this._write((null===this._subject?"":this._inDefaultGraph?".\n":"\n}\n")+(G.equals(n)?"":`${this._encodeIriOrBlank(n)} {\n`)),this._graph=n,this._subject=null),e.equals(this._subject)?t.equals(this._predicate)?this._write(`, ${this._encodeObject(r)}`,i):this._write(`;\n ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i):this._write(`${(null===this._subject?"":".\n")+this._encodeSubject(this._subject=e)} ${this._encodePredicate(this._predicate=t)} ${this._encodeObject(r)}`,i)}catch(e){i&&i(e)}}_writeQuadLine(e,t,r,n,i){delete this._prefixMatch,this._write(this.quadToString(e,t,r,n),i)}quadToString(e,t,r,n){return`${this._encodeSubject(e)} ${this._encodeIriOrBlank(t)} ${this._encodeObject(r)}${n&&n.value?` ${this._encodeIriOrBlank(n)} .\n`:" .\n"}`}quadsToString(e){return e.map((e=>this.quadToString(e.subject,e.predicate,e.object,e.graph))).join("")}_encodeSubject(e){return"Quad"===e.termType?this._encodeQuad(e):this._encodeIriOrBlank(e)}_encodeIriOrBlank(e){if("NamedNode"!==e.termType)return this._lists&&e.value in this._lists&&(e=this.list(this._lists[e.value])),"id"in e?e.id:`_:${e.value}`;let t=e.value;this._baseMatcher&&this._baseMatcher.test(t)&&(t=t.substr(this._baseLength)),z.test(t)&&(t=t.replace(J,Z));const r=this._prefixRegex.exec(t);return r?r[1]?this._prefixIRIs[r[1]]+r[2]:t:`<${t}>`}_encodeLiteral(e){let t=e.value;if(z.test(t)&&(t=t.replace(J,Z)),e.language)return`"${t}"@${e.language}`;if(this._lineMode){if(e.datatype.value===Q.string)return`"${t}"`}else switch(e.datatype.value){case Q.string:return`"${t}"`;case Q.boolean:if("true"===t||"false"===t)return t;break;case Q.integer:if(/^[+-]?\d+$/.test(t))return t;break;case Q.decimal:if(/^[+-]?\d*\.\d+$/.test(t))return t;break;case Q.double:if(/^[+-]?(?:\d+\.\d*|\.?\d+)[eE][+-]?\d+$/.test(t))return t}return`"${t}"^^${this._encodeIriOrBlank(e.datatype)}`}_encodePredicate(e){return e.value===K.type?"a":this._encodeIriOrBlank(e)}_encodeObject(e){switch(e.termType){case"Quad":return this._encodeQuad(e);case"Literal":return this._encodeLiteral(e);default:return this._encodeIriOrBlank(e)}}_encodeQuad({subject:e,predicate:t,object:r,graph:n}){return`<<${this._encodeSubject(e)} ${this._encodePredicate(t)} ${this._encodeObject(r)}${V(n)?"":` ${this._encodeIriOrBlank(n)}`}>>`}_blockedWrite(){throw new Error("Cannot write because the writer has been closed.")}addQuad(e,t,r,n,i){void 0===r?this._writeQuad(e.subject,e.predicate,e.object,e.graph,t):"function"==typeof n?this._writeQuad(e,t,r,G,n):this._writeQuad(e,t,r,n||G,i)}addQuads(e){for(let t=0;t.\n`)}if(r){let e="",t="";for(const r in this._prefixIRIs)e+=e?`|${r}`:r,t+=(t?"|":"")+this._prefixIRIs[r];e=ee(e),this._prefixRegex=new RegExp(`^(?:${t})[^/]*$|^(${e})([_a-zA-Z][\\-_a-zA-Z0-9]*)$`)}this._write(r?"\n":"",t)}blank(e,t){let r,n,i=e;switch(void 0===e?i=[]:e.termType?i=[{predicate:e,object:t}]:"length"in e||(i=[e]),n=i.length){case 0:return new X("[]");case 1:if(r=i[0],!(r.object instanceof X))return new X(`[ ${this._encodePredicate(r.predicate)} ${this._encodeObject(r.object)} ]`);default:let t="[";for(let o=0;o{t=null,e(r,n)});if(this._endStream)try{return this._outputStream.end(t)}catch(e){}t&&t()}}function Z(e){let t=W[e];return void 0===t&&(1===e.length?(t=e.charCodeAt(0).toString(16),t="\\u0000".substr(0,6-t.length)+t):(t=(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)+9216).toString(16),t="\\U00000000".substr(0,10-t.length)+t)),t}function ee(e){return e.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}var te=r(19198);class re{constructor(e,t){this._size=0,this._graphs=Object.create(null),this._id=0,this._ids=Object.create(null),this._entities=Object.create(null),this._blankNodeIndex=0,t||!e||e[0]||(t=e,e=null),t=t||{},this._factory=t.factory||S,e&&this.addQuads(e)}_termFromId(e,t){if("."===e[0]){const t=this._entities,r=e.split(".");return this._factory.quad(this._termFromId(t[r[1]]),this._termFromId(t[r[2]]),this._termFromId(t[r[3]]),r[4]&&this._termFromId(t[r[4]]))}return R(e,t)}_termToNumericId(e){if("Quad"===e.termType){const t=this._termToNumericId(e.subject),r=this._termToNumericId(e.predicate),n=this._termToNumericId(e.object);let i;return t&&r&&n&&(V(e.graph)||(i=this._termToNumericId(e.graph)))&&this._ids[i?`.${t}.${r}.${n}.${i}`:`.${t}.${r}.${n}`]}return this._ids[P(e)]}_termToNewNumericId(e){const t=e&&"Quad"===e.termType?`.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${V(e.graph)?"":`.${this._termToNewNumericId(e.graph)}`}`:P(e);return this._ids[t]||(this._ids[this._entities[++this._id]=t]=this._id)}get size(){let e=this._size;if(null!==e)return e;e=0;const t=this._graphs;let r,n;for(const i in t)for(const o in r=t[i].subjects)for(const t in n=r[o])e+=Object.keys(n[t]).length;return this._size=e}_addToIndex(e,t,r,n){const i=e[t]||(e[t]={}),o=i[r]||(i[r]={}),a=n in o;return a||(o[n]=null),!a}_removeFromIndex(e,t,r,n){const i=e[t],o=i[r];delete o[n];for(const e in o)return;delete i[r];for(const e in i)return;delete e[t]}*_findInIndex(e,t,r,n,i,o,a,s){let c,u,l;const d=this._entities,p=this._termFromId(s,this._factory),h={subject:null,predicate:null,object:null};t&&((c=e,e={})[t]=c[t]);for(const t in e)if(u=e[t]){h[i]=this._termFromId(d[t],this._factory),r&&((c=u,u={})[r]=c[r]);for(const e in u)if(l=u[e]){h[o]=this._termFromId(d[e],this._factory);const t=n?n in l?[n]:[]:Object.keys(l);for(let e=0;e{r in t||(t[r]=!0,e(this._termFromId(this._entities[r],this._factory)))}}add(e){return this.addQuad(e),this}addQuad(e,t,r,n){t||(n=e.graph,r=e.object,t=e.predicate,e=e.subject),n=P(n);let i=this._graphs[n];i||(i=this._graphs[n]={subjects:{},predicates:{},objects:{}},Object.freeze(i)),e=this._termToNewNumericId(e),t=this._termToNewNumericId(t),r=this._termToNewNumericId(r);const o=this._addToIndex(i.subjects,e,t,r);return this._addToIndex(i.predicates,t,r,e),this._addToIndex(i.objects,r,e,t),this._size=null,o}addQuads(e){for(let t=0;t{this.addQuad(e)})),e}removeQuad(e,t,r,n){t||(n=e.graph,r=e.object,t=e.predicate,e=e.subject),n=P(n);const i=this._graphs;let o,a,s;if(!((e=e&&this._termToNumericId(e))&&(t=t&&this._termToNumericId(t))&&(r=r&&this._termToNumericId(r))&&(o=i[n])&&(a=o.subjects[e])&&(s=a[t])&&r in s))return!1;for(e in this._removeFromIndex(o.subjects,e,t,r),this._removeFromIndex(o.predicates,t,r,e),this._removeFromIndex(o.objects,r,e,t),null!==this._size&&this._size--,o.subjects)return!0;return delete i[n],!0}removeQuads(e){for(let t=0;t{this.removeQuad(e)})),e}removeMatches(e,t,r,n){const i=new te.Readable({objectMode:!0});return i._read=()=>{for(const o of this.readQuads(e,t,r,n))i.push(o);i.push(null)},this.remove(i)}deleteGraph(e){return this.removeMatches(null,null,null,e)}getQuads(e,t,r,n){return[...this.readQuads(e,t,r,n)]}*readQuads(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s,c;if(!(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r))))for(const e in i)(o=i[e])&&(a?c?yield*this._findInIndex(o.objects,c,a,s,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,a,s,null,"subject","predicate","object",e):s?yield*this._findInIndex(o.predicates,s,c,null,"predicate","object","subject",e):c?yield*this._findInIndex(o.objects,c,null,null,"object","subject","predicate",e):yield*this._findInIndex(o.subjects,null,null,null,"subject","predicate","object",e))}match(e,t,r,n){return new ne(this,e,t,r,n)}countQuads(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s,c,u=0;if(e&&!(a=this._termToNumericId(e))||t&&!(s=this._termToNumericId(t))||r&&!(c=this._termToNumericId(r)))return 0;for(const n in i)(o=i[n])&&(u+=e?r?this._countInIndex(o.objects,c,a,s):this._countInIndex(o.subjects,a,s,c):t?this._countInIndex(o.predicates,s,c,a):this._countInIndex(o.objects,c,a,s));return u}forEach(e,t,r,n,i){this.some((t=>(e(t),!1)),t,r,n,i)}every(e,t,r,n,i){let o=!1;const a=!this.some((t=>(o=!0,!e(t))),t,r,n,i);return o&&a}some(e,t,r,n,i){for(const o of this.readQuads(t,r,n,i))if(e(o))return!0;return!1}getSubjects(e,t,r){const n=[];return this.forSubjects((e=>{n.push(e)}),e,t,r),n}forSubjects(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.predicates,a,s,e):this._loopByKey1(o.subjects,a,e):s?this._loopByKey0(o.objects,s,e):this._loop(o.subjects,e))}getPredicates(e,t,r){const n=[];return this.forPredicates((e=>{n.push(e)}),e,t,r),n}forPredicates(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.objects,s,a,e):this._loopByKey0(o.subjects,a,e):s?this._loopByKey1(o.predicates,s,e):this._loop(o.predicates,e))}getObjects(e,t,r){const n=[];return this.forObjects((e=>{n.push(e)}),e,t,r),n}forObjects(e,t,r,n){n=n&&P(n);const i=this._getGraphs(n);let o,a,s;if(e=this._uniqueEntities(e),!(t&&!(a=this._termToNumericId(t))||r&&!(s=this._termToNumericId(r))))for(n in i)(o=i[n])&&(a?s?this._loopBy2Keys(o.subjects,a,s,e):this._loopByKey1(o.objects,a,e):s?this._loopByKey0(o.predicates,s,e):this._loop(o.objects,e))}getGraphs(e,t,r){const n=[];return this.forGraphs((e=>{n.push(e)}),e,t,r),n}forGraphs(e,t,r,n){for(const i in this._graphs)this.some((t=>(e(t.graph),!0)),t,r,n,i)}createBlankNode(e){let t,r;if(e)for(t=e=`_:${e}`,r=1;this._ids[t];)t=e+r++;else do{t="_:b"+this._blankNodeIndex++}while(this._ids[t]);return this._ids[t]=++this._id,this._entities[this._id]=t,this._factory.blankNode(t.substr(2))}extractLists({remove:e=!1,ignoreErrors:t=!1}={}){const r={},n=t?()=>!0:(e,t)=>{throw new Error(`${e.value} ${t}`)},i=this.getQuads(null,u.rdf.rest,u.rdf.nil,null),o=e?[...i]:[];return i.forEach((t=>{const i=[];let a,s,c=!1;const l=t.graph;let d=t.subject;for(;d&&!c;){const e=this.getQuads(null,null,d,null),t=this.getQuads(d,null,null,null);let r,p=null,h=null,f=null;for(let i=0;i{switch(e){case"data":t=n;break;case"end":r=n}}},((e,t)=>{e&&this.emit("error",e)||t&&this.push(t)}),((e,t)=>{this.emit("prefix",e,t)})),this._transform=(e,r,n)=>{t(e),n()},this._flush=e=>{r(),e()}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),this}}class oe extends te.Transform{constructor(e){super({encoding:"utf8",writableObjectMode:!0});const t=this._writer=new Y({write:(e,t,r)=>{this.push(e),r&&r()},end:e=>{this.push(null),e&&e()}},e);this._transform=(e,r,n)=>{t.addQuad(e,n)},this._flush=e=>{t.end(e)}}import(e){return e.on("data",(e=>{this.write(e)})),e.on("end",(()=>{this.end()})),e.on("error",(e=>{this.emit("error",e)})),e.on("prefix",((e,t)=>{this._writer.addPrefix(e,t)})),this}}const ae={Lexer:g,Parser:j,Writer:Y,Store:re,StreamParser:ie,StreamWriter:oe,Util:n,DataFactory:S,Term:E,NamedNode:T,Literal:O,BlankNode:x,Variable:A,DefaultGraph:I,Quad:F,Triple:F,termFromId:R,termToId:P}},58859:(e,t,r)=>{var n="function"==typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=n&&i&&"function"==typeof i.get?i.get:null,a=n&&Map.prototype.forEach,s="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&s?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=s&&c&&"function"==typeof c.get?c.get:null,l=s&&Set.prototype.forEach,d="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,y=Object.prototype.toString,g=Function.prototype.toString,m=String.prototype.match,b=String.prototype.slice,_=String.prototype.replace,v=String.prototype.toUpperCase,w=String.prototype.toLowerCase,S=RegExp.prototype.test,E=Array.prototype.concat,T=Array.prototype.join,O=Array.prototype.slice,x=Math.floor,A="function"==typeof BigInt?BigInt.prototype.valueOf:null,I=Object.getOwnPropertySymbols,R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,P="function"==typeof Symbol&&"object"==typeof Symbol.iterator,F="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,D=Object.prototype.propertyIsEnumerable,N=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function j(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||S.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var n=e<0?-x(-e):x(e);if(n!==e){var i=String(n),o=b.call(t,i.length+1);return _.call(i,r,"$&_")+"."+_.call(_.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,r,"$&_")}var C=r(42634),M=C.custom,k=q(M)?M:null;function L(e,t,r){var n="double"===(r.quoteStyle||t)?'"':"'";return n+e+n}function U(e){return _.call(String(e),/"/g,""")}function B(e){return!("[object Array]"!==G(e)||F&&"object"==typeof e&&F in e)}function V(e){return!("[object RegExp]"!==G(e)||F&&"object"==typeof e&&F in e)}function q(e){if(P)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!R)return!1;try{return R.call(e),!0}catch(e){}return!1}e.exports=function e(t,n,i,s){var c=n||{};if($(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if($(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var y=!$(c,"customInspect")||c.customInspect;if("boolean"!=typeof y&&"symbol"!==y)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if($(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if($(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var v=c.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return Q(t,c);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var S=String(t);return v?j(t,S):S}if("bigint"==typeof t){var x=String(t)+"n";return v?j(t,x):x}var I=void 0===c.depth?5:c.depth;if(void 0===i&&(i=0),i>=I&&I>0&&"object"==typeof t)return B(t)?"[Array]":"[Object]";var M,H=function(e,t){var r;if("\t"===e.indent)r="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;r=T.call(Array(e.indent+1)," ")}return{base:r,prev:T.call(Array(t+1),r)}}(c,i);if(void 0===s)s=[];else if(K(s,t)>=0)return"[Circular]";function z(t,r,n){if(r&&(s=O.call(s)).push(r),n){var o={depth:c.depth};return $(c,"quoteStyle")&&(o.quoteStyle=c.quoteStyle),e(t,o,i+1,s)}return e(t,c,i+1,s)}if("function"==typeof t&&!V(t)){var ee=function(e){if(e.name)return e.name;var t=m.call(g.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),te=Z(t,z);return"[Function"+(ee?": "+ee:" (anonymous)")+"]"+(te.length>0?" { "+T.call(te,", ")+" }":"")}if(q(t)){var re=P?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):R.call(t);return"object"!=typeof t||P?re:J(re)}if((M=t)&&"object"==typeof M&&("undefined"!=typeof HTMLElement&&M instanceof HTMLElement||"string"==typeof M.nodeName&&"function"==typeof M.getAttribute)){for(var ne="<"+w.call(String(t.nodeName)),ie=t.attributes||[],oe=0;oe"}if(B(t)){if(0===t.length)return"[]";var ae=Z(t,z);return H&&!function(e){for(var t=0;t=0)return!1;return!0}(ae)?"["+Y(ae,H)+"]":"[ "+T.call(ae,", ")+" ]"}if(function(e){return!("[object Error]"!==G(e)||F&&"object"==typeof e&&F in e)}(t)){var se=Z(t,z);return"cause"in Error.prototype||!("cause"in t)||D.call(t,"cause")?0===se.length?"["+String(t)+"]":"{ ["+String(t)+"] "+T.call(se,", ")+" }":"{ ["+String(t)+"] "+T.call(E.call("[cause]: "+z(t.cause),se),", ")+" }"}if("object"==typeof t&&y){if(k&&"function"==typeof t[k]&&C)return C(t,{depth:I-i});if("symbol"!==y&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!=typeof e)return!1;try{o.call(e);try{u.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var ce=[];return a&&a.call(t,(function(e,r){ce.push(z(r,t,!0)+" => "+z(e,t))})),X("Map",o.call(t),ce,H)}if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{u.call(e);try{o.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var ue=[];return l&&l.call(t,(function(e){ue.push(z(e,t))})),X("Set",u.call(t),ue,H)}if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{d.call(e,d);try{p.call(e,p)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return W("WeakMap");if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e,p);try{d.call(e,d)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return W("WeakSet");if(function(e){if(!h||!e||"object"!=typeof e)return!1;try{return h.call(e),!0}catch(e){}return!1}(t))return W("WeakRef");if(function(e){return!("[object Number]"!==G(e)||F&&"object"==typeof e&&F in e)}(t))return J(z(Number(t)));if(function(e){if(!e||"object"!=typeof e||!A)return!1;try{return A.call(e),!0}catch(e){}return!1}(t))return J(z(A.call(t)));if(function(e){return!("[object Boolean]"!==G(e)||F&&"object"==typeof e&&F in e)}(t))return J(f.call(t));if(function(e){return!("[object String]"!==G(e)||F&&"object"==typeof e&&F in e)}(t))return J(z(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===r.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==G(e)||F&&"object"==typeof e&&F in e)}(t)&&!V(t)){var le=Z(t,z),de=N?N(t)===Object.prototype:t instanceof Object||t.constructor===Object,pe=t instanceof Object?"":"null prototype",he=!de&&F&&Object(t)===t&&F in t?b.call(G(t),8,-1):pe?"Object":"",fe=(de||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(he||pe?"["+T.call(E.call([],he||[],pe||[]),": ")+"] ":"");return 0===le.length?fe+"{}":H?fe+"{"+Y(le,H)+"}":fe+"{ "+T.call(le,", ")+" }"}return String(t)};var H=Object.prototype.hasOwnProperty||function(e){return e in this};function $(e,t){return H.call(e,t)}function G(e){return y.call(e)}function K(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return Q(b.call(e,0,t.maxStringLength),t)+n}return L(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,z),"single",t)}function z(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+v.call(t.toString(16))}function J(e){return"Object("+e+")"}function W(e){return e+" { ? }"}function X(e,t,r,n){return e+" ("+t+") {"+(n?Y(r,n):T.call(r,", "))+"}"}function Y(e,t){if(0===e.length)return"";var r="\n"+t.prev+t.base;return r+T.call(e,","+r)+"\n"+t.prev}function Z(e,t){var r=B(e),n=[];if(r){n.length=e.length;for(var i=0;i{var t,r,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var s,c=[],u=!1,l=-1;function d(){u&&s&&(u=!1,s.length?c=s.concat(c):l=-1,c.length&&p())}function p(){if(!u){var e=a(d);u=!0;for(var t=c.length;t;){for(s=c,c=[];++l1)for(var r=1;r{!function(){var t;t="object"==typeof window&&window?window:r.g,e.exports?e.exports=t.Promise?t.Promise:a:t.Promise||(t.Promise=a);var n=t.setImmediate||function(e){setTimeout(e,1)};function i(e,t){return function(){e.apply(t,arguments)}}var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],p(e,i(c,this),i(u,this))}function s(e){var t=this;null!==this._state?n((function(){var r=t._state?e.onFulfilled:e.onRejected;if(null!==r){var n;try{n=r(t._value)}catch(t){return void e.reject(t)}e.resolve(n)}else(t._state?e.resolve:e.reject)(t._value)})):this._deferreds.push(e)}function c(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void p(i(t,e),i(c,this),i(u,this))}this._state=!0,this._value=e,l.call(this)}catch(e){u.call(this,e)}}function u(e){this._state=!1,this._value=e,l.call(this)}function l(){for(var e=0,t=this._deferreds.length;e{let n;e.exports="function"==typeof queueMicrotask?queueMicrotask.bind("undefined"!=typeof window?window:r.g):e=>(n||(n=Promise.resolve())).then(e).catch((e=>setTimeout((()=>{throw e}),0)))},47793:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(49931),t),i(r(88483),t),i(r(92142),t),i(r(62426),t),i(r(43988),t),i(r(36754),t),i(r(88401),t)},49931:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0,t.BlankNode=class{constructor(e){this.termType="BlankNode",this.value=e}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}},88483:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;const n=r(49931),i=r(92142),o=r(62426),a=r(43988),s=r(36754),c=r(88401);let u=0;t.DataFactory=class{constructor(e){this.blankNodeCounter=0,e=e||{},this.blankNodePrefix=e.blankNodePrefix||`df_${u++}_`}namedNode(e){return new a.NamedNode(e)}blankNode(e){return new n.BlankNode(e||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(e,t){return new o.Literal(e,t)}variable(e){return new c.Variable(e)}defaultGraph(){return i.DefaultGraph.INSTANCE}quad(e,t,r,n){return new s.Quad(e,t,r,n||this.defaultGraph())}fromTerm(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}fromQuad(e){return this.fromTerm(e)}resetBlankNodeCounter(){this.blankNodeCounter=0}}},92142:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;class r{constructor(){this.termType="DefaultGraph",this.value=""}equals(e){return!!e&&"DefaultGraph"===e.termType}}t.DefaultGraph=r,r.INSTANCE=new r},62426:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;const n=r(43988);class i{constructor(e,t){this.termType="Literal",this.value=e,"string"==typeof t?(this.language=t,this.datatype=i.RDF_LANGUAGE_STRING):t?(this.language="",this.datatype=t):(this.language="",this.datatype=i.XSD_STRING)}equals(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&this.datatype.equals(e.datatype)}}t.Literal=i,i.RDF_LANGUAGE_STRING=new n.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),i.XSD_STRING=new n.NamedNode("http://www.w3.org/2001/XMLSchema#string")},43988:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0,t.NamedNode=class{constructor(e){this.termType="NamedNode",this.value=e}equals(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}},36754:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0,t.Quad=class{constructor(e,t,r,n){this.termType="Quad",this.value="",this.subject=e,this.predicate=t,this.object=r,this.graph=n}equals(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}},88401:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0,t.Variable=class{constructor(e){this.termType="Variable",this.value=e}equals(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}},62699:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(35694),t)},35694:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTermGrounded=t.termToSignature=t.quadToSignature=t.sha1hex=t.hashTerm=t.hashTerms=t.getGraphBlankNodes=t.uniqGraph=t.deindexGraph=t.indexGraph=t.getQuadsWithoutBlankNodes=t.getQuadsWithBlankNodes=t.hasValue=t.hashValues=t.getBijectionInner=t.getBijection=t.isomorphic=void 0;const n=r(77952),i=r(43347),o=r(3285);function a(e,t){const r=h(p(e)),n=h(p(t));if(Object.keys(r).length!==Object.keys(n).length)return null;for(const e in r)if(r[e]!==n[e])return null;return s(y(d(e)),y(d(t)),g(e),g(t))}function s(e,t,r,n,o,a){o||(o={}),a||(a={});const[d,p]=m(e,r,o),[h,f]=m(t,n,a);if(Object.keys(d).length!==Object.keys(h).length)return null;for(const e in d)if(!l(h,d[e]))return null;let y={};for(const e of r){const t=i.termToString(e),r=p[t];for(const e in f)if(f[e]===r){y[t]=e,delete f[e];break}}if(!c(Object.keys(y).sort(),r.map(i.termToString).sort())||!c(u(y).sort(),n.map(i.termToString).sort())){y=null;for(const o of r){const a=i.termToString(o);if(!d[a])for(const o of n){const c=i.termToString(o);if(!h[c]&&p[a]===f[c]){const i=_(a);y=s(e,t,r,n,Object.assign(Object.assign({},d),{[a]:i}),Object.assign(Object.assign({},h),{[c]:i}))}}}}return y}function c(e,t){if(e.length!==t.length)return!1;for(let r=e.length;r--;)if(e[r]!==t[r])return!1;return!0}function u(e){const t=[];for(const r in e)t.push(e[r]);return t}function l(e,t){for(const r in e)if(e[r]===t)return!0;return!1}function d(e){return e.filter((e=>o.someTerms(e,(e=>"BlankNode"===e.termType||"Quad"===e.termType&&o.getTermsNested(e).some((e=>"BlankNode"===e.termType))))))}function p(e){return e.filter((e=>o.everyTerms(e,(e=>"BlankNode"!==e.termType&&!("Quad"===e.termType&&o.getTermsNested(e).some((e=>"BlankNode"===e.termType)))))))}function h(e){const t={};for(const r of e)t[JSON.stringify(i.quadToStringQuad(r))]=!0;return t}function f(e){return Object.keys(e).map((e=>i.stringQuadToQuad(JSON.parse(e))))}function y(e){return f(h(e))}function g(e){return o.uniqTerms(e.map((e=>o.getBlankNodes(o.getTermsNested(e)))).reduce(((e,t)=>e.concat(t)),[]))}function m(e,t,r){const n=Object.assign({},r),o={};let a=!0;for(;a;){const r=Object.keys(n).length;for(const r of t){const t=i.termToString(r);if(!n[t]){const[i,a]=b(r,e,n);i&&(n[t]=a),o[t]=a}}const s={};for(const e in o){const t=o[e];void 0===s[t]?s[t]=e:s[t]=!1}for(const e in s){const t=s[e];t&&(n[t]=e)}a=r!==Object.keys(n).length}return[n,o]}function b(e,t,r){const n=[];let i=!0;for(const a of t){const t=o.getTermsNested(a);if(t.some((t=>t.equals(e)))){n.push(v(a,r,e));for(const n of t)S(n,r)||n.equals(e)||(i=!1)}}return[i,_(n.sort().join(""))]}function _(e){return n.sha1().update(e).digest("hex")}function v(e,t,r){return o.getTerms(e).map((e=>w(e,t,r))).join("|")}function w(e,t,r){return e.equals(r)?"@self":"BlankNode"===e.termType?t[i.termToString(e)]||"@blank":"Quad"===e.termType?`<${v(e,t,r)}>`:i.termToString(e)}function S(e,t){return"BlankNode"!==e.termType&&!("Quad"===e.termType&&o.getTermsNested(e).some((e=>!S(e,t))))||!!t[i.termToString(e)]}t.isomorphic=function(e,t){return!!a(e,t)},t.getBijection=a,t.getBijectionInner=s,t.hashValues=u,t.hasValue=l,t.getQuadsWithBlankNodes=d,t.getQuadsWithoutBlankNodes=p,t.indexGraph=h,t.deindexGraph=f,t.uniqGraph=y,t.getGraphBlankNodes=g,t.hashTerms=m,t.hashTerm=b,t.sha1hex=_,t.quadToSignature=v,t.termToSignature=w,t.isTermGrounded=S},99349:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedJavaScriptPrimitives=t.getSupportedRdfDatatypes=t.getTermRaw=t.toRdf=t.fromRdf=void 0;const o=r(47793),a=r(94802),s=r(30103);i(r(94802),t),i(r(5448),t),i(r(30103),t);const c=new o.DataFactory,u=new s.Translator;function l(e,t){return u.fromRdf(e,t)}u.registerHandler(new a.TypeHandlerString,a.TypeHandlerString.TYPES.map((e=>c.namedNode(e))),["string"]),u.registerHandler(new a.TypeHandlerBoolean,[a.TypeHandlerBoolean.TYPE].map((e=>c.namedNode(e))),["boolean"]),u.registerHandler(new a.TypeHandlerNumberDouble,a.TypeHandlerNumberDouble.TYPES.map((e=>c.namedNode(e))),["number"]),u.registerHandler(new a.TypeHandlerNumberInteger,a.TypeHandlerNumberInteger.TYPES.map((e=>c.namedNode(e))),["number"]),u.registerHandler(new a.TypeHandlerDate,a.TypeHandlerDate.TYPES.map((e=>c.namedNode(e))),["object"]),t.fromRdf=l,t.toRdf=function(e,t){return t&&"namedNode"in t&&(t={dataFactory:t}),(t=t||{})&&!t.dataFactory&&(t.dataFactory=c),u.toRdf(e,t)},t.getTermRaw=function(e,t){return"Literal"===e.termType?l(e,t):e.value},t.getSupportedRdfDatatypes=function(){return u.getSupportedRdfDatatypes()},t.getSupportedJavaScriptPrimitives=function(){return u.getSupportedJavaScriptPrimitives()}},5448:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},30103:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Translator=void 0,t.Translator=class{constructor(){this.supportedRdfDatatypes=[],this.fromRdfHandlers={},this.toRdfHandlers={}}static incorrectRdfDataType(e){throw new Error(`Invalid RDF ${e.datatype.value} value: '${e.value}'`)}registerHandler(e,t,r){for(const r of t)this.supportedRdfDatatypes.push(r),this.fromRdfHandlers[r.value]=e;for(const t of r){let r=this.toRdfHandlers[t];r||(this.toRdfHandlers[t]=r=[]),r.push(e)}}fromRdf(e,t){const r=this.fromRdfHandlers[e.datatype.value];return r?r.fromRdf(e,t):e.value}toRdf(e,t){const r=this.toRdfHandlers[typeof e];if(r)for(const n of r){const r=n.toRdf(e,t);if(r)return r}throw new Error(`Invalid JavaScript value: '${e}'`)}getSupportedRdfDatatypes(){return this.supportedRdfDatatypes}getSupportedJavaScriptPrimitives(){return Object.keys(this.toRdfHandlers)}}},92:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerBoolean=void 0;const n=r(30103);class i{fromRdf(e,t){switch(e.value){case"true":case"1":return!0;case"false":case"0":return!1}return t&&n.Translator.incorrectRdfDataType(e),!1}toRdf(e,{datatype:t,dataFactory:r}){return r.literal(e?"true":"false",t||r.namedNode(i.TYPE))}}i.TYPE="http://www.w3.org/2001/XMLSchema#boolean",t.TypeHandlerBoolean=i},37258:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerDate=void 0;const n=r(30103);class i{fromRdf(e,t){switch(t&&!e.value.match(i.VALIDATORS[e.datatype.value.substr(33,e.datatype.value.length)])&&n.Translator.incorrectRdfDataType(e),e.datatype.value){case"http://www.w3.org/2001/XMLSchema#gDay":return new Date(0,0,parseInt(e.value,10));case"http://www.w3.org/2001/XMLSchema#gMonthDay":const t=e.value.split("-");return new Date(0,parseInt(t[0],10)-1,parseInt(t[1],10));case"http://www.w3.org/2001/XMLSchema#gYear":return new Date(e.value+"-01-01");case"http://www.w3.org/2001/XMLSchema#gYearMonth":return new Date(e.value+"-01");default:return new Date(e.value)}}toRdf(e,{datatype:t,dataFactory:r}){if(t=t||r.namedNode(i.TYPES[0]),!(e instanceof Date))return null;const n=e;let o;switch(t.value){case"http://www.w3.org/2001/XMLSchema#gDay":o=String(n.getUTCDate());break;case"http://www.w3.org/2001/XMLSchema#gMonthDay":o=n.getUTCMonth()+1+"-"+n.getUTCDate();break;case"http://www.w3.org/2001/XMLSchema#gYear":o=String(n.getUTCFullYear());break;case"http://www.w3.org/2001/XMLSchema#gYearMonth":o=n.getUTCFullYear()+"-"+(n.getUTCMonth()+1);break;case"http://www.w3.org/2001/XMLSchema#date":o=n.toISOString().replace(/T.*$/,"");break;default:o=n.toISOString()}return r.literal(o,t)}}i.TYPES=["http://www.w3.org/2001/XMLSchema#dateTime","http://www.w3.org/2001/XMLSchema#date","http://www.w3.org/2001/XMLSchema#gDay","http://www.w3.org/2001/XMLSchema#gMonthDay","http://www.w3.org/2001/XMLSchema#gYear","http://www.w3.org/2001/XMLSchema#gYearMonth"],i.VALIDATORS={date:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,dateTime:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9][0-9][0-9])?((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,gDay:/^[0-9]+$/,gMonthDay:/^[0-9]+-[0-9][0-9]$/,gYear:/^[0-9]+$/,gYearMonth:/^[0-9]+-[0-9][0-9]$/},t.TypeHandlerDate=i},82406:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberDouble=void 0;const n=r(30103);class i{fromRdf(e,t){const r=parseFloat(e.value);return t&&isNaN(r)&&n.Translator.incorrectRdfDataType(e),r}toRdf(e,{datatype:t,dataFactory:r}){return t=t||r.namedNode(i.TYPES[0]),isNaN(e)?r.literal("NaN",t):isFinite(e)?e%1==0?null:r.literal(e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),t):r.literal(e>0?"INF":"-INF",t)}}i.TYPES=["http://www.w3.org/2001/XMLSchema#double","http://www.w3.org/2001/XMLSchema#decimal","http://www.w3.org/2001/XMLSchema#float"],t.TypeHandlerNumberDouble=i},96925:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerNumberInteger=void 0;const n=r(30103);class i{fromRdf(e,t){const r=parseInt(e.value,10);return t&&(isNaN(r)||e.value.indexOf(".")>=0)&&n.Translator.incorrectRdfDataType(e),r}toRdf(e,{datatype:t,dataFactory:r}){return r.literal(String(e),t||(e<=i.MAX_INT&&e>=i.MIN_INT?r.namedNode(i.TYPES[0]):r.namedNode(i.TYPES[1])))}}i.TYPES=["http://www.w3.org/2001/XMLSchema#integer","http://www.w3.org/2001/XMLSchema#long","http://www.w3.org/2001/XMLSchema#int","http://www.w3.org/2001/XMLSchema#byte","http://www.w3.org/2001/XMLSchema#short","http://www.w3.org/2001/XMLSchema#negativeInteger","http://www.w3.org/2001/XMLSchema#nonNegativeInteger","http://www.w3.org/2001/XMLSchema#nonPositiveInteger","http://www.w3.org/2001/XMLSchema#positiveInteger","http://www.w3.org/2001/XMLSchema#unsignedByte","http://www.w3.org/2001/XMLSchema#unsignedInt","http://www.w3.org/2001/XMLSchema#unsignedLong","http://www.w3.org/2001/XMLSchema#unsignedShort"],i.MAX_INT=2147483647,i.MIN_INT=-2147483648,t.TypeHandlerNumberInteger=i},14191:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHandlerString=void 0;class r{fromRdf(e){return e.value}toRdf(e,{datatype:t,dataFactory:r}){return r.literal(e,t)}}r.TYPES=["http://www.w3.org/2001/XMLSchema#string","http://www.w3.org/2001/XMLSchema#normalizedString","http://www.w3.org/2001/XMLSchema#anyURI","http://www.w3.org/2001/XMLSchema#base64Binary","http://www.w3.org/2001/XMLSchema#language","http://www.w3.org/2001/XMLSchema#Name","http://www.w3.org/2001/XMLSchema#NCName","http://www.w3.org/2001/XMLSchema#NMTOKEN","http://www.w3.org/2001/XMLSchema#token","http://www.w3.org/2001/XMLSchema#hexBinary","http://www.w3.org/1999/02/22-rdf-syntax-ns#langString","http://www.w3.org/2001/XMLSchema#time","http://www.w3.org/2001/XMLSchema#duration"],t.TypeHandlerString=r},94802:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92),t),i(r(37258),t),i(r(82406),t),i(r(96925),t),i(r(14191),t)},34554:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.storeStream=void 0;const n=r(61428);t.storeStream=function(e){const t=n.RdfStore.createDefault();return new Promise(((r,n)=>t.import(e).on("error",n).once("end",(()=>r(t)))))}},61428:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23261),t),i(r(90636),t),i(r(34262),t),i(r(77087),t),i(r(37747),t),i(r(22895),t),i(r(68337),t),i(r(99616),t),i(r(21451),t),i(r(445),t),i(r(42449),t),i(r(75237),t),i(r(53261),t),i(r(80745),t),i(r(80766),t),i(r(67538),t),i(r(598),t),i(r(95439),t),i(r(75592),t),i(r(447),t)},598:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95439:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arePatternsQuoted=t.quadHasVariables=t.quadToPattern=t.encodeOptionalTerms=t.orderQuadComponents=t.getComponentOrderScore=t.getBestIndex=t.QUAD_TERM_NAMES_INVERSE=void 0;const n=r(3285);function i(e,t){return e.map(((r,n)=>t.includes(r)?e.length-n:0)).reduce(((e,t)=>e+t),0)}function o(e){for(const t of n.QUAD_TERM_NAMES){const r=e[t];if("Variable"===r.termType||"Quad"===r.termType&&o(r))return!0}return!1}t.QUAD_TERM_NAMES_INVERSE=Object.fromEntries(n.QUAD_TERM_NAMES.map(((e,t)=>[e,t]))),t.getBestIndex=function(e,t){if(1===e.length||t.every((e=>void 0!==e)))return 0;const r=[];for(let e=0;e({score:i(e,r),index:t}))).sort(((e,t)=>t.score-e.score))[0].index},t.getComponentOrderScore=i,t.orderQuadComponents=function(e,r){return e.map((e=>{const n=t.QUAD_TERM_NAMES_INVERSE[e];return r[n]}))},t.encodeOptionalTerms=function(e,t){const r=e.map((e=>{if(e){if("Quad"===e.termType&&o(e))return;const r=t.encodeOptional(e);return void 0===r?"none":r}return e}));if(!r.includes("none"))return r},t.quadToPattern=function(e,t,r,n,i){let o=!1;return[[e||void 0,t||void 0,r||void 0,n||void 0].map((e=>{if(e){if("Variable"===e.termType)return;if("Quad"===e.termType)return i?e:void(o=!0)}return e})),o]},t.quadHasVariables=o,t.arePatternsQuoted=function(e){return e.map((e=>"Quad"===(null==e?void 0:e.termType)&&o(e)))}},75592:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},447:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStore=void 0;const n=r(75627),i=r(47793),o=r(3285),a=r(23261),s=r(37747),c=r(68337),u=r(75237),l=r(95439);class d{constructor(e){this.features={quotedTripleFiltering:!0},this._size=0,this.options=e,this.dataFactory=e.dataFactory,this.dictionary=e.dictionary,this.indexesWrapped=d.constructIndexesWrapped(e),this.indexesWrappedComponentOrders=this.indexesWrapped.map((e=>e.componentOrder))}static createDefault(){return new d({indexCombinations:d.DEFAULT_INDEX_COMBINATIONS,indexConstructor:e=>new u.RdfStoreIndexNestedMapQuoted(e),dictionary:new c.TermDictionaryQuotedIndexed(new s.TermDictionaryNumberRecordFullTerms),dataFactory:new i.DataFactory})}static constructIndexesWrapped(e){const t=[];if(0===e.indexCombinations.length)throw new Error("At least one index combination is required");for(const r of e.indexCombinations){if(!d.isCombinationValid(r))throw new Error(`Invalid index combination: ${r}`);t.push({index:e.indexConstructor(e),componentOrder:r,componentOrderInverse:Object.fromEntries(r.map(((e,t)=>[e,t])))})}return t}static isCombinationValid(e){for(const t of o.QUAD_TERM_NAMES)if(!e.includes(t))return!1;return 4===e.length}get size(){return this._size}addQuad(e){const t=[this.dictionary.encode(e.subject),this.dictionary.encode(e.predicate),this.dictionary.encode(e.object),this.dictionary.encode(e.graph)];let r=!1;for(const e of this.indexesWrapped)r=e.index.set((0,l.orderQuadComponents)(e.componentOrder,t),!0);return!!r&&(this._size++,!0)}removeQuad(e){const t=[this.dictionary.encodeOptional(e.subject),this.dictionary.encodeOptional(e.predicate),this.dictionary.encodeOptional(e.object),this.dictionary.encodeOptional(e.graph)];if(t.includes(void 0))return!1;let r=!1;for(const e of this.indexesWrapped)if(r=e.index.remove((0,l.orderQuadComponents)(e.componentOrder,t)),!r)break;return!!r&&(this._size--,!0)}remove(e){return e.on("data",(e=>this.removeQuad(e))),e}removeMatches(e,t,r,n){return this.remove(this.match(e,t,r,n))}deleteGraph(e){return"string"==typeof e&&(e=this.dataFactory.namedNode(e)),this.removeMatches(void 0,void 0,void 0,e)}import(e){return e.on("data",(e=>this.addQuad(e))),e}*readQuads(e,t,r,n){const i=Boolean(this.dictionary.features.quotedTriples)&&Object.values(this.indexesWrapped).every((e=>e.index.features.quotedTripleFiltering)),[a,s]=(0,l.quadToPattern)(e,t,r,n,i),c=this.indexesWrapped[(0,l.getBestIndex)(this.indexesWrappedComponentOrders,a)],u=(0,l.orderQuadComponents)(c.componentOrder,a);for(const i of c.index.find(u)){const a=this.dataFactory.quad(i[c.componentOrderInverse.subject],i[c.componentOrderInverse.predicate],i[c.componentOrderInverse.object],i[c.componentOrderInverse.graph]);s?(0,o.matchPattern)(a,e,t,r,n)&&(yield a):yield a}}getQuads(e,t,r,n){return[...this.readQuads(e,t,r,n)]}match(e,t,r,i){return(0,n.wrap)(this.readQuads(e,t,r,i))}countQuads(e,t,r,n){const i=Boolean(this.dictionary.features.quotedTriples)&&Object.values(this.indexesWrapped).every((e=>e.index.features.quotedTripleFiltering)),[o]=(0,l.quadToPattern)(e,t,r,n,i);if(o.every((e=>void 0===e)))return this.size;const a=this.indexesWrapped[(0,l.getBestIndex)(this.indexesWrappedComponentOrders,o)],s=(0,l.orderQuadComponents)(a.componentOrder,o);return a.index.count(s)}asDataset(){return new a.DatasetCoreWrapper(this)}}d.DEFAULT_INDEX_COMBINATIONS=[["graph","subject","predicate","object"],["graph","predicate","object","subject"],["graph","object","subject","predicate"]],t.RdfStore=d},23261:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatasetCoreWrapper=void 0;const n=r(447);class i{constructor(e){this.store=e}get size(){return this.store.size}add(e){return this.store.addQuad(e),this}delete(e){return this.store.removeQuad(e),this}has(e){for(const t of this.store.readQuads(e.subject,e.predicate,e.object,e.graph))return!0;return!1}match(e,t,r,o){const a=new n.RdfStore(this.store.options);for(const n of this.store.readQuads(e,t,r,o))a.addQuad(n);return new i(a)}[Symbol.iterator](){return this.store.readQuads()}}t.DatasetCoreWrapper=i},90636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},34262:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryNumberMap=void 0;const n=r(47793),i=r(43347);t.TermDictionaryNumberMap=class{constructor(e=new n.DataFactory){this.lastId=0,this.dictionary=new Map,this.reverseDictionary=new Map,this.features={quotedTriples:!1},this.dataFactory=e}encode(e){const t=(0,i.termToString)(e);let r=this.dictionary.get(t);return void 0===r&&(r=this.lastId++,this.dictionary.set(t,r),this.reverseDictionary.set(r,t)),r}encodeOptional(e){const t=(0,i.termToString)(e);return this.dictionary.get(t)}decode(e){const t=this.reverseDictionary.get(e);if(void 0===t)throw new Error(`The value ${e} is not present in this dictionary`);return(0,i.stringToTerm)(t,this.dataFactory)}encodings(){return this.reverseDictionary.keys()}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},77087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryNumberRecord=void 0;const n=r(47793),i=r(43347);t.TermDictionaryNumberRecord=class{constructor(e=new n.DataFactory){this.lastId=0,this.dictionary={},this.reverseDictionary={},this.features={quotedTriples:!1},this.dataFactory=e}encode(e){const t=(0,i.termToString)(e);let r=this.dictionary[t];return void 0===r&&(r=this.lastId++,this.dictionary[t]=r,this.reverseDictionary[r]=t),r}encodeOptional(e){const t=(0,i.termToString)(e);return this.dictionary[t]}decode(e){const t=this.reverseDictionary[e];if(void 0===t)throw new Error(`The value ${e} is not present in this dictionary`);return(0,i.stringToTerm)(t,this.dataFactory)}*encodings(){for(const e of Object.keys(this.reverseDictionary))yield Number.parseInt(e,10)}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},37747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryNumberRecordFullTerms=void 0;const n=r(47793),i=r(43347);t.TermDictionaryNumberRecordFullTerms=class{constructor(e=new n.DataFactory){this.lastId=0,this.dictionary={},this.reverseDictionary={},this.features={quotedTriples:!1},this.dataFactory=e}encode(e){const t=(0,i.termToString)(e);let r=this.dictionary[t];return void 0===r&&(r=this.lastId++,this.dictionary[t]=r,this.reverseDictionary[r]=e),r}encodeOptional(e){const t=(0,i.termToString)(e);return this.dictionary[t]}decode(e){const t=this.reverseDictionary[e];if(void 0===t)throw new Error(`The value ${e} is not present in this dictionary`);return t}*encodings(){for(const e of Object.keys(this.reverseDictionary))yield Number.parseInt(e,10)}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},22895:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryQuoted=void 0;const n=r(47793),i=r(3285);class o{constructor(e,t,r=new n.DataFactory){this.features={quotedTriples:!0},this.plainTermDictionary=e,this.quotedTriplesDictionary=t,this.dataFactory=r}encode(e){return"Quad"===e.termType?o.BITMASK|1+this.quotedTriplesDictionary.encode(e):this.plainTermDictionary.encode(e)}encodeOptional(e){if("Quad"===e.termType){const t=this.quotedTriplesDictionary.encodeOptional(e);return void 0===t?t:o.BITMASK|1+t}return this.plainTermDictionary.encodeOptional(e)}decode(e){if(o.BITMASK&e){const t=(~o.BITMASK&e)-1;return this.quotedTriplesDictionary.decode(t)}return this.plainTermDictionary.decode(e)}*encodings(){for(const e of this.plainTermDictionary.encodings())yield e;for(const e of this.quotedTriplesDictionary.encodings())yield o.BITMASK|1+e}*findQuotedTriples(e){for(const t of this.findQuotedTriplesEncoded(e))yield this.decode(t)}*findQuotedTriplesEncoded(e){for(let t of this.quotedTriplesDictionary.encodings()){t=o.BITMASK|1+t;const r=this.decode(t);(0,i.matchPattern)(r,e.subject,e.predicate,e.object,e.graph)&&(yield t)}}}o.BITMASK=1<<31,t.TermDictionaryQuoted=o},68337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryQuotedIndexed=void 0;const n=r(47793),i=r(42449),o=r(95439);class a{constructor(e,t=new n.DataFactory){this.quotedTriplesDictionary=[],this.features={quotedTriples:!0},this.plainTermDictionary=e;const r={indexCombinations:[],indexConstructor:void 0,dictionary:this,dataFactory:t};this.quotedTriplesReverseDictionaries=[new i.RdfStoreIndexNestedMap(r),new i.RdfStoreIndexNestedMap(r),new i.RdfStoreIndexNestedMap(r)],this.dataFactory=t}encode(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!1):this.plainTermDictionary.encode(e)}encodeQuotedTriple(e,t){if("DefaultGraph"!==e.graph.termType)throw new Error("Encoding of quoted quads outside of the default graph is not allowed");const r=(0,o.encodeOptionalTerms)([e.subject,e.predicate,e.object,e.graph],this),n=r&&r.every((e=>void 0!==e))?this.quotedTriplesReverseDictionaries[0].getEncoded(r):void 0;if(void 0!==n||t)return void 0===n?void 0:a.BITMASK|n;const i=[this.encode(e.subject),this.encode(e.predicate),this.encode(e.object)],s=this.quotedTriplesDictionary.length+1;this.quotedTriplesDictionary.push(i);const c=this.encode(this.dataFactory.defaultGraph());return this.quotedTriplesReverseDictionaries[0].set([i[0],i[1],i[2],c],s),this.quotedTriplesReverseDictionaries[1].set([i[1],i[2],i[0],c],s),this.quotedTriplesReverseDictionaries[2].set([i[2],i[0],i[1],c],s),a.BITMASK|s}encodeOptional(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!0):this.plainTermDictionary.encodeOptional(e)}decode(e){if(a.BITMASK&e){const t=(~a.BITMASK&e)-1;if(t>=this.quotedTriplesDictionary.length)throw new Error(`The value ${e} is not present in the quoted triples range of the dictionary`);const r=this.quotedTriplesDictionary[t];return this.dataFactory.quad(this.decode(r[0]),this.decode(r[1]),this.decode(r[2]))}return this.plainTermDictionary.decode(e)}*encodings(){for(const e of this.plainTermDictionary.encodings())yield e;for(const e of this.quotedTriplesDictionary.keys())yield a.BITMASK|1+e}*findQuotedTriples(e){for(const t of this.findQuotedTriplesEncoded(e))yield this.decode(t)}*findQuotedTriplesEncoded(e){const[t,r]=(0,o.quadToPattern)(e.subject,e.predicate,e.object,e.graph,!0);for(const e of this.patternToIterable(t[0]))for(const r of this.patternToIterable(t[1]))for(const n of this.patternToIterable(t[2]))for(const i of this.patternToIterable(t[3]))if(e&&r||!r&&!n){const o=[e,r,n,i];for(const e of this.quotedTriplesReverseDictionaries[0].findEncoded(o,t))yield a.BITMASK|this.quotedTriplesReverseDictionaries[0].getEncoded(e)}else if(!e&&r){const o=[r,n,e,i];for(const e of this.quotedTriplesReverseDictionaries[1].findEncoded(o,t))yield a.BITMASK|this.quotedTriplesReverseDictionaries[1].getEncoded(e)}else{const o=[n,e,r,i];for(const e of this.quotedTriplesReverseDictionaries[2].findEncoded(o,t))yield a.BITMASK|this.quotedTriplesReverseDictionaries[2].getEncoded(e)}}*patternToIterable(e){if("Quad"===(null==e?void 0:e.termType))return void(yield*this.findQuotedTriplesEncoded(e));if(void 0===e)return void(yield);const t=this.encodeOptional(e);void 0!==t&&(yield t)}}a.BITMASK=1<<31,t.TermDictionaryQuotedIndexed=a},99616:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionaryQuotedReferential=void 0;const n=r(47793),i=r(3285),o=r(95439);class a{constructor(e,t=new n.DataFactory){this.quotedTriplesDictionary=[],this.quotedTriplesReverseDictionary={},this.features={quotedTriples:!0},this.plainTermDictionary=e,this.dataFactory=t}encode(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!1):this.plainTermDictionary.encode(e)}encodeQuotedTriple(e,t){var r;if("DefaultGraph"!==e.graph.termType)throw new Error("Encoding of quoted quads outside of the default graph is not allowed");const n=null===(r=(0,o.encodeOptionalTerms)([e.subject,e.predicate,e.object,void 0],this))||void 0===r?void 0:r.slice(0,3),i=n&&n.every((e=>void 0!==e))?this.quotedTriplesReverseDictionary[n.join(a.SEPARATOR)]:void 0;if(void 0!==i||t)return void 0===i?void 0:a.BITMASK|i;const s=[this.encode(e.subject),this.encode(e.predicate),this.encode(e.object)],c=this.quotedTriplesDictionary.length+1;return this.quotedTriplesDictionary.push(s),this.quotedTriplesReverseDictionary[s.join(a.SEPARATOR)]=c,a.BITMASK|c}encodeOptional(e){return"Quad"===e.termType?this.encodeQuotedTriple(e,!0):this.plainTermDictionary.encodeOptional(e)}decode(e){if(a.BITMASK&e){const t=(~a.BITMASK&e)-1;if(t>=this.quotedTriplesDictionary.length)throw new Error(`The value ${e} is not present in the quoted triples range of the dictionary`);const r=this.quotedTriplesDictionary[t];return this.dataFactory.quad(this.decode(r[0]),this.decode(r[1]),this.decode(r[2]))}return this.plainTermDictionary.decode(e)}*encodings(){for(const e of this.plainTermDictionary.encodings())yield e;for(const e of this.quotedTriplesDictionary.keys())yield a.BITMASK|1+e}*findQuotedTriples(e){for(const t of this.findQuotedTriplesEncoded(e))yield this.decode(t)}*findQuotedTriplesEncoded(e){for(let t of this.quotedTriplesDictionary.keys()){t=a.BITMASK|1+t;const r=this.decode(t);(0,i.matchPattern)(r,e.subject,e.predicate,e.object,e.graph)&&(yield t)}}}a.BITMASK=1<<31,a.SEPARATOR="_",t.TermDictionaryQuotedReferential=a},21451:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TermDictionarySymbol=void 0;const n=r(47793),i=r(43347);t.TermDictionarySymbol=class{constructor(e=new n.DataFactory){this.features={quotedTriples:!1},this.dataFactory=e}encode(e){return Symbol.for(`rdf::${(0,i.termToString)(e)}`)}encodeOptional(e){return this.encode(e)}decode(e){const t=Symbol.keyFor(e);if(void 0===t)throw new Error(`The value ${String(e)} is not present in this dictionary`);return(0,i.stringToTerm)(t.slice(5),this.dataFactory)}encodings(){throw new Error("encodings is not supported")}findQuotedTriples(e){throw new Error("findQuotedTriples is not supported")}findQuotedTriplesEncoded(e){throw new Error("findQuotedTriplesEncoded is not supported")}}},445:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},42449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMap=void 0;const n=r(95439);t.RdfStoreIndexNestedMap=class{constructor(e){this.features={quotedTripleFiltering:!1},this.dictionary=e.dictionary,this.nestedMap=new Map}set(e,t){const r=this.nestedMap;let n=r.get(e[0]);n||(n=new Map,r.set(e[0],n));let i=n.get(e[1]);i||(i=new Map,n.set(e[1],i));let o=i.get(e[2]);o||(o=new Map,i.set(e[2],o));const a=o.has(e[3]);return a||o.set(e[3],t),!a}remove(e){const t=this.nestedMap,r=t.get(e[0]);if(!r)return!1;const n=r.get(e[1]);if(!n)return!1;const i=n.get(e[2]);if(!i)return!1;const o=i.delete(e[3]);return o&&0===i.size&&(n.delete(e[2]),0===n.size&&(r.delete(e[1]),0===r.size&&t.delete(e[0]))),o}get(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t&&!t.includes(void 0))return this.getEncoded(t)}getEncoded(e){const t=this.nestedMap.get(e[0]);if(!t)return;const r=t.get(e[1]);if(!r)return;const n=r.get(e[2]);return n?n.get(e[3]):void 0}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e;let d,p,h,f,y,g,m;const b=this.nestedMap,_=void 0!==r?b.has(r)?[r]:[]:b.keys();for(const e of _){y=b.get(e),d=s||this.dictionary.decode(e);const t=void 0!==i?y.has(i)?[i]:[]:y.keys();for(const e of t){g=y.get(e),p=c||this.dictionary.decode(e);const t=void 0!==o?g.has(o)?[o]:[]:g.keys();for(const e of t){m=g.get(e),h=u||this.dictionary.decode(e);const t=void 0!==a?m.has(a)?[a]:[]:m.keys();for(const e of t)f=l||this.dictionary.decode(e),yield[d,p,h,f]}}}}*findEncoded(e,t){const[r,n,i,o]=e;let a,s,c;const u=this.nestedMap,l=void 0!==r?u.has(r)?[r]:[]:u.keys();for(const e of l){a=u.get(e);const t=void 0!==n?a.has(n)?[n]:[]:a.keys();for(const r of t){s=a.get(r);const t=void 0!==i?s.has(i)?[i]:[]:s.keys();for(const n of t){c=s.get(n);const t=void 0!==o?c.has(o)?[o]:[]:c.keys();for(const i of t)yield[e,r,n,i]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const i=r[0],o=r[1],a=r[2],s=r[3];let c,u,l;const d=this.nestedMap,p=void 0!==i?d.has(i)?[i]:[]:d.keys();for(const e of p){c=d.get(e);const r=void 0!==o?c.has(o)?[o]:[]:c.keys();for(const e of r){u=c.get(e);const r=void 0!==a?u.has(a)?[a]:[]:u.keys();for(const e of r)l=u.get(e),void 0!==s?l.has(s)&&t++:t+=l.size}}return t}}},75237:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMapQuoted=void 0;const n=r(95439),i=r(42449);class o extends i.RdfStoreIndexNestedMap{constructor(e){super(e),this.features={quotedTripleFiltering:!0}}*getQuotedPatternKeys(e,t){for(const r of this.dictionary.findQuotedTriplesEncoded(t))e.has(r)&&(yield r)}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e,[d,p,h,f]=(0,n.arePatternsQuoted)(e);let y,g,m,b,_,v,w;const S=this.nestedMap,E=void 0!==s?d?this.getQuotedPatternKeys(S,s):S.has(r)?[r]:[]:S.keys();for(const e of E){_=S.get(e),y=!d&&s?s:this.dictionary.decode(e);const t=void 0!==c?p?this.getQuotedPatternKeys(_,c):_.has(i)?[i]:[]:_.keys();for(const e of t){v=_.get(e),g=!p&&c?c:this.dictionary.decode(e);const t=void 0!==u?h?this.getQuotedPatternKeys(v,u):v.has(o)?[o]:[]:v.keys();for(const e of t){w=v.get(e),m=!h&&u?u:this.dictionary.decode(e);const t=void 0!==l?f?this.getQuotedPatternKeys(w,l):w.has(a)?[a]:[]:w.keys();for(const e of t)b=!f&&l?l:this.dictionary.decode(e),yield[y,g,m,b]}}}}*findEncoded(e,t){const[r,i,o,a]=e,[s,c,u,l]=t,[d,p,h,f]=(0,n.arePatternsQuoted)(t);let y,g,m;const b=this.nestedMap,_=void 0!==s?d?this.getQuotedPatternKeys(b,s):b.has(r)?[r]:[]:b.keys();for(const e of _){y=b.get(e);const t=void 0!==c?p?this.getQuotedPatternKeys(y,c):y.has(i)?[i]:[]:y.keys();for(const r of t){g=y.get(r);const t=void 0!==u?h?this.getQuotedPatternKeys(g,u):g.has(o)?[o]:[]:g.keys();for(const n of t){m=g.get(n);const t=void 0!==l?f?this.getQuotedPatternKeys(m,l):m.has(a)?[a]:[]:m.keys();for(const i of t)yield[Number.parseInt(e,10),Number.parseInt(r,10),Number.parseInt(n,10),Number.parseInt(i,10)]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const[i,o,a,s]=r,[c,u,l,d]=e,[p,h,f,y]=(0,n.arePatternsQuoted)(e);let g,m,b;const _=this.nestedMap,v=void 0!==c?p?this.getQuotedPatternKeys(_,c):_.has(i)?[i]:[]:_.keys();for(const e of v){g=_.get(e);const r=void 0!==u?h?this.getQuotedPatternKeys(g,u):g.has(o)?[o]:[]:g.keys();for(const e of r){m=g.get(e);const r=void 0!==l?f?this.getQuotedPatternKeys(m,l):m.has(a)?[a]:[]:m.keys();for(const e of r)b=m.get(e),void 0!==d?y?t+=[...this.getQuotedPatternKeys(b,d)].length:b.has(s)&&t++:t+=b.size}}return t}}t.RdfStoreIndexNestedMapQuoted=o},53261:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMapRecursive=void 0;const n=r(95439);t.RdfStoreIndexNestedMapRecursive=class{constructor(e){this.features={quotedTripleFiltering:!1},this.dictionary=e.dictionary,this.nestedMap=new Map}set(e,t){let r=this.nestedMap,n=!1;for(const[i,o]of e.entries()){const a=r;let s=a.get(o);s?i===e.length-1&&(n=!0):(s=i===e.length-1?t:new Map,a.set(o,s)),r=s}return!n}remove(e){const t=this.nestedMap,r=t.get(e[0]);if(!r)return!1;const n=r.get(e[1]);if(!n)return!1;const i=n.get(e[2]);if(!i)return!1;const o=i.delete(e[3]);return o&&0===i.size&&(n.delete(e[2]),0===n.size&&(r.delete(e[1]),0===r.size&&t.delete(e[0]))),o}get(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t&&!t.includes(void 0))return this.getEncoded(t)}getEncoded(e){const t=this.nestedMap.get(e[0]);if(!t)return;const r=t.get(e[1]);if(!r)return;const n=r.get(e[2]);return n?n.get(e[3]):void 0}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t)for(const r of this.findEncoded(t,e))yield[void 0!==t[0]?e[0]:this.dictionary.decode(r[0]),void 0!==t[1]?e[1]:this.dictionary.decode(r[1]),void 0!==t[2]?e[2]:this.dictionary.decode(r[2]),void 0!==t[3]?e[3]:this.dictionary.decode(r[3])]}*findEncoded(e,t){return yield*this.findEncodedInner(0,e,t,this.nestedMap,[])}*findEncodedInner(e,t,r,n,i){if(e===t.length)yield[...i];else{const o=t[e];if(r[e]){const a=o;if(void 0!==a){const s=n.get(a);s&&(i[e]=o,yield*this.findEncodedInner(e+1,t,r,s,i))}}else for(const[o,a]of n.entries())i[e]=o,yield*this.findEncodedInner(e+1,t,r,a,i)}}count(e){return this.countInner(0,e,this.nestedMap)}countInner(e,t,r){const n=t[e];let i=0;if(n){const o=this.dictionary.encodeOptional(n);if(void 0!==o){if(e===t.length-1)return r.has(o)?1:0;const n=r.get(o);n&&(i+=this.countInner(e+1,t,n))}}else{if(e===t.length-1)return r.size;for(const n of r.values())i+=this.countInner(e+1,t,n)}return i}}},80745:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedMapRecursiveQuoted=void 0;const n=r(95439),i=r(53261);class o extends i.RdfStoreIndexNestedMapRecursive{constructor(e){super(e),this.features={quotedTripleFiltering:!0}}*findEncoded(e,t){return yield*this.findEncodedInnerQuoted(0,e,t,(0,n.arePatternsQuoted)(t),this.nestedMap,[])}*findEncodedInnerQuoted(e,t,r,n,i,o){if(e===t.length)yield[...o];else{const a=t[e],s=r[e];if(s)if(n[e]){const a=this.dictionary.findQuotedTriplesEncoded(s);for(const s of a){const a=i.get(s);a&&(o[e]=s,yield*this.findEncodedInnerQuoted(e+1,t,r,n,a,o))}}else{const s=a;if(void 0!==s){const c=i.get(s);c&&(o[e]=a,yield*this.findEncodedInnerQuoted(e+1,t,r,n,c,o))}}else for(const[a,s]of i.entries())o[e]=a,yield*this.findEncodedInnerQuoted(e+1,t,r,n,s,o)}}countInner(e,t,r){const i=t[e];let o=0;if(i)if("Quad"===i.termType&&(0,n.quadHasVariables)(i)){const n=this.dictionary.findQuotedTriplesEncoded(i);for(const i of n)if(e===t.length-1)r.has(i)&&o++;else{const n=r.get(i);n&&(o+=this.countInner(e+1,t,n))}}else{const n=this.dictionary.encodeOptional(i);if(void 0!==n){if(e===t.length-1)return r.has(n)?1:0;const i=r.get(n);i&&(o+=this.countInner(e+1,t,i))}}else{if(e===t.length-1)return r.size;for(const n of r.values())o+=this.countInner(e+1,t,n)}return o}}t.RdfStoreIndexNestedMapRecursiveQuoted=o},80766:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedRecord=void 0;const n=r(95439);t.RdfStoreIndexNestedRecord=class{constructor(e){this.features={quotedTripleFiltering:!1},this.dictionary=e.dictionary,this.nestedRecords={}}set(e,t){const r=this.nestedRecords,n=r[e[0]]||(r[e[0]]={}),i=n[e[1]]||(n[e[1]]={}),o=i[e[2]]||(i[e[2]]={});return!o[e[3]]&&(o[e[3]]=t,!0)}remove(e){const t=this.nestedRecords,r=t[e[0]];if(!r)return!1;const n=r[e[1]];if(!n)return!1;const i=n[e[2]];return!!i&&!!i[e[3]]&&(delete i[e[3]],0===Object.keys(i).length&&(delete n[e[2]],0===Object.keys(n).length&&(delete r[e[1]],0===Object.keys(r).length&&delete t[e[0]])),!0)}get(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(t&&!t.includes(void 0))return this.getEncoded(t)}getEncoded(e){var t,r,n;return null===(n=null===(r=null===(t=this.nestedRecords[e[0]])||void 0===t?void 0:t[e[1]])||void 0===r?void 0:r[e[2]])||void 0===n?void 0:n[e[3]]}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e;let d,p,h,f,y,g,m;const b=this.nestedRecords,_=void 0!==r?r in b?[r]:[]:Object.keys(b);for(const e of _){y=b[e],d=s||this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==i?i in y?[i]:[]:Object.keys(y);for(const e of t){g=y[e],p=c||this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==o?o in g?[o]:[]:Object.keys(g);for(const e of t){m=g[e],h=u||this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==a?a in m?[a]:[]:Object.keys(m);for(const e of t)f=l||this.dictionary.decode(Number.parseInt(e,10)),yield[d,p,h,f]}}}}*findEncoded(e,t){const[r,n,i,o]=e;let a,s,c;const u=this.nestedRecords,l=void 0!==r?r in u?[r]:[]:Object.keys(u);for(const e of l){a=u[e];const t=void 0!==n?n in a?[n]:[]:Object.keys(a);for(const r of t){s=a[r];const t=void 0!==i?i in s?[i]:[]:Object.keys(s);for(const n of t){c=s[n];const t=void 0!==o?o in c?[o]:[]:Object.keys(c);for(const i of t)yield[Number.parseInt(e,10),Number.parseInt(r,10),Number.parseInt(n,10),Number.parseInt(i,10)]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const i=r[0],o=r[1],a=r[2],s=r[3];let c,u,l;const d=this.nestedRecords,p=void 0!==i?i in d?[i]:[]:Object.keys(d);for(const e of p){c=d[e];const r=void 0!==o?o in c?[o]:[]:Object.keys(c);for(const e of r){u=c[e];const r=void 0!==a?a in u?[a]:[]:Object.keys(u);for(const e of r)l=u[e],void 0!==s?s in l&&t++:t+=Object.keys(l).length}}return t}}},67538:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfStoreIndexNestedRecordQuoted=void 0;const n=r(95439),i=r(80766);class o extends i.RdfStoreIndexNestedRecord{constructor(e){super(e),this.features={quotedTripleFiltering:!0}}*getQuotedPatternKeys(e,t){for(const r of this.dictionary.findQuotedTriplesEncoded(t))r in e&&(yield r)}*find(e){const t=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!t)return;const[r,i,o,a]=t,[s,c,u,l]=e,[d,p,h,f]=(0,n.arePatternsQuoted)(e);let y,g,m,b,_,v,w;const S=this.nestedRecords,E=void 0!==s?d?this.getQuotedPatternKeys(S,s):r in S?[r]:[]:Object.keys(S);for(const e of E){_=S[e],y=!d&&s?s:this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==c?p?this.getQuotedPatternKeys(_,c):i in _?[i]:[]:Object.keys(_);for(const e of t){v=_[e],g=!p&&c?c:this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==u?h?this.getQuotedPatternKeys(v,u):o in v?[o]:[]:Object.keys(v);for(const e of t){w=v[e],m=!h&&u?u:this.dictionary.decode(Number.parseInt(e,10));const t=void 0!==l?f?this.getQuotedPatternKeys(w,l):a in w?[a]:[]:Object.keys(w);for(const e of t)b=!f&&l?l:this.dictionary.decode(Number.parseInt(e,10)),yield[y,g,m,b]}}}}*findEncoded(e,t){const[r,i,o,a]=e,[s,c,u,l]=t,[d,p,h,f]=(0,n.arePatternsQuoted)(t);let y,g,m;const b=this.nestedRecords,_=void 0!==s?d?this.getQuotedPatternKeys(b,s):r in b?[r]:[]:Object.keys(b);for(const e of _){y=b[e];const t=void 0!==c?p?this.getQuotedPatternKeys(y,c):i in y?[i]:[]:Object.keys(y);for(const r of t){g=y[r];const t=void 0!==u?h?this.getQuotedPatternKeys(g,u):o in g?[o]:[]:Object.keys(g);for(const n of t){m=g[n];const t=void 0!==l?f?this.getQuotedPatternKeys(m,l):a in m?[a]:[]:Object.keys(m);for(const i of t)yield[Number.parseInt(e,10),Number.parseInt(r,10),Number.parseInt(n,10),Number.parseInt(i,10)]}}}}count(e){let t=0;const r=(0,n.encodeOptionalTerms)(e,this.dictionary);if(!r)return 0;const[i,o,a,s]=r,[c,u,l,d]=e,[p,h,f,y]=(0,n.arePatternsQuoted)(e);let g,m,b;const _=this.nestedRecords,v=void 0!==c?p?this.getQuotedPatternKeys(_,c):i in _?[i]:[]:Object.keys(_);for(const e of v){g=_[e];const r=void 0!==u?h?this.getQuotedPatternKeys(g,u):o in g?[o]:[]:Object.keys(g);for(const e of r){m=g[e];const r=void 0!==l?f?this.getQuotedPatternKeys(m,l):a in m?[a]:[]:Object.keys(m);for(const e of r)b=m[e],void 0!==d?y?t+=[...this.getQuotedPatternKeys(b,d)].length:s in b&&t++:t+=Object.keys(b).length}}return t}}t.RdfStoreIndexNestedRecordQuoted=o},18962:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(23598),t),i(r(83893),t)},23598:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PendingStreamsIndex=void 0;const n=r(43347),i=r(3285);class o{constructor(){this.indexedStreams=new Map,this.allStreams=[]}termToString(e){return e&&"Variable"!==e.termType?(0,n.termToString)(e):o.ID_VARIABLE}addPatternListener(e,t,r,n,i){this.allStreams.push(e);const a=`${this.termToString(t)}${o.ID_SEPARATOR}${this.termToString(r)}${o.ID_SEPARATOR}${this.termToString(n)}${o.ID_SEPARATOR}${this.termToString(i)}`;let s=this.indexedStreams.get(a);s||(s=[],this.indexedStreams.set(a,s)),s.push(e)}getPendingStreamsForQuad(e){let t=[(0,i.getTerms)(e).map((e=>(0,n.termToString)(e)))];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamingStore=void 0;const n=r(54378),i=r(19198),o=r(23598);t.StreamingStore=class{constructor(e=new n.Store){this.pendingStreams=new o.PendingStreamsIndex,this.ended=!1,this.store=e}end(){this.ended=!0;for(const e of this.pendingStreams.allStreams)e.push(null),e._pipeSource.unpipe()}importToListeners(e){e.on("data",(e=>{if(!this.ended&&!this.store.countQuads(e.subject,e.predicate,e.object,e.graph))for(const t of this.pendingStreams.getPendingStreamsForQuad(e))t.isInitialized&&(t.push(e),t.emit("quad",e))}))}import(e){if(this.ended)throw new Error("Attempted to import into an ended StreamingStore");return this.importToListeners(e),this.store.import(e)}match(e,t,r,n){const o=this.store.match(e,t,r,n);let a=o;if(!this.ended){const s=new i.PassThrough({objectMode:!0});this.pendingStreams.addPatternListener(s,e,t,r,n),a=o.pipe(s,{end:!1}),a._pipeSource=o;const c=o._read;o._read=e=>{s.isInitialized=!0,c.call(o,e)}}return a}getStore(){return this.store}}},46898:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.termToString=t.stringToTerm=t.stringQuadToQuad=t.quadToStringQuad=t.getLiteralValue=t.getLiteralType=t.getLiteralLanguage=void 0;const n=r(19858);Object.defineProperty(t,"getLiteralLanguage",{enumerable:!0,get:function(){return n.getLiteralLanguage}}),Object.defineProperty(t,"getLiteralType",{enumerable:!0,get:function(){return n.getLiteralType}}),Object.defineProperty(t,"getLiteralValue",{enumerable:!0,get:function(){return n.getLiteralValue}}),Object.defineProperty(t,"quadToStringQuad",{enumerable:!0,get:function(){return n.quadToStringQuad}}),Object.defineProperty(t,"stringQuadToQuad",{enumerable:!0,get:function(){return n.stringQuadToQuad}}),Object.defineProperty(t,"stringToTerm",{enumerable:!0,get:function(){return n.stringToTerm}}),Object.defineProperty(t,"termToString",{enumerable:!0,get:function(){return n.termToString}})},19858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stringQuadToQuad=t.quadToStringQuad=t.stringToTerm=t.getLiteralLanguage=t.getLiteralType=t.getLiteralValue=t.termToString=void 0;const n=new(r(47793).DataFactory);function i(e){var t,r;if(e)switch(e.termType){case"NamedNode":return`<${t=e.value,t.replace(u,d)}>`;case"BlankNode":return`_:${e.value}`;case"Literal":{const t=e;return`"${r=t.value,u.test(r)&&(r=r.replace(u,d)),r}"${t.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==t.datatype.value&&"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"!==t.datatype.value?`^^<${t.datatype.value}>`:""}${t.language?`@${t.language}`:""}`}case"Quad":return`<<${i(e.subject)} ${i(e.predicate)} ${i(e.object)}${"DefaultGraph"===e.graph.termType?"":` ${i(e.graph)}`}>>`;case"Variable":return`?${e.value}`;case"DefaultGraph":return e.value}}function o(e){const t=/^"([^]*)"((\^\^.*)|(@.*))?$/u.exec(e);if(!t)throw new Error(`${e} is not a literal`);return t[1].replace(/\\"/gu,'"')}function a(e){const t=/^"[^]*"(?:\^\^<([^"]+)>|(@)[^@"]+)?$/u.exec(e);if(!t)throw new Error(`${e} is not a literal`);return t[1]||(t[2]?"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString":"http://www.w3.org/2001/XMLSchema#string")}function s(e){const t=/^"[^]*"(?:@([^@"]+)|\^\^[^"]+)?$/u.exec(e);if(!t)throw new Error(`${e} is not a literal`);return t[1]?t[1].toLowerCase():""}function c(e,t){if(t=t||n,!e||0===e.length)return t.defaultGraph();switch(e[0]){case"_":return t.blankNode(e.slice(2));case"?":if(!t.variable)throw new Error("Missing 'variable()' method on the given DataFactory");return t.variable(e.slice(1));case'"':{const r=s(e),n=t.namedNode(a(e));return t.literal(o(e),r||n)}default:if(e.startsWith("<<")&&e.endsWith(">>")){const r=e.slice(2,-2),n=[];let i=0,o=0;for(let t=0;t"===a){if(0===i)throw new Error(`Found closing tag without opening tag in ${e}`);i--}" "===a&&0===i&&(n.push(r.slice(o,t)),o=t+1)}if(0!==i)throw new Error(`Found opening tag without closing tag in ${e}`);if(n.push(r.slice(o,r.length)),3!==n.length&&4!==n.length)throw new Error(`Nested quad syntax error ${e}`);return t.quad(c(n[0]),c(n[1]),c(n[2]),n[3]?c(n[3]):void 0)}if(!e.startsWith("<")||!e.endsWith(">"))throw new Error(`Detected invalid iri for named node (must be wrapped in <>): ${e}`);return t.namedNode(e.slice(1,-1))}}t.termToString=i,t.getLiteralValue=o,t.getLiteralType=a,t.getLiteralLanguage=s,t.stringToTerm=c,t.quadToStringQuad=function(e){return{subject:i(e.subject),predicate:i(e.predicate),object:i(e.object),graph:i(e.graph)}},t.stringQuadToQuad=function(e,t){return(t=t||n).quad(c(e.subject,t),c(e.predicate,t),c(e.object,t),c(e.graph,t))};const u=/["\\\t\n\r\b\f\u0000-\u0019]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=new Map([["\\","\\\\"],['"','\\"'],["\t","\\t"],["\n","\\n"],["\r","\\r"],["\b","\\b"],["\f","\\f"]]);function d(e){const t=l.get(e);if(!t){if(1===e.length){const t=e.charCodeAt(0).toString(16);return`${"\\u0000".slice(0,-t.length)}${t}`}const t=(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)+9216).toString(16);return`${"\\U00000000".slice(0,-t.length)}${t}`}return t}},43347:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.termToString=t.stringToTerm=t.stringQuadToQuad=t.quadToStringQuad=t.getLiteralValue=t.getLiteralType=t.getLiteralLanguage=void 0;const n=r(23585);Object.defineProperty(t,"getLiteralLanguage",{enumerable:!0,get:function(){return n.getLiteralLanguage}}),Object.defineProperty(t,"getLiteralType",{enumerable:!0,get:function(){return n.getLiteralType}}),Object.defineProperty(t,"getLiteralValue",{enumerable:!0,get:function(){return n.getLiteralValue}}),Object.defineProperty(t,"quadToStringQuad",{enumerable:!0,get:function(){return n.quadToStringQuad}}),Object.defineProperty(t,"stringQuadToQuad",{enumerable:!0,get:function(){return n.stringQuadToQuad}}),Object.defineProperty(t,"stringToTerm",{enumerable:!0,get:function(){return n.stringToTerm}}),Object.defineProperty(t,"termToString",{enumerable:!0,get:function(){return n.termToString}})},23585:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stringQuadToQuad=t.quadToStringQuad=t.stringToTerm=t.getLiteralLanguage=t.getLiteralType=t.getLiteralValue=t.termToString=void 0;const n=new(r(47793).DataFactory);function i(e){if(e)switch(e.termType){case"NamedNode":case"DefaultGraph":return e.value;case"BlankNode":return"_:"+e.value;case"Literal":const t=e;return'"'+t.value+'"'+(t.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==t.datatype.value&&"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"!==t.datatype.value?"^^"+t.datatype.value:"")+(t.language?"@"+t.language:"");case"Quad":return`<<${i(e.subject)} ${i(e.predicate)} ${i(e.object)}${"DefaultGraph"===e.graph.termType?"":" "+i(e.graph)}>>`;case"Variable":return"?"+e.value}}function o(e){const t=/^"([^]*)"/.exec(e);if(!t)throw new Error(e+" is not a literal");return t[1]}function a(e){const t=/^"[^]*"(?:\^\^([^"]+)|(@)[^@"]+)?$/.exec(e);if(!t)throw new Error(e+" is not a literal");return t[1]||(t[2]?"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString":"http://www.w3.org/2001/XMLSchema#string")}function s(e){const t=/^"[^]*"(?:@([^@"]+)|\^\^[^"]+)?$/.exec(e);if(!t)throw new Error(e+" is not a literal");return t[1]?t[1].toLowerCase():""}function c(e,t){if(t=t||n,!e||!e.length)return t.defaultGraph();switch(e[0]){case"_":return t.blankNode(e.substr(2));case"?":if(!t.variable)throw new Error("Missing 'variable()' method on the given DataFactory");return t.variable(e.substr(1));case'"':const r=s(e),n=t.namedNode(a(e));return t.literal(o(e),r||n);default:if("<"===e[0]&&e.length>4&&"<"===e[1]&&">"===e[e.length-1]&&">"===e[e.length-2]){const r=e.slice(2,-2).trim();let n=[],i=0,o=0,a=!1;for(let t=0;t"===s){if(0===i)throw new Error("Found closing tag without opening tag in "+e);i--}if('"'===s){let e=!1,n=t;for(;n-- >0&&"\\"===r[n];)e=!e;e||(a=!a)}if(" "===s&&!a&&0===i){for(n.push(r.slice(o,t));" "===r[t+1];)t+=1;o=t+1}}if(0!==i)throw new Error("Found opening tag without closing tag in "+e);if(n.push(r.slice(o,r.length)),3!==n.length&&4!==n.length)throw new Error("Nested quad syntax error "+e);return n=n.map((e=>e.startsWith("<")&&!e.includes(" ")?e.slice(1,-1):e)),t.quad(c(n[0]),c(n[1]),c(n[2]),n[3]?c(n[3]):void 0)}return t.namedNode(e)}}t.termToString=i,t.getLiteralValue=o,t.getLiteralType=a,t.getLiteralLanguage=s,t.stringToTerm=c,t.quadToStringQuad=function(e){return{subject:i(e.subject),predicate:i(e.predicate),object:i(e.object),graph:i(e.graph)}},t.stringQuadToQuad=function(e,t){return(t=t||n).quad(c(e.subject,t),c(e.predicate,t),c(e.object,t),c(e.graph,t))}},3285:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(64232),t),i(r(70071),t)},64232:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matchPatternMappings=t.matchPatternComplete=t.matchPattern=t.matchTerm=t.getValueNestedPath=t.someTermsNested=t.someTerms=t.everyTermsNested=t.everyTerms=t.reduceTermsNested=t.reduceTerms=t.mapTermsNested=t.mapTerms=t.filterQuadTermNamesNested=t.filterQuadTermNames=t.filterTermsNested=t.filterTerms=t.forEachTermsNested=t.forEachTerms=t.collectNamedTerms=t.getNamedTerms=t.getTermsNested=t.getTerms=t.TRIPLE_TERM_NAMES=t.QUAD_TERM_NAMES=void 0;const n=new(r(47793).DataFactory);function i(e,t){return t&&"DefaultGraph"===e.graph.termType?[e.subject,e.predicate,e.object]:[e.subject,e.predicate,e.object,e.graph]}function o(e,t){return t(e.subject,"subject")&&t(e.predicate,"predicate")&&t(e.object,"object")&&t(e.graph,"graph")}function a(e,t){return!t||"Variable"===t.termType||"Quad"===t.termType&&"Quad"===e.termType&&c(e,t)||t.equals(e)}function s(e,t,r,n,i){return a(e.subject,t)&&a(e.predicate,r)&&a(e.object,n)&&a(e.graph,i)}function c(e,t){return s(e,t.subject,t.predicate,t.object,t.graph)}t.QUAD_TERM_NAMES=["subject","predicate","object","graph"],t.TRIPLE_TERM_NAMES=["subject","predicate","object"],t.getTerms=i,t.getTermsNested=function e(t,r){const n=[];for(const o of i(t,r))"Quad"===o.termType?e(o,r).forEach((e=>n.push(e))):n.push(o);return n},t.getNamedTerms=function(e){return[{key:"subject",value:e.subject},{key:"predicate",value:e.predicate},{key:"object",value:e.object},{key:"graph",value:e.graph}]},t.collectNamedTerms=function(e,t,r){const i={};return e.forEach((e=>i[e.key]=e.value)),t&&(i.subject=i.subject||t("subject"),i.predicate=i.predicate||t("predicate"),i.object=i.object||t("object"),i.graph=i.graph||t("graph")),(r||n).quad(i.subject,i.predicate,i.object,i.graph)},t.forEachTerms=function(e,t){t(e.subject,"subject"),t(e.predicate,"predicate"),t(e.object,"object"),t(e.graph,"graph")},t.forEachTermsNested=function e(t,r,n=[]){"Quad"===t.subject.termType?e(t.subject,r,[...n,"subject"]):r(t.subject,[...n,"subject"]),"Quad"===t.predicate.termType?e(t.predicate,r,[...n,"predicate"]):r(t.predicate,[...n,"predicate"]),"Quad"===t.object.termType?e(t.object,r,[...n,"object"]):r(t.object,[...n,"object"]),"Quad"===t.graph.termType?e(t.graph,r,[...n,"graph"]):r(t.graph,[...n,"graph"])},t.filterTerms=function(e,t){const r=[];return t(e.subject,"subject")&&r.push(e.subject),t(e.predicate,"predicate")&&r.push(e.predicate),t(e.object,"object")&&r.push(e.object),t(e.graph,"graph")&&r.push(e.graph),r},t.filterTermsNested=function e(t,r,n=[]){let i=[];return"Quad"===t.subject.termType?i=[...i,...e(t.subject,r,[...n,"subject"])]:r(t.subject,[...n,"subject"])&&i.push(t.subject),"Quad"===t.predicate.termType?i=[...i,...e(t.predicate,r,[...n,"predicate"])]:r(t.predicate,[...n,"predicate"])&&i.push(t.predicate),"Quad"===t.object.termType?i=[...i,...e(t.object,r,[...n,"object"])]:r(t.object,[...n,"object"])&&i.push(t.object),"Quad"===t.graph.termType?i=[...i,...e(t.graph,r,[...n,"graph"])]:r(t.graph,[...n,"graph"])&&i.push(t.graph),i},t.filterQuadTermNames=function(e,t){const r=[];return t(e.subject,"subject")&&r.push("subject"),t(e.predicate,"predicate")&&r.push("predicate"),t(e.object,"object")&&r.push("object"),t(e.graph,"graph")&&r.push("graph"),r},t.filterQuadTermNamesNested=function e(t,r,n=[]){let i=[];const o=[...n,"subject"];"Quad"===t.subject.termType?i=[...i,...e(t.subject,r,o)]:r(t.subject,o)&&i.push(o);const a=[...n,"predicate"];"Quad"===t.predicate.termType?i=[...i,...e(t.predicate,r,a)]:r(t.predicate,a)&&i.push(a);const s=[...n,"object"];"Quad"===t.object.termType?i=[...i,...e(t.object,r,s)]:r(t.object,s)&&i.push(s);const c=[...n,"graph"];return"Quad"===t.graph.termType?i=[...i,...e(t.graph,r,c)]:r(t.graph,c)&&i.push(c),i},t.mapTerms=function(e,t,r){return(r||n).quad(t(e.subject,"subject"),t(e.predicate,"predicate"),t(e.object,"object"),t(e.graph,"graph"))},t.mapTermsNested=function e(t,r,i,o=[]){return(i||n).quad("Quad"===t.subject.termType?e(t.subject,r,i,[...o,"subject"]):r(t.subject,[...o,"subject"]),"Quad"===t.predicate.termType?e(t.predicate,r,i,[...o,"predicate"]):r(t.predicate,[...o,"predicate"]),"Quad"===t.object.termType?e(t.object,r,i,[...o,"object"]):r(t.object,[...o,"object"]),"Quad"===t.graph.termType?e(t.graph,r,i,[...o,"graph"]):r(t.graph,[...o,"graph"]))},t.reduceTerms=function(e,t,r){let n=r;return n=t(n,e.subject,"subject"),n=t(n,e.predicate,"predicate"),n=t(n,e.object,"object"),t(n,e.graph,"graph")},t.reduceTermsNested=function e(t,r,n,i=[]){let o=n;return o="Quad"===t.subject.termType?e(t.subject,r,o,[...i,"subject"]):r(o,t.subject,[...i,"subject"]),o="Quad"===t.predicate.termType?e(t.predicate,r,o,[...i,"predicate"]):r(o,t.predicate,[...i,"predicate"]),o="Quad"===t.object.termType?e(t.object,r,o,[...i,"object"]):r(o,t.object,[...i,"object"]),o="Quad"===t.graph.termType?e(t.graph,r,o,[...i,"graph"]):r(o,t.graph,[...i,"graph"]),o},t.everyTerms=o,t.everyTermsNested=function e(t,r,n=[]){return("Quad"===t.subject.termType?e(t.subject,r,[...n,"subject"]):r(t.subject,[...n,"subject"]))&&("Quad"===t.predicate.termType?e(t.predicate,r,[...n,"predicate"]):r(t.predicate,[...n,"predicate"]))&&("Quad"===t.object.termType?e(t.object,r,[...n,"object"]):r(t.object,[...n,"object"]))&&("Quad"===t.graph.termType?e(t.graph,r,[...n,"graph"]):r(t.graph,[...n,"graph"]))},t.someTerms=function(e,t){return t(e.subject,"subject")||t(e.predicate,"predicate")||t(e.object,"object")||t(e.graph,"graph")},t.someTermsNested=function e(t,r,n=[]){return("Quad"===t.subject.termType?e(t.subject,r,[...n,"subject"]):r(t.subject,[...n,"subject"]))||("Quad"===t.predicate.termType?e(t.predicate,r,[...n,"predicate"]):r(t.predicate,[...n,"predicate"]))||("Quad"===t.object.termType?e(t.object,r,[...n,"object"]):r(t.object,[...n,"object"]))||("Quad"===t.graph.termType?e(t.graph,r,[...n,"graph"]):r(t.graph,[...n,"graph"]))},t.getValueNestedPath=function e(t,r){if(0===r.length)return t;if("Quad"===t.termType)return e(t[r[0]],r.slice(1));throw new Error(`Tried to get ${r[0]} from term of type ${t.termType}`)},t.matchTerm=a,t.matchPattern=s,t.matchPatternComplete=c,t.matchPatternMappings=function(e,t,r={}){const n={};return function e(t,i){return o(t,((t,o)=>{var a,s;const c=i[o];switch(t.termType){case"Variable":return r.skipVarMapping&&"Variable"===c.termType||(null!==(s=null===(a=n[t.value])||void 0===a?void 0:a.equals(c))&&void 0!==s?s:(n[t.value]=c,!0));case"Quad":return"Quad"===c.termType&&e(t,c);default:return t.equals(c)}}))}(t,e)&&(!r.returnMappings||n)}},70071:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getQuads=t.getDefaultGraphs=t.getVariables=t.getLiterals=t.getBlankNodes=t.getNamedNodes=t.getTermsOfType=t.uniqTerms=t.TERM_TYPES=void 0;const n=r(43347);function i(e,t){return e.filter((e=>e.termType===t))}t.TERM_TYPES=["NamedNode","BlankNode","Literal","Variable","DefaultGraph","Quad"],t.uniqTerms=function(e){const t={};return e.filter((e=>{const r=(0,n.termToString)(e);return!(r in t)&&(t[r]=!0)}))},t.getTermsOfType=i,t.getNamedNodes=function(e){return i(e,"NamedNode")},t.getBlankNodes=function(e){return i(e,"BlankNode")},t.getLiterals=function(e){return i(e,"Literal")},t.getVariables=function(e){return i(e,"Variable")},t.getDefaultGraphs=function(e){return i(e,"DefaultGraph")},t.getQuads=function(e){return i(e,"Quad")}},69749:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(92710),t),i(r(40972),t),i(r(39479),t),i(r(14465),t),i(r(5213),t),i(r(6429),t)},92710:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},40972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},39479:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},14465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RdfaParser=void 0;const n=r(78659),i=r(19198),o=r(55180),a=r(10532),s=r(5213),c=r(6429);class u extends i.Transform{constructor(e){super({readableObjectMode:!0}),this.activeTagStack=[],e=e||{},this.options=e,this.util=new c.Util(e.dataFactory,e.baseIRI),this.defaultGraph=e.defaultGraph||this.util.dataFactory.defaultGraph();const t=e.contentType?c.Util.contentTypeToProfile(e.contentType):e.profile||"";this.features=e.features||s.RDFA_FEATURES[t],this.htmlParseListener=e.htmlParseListener,this.rdfaPatterns=this.features.copyRdfaPatterns?{}:null,this.pendingRdfaPatternCopies=this.features.copyRdfaPatterns?{}:null,this.parser=this.initializeParser("xml"===t),this.activeTagStack.push({incompleteTriples:[],inlist:!1,language:e.language,listMapping:{},listMappingLocal:{},name:"",prefixesAll:Object.assign(Object.assign({},a["@context"]),this.features.xhtmlInitialContext?o["@context"]:{}),prefixesCustom:{},skipElement:!1,vocab:e.vocab})}import(e){const t=new i.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new u(this.options));return r}_transform(e,t,r){this.parser.write(e.toString()),r()}_flush(e){this.parser.end(),e()}onTagOpen(e,t){let r=this.activeTagStack.length-1;for(;r>0&&this.activeTagStack[r].skipElement;)r--;let n=this.activeTagStack[r];r!==this.activeTagStack.length-1&&(n=Object.assign(Object.assign({},n),{language:this.activeTagStack[this.activeTagStack.length-1].language,prefixesAll:this.activeTagStack[this.activeTagStack.length-1].prefixesAll,prefixesCustom:this.activeTagStack[this.activeTagStack.length-1].prefixesCustom,vocab:this.activeTagStack[this.activeTagStack.length-1].vocab}));const i={collectChildTags:n.collectChildTags,incompleteTriples:[],inlist:"inlist"in t,listMapping:[],listMappingLocal:n.listMapping,localBaseIRI:n.localBaseIRI,name:e,prefixesAll:null,prefixesCustom:null,skipElement:!1};if(this.activeTagStack.push(i),i.collectChildTags){for(const e of Object.keys(n.prefixesCustom).sort()){const r=n.prefixesCustom[e],i=""===e?"xmlns":"xmlns:"+e;i in t||(t[i]=r)}const r=Object.keys(t).map((e=>`${e}="${t[e]}"`)).join(" ");if(i.text=[`<${e}${r?" "+r:""}>`],this.features.skipHandlingXmlLiteralChildren)return}let o,a,s,u=!0,l=!0;if(this.features.onlyAllowUriRelRevIfProperty&&("property"in t&&"rel"in t&&(u=!1,t.rel.indexOf(":")<0&&delete t.rel),"property"in t&&"rev"in t&&(l=!1,t.rev.indexOf(":")<0&&delete t.rev)),this.features.copyRdfaPatterns){if(n.collectedPatternTag){const r={attributes:t,children:[],name:e,referenced:!1,rootPattern:!1,text:[]};return n.collectedPatternTag.children.push(r),void(i.collectedPatternTag=r)}if("rdfa:Pattern"===t.typeof)return void(i.collectedPatternTag={attributes:t,children:[],name:e,parentTag:n,referenced:!1,rootPattern:!0,text:[]});if("rdfa:copy"===t.property){const e=t.resource||t.href||t.src;return void(this.rdfaPatterns[e]?this.emitPatternCopy(n,this.rdfaPatterns[e],e):(this.pendingRdfaPatternCopies[e]||(this.pendingRdfaPatternCopies[e]=[]),this.pendingRdfaPatternCopies[e].push(n)))}}if(this.features.baseTag&&"base"===e&&t.href&&(this.util.baseIRI=this.util.getBaseIRI(t.href)),this.features.xmlBase&&t["xml:base"]&&(i.localBaseIRI=this.util.getBaseIRI(t["xml:base"])),this.features.timeTag&&"time"===e&&!t.datatype&&(i.interpretObjectAsTime=!0),"vocab"in t?t.vocab?(i.vocab=t.vocab,this.emitTriple(this.util.getBaseIriTerm(i),this.util.dataFactory.namedNode(c.Util.RDFA+"usesVocabulary"),this.util.dataFactory.namedNode(i.vocab))):i.vocab=this.activeTagStack[0].vocab:i.vocab=n.vocab,i.prefixesCustom=c.Util.parsePrefixes(t,n.prefixesCustom,this.features.xmlnsPrefixMappings),i.prefixesAll=Object.keys(i.prefixesCustom).length>0?Object.assign(Object.assign({},n.prefixesAll),i.prefixesCustom):n.prefixesAll,this.features.roleAttribute&&t.role){const e=t.id?this.util.createIri("#"+t.id,i,!1,!1,!1):this.util.createBlankNode(),r=i.vocab;i.vocab="http://www.w3.org/1999/xhtml/vocab#";for(const r of this.util.createVocabIris(t.role,i,!0,!1))this.emitTriple(e,this.util.dataFactory.namedNode("http://www.w3.org/1999/xhtml/vocab#role"),r);i.vocab=r}"xml:lang"in t||this.features.langAttribute&&"lang"in t?i.language=t["xml:lang"]||t.lang:i.language=n.language;const d=2===this.activeTagStack.length;if("rel"in t||"rev"in t?("about"in t?(o=this.util.createIri(t.about,i,!1,!0,!0),i.explicitNewSubject=!!o,"typeof"in t&&(s=o)):d?o=!0:n.object&&(o=n.object),"resource"in t&&(a=this.util.createIri(t.resource,i,!1,!0,!0)),a||("href"in t||"src"in t?a=this.util.createIri(t.href||t.src,i,!1,!1,!0):!("typeof"in t)||"about"in t||this.isInheritSubjectInHeadBody(e)||(a=this.util.createBlankNode())),"typeof"in t&&!("about"in t)&&(s=this.isInheritSubjectInHeadBody(e)?o:a)):!("property"in t)||"content"in t||"datatype"in t?(("about"in t||"resource"in t)&&(o=this.util.createIri(t.about||t.resource,i,!1,!0,!0),i.explicitNewSubject=!!o),o||!("href"in t)&&!("src"in t)||(o=this.util.createIri(t.href||t.src,i,!1,!1,!0),i.explicitNewSubject=!!o),o||(d?o=!0:this.isInheritSubjectInHeadBody(e)?o=n.object:"typeof"in t?(o=this.util.createBlankNode(),i.explicitNewSubject=!0):n.object&&(o=n.object,"property"in t||(i.skipElement=!0))),"typeof"in t&&(s=o)):("about"in t?(o=this.util.createIri(t.about,i,!1,!0,!0),i.explicitNewSubject=!!o):d?o=!0:n.object&&(o=n.object),"typeof"in t&&("about"in t&&(s=this.util.createIri(t.about,i,!1,!0,!0)),!s&&d&&(s=!0),!s&&"resource"in t&&(s=this.util.createIri(t.resource,i,!1,!0,!0)),s||!("href"in t)&&!("src"in t)||(s=this.util.createIri(t.href||t.src,i,!1,!1,!0)),!s&&this.isInheritSubjectInHeadBody(e)&&(s=o),s||(s=this.util.createBlankNode()),a=s)),s)for(const e of this.util.createVocabIris(t.typeof,i,!0,!0))this.emitTriple(this.util.getResourceOrBaseIri(s,i),this.util.dataFactory.namedNode(c.Util.RDF+"type"),e);if(o&&(i.listMapping={}),a){if("rel"in t&&"inlist"in t)for(const e of this.util.createVocabIris(t.rel,i,u,!1))this.addListMapping(i,o,e,a);if(!("rel"in t)||!("inlist"in t)){if("rel"in t)for(const e of this.util.createVocabIris(t.rel,i,u,!1))this.emitTriple(this.util.getResourceOrBaseIri(o,i),e,this.util.getResourceOrBaseIri(a,i));if("rev"in t)for(const e of this.util.createVocabIris(t.rev,i,l,!1))this.emitTriple(this.util.getResourceOrBaseIri(a,i),e,this.util.getResourceOrBaseIri(o,i))}}if(!a){if("rel"in t)if("inlist"in t)for(const e of this.util.createVocabIris(t.rel,i,u,!1))this.addListMapping(i,o,e,null),i.incompleteTriples.push({predicate:e,reverse:!1,list:!0});else for(const e of this.util.createVocabIris(t.rel,i,u,!1))i.incompleteTriples.push({predicate:e,reverse:!1});if("rev"in t)for(const e of this.util.createVocabIris(t.rev,i,l,!1))i.incompleteTriples.push({predicate:e,reverse:!0});i.incompleteTriples.length>0&&(a=this.util.createBlankNode())}if("property"in t){let e;if(i.predicates=this.util.createVocabIris(t.property,i,!0,!1),"datatype"in t?(i.datatype=this.util.createIri(t.datatype,i,!0,!0,!1),i.datatype&&(i.datatype.value===c.Util.RDF+"XMLLiteral"||this.features.htmlDatatype&&i.datatype.value===c.Util.RDF+"HTML")&&(i.collectChildTags=!0)):("rev"in t||"rel"in t||"content"in t||("resource"in t&&(e=this.util.createIri(t.resource,i,!1,!0,!0)),!e&&"href"in t&&(e=this.util.createIri(t.href,i,!1,!1,!0)),!e&&"src"in t&&(e=this.util.createIri(t.src,i,!1,!1,!0))),"typeof"in t&&!("about"in t)&&(e=s)),"content"in t){const e=this.util.createLiteral(t.content,i);if("inlist"in t)for(const t of i.predicates)this.addListMapping(i,o,t,e);else{const t=this.util.getResourceOrBaseIri(o,i);for(const r of i.predicates)this.emitTriple(t,r,e)}i.predicates=null}else if(this.features.datetimeAttribute&&"datetime"in t){i.interpretObjectAsTime=!0;const e=this.util.createLiteral(t.datetime,i);if("inlist"in t)for(const t of i.predicates)this.addListMapping(i,o,t,e);else{const t=this.util.getResourceOrBaseIri(o,i);for(const r of i.predicates)this.emitTriple(t,r,e)}i.predicates=null}else if(e){const r=this.util.getResourceOrBaseIri(e,i);if("inlist"in t)for(const e of i.predicates)this.addListMapping(i,o,e,r);else{const e=this.util.getResourceOrBaseIri(o,i);for(const t of i.predicates)this.emitTriple(e,t,r)}i.predicates=null}}let p=!1;if(!i.skipElement&&o&&n.incompleteTriples.length>0){p=!0;const e=this.util.getResourceOrBaseIri(n.subject,i),t=this.util.getResourceOrBaseIri(o,i);for(const r of n.incompleteTriples)if(r.reverse)this.emitTriple(t,r.predicate,e);else if(r.list){let e=null;for(let t=this.activeTagStack.length-1;t>=0;t--)if(this.activeTagStack[t].inlist){e=this.activeTagStack[t];break}this.addListMapping(e,o,r.predicate,t)}else this.emitTriple(e,r.predicate,t)}!p&&n.incompleteTriples.length>0&&(i.incompleteTriples=i.incompleteTriples.concat(n.incompleteTriples)),i.subject=o||n.subject,i.object=a||o}onText(e){const t=this.activeTagStack[this.activeTagStack.length-1];this.features.copyRdfaPatterns&&t.collectedPatternTag?t.collectedPatternTag.text.push(e):(t.text||(t.text=[]),t.text.push(e))}onTagClose(){const e=this.activeTagStack[this.activeTagStack.length-1],t=this.activeTagStack[this.activeTagStack.length-2];if(!(e.collectChildTags&&t.collectChildTags&&this.features.skipHandlingXmlLiteralChildren)){if(this.features.copyRdfaPatterns&&e.collectedPatternTag&&e.collectedPatternTag.rootPattern){const t=e.collectedPatternTag.attributes.resource;if(delete e.collectedPatternTag.attributes.resource,delete e.collectedPatternTag.attributes.typeof,this.rdfaPatterns[t]=e.collectedPatternTag,this.pendingRdfaPatternCopies[t]){for(const r of this.pendingRdfaPatternCopies[t])this.emitPatternCopy(r,e.collectedPatternTag,t);delete this.pendingRdfaPatternCopies[t]}return void this.activeTagStack.pop()}if(e.predicates){const r=this.util.getResourceOrBaseIri(e.subject,e);let n=e.text||[];e.collectChildTags&&t.collectChildTags&&(n=n.slice(1));const i=this.util.createLiteral(n.join(""),e);if(e.inlist)for(const t of e.predicates)this.addListMapping(e,r,t,i);else for(const t of e.predicates)this.emitTriple(r,t,i);t.predicates||(e.text=null)}if(e.object&&Object.keys(e.listMapping).length>0){const t=this.util.getResourceOrBaseIri(e.object,e);for(const r in e.listMapping){const n=this.util.dataFactory.namedNode(r),i=e.listMapping[r];if(i.length>0){const r=i.map((()=>this.util.createBlankNode()));for(let t=0;t`),e.text&&t&&(t.text?t.text=t.text.concat(e.text):t.text=e.text)}onEnd(){if(this.features.copyRdfaPatterns){this.features.copyRdfaPatterns=!1;for(const e in this.rdfaPatterns){const t=this.rdfaPatterns[e];t.referenced||(t.attributes.typeof="rdfa:Pattern",t.attributes.resource=e,this.emitPatternCopy(t.parentTag,t,e),t.referenced=!1,delete t.attributes.typeof,delete t.attributes.resource)}for(const e in this.pendingRdfaPatternCopies)for(const t of this.pendingRdfaPatternCopies[e])this.activeTagStack.push(t),this.onTagOpen("link",{property:"rdfa:copy",href:e}),this.onTagClose(),this.activeTagStack.pop();this.features.copyRdfaPatterns=!0}}isInheritSubjectInHeadBody(e){return this.features.inheritSubjectInHeadBody&&("head"===e||"body"===e)}addListMapping(e,t,r,n){if(e.explicitNewSubject){const i=this.util.createBlankNode();this.emitTriple(this.util.getResourceOrBaseIri(t,e),r,i),this.emitTriple(i,this.util.dataFactory.namedNode(c.Util.RDF+"first"),this.util.getResourceOrBaseIri(n,e)),this.emitTriple(i,this.util.dataFactory.namedNode(c.Util.RDF+"rest"),this.util.dataFactory.namedNode(c.Util.RDF+"nil"))}else{let t=e.listMappingLocal[r.value];t||(e.listMappingLocal[r.value]=t=[]),n&&t.push(n)}}emitTriple(e,t,r){"NamedNode"===e.termType&&e.value.indexOf(":")<0||"NamedNode"===t.termType&&t.value.indexOf(":")<0||"NamedNode"===r.termType&&r.value.indexOf(":")<0||this.push(this.util.dataFactory.quad(e,t,r,this.defaultGraph))}emitPatternCopy(e,t,r){if(this.activeTagStack.push(e),t.referenced=!0,t.constructedBlankNodes){let e=0;this.util.blankNodeFactory=()=>t.constructedBlankNodes[e++]}else t.constructedBlankNodes=[],this.util.blankNodeFactory=()=>{const e=this.util.dataFactory.blankNode();return t.constructedBlankNodes.push(e),e};this.emitPatternCopyAbsolute(t,!0,r),this.util.blankNodeFactory=null,this.activeTagStack.pop()}emitPatternCopyAbsolute(e,t,r){if(t||"rdfa:copy"!==e.attributes.property||e.attributes.href!==r){this.onTagOpen(e.name,e.attributes);for(const t of e.text)this.onText(t);for(const t of e.children)this.emitPatternCopyAbsolute(t,!1,r);this.onTagClose()}}initializeParser(e){return new n.Parser({onclosetag:()=>{try{this.onTagClose(),this.htmlParseListener&&this.htmlParseListener.onTagClose()}catch(e){this.emit("error",e)}},onend:()=>{try{this.onEnd(),this.htmlParseListener&&this.htmlParseListener.onEnd()}catch(e){this.emit("error",e)}},onopentag:(e,t)=>{try{this.onTagOpen(e,t),this.htmlParseListener&&this.htmlParseListener.onTagOpen(e,t)}catch(e){this.emit("error",e)}},ontext:e=>{try{this.onText(e),this.htmlParseListener&&this.htmlParseListener.onText(e)}catch(e){this.emit("error",e)}}},{decodeEntities:!0,recognizeSelfClosing:!0,xmlMode:e})}}t.RdfaParser=u},5213:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RDFA_CONTENTTYPES=t.RDFA_FEATURES=void 0,t.RDFA_FEATURES={"":{baseTag:!0,xmlBase:!0,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!0,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!0,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!0,roleAttribute:!0},core:{baseTag:!1,xmlBase:!1,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!1,datetimeAttribute:!1,timeTag:!1,htmlDatatype:!1,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!1,roleAttribute:!1},html:{baseTag:!0,xmlBase:!1,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!0,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!0,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!1,roleAttribute:!0},xhtml:{baseTag:!0,xmlBase:!1,langAttribute:!0,onlyAllowUriRelRevIfProperty:!0,inheritSubjectInHeadBody:!0,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!0,copyRdfaPatterns:!0,xmlnsPrefixMappings:!0,xhtmlInitialContext:!0,roleAttribute:!0},xml:{baseTag:!1,xmlBase:!0,langAttribute:!0,onlyAllowUriRelRevIfProperty:!1,inheritSubjectInHeadBody:!1,datetimeAttribute:!0,timeTag:!0,htmlDatatype:!1,copyRdfaPatterns:!1,xmlnsPrefixMappings:!0,xhtmlInitialContext:!1,roleAttribute:!0}},t.RDFA_CONTENTTYPES={"text/html":"html","application/xhtml+xml":"xhtml","application/xml":"xml","text/xml":"xml","image/svg+xml":"xml"}},6429:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(70742),i=r(5213),o=r(47793);class a{constructor(e,t){this.dataFactory=e||new o.DataFactory,this.baseIRI=this.dataFactory.namedNode(t||""),this.baseIRIDocument=this.baseIRI}static parsePrefixes(e,t,r){const n={};if(r)for(const t in e)t.startsWith("xmlns")&&(n[t.substr(6)]=e[t]);if(e.prefix||Object.keys(n).length>0){const r=Object.assign(Object.assign({},t),n);if(e.prefix){let t;for(;t=a.PREFIX_REGEX.exec(e.prefix);)r[t[1]]=t[2]}return r}return t}static expandPrefixedTerm(e,t){const r=e.indexOf(":");let n,i;if(r>=0&&(n=e.substr(0,r),i=e.substr(r+1)),""===n)return"http://www.w3.org/1999/xhtml/vocab#"+i;if(n){const e=t.prefixesAll[n];if(e)return e+i}if(e){const r=t.prefixesAll[e.toLocaleLowerCase()];if(r)return r}return e}static isValidIri(e){return a.IRI_REGEX.test(e)}static contentTypeToProfile(e){return i.RDFA_CONTENTTYPES[e]||""}getBaseIRI(e){let t=e;const r=t.indexOf("#");return r>=0&&(t=t.substr(0,r)),this.dataFactory.namedNode((0,n.resolve)(t,this.baseIRI.value))}getResourceOrBaseIri(e,t){return!0===e?this.getBaseIriTerm(t):e}getBaseIriTerm(e){return e.localBaseIRI||this.baseIRI}createVocabIris(e,t,r,n){return e.split(/\s+/).filter((e=>e&&(r||e.indexOf(":")>=0))).map((e=>this.createIri(e,t,!0,!0,n))).filter((e=>null!=e))}createLiteral(e,t){if(t.interpretObjectAsTime&&!t.datatype)for(const r of a.TIME_REGEXES)if(e.match(r.regex)){t.datatype=this.dataFactory.namedNode(a.XSD+r.type);break}return this.dataFactory.literal(e,t.datatype||t.language)}createBlankNode(){return this.blankNodeFactory?this.blankNodeFactory():this.dataFactory.blankNode()}createIri(e,t,r,i,o){if(e=e||"",!i)return r||(e=(0,n.resolve)(e,this.getBaseIriTerm(t).value)),a.isValidIri(e)?this.dataFactory.namedNode(e):null;if(e.length>0&&"["===e[0]&&"]"===e[e.length-1]&&(e=e.substr(1,e.length-2)).indexOf(":")<0)return null;if(e.startsWith("_:"))return o?this.dataFactory.blankNode(e.substr(2)||"b_identity"):null;if(r&&t.vocab&&e.indexOf(":")<0)return this.dataFactory.namedNode(t.vocab+e);let s=a.expandPrefixedTerm(e,t);return r?e!==s&&(s=(0,n.resolve)(s,this.baseIRIDocument.value)):s=(0,n.resolve)(s,this.getBaseIriTerm(t).value),a.isValidIri(s)?this.dataFactory.namedNode(s):null}}t.Util=a,a.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",a.XSD="http://www.w3.org/2001/XMLSchema#",a.RDFA="http://www.w3.org/ns/rdfa#",a.PREFIX_REGEX=/\s*([^:\s]*)*:\s*([^\s]*)*\s*/g,a.TIME_REGEXES=[{regex:/^-?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9])?S)?)?$/,type:"duration"},{regex:/^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,type:"dateTime"},{regex:/^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,type:"date"},{regex:/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]((Z?)|([\+-][0-9][0-9]:[0-9][0-9]))$/,type:"time"},{regex:/^[0-9]+-[0-9][0-9]$/,type:"gYearMonth"},{regex:/^[0-9]+$/,type:"gYear"}],a.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`]*$/},75611:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(68225),t)},5916:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseError=void 0;class r extends Error{constructor(e,t){const r=e.saxParser;super(e.trackPosition?`Line ${r.line} column ${r.column+1}: ${t}`:t)}}t.ParseError=r},68225:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseType=t.RdfXmlParser=void 0;const n=r(70742),i=r(55201),o=r(19198),a=r(5916),s=r(47793),c=r(17024);class u extends o.Transform{constructor(e){super({readableObjectMode:!0}),this.activeTagStack=[],this.nodeIds={},e&&(Object.assign(this,e),this.options=e),this.dataFactory||(this.dataFactory=new s.DataFactory),this.baseIRI||(this.baseIRI=""),this.defaultGraph||(this.defaultGraph=this.dataFactory.defaultGraph()),!1!==this.validateUri&&(this.validateUri=!0),this.iriValidationStrategy||(this.iriValidationStrategy=this.validateUri?c.IriValidationStrategy.Pragmatic:c.IriValidationStrategy.None),this.saxParser=new i.SaxesParser({xmlns:!0,position:this.trackPosition}),this.attachSaxListeners()}import(e){const t=new o.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new u(this.options));return r}_transform(e,t,r){try{this.saxParser.write(e)}catch(e){return r(e)}r()}newParseError(e){return new a.ParseError(this,e)}valueToUri(e,t){return this.uriToNamedNode((0,n.resolve)(e,t.baseIRI))}uriToNamedNode(e){const t=(0,c.validateIri)(e,this.iriValidationStrategy);if(t instanceof Error)throw this.newParseError(t.message);return this.dataFactory.namedNode(e)}validateNcname(e){if(!u.NCNAME_MATCHER.test(e))throw this.newParseError(`Not a valid NCName: ${e}`)}attachSaxListeners(){this.saxParser.on("error",(e=>this.emit("error",e))),this.saxParser.on("opentag",this.onTag.bind(this)),this.saxParser.on("text",this.onText.bind(this)),this.saxParser.on("cdata",this.onText.bind(this)),this.saxParser.on("closetag",this.onCloseTag.bind(this)),this.saxParser.on("doctype",this.onDoctype.bind(this))}onTag(e){const t=this.activeTagStack.length?this.activeTagStack[this.activeTagStack.length-1]:null;let r=l.RESOURCE;if(t&&(t.hadChildren=!0,r=t.childrenParseType),t&&t.childrenStringTags){const r=e.name;let n="";for(const t in e.attributes)n+=` ${t}="${e.attributes[t].value}"`;const i=`<${r}${n}>`;t.childrenStringTags.push(i);const o={childrenStringTags:t.childrenStringTags};return o.childrenStringEmitClosingTag=``,void this.activeTagStack.push(o)}const n={};t?(n.language=t.language,n.baseIRI=t.baseIRI):n.baseIRI=this.baseIRI,this.activeTagStack.push(n),r===l.RESOURCE?this.onTagResource(e,n,t,!t):this.onTagProperty(e,n,t)}onTagResource(e,t,r,i){t.childrenParseType=l.PROPERTY;let o=!0;if(e.uri===u.RDF){if(!i&&u.FORBIDDEN_NODE_ELEMENTS.indexOf(e.local)>=0)throw this.newParseError(`Illegal node element name: ${e.local}`);switch(e.local){case"RDF":t.childrenParseType=l.RESOURCE;case"Description":o=!1}}const a=[],s=[];let c=null,d=!1,p=!1,h=null;for(const i in e.attributes){const o=e.attributes[i];if(r&&o.uri===u.RDF)switch(o.local){case"about":if(c)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${o.value} and ${c} where found.`);c=o.value;continue;case"ID":if(c)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${o.value} and ${c} where found.`);this.validateNcname(o.value),c="#"+o.value,d=!0;continue;case"nodeID":if(c)throw this.newParseError(`Only one of rdf:about, rdf:nodeID and rdf:ID can be present, while ${o.value} and ${c} where found.`);this.validateNcname(o.value),c=o.value,p=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"type":h=o.value;continue;case"aboutEach":throw this.newParseError("rdf:aboutEach is not supported.");case"aboutEachPrefix":throw this.newParseError("rdf:aboutEachPrefix is not supported.");case"li":throw this.newParseError("rdf:li on node elements are not supported.")}else if(o.uri===u.XML){if("lang"===o.local){t.language=""===o.value?null:o.value.toLowerCase();continue}if("base"===o.local){t.baseIRI=(0,n.resolve)(o.value,t.baseIRI);continue}}"xml"===o.prefix||"xmlns"===o.prefix||""===o.prefix&&"xmlns"===o.local||!o.uri||(a.push(this.uriToNamedNode(o.uri+o.local)),s.push(o.value))}if(null!==c&&(t.subject=p?this.dataFactory.blankNode(c):this.valueToUri(c,t),d&&this.claimNodeId(t.subject)),t.subject||(t.subject=this.dataFactory.blankNode()),o){const n=this.uriToNamedNode(e.uri+e.local);this.emitTriple(t.subject,this.dataFactory.namedNode(u.RDF+"type"),n,r?r.reifiedStatementId:null)}if(r){if(r.predicate)if(r.childrenCollectionSubject){const e=this.dataFactory.blankNode();this.emitTriple(r.childrenCollectionSubject,r.childrenCollectionPredicate,e,r.reifiedStatementId),this.emitTriple(e,this.dataFactory.namedNode(u.RDF+"first"),t.subject,t.reifiedStatementId),r.childrenCollectionSubject=e,r.childrenCollectionPredicate=this.dataFactory.namedNode(u.RDF+"rest")}else{this.emitTriple(r.subject,r.predicate,t.subject,r.reifiedStatementId);for(let e=0;e=0)throw this.newParseError(`Illegal property element name: ${e.local}`);t.predicateSubPredicates=[],t.predicateSubObjects=[];let n=!1,i=!1,o=null,a=!0;const s=[],c=[];for(const r in e.attributes){const d=e.attributes[r];if(d.uri===u.RDF)switch(d.local){case"resource":if(o)throw this.newParseError(`Found both rdf:resource (${d.value}) and rdf:nodeID (${o}).`);if(n)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:resource (${d.value})`);t.hadChildren=!0,o=d.value,a=!1;continue;case"datatype":if(i)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:datatype (${d.value}).`);if(n)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${d.value})`);t.datatype=this.valueToUri(d.value,t);continue;case"nodeID":if(i)throw this.newParseError(`Found both non-rdf:* property attributes and rdf:nodeID (${d.value}).`);if(t.hadChildren)throw this.newParseError(`Found both rdf:resource and rdf:nodeID (${d.value}).`);if(n)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID (${d.value})`);this.validateNcname(d.value),t.hadChildren=!0,o=d.value,a=!0;continue;case"bagID":throw this.newParseError("rdf:bagID is not supported.");case"parseType":if(i)throw this.newParseError("rdf:parseType is not allowed when non-rdf:* property attributes are present");if(t.datatype)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:datatype (${t.datatype.value})`);if(o)throw this.newParseError(`rdf:parseType is not allowed on property elements with rdf:nodeID or rdf:resource (${o})`);if("Resource"===d.value){n=!0,t.childrenParseType=l.PROPERTY;const e=this.dataFactory.blankNode();this.emitTriple(t.subject,t.predicate,e,t.reifiedStatementId),t.subject=e,t.predicate=null}else"Collection"===d.value?(n=!0,t.hadChildren=!0,t.childrenCollectionSubject=t.subject,t.childrenCollectionPredicate=t.predicate,a=!1):"Literal"===d.value&&(n=!0,t.childrenTagsToString=!0,t.childrenStringTags=[]);continue;case"ID":this.validateNcname(d.value),t.reifiedStatementId=this.valueToUri("#"+d.value,t),this.claimNodeId(t.reifiedStatementId);continue}else if(d.uri===u.XML&&"lang"===d.local){t.language=""===d.value?null:d.value.toLowerCase();continue}if("xml"!==d.prefix&&"xmlns"!==d.prefix&&(""!==d.prefix||"xmlns"!==d.local)&&d.uri){if(n||t.datatype)throw this.newParseError(`Found illegal rdf:* properties on property element with attribute: ${d.value}`);t.hadChildren=!0,i=!0,s.push(this.uriToNamedNode(d.uri+d.local)),c.push(this.dataFactory.literal(d.value,t.datatype||t.language))}}if(null!==o){const e=t.subject;t.subject=a?this.dataFactory.blankNode(o):this.valueToUri(o,t),this.emitTriple(e,t.predicate,t.subject,t.reifiedStatementId);for(let e=0;e/g,((e,t,r)=>(this.saxParser.ENTITIES[t]=r,"")))}}var l;t.RdfXmlParser=u,u.MIME_TYPE="application/rdf+xml",u.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",u.XML="http://www.w3.org/XML/1998/namespace",u.FORBIDDEN_NODE_ELEMENTS=["RDF","ID","about","bagID","parseType","resource","nodeID","li","aboutEach","aboutEachPrefix"],u.FORBIDDEN_PROPERTY_ELEMENTS=["Description","RDF","ID","about","bagID","parseType","resource","nodeID","aboutEach","aboutEachPrefix"],u.NCNAME_MATCHER=/^([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_])([A-Za-z\xC0-\xD6\xD8-\xF6\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}\u{10000}-\u{EFFFF}_\-.0-9#xB7\u{0300}-\u{036F}\u{203F}-\u{2040}])*$/u,function(e){e[e.RESOURCE=0]="RESOURCE",e[e.PROPERTY=1]="PROPERTY"}(l||(t.ParseType=l={}))},35276:e=>{e.exports=function(t){if(!e.exports.WEBSTREAM_SUPPORT)throw new Error("No web ReadableStream support");var r=!1,n={};return new ReadableStream({start:function(e){for(var i in n.data=o,n.end=o,n.end=a,n.close=a,n.error=a,n)t.on(i,n[i]);function o(n){r||(e.enqueue(n),t.pause())}function a(i){if(!r){for(var o in r=!0,n)t.removeListener(o,n[o]);i?e.error(i):e.close()}}t.pause()},pull:function(){r||t.resume()},cancel:function(){for(var e in r=!0,n)t.removeListener(e,n[e]);t.push(null),t.pause(),t.destroy?t.destroy():t.close&&t.close()}})},e.exports.WEBSTREAM_SUPPORT="undefined"!=typeof ReadableStream},4147:(e,t,r)=>{"use strict";const{SymbolDispose:n}=r(24134),{AbortError:i,codes:o}=r(76371),{isNodeStream:a,isWebStream:s,kControllerErrorFunction:c}=r(16115),u=r(86238),{ERR_INVALID_ARG_TYPE:l}=o;let d;e.exports.addAbortSignal=function(t,r){if(((e,t)=>{if("object"!=typeof e||!("aborted"in e))throw new l("signal","AbortSignal",e)})(t),!a(r)&&!s(r))throw new l("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!=typeof e||!("aborted"in e))return t;const o=a(t)?()=>{t.destroy(new i(void 0,{cause:e.reason}))}:()=>{t[c](new i(void 0,{cause:e.reason}))};if(e.aborted)o();else{d=d||r(57760).addAbortListener;const i=d(e,o);u(t,i[n])}return t}},80345:(e,t,r)=>{"use strict";const{StringPrototypeSlice:n,SymbolIterator:i,TypedArrayPrototypeSet:o,Uint8Array:a}=r(24134),{Buffer:s}=r(48287),{inspect:c}=r(57760);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;for(;null!==(t=t.next);)r+=e+t.data;return r}concat(e){if(0===this.length)return s.alloc(0);const t=s.allocUnsafe(e>>>0);let r=this.head,n=0;for(;r;)o(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(eo.length)){e===o.length?(t+=o,++i,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(o,0,e),this.head=r,r.data=n(o,e));break}t+=o,e-=o.length,++i}while(null!==(r=r.next));return this.length-=i,t}_getBuffer(e){const t=s.allocUnsafe(e),r=e;let n=this.head,i=0;do{const s=n.data;if(!(e>s.length)){e===s.length?(o(t,s,r-e),++i,n.next?this.head=n.next:this.head=this.tail=null):(o(t,new a(s.buffer,s.byteOffset,e),r-e),this.head=n,n.data=s.slice(e));break}o(t,s,r-e),e-=s.length,++i}while(null!==(n=n.next));return this.length-=i,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return c(this,{...t,depth:0,customInspect:!1})}}},47830:(e,t,r)=>{"use strict";const{pipeline:n}=r(57758),i=r(93370),{destroyer:o}=r(75896),{isNodeStream:a,isReadable:s,isWritable:c,isWebStream:u,isTransformStream:l,isWritableStream:d,isReadableStream:p}=r(16115),{AbortError:h,codes:{ERR_INVALID_ARG_VALUE:f,ERR_MISSING_ARGS:y}}=r(76371),g=r(86238);e.exports=function(...e){if(0===e.length)throw new y("streams");if(1===e.length)return i.from(e[0]);const t=[...e];if("function"==typeof e[0]&&(e[0]=i.from(e[0])),"function"==typeof e[e.length-1]){const t=e.length-1;e[t]=i.from(e[t])}for(let r=0;r0&&!(c(e[r])||d(e[r])||l(e[r])))throw new f(`streams[${r}]`,t[r],"must be writable")}let r,m,b,_,v;const w=e[0],S=n(e,(function(e){const t=_;_=null,t?t(e):e?v.destroy(e):T||E||v.destroy()})),E=!!(c(w)||d(w)||l(w)),T=!!(s(S)||p(S)||l(S));if(v=new i({writableObjectMode:!(null==w||!w.writableObjectMode),readableObjectMode:!(null==S||!S.readableObjectMode),writable:E,readable:T}),E){if(a(w))v._write=function(e,t,n){w.write(e,t)?n():r=n},v._final=function(e){w.end(),m=e},w.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(u(w)){const e=(l(w)?w.writable:w).getWriter();v._write=async function(t,r,n){try{await e.ready,e.write(t).catch((()=>{})),n()}catch(e){n(e)}},v._final=async function(t){try{await e.ready,e.close().catch((()=>{})),m=t}catch(e){t(e)}}}const e=l(S)?S.readable:S;g(e,(()=>{if(m){const e=m;m=null,e()}}))}if(T)if(a(S))S.on("readable",(function(){if(b){const e=b;b=null,e()}})),S.on("end",(function(){v.push(null)})),v._read=function(){for(;;){const e=S.read();if(null===e)return void(b=v._read);if(!v.push(e))return}};else if(u(S)){const e=(l(S)?S.readable:S).getReader();v._read=async function(){for(;;)try{const{value:t,done:r}=await e.read();if(!v.push(t))return;if(r)return void v.push(null)}catch{return}}}return v._destroy=function(e,t){e||null===_||(e=new h),b=null,r=null,m=null,null===_?t(e):(_=t,a(S)&&o(S,e))},v}},75896:(e,t,r)=>{"use strict";const n=r(65606),{aggregateTwoErrors:i,codes:{ERR_MULTIPLE_CALLBACK:o},AbortError:a}=r(76371),{Symbol:s}=r(24134),{kIsDestroyed:c,isDestroyed:u,isFinished:l,isServerRequest:d}=r(16115),p=s("kDestroy"),h=s("kConstruct");function f(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function y(e,t,r){let i=!1;function o(t){if(i)return;i=!0;const o=e._readableState,a=e._writableState;f(t,a,o),a&&(a.closed=!0),o&&(o.closed=!0),"function"==typeof r&&r(t),t?n.nextTick(g,e,t):n.nextTick(m,e)}try{e._destroy(t||null,o)}catch(t){o(t)}}function g(e,t){b(e,t),m(e)}function m(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!=r&&r.emitClose||null!=t&&t.emitClose)&&e.emit("close")}function b(e,t){const r=e._readableState,n=e._writableState;null!=n&&n.errorEmitted||null!=r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function _(e,t,r){const i=e._readableState,o=e._writableState;if(null!=o&&o.destroyed||null!=i&&i.destroyed)return this;null!=i&&i.autoDestroy||null!=o&&o.autoDestroy?e.destroy(t):t&&(t.stack,o&&!o.errored&&(o.errored=t),i&&!i.errored&&(i.errored=t),r?n.nextTick(b,e,t):b(e,t))}function v(e){let t=!1;function r(r){if(t)return void _(e,null!=r?r:new o);t=!0;const i=e._readableState,a=e._writableState,s=a||i;i&&(i.constructed=!0),a&&(a.constructed=!0),s.destroyed?e.emit(p,r):r?_(e,r,!0):n.nextTick(w,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(e){n.nextTick(r,e)}}function w(e){e.emit(h)}function S(e){return(null==e?void 0:e.setHeader)&&"function"==typeof e.abort}function E(e){e.emit("close")}function T(e,t){e.emit("error",t),n.nextTick(E,e)}e.exports={construct:function(e,t){if("function"!=typeof e._construct)return;const r=e._readableState,i=e._writableState;r&&(r.constructed=!1),i&&(i.constructed=!1),e.once(h,t),e.listenerCount(h)>1||n.nextTick(v,e)},destroyer:function(e,t){e&&!u(e)&&(t||l(e)||(t=new a),d(e)?(e.socket=null,e.destroy(t)):S(e)?e.abort():S(e.req)?e.req.abort():"function"==typeof e.destroy?e.destroy(t):"function"==typeof e.close?e.close():t?n.nextTick(T,e,t):n.nextTick(E,e),e.destroyed||(e[c]=!0))},destroy:function(e,t){const r=this._readableState,n=this._writableState,o=n||r;return null!=n&&n.destroyed||null!=r&&r.destroyed?("function"==typeof t&&t(),this):(f(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),o.constructed?y(this,e,t):this.once(p,(function(r){y(this,i(r,e),t)})),this)},undestroy:function(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)},errorOrDestroy:_}},93370:(e,t,r)=>{"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:i,ObjectKeys:o,ObjectSetPrototypeOf:a}=r(24134);e.exports=u;const s=r(57576),c=r(78584);a(u.prototype,s.prototype),a(u,s);{const e=o(c.prototype);for(let t=0;t{const n=r(65606),i=r(48287),{isReadable:o,isWritable:a,isIterable:s,isNodeStream:c,isReadableNodeStream:u,isWritableNodeStream:l,isDuplexNodeStream:d,isReadableStream:p,isWritableStream:h}=r(16115),f=r(86238),{AbortError:y,codes:{ERR_INVALID_ARG_TYPE:g,ERR_INVALID_RETURN_VALUE:m}}=r(76371),{destroyer:b}=r(75896),_=r(93370),v=r(57576),w=r(78584),{createDeferredPromise:S}=r(57760),E=r(96532),T=globalThis.Blob||i.Blob,O=void 0!==T?function(e){return e instanceof T}:function(e){return!1},x=globalThis.AbortController||r(25568).AbortController,{FunctionPrototypeCall:A}=r(24134);class I extends _{constructor(e){super(e),!1===(null==e?void 0:e.readable)&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),!1===(null==e?void 0:e.writable)&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}}function R(e){const t=e.readable&&"function"!=typeof e.readable.read?v.wrap(e.readable):e.readable,r=e.writable;let n,i,s,c,u,l=!!o(t),d=!!a(r);function p(e){const t=c;c=null,t?t(e):e&&u.destroy(e)}return u=new I({readableObjectMode:!(null==t||!t.readableObjectMode),writableObjectMode:!(null==r||!r.writableObjectMode),readable:l,writable:d}),d&&(f(r,(e=>{d=!1,e&&b(t,e),p(e)})),u._write=function(e,t,i){r.write(e,t)?i():n=i},u._final=function(e){r.end(),i=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(i){const e=i;i=null,e()}}))),l&&(f(t,(e=>{l=!1,e&&b(t,e),p(e)})),t.on("readable",(function(){if(s){const e=s;s=null,e()}})),t.on("end",(function(){u.push(null)})),u._read=function(){for(;;){const e=t.read();if(null===e)return void(s=u._read);if(!u.push(e))return}}),u._destroy=function(e,o){e||null===c||(e=new y),s=null,n=null,i=null,null===c?o(e):(c=o,b(r,e),b(t,e))},u}e.exports=function e(t,r){if(d(t))return t;if(u(t))return R({readable:t});if(l(t))return R({writable:t});if(c(t))return R({writable:!1,readable:!1});if(p(t))return R({readable:v.fromWeb(t)});if(h(t))return R({writable:w.fromWeb(t)});if("function"==typeof t){const{value:e,write:i,final:o,destroy:a}=function(e){let{promise:t,resolve:r}=S();const i=new x,o=i.signal;return{value:e(async function*(){for(;;){const e=t;t=null;const{chunk:i,done:a,cb:s}=await e;if(n.nextTick(s),a)return;if(o.aborted)throw new y(void 0,{cause:o.reason});({promise:t,resolve:r}=S()),yield i}}(),{signal:o}),write(e,t,n){const i=r;r=null,i({chunk:e,done:!1,cb:n})},final(e){const t=r;r=null,t({done:!0,cb:e})},destroy(e,t){i.abort(),t(e)}}}(t);if(s(e))return E(I,e,{objectMode:!0,write:i,final:o,destroy:a});const c=null==e?void 0:e.then;if("function"==typeof c){let t;const r=A(c,e,(e=>{if(null!=e)throw new m("nully","body",e)}),(e=>{b(t,e)}));return t=new I({objectMode:!0,readable:!1,write:i,final(e){o((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new m("Iterable, AsyncIterable or AsyncFunction",r,e)}if(O(t))return e(t.arrayBuffer());if(s(t))return E(I,t,{objectMode:!0,writable:!1});if(p(null==t?void 0:t.readable)&&h(null==t?void 0:t.writable))return I.fromWeb(t);if("object"==typeof(null==t?void 0:t.writable)||"object"==typeof(null==t?void 0:t.readable))return R({readable:null!=t&&t.readable?u(null==t?void 0:t.readable)?null==t?void 0:t.readable:e(t.readable):void 0,writable:null!=t&&t.writable?l(null==t?void 0:t.writable)?null==t?void 0:t.writable:e(t.writable):void 0});const i=null==t?void 0:t.then;if("function"==typeof i){let e;return A(i,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{b(e,t)})),e=new I({objectMode:!0,writable:!1,read(){}})}throw new g(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},86238:(e,t,r)=>{const n=r(65606),{AbortError:i,codes:o}=r(76371),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:s}=o,{kEmptyObject:c,once:u}=r(57760),{validateAbortSignal:l,validateFunction:d,validateObject:p,validateBoolean:h}=r(277),{Promise:f,PromisePrototypeThen:y,SymbolDispose:g}=r(24134),{isClosed:m,isReadable:b,isReadableNodeStream:_,isReadableStream:v,isReadableFinished:w,isReadableErrored:S,isWritable:E,isWritableNodeStream:T,isWritableStream:O,isWritableFinished:x,isWritableErrored:A,isNodeStream:I,willEmitClose:R,kIsClosedPromise:P}=r(16115);let F;const D=()=>{};function N(e,t,o){var h,f;if(2===arguments.length?(o=t,t=c):null==t?t=c:p(t,"options"),d(o,"callback"),l(t.signal,"options.signal"),o=u(o),v(e)||O(e))return function(e,t,o){let a=!1,s=D;if(t.signal)if(s=()=>{a=!0,o.call(e,new i(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(s);else{F=F||r(57760).addAbortListener;const n=F(t.signal,s),i=o;o=u(((...t)=>{n[g](),i.apply(e,t)}))}const c=(...t)=>{a||n.nextTick((()=>o.apply(e,t)))};return y(e[P].promise,c,c),D}(e,t,o);if(!I(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const N=null!==(h=t.readable)&&void 0!==h?h:_(e),j=null!==(f=t.writable)&&void 0!==f?f:T(e),C=e._writableState,M=e._readableState,k=()=>{e.writable||B()};let L=R(e)&&_(e)===N&&T(e)===j,U=x(e,!1);const B=()=>{U=!0,e.destroyed&&(L=!1),(!L||e.readable&&!N)&&(N&&!V||o.call(e))};let V=w(e,!1);const q=()=>{V=!0,e.destroyed&&(L=!1),(!L||e.writable&&!j)&&(j&&!U||o.call(e))},H=t=>{o.call(e,t)};let $=m(e);const G=()=>{$=!0;const t=A(e)||S(e);return t&&"boolean"!=typeof t?o.call(e,t):N&&!V&&_(e,!0)&&!w(e,!1)?o.call(e,new s):!j||U||x(e,!1)?void o.call(e):o.call(e,new s)},K=()=>{$=!0;const t=A(e)||S(e);if(t&&"boolean"!=typeof t)return o.call(e,t);o.call(e)},Q=()=>{e.req.on("finish",B)};!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?j&&!C&&(e.on("end",k),e.on("close",k)):(e.on("complete",B),L||e.on("abort",G),e.req?Q():e.on("request",Q)),L||"boolean"!=typeof e.aborted||e.on("aborted",G),e.on("end",q),e.on("finish",B),!1!==t.error&&e.on("error",H),e.on("close",G),$?n.nextTick(G):null!=C&&C.errorEmitted||null!=M&&M.errorEmitted?L||n.nextTick(K):(N||L&&!b(e)||!U&&!1!==E(e))&&(j||L&&!E(e)||!V&&!1!==b(e))?M&&e.req&&e.aborted&&n.nextTick(K):n.nextTick(K);const z=()=>{o=D,e.removeListener("aborted",G),e.removeListener("complete",B),e.removeListener("abort",G),e.removeListener("request",Q),e.req&&e.req.removeListener("finish",B),e.removeListener("end",k),e.removeListener("close",k),e.removeListener("finish",B),e.removeListener("end",q),e.removeListener("error",H),e.removeListener("close",G)};if(t.signal&&!$){const a=()=>{const r=o;z(),r.call(e,new i(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(a);else{F=F||r(57760).addAbortListener;const n=F(t.signal,a),i=o;o=u(((...t)=>{n[g](),i.apply(e,t)}))}}return z}e.exports=N,e.exports.finished=function(e,t){var r;let n=!1;return null===t&&(t=c),null!==(r=t)&&void 0!==r&&r.cleanup&&(h(t.cleanup,"cleanup"),n=t.cleanup),new f(((r,i)=>{const o=N(e,t,(e=>{n&&o(),e?i(e):r()}))}))}},96532:(e,t,r)=>{"use strict";const n=r(65606),{PromisePrototypeThen:i,SymbolAsyncIterator:o,SymbolIterator:a}=r(24134),{Buffer:s}=r(48287),{ERR_INVALID_ARG_TYPE:c,ERR_STREAM_NULL_VALUES:u}=r(76371).codes;e.exports=function(e,t,r){let l,d;if("string"==typeof t||t instanceof s)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[o])d=!0,l=t[o]();else{if(!t||!t[a])throw new c("iterable",["Iterable"],t);d=!1,l=t[a]()}const p=new e({objectMode:!0,highWaterMark:1,...r});let h=!1;return p._read=function(){h||(h=!0,async function(){for(;;){try{const{value:e,done:t}=d?await l.next():l.next();if(t)p.push(null);else{const t=e&&"function"==typeof e.then?await e:e;if(null===t)throw h=!1,new u;if(p.push(t))continue;h=!1}}catch(e){p.destroy(e)}break}}())},p._destroy=function(e,t){i(async function(e){const t=null!=e,r="function"==typeof l.throw;if(t&&r){const{value:t,done:r}=await l.throw(e);if(await t,r)return}if("function"==typeof l.return){const{value:e}=await l.return();await e}}(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},p}},94259:(e,t,r)=>{"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:i}=r(24134),{EventEmitter:o}=r(37007);function a(e){o.call(this,e)}function s(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}i(a.prototype,o.prototype),i(a,o),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function i(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",i),e._isStdio||t&&!1===t.end||(r.on("end",c),r.on("close",u));let a=!1;function c(){a||(a=!0,e.end())}function u(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function l(e){d(),0===o.listenerCount(this,"error")&&this.emit("error",e)}function d(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",c),r.removeListener("close",u),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",d),r.removeListener("close",d),e.removeListener("close",d)}return s(r,"error",l),s(e,"error",l),r.on("end",d),r.on("close",d),e.on("close",d),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:s}},60823:(e,t,r)=>{"use strict";const n=globalThis.AbortController||r(25568).AbortController,{codes:{ERR_INVALID_ARG_VALUE:i,ERR_INVALID_ARG_TYPE:o,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:s},AbortError:c}=r(76371),{validateAbortSignal:u,validateInteger:l,validateObject:d}=r(277),p=r(24134).Symbol("kWeak"),h=r(24134).Symbol("kResistStopPropagation"),{finished:f}=r(86238),y=r(47830),{addAbortSignalNoValidate:g}=r(4147),{isWritable:m,isNodeStream:b}=r(16115),{deprecate:_}=r(57760),{ArrayPrototypePush:v,Boolean:w,MathFloor:S,Number:E,NumberIsNaN:T,Promise:O,PromiseReject:x,PromiseResolve:A,PromisePrototypeThen:I,Symbol:R}=r(24134),P=R("kEmpty"),F=R("kEof");function D(e,t){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal");let n=1;null!=(null==t?void 0:t.concurrency)&&(n=S(t.concurrency));let i=n-1;return null!=(null==t?void 0:t.highWaterMark)&&(i=S(t.highWaterMark)),l(n,"options.concurrency",1),l(i,"options.highWaterMark",0),i+=n,async function*(){const o=r(57760).AbortSignalAny([null==t?void 0:t.signal].filter(w)),a=this,s=[],u={signal:o};let l,d,p=!1,h=0;function f(){p=!0,y()}function y(){h-=1,g()}function g(){d&&!p&&h=i||h>=n)&&await new O((e=>{d=e}))}s.push(F)}catch(e){const t=x(e);I(t,y,f),s.push(t)}finally{p=!0,l&&(l(),l=null)}}();try{for(;;){for(;s.length>0;){const e=await s[0];if(e===F)return;if(o.aborted)throw new c;e!==P&&(yield e),s.shift(),g()}await new O((e=>{l=e}))}}finally{p=!0,d&&(d(),d=null)}}.call(this)}async function N(e,t=void 0){for await(const r of j.call(this,e,t))return!0;return!1}function j(e,t){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);return D.call(this,(async function(t,r){return await e(t,r)?t:P}),t)}class C extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}function M(e){if(e=E(e),T(e))return 0;if(e<0)throw new s("number",">= 0",e);return e}e.exports.streamReturningOperators={asIndexedPairs:_((function(e=void 0){return null!=e&&d(e,"options"),null!=(null==e?void 0:e.signal)&&u(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!=e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new c({cause:e.signal.reason});yield[t++,n]}}.call(this)}),"readable.asIndexedPairs will be removed in a future version."),drop:function(e,t=void 0){return null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal"),e=M(e),async function*(){var r;if(null!=t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new c;for await(const r of this){var n;if(null!=t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new c;e--<=0&&(yield r)}}.call(this)},filter:j,flatMap:function(e,t){const r=D.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)},map:D,take:function(e,t=void 0){return null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal"),e=M(e),async function*(){var r;if(null!=t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new c;for await(const r of this){var n;if(null!=t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new c;if(e-- >0&&(yield r),e<=0)return}}.call(this)},compose:function(e,t){if(null!=t&&d(t,"options"),null!=(null==t?void 0:t.signal)&&u(t.signal,"options.signal"),b(e)&&!m(e))throw new i("stream",e,"must be writable");const r=y(this,e);return null!=t&&t.signal&&g(t.signal,r),r}},e.exports.promiseReturningOperators={every:async function(e,t=void 0){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);return!await N.call(this,(async(...t)=>!await e(...t)),t)},forEach:async function(e,t){if("function"!=typeof e)throw new o("fn",["Function","AsyncFunction"],e);for await(const r of D.call(this,(async function(t,r){return await e(t,r),P}),t));},reduce:async function(e,t,r){var i;if("function"!=typeof e)throw new o("reducer",["Function","AsyncFunction"],e);null!=r&&d(r,"options"),null!=(null==r?void 0:r.signal)&&u(r.signal,"options.signal");let a=arguments.length>1;if(null!=r&&null!==(i=r.signal)&&void 0!==i&&i.aborted){const e=new c(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await f(this.destroy(e)),e}const s=new n,l=s.signal;if(null!=r&&r.signal){const e={once:!0,[p]:this,[h]:!0};r.signal.addEventListener("abort",(()=>s.abort()),e)}let y=!1;try{for await(const n of this){var g;if(y=!0,null!=r&&null!==(g=r.signal)&&void 0!==g&&g.aborted)throw new c;a?t=await e(t,n,{signal:l}):(t=n,a=!0)}if(!y&&!a)throw new C}finally{s.abort()}return t},toArray:async function(e){null!=e&&d(e,"options"),null!=(null==e?void 0:e.signal)&&u(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!=e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new c(void 0,{cause:e.signal.reason});v(t,n)}return t},some:N,find:async function(e,t){for await(const r of j.call(this,e,t))return r}}},86524:(e,t,r)=>{"use strict";const{ObjectSetPrototypeOf:n}=r(24134);e.exports=o;const i=r(17382);function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}n(o.prototype,i.prototype),n(o,i),o.prototype._transform=function(e,t,r){r(null,e)}},57758:(e,t,r)=>{const n=r(65606),{ArrayIsArray:i,Promise:o,SymbolAsyncIterator:a,SymbolDispose:s}=r(24134),c=r(86238),{once:u}=r(57760),l=r(75896),d=r(93370),{aggregateTwoErrors:p,codes:{ERR_INVALID_ARG_TYPE:h,ERR_INVALID_RETURN_VALUE:f,ERR_MISSING_ARGS:y,ERR_STREAM_DESTROYED:g,ERR_STREAM_PREMATURE_CLOSE:m},AbortError:b}=r(76371),{validateFunction:_,validateAbortSignal:v}=r(277),{isIterable:w,isReadable:S,isReadableNodeStream:E,isNodeStream:T,isTransformStream:O,isWebStream:x,isReadableStream:A,isReadableFinished:I}=r(16115),R=globalThis.AbortController||r(25568).AbortController;let P,F,D;function N(e,t,r){let n=!1;return e.on("close",(()=>{n=!0})),{destroy:t=>{n||(n=!0,l.destroyer(e,t||new g("pipe")))},cleanup:c(e,{readable:t,writable:r},(e=>{n=!e}))}}function j(e){if(w(e))return e;if(E(e))return async function*(e){F||(F=r(57576)),yield*F.prototype[a].call(e)}(e);throw new h("val",["Readable","Iterable","AsyncIterable"],e)}async function C(e,t,r,{end:n}){let i,a=null;const s=e=>{if(e&&(i=e),a){const e=a;a=null,e()}},u=()=>new o(((e,t)=>{i?t(i):a=()=>{i?t(i):e()}}));t.on("drain",s);const l=c(t,{readable:!1},s);try{t.writableNeedDrain&&await u();for await(const r of e)t.write(r)||await u();n&&(t.end(),await u()),r()}catch(e){r(i!==e?p(i,e):e)}finally{l(),t.off("drain",s)}}async function M(e,t,r,{end:n}){O(t)&&(t=t.writable);const i=t.getWriter();try{for await(const t of e)await i.ready,i.write(t).catch((()=>{}));await i.ready,n&&await i.close(),r()}catch(e){try{await i.abort(e),r(e)}catch(e){r(e)}}}function k(e,t,o){if(1===e.length&&i(e[0])&&(e=e[0]),e.length<2)throw new y("streams");const a=new R,c=a.signal,u=null==o?void 0:o.signal,l=[];function p(){B(new b)}let g,m,_;v(u,"options.signal"),D=D||r(57760).addAbortListener,u&&(g=D(u,p));const I=[];let F,k=0;function U(e){B(e,0==--k)}function B(e,r){var i;if(!e||m&&"ERR_STREAM_PREMATURE_CLOSE"!==m.code||(m=e),m||r){for(;I.length;)I.shift()(m);null===(i=g)||void 0===i||i[s](),a.abort(),r&&(m||l.forEach((e=>e())),n.nextTick(t,m,_))}}for(let $=0;$0,z=K||!1!==(null==o?void 0:o.end),J=$===e.length-1;if(T(G)){if(z){const{destroy:W,cleanup:X}=N(G,K,Q);I.push(W),S(G)&&J&&l.push(X)}function V(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&U(e)}G.on("error",V),S(G)&&J&&l.push((()=>{G.removeListener("error",V)}))}if(0===$)if("function"==typeof G){if(F=G({signal:c}),!w(F))throw new f("Iterable, AsyncIterable or Stream","source",F)}else F=w(G)||E(G)||O(G)?G:d.from(G);else if("function"==typeof G){var q;if(F=O(F)?j(null===(q=F)||void 0===q?void 0:q.readable):j(F),F=G(F,{signal:c}),K){if(!w(F,!0))throw new f("AsyncIterable",`transform[${$-1}]`,F)}else{var H;P||(P=r(86524));const Y=new P({objectMode:!0}),Z=null===(H=F)||void 0===H?void 0:H.then;if("function"==typeof Z)k++,Z.call(F,(e=>{_=e,null!=e&&Y.write(e),z&&Y.end(),n.nextTick(U)}),(e=>{Y.destroy(e),n.nextTick(U,e)}));else if(w(F,!0))k++,C(F,Y,U,{end:z});else{if(!A(F)&&!O(F))throw new f("AsyncIterable or Promise","destination",F);{const re=F.readable||F;k++,C(re,Y,U,{end:z})}}F=Y;const{destroy:ee,cleanup:te}=N(F,!1,!0);I.push(ee),J&&l.push(te)}}else if(T(G)){if(E(F)){k+=2;const ne=L(F,G,U,{end:z});S(G)&&J&&l.push(ne)}else if(O(F)||A(F)){const ie=F.readable||F;k++,C(ie,G,U,{end:z})}else{if(!w(F))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],F);k++,C(F,G,U,{end:z})}F=G}else if(x(G)){if(E(F))k++,M(j(F),G,U,{end:z});else if(A(F)||w(F))k++,M(F,G,U,{end:z});else{if(!O(F))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],F);k++,M(F.readable,G,U,{end:z})}F=G}else F=d.from(G)}return(null!=c&&c.aborted||null!=u&&u.aborted)&&n.nextTick(p),F}function L(e,t,r,{end:i}){let o=!1;if(t.on("close",(()=>{o||r(new m)})),e.pipe(t,{end:!1}),i){function a(){o=!0,t.end()}I(e)?n.nextTick(a):e.once("end",a)}else r();return c(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),c(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:k,pipeline:function(...e){return k(e,u(function(e){return _(e[e.length-1],"streams[stream.length - 1]"),e.pop()}(e)))}}},57576:(e,t,r)=>{const n=r(65606),{ArrayPrototypeIndexOf:i,NumberIsInteger:o,NumberIsNaN:a,NumberParseInt:s,ObjectDefineProperties:c,ObjectKeys:u,ObjectSetPrototypeOf:l,Promise:d,SafeSet:p,SymbolAsyncDispose:h,SymbolAsyncIterator:f,Symbol:y}=r(24134);e.exports=J,J.ReadableState=z;const{EventEmitter:g}=r(37007),{Stream:m,prependListener:b}=r(94259),{Buffer:_}=r(48287),{addAbortSignal:v}=r(4147),w=r(86238);let S=r(57760).debuglog("stream",(e=>{S=e}));const E=r(80345),T=r(75896),{getHighWaterMark:O,getDefaultHighWaterMark:x}=r(65291),{aggregateTwoErrors:A,codes:{ERR_INVALID_ARG_TYPE:I,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:P,ERR_STREAM_PUSH_AFTER_EOF:F,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:D},AbortError:N}=r(76371),{validateObject:j}=r(277),C=y("kPaused"),{StringDecoder:M}=r(83141),k=r(96532);l(J.prototype,m.prototype),l(J,m);const L=()=>{},{errorOrDestroy:U}=T,B=1,V=16,q=32,H=64,$=2048,G=4096,K=65536;function Q(e){return{enumerable:!1,get(){return!!(this.state&e)},set(t){t?this.state|=e:this.state&=~e}}}function z(e,t,n){"boolean"!=typeof n&&(n=t instanceof r(93370)),this.state=$|G|V|q,e&&e.objectMode&&(this.state|=B),n&&e&&e.readableObjectMode&&(this.state|=B),this.highWaterMark=e?O(this,e,"readableHighWaterMark",n):x(!1),this.buffer=new E,this.length=0,this.pipes=[],this.flowing=null,this[C]=null,e&&!1===e.emitClose&&(this.state&=~$),e&&!1===e.autoDestroy&&(this.state&=~G),this.errored=null,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new M(e.encoding),this.encoding=e.encoding)}function J(e){if(!(this instanceof J))return new J(e);const t=this instanceof r(93370);this._readableState=new z(e,this,t),e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&v(e.signal,this)),m.call(this,e),T.construct(this,(()=>{this._readableState.needReadable&&te(this,this._readableState)}))}function W(e,t,r,n){S("readableAddChunk",t);const i=e._readableState;let o;if(i.state&B||("string"==typeof t?(r=r||i.defaultEncoding,i.encoding!==r&&(n&&i.encoding?t=_.from(t,r).toString(i.encoding):(t=_.from(t,r),r=""))):t instanceof _?r="":m._isUint8Array(t)?(t=m._uint8ArrayToBuffer(t),r=""):null!=t&&(o=new I("chunk",["string","Buffer","Uint8Array"],t))),o)U(e,o);else if(null===t)i.state&=-9,function(e,t){if(S("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?Z(e):(t.needReadable=!1,t.emittedReadable=!0,ee(e))}}(e,i);else if(i.state&B||t&&t.length>0)if(n)if(4&i.state)U(e,new D);else{if(i.destroyed||i.errored)return!1;X(e,i,t,!0)}else if(i.ended)U(e,new F);else{if(i.destroyed||i.errored)return!1;i.state&=-9,i.decoder&&!r?(t=i.decoder.write(t),i.objectMode||0!==t.length?X(e,i,t,!1):te(e,i)):X(e,i,t,!1)}else n||(i.state&=-9,te(e,i));return!i.ended&&(i.length0?(t.state&K?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.state&H&&Z(e)),te(e,t)}function Y(e,t){return e<=0||0===t.length&&t.ended?0:t.state&B?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function Z(e){const t=e._readableState;S("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(S("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(ee,e))}function ee(e){const t=e._readableState;S("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,ae(e)}function te(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(re,e,t))}function re(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[C]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function ie(e){S("readable nexttick read 0"),e.read(0)}function oe(e,t){S("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),ae(e),t.flowing&&!t.reading&&e.read(0)}function ae(e){const t=e._readableState;for(S("flow",t.flowing);t.flowing&&null!==e.read(););}function se(e,t){"function"!=typeof e.read&&(e=J.wrap(e,{objectMode:!0}));const r=async function*(e,t){let r,n=L;function i(t){this===e?(n(),n=L):n=t}e.on("readable",i);const o=w(e,{writable:!1},(e=>{r=e?A(r,e):null,n(),n=L}));try{for(;;){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new d(i)}}}catch(e){throw r=A(r,e),r}finally{!r&&!1===(null==t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",i),o()):T.destroyer(e,null)}}(e,t);return r.stream=e,r}function ce(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function ue(e){const t=e._readableState;S("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(le,t,e))}function le(e,t){if(S("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(de,t);else if(e.autoDestroy){const e=t._writableState;(!e||e.autoDestroy&&(e.finished||!1===e.writable))&&t.destroy()}}function de(e){e.writable&&!e.writableEnded&&!e.destroyed&&e.end()}let pe;function he(){return void 0===pe&&(pe={}),pe}c(z.prototype,{objectMode:Q(B),ended:Q(2),endEmitted:Q(4),reading:Q(8),constructed:Q(V),sync:Q(q),needReadable:Q(H),emittedReadable:Q(128),readableListening:Q(256),resumeScheduled:Q(512),errorEmitted:Q(1024),emitClose:Q($),autoDestroy:Q(G),destroyed:Q(8192),closed:Q(16384),closeEmitted:Q(32768),multiAwaitDrain:Q(K),readingMore:Q(1<<17),dataEmitted:Q(1<<18)}),J.prototype.destroy=T.destroy,J.prototype._undestroy=T.undestroy,J.prototype._destroy=function(e,t){t(e)},J.prototype[g.captureRejectionSymbol]=function(e){this.destroy(e)},J.prototype[h]=function(){let e;return this.destroyed||(e=this.readableEnded?null:new N,this.destroy(e)),new d(((t,r)=>w(this,(n=>n&&n!==e?r(n):t(null)))))},J.prototype.push=function(e,t){return W(this,e,t,!1)},J.prototype.unshift=function(e,t){return W(this,e,t,!0)},J.prototype.isPaused=function(){const e=this._readableState;return!0===e[C]||!1===e.flowing},J.prototype.setEncoding=function(e){const t=new M(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const e of r)n+=t.write(e);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this},J.prototype.read=function(e){S("read",e),void 0===e?e=NaN:o(e)||(e=s(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=function(e){if(e>1073741824)throw new P("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,++e}(e)),0!==e&&(t.state&=-129),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return S("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?ue(this):Z(this),null;if(0===(e=Y(e,t))&&t.ended)return 0===t.length&&ue(this),null;let n,i=!!(t.state&H);if(S("need readable",i),(0===t.length||t.length-e0?ce(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ue(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},J.prototype._read=function(e){throw new R("_read()")},J.prototype.pipe=function(e,t){const r=this,i=this._readableState;1===i.pipes.length&&(i.multiAwaitDrain||(i.multiAwaitDrain=!0,i.awaitDrainWriters=new p(i.awaitDrainWriters?[i.awaitDrainWriters]:[]))),i.pipes.push(e),S("pipe count=%d opts=%j",i.pipes.length,t);const o=t&&!1===t.end||e===n.stdout||e===n.stderr?y:a;function a(){S("onend"),e.end()}let s;i.endEmitted?n.nextTick(o):r.once("end",o),e.on("unpipe",(function t(n,o){S("onunpipe"),n===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,S("cleanup"),e.removeListener("close",h),e.removeListener("finish",f),s&&e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",t),r.removeListener("end",a),r.removeListener("end",y),r.removeListener("data",l),c=!0,s&&i.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&s())}));let c=!1;function u(){c||(1===i.pipes.length&&i.pipes[0]===e?(S("false write response, pause",0),i.awaitDrainWriters=e,i.multiAwaitDrain=!1):i.pipes.length>1&&i.pipes.includes(e)&&(S("false write response, pause",i.awaitDrainWriters.size),i.awaitDrainWriters.add(e)),r.pause()),s||(s=function(e,t){return function(){const r=e._readableState;r.awaitDrainWriters===t?(S("pipeOnDrain",1),r.awaitDrainWriters=null):r.multiAwaitDrain&&(S("pipeOnDrain",r.awaitDrainWriters.size),r.awaitDrainWriters.delete(t)),r.awaitDrainWriters&&0!==r.awaitDrainWriters.size||!e.listenerCount("data")||e.resume()}}(r,e),e.on("drain",s))}function l(t){S("ondata");const r=e.write(t);S("dest.write",r),!1===r&&u()}function d(t){if(S("onerror",t),y(),e.removeListener("error",d),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?U(e,t):e.emit("error",t)}}function h(){e.removeListener("finish",f),y()}function f(){S("onfinish"),e.removeListener("close",h),y()}function y(){S("unpipe"),r.unpipe(e)}return r.on("data",l),b(e,"error",d),e.once("close",h),e.once("finish",f),e.emit("pipe",r),!0===e.writableNeedDrain?u():i.flowing||(S("pipe resume"),r.resume()),e},J.prototype.unpipe=function(e){const t=this._readableState;if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,S("on readable",i.length,i.reading),i.length?Z(this):i.reading||n.nextTick(ie,this))),r},J.prototype.addListener=J.prototype.on,J.prototype.removeListener=function(e,t){const r=m.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(ne,this),r},J.prototype.off=J.prototype.removeListener,J.prototype.removeAllListeners=function(e){const t=m.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(ne,this),t},J.prototype.resume=function(){const e=this._readableState;return e.flowing||(S("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(oe,e,t))}(this,e)),e[C]=!1,this},J.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[C]=!0,this},J.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{U(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=u(e);for(let t=1;t{"use strict";const{MathFloor:n,NumberIsInteger:i}=r(24134),{validateInteger:o}=r(277),{ERR_INVALID_ARG_VALUE:a}=r(76371).codes;let s=16384,c=16;function u(e){return e?c:s}e.exports={getHighWaterMark:function(e,t,r,o){const s=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,o,r);if(null!=s){if(!i(s)||s<0)throw new a(o?`options.${r}`:"options.highWaterMark",s);return n(s)}return u(e.objectMode)},getDefaultHighWaterMark:u,setDefaultHighWaterMark:function(e,t){o(t,"value",0),e?c=t:s=t}}},17382:(e,t,r)=>{"use strict";const{ObjectSetPrototypeOf:n,Symbol:i}=r(24134);e.exports=u;const{ERR_METHOD_NOT_IMPLEMENTED:o}=r(76371).codes,a=r(93370),{getHighWaterMark:s}=r(65291);n(u.prototype,a.prototype),n(u,a);const c=i("kCallback");function u(e){if(!(this instanceof u))return new u(e);const t=e?s(this,e,"readableHighWaterMark",!0):null;0===t&&(e={...e,highWaterMark:null,readableHighWaterMark:t,writableHighWaterMark:e.writableHighWaterMark||0}),a.call(this,e),this._readableState.sync=!1,this[c]=null,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",d)}function l(e){"function"!=typeof this._flush||this.destroyed?(this.push(null),e&&e()):this._flush(((t,r)=>{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function d(){this._final!==l&&l.call(this)}u.prototype._final=l,u.prototype._transform=function(e,t,r){throw new o("_transform()")},u.prototype._write=function(e,t,r){const n=this._readableState,i=this._writableState,o=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),i.ended||o===n.length||n.length{"use strict";const{SymbolAsyncIterator:n,SymbolIterator:i,SymbolFor:o}=r(24134),a=o("nodejs.stream.destroyed"),s=o("nodejs.stream.errored"),c=o("nodejs.stream.readable"),u=o("nodejs.stream.writable"),l=o("nodejs.stream.disturbed"),d=o("nodejs.webstream.isClosedPromise"),p=o("nodejs.webstream.controllerErrorFunction");function h(e,t=!1){var r;return!(!e||"function"!=typeof e.pipe||"function"!=typeof e.on||t&&("function"!=typeof e.pause||"function"!=typeof e.resume)||e._writableState&&!1===(null===(r=e._readableState)||void 0===r?void 0:r.readable)||e._writableState&&!e._readableState)}function f(e){var t;return!(!e||"function"!=typeof e.write||"function"!=typeof e.on||e._readableState&&!1===(null===(t=e._writableState)||void 0===t?void 0:t.writable))}function y(e){return e&&(e._readableState||e._writableState||"function"==typeof e.write&&"function"==typeof e.on||"function"==typeof e.pipe&&"function"==typeof e.on)}function g(e){return!(!e||y(e)||"function"!=typeof e.pipeThrough||"function"!=typeof e.getReader||"function"!=typeof e.cancel)}function m(e){return!(!e||y(e)||"function"!=typeof e.getWriter||"function"!=typeof e.abort)}function b(e){return!(!e||y(e)||"object"!=typeof e.readable||"object"!=typeof e.writable)}function _(e){if(!y(e))return null;const t=e._writableState,r=e._readableState,n=t||r;return!!(e.destroyed||e[a]||null!=n&&n.destroyed)}function v(e){if(!f(e))return null;if(!0===e.writableEnded)return!0;const t=e._writableState;return(null==t||!t.errored)&&("boolean"!=typeof(null==t?void 0:t.ended)?null:t.ended)}function w(e,t){if(!h(e))return null;const r=e._readableState;return(null==r||!r.errored)&&("boolean"!=typeof(null==r?void 0:r.endEmitted)?null:!!(r.endEmitted||!1===t&&!0===r.ended&&0===r.length))}function S(e){return e&&null!=e[c]?e[c]:"boolean"!=typeof(null==e?void 0:e.readable)?null:!_(e)&&h(e)&&e.readable&&!w(e)}function E(e){return e&&null!=e[u]?e[u]:"boolean"!=typeof(null==e?void 0:e.writable)?null:!_(e)&&f(e)&&e.writable&&!v(e)}function T(e){return"boolean"==typeof e._closed&&"boolean"==typeof e._defaultKeepAlive&&"boolean"==typeof e._removedConnection&&"boolean"==typeof e._removedContLen}function O(e){return"boolean"==typeof e._sent100&&T(e)}e.exports={isDestroyed:_,kIsDestroyed:a,isDisturbed:function(e){var t;return!(!e||!(null!==(t=e[l])&&void 0!==t?t:e.readableDidRead||e.readableAborted))},kIsDisturbed:l,isErrored:function(e){var t,r,n,i,o,a,c,u,l,d;return!(!e||!(null!==(t=null!==(r=null!==(n=null!==(i=null!==(o=null!==(a=e[s])&&void 0!==a?a:e.readableErrored)&&void 0!==o?o:e.writableErrored)&&void 0!==i?i:null===(c=e._readableState)||void 0===c?void 0:c.errorEmitted)&&void 0!==n?n:null===(u=e._writableState)||void 0===u?void 0:u.errorEmitted)&&void 0!==r?r:null===(l=e._readableState)||void 0===l?void 0:l.errored)&&void 0!==t?t:null===(d=e._writableState)||void 0===d?void 0:d.errored))},kIsErrored:s,isReadable:S,kIsReadable:c,kIsClosedPromise:d,kControllerErrorFunction:p,kIsWritable:u,isClosed:function(e){if(!y(e))return null;if("boolean"==typeof e.closed)return e.closed;const t=e._writableState,r=e._readableState;return"boolean"==typeof(null==t?void 0:t.closed)||"boolean"==typeof(null==r?void 0:r.closed)?(null==t?void 0:t.closed)||(null==r?void 0:r.closed):"boolean"==typeof e._closed&&T(e)?e._closed:null},isDuplexNodeStream:function(e){return!(!e||"function"!=typeof e.pipe||!e._readableState||"function"!=typeof e.on||"function"!=typeof e.write)},isFinished:function(e,t){return y(e)?!(!_(e)&&(!1!==(null==t?void 0:t.readable)&&S(e)||!1!==(null==t?void 0:t.writable)&&E(e))):null},isIterable:function(e,t){return null!=e&&(!0===t?"function"==typeof e[n]:!1===t?"function"==typeof e[i]:"function"==typeof e[n]||"function"==typeof e[i])},isReadableNodeStream:h,isReadableStream:g,isReadableEnded:function(e){if(!h(e))return null;if(!0===e.readableEnded)return!0;const t=e._readableState;return!(!t||t.errored)&&("boolean"!=typeof(null==t?void 0:t.ended)?null:t.ended)},isReadableFinished:w,isReadableErrored:function(e){var t,r;return y(e)?e.readableErrored?e.readableErrored:null!==(t=null===(r=e._readableState)||void 0===r?void 0:r.errored)&&void 0!==t?t:null:null},isNodeStream:y,isWebStream:function(e){return g(e)||m(e)||b(e)},isWritable:E,isWritableNodeStream:f,isWritableStream:m,isWritableEnded:v,isWritableFinished:function(e,t){if(!f(e))return null;if(!0===e.writableFinished)return!0;const r=e._writableState;return(null==r||!r.errored)&&("boolean"!=typeof(null==r?void 0:r.finished)?null:!!(r.finished||!1===t&&!0===r.ended&&0===r.length))},isWritableErrored:function(e){var t,r;return y(e)?e.writableErrored?e.writableErrored:null!==(t=null===(r=e._writableState)||void 0===r?void 0:r.errored)&&void 0!==t?t:null:null},isServerRequest:function(e){var t;return"boolean"==typeof e._consuming&&"boolean"==typeof e._dumped&&void 0===(null===(t=e.req)||void 0===t?void 0:t.upgradeOrConnect)},isServerResponse:O,willEmitClose:function(e){if(!y(e))return null;const t=e._writableState,r=e._readableState,n=t||r;return!n&&O(e)||!!(n&&n.autoDestroy&&n.emitClose&&!1===n.closed)},isTransformStream:b}},78584:(e,t,r)=>{const n=r(65606),{ArrayPrototypeSlice:i,Error:o,FunctionPrototypeSymbolHasInstance:a,ObjectDefineProperty:s,ObjectDefineProperties:c,ObjectSetPrototypeOf:u,StringPrototypeToLowerCase:l,Symbol:d,SymbolHasInstance:p}=r(24134);e.exports=j,j.WritableState=D;const{EventEmitter:h}=r(37007),f=r(94259).Stream,{Buffer:y}=r(48287),g=r(75896),{addAbortSignal:m}=r(4147),{getHighWaterMark:b,getDefaultHighWaterMark:_}=r(65291),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:w,ERR_MULTIPLE_CALLBACK:S,ERR_STREAM_CANNOT_PIPE:E,ERR_STREAM_DESTROYED:T,ERR_STREAM_ALREADY_FINISHED:O,ERR_STREAM_NULL_VALUES:x,ERR_STREAM_WRITE_AFTER_END:A,ERR_UNKNOWN_ENCODING:I}=r(76371).codes,{errorOrDestroy:R}=g;function P(){}u(j.prototype,f.prototype),u(j,f);const F=d("kOnFinished");function D(e,t,n){"boolean"!=typeof n&&(n=t instanceof r(93370)),this.objectMode=!(!e||!e.objectMode),n&&(this.objectMode=this.objectMode||!(!e||!e.writableObjectMode)),this.highWaterMark=e?b(this,e,"writableHighWaterMark",n):_(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const i=!(!e||!1!==e.decodeStrings);this.decodeStrings=!i,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=L.bind(void 0,t),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,N(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!e||!1!==e.emitClose,this.autoDestroy=!e||!1!==e.autoDestroy,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[F]=[]}function N(e){e.buffered=[],e.bufferedIndex=0,e.allBuffers=!0,e.allNoop=!0}function j(e){const t=this instanceof r(93370);if(!t&&!a(j,this))return new j(e);this._writableState=new D(e,this,t),e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final),"function"==typeof e.construct&&(this._construct=e.construct),e.signal&&m(e.signal,this)),f.call(this,e),g.construct(this,(()=>{const e=this._writableState;e.writing||q(this,e),$(this,e)}))}function C(e,t,r,i){const o=e._writableState;if("function"==typeof r)i=r,r=o.defaultEncoding;else{if(r){if("buffer"!==r&&!y.isEncoding(r))throw new I(r)}else r=o.defaultEncoding;"function"!=typeof i&&(i=P)}if(null===t)throw new x;if(!o.objectMode)if("string"==typeof t)!1!==o.decodeStrings&&(t=y.from(t,r),r="buffer");else if(t instanceof y)r="buffer";else{if(!f._isUint8Array(t))throw new v("chunk",["string","Buffer","Uint8Array"],t);t=f._uint8ArrayToBuffer(t),r="buffer"}let a;return o.ending?a=new A:o.destroyed&&(a=new T("write")),a?(n.nextTick(i,a),R(e,a,!0),a):(o.pendingcb++,function(e,t,r,n,i){const o=t.objectMode?1:r.length;t.length+=o;const a=t.lengthr.bufferedIndex&&q(e,r),i?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===o?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:o,stream:e,state:r},n.nextTick(U,r.afterWriteTickInfo)):B(e,r,1,o))):R(e,new S)}function U({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,B(e,t,r,n)}function B(e,t,r,n){for(!t.ending&&!e.destroyed&&0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"));r-- >0;)t.pendingcb--,n();t.destroyed&&V(t),$(e,t)}function V(e){if(e.writing)return;for(let r=e.bufferedIndex;r1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?P:e=>{for(let t=s;t256?(r.splice(0,s),t.bufferedIndex=0):t.bufferedIndex=s}t.bufferProcessing=!1}function H(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function $(e,t,r){H(t)&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.finalCalled=!0,function(e,t){let r=!1;function i(i){if(r)R(e,null!=i?i:S());else if(r=!0,t.pendingcb--,i){const r=t[F].splice(0);for(let e=0;e{H(t)?G(e,t):t.pendingcb--}),e,t)):H(t)&&(t.pendingcb++,G(e,t))))}function G(e,t){t.pendingcb--,t.finished=!0;const r=t[F].splice(0);for(let e=0;e{"use strict";const{ArrayIsArray:n,ArrayPrototypeIncludes:i,ArrayPrototypeJoin:o,ArrayPrototypeMap:a,NumberIsInteger:s,NumberIsNaN:c,NumberMAX_SAFE_INTEGER:u,NumberMIN_SAFE_INTEGER:l,NumberParseInt:d,ObjectPrototypeHasOwnProperty:p,RegExpPrototypeExec:h,String:f,StringPrototypeToUpperCase:y,StringPrototypeTrim:g}=r(24134),{hideStackFrames:m,codes:{ERR_SOCKET_BAD_PORT:b,ERR_INVALID_ARG_TYPE:_,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:w,ERR_UNKNOWN_SIGNAL:S}}=r(76371),{normalizeEncoding:E}=r(57760),{isAsyncFunction:T,isArrayBufferView:O}=r(57760).types,x={},A=/^[0-7]+$/,I=m(((e,t,r=l,n=u)=>{if("number"!=typeof e)throw new _(t,"number",e);if(!s(e))throw new w(t,"an integer",e);if(en)throw new w(t,`>= ${r} && <= ${n}`,e)})),R=m(((e,t,r=-2147483648,n=2147483647)=>{if("number"!=typeof e)throw new _(t,"number",e);if(!s(e))throw new w(t,"an integer",e);if(en)throw new w(t,`>= ${r} && <= ${n}`,e)})),P=m(((e,t,r=!1)=>{if("number"!=typeof e)throw new _(t,"number",e);if(!s(e))throw new w(t,"an integer",e);const n=r?1:0,i=4294967295;if(ei)throw new w(t,`>= ${n} && <= ${i}`,e)}));function F(e,t){if("string"!=typeof e)throw new _(t,"string",e)}const D=m(((e,t,r)=>{if(!i(r,e)){const n=o(a(r,(e=>"string"==typeof e?`'${e}'`:f(e))),", ");throw new v(t,e,"must be one of: "+n)}}));function N(e,t){if("boolean"!=typeof e)throw new _(t,"boolean",e)}function j(e,t,r){return null!=e&&p(e,t)?e[t]:r}const C=m(((e,t,r=null)=>{const i=j(r,"allowArray",!1),o=j(r,"allowFunction",!1);if(!j(r,"nullable",!1)&&null===e||!i&&n(e)||"object"!=typeof e&&(!o||"function"!=typeof e))throw new _(t,"Object",e)})),M=m(((e,t)=>{if(null!=e&&"object"!=typeof e&&"function"!=typeof e)throw new _(t,"a dictionary",e)})),k=m(((e,t,r=0)=>{if(!n(e))throw new _(t,"Array",e);if(e.length{if(!O(e))throw new _(t,["Buffer","TypedArray","DataView"],e)})),U=m(((e,t)=>{if(void 0!==e&&(null===e||"object"!=typeof e||!("aborted"in e)))throw new _(t,"AbortSignal",e)})),B=m(((e,t)=>{if("function"!=typeof e)throw new _(t,"Function",e)})),V=m(((e,t)=>{if("function"!=typeof e||T(e))throw new _(t,"Function",e)})),q=m(((e,t)=>{if(void 0!==e)throw new _(t,"undefined",e)})),H=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function $(e,t){if(void 0===e||!h(H,e))throw new v(t,e,'must be an array or string of format "; rel=preload; as=style"')}e.exports={isInt32:function(e){return e===(0|e)},isUint32:function(e){return e===e>>>0},parseFileMode:function(e,t,r){if(void 0===e&&(e=r),"string"==typeof e){if(null===h(A,e))throw new v(t,e,"must be a 32-bit unsigned integer or an octal string");e=d(e,8)}return P(e,t),e},validateArray:k,validateStringArray:function(e,t){k(e,t);for(let r=0;rn||(null!=r||null!=n)&&c(e))throw new w(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)},validateObject:C,validateOneOf:D,validatePlainFunction:V,validatePort:function(e,t="Port",r=!0){if("number"!=typeof e&&"string"!=typeof e||"string"==typeof e&&0===g(e).length||+e!=+e>>>0||e>65535||0===e&&!r)throw new b(t,e,r);return 0|e},validateSignalName:function(e,t="signal"){if(F(e,t),void 0===x[e]){if(void 0!==x[y(e)])throw new S(e+" (signals must use all capital letters)");throw new S(e)}},validateString:F,validateUint32:P,validateUndefined:q,validateUnion:function(e,t,r){if(!i(r,e))throw new _(t,`('${o(r,"|")}')`,e)},validateAbortSignal:U,validateLinkHeaderValue:function(e){if("string"==typeof e)return $(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}}},19198:(e,t,r)=>{"use strict";const n=r(85506),i=r(43095),o=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=o,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get:()=>i}),e.exports.Stream=n.Stream,e.exports.default=e.exports},76371:(e,t,r)=>{"use strict";const{format:n,inspect:i,AggregateError:o}=r(57760),a=globalThis.AggregateError||o,s=Symbol("kIsNodeError"),c=["string","function","number","object","Function","Object","boolean","bigint","symbol"],u=/^([A-Z][a-z0-9]*)+$/,l={};function d(e,t){if(!e)throw new l.ERR_INTERNAL_ASSERTION(t)}function p(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function h(e,t,r){r||(r=Error);class i extends r{constructor(...r){super(function(e,t,r){if("function"==typeof t)return d(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const i=(t.match(/%[dfijoOs]/g)||[]).length;return d(i===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${i}).`),0===r.length?t:n(t,...r)}(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(i.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),i.prototype.code=e,i.prototype[s]=!0,l[e]=i}function f(e){const t="__node_internal_"+e.name;return Object.defineProperty(e,"name",{value:t}),e}class y extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!=typeof t)throw new l.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}h("ERR_ASSERTION","%s",Error),h("ERR_INVALID_ARG_TYPE",((e,t,r)=>{d("string"==typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const o=[],a=[],s=[];for(const e of t)d("string"==typeof e,"All expected entries have to be of type string"),c.includes(e)?o.push(e.toLowerCase()):u.test(e)?a.push(e):(d("object"!==e,'The value "object" should be written as "Object"'),s.push(e));if(a.length>0){const e=o.indexOf("object");-1!==e&&(o.splice(o,e,1),a.push("Object"))}if(o.length>0){switch(o.length){case 1:n+=`of type ${o[0]}`;break;case 2:n+=`one of type ${o[0]} or ${o[1]}`;break;default:{const e=o.pop();n+=`one of type ${o.join(", ")}, or ${e}`}}(a.length>0||s.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}s.length>0&&(n+=" or ")}switch(s.length){case 0:break;case 1:s[0].toLowerCase()!==s[0]&&(n+="an "),n+=`${s[0]}`;break;case 2:n+=`one of ${s[0]} or ${s[1]}`;break;default:{const e=s.pop();n+=`one of ${s.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"==typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"==typeof r){var l;null!==(l=r.constructor)&&void 0!==l&&l.name?n+=`. Received an instance of ${r.constructor.name}`:n+=`. Received ${i(r,{depth:-1})}`}else{let e=i(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),h("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=i(t);return n.length>128&&(n=n.slice(0,128)+"..."),`The ${e.includes(".")?"property":"argument"} '${e}' ${r}. Received ${n}`}),TypeError),h("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;return`Expected ${e} to be returned from the "${t}" function but got ${null!=r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r}.`}),TypeError),h("ERR_MISSING_ARGS",((...e)=>{let t;d(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}}return`${t} must be specified`}),TypeError),h("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return d(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=p(String(r)):"bigint"==typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=p(n)),n+="n"):n=i(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),h("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),h("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),h("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),h("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),h("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),h("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),h("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),h("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),h("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),h("ERR_STREAM_WRITE_AFTER_END","write after end",Error),h("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:y,aggregateTwoErrors:f((function(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t})),hideStackFrames:f,codes:l}},24134:e=>{"use strict";e.exports={ArrayIsArray:e=>Array.isArray(e),ArrayPrototypeIncludes:(e,t)=>e.includes(t),ArrayPrototypeIndexOf:(e,t)=>e.indexOf(t),ArrayPrototypeJoin:(e,t)=>e.join(t),ArrayPrototypeMap:(e,t)=>e.map(t),ArrayPrototypePop:(e,t)=>e.pop(t),ArrayPrototypePush:(e,t)=>e.push(t),ArrayPrototypeSlice:(e,t,r)=>e.slice(t,r),Error,FunctionPrototypeCall:(e,t,...r)=>e.call(t,...r),FunctionPrototypeSymbolHasInstance:(e,t)=>Function.prototype[Symbol.hasInstance].call(e,t),MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties:(e,t)=>Object.defineProperties(e,t),ObjectDefineProperty:(e,t,r)=>Object.defineProperty(e,t,r),ObjectGetOwnPropertyDescriptor:(e,t)=>Object.getOwnPropertyDescriptor(e,t),ObjectKeys:e=>Object.keys(e),ObjectSetPrototypeOf:(e,t)=>Object.setPrototypeOf(e,t),Promise,PromisePrototypeCatch:(e,t)=>e.catch(t),PromisePrototypeThen:(e,t,r)=>e.then(t,r),PromiseReject:e=>Promise.reject(e),PromiseResolve:e=>Promise.resolve(e),ReflectApply:Reflect.apply,RegExpPrototypeTest:(e,t)=>e.test(t),SafeSet:Set,String,StringPrototypeSlice:(e,t,r)=>e.slice(t,r),StringPrototypeToLowerCase:e=>e.toLowerCase(),StringPrototypeToUpperCase:e=>e.toUpperCase(),StringPrototypeTrim:e=>e.trim(),Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet:(e,t,r)=>e.set(t,r),Boolean,Uint8Array}},57760:(e,t,r)=>{"use strict";const n=r(48287),{kResistStopPropagation:i,SymbolDispose:o}=r(24134),a=globalThis.AbortSignal||r(25568).AbortSignal,s=globalThis.AbortController||r(25568).AbortController,c=Object.getPrototypeOf((async function(){})).constructor,u=globalThis.Blob||n.Blob,l=void 0!==u?function(e){return e instanceof u}:function(e){return!1},d=(e,t)=>{if(void 0!==e&&(null===e||"object"!=typeof e||!("aborted"in e)))throw new ERR_INVALID_ARG_TYPE(t,"AbortSignal",e)};class p extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n})),resolve:e,reject:t}},promisify:e=>new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))})),debuglog:()=>function(){},format:(e,...t)=>e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();return"f"===r?n.toFixed(6):"j"===r?JSON.stringify(n):"s"===r&&"object"==typeof n?`${n.constructor!==Object?n.constructor.name:""} {}`.trim():n.toString()})),inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction:e=>e instanceof c,isArrayBufferView:e=>ArrayBuffer.isView(e)},isBlob:l,deprecate:(e,t)=>e,addAbortListener:r(37007).addAbortListener||function(e,t){if(void 0===e)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);let r;return d(e,"signal"),((e,t)=>{if("function"!=typeof e)throw new ERR_INVALID_ARG_TYPE("listener","Function",e)})(t),e.aborted?queueMicrotask((()=>t())):(e.addEventListener("abort",t,{__proto__:null,once:!0,[i]:!0}),r=()=>{e.removeEventListener("abort",t)}),{__proto__:null,[o](){var e;null===(e=r)||void 0===e||e()}}},AbortSignalAny:a.any||function(e){if(1===e.length)return e[0];const t=new s,r=()=>t.abort();return e.forEach((e=>{d(e,"signals"),e.addEventListener("abort",r,{once:!0})})),t.signal.addEventListener("abort",(()=>{e.forEach((e=>e.removeEventListener("abort",r)))}),{once:!0}),t.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},85506:(e,t,r)=>{const{Buffer:n}=r(48287),{ObjectDefineProperty:i,ObjectKeys:o,ReflectApply:a}=r(24134),{promisify:{custom:s}}=r(57760),{streamReturningOperators:c,promiseReturningOperators:u}=r(60823),{codes:{ERR_ILLEGAL_CONSTRUCTOR:l}}=r(76371),d=r(47830),{setDefaultHighWaterMark:p,getDefaultHighWaterMark:h}=r(65291),{pipeline:f}=r(57758),{destroyer:y}=r(75896),g=r(86238),m=r(43095),b=r(16115),_=e.exports=r(94259).Stream;_.isDestroyed=b.isDestroyed,_.isDisturbed=b.isDisturbed,_.isErrored=b.isErrored,_.isReadable=b.isReadable,_.isWritable=b.isWritable,_.Readable=r(57576);for(const S of o(c)){const E=c[S];function v(...e){if(new.target)throw l();return _.Readable.from(a(E,this,e))}i(v,"name",{__proto__:null,value:E.name}),i(v,"length",{__proto__:null,value:E.length}),i(_.Readable.prototype,S,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}for(const T of o(u)){const O=u[T];function v(...e){if(new.target)throw l();return a(O,this,e)}i(v,"name",{__proto__:null,value:O.name}),i(v,"length",{__proto__:null,value:O.length}),i(_.Readable.prototype,T,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}_.Writable=r(78584),_.Duplex=r(93370),_.Transform=r(17382),_.PassThrough=r(86524),_.pipeline=f;const{addAbortSignal:w}=r(4147);_.addAbortSignal=w,_.finished=g,_.destroy=y,_.compose=d,_.setDefaultHighWaterMark=p,_.getDefaultHighWaterMark=h,i(_,"promises",{__proto__:null,configurable:!0,enumerable:!0,get:()=>m}),i(f,s,{__proto__:null,enumerable:!0,get:()=>m.pipeline}),i(g,s,{__proto__:null,enumerable:!0,get:()=>m.finished}),_.Stream=_,_._isUint8Array=function(e){return e instanceof Uint8Array},_._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},43095:(e,t,r)=>{"use strict";const{ArrayPrototypePop:n,Promise:i}=r(24134),{isIterable:o,isNodeStream:a,isWebStream:s}=r(16115),{pipelineImpl:c}=r(57758),{finished:u}=r(86238);r(85506),e.exports={finished:u,pipeline:function(...e){return new i(((t,r)=>{let i,u;const l=e[e.length-1];if(l&&"object"==typeof l&&!a(l)&&!o(l)&&!s(l)){const t=n(e);i=t.signal,u=t.end}c(e,((e,n)=>{e?r(e):t(n)}),{signal:i,end:u})}))}}},70742:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(24806),t)},24806:(e,t)=>{"use strict";function r(e){const t=[];let r=0;for(;re.join(""))).join("/")}function n(e,t){let n=t+1;t>=0?"/"===e[t+1]&&"/"===e[t+2]&&(n=t+3):"/"===e[0]&&"/"===e[1]&&(n=2);const i=e.indexOf("/",n);return i<0?e:e.substr(0,i)+r(e.substr(i))}function i(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(t,"__esModule",{value:!0}),t.removeDotSegmentsOfPath=t.removeDotSegments=t.resolve=void 0,t.resolve=function(e,t){const i=(t=t||"").indexOf("#");if(i>0&&(t=t.substr(0,i)),!e.length){if(t.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${t}' for value '${e}'`);return t}if(e.startsWith("?")){const r=t.indexOf("?");return r>0&&(t=t.substr(0,r)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){const t=e.indexOf(":");if(t<0)throw new Error(`Found invalid relative IRI '${e}' for a missing baseIRI`);return n(e,t)}const o=e.indexOf(":");if(o>=0)return n(e,o);const a=t.indexOf(":");if(a<0)throw new Error(`Found invalid baseIRI '${t}' for value '${e}'`);const s=t.substr(0,a+1);if(0===e.indexOf("//"))return s+n(e,o);let c;if(t.indexOf("//",a)===a+1){if(c=t.indexOf("/",a+3),c<0)return t.length>a+3?t+"/"+n(e,o):s+n(e,o)}else if(c=t.indexOf("/",a+1),c<0)return s+n(e,o);if(0===e.indexOf("/"))return t.substr(0,c)+r(e);let u=t.substr(c);const l=u.lastIndexOf("/");return l>=0&&l{var t=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[7,12,13,14,15,16,20,25,115,130],r=[7,13,16,20,25,115,130],n=[7,13,16,115,130],i=[1,25],o=[1,29],a=[1,27],s=[1,28],c=[13,16,115,130],u=[13,16,28,38,40,42,44,46,48,53,56,61,67,85,87,92,93,95,96,102,110,111,115,119,120,126,128,129,130,131,132,133,134,135,136],l=[28,56],d=[1,42],p=[46,48,53,56],h=[1,54],f=[1,60],y=[1,56],g=[1,57],m=[1,58],b=[1,63],_=[1,64],v=[1,65],w=[1,66],S=[1,67],E=[1,68],T=[1,75],O=[28,46,48,53,56],x=[28,42,46,48,53,56],A=[13,16,28,38,40,42,44,46,48,53,56,92,115,119,120,130,131,132,133,134,135,136],I=[13,16,28,38,40,42,44,46,48,53,56,67,85,87,92,95,96,115,119,120,126,128,129,130,131,132,133,134,135,136],R=[13,16,38,40,44,92,115,119,120,130,131,132,133,134,135,136],P=[13,16,28,38,40,42,44,46,48,53,56,67,85,87,92,95,96,115,117,118,119,120,126,128,129,130,131,132,133,134,135,136],F=[13,16,28,56,115,130],D=[13,16,38,58,87,96,109,115,126,130],N=[1,116],j=[1,112],C=[1,108],M=[1,114],k=[1,111],L=[7,13,16,20,25,44,48,53,56,67,85,87,95,96,115,128,129,130],U=[48,53],B=[48,53,87,96,126],V=[13,16,44,48,53,56,85,87,95,96,115,128,129,130],q=[1,126],H=[13,16,40,44,48,53,56,85,87,95,96,115,128,129,130],$=[1,129],G=[48,53,67,87,96,126],K=[13,16,40,44,48,53,56,67,85,87,95,96,115,128,129,130],Q=[1,133],z=[13,16,40,44,48,53,56,67,85,87,95,96,102,115,128,129,130],J=[13,16,40,44,48,53,56,67,85,87,93,95,96,102,110,111,115,128,129,130],W=[1,151],X=[1,153],Y=[1,156],Z=[1,157],ee=[1,158],te=[1,167],re=[1,175],ne=[13,16,44,48,53,56,67,85,87,95,96,115,128,129,130],ie=[13,16,44,48,53,56,67,85,87,95,96,115,126,128,129,130],oe=[13,16,46,92,115,119,120,130,131,132,133,134,135,136],ae={trace:function(){},yy:{},symbols_:{error:2,shaclDoc:3,shaclDoc_repetition0:4,shaclDoc_repetition1:5,ttlSection:6,EOF:7,directive:8,baseDecl:9,importsDecl:10,prefixDecl:11,KW_BASE:12,IRIREF:13,KW_IMPORTS:14,KW_PREFIX:15,PNAME_NS:16,nodeShapeIri:17,iri:18,nodeShape:19,KW_SHAPE:20,nodeShape_option0:21,nodeShape_option1:22,nodeShapeBody:23,shapeClass:24,KW_SHAPE_CLASS:25,shapeClass_option0:26,turtleAnnotation:27,";":28,turtleAnnotation2:29,predicate:30,turtleAnnotation2_option0:31,objectList:32,object:33,objectList_repetition0:34,iriOrLiteral:35,blankNodeSection:36,list:37,"(":38,list_repetition0:39,")":40,objectTail:41,",":42,LB:43,"[":44,RB:45,"]":46,LP:47,"%":48,RP:49,pcSection:50,iriHead:51,ttlStatement:52,".":53,ttlSection_repetition0:54,startNodeShape:55,"{":56,endNodeShape:57,"}":58,nodeShapeBody_repetition0:59,targetClass:60,"->":61,targetClass_repetition_plus0:62,constraint:63,constraint_group0:64,constraint_option0:65,orNotComponent:66,"|":67,nodeNot:68,nodeOrEmit:69,nodeOr:70,nodeOr_repetition_plus0:71,nodeValue:72,negation:73,nodeValue_group0:74,"=":75,iriOrLiteralOrArray:76,propertyShape:77,path:78,propertyShape_repetition0:79,propertyOrComponent:80,propertyNot:81,propertyOr:82,propertyOr_repetition_plus0:83,propertyAtom:84,NODEKIND:85,shapeRef:86,PARAM:87,propertyCount:88,propertyMinCount:89,"..":90,propertyMaxCount:91,INTEGER:92,"*":93,shapeRef_group0:94,"@":95,"!":96,pathAlternative:97,additionalAlternative:98,pathSequence:99,pathAlternative_repetition_plus0:100,additionalSequence:101,"/":102,pathEltOrInverse:103,pathSequence_repetition_plus0:104,pathElt:105,pathPrimary:106,pathMod:107,pathInverse:108,"^":109,"?":110,"+":111,iriOrLiteralOrArray_repetition0:112,literal:113,iri_group0:114,a:115,string:116,LANGTAG:117,"^^":118,DECIMAL:119,DOUBLE:120,literal_group0:121,string_group0:122,string_group1:123,shaclDoc_repetition1_group0:124,constraint_group0_repetition_plus0:125,TARGET:126,propertyShape_repetition0_group0:127,ATPNAME_LN:128,ATPNAME_NS:129,PNAME_LN:130,KW_TRUE:131,KW_FALSE:132,STRING_LITERAL1:133,STRING_LITERAL2:134,STRING_LITERAL_LONG1:135,STRING_LITERAL_LONG2:136,$accept:0,$end:1},terminals_:{2:"error",7:"EOF",12:"KW_BASE",13:"IRIREF",14:"KW_IMPORTS",15:"KW_PREFIX",16:"PNAME_NS",20:"KW_SHAPE",25:"KW_SHAPE_CLASS",28:";",38:"(",40:")",42:",",44:"[",46:"]",48:"%",53:".",56:"{",58:"}",61:"->",67:"|",75:"=",85:"NODEKIND",87:"PARAM",90:"..",92:"INTEGER",93:"*",95:"@",96:"!",102:"/",109:"^",110:"?",111:"+",115:"a",117:"LANGTAG",118:"^^",119:"DECIMAL",120:"DOUBLE",126:"TARGET",128:"ATPNAME_LN",129:"ATPNAME_NS",130:"PNAME_LN",131:"KW_TRUE",132:"KW_FALSE",133:"STRING_LITERAL1",134:"STRING_LITERAL2",135:"STRING_LITERAL_LONG1",136:"STRING_LITERAL_LONG2"},productions_:[0,[3,4],[8,1],[8,1],[8,1],[9,2],[10,2],[11,3],[17,1],[19,5],[24,4],[27,2],[29,2],[30,2],[32,2],[33,1],[33,1],[33,1],[37,3],[41,2],[43,1],[45,1],[36,3],[47,1],[49,1],[50,3],[51,1],[52,3],[6,1],[55,1],[57,1],[23,3],[60,2],[63,3],[66,2],[69,1],[70,1],[70,2],[68,1],[68,2],[72,3],[77,2],[80,2],[82,1],[82,2],[81,1],[81,2],[84,1],[84,1],[84,1],[84,3],[84,1],[88,5],[89,1],[91,1],[91,1],[86,1],[86,2],[73,1],[78,1],[98,2],[97,1],[97,2],[101,2],[99,1],[99,2],[105,1],[105,2],[103,1],[103,2],[108,1],[107,1],[107,1],[107,1],[106,1],[106,3],[76,1],[76,3],[35,1],[35,1],[18,1],[18,1],[18,1],[113,1],[113,2],[113,3],[113,1],[113,1],[113,1],[113,1],[116,1],[116,1],[4,0],[4,2],[124,1],[124,1],[5,0],[5,2],[21,0],[21,1],[22,0],[22,1],[26,0],[26,1],[31,0],[31,1],[34,0],[34,2],[39,0],[39,2],[54,0],[54,2],[59,0],[59,2],[62,1],[62,2],[125,1],[125,2],[64,1],[64,1],[65,0],[65,1],[71,1],[71,2],[74,1],[74,1],[127,1],[127,1],[79,0],[79,2],[83,1],[83,2],[94,1],[94,1],[100,1],[100,2],[104,1],[104,2],[112,0],[112,2],[114,1],[114,1],[121,1],[121,1],[122,1],[122,1],[123,1],[123,1]],performAction:function(e,t,r,n,i,o,a){var s,c,u=o.length-1;switch(i){case 1:this.$=Ie(De.factory.namedNode(Se("")),De.factory.namedNode(ce),De.factory.namedNode(be+"Ontology"));break;case 5:De.base=De.factory.namedNode(o[u].slice(1,-1)),De.n3Parser._setBase(De.base.value);break;case 6:this.$=Ie(De.base,De.factory.namedNode(be+"imports"),De.factory.namedNode(o[u].slice(1,-1)));break;case 7:this.$=De.prefixes[o[u-1].substr(0,o[u-1].length-1)]=Se(o[u]);break;case 8:De.nodeShapeStack=!1,Ie(De.currentNodeShape=o[u],De.factory.namedNode(ce),De.factory.namedNode(me+"NodeShape"));break;case 10:this.$=Ie(De.currentNodeShape,De.factory.namedNode(ce),De.factory.namedNode(_e+"Class"));break;case 11:this.$=Pe();break;case 13:this.$=o[u].forEach((e=>Ie(De.currentNodeShape,o[u-1],e)));break;case 14:this.$=[o[u-1],...o[u]];break;case 18:this.$=we(o[u-1],!0);break;case 19:case 34:case 42:case 60:case 63:this.$=o[u];break;case 20:De.tempCurrentNodeShape=De.currentNodeShape,this.$=De.currentNodeShape=Oe();break;case 21:case 24:De.currentNodeShape=De.tempCurrentNodeShape;break;case 22:case 31:this.$=o[u-2];break;case 23:De.tempCurrentNodeShape=De.currentNodeShape,De.currentNodeShape=De.currentPropertyNode;break;case 26:De.currentNodeShape=o[u];break;case 29:De.nodeShapeStack?(De.nodeShapeStack.push(De.currentNodeShape),Ie(De.currentPropertyNode,De.factory.namedNode(me+"node"),De.currentNodeShape=Oe())):De.nodeShapeStack=[],this.$=De.currentNodeShape;break;case 30:De.nodeShapeStack.length>0&&(De.currentNodeShape=De.nodeShapeStack.pop());break;case 32:this.$=o[u].forEach((e=>{Ie(De.currentNodeShape,De.factory.namedNode(me+"targetClass"),e)}));break;case 35:this.$=Ie(De.currentNodeShape,De.factory.namedNode(me+o[u][0]),o[u][1]);break;case 36:break;case 37:const e=we([o[u-1],...o[u]].map((e=>{const t=Oe();return Ie(t,De.factory.namedNode(me+e[0]),e[1]),t})));this.$=["or",e];break;case 39:case 46:this.$=function(e,t,r){const n=Oe();return Ie(n,De.factory.namedNode(me+t),r),[e,n]}("not",...o[u]);break;case 40:case 50:this.$=[o[u-2],o[u]];break;case 43:this.$=o[u]&&Re(...o[u]);break;case 44:this.$=Re("or",we([o[u-1],...o[u]].map((e=>{const t=Oe();return Ie(t,De.factory.namedNode(me+e[0]),e[1]),t}))));break;case 47:this.$=[ve[o[u].value]?"datatype":"class",o[u]];break;case 48:this.$=["nodeKind",De.factory.namedNode(me+o[u])];break;case 49:this.$=["node",De.factory.namedNode(o[u])];break;case 51:this.$=void 0;break;case 53:this.$=o[u]>0&&Re("minCount",Te(o[u],he));break;case 54:this.$=Re("maxCount",Te(o[u],he));break;case 56:this.$=Ee(o[u].slice(1));break;case 57:this.$=Se(o[u]);break;case 59:Ie(De.currentNodeShape,De.factory.namedNode(me+"property"),De.currentPropertyNode=Oe()),Re("path",o[u]);break;case 62:const t=Oe();Ie(t,De.factory.namedNode(me+"alternativePath"),we([o[u-1],...o[u]])),this.$=t;break;case 65:this.$=we([o[u-1],...o[u]]);break;case 67:Ie(this.$=Oe(),De.factory.namedNode(me+o[u]),o[u-1]);break;case 69:Ie(this.$=Oe(),De.factory.namedNode(me+"inversePath"),o[u]);break;case 71:this.$="zeroOrOnePath";break;case 72:this.$="zeroOrMorePath";break;case 73:this.$="oneOrMorePath";break;case 75:this.$=o[u-1];break;case 77:this.$=we(o[u-1]);break;case 80:this.$=De.factory.namedNode(Se(o[u]));break;case 81:this.$=De.factory.namedNode(Ee(o[u]));break;case 82:this.$=Pe(De.factory.namedNode(ce));break;case 83:this.$=Te(o[u]);break;case 84:this.$=(s=o[u-1],c=lowercase(o[u].substr(1)),De.factory.literal(s,c));break;case 85:this.$=Te(o[u-2],o[u]);break;case 86:this.$=Te(o[u],he);break;case 87:this.$=Te(o[u],fe);break;case 88:this.$=Te(o[u].toLowerCase(),ye);break;case 89:this.$=Te(o[u].toLowerCase(),ge);break;case 90:this.$=Ae(o[u],1);break;case 91:this.$=Ae(o[u],3);break;case 92:case 96:case 106:case 108:case 110:case 112:case 128:case 138:this.$=[];break;case 93:case 97:case 107:case 109:case 111:case 113:case 115:case 117:case 123:case 129:case 131:case 135:case 137:case 139:o[u-1].push(o[u]);break;case 114:case 116:case 122:case 130:case 134:case 136:this.$=[o[u]]}},table:[e(t,[2,92],{3:1,4:2}),{1:[3]},e(r,[2,96],{5:3,8:4,9:5,10:6,11:7,12:[1,8],14:[1,9],15:[1,10]}),e(n,[2,110],{6:11,124:12,54:13,19:14,24:15,20:[1,16],25:[1,17]}),e(t,[2,93]),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{13:[1,18]},{13:[1,19]},{16:[1,20]},{7:[1,21]},e(r,[2,97]),{7:[2,28],13:i,16:o,18:24,51:23,52:22,114:26,115:a,130:s},e(r,[2,94]),e(r,[2,95]),{13:i,16:o,17:30,18:31,114:26,115:a,130:s},{13:i,16:o,17:32,18:31,114:26,115:a,130:s},e(t,[2,5]),e(t,[2,6]),{13:[1,33]},{1:[2,1]},e(n,[2,111]),{13:i,16:o,18:36,29:34,30:35,114:26,115:a,130:s},e(c,[2,26]),e(u,[2,80]),e(u,[2,81]),e(u,[2,82]),e(u,[2,140]),e(u,[2,141]),e(l,[2,98],{21:37,60:38,61:[1,39]}),e([28,56,61],[2,8]),{26:40,27:41,28:d,56:[2,102]},e(t,[2,7]),{53:[1,43]},e(p,[2,104],{31:44,27:45,28:d}),{13:i,16:o,18:51,32:46,33:47,35:48,36:49,37:50,38:h,43:53,44:f,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},{22:69,27:70,28:d,56:[2,100]},e(l,[2,99]),{13:i,16:o,18:72,62:71,114:26,115:a,130:s},{23:73,55:74,56:T},{56:[2,103]},{13:i,16:o,18:36,29:76,30:35,114:26,115:a,130:s},e(n,[2,27]),e(p,[2,12]),e(p,[2,105]),e(O,[2,13]),e(x,[2,106],{34:77}),e(A,[2,15]),e(A,[2,16]),e(A,[2,17]),e(I,[2,78]),e(I,[2,79]),{13:i,16:o,18:36,29:78,30:35,114:26,115:a,130:s},e(R,[2,108],{39:79}),e(I,[2,83],{117:[1,80],118:[1,81]}),e(I,[2,86]),e(I,[2,87]),e(I,[2,88]),e(I,[2,89]),e(c,[2,20]),e(P,[2,90]),e(P,[2,91]),e(I,[2,142]),e(I,[2,143]),e(P,[2,144]),e(P,[2,145]),e(P,[2,146]),e(P,[2,147]),{23:82,55:74,56:T},{56:[2,101]},e(l,[2,32],{114:26,18:83,13:i,16:o,115:a,130:s}),e(F,[2,114]),e(r,[2,10]),e(D,[2,112],{59:84}),e(D,[2,29]),e(p,[2,11]),e(O,[2,14],{41:85,42:[1,86]}),{45:87,46:[1,88]},{13:i,16:o,18:51,33:90,35:48,36:49,37:50,38:h,40:[1,89],43:53,44:f,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(I,[2,84]),{13:i,16:o,18:91,114:26,115:a,130:s},e(r,[2,9]),e(F,[2,115]),{13:i,16:o,18:115,38:N,57:92,58:[1,94],63:93,64:95,68:102,69:98,70:100,72:104,73:105,74:107,77:97,78:99,87:j,96:C,97:101,99:103,103:106,105:109,106:113,108:110,109:M,114:26,115:a,125:96,126:k,130:s},e(x,[2,107]),{13:i,16:o,18:51,33:117,35:48,36:49,37:50,38:h,43:53,44:f,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(A,[2,22]),e(A,[2,21]),e(A,[2,18]),e(R,[2,109]),e(I,[2,85]),e(L,[2,31]),e(D,[2,113]),e(L,[2,30]),{47:120,48:[1,121],50:119,53:[2,120],65:118},e(U,[2,118],{70:100,68:102,72:104,73:105,74:107,69:122,87:j,96:C,126:k}),e(U,[2,119]),e(B,[2,116]),e(V,[2,128],{79:123}),e(B,[2,35]),e(V,[2,59]),e(B,[2,36],{71:124,66:125,67:q}),e(H,[2,61],{100:127,98:128,67:$}),e(G,[2,38]),{72:130,74:107,87:j,126:k},e(K,[2,64],{104:131,101:132,102:Q}),{75:[1,134]},e([13,16,56,85,87,95,115,126,128,129,130],[2,58]),e(z,[2,68]),{13:i,16:o,18:115,38:N,105:135,106:113,114:26,115:a,130:s},{75:[2,124]},{75:[2,125]},e(z,[2,66],{107:136,93:[1,138],110:[1,137],111:[1,139]}),e([13,16,38,115,130],[2,70]),e(J,[2,74]),{13:i,16:o,18:115,38:N,97:140,99:103,103:106,105:109,106:113,108:110,109:M,114:26,115:a,130:s},e(x,[2,19]),{53:[1,141]},{53:[2,121]},{13:i,16:o,18:36,29:142,30:35,114:26,115:a,130:s},e(c,[2,23]),e(B,[2,117]),e(U,[2,41],{114:26,55:74,127:143,88:144,82:145,81:147,84:148,73:149,18:150,86:152,23:154,94:155,13:i,16:o,44:[1,146],56:T,85:W,87:X,95:Y,96:C,115:a,128:Z,129:ee,130:s}),e(B,[2,37],{66:159,67:q}),e(G,[2,122]),{68:160,72:104,73:105,74:107,87:j,96:C,126:k},e(H,[2,62],{98:161,67:$}),e(K,[2,134]),{13:i,16:o,18:115,38:N,99:162,103:106,105:109,106:113,108:110,109:M,114:26,115:a,130:s},e(G,[2,39]),e(K,[2,65],{101:163,102:Q}),e(z,[2,136]),{13:i,16:o,18:115,38:N,103:164,105:109,106:113,108:110,109:M,114:26,115:a,130:s},{13:i,16:o,18:51,35:166,44:te,76:165,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(z,[2,69]),e(z,[2,67]),e(z,[2,71]),e(z,[2,72]),e(z,[2,73]),{40:[1,168]},e(D,[2,33]),{48:[1,170],49:169},e(V,[2,129]),e(V,[2,126]),e(V,[2,127]),{89:171,92:[1,172]},e(V,[2,43],{83:173,80:174,67:re}),e(ne,[2,45]),{13:i,16:o,18:150,23:154,55:74,56:T,84:176,85:W,86:152,87:X,94:155,95:Y,114:26,115:a,128:Z,129:ee,130:s},e(ne,[2,47]),e(ne,[2,48]),e(ne,[2,49]),{75:[1,177]},e(ne,[2,51]),e(ne,[2,56]),{13:[1,178]},e(ne,[2,132]),e(ne,[2,133]),e(G,[2,123]),e(G,[2,34]),e(K,[2,135]),e(K,[2,60]),e(z,[2,137]),e(z,[2,63]),e(G,[2,40]),e(ie,[2,76]),e(oe,[2,138],{112:179}),e(J,[2,75]),{53:[2,25]},{53:[2,24]},{90:[1,180]},{90:[2,53]},e(V,[2,44],{80:181,67:re}),e(ne,[2,130]),{13:i,16:o,18:150,23:154,55:74,56:T,73:149,81:182,84:148,85:W,86:152,87:X,94:155,95:Y,96:C,114:26,115:a,128:Z,129:ee,130:s},e(ne,[2,46]),{13:i,16:o,18:51,35:166,44:te,76:183,92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},e(ne,[2,57]),{13:i,16:o,18:51,35:185,46:[1,184],92:y,113:52,114:26,115:a,116:55,119:g,120:m,121:59,122:61,123:62,130:s,131:b,132:_,133:v,134:w,135:S,136:E},{91:186,92:[1,187],93:[1,188]},e(ne,[2,131]),e(ne,[2,42]),e(ne,[2,50]),e(ie,[2,77]),e(oe,[2,139]),{46:[1,189]},{46:[2,54]},{46:[2,55]},e(V,[2,52])],defaultActions:{21:[2,1],41:[2,103],70:[2,101],111:[2,124],112:[2,125],119:[2,121],169:[2,25],170:[2,24],172:[2,53],187:[2,54],188:[2,55]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[null],i=[],o=this.table,a="",s=0,c=0,u=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var h in this.yy)Object.prototype.hasOwnProperty.call(this.yy,h)&&(p.yy[h]=this.yy[h]);d.setInput(e,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;i.push(f);var y,g=d.options&&d.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,_,v,w,S,E,T,O,x={};;){if(_=r[r.length-1],this.defaultActions[_]?v=this.defaultActions[_]:(null==m&&(y=void 0,"number"!=typeof(y=d.lex()||1)&&(y=t.symbols_[y]||y),m=y),v=o[_]&&o[_][m]),void 0===v||!v.length||!v[0]){var A;for(S in O=[],o[_])this.terminals_[S]&&S>2&&O.push("'"+this.terminals_[S]+"'");A=d.showPosition?"Parse error on line "+(s+1)+":\n"+d.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:f,expected:O})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(v[0]){case 1:r.push(m),n.push(d.yytext),i.push(d.yylloc),r.push(v[1]),m=null,b?(m=b,b=null):(c=d.yyleng,a=d.yytext,s=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[v[1]][1],x.$=n[n.length-E],x._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},g&&(x._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(x,[a,c,s,p.yy,v[1],n,i].concat(l))))return w;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[v[1]][0]),n.push(x.$),i.push(x._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}};const se="http://www.w3.org/1999/02/22-rdf-syntax-ns#",ce=se+"type",ue=se+"first",le=se+"rest",de=se+"nil",pe="http://www.w3.org/2001/XMLSchema#",he=pe+"integer",fe=pe+"decimal",ye=pe+"double",ge=pe+"boolean",me="http://www.w3.org/ns/shacl#",be="http://www.w3.org/2002/07/owl#",_e="http://www.w3.org/2000/01/rdf-schema#",ve={[he]:!0,[fe]:!0,[pe+"float"]:!0,[ye]:!0,[pe+"string"]:!0,[ge]:!0,[pe+"dateTime"]:!0,[pe+"nonPositiveInteger"]:!0,[pe+"negativeInteger"]:!0,[pe+"long"]:!0,[pe+"int"]:!0,[pe+"short"]:!0,[pe+"byte"]:!0,[pe+"nonNegativeInteger"]:!0,[pe+"unsignedLong"]:!0,[pe+"unsignedShort"]:!0,[pe+"unsignedByte"]:!0,[pe+"positiveInteger"]:!0,[se+"langString"]:!0};function we(e,t=!1){let r=0,n=e.length;if(t&&0===n)return De.factory.namedNode(de);const i=head=Oe();return 0===n&&Ie(head,De.factory.namedNode(le),De.factory.namedNode(de)),e.forEach((e=>{if(void 0===e)throw new Error("b");Ie(head,De.factory.namedNode(ue),e),Ie(head,De.factory.namedNode(le),head=++r20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;ot[0].length)){if(t=r,n=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{flex:!0,"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 12;case 2:return 14;case 3:return 15;case 4:return 25;case 5:return 20;case 6:return 131;case 7:return 132;case 8:return 85;case 9:return 126;case 10:return 87;case 11:return"PASS";case 12:return"COMMENT";case 13:return 13;case 14:return 16;case 15:return 130;case 16:return 129;case 17:return 128;case 18:return 117;case 19:return 92;case 20:return 119;case 21:return 120;case 22:return"EXPONENT";case 23:return 133;case 24:return 134;case 25:return 135;case 26:return 136;case 27:return 61;case 28:return 90;case 29:return 58;case 30:return 56;case 31:return 38;case 32:return 40;case 33:return 44;case 34:return 46;case 35:return 110;case 36:return 93;case 37:return 111;case 38:return 67;case 39:return 118;case 40:return 53;case 41:return 96;case 42:return 102;case 43:return 75;case 44:return 95;case 45:return 109;case 46:return 28;case 47:return 42;case 48:return 48;case 49:return 115;case 50:return 7;case 51:console.log(t.yytext)}},rules:[/^(?:\s+|#[^\n\r]*)/i,/^(?:BASE)/i,/^(?:IMPORTS)/i,/^(?:PREFIX)/i,/^(?:shapeClass)/i,/^(?:shape)/i,/^(?:true)/i,/^(?:false)/i,/^(?:(BlankNode|IRI|Literal|BlankNodeOrIRI|BlankNodeOrLiteral|IRIOrLiteral\b))/i,/^(?:(targetNode|targetObjectsOf|targetSubjectsOf\b))/i,/^(?:(deactivated|severity|message|class|datatype|nodeKind|minExclusive|minInclusive|maxExclusive|maxInclusive|minLength|maxLength|pattern|flags|languageIn|uniqueLang|equals|disjoint|lessThan|lessThanOrEquals|qualifiedValueShape|qualifiedMinCount|qualifiedMaxCount|qualifiedValueShapesDisjoint|closed|ignoredProperties|hasValue|in))/i,/^(?:([ \t\r\n]+))/i,/^(?:(#[\r\n]*))/i,/^(?:(<([^=<>\"\{\}\|\^`\\\u0000-\u0020]|(\\u([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])|\\U([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])))*>))/i,/^(?:((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:)(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|:|[0-9]|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(@(([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:))/i,/^(?:(@((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.)*((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040]))?)?:)(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|:|[0-9]|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))((((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|\.|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(((([A-Z]|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD])|_\b)|-|[0-9]|[\u00B7]|[\u0300-\u036F]|[\u203F-\u2040])|:|((%([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(@[a-zA-Z]+(-[a-zA-Z0-9]+)*))/i,/^(?:([+-]?[0-9]+))/i,/^(?:([+-]?[0-9]*\.[0-9]+))/i,/^(?:([+-]?([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.?[0-9]+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"\']))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"\']))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"\'])))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"\'])))*"""))/i,/^(?:->)/i,/^(?:\.\.)/i,/^(?:\})/i,/^(?:\{)/i,/^(?:\()/i,/^(?:\))/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\?)/i,/^(?:\*)/i,/^(?:\+)/i,/^(?:\|)/i,/^(?:\^\^)/i,/^(?:\.)/i,/^(?:!)/i,/^(?:\/)/i,/^(?:=)/i,/^(?:@)/i,/^(?:\^)/i,/^(?:;)/i,/^(?:,)/i,/^(?:%)/i,/^(?:a)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return e}();function De(){this.yy={}}return ae.lexer=Fe,De.prototype=ae,ae.Parser=De,new De}();e.exports=t},37141:(e,t,r)=>{const n=r(5148).Parser,i=r(54378);class o{constructor(){}parse(e,{extendedSyntax:t,baseIRI:r}={}){this._parser=new n,this._parser.Parser.factory=i.DataFactory,this._parser.Parser.base=i.DataFactory.namedNode(r||"urn:x-base:default"),this._parser.Parser.extended=!0===t,this._parser.Parser.prefixes={rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",sh:"http://www.w3.org/ns/shacl#",xsd:"http://www.w3.org/2001/XMLSchema#"},this._parser.Parser.currentNodeShape=void 0,this._parser.Parser.currentPropertyNode=void 0,this._parser.Parser.nodeShapeStack=[],this._parser.Parser.tempCurrentNodeShape=void 0,this._parser.Parser.n3Parser=new i.Parser({baseIRI:r||"urn:x-base:default"});const o=[];return this._parser.Parser.onQuad=e=>{o.push(e)},this._parser.parse(e),o.prefixes=this._parser.Parser.prefixes,o}}e.exports.Parser=o,e.exports.parse=function(e,t){return(new o).parse(e,t)}},55977:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(54378),a=r(35030),s=r(46898),c=r(73423),u=i(r(11501)),l=i(r(28630)),d=i(r(76588));function p(e){var t;return null===(t=/^[^]*[#/]/.exec(e))||void 0===t?void 0:t[0]}const h={"http://www.w3.org/1999/02/22-rdf-syntax-ns#":"rdf","http://www.w3.org/2000/01/rdf-schema#":"rdfs","http://www.w3.org/ns/shacl#":"sh","http://www.w3.org/2001/XMLSchema#":"xsd"},f={rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",sh:"http://www.w3.org/ns/shacl#",xsd:"http://www.w3.org/2001/XMLSchema#"};t.default=class{constructor(e,t,r={},n=void 0,i=!0,o=!1,a,s=!1){this.store=e,this.base=n,this.errorOnExtraQuads=i,this.mintUnspecifiedPrefixes=o,this.fetch=a,this.extendedSyntax=s,this.prefixes={},this.prefixRev={};for(const e of Object.keys(r)){const t=r[e],n="string"==typeof t?t:t.value;n in h||e in f||(this.prefixRev[n]=e,this.prefixes[e]=n)}this.writer=t}write(){return n(this,void 0,void 0,(function*(){const e=this.store.getQuads(null,"http://www.w3.org/1999/02/22-rdf-syntax-ns#type","http://www.w3.org/2002/07/owl#Ontology",null);if(1!==e.length||"NamedNode"!==e[0].subject.termType)throw new Error("Base expected");{const t=e[0].subject;this.store.removeQuads(e),t.equals(new o.NamedNode("urn:x-base:default"))||this.writer.add(`BASE ${(0,s.termToString)(t)}`),yield this.writeImports(t)}if(this.mintUnspecifiedPrefixes){const e=new Set;for(const t of[...this.store.getSubjects(null,null,null),...this.store.getPredicates(null,null,null),...this.store.getObjects(null,null,null)])if("NamedNode"===t.termType){const r=p(t.value);!r||r in this.prefixRev||r in h||e.add(r)}const t=Object.assign(Object.assign({},this.prefixes),f);yield Promise.all([...e].map((e=>(0,a.uriToPrefix)(e,{fetch:this.fetch,mintOnUnknown:!0,existingPrefixes:t}).then((r=>{this.prefixes[r]=e,t[r]=e,this.prefixRev[e]=r})))))}const t=new Set([...this.store.getSubjects(null,null,null),...this.store.getPredicates(null,null,null),...this.store.getObjects(null,null,null)].filter((e=>"NamedNode"===e.termType)).map((e=>p(e.value))).filter((e=>"string"==typeof e)));for(const e in this.prefixRev)t.has(e)||(delete this.prefixes[this.prefixRev[e]],delete this.prefixRev[e]);if(yield this.writePrefixes(),this.prefixes=Object.assign(Object.assign({},this.prefixes),f),this.prefixRev=Object.assign(Object.assign({},this.prefixRev),h),this.writer.newLine(),yield this.writeShapes(),this.extendedSyntax){const e=this.store.getSubjects(null,null,null);e.length>0&&this.writer.newLine(1);for(const t of e)this.writer.add(yield this.termToString(t,!0,!0)),this.writer.add(" "),this.writer.indent(),yield this.writeTurtlePredicates(t),this.writer.deindent();e.length>0&&(this.writer.add(" ."),this.writer.newLine())}if(this.errorOnExtraQuads&&this.store.size>0)throw new Error("Dataset contains quads that cannot be written in SHACLC");this.writer.end()}))}writeImports(e){return n(this,void 0,void 0,(function*(){const t=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/2002/07/owl#imports"),null);if(t.length>0)for(const e of t)this.writer.add(`IMPORTS <${e.value}>`,!0)}))}writePrefixes(){return n(this,void 0,void 0,(function*(){const e=Object.keys(this.prefixes).filter((e=>!(e in l.default))).sort();if(e.length>0)for(const t of e)this.writer.add(`PREFIX ${t}: <${this.prefixes[t]}>`,!0)}))}termToString(e,t=!1,r=!1){return n(this,void 0,void 0,(function*(){try{if(t)throw new Error("Shacl name disabled");return(0,c.getShaclName)(e)}catch(e){}if("NamedNode"===e.termType){const t=p(e.value);return t&&t in this.prefixRev&&t in this.prefixRev?`${this.prefixRev[t]}:${e.value.slice(t.length)}`:(0,s.termToString)(e)}if("Literal"===e.termType)return"http://www.w3.org/2001/XMLSchema#integer"===e.datatypeString||"http://www.w3.org/2001/XMLSchema#boolean"===e.datatypeString?e.value:(0,s.termToString)(e);throw"BlankNode"===e.termType&&r&&(0,s.termToString)(e),new Error(`Invalid term type for extra statement ${e.value} (${e.termType})`)}))}writeShapes(){return n(this,void 0,void 0,(function*(){for(const e of this.store.getSubjectsOnce(new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),new o.NamedNode("http://www.w3.org/ns/shacl#NodeShape"),null)){this.store.getQuadsOnce(e,new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),new o.NamedNode("http://www.w3.org/2000/01/rdf-schema#Class"),null).length>0?this.writer.add("shapeClass "):this.writer.add("shape "),this.writer.add(yield this.termToString(e)),this.writer.add(" ");const t=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#targetClass"),null);if(t.length>0){this.writer.add("-> ");for(const e of t)"NamedNode"===e.termType?this.writer.add(yield this.termToString(e)):(this.writer.add("!"),this.writer.add(yield this.termToString(this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#not"),!0)))),this.writer.add(" ")}const r=this.store.getPredicates(e,null,null).filter((e=>[new o.NamedNode("http://www.w3.org/ns/shacl#targetClass"),new o.NamedNode("http://www.w3.org/ns/shacl#property"),new o.NamedNode("http://www.w3.org/ns/shacl#or"),...Object.keys(d.default).map((e=>new o.NamedNode("http://www.w3.org/ns/shacl#"+e)))].every((t=>!e.equals(t)))));r.length>0&&(this.writer.add(";"),this.writer.indent(),this.writer.newLine(1)),this.extendedSyntax&&(yield this.writeGivenTurtlePredicates(e,r)),r.length>0&&(this.writer.add(" "),this.writer.deindent()),yield this.writeShapeBody(e,!1)}}))}getSingleProperty(e,t){let r=[e];try{let n=(0,c.getShaclName)(e.predicate),i="pred";if("not"===n){const t=this.store.getQuadsOnce(e.object,null,null,null);if(r=r.concat(t),1!==t.length)throw new Error("Can only handle having one predicate of 'not'");[e]=t,n=(0,c.getShaclName)(e.predicate),i="not"}if(!(n in t))throw new Error(`${n} is not allowed`);return{name:n,type:i,object:e.object}}catch(e){this.store.addQuads(r)}}singleLayerPropertiesList(e,t){const r=[];for(const n of this.store.getQuadsOnce(e,null,null,null)){const e=this.getSingleProperty(n,t);e&&r.push(e)}return r}expectOneProperty(e,t){const r=this.store.getQuadsOnce(e,null,null,null);if(1===r.length){const e=this.getSingleProperty(r[0],t);if(e)return e}this.store.addQuads(r)}orProperties(e,t){const r=[];for(const n of this.store.getQuadsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#or"),null,null)){const e=[];for(const r of this.getList(n.object)){const i=this.expectOneProperty(r,t);if(!i)throw this.store.addQuad(n),new Error("Each entry of the 'or' statement must declare exactly one property");e.push(i)}r.push(e)}return r}getList(e){let t=e;const r=[];for(;!t.equals(new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"));)r.push(this.singleObject(t,new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first"),!0)),t=this.singleObject(t,new o.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest"),!0);return r}writeIriLiteralOrArray(e){return n(this,void 0,void 0,(function*(){if("BlankNode"===e.termType){this.writer.add("[");let t=!0;for(const r of this.getList(e))t?t=!1:this.writer.add(" "),this.writer.add(yield this.termToString(r));this.writer.add("]")}else this.writer.add(yield this.termToString(e))}))}singleObject(e,t,r){var n;return null===(n=this.singleQuad(e,t,r))||void 0===n?void 0:n.object}singleQuad(e,t,r=!1){const n=this.store.getQuadsOnce(e,t,null,null);if(r&&1!==n.length)throw this.store.addQuads(n),new Error(`The subject and predicate ${null==e?void 0:e.value} ${null==t?void 0:t.value} must have exactly one object. Instead has ${n.length}`);if(n.length>1)throw this.store.addQuads(n),new Error(`The subject and predicate ${null==e?void 0:e.value} ${null==t?void 0:t.value} can have at most one object. Instead has ${n.length}`);return 1===n.length?n[0]:void 0}writeAssigment({name:e,type:t,object:r}){return n(this,void 0,void 0,(function*(){"not"===t&&this.writer.add("!"),this.writer.add(e),this.writer.add("="),yield this.writeIriLiteralOrArray(r)}))}writeAtom({name:e,type:t,object:r}){return n(this,void 0,void 0,(function*(){switch("not"===t&&this.writer.add("!"),e){case"node":if("NamedNode"===r.termType)this.writer.add(`@${yield this.termToString(r)}`);else{if("BlankNode"!==r.termType)throw new Error("Invalid nested shape, must be blank node or IRI");yield this.writeShapeBody(r)}return;case"nodeKind":return void this.writer.add((0,c.getShaclName)(r));case"class":case"datatype":return void this.writer.add(yield this.termToString(r));default:this.writer.add(e),this.writer.add("="),yield this.writeIriLiteralOrArray(r)}}))}writeAssigments(e,t=" ",r=!0,i){return n(this,void 0,void 0,(function*(){for(const n of e)r?r=!1:this.writer.add(t),i?yield this.writeAtom(n):yield this.writeAssigment(n)}))}writeParams(e,t=!0,r,i=!1,o=!1){return n(this,void 0,void 0,(function*(){const n=this.orProperties(e,r),a=this.singleLayerPropertiesList(e,r);o&&(n.length>0||a.length>0)&&this.writer.newLine(1);for(const e of n)t?t=!1:this.writer.add(" "),yield this.writeAssigments(e,"|",!0,i);yield this.writeAssigments(a," ",t,i),o&&(n.length>0||a.length>0)&&this.writer.add(" .")}))}writeShapeBody(e,t=!0){return n(this,void 0,void 0,(function*(){this.writer.add("{").indent();const r=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#property"),null);yield this.writeParams(e,!0,d.default,!1,!0);for(const e of r)this.writer.newLine(1),yield this.writeProperty(e);this.writer.deindent().newLine(1),t?this.writer.add("} ."):this.writer.add("}").newLine(1)}))}writeProperty(e){return n(this,void 0,void 0,(function*(){yield this.writePath(this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#path"),!0));const t=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#minCount")),r=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#maxCount")),n=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#nodeKind")),i=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#class")),a=this.singleObject(e,new o.NamedNode("http://www.w3.org/ns/shacl#datatype")),s=this.store.getObjectsOnce(e,new o.NamedNode("http://www.w3.org/ns/shacl#node"),null);if(n&&(this.writer.add(" "),this.writer.add((0,c.getShaclName)(n))),i&&(this.writer.add(" "),this.writer.add(yield this.termToString(i))),a&&(this.writer.add(" "),this.writer.add(yield this.termToString(a))),void 0!==t||void 0!==r){if(this.writer.add(" ["),t){if("Literal"!==t.termType||"http://www.w3.org/2001/XMLSchema#integer"!==t.datatypeString)throw new Error("Invalid min value, must me an integer literal");this.writer.add(t.value)}else this.writer.add("0");if(this.writer.add(".."),r){if("Literal"!==r.termType||"http://www.w3.org/2001/XMLSchema#integer"!==r.datatypeString)throw new Error("Invalid max value, must me an integer literal");this.store.removeMatches(e,new o.NamedNode("http://www.w3.org/ns/shacl#maxCount"),void 0,void 0),this.writer.add(r.value)}else this.writer.add("*");this.writer.add("]")}yield this.writeParams(e,!1,u.default,!0);const l=[];for(const e of s)if("NamedNode"===e.termType)this.writer.add(" "),this.writer.add(`@${yield this.termToString(e)}`);else{if("BlankNode"!==e.termType)throw new Error("Invalid nested shape, must be blank node or IRI");l.push(e)}for(const e of l)this.writer.add(" "),yield this.writeShapeBody(e);this.extendedSyntax&&this.store.getQuads(e,null,null,null).length>0&&(this.writer.add(" %"),this.writer.indent(),this.writer.newLine(1),yield this.writeTurtlePredicates(e),this.writer.deindent(),this.writer.newLine(1),this.writer.add("%")),0===l.length&&this.writer.add(" .")}))}writeTurtlePredicates(e){return n(this,void 0,void 0,(function*(){return this.writeGivenTurtlePredicates(e,this.store.getPredicates(e,null,null))}))}writeGivenTurtlePredicates(e,t){return n(this,void 0,void 0,(function*(){let r=!1;if(t.some((e=>e.equals(o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"))))){const t=this.store.getObjectsOnce(e,o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),null);t.length>0&&(r=!0,this.writer.add("a "),yield this.writeTurtleObjects(t))}for(const n of t)n.equals(o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"))||(r?(this.writer.add(" ;"),this.writer.newLine(1)):r=!0,this.writer.add(yield this.termToString(n,!0)),this.writer.add(" "),yield this.writeTurtleObjects(this.store.getObjectsOnce(e,n,null)))}))}writeTurtleObjects(e){return n(this,void 0,void 0,(function*(){const t=[],r=[];for(const n of e)"BlankNode"===n.termType&&0===[...this.store.match(null,null,n),...this.store.match(null,n,null)].length?t.push(n):r.push(n);this.writer.add((yield Promise.all(r.map((e=>this.termToString(e,!0,!0))))).join(", "));let n=r.length>0;if(t.length>0)for(const e of t)n?this.writer.add(", "):n=!0,(yield this.writeList(e))||(this.writer.add("["),this.writer.indent(),this.writer.newLine(1),yield this.writeTurtlePredicates(e),this.writer.deindent(),this.writer.newLine(1),this.writer.add("]"))}))}writeList(e){return n(this,void 0,void 0,(function*(){let t=e;const r=[],n=[];for(;!t.equals(o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"));){const e=this.store.getQuadsOnce(t,o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#first"),null,null),i=this.store.getQuadsOnce(t,o.DataFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest"),null,null);if(n.push(...e,...i),1!==e.length||1!==i.length||0!==this.store.getQuads(t,null,null,null).length)return this.store.addQuads(n),!1;r.push(e[0].object),t=i[0].object}let i=!1;this.writer.add("(");for(const e of r)i?this.writer.add(" "):i=!0,yield this.writeTurtleObjects([e]);return this.writer.add(")"),!0}))}writePath(e,t=!1){return n(this,void 0,void 0,(function*(){if("NamedNode"===e.termType)this.writer.add(yield this.termToString(e));else{if("BlankNode"!==e.termType)throw new Error("Path should be named node or blank node");{const r=this.store.getQuadsOnce(e,null,null,null);if(1===r.length){const{predicate:n,object:i}=r[0];switch(n.value){case"http://www.w3.org/ns/shacl#inversePath":return this.writer.add("^"),void(yield this.writePath(i,!0));case"http://www.w3.org/ns/shacl#alternativePath":{const e=this.getList(i);if(0===e.length)throw new Error("Invalid Alternative Path - no options");if(1===e.length)yield this.writePath(e[0]);else{t&&this.writer.add("(");let r=!0;for(const t of e)r?r=!1:this.writer.add("|"),yield this.writePath(t,!0);t&&this.writer.add(")")}return}case"http://www.w3.org/ns/shacl#zeroOrMorePath":return yield this.writePath(i,!0),void this.writer.add("*");case"http://www.w3.org/ns/shacl#oneOrMorePath":return yield this.writePath(i,!0),void this.writer.add("+");case"http://www.w3.org/ns/shacl#zeroOrOnePath":return yield this.writePath(i,!0),void this.writer.add("?");default:throw new Error(`Invalid path type ${e.value}`)}}else{this.store.addQuads(r);const n=this.getList(e);if(0===n.length)throw new Error("Invalid Path");{t&&this.writer.add("(");let e=!0;for(const t of n)e?e=!1:this.writer.add("/"),yield this.writePath(t,!0);t&&this.writer.add(")")}}}}}))}}},28630:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={owl:"http://www.w3.org/2002/07/owl#",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",sh:"http://www.w3.org/ns/shacl#",xsd:"http://www.w3.org/2001/XMLSchema#"}},94174:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.write=void 0;const o=r(54378),a=i(r(55977)),s=i(r(51167)),c=i(r(18996));t.write=function(e,t){return n(this,void 0,void 0,(function*(){return new Promise(((r,i)=>n(this,void 0,void 0,(function*(){try{let n="";const i=new c.default(e),u=i.getGraphs(null,null,null);if(u.length>1)throw new Error("More than one graph found - can serialize in the default graph");if(1===u.length&&!u[0].equals(o.DataFactory.defaultGraph()))throw new Error(`Expected all triples to be in the default graph, instead triples were in ${u[0].value}`);const l=new s.default({write:e=>{n+=e},end:()=>{let e=i.getQuads(null,null,null,null);0===e.length&&(e=void 0),r({text:n,extraQuads:e})}}),d=new a.default(i,l,null==t?void 0:t.prefixes,void 0,!1!==(null==t?void 0:t.errorOnUnused),null==t?void 0:t.mintPrefixes,null==t?void 0:t.fetch,null==t?void 0:t.extendedSyntax);yield d.write()}catch(e){i(e)}}))))}))}},76588:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={targetNode:!0,targetObjectsOf:!0,targetSubjectsOf:!0,deactivated:!0,severity:!0,message:!0,class:!0,datatype:!0,nodeKind:!0,minExclusive:!0,minInclusive:!0,maxExclusive:!0,maxInclusive:!0,minLength:!0,maxLength:!0,pattern:!0,flags:!0,languageIn:!0,equals:!0,disjoint:!0,closed:!0,ignoredProperties:!0,hasValue:!0,in:!0}},11501:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={deactivated:!0,severity:!0,message:!0,class:!0,datatype:!0,nodeKind:!0,minExclusive:!0,minInclusive:!0,maxExclusive:!0,maxInclusive:!0,minLength:!0,maxLength:!0,pattern:!0,flags:!0,languageIn:!0,uniqueLang:!0,equals:!0,disjoint:!0,lessThan:!0,lessThanOrEquals:!0,qualifiedValueShape:!0,qualifiedMinCount:!0,qualifiedMaxCount:!0,qualifiedValueShapesDisjoint:!0,closed:!0,ignoredProperties:!0,hasValue:!0,in:!0,node:!0}},73423:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShaclName=void 0,t.getShaclName=function(e){if("NamedNode"!==e.termType||!e.value.startsWith("http://www.w3.org/ns/shacl#"))throw new Error(`Term ${e.value} is not part of the SHACL namespace`);return e.value.slice(27)}},18996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(54378);class i extends n.Store{getQuadsOnce(e,t,r,n){const i=this.getQuads(e,t,r,n);return this.removeQuads(i),i}getSubjectsOnce(e,t,r){return this.getQuadsOnce(null,e,t,r).map((e=>e.subject))}getObjectsOnce(e,t,r){return this.getQuadsOnce(e,t,null,r).map((e=>e.object))}}t.default=i},51167:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.indents=0,this.write=e.write,this.end=e.end}indent(){return this.indents+=1,this}deindent(){if(this.indents<1)throw new Error(`Trying to deindent when indent is only ${this.indents}`);return this.indents-=1,this}add(e,t=!1){return this.write(t?`\n${"\t".repeat(this.indents)}${e}`:e,"utf-8"),this}newLine(e=2){return this.write("\n".repeat(e)+"\t".repeat(this.indents),"utf-8"),this}}},75735:e=>{e.exports=function(e){"use strict";var t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function r(e,t){var r=e[0],n=e[1],i=e[2],o=e[3];n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[0]-680876936|0)<<7|r>>>25)+n|0)&n|~r&i)+t[1]-389564586|0)<<12|o>>>20)+r|0)&r|~o&n)+t[2]+606105819|0)<<17|i>>>15)+o|0)&o|~i&r)+t[3]-1044525330|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[4]-176418897|0)<<7|r>>>25)+n|0)&n|~r&i)+t[5]+1200080426|0)<<12|o>>>20)+r|0)&r|~o&n)+t[6]-1473231341|0)<<17|i>>>15)+o|0)&o|~i&r)+t[7]-45705983|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[8]+1770035416|0)<<7|r>>>25)+n|0)&n|~r&i)+t[9]-1958414417|0)<<12|o>>>20)+r|0)&r|~o&n)+t[10]-42063|0)<<17|i>>>15)+o|0)&o|~i&r)+t[11]-1990404162|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+t[12]+1804603682|0)<<7|r>>>25)+n|0)&n|~r&i)+t[13]-40341101|0)<<12|o>>>20)+r|0)&r|~o&n)+t[14]-1502002290|0)<<17|i>>>15)+o|0)&o|~i&r)+t[15]+1236535329|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[1]-165796510|0)<<5|r>>>27)+n|0)&i|n&~i)+t[6]-1069501632|0)<<9|o>>>23)+r|0)&n|r&~n)+t[11]+643717713|0)<<14|i>>>18)+o|0)&r|o&~r)+t[0]-373897302|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[5]-701558691|0)<<5|r>>>27)+n|0)&i|n&~i)+t[10]+38016083|0)<<9|o>>>23)+r|0)&n|r&~n)+t[15]-660478335|0)<<14|i>>>18)+o|0)&r|o&~r)+t[4]-405537848|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[9]+568446438|0)<<5|r>>>27)+n|0)&i|n&~i)+t[14]-1019803690|0)<<9|o>>>23)+r|0)&n|r&~n)+t[3]-187363961|0)<<14|i>>>18)+o|0)&r|o&~r)+t[8]+1163531501|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+t[13]-1444681467|0)<<5|r>>>27)+n|0)&i|n&~i)+t[2]-51403784|0)<<9|o>>>23)+r|0)&n|r&~n)+t[7]+1735328473|0)<<14|i>>>18)+o|0)&r|o&~r)+t[12]-1926607734|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[5]-378558|0)<<4|r>>>28)+n|0)^n^i)+t[8]-2022574463|0)<<11|o>>>21)+r|0)^r^n)+t[11]+1839030562|0)<<16|i>>>16)+o|0)^o^r)+t[14]-35309556|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[1]-1530992060|0)<<4|r>>>28)+n|0)^n^i)+t[4]+1272893353|0)<<11|o>>>21)+r|0)^r^n)+t[7]-155497632|0)<<16|i>>>16)+o|0)^o^r)+t[10]-1094730640|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[13]+681279174|0)<<4|r>>>28)+n|0)^n^i)+t[0]-358537222|0)<<11|o>>>21)+r|0)^r^n)+t[3]-722521979|0)<<16|i>>>16)+o|0)^o^r)+t[6]+76029189|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+t[9]-640364487|0)<<4|r>>>28)+n|0)^n^i)+t[12]-421815835|0)<<11|o>>>21)+r|0)^r^n)+t[15]+530742520|0)<<16|i>>>16)+o|0)^o^r)+t[2]-995338651|0)<<23|n>>>9)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[0]-198630844|0)<<6|r>>>26)+n|0)|~i))+t[7]+1126891415|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[14]-1416354905|0)<<15|i>>>17)+o|0)|~r))+t[5]-57434055|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[12]+1700485571|0)<<6|r>>>26)+n|0)|~i))+t[3]-1894986606|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[10]-1051523|0)<<15|i>>>17)+o|0)|~r))+t[1]-2054922799|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[8]+1873313359|0)<<6|r>>>26)+n|0)|~i))+t[15]-30611744|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[6]-1560198380|0)<<15|i>>>17)+o|0)|~r))+t[13]+1309151649|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+t[4]-145523070|0)<<6|r>>>26)+n|0)|~i))+t[11]-1120210379|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+t[2]+718787259|0)<<15|i>>>17)+o|0)|~r))+t[9]-343485551|0)<<21|n>>>11)+i|0,e[0]=r+e[0]|0,e[1]=n+e[1]|0,e[2]=i+e[2]|0,e[3]=o+e[3]|0}function n(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return r}function i(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return r}function o(e){var t,i,o,a,s,c,u=e.length,l=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=u;t+=64)r(l,n(e.substring(t-64,t)));for(i=(e=e.substring(t-64)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t>2]|=e.charCodeAt(t)<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(r(l,o),t=0;t<16;t+=1)o[t]=0;return a=(a=8*u).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),c=parseInt(a[1],16)||0,o[14]=s,o[15]=c,r(l,o),l}function a(e){var r,n="";for(r=0;r<4;r+=1)n+=t[e>>8*r+4&15]+t[e>>8*r&15];return n}function s(e){var t;for(t=0;tu?new ArrayBuffer(0):(n=u-c,i=new ArrayBuffer(n),o=new Uint8Array(i),a=new Uint8Array(this,c,n),o.set(a),i)}}(),l.prototype.append=function(e){return this.appendBinary(c(e)),this},l.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,i=this._buff.length;for(t=64;t<=i;t+=64)r(this._hash,n(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},l.prototype.end=function(e){var t,r,n=this._buff,i=n.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t>2]|=n.charCodeAt(t)<<(t%4<<3);return this._finish(o,i),r=s(this._hash),e&&(r=u(r)),this.reset(),r},l.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},l.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},l.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},l.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},l.prototype._finish=function(e,t){var n,i,o,a=t;if(e[a>>2]|=128<<(a%4<<3),a>55)for(r(this._hash,e),a=0;a<16;a+=1)e[a]=0;n=(n=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),o=parseInt(n[1],16)||0,e[14]=i,e[15]=o,r(this._hash,e)},l.hash=function(e,t){return l.hashBinary(c(e),t)},l.hashBinary=function(e,t){var r=s(o(e));return t?u(r):r},l.ArrayBuffer=function(){this.reset()},l.ArrayBuffer.prototype.append=function(e){var t,n,o,a,s,c=(n=this._buff.buffer,o=e,a=!0,(s=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n)),s.set(new Uint8Array(o),n.byteLength),a?s:s.buffer),u=c.length;for(this._length+=e.byteLength,t=64;t<=u;t+=64)r(this._hash,i(c.subarray(t-64,t)));return this._buff=t-64>2]|=n[t]<<(t%4<<3);return this._finish(o,i),r=s(this._hash),e&&(r=u(r)),this.reset(),r},l.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},l.ArrayBuffer.prototype.getState=function(){var e,t=l.prototype.getState.call(this);return t.buff=(e=t.buff,String.fromCharCode.apply(null,new Uint8Array(e))),t},l.ArrayBuffer.prototype.setState=function(e){return e.buff=function(e,t){var r,n=e.length,i=new ArrayBuffer(n),o=new Uint8Array(i);for(r=0;r>2]|=e[t]<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(r(l,o),t=0;t<16;t+=1)o[t]=0;return a=(a=8*u).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),c=parseInt(a[1],16)||0,o[14]=s,o[15]=c,r(l,o),l}(new Uint8Array(e)));return t?u(n):n},l}()},96331:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.toSparqlJs=t.toSparql=t.Factory=t.Algebra=t.translate=void 0;const s=a(r(73776));t.translate=s.default;const c=o(r(13079));t.Algebra=c;const u=a(r(91409));t.Factory=u.default;const l=r(3698);Object.defineProperty(t,"toSparql",{enumerable:!0,get:function(){return l.toSparql}}),Object.defineProperty(t,"toSparqlJs",{enumerable:!0,get:function(){return l.toSparqlJs}});const d=a(r(64995));t.Util=d.default},13079:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.expressionTypes=t.types=void 0,(n=t.types||(t.types={})).ALT="alt",n.ASK="ask",n.BGP="bgp",n.CONSTRUCT="construct",n.DESCRIBE="describe",n.DISTINCT="distinct",n.EXPRESSION="expression",n.EXTEND="extend",n.FILTER="filter",n.FROM="from",n.GRAPH="graph",n.GROUP="group",n.INV="inv",n.JOIN="join",n.LEFT_JOIN="leftjoin",n.LINK="link",n.MINUS="minus",n.NOP="nop",n.NPS="nps",n.ONE_OR_MORE_PATH="OneOrMorePath",n.ORDER_BY="orderby",n.PATH="path",n.PATTERN="pattern",n.PROJECT="project",n.REDUCED="reduced",n.SEQ="seq",n.SERVICE="service",n.SLICE="slice",n.UNION="union",n.VALUES="values",n.ZERO_OR_MORE_PATH="ZeroOrMorePath",n.ZERO_OR_ONE_PATH="ZeroOrOnePath",n.COMPOSITE_UPDATE="compositeupdate",n.DELETE_INSERT="deleteinsert",n.LOAD="load",n.CLEAR="clear",n.CREATE="create",n.DROP="drop",n.ADD="add",n.MOVE="move",n.COPY="copy",(r=t.expressionTypes||(t.expressionTypes={})).AGGREGATE="aggregate",r.EXISTENCE="existence",r.NAMED="named",r.OPERATOR="operator",r.TERM="term",r.WILDCARD="wildcard"},91409:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(13079)),s=r(47793),c=r(43347),u=r(98082);t.default=class{constructor(e){this.dataFactory=e||new s.DataFactory,this.stringType=this.createTerm("http://www.w3.org/2001/XMLSchema#string")}createAlt(e,t=!0){return this.flattenMulti({type:a.types.ALT,input:e},t)}createAsk(e){return{type:a.types.ASK,input:e}}createBoundAggregate(e,t,r,n,i){const o=this.createAggregateExpression(t,r,n,i);return o.variable=e,o}createBgp(e){return{type:a.types.BGP,patterns:e}}createConstruct(e,t){return{type:a.types.CONSTRUCT,input:e,template:t}}createDescribe(e,t){return{type:a.types.DESCRIBE,input:e,terms:t}}createDistinct(e){return{type:a.types.DISTINCT,input:e}}createExtend(e,t,r){return{type:a.types.EXTEND,input:e,variable:t,expression:r}}createFrom(e,t,r){return{type:a.types.FROM,input:e,default:t,named:r}}createFilter(e,t){return{type:a.types.FILTER,input:e,expression:t}}createGraph(e,t){return{type:a.types.GRAPH,input:e,name:t}}createGroup(e,t,r){return{type:a.types.GROUP,input:e,variables:t,aggregates:r}}createInv(e){return{type:a.types.INV,path:e}}createJoin(e,t=!0){return this.flattenMulti({type:a.types.JOIN,input:e},t)}createLeftJoin(e,t,r){return r?{type:a.types.LEFT_JOIN,input:[e,t],expression:r}:{type:a.types.LEFT_JOIN,input:[e,t]}}createLink(e){return{type:a.types.LINK,iri:e}}createMinus(e,t){return{type:a.types.MINUS,input:[e,t]}}createNop(){return{type:a.types.NOP}}createNps(e){return{type:a.types.NPS,iris:e}}createOneOrMorePath(e){return{type:a.types.ONE_OR_MORE_PATH,path:e}}createOrderBy(e,t){return{type:a.types.ORDER_BY,input:e,expressions:t}}createPath(e,t,r,n){return n?{type:a.types.PATH,subject:e,predicate:t,object:r,graph:n}:{type:a.types.PATH,subject:e,predicate:t,object:r,graph:this.dataFactory.defaultGraph()}}createPattern(e,t,r,n){const i=this.dataFactory.quad(e,t,r,n);return i.type=a.types.PATTERN,i}createProject(e,t){return{type:a.types.PROJECT,input:e,variables:t}}createReduced(e){return{type:a.types.REDUCED,input:e}}createSeq(e,t=!0){return this.flattenMulti({type:a.types.SEQ,input:e},t)}createService(e,t,r){return{type:a.types.SERVICE,input:e,name:t,silent:Boolean(r)}}createSlice(e,t,r){return t=t||0,void 0!==r?{type:a.types.SLICE,input:e,start:t,length:r}:{type:a.types.SLICE,input:e,start:t}}createUnion(e,t=!0){return this.flattenMulti({type:a.types.UNION,input:e},t)}createValues(e,t){return{type:a.types.VALUES,variables:e,bindings:t}}createZeroOrMorePath(e){return{type:a.types.ZERO_OR_MORE_PATH,path:e}}createZeroOrOnePath(e){return{type:a.types.ZERO_OR_ONE_PATH,path:e}}createAggregateExpression(e,t,r,n){return n?{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,separator:n,distinct:r}:{type:a.types.EXPRESSION,expressionType:a.expressionTypes.AGGREGATE,aggregator:e,expression:t,distinct:r}}createExistenceExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.EXISTENCE,not:e,input:t}}createNamedExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.NAMED,name:e,args:t}}createOperatorExpression(e,t){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.OPERATOR,operator:e,args:t}}createTermExpression(e){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.TERM,term:e}}createWildcardExpression(){return{type:a.types.EXPRESSION,expressionType:a.expressionTypes.WILDCARD,wildcard:new u.Wildcard}}createTerm(e){return"$"===e[0]&&(e=e.replace("$","?")),(0,c.stringToTerm)(e,this.dataFactory)}createCompositeUpdate(e){return{type:a.types.COMPOSITE_UPDATE,updates:e}}createDeleteInsert(e,t,r){const n={type:a.types.DELETE_INSERT};return e&&(n.delete=e),t&&(n.insert=t),r&&(n.where=r),n}createLoad(e,t,r){const n={type:a.types.LOAD,source:e};return t&&(n.destination=t),this.addSilent(n,Boolean(r))}createClear(e,t){return this.addSilent({type:a.types.CLEAR,source:e},Boolean(t))}createCreate(e,t){return this.addSilent({type:a.types.CREATE,source:e},Boolean(t))}createDrop(e,t){return this.addSilent({type:a.types.DROP,source:e},Boolean(t))}createAdd(e,t,r){return this.addSilent({type:a.types.ADD,source:e,destination:t},Boolean(r))}createMove(e,t,r){return this.addSilent({type:a.types.MOVE,source:e,destination:t},Boolean(r))}createCopy(e,t,r){return this.addSilent({type:a.types.COPY,source:e,destination:t},Boolean(r))}addSilent(e,t){return t&&(e.silent=t),e}flattenMulti(e,t){if(!t)return e;const r=e.type,n=e.input;let i=[];for(const e of n)e.type===r?i.push(...e.input):i.push(e);return e.input=i,e}}},3698:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.toSparqlJs=t.toSparql=void 0;const s=r(62699),c=r(43347),u=r(98082),l=o(r(13079)),d=a(r(91409)),p=a(r(64995)),h=l.types,f=l.expressionTypes;let y;const g=new d.default;function m(e){b();let t=_(e=function(e){return D(e,[])}(e));return"group"===t.type?t.patterns[0]:t}function b(){y={project:!1,extend:[],group:[],aggregates:[],order:[]}}function _(e){switch(e.type!==h.EXTEND&&e.type!==h.ORDER_BY&&e.type!==h.GRAPH&&(y.project=!1),e.type){case h.EXPRESSION:return v(e);case h.ASK:return A(e,h.ASK);case h.BGP:return function(e){let t=e.patterns.map(O);return 0===t.length?null:{type:"bgp",triples:t}}(e);case h.CONSTRUCT:return function(e){return{type:"query",prefixes:{},queryType:"CONSTRUCT",template:e.template.map(O),where:p.default.flatten([_(e.input)])}}(e);case h.DESCRIBE:return A(e,h.DESCRIBE);case h.DISTINCT:return function(e){let t=_(e.input);return t.patterns[0].distinct=!0,t}(e);case h.EXTEND:return function(e){return y.project?(y.extend.push(e),_(e.input)):p.default.flatten([_(e.input),{type:"bind",variable:e.variable,expression:v(e.expression)}])}(e);case h.FROM:return function(e){const t=_(e.input);let r=t;return"group"===t.type&&(r=t.patterns[0]),r.from={default:e.default,named:e.named},t}(e);case h.FILTER:return function(e){return{type:"group",patterns:p.default.flatten([_(e.input),{type:"filter",expression:v(e.expression)}])}}(e);case h.GRAPH:return function(e){return{type:"graph",patterns:p.default.flatten([_(e.input)]),name:e.name}}(e);case h.GROUP:return function(e){const t=_(e.input),r=e.aggregates.map(T);return y.aggregates.push(...r),y.group.push(...e.variables),t}(e);case h.JOIN:return function(e){return p.default.flatten(e.input.map(_)).reduce(((e,t)=>("bgp"!==t.type||0==e.length||"bgp"!==e[e.length-1].type?e.push(t):e[e.length-1].triples.push(...t.triples),e)),[])}(e);case h.LEFT_JOIN:return function(e){const t={type:"optional",patterns:[_(e.input[1])]};return e.expression&&t.patterns.push({type:"filter",expression:v(e.expression)}),t.patterns=p.default.flatten(t.patterns),p.default.flatten([_(e.input[0]),t])}(e);case h.MINUS:return function(e){let t=_(e.input[1]);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),p.default.flatten([_(e.input[0]),{type:"minus",patterns:t}])}(e);case h.NOP:return{};case h.ORDER_BY:return function(e){return y.order.push(...e.expressions),_(e.input)}(e);case h.PATH:return function(e){return{type:"bgp",triples:[{subject:e.subject,predicate:w(e.predicate),object:e.object}]}}(e);case h.PATTERN:return O(e);case h.PROJECT:return A(e,h.PROJECT);case h.REDUCED:return function(e){let t=_(e.input);return t.patterns[0].reduced=!0,t}(e);case h.SERVICE:return function(e){let t=_(e.input);return"group"===t.type&&(t=t.patterns),Array.isArray(t)||(t=[t]),{type:"service",name:e.name,silent:e.silent,patterns:t}}(e);case h.SLICE:return function(e){let t=_(e.input),r=t;return t.type&&"group"===t.type&&(r=t.patterns[0]),0!==e.start&&(r.offset=e.start),void 0!==e.length&&(r.limit=e.length),t}(e);case h.UNION:return function(e){return{type:"union",patterns:e.input.map(_).map(E)}}(e);case h.VALUES:return function(e){return{type:"values",values:e.bindings.map((t=>{let r={};for(let n of e.variables){let e=`?${n.value}`;t[e]?r[e]=t[e]:r[e]=void 0}return r}))}}(e);case h.COMPOSITE_UPDATE:return function(e){return{prefixes:{},type:"update",updates:e.updates.map((e=>_(e).updates[0]))}}(e);case h.DELETE_INSERT:return function(e){var t;let r,n=e.where;if(n&&n.type===h.FROM){let e=n;n=e.input,r={default:e.default,named:e.named}}const i=[{updateType:"insertdelete",delete:F(e.delete||[]),insert:F(e.insert||[])}];if(r&&(i[0].using=r),!n||n.type===h.BGP&&0===n.patterns.length)i[0].where=[];else{const e=[];let r=_(D(n,e));if("group"===r.type?i[0].where=r.patterns:i[0].where=[r],e.length>0){if(1!==e.length)throw new Error("This is unexpected and might indicate an error in graph handling for updates.");""!==(null===(t=e[0])||void 0===t?void 0:t.value)&&(i[0].where=[{type:"graph",patterns:i[0].where,name:e[0]}])}}return e.delete||e.where?e.insert||e.where?!e.insert&&e.where&&"bgp"===e.where.type&&(0,s.isomorphic)(e.delete,e.where.patterns)&&(delete i[0].where,i[0].updateType="deletewhere"):(delete i[0].insert,delete i[0].where,e.delete.some((e=>"Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType))?i[0].updateType="deletewhere":i[0].updateType="delete"):(i[0].updateType="insert",delete i[0].delete,delete i[0].where),{prefixes:{},type:"update",updates:i}}(e);case h.LOAD:return function(e){const t=[{type:"load",silent:Boolean(e.silent),source:e.source}];return e.destination&&(t[0].destination=e.destination),{prefixes:{},type:"update",updates:t}}(e);case h.CLEAR:return function(e){return R(e,"clear")}(e);case h.CREATE:return function(e){return R(e,"create")}(e);case h.DROP:return function(e){return R(e,"drop")}(e);case h.ADD:return function(e){return P(e,"add")}(e);case h.MOVE:return function(e){return P(e,"move")}(e);case h.COPY:return function(e){return P(e,"copy")}(e)}throw new Error(`Unknown Operation type ${e.type}`)}function v(e){switch(e.expressionType){case f.AGGREGATE:return function(e){const t={expression:v(e.expression),type:"aggregate",aggregation:e.aggregator,distinct:e.distinct};return e.separator&&(t.separator=e.separator),t}(e);case f.EXISTENCE:return function(e){return{type:"operation",operator:e.not?"notexists":"exists",args:[{type:"group",patterns:p.default.flatten([_(e.input)])}]}}(e);case f.NAMED:return function(e){return{type:"functionCall",function:e.name,args:e.args.map(v)}}(e);case f.OPERATOR:return function(e){if("desc"===e.operator){return{expression:v(e.args[0]),descending:!0}}const t={type:"operation",operator:e.operator,args:e.args.map(v)};return"in"!==t.operator&&"notin"!==t.operator||(t.args=[t.args[0]].concat([t.args.slice(1)])),t}(e);case f.TERM:return function(e){return e.term}(e);case f.WILDCARD:return function(e){return e.wildcard}(e)}throw new Error(`Unknown Expression Operation type ${e.expressionType}`)}function w(e){switch(e.type){case h.ALT:return function(e){const t=e.input.map(w);return t.every((e=>"pathType"in e&&"!"===e.pathType))?{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:p.default.flatten(t.map((e=>e.items)))}]}:{type:"path",pathType:"|",items:t}}(e);case h.INV:return function(e){if(e.path.type===h.NPS){const t=e.path.iris.map((e=>({type:"path",pathType:"^",items:[e]})));return t.length<=1?{type:"path",pathType:"!",items:t}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:t}]}}return{type:"path",pathType:"^",items:[w(e.path)]}}(e);case h.LINK:return function(e){return e.iri}(e);case h.NPS:return function(e){return e.iris.length<=1?{type:"path",pathType:"!",items:e.iris}:{type:"path",pathType:"!",items:[{type:"path",pathType:"|",items:e.iris}]}}(e);case h.ONE_OR_MORE_PATH:return function(e){return{type:"path",pathType:"+",items:[w(e.path)]}}(e);case h.SEQ:return function(e){return{type:"path",pathType:"/",items:e.input.map(w)}}(e);case h.ZERO_OR_MORE_PATH:return function(e){return{type:"path",pathType:"*",items:[w(e.path)]}}(e);case h.ZERO_OR_ONE_PATH:return function(e){return{type:"path",pathType:"?",items:[w(e.path)]}}(e)}throw new Error(`Unknown Path type ${e.type}`)}function S(e){return(0,c.termToString)(e)}function E(e){return Array.isArray(e)?1===e.length?e[0]:{type:"group",patterns:e}:e}function T(e){return e}function O(e){return{subject:e.subject,predicate:e.predicate,object:e.object}}function x(e,t){let r=p.default.isSimpleTerm(e)?S(e):e;if("string"==typeof r){if(t[r])return t[r]}else if(Array.isArray(e))e=e.map((e=>x(e,t)));else for(let r of Object.keys(e))e[r]=x(e[r],t);return e}function A(e,t){const r={type:"query",prefixes:{}},n=r;let i;t===h.PROJECT?(r.queryType="SELECT",i=e.variables):t===h.ASK?r.queryType="ASK":t===h.DESCRIBE&&(r.queryType="DESCRIBE",i=e.terms);const o=y.extend,a=y.group,s=y.aggregates,l=y.order;b(),y.project=!0;let d=p.default.flatten([_(e.input)]);1===d.length&&"group"===d[0].type&&(d=d[0].patterns),r.where=d;let f={};for(let e of y.aggregates)f[S(e.variable)]=v(e);let g={};for(let e=y.extend.length-1;e>=0;--e){let t=y.extend[e];g[S(t.variable)]=x(v(t.expression),f)}y.group.length>0&&(n.group=y.group.map((e=>{let t=S(e);if(g[t]){let r=g[t];return delete g[t],{variable:e,expression:r}}return{expression:e}}))),y.order.length>0&&(n.order=y.order.map(_).map((e=>e.descending?e:{expression:e}))),i&&(n.variables=i.map((e=>{let t=S(e);if(g[t]){let r=g[t];return delete g[t],{variable:e,expression:r}}return e})),0===n.variables.length&&(n.variables=[new u.Wildcard]));const m=Object.entries(g);if(m.length>0){n.where=n.where||[];for(const[e,t]of m)n.where.push({type:"bind",variable:(0,c.stringToTerm)(e),expression:t})}if(r.where.length>0&&"filter"===r.where[r.where.length-1].type){const e=r.where[r.where.length-1];I(e,Object.keys(f))&&(n.having=p.default.flatten([x(e.expression,f)]),r.where.splice(-1))}return y.extend=o,y.group=a,y.aggregates=s,y.order=l,{type:"group",patterns:[n]}}function I(e,t){return p.default.isSimpleTerm(e)?t.indexOf(S(e))>=0:Array.isArray(e)?e.some((e=>I(e,t))):e===Object(e)?Object.keys(e).some((r=>I(e[r],t))):t.indexOf(e)>=0}function R(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return"DEFAULT"===e.source?r[0].graph={default:!0}:"NAMED"===e.source?r[0].graph={named:!0}:"ALL"===e.source?r[0].graph={all:!0}:r[0].graph={type:"graph",name:e.source},{prefixes:{},type:"update",updates:r}}function P(e,t){const r=[{type:t,silent:Boolean(e.silent)}];return r[0].source="DEFAULT"===e.source?{type:"graph",default:!0}:{type:"graph",name:e.source},r[0].destination="DEFAULT"===e.destination?{type:"graph",default:!0}:{type:"graph",name:e.destination},{prefixes:{},type:"update",updates:r}}function F(e){if(!e)return[];const t={};return e.forEach((e=>{const r=e.graph.value;t[r]||(t[r]=[]),t[r].push(e)})),Object.keys(t).map((e=>""===e?{type:"bgp",triples:t[e].map(O)}:{type:"graph",triples:t[e].map(O),name:t[e][0].graph}))}function D(e,t){if(Array.isArray(e))return e.map((e=>D(e,t)));if(!e.type)return e;if(e.type===h.DELETE_INSERT)return e;if((e.type===h.PATTERN||e.type===h.PATH)&&e.graph)return t.push(e.graph),""!==e.graph.name?e.type===h.PATTERN?g.createPattern(e.subject,e.predicate,e.object):g.createPath(e.subject,e.predicate,e.object):e;const r={},n={},i={};for(let t of Object.keys(e)){const o=[];if(r[t]=D(e[t],o),o.length>0){n[t]=o;for(const e of o)i[e.value]=e}}const o=Object.keys(i);if(o.length>0)if(1!==o.length||[h.PROJECT,h.SERVICE].includes(e.type)){if(e.type===h.BGP)return function(e,t){var r;const n={};for(let i=0;i""===n[e][0].value?t:g.createGraph(t,n[e][r]))):""!==n[e][0].value&&(r[e]=g.createGraph(t,n[e][0]))}}else t.push(i[o[0]]);return r}t.toSparql=function(e,t={}){return new u.Generator(t).stringify(m(e))},t.toSparqlJs=m},73776:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=r(29252),c=r(43347),u=o(r(13079)),l=a(r(91409)),d=a(r(64995)),p=r(98082).Parser,h=u.types;let f,y=new Set,g=0,m=!1;function b(e,t,r){if(y=new Set,g=0,m=Boolean(t),!e.type)return f.createNop();if("query"!==e.type&&"update"!==e.type)throw new Error("Translate only works on complete query or update objects.");let n;var i;return w(e),"query"===e.type?(n=E({type:"group",patterns:e.where||[]}),n=function(e,t){const r=e,n=[],i={};if(r.variables=r.variables&&r.variables.map((e=>j(e,i))),r.having=r.having&&r.having.map((e=>j(e,i))),r.order=r.order&&r.order.map((e=>j(e,i))),r.group||Object.keys(i).length>0){const e=Object.keys(i).map((e=>function(e,t){if("aggregate"!==e.type||!e.aggregation)throw new Error(`Unexpected input: ${JSON.stringify(e)}`);const r=T(e);return r.variable=t,r}(i[e],f.createTerm(e)))),n=[];if(r.group)for(const e of r.group)if(d.default.isSimpleTerm(e.expression))n.push(e.expression);else{const r="variable"in e?e.variable:A();t=f.createExtend(t,r,T(e.expression)),n.push(r)}t=f.createGroup(t,n,e)}if(r.having)for(let e of r.having)t=f.createFilter(t,T(e));e.values&&(t=f.createJoin([t,N(e)]));let o=[];if("SELECT"===e.queryType||"DESCRIBE"===e.queryType)if(e.variables.some((e=>e&&d.default.isWildcard(e))))o=Object.values(S(e)).sort(((e,t)=>e.value.localeCompare(t.value)));else for(let t of e.variables)v(t)||!("variable"in t)?o.push(t):t.variable&&(o.push(t.variable),n.push(t));for(let e of n)t=f.createExtend(t,e.variable,T(e.expression));return r.order&&(t=f.createOrderBy(t,r.order.map((e=>{let t=T(e.expression);return e.descending&&(t=f.createOperatorExpression("desc",[t])),t})))),"SELECT"===e.queryType&&(t=f.createProject(t,o)),r.distinct&&(t=f.createDistinct(t)),r.reduced&&(t=f.createReduced(t)),"CONSTRUCT"===e.queryType?t=f.createConstruct(t,(e.template||[]).map(I)):"ASK"===e.queryType?t=f.createAsk(t):"DESCRIBE"===e.queryType&&(t=f.createDescribe(t,o)),(r.offset||r.limit)&&(t=f.createSlice(t,r.offset||0,r.limit)),r.from&&(t=f.createFrom(t,r.from.default,r.from.named)),t}(e,n)):"update"===e.type&&(n=1===(i=e).updates.length?C(i.updates[0]):f.createCompositeUpdate(i.updates.map(C))),r&&(n=k(n)),n}function _(e){return Boolean(null==e?void 0:e.termType)}function v(e){return"Variable"===(null==e?void 0:e.termType)}function w(e){if(_(e))v(e)&&y.add(`?${e.value}`);else if(Array.isArray(e))for(const t of e)w(t);else if(e&&"object"==typeof e)for(let t of Object.keys(e))t.startsWith("?")?y.add(t):t.startsWith("$")&&y.add(`?${t.slice(1)}`),w(e[t])}function S(e){let t={};if((r=e).subject&&r.predicate&&r.object){const r=[S(e.subject),S(e.predicate),S(e.object),e.graph?S(e.graph):{}];Object.assign(t,...r)}else if(_(e))v(e)&&(t[e.value]=e);else if("bgp"===e.type){const r=e.triples;Object.assign(t,...r.map(S))}else if("path"===e.type)Object.assign(t,...e.items.map(S));else if("group"===e.type||"union"===e.type||"optional"===e.type)Object.assign(t,...e.patterns.map(S));else if("service"===e.type||"graph"===e.type)Object.assign(t,S(e.name)),Object.assign(t,...e.patterns.map(S));else if("bind"===e.type)Object.assign(t,S(e.variable));else if("values"===e.type){if(e.values.length>0){const r=Object.keys(e.values[0]).map((e=>f.createTerm(e)));Object.assign(t,...r.map(S))}}else if("query"===e.type&&("SELECT"===e.queryType||"DESCRIBE"===e.queryType)){e.where&&e.variables.some(d.default.isWildcard)&&Object.assign(t,...e.where.map(S));for(const r of e.variables)v(r)?Object.assign(t,S(r)):r.variable&&Object.assign(t,S(r.variable));if("SELECT"===e.queryType){if(e.group)for(const r of e.group)r.variable&&Object.assign(t,S(r.variable));if(e.values){const r={type:"values",values:e.values};Object.assign(t,S(r))}}}var r;return t}function E(e){if("bgp"===e.type)return function(e){let t=[],r=[];for(let i of e.triples)if("pathType"in i.predicate){let e=x((n=i).subject,O(n.predicate),n.object);for(let n of e)n.type===h.PATH?(t.length>0&&r.push(f.createBgp(t)),t=[],r.push(n)):t.push(n)}else t.push(I(i));var n;return t.length>0&&r.push(f.createBgp(t)),1===r.length?r[0]:f.createJoin(r)}(e);if("union"===e.type)return f.createUnion(e.patterns.map((e=>("group"!==e.type&&(e={type:"group",patterns:[e]}),E(e)))));if("graph"===e.type){let t=E({type:"group",patterns:e.patterns});return t=m?P(t,e.name):f.createGraph(t,e.name),t}if("values"===e.type)return N(e);if("query"===e.type)return b(e,m,!1);if("group"===e.type){let t=[],r=[];for(let n of e.patterns)("filter"===n.type?t:r).push(n);let n=r.reduce(F,f.createBgp([])),i=t.map((e=>T(e.expression)));return i.length>0&&(n=f.createFilter(n,i.reduce(((e,t)=>f.createOperatorExpression("&&",[e,t]))))),n}throw new Error(`Unexpected type: ${e.type}`)}function T(e){if(d.default.isSimpleTerm(e))return f.createTermExpression(e);if(d.default.isQuad(e))return d.default.hasQuadVariables(e)?f.createOperatorExpression("triple",[T(e.subject),T(e.predicate),T(e.object)]):f.createTermExpression(e);if(d.default.isWildcard(e))return f.createWildcardExpression();if("aggregation"in e)return f.createAggregateExpression(e.aggregation,T(e.expression),Boolean(e.distinct),e.separator);if("function"in e)return f.createNamedExpression(e.function,e.args.map(T));if("operator"in e)return"exists"===e.operator||"notexists"===e.operator?f.createExistenceExpression("notexists"===e.operator,E(e.args[0])):("in"!==e.operator&&"notin"!==e.operator||(e.args=[e.args[0]].concat(e.args[1])),f.createOperatorExpression(e.operator,e.args.map(T)));throw new Error(`Unknown expression: ${JSON.stringify(e)}`)}function O(e){if(d.default.isSimpleTerm(e)){if("NamedNode"===e.termType)return f.createLink(e);throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(e)}`)}if("^"===e.pathType)return f.createInv(O(e.items[0]));if("!"===e.pathType){let t,r=[],n=[];t="pathType"in e.items[0]&&"|"===e.items[0].pathType?e.items[0].items:e.items;for(let e of t)if(d.default.isSimpleTerm(e))r.push(e);else{if("^"!==e.pathType)throw new Error(`Unexpected item: ${JSON.stringify(e)}`);n.push(e.items[0])}let i=f.createNps(r),o=f.createInv(f.createNps(n));return 0===n.length?i:0===r.length?o:f.createAlt([i,o])}if("/"===e.pathType)return f.createSeq(e.items.map(O));if("|"===e.pathType)return f.createAlt(e.items.map(O));if("*"===e.pathType)return f.createZeroOrMorePath(O(e.items[0]));if("+"===e.pathType)return f.createOneOrMorePath(O(e.items[0]));if("?"===e.pathType)return f.createZeroOrOnePath(O(e.items[0]));throw new Error(`Unable to translate path expression ${JSON.stringify(e)}`)}function x(e,t,r){if(t.type===h.LINK)return[f.createPattern(e,t.iri,r)];if(t.type===h.INV)return x(r,t.path,e);if(t.type===h.SEQ){let n=e;return d.default.flatten(t.input.map(((e,i)=>{const o=i===t.input.length-1?r:A(),a=x(n,e,o);return"Variable"===o.termType&&(n=o),a})))}return[f.createPath(e,t,r)]}function A(){let e="?var"+g++;return y.has(e)?A():(y.add(e),f.createTerm(e))}function I(e){if("pathType"in e.predicate)throw new Error("Trying to translate property path to quad.");return f.createPattern(e.subject,e.predicate,e.object,e.graph)}t.default=function(e,t){let r;if(t=t||{},f=new l.default(t.dataFactory),"string"==typeof e){let n=new p(t);n._resetBlanks(),r=n.parse(e)}else r=e;return b(r,t.quads,t.blankToVariable)};let R=Object.values(h);function P(e,t,r){if(e.type===h.GRAPH){if(r)throw new Error("Recursing through nested GRAPH statements with a replacement is impossible.");e=P(e.input,e.name)}else if(e.type===h.SERVICE);else if(e.type===h.BGP)e.patterns=e.patterns.map((e=>(r&&(e.subject.equals(t)&&(e.subject=r),e.predicate.equals(t)&&(e.predicate=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t),e)));else if(e.type===h.PATH)r&&(e.subject.equals(t)&&(e.subject=r),e.object.equals(t)&&(e.object=r)),"DefaultGraph"===e.graph.termType&&(e.graph=t);else if(e.type!==h.PROJECT||r)if(e.type!==h.EXTEND||r)for(let n of Object.keys(e))Array.isArray(e[n])?e[n]=e[n].map((e=>P(e,t,r))):R.indexOf(e[n].type)>=0?e[n]=P(e[n],t,r):r&&v(e[n])&&e[n].equals(t)&&(e[n]=r);else e.variable.equals(t)&&(r=A()),e.input=P(e.input,t,r);else e.variables.some((e=>e.equals(t)))||(r=A()),e.input=P(e.input,t,r);return e}function F(e,t){if("optional"===t.type){const r=E({type:"group",patterns:t.patterns});e=r.type===h.FILTER?f.createLeftJoin(e,r.input,r.expression):f.createLeftJoin(e,r)}else if("minus"===t.type){const r=E({type:"group",patterns:t.patterns});e=f.createMinus(e,r)}else if("bind"===t.type)e=f.createExtend(e,t.variable,T(t.expression));else if("service"===t.type){const r={type:"group",patterns:t.patterns};e=D(e,f.createService(E(r),t.name,t.silent))}else e=D(e,E(t));return e}function D(e,t){return e.type===h.BGP&&t.type===h.BGP?e=f.createBgp([...e.patterns,...t.patterns]):e.type===h.BGP&&0===e.patterns.length?e=t:t.type===h.BGP&&0===t.patterns.length||(e=f.createJoin([e,t])),e}function N(e){let t=(0===e.values.length?[]:Object.keys(e.values[0])).map(f.createTerm.bind(f)),r=e.values.map((e=>{let t=Object.keys(e);t=t.filter((t=>void 0!==e[t]));let r={};for(let n of t)r[n]=e[n];return r}));return f.createValues(t,r)}function j(e,t){if("type"in e&&"aggregate"===e.type){let r,n=!1;for(let i of Object.keys(t))if(s(t[i],e)){r=f.createTerm(i),n=!0;break}return n||(r=A(),t[(0,c.termToString)(r)]=e),r}return"expression"in e&&e.expression?{...e,expression:j(e.expression,t)}:"args"in e&&e.args?{...e,args:e.args.map((e=>j(e,t)))}:e}function C(e){if("type"in e){if("load"===e.type)return function(e){return f.createLoad(e.source,e.destination,e.silent)}(e);if("clear"===e.type||"create"===e.type||"drop"===e.type)return function(e){let t;switch(t=d.default.isSimpleTerm(e.graph)?e.graph:e.graph.all?"ALL":e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.name,e.type){case"clear":return f.createClear(t,e.silent);case"create":return f.createCreate(t,e.silent);case"drop":return f.createDrop(t,e.silent)}}(e);if("add"===e.type||"copy"===e.type||"move"===e.type)return function(e){const t=e.source.default?"DEFAULT":e.source.name,r=e.destination.default?"DEFAULT":e.destination.name;switch(e.type){case"copy":return f.createCopy(t,r,e.silent);case"move":return f.createMove(t,r,e.silent);case"add":return f.createAdd(t,r,e.silent)}}(e)}else if("insertdelete"===e.updateType||"deletewhere"===e.updateType||"delete"===e.updateType||"insert"===e.updateType)return function(e){if(!m)throw new Error("INSERT/DELETE operations are only supported with quads option enabled");let t,r=[],n=[];if(e.delete&&(r=d.default.flatten(e.delete.map((t=>M(t,e.graph))))),e.insert&&(n=d.default.flatten(e.insert.map((t=>M(t,e.graph))))),e.where&&e.where.length>0){t=E({type:"group",patterns:e.where});const r=e.using;r?t=f.createFrom(t,r.default,r.named):e.graph&&(t=P(t,e.graph))}else"deletewhere"===e.updateType&&r.length>0&&(t=f.createBgp(r));return f.createDeleteInsert(r.length>0?r:void 0,n.length>0?n:void 0,t)}(e);throw new Error(`Unknown update type ${JSON.stringify(e)}`)}function M(e,t){let r=t;"graph"===e.type&&(r=e.name);let n=e.triples;return r&&(n=n.map((e=>Object.assign(e,{graph:r})))),n.map(I)}function k(e){const t={},r=Array.from(y).reduce(((e,t)=>(e[t]=!0,e)),{});return d.default.mapOperation(e,{[u.types.DELETE_INSERT]:e=>({result:f.createDeleteInsert(e.delete,e.insert,e.where&&k(e.where)),recurse:!1}),[u.types.PATH]:(e,t)=>({result:t.createPath(n(e.subject),e.predicate,n(e.object),n(e.graph)),recurse:!1}),[u.types.PATTERN]:(e,t)=>({result:t.createPattern(n(e.subject),n(e.predicate),n(e.object),n(e.graph)),recurse:!1}),[u.types.CONSTRUCT]:e=>({result:f.createConstruct(k(e.input),e.template),recurse:!1})});function n(e){if("BlankNode"===e.termType){let n=t[e.value];return n||(n=d.default.createUniqueVariable(e.value,r,f.dataFactory),r[n.value]=!0,t[e.value]=n),n}return e}}},64995:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(13079),o=n(r(91409)),a=r(3285);class s{static flatten(e){return Array.prototype.concat(...e).filter((e=>e))}static objectify(e){if(e.termType){if("Quad"===e.termType)return{type:"pattern",termType:"Quad",subject:s.objectify(e.subject),predicate:s.objectify(e.predicate),object:s.objectify(e.object),graph:s.objectify(e.graph)};{let t={termType:e.termType,value:e.value};return e.language&&(t.language=e.language),e.datatype&&(t.datatype=s.objectify(e.datatype)),t}}if(Array.isArray(e))return e.map((e=>s.objectify(e)));if(e===Object(e)){let t={};for(let r of Object.keys(e))t[r]=s.objectify(e[r]);return t}return e}static inScopeVariables(e){const t=[];function r(e){t.find((t=>e.value===t.value))||t.push(e)}function n(e){"Variable"===e.subject.termType&&r(e.subject),"Variable"===e.predicate.termType&&r(e.predicate),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.predicate.termType&&n(e.predicate),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph)}return s.recurseOperation(e,{[i.types.EXPRESSION]:e=>(e.expressionType===i.expressionTypes.AGGREGATE&&e.variable&&r(e.variable),!0),[i.types.EXTEND]:e=>(r(e.variable),!0),[i.types.GRAPH]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.GROUP]:e=>(e.variables.forEach(r),!0),[i.types.PATH]:e=>("Variable"===e.subject.termType&&r(e.subject),"Variable"===e.object.termType&&r(e.object),"Variable"===e.graph.termType&&r(e.graph),"Quad"===e.subject.termType&&n(e.subject),"Quad"===e.object.termType&&n(e.object),"Quad"===e.graph.termType&&n(e.graph),!0),[i.types.PATTERN]:e=>(n(e),!0),[i.types.PROJECT]:e=>(e.variables.forEach(r),!1),[i.types.SERVICE]:e=>("Variable"===e.name.termType&&r(e.name),!0),[i.types.VALUES]:e=>(e.variables.forEach(r),!0)}),t}static recurseOperation(e,t){let r=e,n=!0;const o=t[e.type];if(o&&(n=o(e)),!n)return;let a=e=>s.recurseOperation(e,t);switch(r.type){case i.types.ALT:r.input.map(a);break;case i.types.ASK:a(r.input);break;case i.types.BGP:r.patterns.forEach(a);break;case i.types.CONSTRUCT:a(r.input),r.template.map(a);break;case i.types.DESCRIBE:case i.types.DISTINCT:a(r.input);break;case i.types.EXPRESSION:r.expressionType===i.expressionTypes.EXISTENCE&&a(r.input);break;case i.types.EXTEND:case i.types.FILTER:a(r.input),a(r.expression);break;case i.types.FROM:case i.types.GRAPH:a(r.input);break;case i.types.GROUP:a(r.input),r.aggregates.forEach(a);break;case i.types.INV:a(r.path);break;case i.types.JOIN:r.input.map(a);break;case i.types.LEFT_JOIN:r.input.map(a),r.expression&&a(r.expression);break;case i.types.LINK:break;case i.types.MINUS:r.input.map(a);break;case i.types.NOP:case i.types.NPS:break;case i.types.ONE_OR_MORE_PATH:a(r.path);break;case i.types.ORDER_BY:a(r.input),r.expressions.forEach(a);break;case i.types.PATH:a(r.predicate);break;case i.types.PATTERN:break;case i.types.PROJECT:case i.types.REDUCED:a(r.input);break;case i.types.SEQ:r.input.map(a);break;case i.types.SERVICE:case i.types.SLICE:a(r.input);break;case i.types.UNION:r.input.map(a);break;case i.types.VALUES:break;case i.types.ZERO_OR_MORE_PATH:case i.types.ZERO_OR_ONE_PATH:a(r.path);break;case i.types.COMPOSITE_UPDATE:r.updates.forEach((e=>a(e)));break;case i.types.DELETE_INSERT:r.delete&&r.delete.forEach((e=>a(e))),r.insert&&r.insert.forEach((e=>a(e))),r.where&&a(r.where);break;case i.types.LOAD:case i.types.CLEAR:case i.types.CREATE:case i.types.DROP:case i.types.ADD:case i.types.MOVE:case i.types.COPY:break;default:throw new Error(`Unknown Operation type ${r.type}`)}}static mapOperation(e,t,r){let n=e,a=!0,c=!0;r=r||new o.default;const u=t[e.type];if(u){const t=u(e,r);n=t.result,a=t.recurse,c=!1!==t.copyMetadata}let l;if(c&&(n.metadata||e.metadata)&&(l={...n.metadata,...e.metadata}),!a)return l&&(n.metadata=l),n;let d=e=>s.mapOperation(e,t,r);switch(n.type){case i.types.ALT:n=r.createAlt(n.input.map(d));break;case i.types.ASK:n=r.createAsk(d(n.input));break;case i.types.BGP:n=r.createBgp(n.patterns.map(d));break;case i.types.CONSTRUCT:n=r.createConstruct(d(n.input),n.template.map(d));break;case i.types.DESCRIBE:n=r.createDescribe(d(n.input),n.terms);break;case i.types.DISTINCT:n=r.createDistinct(d(n.input));break;case i.types.EXPRESSION:n=s.mapExpression(n,t,r);break;case i.types.EXTEND:n=r.createExtend(d(n.input),n.variable,d(n.expression));break;case i.types.FILTER:n=r.createFilter(d(n.input),d(n.expression));break;case i.types.FROM:n=r.createFrom(d(n.input),[...n.default],[...n.named]);break;case i.types.GRAPH:n=r.createGraph(d(n.input),n.name);break;case i.types.GROUP:n=r.createGroup(d(n.input),[].concat(n.variables),n.aggregates.map(d));break;case i.types.INV:n=r.createInv(d(n.path));break;case i.types.JOIN:n=r.createJoin(n.input.map(d));break;case i.types.LEFT_JOIN:n=r.createLeftJoin(d(n.input[0]),d(n.input[1]),n.expression?d(n.expression):void 0);break;case i.types.LINK:n=r.createLink(n.iri);break;case i.types.MINUS:n=r.createMinus(d(n.input[0]),d(n.input[1]));break;case i.types.NOP:n=r.createNop();break;case i.types.NPS:n=r.createNps([].concat(n.iris));break;case i.types.ONE_OR_MORE_PATH:n=r.createOneOrMorePath(d(n.path));break;case i.types.ORDER_BY:n=r.createOrderBy(d(n.input),n.expressions.map(d));break;case i.types.PATH:n=r.createPath(n.subject,d(n.predicate),n.object,n.graph);break;case i.types.PATTERN:n=r.createPattern(n.subject,n.predicate,n.object,n.graph);break;case i.types.PROJECT:n=r.createProject(d(n.input),[...n.variables]);break;case i.types.REDUCED:n=r.createReduced(d(n.input));break;case i.types.SEQ:n=r.createSeq(n.input.map(d));break;case i.types.SERVICE:n=r.createService(d(n.input),n.name,n.silent);break;case i.types.SLICE:n=r.createSlice(d(n.input),n.start,n.length);break;case i.types.UNION:n=r.createUnion(n.input.map(d));break;case i.types.VALUES:n=r.createValues([].concat(n.variables),n.bindings.map((e=>Object.assign({},e))));break;case i.types.ZERO_OR_MORE_PATH:n=r.createZeroOrMorePath(d(n.path));break;case i.types.ZERO_OR_ONE_PATH:n=r.createZeroOrOnePath(d(n.path));break;case i.types.COMPOSITE_UPDATE:n=r.createCompositeUpdate(n.updates.map(d));break;case i.types.DELETE_INSERT:n=r.createDeleteInsert(n.delete?n.delete.map(d):void 0,n.insert?n.insert.map(d):void 0,n.where?d(n.where):void 0);break;case i.types.LOAD:n=r.createLoad(n.source,n.destination,n.silent);break;case i.types.CLEAR:n=r.createClear(n.source,n.silent);break;case i.types.CREATE:n=r.createCreate(n.source,n.silent);break;case i.types.DROP:n=r.createDrop(n.source,n.silent);break;case i.types.ADD:n=r.createAdd(n.source,n.destination);break;case i.types.MOVE:n=r.createMove(n.source,n.destination);break;case i.types.COPY:n=r.createCopy(n.source,n.destination);break;default:throw new Error(`Unknown Operation type ${n.type}`)}return l&&(n.metadata=l),n}static mapExpression(e,t,r){let n=e,a=!0;r=r||new o.default;const c=t[e.expressionType];if(c&&({result:n,recurse:a}=c(e,r)),!a)return n;let u=e=>s.mapOperation(e,t,r);switch(e.expressionType){case i.expressionTypes.AGGREGATE:return e.variable?r.createBoundAggregate(e.variable,e.aggregator,u(e.expression),e.distinct,e.separator):r.createAggregateExpression(e.aggregator,u(e.expression),e.distinct,e.separator);case i.expressionTypes.EXISTENCE:return r.createExistenceExpression(e.not,u(e.input));case i.expressionTypes.NAMED:return r.createNamedExpression(e.name,e.args.map(u));case i.expressionTypes.OPERATOR:return r.createOperatorExpression(e.operator,e.args.map(u));case i.expressionTypes.TERM:return r.createTermExpression(e.term);case i.expressionTypes.WILDCARD:return r.createWildcardExpression();default:throw new Error(`Unknown Expression type ${e.expressionType}`)}}static cloneOperation(e){return s.mapOperation(e,{})}static cloneExpression(e){return s.mapExpression(e,{})}static createUniqueVariable(e,t,r){let n=0,i=e;for(;t[i];)i=`${e}${n++}`;return r.variable(i)}static isSimpleTerm(e){return void 0!==e.termType&&"Quad"!==e.termType&&"Wildcard"!==e.termType}static isQuad(e){return"Quad"===e.termType}static hasQuadVariables(e){return(0,a.someTermsNested)(e,(e=>"Variable"===e.termType))}static isWildcard(e){return"Wildcard"===e.termType}}t.default=s},23825:e=>{function t(e){this._options=e=e||{};var t=e.prefixes||{};this._prefixByIri={};var r=[];for(var n in t){var i=t[n];a(i)&&(this._prefixByIri[i]=n,r.push(i))}var o=r.join("|").replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&");this._prefixRegex=new RegExp("^("+o+")([a-zA-Z][\\-_a-zA-Z0-9]*)$"),this._usedPrefixes={},this._sparqlStar=e.sparqlStar,this._indent=a(e.indent)?e.indent:" ",this._newline=a(e.newline)?e.newline:"\n",this._explicitDatatype=Boolean(e.explicitDatatype)}t.prototype.toQuery=function(e){var t="";return e.queryType&&(t+=e.queryType.toUpperCase()+" "),e.reduced&&(t+="REDUCED "),e.distinct&&(t+="DISTINCT "),e.variables?t+=u(e.variables,void 0,(function(e){return s(e)?this.toEntity(e):"("+this.toExpression(e.expression)+" AS "+o(e.variable)+")"}),this)+" ":e.template&&(t+=this.group(e.template,!0)+this._newline),e.from&&(t+=this.graphs("FROM ",e.from.default)+this.graphs("FROM NAMED ",e.from.named)),e.where&&(t+="WHERE "+this.group(e.where,!0)+this._newline),e.updates&&(t+=u(e.updates,";"+this._newline,this.toUpdate,this)),e.group&&(t+="GROUP BY "+u(e.group,void 0,(function(e){var t=s(e.expression)?this.toEntity(e.expression):"("+this.toExpression(e.expression)+")";return e.variable?"("+t+" AS "+o(e.variable)+")":t}),this)+this._newline),e.having&&(t+="HAVING ("+u(e.having,void 0,this.toExpression,this)+")"+this._newline),e.order&&(t+="ORDER BY "+u(e.order,void 0,(function(e){var t="("+this.toExpression(e.expression)+")";return e.descending?"DESC "+t:t}),this)+this._newline),e.offset&&(t+="OFFSET "+e.offset+this._newline),e.limit&&(t+="LIMIT "+e.limit+this._newline),e.values&&(t+=this.values(e)),(t=this.baseAndPrefixes(e)+t).trim()},t.prototype.baseAndPrefixes=function(e){var t=e.base?"BASE <"+e.base+">"+this._newline:"",r="";for(var n in e.prefixes)(this._options.allPrefixes||this._usedPrefixes[n])&&(r+="PREFIX "+n+": <"+e.prefixes[n]+">"+this._newline);return t+r},t.prototype.toPattern=function(e){var t=e.type||e instanceof Array&&"array"||(e.subject&&e.predicate&&e.object?"triple":"");if(!(t in this))throw new Error("Unknown entry type: "+t);return this[t](e)},t.prototype.triple=function(e){return this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+"."},t.prototype.array=function(e){return u(e,this._newline,this.toPattern,this)},t.prototype.bgp=function(e){return this.encodeTriples(e.triples)},t.prototype.encodeTriples=function(e){if(!e.length)return"";for(var t=[],r=void 0,n=void 0,i=0;i":case">=":case"<=":case"&&":case"||":case"=":case"!=":case"+":case"-":case"*":case"/":return(s(i[0])?this.toEntity(i[0]):"("+this.toExpression(i[0])+")")+" "+t+" "+(s(i[1])?this.toEntity(i[1]):"("+this.toExpression(i[1])+")");case"!":return"!("+this.toExpression(i[0])+")";case"uplus":return"+("+this.toExpression(i[0])+")";case"uminus":return"-("+this.toExpression(i[0])+")";case"notin":t="NOT IN";case"in":return this.toExpression(i[0])+" "+t+"("+(a(i[1])?i[1]:u(i[1],", ",this.toExpression,this))+")";case"notexists":t="NOT EXISTS";case"exists":return t+" "+this.group(i[0],!0);default:return t+"("+u(i,", ",this.toExpression,this)+")"}default:throw new Error("Unknown expression type: "+e.type)}},t.prototype.toEntity=function(e){if(s(e))switch(e.termType){case"Wildcard":return"*";case"Variable":return o(e);case"BlankNode":return"_:"+e.value;case"Literal":var t=e.value||"",i=e.language||"",a=e.datatype;if(e='"'+t.replace(r,n)+'"',i)e+="@"+i;else if(a){if(!this._explicitDatatype)switch(a.value){case"http://www.w3.org/2001/XMLSchema#string":return e;case"http://www.w3.org/2001/XMLSchema#integer":if(/^\d+$/.test(t))return t+" "}e+="^^"+this.encodeIRI(a.value)}return e;case"Quad":if(!this._sparqlStar)throw new Error("SPARQL* support is not enabled");return e.graph&&"DefaultGraph"!==e.graph.termType?"<< GRAPH "+this.toEntity(e.graph)+" { "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" } >>":"<< "+this.toEntity(e.subject)+" "+this.toEntity(e.predicate)+" "+this.toEntity(e.object)+" >>";default:return this.encodeIRI(e.value)}else{var c=e.items.map(this.toEntity,this),u=e.pathType;switch(u){case"^":case"!":return u+c[0];case"*":case"+":case"?":return"("+c[0]+u+")";default:return"("+c.join(u)+")"}}};var r=/["\\\t\n\r\b\f]/g,n=function(e){return i[e]},i={"\\":"\\\\",'"':'\\"',"\t":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};function o(e){return"?"+e.value}function a(e){return"string"==typeof e}function s(e){return"string"==typeof e.termType}function c(e,t){if(!e||!s(e))return!1;if(!t||!s(t))return!1;if(e.termType!==t.termType)return!1;switch(e.termType){case"Literal":return e.value===t.value&&e.language===t.language&&c(e.datatype,t.datatype);case"Quad":return c(e.subject,t.subject)&&c(e.predicate,t.predicate)&&c(e.object,t.object)&&c(e.graph,t.graph);default:return e.value===t.value}}function u(e,t,r,n){return e.map(r,n).join(a(t)?t:" ")}t.prototype.encodeIRI=function(e){var t=this._prefixRegex.exec(e);if(t){var r=this._prefixByIri[t[1]];return this._usedPrefixes[r]=!0,r+":"+t[2]}return"<"+e+">"},t.prototype.toUpdate=function(e){switch(e.type||e.updateType){case"load":return"LOAD"+(e.source?" "+this.toEntity(e.source):"")+(e.destination?" INTO GRAPH "+this.toEntity(e.destination):"");case"insert":return"INSERT DATA "+this.group(e.insert,!0);case"delete":return"DELETE DATA "+this.group(e.delete,!0);case"deletewhere":return"DELETE WHERE "+this.group(e.delete,!0);case"insertdelete":return(e.graph?"WITH "+this.toEntity(e.graph)+this._newline:"")+(e.delete.length?"DELETE "+this.group(e.delete,!0)+this._newline:"")+(e.insert.length?"INSERT "+this.group(e.insert,!0)+this._newline:"")+(e.using?this.graphs("USING ",e.using.default):"")+(e.using?this.graphs("USING NAMED ",e.using.named):"")+"WHERE "+this.group(e.where,!0);case"add":case"copy":case"move":return e.type.toUpperCase()+" "+(e.silent?"SILENT ":"")+(e.source.default?"DEFAULT":this.toEntity(e.source.name))+" TO "+this.toEntity(e.destination.name);case"create":case"clear":case"drop":return e.type.toUpperCase()+(e.silent?" SILENT ":" ")+(e.graph.default?"DEFAULT":e.graph.named?"NAMED":e.graph.all?"ALL":"GRAPH "+this.toEntity(e.graph.name));default:throw new Error("Unknown update query type: "+e.type)}},t.prototype.indent=function(e){return e.replace(/^/gm,this._indent)},e.exports=function(e={}){return{stringify:function(r){var n=Object.create(e);return n.prefixes=r.prefixes,new t(n).toQuery(r)},createGenerator:function(){return new t(e)}}}},83849:(e,t,r)=>{var n=function(){var e=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},t=[6,12,13,15,16,24,32,36,41,45,100,110,113,115,116,123,126,131,197,224,229,308,329,330,331,332,333],n=[2,247],i=[100,110,113,115,116,123,126,131,329,330,331,332,333],o=[2,409],a=[1,18],s=[1,27],c=[13,16,45,197,224,229,308],u=[28,29,53],l=[28,53],d=[1,42],p=[1,45],h=[1,41],f=[1,44],y=[123,126],g=[1,67],m=[39,45,87],b=[13,16,45,197,224,308],_=[1,87],v=[2,281],w=[1,86],S=[13,16,45,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],E=[6,28,29,53,63,70,73,81,83,85],T=[6,13,16,28,29,53,63,70,73,81,83,85,87,308],O=[6,13,16,28,29,45,53,63,70,73,81,82,83,85,87,89,197,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314],x=[6,13,16,28,29,31,39,45,47,48,53,63,70,73,81,82,83,85,87,89,109,112,121,123,126,128,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,337,338,340,341,342,343,344,345,346],A=[13,16,308],I=[112,132,327,334],R=[13,16,112,132,308],P=[1,111],F=[1,117],D=[112,132,327,328,334],N=[13,16,112,132,308,328],j=[28,29,45,53,87],C=[1,138],M=[1,151],k=[1,128],L=[1,127],U=[1,129],B=[1,140],V=[1,141],q=[1,142],H=[1,143],$=[1,144],G=[1,145],K=[1,147],Q=[1,148],z=[2,457],J=[1,158],W=[1,159],X=[1,160],Y=[1,152],Z=[1,153],ee=[1,156],te=[1,171],re=[1,172],ne=[1,173],ie=[1,174],oe=[1,175],ae=[1,176],se=[1,167],ce=[1,168],ue=[1,169],le=[1,170],de=[1,157],pe=[1,166],he=[1,161],fe=[1,162],ye=[1,163],ge=[1,164],me=[1,165],be=[6,13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],_e=[1,195],ve=[6,31,73,81,83,85],we=[2,285],Se=[1,199],Ee=[1,201],Te=[6,31,70,73,81,83,85],Oe=[2,283],xe=[1,207],Ae=[1,218],Ie=[1,223],Re=[1,219],Pe=[1,225],Fe=[1,226],De=[1,224],Ne=[6,63,70,73,81,83,85],je=[1,236],Ce=[2,334],Me=[1,243],ke=[1,241],Le=[6,193],Ue=[2,349],Be=[2,339],Ve=[28,128],qe=[47,48,193,272],He=[47,48,193,242,272],$e=[47,48,193,242,246,272],Ge=[47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,341,342,343,344,345,346],Ke=[39,47,48,193,242,246,250,263,265,272,290,297,298,299,300,301,302,338,341,342,343,344,345,346],Qe=[1,271],ze=[1,270],Je=[6,13,16,29,31,39,45,47,48,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,338,341,342,343,344,345,346,347,348,349,350,351],We=[1,281],Xe=[1,280],Ye=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],Ze=[45,89],et=[13,16,29,31,39,45,47,48,82,85,87,89,112,159,160,161,163,164,174,193,197,224,229,231,232,242,246,250,263,265,272,290,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335,338,341,342,343,344,345,346],tt=[13,16,31,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rt=[31,89],nt=[48,87],it=[6,13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338],ot=[6,13,16,39,45,48,82,87,89,231,263,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,337,338,340],at=[1,313],st=[6,85],ct=[6,31,81,83,85],ut=[2,361],lt=[2,353],dt=[1,343],pt=[31,112,335],ht=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],ft=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,197,224,229,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,314,317,318,335],yt=[6,109,193],gt=[31,112],mt=[13,16,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],bt=[1,390],_t=[1,391],vt=[13,16,87,197,308,314],wt=[13,16,39,45,82,87,224,263,265,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312,346,347,348,349,350,351],St=[1,417],Et=[1,418],Tt=[13,16,48,197,229,308],Ot=[6,31,85],xt=[6,13,16,31,45,73,81,83,85,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],At=[6,13,16,29,31,45,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,231,268,269,270,271,273,274,276,277,279,280,283,285,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,346,347,348,349,350,351],It=[29,31,85,112,159,160,161,163,164],Rt=[1,443],Pt=[1,444],Ft=[1,449],Dt=[31,112,193,232,318,335],Nt=[13,16,45,48,82,87,89,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],jt=[13,16,31,45,48,82,87,89,112,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Ct=[13,16,29,31,45,48,82,85,87,89,112,159,160,161,163,164,193,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],Mt=[13,16,31,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],kt=[31,45],Lt=[1,507],Ut=[1,508],Bt=[6,13,16,29,31,39,45,47,48,63,70,73,76,78,81,82,83,85,87,89,112,159,160,161,163,164,193,231,242,246,250,263,265,268,269,270,271,272,273,274,276,277,279,280,283,285,290,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335,336,338,341,342,343,344,345,346,347,348,349,350,351],Vt=[29,31,85,112,159,160,161,163,164,335],qt=[6,13,16,31,45,70,73,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],Ht=[13,16,31,45,48,82,87,89,112,193,197,231,232,272,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,317,318,335],$t=[2,352],Gt=[13,16,197,308,314],Kt=[1,565],Qt=[6,13,16,31,45,76,78,81,83,85,87,268,269,270,271,273,274,276,277,279,280,283,285,308,346,347,348,349,350,351],zt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],Jt=[13,16,29,31,45,82,85,87,89,112,159,160,161,163,164,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312,335],Wt=[13,16,87,308],Xt=[2,364],Yt=[29,31,85,112,159,160,161,163,164,193,232,318,335],Zt=[31,112,193,232,272,318,335],er=[2,359],tr=[13,16,48,82,174,294,295,296,297,298,299,300,301,302,303,304,305,306,308,312],rr=[29,31,85,112,159,160,161,163,164,193,232,272,318,335],nr=[13,16,31,45,82,87,89,112,231,294,295,296,297,298,299,300,301,302,303,304,305,306,308,309,310,312],ir=[2,347],or={trace:function(){},yy:{},symbols_:{error:2,QueryOrUpdate:3,Prologue:4,QueryOrUpdate_group0:5,EOF:6,Query:7,Qry:8,Query_option0:9,Prologue_repetition0:10,BaseDecl:11,BASE:12,IRIREF:13,PrefixDecl:14,PREFIX:15,PNAME_NS:16,SelectClauseWildcard:17,Qry_repetition0:18,WhereClause:19,SolutionModifierNoGroup:20,SelectClauseVars:21,Qry_repetition1:22,SolutionModifier:23,CONSTRUCT:24,ConstructTemplate:25,Qry_repetition2:26,Qry_repetition3:27,WHERE:28,"{":29,Qry_option0:30,"}":31,DESCRIBE:32,Qry_group0:33,Qry_repetition4:34,Qry_option1:35,ASK:36,Qry_repetition5:37,SelectClauseBase:38,"*":39,SelectClauseVars_repetition_plus0:40,SELECT:41,SelectClauseBase_option0:42,SelectClauseItem:43,Var:44,"(":45,Expression:46,AS:47,")":48,SubSelect:49,SubSelect_option0:50,SubSelect_option1:51,DatasetClause:52,FROM:53,DatasetClause_option0:54,iri:55,WhereClause_option0:56,GroupGraphPattern:57,SolutionModifier_option0:58,SolutionModifierNoGroup_option0:59,SolutionModifierNoGroup_option1:60,SolutionModifierNoGroup_option2:61,GroupClause:62,GROUP:63,BY:64,GroupClause_repetition_plus0:65,GroupCondition:66,BuiltInCall:67,FunctionCall:68,HavingClause:69,HAVING:70,HavingClause_repetition_plus0:71,OrderClause:72,ORDER:73,OrderClause_repetition_plus0:74,OrderCondition:75,ASC:76,BrackettedExpression:77,DESC:78,Constraint:79,LimitOffsetClauses:80,LIMIT:81,INTEGER:82,OFFSET:83,ValuesClause:84,VALUES:85,InlineData:86,VAR:87,InlineData_repetition0:88,NIL:89,InlineData_repetition1:90,InlineData_repetition_plus2:91,InlineData_repetition3:92,DataBlock:93,DataBlockValueList:94,DataBlockValueList_repetition_plus0:95,Update:96,Update_repetition0:97,Update1:98,Update_option0:99,LOAD:100,Update1_option0:101,Update1_option1:102,Update1_group0:103,Update1_option2:104,GraphRefAll:105,Update1_group1:106,Update1_option3:107,GraphOrDefault:108,TO:109,CREATE:110,Update1_option4:111,GRAPH:112,INSERTDATA:113,QuadPattern:114,DELETEDATA:115,DELETEWHERE:116,Update1_option5:117,InsertDeleteClause:118,Update1_repetition0:119,IntoGraphClause:120,INTO:121,GraphRef:122,DELETE:123,InsertDeleteClause_option0:124,InsertClause:125,INSERT:126,UsingClause:127,USING:128,UsingClause_option0:129,WithClause:130,WITH:131,DEFAULT:132,GraphOrDefault_option0:133,GraphRefAll_group0:134,Quads:135,Quads_option0:136,Quads_repetition0:137,QuadsNotTriples:138,VarOrIri:139,QuadsNotTriples_option0:140,QuadsNotTriples_option1:141,QuadsNotTriples_option2:142,TriplesTemplate:143,TriplesTemplate_repetition0:144,TriplesSameSubject:145,TriplesTemplate_option0:146,GroupGraphPatternSub:147,GroupGraphPatternSub_option0:148,GroupGraphPatternSub_repetition0:149,GroupGraphPatternSubTail:150,GraphPatternNotTriples:151,GroupGraphPatternSubTail_option0:152,GroupGraphPatternSubTail_option1:153,TriplesBlock:154,TriplesBlock_repetition0:155,TriplesSameSubjectPath:156,TriplesBlock_option0:157,GroupOrUnionGraphPattern:158,OPTIONAL:159,MINUS:160,SERVICE:161,GraphPatternNotTriples_option0:162,FILTER:163,BIND:164,InlineDataOneVar:165,InlineDataFull:166,InlineDataOneVar_repetition0:167,InlineDataFull_repetition0:168,InlineDataFull_repetition_plus1:169,InlineDataFull_repetition2:170,DataBlockValue:171,Literal:172,QuotedTriple:173,UNDEF:174,GroupOrUnionGraphPattern_repetition0:175,ArgList:176,ArgList_option0:177,ArgList_repetition0:178,ExpressionList:179,ExpressionList_repetition0:180,ConstructTemplate_option0:181,ConstructTriples:182,ConstructTriples_repetition0:183,ConstructTriples_option0:184,VarOrTermOrQuotedTP:185,PropertyListNotEmpty:186,TriplesNode:187,PropertyList:188,PropertyList_option0:189,VerbObjectList:190,PropertyListNotEmpty_repetition0:191,SemiOptionalVerbObjectList:192,";":193,SemiOptionalVerbObjectList_option0:194,Verb:195,ObjectList:196,a:197,ObjectList_repetition0:198,Object:199,GraphNode:200,Object_option0:201,PropertyListPathNotEmpty:202,TriplesNodePath:203,TriplesSameSubjectPath_option0:204,O:205,PropertyListPathNotEmpty_repetition0:206,PropertyListPathNotEmptyTail:207,O_group0:208,ObjectListPath:209,ObjectListPath_repetition0:210,ObjectPath:211,GraphNodePath:212,ObjectPath_option0:213,Path:214,Path_repetition0:215,PathSequence:216,PathSequence_repetition0:217,PathEltOrInverse:218,PathElt:219,PathPrimary:220,PathElt_option0:221,PathEltOrInverse_option0:222,IriOrA:223,"!":224,PathNegatedPropertySet:225,PathOneInPropertySet:226,PathNegatedPropertySet_repetition0:227,PathNegatedPropertySet_option0:228,"^":229,TriplesNode_repetition_plus0:230,"[":231,"]":232,TriplesNodePath_repetition_plus0:233,VarOrTermOrQuotedTPExpr:234,VarOrTerm:235,GraphTerm:236,BlankNode:237,ConditionalOrExpression:238,ConditionalAndExpression:239,ConditionalOrExpression_repetition0:240,ConditionalOrExpressionTail:241,"||":242,RelationalExpression:243,ConditionalAndExpression_repetition0:244,ConditionalAndExpressionTail:245,"&&":246,NumericExpression:247,RelationalExpression_group0:248,RelationalExpression_option0:249,IN:250,MultiplicativeExpression:251,NumericExpression_repetition0:252,AdditiveExpressionTail:253,AdditiveExpressionTail_group0:254,NumericLiteralPositive:255,AdditiveExpressionTail_repetition0:256,NumericLiteralNegative:257,AdditiveExpressionTail_repetition1:258,UnaryExpression:259,MultiplicativeExpression_repetition0:260,MultiplicativeExpressionTail:261,MultiplicativeExpressionTail_group0:262,"+":263,PrimaryExpression:264,"-":265,ExprQuotedTP:266,Aggregate:267,FUNC_ARITY0:268,FUNC_ARITY1:269,FUNC_ARITY1_SPARQL_STAR:270,FUNC_ARITY2:271,",":272,FUNC_ARITY3:273,FUNC_ARITY3_SPARQL_STAR:274,BuiltInCall_group0:275,BOUND:276,BNODE:277,BuiltInCall_option0:278,EXISTS:279,COUNT:280,Aggregate_option0:281,Aggregate_group0:282,FUNC_AGGREGATE:283,Aggregate_option1:284,GROUP_CONCAT:285,Aggregate_option2:286,Aggregate_option3:287,GroupConcatSeparator:288,SEPARATOR:289,"=":290,String:291,LANGTAG:292,"^^":293,DECIMAL:294,DOUBLE:295,BOOLEAN:296,INTEGER_POSITIVE:297,DECIMAL_POSITIVE:298,DOUBLE_POSITIVE:299,INTEGER_NEGATIVE:300,DECIMAL_NEGATIVE:301,DOUBLE_NEGATIVE:302,STRING_LITERAL1:303,STRING_LITERAL2:304,STRING_LITERAL_LONG1:305,STRING_LITERAL_LONG2:306,PrefixedName:307,PNAME_LN:308,BLANK_NODE_LABEL:309,ANON:310,QuotedTP:311,"<<":312,qtSubjectOrObject:313,">>":314,DataValueTerm:315,AnnotationPattern:316,"{|":317,"|}":318,AnnotationPatternPath:319,ExprVarOrTerm:320,QueryOrUpdate_group0_option0:321,Prologue_repetition0_group0:322,Qry_group0_repetition_plus0:323,SelectClauseBase_option0_group0:324,DISTINCT:325,REDUCED:326,NAMED:327,SILENT:328,CLEAR:329,DROP:330,ADD:331,MOVE:332,COPY:333,ALL:334,".":335,UNION:336,"|":337,"/":338,PathElt_option0_group0:339,"?":340,"!=":341,"<":342,">":343,"<=":344,">=":345,NOT:346,CONCAT:347,COALESCE:348,SUBSTR:349,REGEX:350,REPLACE:351,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",12:"BASE",13:"IRIREF",15:"PREFIX",16:"PNAME_NS",24:"CONSTRUCT",28:"WHERE",29:"{",31:"}",32:"DESCRIBE",36:"ASK",39:"*",41:"SELECT",45:"(",47:"AS",48:")",53:"FROM",63:"GROUP",64:"BY",70:"HAVING",73:"ORDER",76:"ASC",78:"DESC",81:"LIMIT",82:"INTEGER",83:"OFFSET",85:"VALUES",87:"VAR",89:"NIL",100:"LOAD",109:"TO",110:"CREATE",112:"GRAPH",113:"INSERTDATA",115:"DELETEDATA",116:"DELETEWHERE",121:"INTO",123:"DELETE",126:"INSERT",128:"USING",131:"WITH",132:"DEFAULT",159:"OPTIONAL",160:"MINUS",161:"SERVICE",163:"FILTER",164:"BIND",174:"UNDEF",193:";",197:"a",224:"!",229:"^",231:"[",232:"]",242:"||",246:"&&",250:"IN",263:"+",265:"-",268:"FUNC_ARITY0",269:"FUNC_ARITY1",270:"FUNC_ARITY1_SPARQL_STAR",271:"FUNC_ARITY2",272:",",273:"FUNC_ARITY3",274:"FUNC_ARITY3_SPARQL_STAR",276:"BOUND",277:"BNODE",279:"EXISTS",280:"COUNT",283:"FUNC_AGGREGATE",285:"GROUP_CONCAT",289:"SEPARATOR",290:"=",292:"LANGTAG",293:"^^",294:"DECIMAL",295:"DOUBLE",296:"BOOLEAN",297:"INTEGER_POSITIVE",298:"DECIMAL_POSITIVE",299:"DOUBLE_POSITIVE",300:"INTEGER_NEGATIVE",301:"DECIMAL_NEGATIVE",302:"DOUBLE_NEGATIVE",303:"STRING_LITERAL1",304:"STRING_LITERAL2",305:"STRING_LITERAL_LONG1",306:"STRING_LITERAL_LONG2",308:"PNAME_LN",309:"BLANK_NODE_LABEL",310:"ANON",312:"<<",314:">>",317:"{|",318:"|}",325:"DISTINCT",326:"REDUCED",327:"NAMED",328:"SILENT",329:"CLEAR",330:"DROP",331:"ADD",332:"MOVE",333:"COPY",334:"ALL",335:".",336:"UNION",337:"|",338:"/",340:"?",341:"!=",342:"<",343:">",344:"<=",345:">=",346:"NOT",347:"CONCAT",348:"COALESCE",349:"SUBSTR",350:"REGEX",351:"REPLACE"},productions_:[0,[3,3],[7,2],[4,1],[11,2],[14,3],[8,4],[8,4],[8,5],[8,7],[8,5],[8,4],[17,2],[21,2],[38,2],[43,1],[43,5],[49,4],[49,4],[52,3],[19,2],[23,2],[20,3],[62,3],[66,1],[66,1],[66,3],[66,5],[66,1],[69,2],[72,3],[75,2],[75,2],[75,1],[75,1],[80,2],[80,2],[80,4],[80,4],[84,2],[86,4],[86,4],[86,6],[86,2],[94,3],[96,3],[98,4],[98,3],[98,5],[98,4],[98,2],[98,2],[98,2],[98,5],[120,2],[118,3],[118,1],[125,2],[127,3],[130,2],[108,1],[108,2],[122,2],[105,1],[105,1],[114,3],[135,2],[138,7],[143,3],[57,3],[57,3],[147,2],[150,3],[154,3],[151,1],[151,2],[151,2],[151,3],[151,4],[151,2],[151,6],[151,1],[93,1],[93,1],[165,4],[166,4],[166,6],[171,1],[171,1],[171,1],[171,1],[158,2],[79,1],[79,1],[79,1],[68,2],[176,1],[176,5],[179,1],[179,4],[25,3],[182,3],[145,2],[145,2],[188,1],[186,2],[192,2],[190,2],[195,1],[195,1],[196,2],[199,2],[156,2],[156,2],[202,2],[207,1],[207,2],[205,2],[209,2],[211,2],[214,2],[216,2],[219,2],[218,2],[220,1],[220,2],[220,3],[225,1],[225,1],[225,4],[226,1],[226,2],[187,3],[187,3],[203,3],[203,3],[200,1],[200,1],[212,1],[212,1],[234,1],[235,1],[235,1],[139,1],[139,1],[44,1],[236,1],[236,1],[236,1],[236,1],[46,1],[238,2],[241,2],[239,2],[245,2],[243,1],[243,3],[243,4],[247,2],[253,2],[253,2],[253,2],[251,2],[261,2],[259,2],[259,2],[259,2],[259,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[264,1],[77,3],[67,1],[67,2],[67,4],[67,4],[67,6],[67,8],[67,8],[67,2],[67,4],[67,2],[67,4],[67,3],[267,5],[267,5],[267,6],[288,4],[172,1],[172,2],[172,3],[172,1],[172,1],[172,1],[172,1],[172,1],[172,1],[255,1],[255,1],[255,1],[257,1],[257,1],[257,1],[291,1],[291,1],[291,1],[291,1],[55,1],[55,1],[307,1],[307,1],[237,1],[237,1],[311,5],[173,5],[313,1],[313,1],[313,1],[313,1],[313,1],[315,1],[315,1],[315,1],[185,1],[185,1],[185,1],[316,3],[319,3],[266,5],[320,1],[320,1],[320,1],[223,1],[223,1],[321,0],[321,1],[5,1],[5,1],[5,1],[9,0],[9,1],[322,1],[322,1],[10,0],[10,2],[18,0],[18,2],[22,0],[22,2],[26,0],[26,2],[27,0],[27,2],[30,0],[30,1],[323,1],[323,2],[33,1],[33,1],[34,0],[34,2],[35,0],[35,1],[37,0],[37,2],[40,1],[40,2],[324,1],[324,1],[42,0],[42,1],[50,0],[50,1],[51,0],[51,1],[54,0],[54,1],[56,0],[56,1],[58,0],[58,1],[59,0],[59,1],[60,0],[60,1],[61,0],[61,1],[65,1],[65,2],[71,1],[71,2],[74,1],[74,2],[88,0],[88,2],[90,0],[90,2],[91,1],[91,2],[92,0],[92,2],[95,1],[95,2],[97,0],[97,4],[99,0],[99,2],[101,0],[101,1],[102,0],[102,1],[103,1],[103,1],[104,0],[104,1],[106,1],[106,1],[106,1],[107,0],[107,1],[111,0],[111,1],[117,0],[117,1],[119,0],[119,2],[124,0],[124,1],[129,0],[129,1],[133,0],[133,1],[134,1],[134,1],[134,1],[136,0],[136,1],[137,0],[137,2],[140,0],[140,1],[141,0],[141,1],[142,0],[142,1],[144,0],[144,3],[146,0],[146,1],[148,0],[148,1],[149,0],[149,2],[152,0],[152,1],[153,0],[153,1],[155,0],[155,3],[157,0],[157,1],[162,0],[162,1],[167,0],[167,2],[168,0],[168,2],[169,1],[169,2],[170,0],[170,2],[175,0],[175,3],[177,0],[177,1],[178,0],[178,3],[180,0],[180,3],[181,0],[181,1],[183,0],[183,3],[184,0],[184,1],[189,0],[189,1],[191,0],[191,2],[194,0],[194,1],[198,0],[198,3],[201,0],[201,1],[204,0],[204,1],[206,0],[206,2],[208,1],[208,1],[210,0],[210,3],[213,0],[213,1],[215,0],[215,3],[217,0],[217,3],[339,1],[339,1],[339,1],[221,0],[221,1],[222,0],[222,1],[227,0],[227,3],[228,0],[228,1],[230,1],[230,2],[233,1],[233,2],[240,0],[240,2],[244,0],[244,2],[248,1],[248,1],[248,1],[248,1],[248,1],[248,1],[249,0],[249,1],[252,0],[252,2],[254,1],[254,1],[256,0],[256,2],[258,0],[258,2],[260,0],[260,2],[262,1],[262,1],[275,1],[275,1],[275,1],[275,1],[275,1],[278,0],[278,1],[281,0],[281,1],[282,1],[282,1],[284,0],[284,1],[286,0],[286,1],[287,0],[287,1]],performAction:function(e,t,r,n,i,o,a){var s,c,u,l,d=o.length-1;switch(i){case 1:if(o[d-1]=o[d-1]||{},nn.base&&(o[d-1].base=nn.base),nn.base="",o[d-1].prefixes=nn.prefixes,nn.prefixes=null,nn.pathOnly){if("path"===o[d-1].type||"termType"in o[d-1])return o[d-1];throw new Error("Received full SPARQL query in path only mode")}if("path"===o[d-1].type||"termType"in o[d-1])throw new Error("Received only path in full SPARQL mode");if("update"===o[d-1].type){const e={};for(const t of o[d-1].updates)if("insert"===t.updateType){const r={};for(const e of t.insert)if("bgp"===e.type||"graph"===e.type)for(const t of e.triples)"BlankNode"===t.subject.termType&&(r[t.subject.value]=!0),"BlankNode"===t.predicate.termType&&(r[t.predicate.value]=!0),"BlankNode"===t.object.termType&&(r[t.object.value]=!0);for(const t of Object.keys(r)){if(e[t])throw new Error("Detected reuse blank node across different INSERT DATA clauses");e[t]=!0}}}return o[d-1];case 2:this.$={...o[d-1],...o[d],type:"query"};break;case 4:nn.base=Or(o[d]);break;case 5:nn.prefixes||(nn.prefixes={}),o[d-1]=o[d-1].substr(0,o[d-1].length-1),o[d]=Or(o[d]),nn.prefixes[o[d-1]]=o[d];break;case 6:this.$={...o[d-3],...Fr(o[d-2]),...o[d-1],...o[d]};break;case 7:if(!nn.skipValidation&&(zr(o[d-3].variables.map((e=>Kr(e.expression)))).some((e=>"count"===e.aggregation&&!(e.expression instanceof ar)))||o[d].group))for(const e of o[d-3].variables)if("Variable"===e.termType){if(!o[d].group||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Projection of ungrouped variable (?"+Gr(e)+")")}else if(0===Kr(e.expression).length){const t=Qr(e.expression);for(const e of t)if(!o[d].group||!o[d].group.map||!o[d].group.map((e=>Gr(e))).includes(Gr(e)))throw Error("Use of ungrouped variable in projection of operation (?"+Gr(e)+")")}const e=o[d-1].where.filter((e=>"query"===e.type));if(e.length>0){const t=o[d-3].variables.filter((e=>e.variable&&e.variable.value)).map((e=>e.variable.value)),r=zr(e.map((e=>e.variables))).map((e=>e.value||e.variable.value));for(const e of t)if(r.indexOf(e)>=0)throw Error("Target id of 'AS' (?"+e+") already used in subquery")}this.$=Er(o[d-3],Fr(o[d-2]),o[d-1],o[d]);break;case 8:this.$=Er({queryType:"CONSTRUCT",template:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 9:this.$=Er({queryType:"CONSTRUCT",template:o[d-2]=o[d-2]?o[d-2].triples:[]},Fr(o[d-5]),{where:[{type:"bgp",triples:Sr([],o[d-2])}]},o[d]);break;case 10:this.$=Er({queryType:"DESCRIBE",variables:"*"===o[d-3]?[new ar]:o[d-3]},Fr(o[d-2]),o[d-1],o[d]);break;case 11:this.$=Er({queryType:"ASK"},Fr(o[d-2]),o[d-1],o[d]);break;case 12:this.$=Er(o[d-1],{variables:[new ar]});break;case 13:const t=function(e){const t=e.slice().sort(),r=[];for(let e=0;ee.value||e.variable.value)));if(t.length>0)throw Error("Two or more of the resulting columns have the same name (?"+t[0]+")");this.$=Er(o[d-1],{variables:o[d]});break;case 14:this.$=Er({queryType:"SELECT"},o[d]&&(o[d-1]=vr(o[d]),o[d]={},o[d][o[d-1]]=!0,o[d]));break;case 16:case 27:this.$=Ir(o[d-3],{variable:o[d-1]});break;case 17:case 18:this.$=Er(o[d-3],o[d-2],o[d-1],o[d],{type:"query"});break;case 19:case 58:this.$={iri:o[d],named:!!o[d-1]};break;case 20:this.$={where:o[d].patterns};break;case 21:this.$=Er(o[d-1],o[d]);break;case 22:this.$=Er(o[d-2],o[d-1],o[d]);break;case 23:this.$={group:o[d]};break;case 24:case 25:case 28:case 31:case 33:case 34:this.$=Ir(o[d]);break;case 26:this.$=Ir(o[d-1]);break;case 29:this.$={having:o[d]};break;case 30:this.$={order:o[d]};break;case 32:this.$=Ir(o[d],{descending:!0});break;case 35:this.$={limit:Dr(o[d])};break;case 36:this.$={offset:Dr(o[d])};break;case 37:this.$={limit:Dr(o[d-2]),offset:Dr(o[d])};break;case 38:this.$={limit:Dr(o[d]),offset:Dr(o[d-2])};break;case 39:case 43:this.$={type:"values",values:o[d]};break;case 40:case 84:this.$=o[d-1].map((e=>({[o[d-3]]:e})));break;case 41:case 85:this.$=o[d-1].map((()=>({})));break;case 42:case 86:var p=o[d-4].length;o[d-4]=o[d-4].map(xr),this.$=o[d-1].map((function(e){if(e.length!==p)throw Error("Inconsistent VALUES length");for(var t={},r=0;r"bind"===e.type))){const t=o[d-1].indexOf(e),r=new Set;for(const e of o[d-1].slice(0,t))"group"!==e.type&&"bgp"!==e.type||Wr(e).forEach((e=>r.add(e)));if(r.has(e.variable.value))throw Error("Variable used to bind is already bound (?"+e.variable.value+")")}this.$={type:"group",patterns:o[d-1]};break;case 71:this.$=o[d-1]?Tr([o[d-1]],o[d]):Tr(o[d]);break;case 72:this.$=o[d]?[o[d-2],o[d]]:o[d-2];break;case 75:this.$=Er(o[d],{type:"optional"});break;case 76:this.$=Er(o[d],{type:"minus"});break;case 77:this.$=Er(o[d],{type:"graph",name:o[d-1]});break;case 78:this.$=Er(o[d],{type:"service",name:o[d-1],silent:!!o[d-2]});break;case 79:this.$={type:"filter",expression:o[d]};break;case 80:this.$={type:"bind",variable:o[d-1],expression:o[d-3]};break;case 89:this.$=Xr(o[d]);break;case 90:this.$=void 0;break;case 91:this.$=o[d-1].length?{type:"union",patterns:Tr(o[d-1].map(Nr),[Nr(o[d])])}:o[d];break;case 95:this.$={...o[d],function:o[d-1]};break;case 96:this.$={type:"functionCall",args:[]};break;case 97:this.$={type:"functionCall",args:wr(o[d-2],o[d-1]),distinct:!!o[d-3]};break;case 98:case 115:case 128:case 247:case 249:case 251:case 253:case 255:case 263:case 267:case 297:case 299:case 303:case 307:case 328:case 341:case 349:case 355:case 361:case 367:case 369:case 373:case 375:case 379:case 381:case 385:case 391:case 395:case 401:case 405:case 409:case 411:case 420:case 428:case 430:case 440:case 444:case 446:case 448:this.$=[];break;case 99:this.$=wr(o[d-2],o[d-1]);break;case 101:this.$=Tr(o[d-2],[o[d-1]]);break;case 102:case 112:this.$=Zr(o[d].map((e=>Er(Mr(o[d-1]),e))));break;case 103:this.$=Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples));break;case 105:this.$=Tr([o[d-1]],o[d]);break;case 106:this.$=Tr(o[d]);break;case 107:this.$=$r(o[d-1],o[d]);break;case 109:case 237:this.$=nn.factory.namedNode(cr);break;case 110:case 118:this.$=wr(o[d-1],o[d]);break;case 111:this.$=o[d]?{annotation:o[d],object:o[d-1]}:o[d-1];break;case 113:this.$=o[d]?Zr(Sr(o[d].map((e=>Er(Mr(o[d-1].entity),e))),o[d-1].triples)):o[d-1].triples;break;case 114:this.$=$r(...o[d-1],o[d]);break;case 116:this.$=$r(...o[d]);break;case 117:case 159:case 163:this.$=[o[d-1],o[d]];break;case 119:this.$=o[d]?{object:o[d-1],annotation:o[d]}:o[d-1];break;case 120:this.$=o[d-1].length?Rr("|",wr(o[d-1],o[d])):o[d];break;case 121:this.$=o[d-1].length?Rr("/",wr(o[d-1],o[d])):o[d];break;case 122:this.$=o[d]?Rr(o[d],[o[d-1]]):o[d-1];break;case 123:this.$=o[d-1]?Rr(o[d-1],[o[d]]):o[d];break;case 125:case 131:this.$=Rr(o[d-1],[o[d]]);break;case 129:this.$=Rr("|",wr(o[d-2],o[d-1]));break;case 132:case 134:this.$=function(e){var t=kr(),r=t,n=[],i=[];e.forEach((function(e){n.push(e.entity),Sr(i,e.triples)}));for(var o=0,a=0,s=n.length,c=Array(2*s);o2&&O.push("'"+this.terminals_[S]+"'");A=d.showPosition?"Parse error on line "+(s+1)+":\n"+d.showPosition()+"\nExpecting "+O.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:f,expected:O})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(v[0]){case 1:r.push(m),n.push(d.yytext),i.push(d.yylloc),r.push(v[1]),m=null,b?(m=b,b=null):(c=d.yyleng,a=d.yytext,s=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[v[1]][1],x.$=n[n.length-E],x._$={first_line:i[i.length-(E||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(E||1)].first_column,last_column:i[i.length-1].last_column},g&&(x._$.range=[i[i.length-(E||1)].range[0],i[i.length-1].range[1]]),void 0!==(w=this.performAction.apply(x,[a,c,s,p.yy,v[1],n,i].concat(l))))return w;E&&(r=r.slice(0,-1*E*2),n=n.slice(0,-1*E),i=i.slice(0,-1*E)),r.push(this.productions_[v[1]][0]),n.push(x.$),i.push(x._$),T=o[r[r.length-2]][r[r.length-1]],r.push(T);break;case 3:return!0}}return!0}},ar=r(23637).t,sr="http://www.w3.org/1999/02/22-rdf-syntax-ns#",cr=sr+"type",ur=sr+"first",lr=sr+"rest",dr=sr+"nil",pr="http://www.w3.org/2001/XMLSchema#",hr=pr+"integer",fr=pr+"decimal",yr=pr+"double",gr=pr+"boolean",mr="",br="",_r="";function vr(e){return e.toLowerCase()}function wr(e,t){return e.push(t),e}function Sr(e,t){return e.push.apply(e,t),e}function Er(e){e||(e={});for(var t,r=1,n=arguments.length;r>10),56320+(1023&i))}var o=Br[n];if(!o)throw new Error;return o}))}catch(e){return""}if(Vr.exec(e))throw new Error("Invalid unicode codepoint of surrogate pair without corresponding codepoint in "+e);return e}function $r(e,t,r){var n=[],i=[];return t.forEach((function(t){let r=null;t.annotation&&(r=t.annotation,t=t.object),n.push(Mr(null,e,t.entity,r)),Sr(i,t.triples)})),Tr(n,r||[],i)}function Gr(e){return e.variable?e.variable.value:e.value||e.expression.value}function Kr(e){if(!e)return[];if("aggregate"===e.type)return[e];if("operation"===e.type){const t=[];for(const r of e.args)t.push(...Kr(r));return t}return[]}function Qr(e){const t=new Set,r=function(e){e&&("Variable"===e.termType?t.add(e):"operation"===e.type&&e.args.forEach(r))};return r(e),t}function zr(e,t=1,r=[]){for(const n of e)t>0&&n instanceof Array?zr(n,t-1,r):r.push(n);return r}function Jr(e){return"Variable"===e.termType}function Wr(e){if(e.triples){const t=[];for(const r of e.triples)Jr(r.subject)&&t.push(r.subject.value),Jr(r.predicate)&&t.push(r.predicate.value),Jr(r.object)&&t.push(r.object.value);return t}if(e.patterns){const t=[];for(const r of e.patterns)t.push(...Wr(r));return t}return[]}function Xr(e){if(!nn.sparqlStar)throw new Error("SPARQL-star support is not enabled");return e}function Yr(e,t,r){for(const n of t){const t=Mr("subject"in n?n.subject:e,n.predicate,n.object);r.push(t),n.annotations&&Yr(Cr(e,n.predicate,n.object),n.annotations,r)}}function Zr(e){if(nn.sparqlStar){const t=[];return e.forEach((e=>{const r=Mr(e.subject,e.predicate,e.object);t.push(r),e.annotations&&Yr(Cr(e.subject,e.predicate,e.object),e.annotations,t)})),t}return e}function en(e){for(const t of e){if("graph"===t.type&&"Variable"===t.name.termType)throw new Error("Detected illegal variable in GRAPH");if("bgp"===t.type||"graph"===t.type)for(const e of t.triples)if("Variable"===e.subject.termType||"Variable"===e.predicate.termType||"Variable"===e.object.termType)throw new Error("Detected illegal variable in BGP")}return e}function tn(e){for(const t of e)if("bgp"===t.type)for(const e of t.triples)if("BlankNode"===e.subject.termType||"BlankNode"===e.predicate.termType||"BlankNode"===e.object.termType)throw new Error("Detected illegal blank node in BGP");return e}var rn=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var o in i)this[o]=i[o];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),o=0;ot[0].length)){if(t=r,n=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,i[o])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{flex:!0,"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:return 12;case 2:return 15;case 3:return 41;case 4:return 325;case 5:return 326;case 6:return 45;case 7:return 47;case 8:return 48;case 9:return 39;case 10:return 24;case 11:return 28;case 12:return 29;case 13:return 31;case 14:return 32;case 15:return 36;case 16:return 53;case 17:return 327;case 18:return 63;case 19:return 64;case 20:return 70;case 21:return 73;case 22:return 76;case 23:return 78;case 24:return 81;case 25:return 83;case 26:return 85;case 27:return 193;case 28:return 100;case 29:return 328;case 30:return 121;case 31:return 329;case 32:return 330;case 33:return 110;case 34:return 331;case 35:return 109;case 36:return 332;case 37:return 333;case 38:return 113;case 39:return 115;case 40:return 116;case 41:return 131;case 42:return 123;case 43:return 126;case 44:return 128;case 45:return 132;case 46:return 112;case 47:return 334;case 48:return 335;case 49:return 159;case 50:return 161;case 51:return 164;case 52:return 174;case 53:return 160;case 54:return 336;case 55:return 163;case 56:return 312;case 57:return 314;case 58:return 317;case 59:return 318;case 60:return 272;case 61:return 197;case 62:return 337;case 63:return 338;case 64:return 229;case 65:return 340;case 66:return 263;case 67:return 224;case 68:return 231;case 69:return 232;case 70:return 242;case 71:return 246;case 72:return 290;case 73:return 341;case 74:return 342;case 75:return 343;case 76:return 344;case 77:return 345;case 78:return 250;case 79:return 346;case 80:return 265;case 81:return 276;case 82:return 277;case 83:return 268;case 84:return 269;case 85:return 270;case 86:return 271;case 87:return 347;case 88:return 348;case 89:return 273;case 90:return 274;case 91:return 350;case 92:return 349;case 93:return 351;case 94:return 279;case 95:return 280;case 96:return 283;case 97:return 285;case 98:return 289;case 99:return 293;case 100:return 296;case 101:return 13;case 102:return 16;case 103:return 308;case 104:return 309;case 105:return 87;case 106:return 292;case 107:return 82;case 108:return 294;case 109:return 295;case 110:return 297;case 111:return 298;case 112:return 299;case 113:return 300;case 114:return 301;case 115:return 302;case 116:return"EXPONENT";case 117:return 303;case 118:return 304;case 119:return 305;case 120:return 306;case 121:return 89;case 122:return 310;case 123:return 6;case 124:return"INVALID";case 125:console.log(t.yytext)}},rules:[/^(?:\s+|(#[^\n\r]*))/i,/^(?:BASE)/i,/^(?:PREFIX)/i,/^(?:SELECT)/i,/^(?:DISTINCT)/i,/^(?:REDUCED)/i,/^(?:\()/i,/^(?:AS)/i,/^(?:\))/i,/^(?:\*)/i,/^(?:CONSTRUCT)/i,/^(?:WHERE)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:DESCRIBE)/i,/^(?:ASK)/i,/^(?:FROM)/i,/^(?:NAMED)/i,/^(?:GROUP)/i,/^(?:BY)/i,/^(?:HAVING)/i,/^(?:ORDER)/i,/^(?:ASC)/i,/^(?:DESC)/i,/^(?:LIMIT)/i,/^(?:OFFSET)/i,/^(?:VALUES)/i,/^(?:;)/i,/^(?:LOAD)/i,/^(?:SILENT)/i,/^(?:INTO)/i,/^(?:CLEAR)/i,/^(?:DROP)/i,/^(?:CREATE)/i,/^(?:ADD)/i,/^(?:TO)/i,/^(?:MOVE)/i,/^(?:COPY)/i,/^(?:INSERT((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)DATA)/i,/^(?:DELETE((\s+|(#[^\n\r]*)\n\r?)+)WHERE)/i,/^(?:WITH)/i,/^(?:DELETE)/i,/^(?:INSERT)/i,/^(?:USING)/i,/^(?:DEFAULT)/i,/^(?:GRAPH)/i,/^(?:ALL)/i,/^(?:\.)/i,/^(?:OPTIONAL)/i,/^(?:SERVICE)/i,/^(?:BIND)/i,/^(?:UNDEF)/i,/^(?:MINUS)/i,/^(?:UNION)/i,/^(?:FILTER)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:\{\|)/i,/^(?:\|\})/i,/^(?:,)/i,/^(?:a)/i,/^(?:\|)/i,/^(?:\/)/i,/^(?:\^)/i,/^(?:\?)/i,/^(?:\+)/i,/^(?:!)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:<)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:>=)/i,/^(?:IN)/i,/^(?:NOT)/i,/^(?:-)/i,/^(?:BOUND)/i,/^(?:BNODE)/i,/^(?:(RAND|NOW|UUID|STRUUID))/i,/^(?:(LANG|DATATYPE|IRI|URI|ABS|CEIL|FLOOR|ROUND|STRLEN|STR|UCASE|LCASE|ENCODE_FOR_URI|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|MD5|SHA1|SHA256|SHA384|SHA512|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC))/i,/^(?:(SUBJECT|PREDICATE|OBJECT|isTRIPLE))/i,/^(?:(LANGMATCHES|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|STRLANG|STRDT|sameTerm))/i,/^(?:CONCAT)/i,/^(?:COALESCE)/i,/^(?:IF)/i,/^(?:TRIPLE)/i,/^(?:REGEX)/i,/^(?:SUBSTR)/i,/^(?:REPLACE)/i,/^(?:EXISTS)/i,/^(?:COUNT)/i,/^(?:SUM|MIN|MAX|AVG|SAMPLE)/i,/^(?:GROUP_CONCAT)/i,/^(?:SEPARATOR)/i,/^(?:\^\^)/i,/^(?:true|false)/i,/^(?:(<(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*>))/i,/^(?:((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:))/i,/^(?:(((([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?)?:)((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|:|[0-9]|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))))*(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|:|((%([0-9A-Fa-f])([0-9A-Fa-f]))|(\\(_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%)))))?)))/i,/^(?:(_:(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:(?:(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])|\.)*(((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|-|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040]))?))/i,/^(?:([\?\$]((?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9])(?:((?:([A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])|_))|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])*)))/i,/^(?:(@[a-zA-Z]+(?:-[a-zA-Z0-9]+)*))/i,/^(?:([0-9]+))/i,/^(?:([0-9]*\.[0-9]+))/i,/^(?:([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+)))/i,/^(?:(\+([0-9]+)))/i,/^(?:(\+([0-9]*\.[0-9]+)))/i,/^(?:(\+([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:(-([0-9]+)))/i,/^(?:(-([0-9]*\.[0-9]+)))/i,/^(?:(-([0-9]+\.[0-9]*([eE][+-]?[0-9]+)|\.([0-9])+([eE][+-]?[0-9]+)|([0-9])+([eE][+-]?[0-9]+))))/i,/^(?:([eE][+-]?[0-9]+))/i,/^(?:('(?:(?:[^\u0027\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*'))/i,/^(?:("(?:(?:[^\u0022\u005C\u000A\u000D])|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])))*"))/i,/^(?:('''(?:(?:'|'')?(?:[^'\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*'''))/i,/^(?:("""(?:(?:"|"")?(?:[^\"\\]|(\\[tbnrf\\\"']|\\u([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])|\\U([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f])([0-9A-Fa-f]))))*"""))/i,/^(?:(\((\u0020|\u0009|\u000D|\u000A)*\)))/i,/^(?:(\[(\u0020|\u0009|\u000D|\u000A)*\]))/i,/^(?:$)/i,/^(?:.)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],inclusive:!0}}};return e}();function nn(){this.yy={}}return or.lexer=rn,nn.prototype=or,or.Parser=nn,new nn}();e.exports=n},23637:e=>{class t{constructor(){return r||this}equals(e){return e&&this.termType===e.termType}}Object.defineProperty(t.prototype,"value",{enumerable:!0,value:"*"}),Object.defineProperty(t.prototype,"termType",{enumerable:!0,value:"Wildcard"});var r=new t;e.exports.t=t},98082:(e,t,r)=>{var n=r(83849).Parser,i=r(23825),o=r(23637).t,{DataFactory:a}=r(47793);e.exports={Parser:function({prefixes:e,baseIRI:t,factory:r,sparqlStar:i,skipValidation:o,skipUngroupedVariableCheck:s,pathOnly:c}={}){var u={};for(var l in e||{})u[l]=e[l];var d=new n;return d.parse=function(){return n.base=t||"",n.prefixes=Object.create(u),n.factory=r||new a,n.sparqlStar=Boolean(i),n.pathOnly=Boolean(c),n.skipValidation=Boolean(o)||Boolean(s),n.prototype.parse.apply(d,arguments)},d._resetBlanks=n._resetBlanks,d},Generator:i,Wildcard:o}},916:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(71142),t)},71142:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlJsonParser=void 0;const n=r(47793),i=r(19198),o=r(50608);t.SparqlJsonParser=class{constructor(e){var t;e=e||{},this.dataFactory=e.dataFactory||new n.DataFactory,this.prefixVariableQuestionMark=!!e.prefixVariableQuestionMark,this.suppressMissingStreamResultsError=null===(t=e.suppressMissingStreamResultsError)||void 0===t||t}parseJsonResults(e){return e.results.bindings.map((e=>this.parseJsonBindings(e)))}parseJsonResultsStream(e){const t=e=>s.emit("error",e);e.on("error",t);const r=new o;r.onError=t;let n=!1,a=!1;r.onValue=e=>{if("vars"===r.key&&2===r.stack.length&&"head"===r.stack[1].key)s.emit("variables",e.map((e=>this.dataFactory.variable(e)))),n=!0;else if("results"===r.key&&1===r.stack.length)a=!0;else if("number"==typeof r.key&&3===r.stack.length&&"results"===r.stack[1].key&&"bindings"===r.stack[2].key)try{s.push(this.parseJsonBindings(e))}catch(e){s.emit("error",e)}else"metadata"===r.key&&1===r.stack.length&&s.emit("metadata",e)};const s=e.on("end",(e=>{a||this.suppressMissingStreamResultsError?n||s.emit("variables",[]):s.emit("error",new Error("No valid SPARQL query results were found."))})).pipe(new i.Transform({objectMode:!0,transform(e,t,n){r.write(e),n()}}));return s}parseJsonBindings(e){const t={};for(const r in e){const n=e[r];t[this.prefixVariableQuestionMark?"?"+r:r]=this.parseJsonValue(n)}return t}parseJsonValue(e){let t;switch(e.type){case"bnode":t=this.dataFactory.blankNode(e.value);break;case"literal":t=e["xml:lang"]?this.dataFactory.literal(e.value,e["xml:lang"]):e.datatype?this.dataFactory.literal(e.value,this.dataFactory.namedNode(e.datatype)):this.dataFactory.literal(e.value);break;case"typed-literal":t=this.dataFactory.literal(e.value,this.dataFactory.namedNode(e.datatype));break;case"triple":const r=e.value;if(!(r&&r.subject&&r.predicate&&r.object))throw new Error("Invalid quoted triple: "+JSON.stringify(e));t=this.dataFactory.quad(this.parseJsonValue(r.subject),this.parseJsonValue(r.predicate),this.parseJsonValue(r.object));break;default:t=this.dataFactory.namedNode(e.value)}return t}parseJsonBoolean(e){if("boolean"in e)return e.boolean;throw new Error("No valid ASK response was found.")}parseJsonBooleanStream(e){return new Promise(((t,r)=>{const n=new o;n.onError=r,n.onValue=e=>{"boolean"===n.key&&"boolean"==typeof e&&1===n.stack.length&&t(e)},e.on("error",r).on("data",(e=>n.write(e))).on("end",(()=>r(new Error("No valid ASK response was found."))))}))}}},12763:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(52875),t)},52875:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Converter=void 0;const n=r(99349),i=r(916);class o{constructor(e){(e=e||{delimiter:"_"}).prefixVariableQuestionMark=!1,this.delimiter=e.delimiter||"_",this.parser=new i.SparqlJsonParser(e),this.materializeRdfJsTerms=e.materializeRdfJsTerms}static addValueToTree(e,t,r,n,i,a){const s=t[0],c=n?n+a+s:s,u=i.singularizeVariables[c];if(1===t.length)u?e[s]||(e[s]=r):(e[s]||(e[s]=[]),e[s].push(r));else{let n;u?(e[s]||(e[s]={}),n=e[s]):(e[s]||(e[s]=[{}]),n=e[s][0]),o.addValueToTree(n,t.slice(1),r,c,i,a)}}static mergeTrees(e,t){if(typeof e!=typeof t)throw new Error(`Two incompatible tree nodes were found: ${typeof e} and ${typeof t}`);if(Array.isArray(e)!==Array.isArray(t))throw new Error(`Two incompatible tree nodes were found: Array?${Array.isArray(e)} and Array?${Array.isArray(t)}`);if("object"==typeof e&&"object"==typeof t){if(e.termType&&t.termType)return e.equals(t)?{valid:!0,result:e}:{valid:!1,result:e};if(Array.isArray(e)&&Array.isArray(t)){if(e.length>0){const r=[];let n=!1;for(const i of e){const e=o.mergeTrees(i,t[0]);e.valid?(n=!0,r.push(e.result)):r.push(i)}if(n)return{valid:!0,result:r}}return{valid:!0,result:e.concat(t)}}{const r={};for(const e in t)r[e]=t[e];for(const t in e)if(r[t]){const n=o.mergeTrees(e[t],r[t]);if(!n.valid)return{valid:!1,result:e};r[t]=n.result}else r[t]=e[t];return{valid:!0,result:r}}}throw new Error(`Unmergable tree types: ${typeof e} and ${typeof t}`)}static materializeTree(e){if(e.termType)return(0,n.getTermRaw)(e);if(Array.isArray(e))return e.map(o.materializeTree);{const t={};for(const r in e)t[r]=o.materializeTree(e[r]);return t}}sparqlJsonResultsToTree(e,t){return this.bindingsToTree(this.parser.parseJsonResults(e),t||{singularizeVariables:{}})}bindingsToTree(e,t){const r=t&&t.singularizeVariables[""];let n=r?{}:[];for(const i of e){const e=r?{}:[{}];for(const n in i){const a=n.split(this.delimiter),s=i[n];o.addValueToTree(r?e:e[0],a,s,"",t,this.delimiter)}n=o.mergeTrees(n,e).result}return this.materializeRdfJsTerms&&(n=o.materializeTree(n)),n}}t.Converter=o},75295:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(48642),t)},48642:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SparqlXmlParser=void 0;const n=r(47793),i=r(55201),o=r(19198);t.SparqlXmlParser=class{constructor(e){e=e||{},this.dataFactory=e.dataFactory||new n.DataFactory,this.prefixVariableQuestionMark=!!e.prefixVariableQuestionMark}parseXmlResultsStream(e){const t=e=>y.emit("error",e);e.on("error",t);const r=new i.SaxesParser,n=[];let a=!1,s=!1;const c=[];let u,l={},d="",p="",h="",f=[];r.on("error",t),r.on("opentag",(e=>{"variable"===e.name&&this.stackEquals(n,["sparql","head"])?c.push(this.dataFactory.variable(e.attributes.name)):"results"===e.name&&this.stackEquals(n,["sparql"])?s=!0:"result"===e.name&&this.stackEquals(n,["sparql","results"])?l={}:"binding"===e.name&&this.stackEquals(n,["sparql","results","result"])?(d=e.attributes.name||"",p="",u="",h="",f=[]):"triple"===e.name&&this.stackBeginsWith(n,["sparql","results","result"])?f.push({components:{}}):"triple"===n[n.length-1]&&this.stackBeginsWith(n,["sparql","results","result","binding"])?(p="",u="",h="",["subject","predicate","object"].includes(e.name)?f[f.length-1].currentComponent=e.name:t(new Error(`Illegal quoted triple component '${e.name}' found on line ${r.line+1}`))):this.stackBeginsWith(n,["sparql","results","result","binding"])&&(p=e.name,u="xml:lang"in e.attributes?e.attributes["xml:lang"]:"datatype"in e.attributes?this.dataFactory.namedNode(e.attributes.datatype):void 0),n.push(e.name)})),r.on("closetag",(e=>{if(this.stackEquals(n,["sparql","head"])&&(y.emit("variables",c),a=!0),this.stackEquals(n,["sparql","results","result"])&&y.push(l),this.stackBeginsWith(n,["sparql","results","result","binding"])){let e;if(!d&&p)t(new Error(`Terms should have a name on line ${r.line+1}`));else if("uri"===p)e=this.dataFactory.namedNode(h);else if("bnode"===p)e=this.dataFactory.blankNode(h);else if("literal"===p)e=this.dataFactory.literal(h,u);else if("triple"===n[n.length-1]){const n=f.pop();n&&n.components.subject&&n.components.predicate&&n.components.object?e=this.dataFactory.quad(n.components.subject,n.components.predicate,n.components.object):t(new Error(`Incomplete quoted triple on line ${r.line+1}`))}else p&&t(new Error(`Invalid term type '${p}' on line ${r.line+1}`));if(e)if(f.length>0){const n=f[f.length-1];n.components[n.currentComponent]&&t(new Error(`The ${n.currentComponent} in a quoted triple on line ${r.line+1} was already defined before`)),n.components[n.currentComponent]=e}else{const t=this.prefixVariableQuestionMark?"?"+d:d;l[t]=e}p=void 0}n.pop()})),r.on("text",(e=>{this.stackBeginsWith(n,["sparql","results","result","binding"])&&n[n.length-1]===p&&(h=e)}));const y=e.on("end",(e=>{s?a||y.emit("variables",[]):y.emit("error",new Error("No valid SPARQL query results were found."))})).pipe(new o.Transform({objectMode:!0,transform(e,t,n){r.write(e),n()}}));return y}parseXmlBooleanStream(e){return new Promise(((t,r)=>{const n=new i.SaxesParser,o=[];n.on("error",r),n.on("opentag",(e=>{o.push(e.name)})),n.on("closetag",(e=>{o.pop()})),n.on("text",(e=>{this.stackEquals(o,["sparql","boolean"])&&t("true"===e)})),e.on("error",r).on("data",(e=>n.write(e))).on("end",(()=>r(new Error("No valid ASK response was found."))))}))}stackEquals(e,t){return e.length===t.length&&e.every(((e,r)=>t[r]===e))}stackBeginsWith(e,t){return e.length>=t.length&&t.every(((t,r)=>e[r]===t))}}},43789:(e,t,r)=>{var n=r(13559);e.exports=function(e,t,r){"function"==typeof t&&(r=t,t=null);var i="",o=new n((function(r,n){e.on("data",(function(e){i+="string"==typeof t?e.toString(t):e.toString()})),e.on("end",(function(){r(i)})),e.on("error",n)}));return r&&o.then((function(e){r(null,e)}),r),o}},83141:(e,t,r)=>{"use strict";var n=r(15003).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=u,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=l,this.end=d,t=3;break;default:return this.write=p,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function l(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function p(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},15003:(e,t,r)=>{var n=r(48287),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},36093:e=>{!function(t){"use strict";var r=function(){function e(e){this.options=e}return e.prototype.toString=function(){return JSON&&JSON.stringify?JSON.stringify(this.options):this.options},e}(),n={isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},isString:function(e){return"[object String]"===Object.prototype.toString.apply(e)},isNumber:function(e){return"[object Number]"===Object.prototype.toString.apply(e)},isBoolean:function(e){return"[object Boolean]"===Object.prototype.toString.apply(e)},join:function(e,t){var r,n="",i=!0;for(r=0;r="0"&&e<="9"}return{isAlpha:function(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"},isDigit:e,isHexDigit:function(t){return e(t)||t>="a"&&t<="f"||t>="A"&&t<="F"}}}(),o=function(){var e=function(e){return e<=127?1:194<=e&&e<=223?2:224<=e&&e<=239?3:240<=e&&e<=244?4:0},t=function(e){return 128<=e&&e<=191};function r(e,t){return"%"===e.charAt(t)&&i.isHexDigit(e.charAt(t+1))&&i.isHexDigit(e.charAt(t+2))}function n(e,t){return parseInt(e.substr(t,2),16)}return{encodeCharacter:function(e){var t,r,n="",i=function(e){return unescape(encodeURIComponent(e))}(e);for(r=0;r1?r+=n:r+=c(n)||s(n)?n:o.encodeCharacter(n);return r},encodeLiteralCharacter:function(e,t){var r=o.pctCharAt(e,t);return r.length>1||c(r)||s(r)?r:o.encodeCharacter(r)}}}(),l=function(){var e={};function t(t){e[t]={symbol:t,separator:"?"===t?"&":""===t||"+"===t||"#"===t?",":t,named:";"===t||"&"===t||"?"===t,ifEmpty:"&"===t||"?"===t?"=":"",first:"+"===t?"":t,encode:"+"===t||"#"===t?u.encodePassReserved:u.encode,toString:function(){return this.symbol}}}return t(""),t("+"),t("#"),t("."),t("/"),t(";"),t("?"),t("&"),{valueOf:function(t){return e[t]?e[t]:"=,!@|".indexOf(t)>=0?null:e[""]}}}();function d(e){var t;if(null==e)return!1;if(n.isArray(e))return e.length>0;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return!0;for(t in e)if(e.hasOwnProperty(t)&&d(e[t]))return!0;return!1}var p=function(){function e(e){this.literal=u.encodeLiteral(e)}return e.prototype.expand=function(){return this.literal},e.prototype.toString=e.prototype.expand,e}(),h=function(){function e(e){var t,n,s=[],c=null,u=null,d=null,p="";function h(){var t=e.substring(u,n);if(0===t.length)throw new r({expressionText:e,message:"a varname must be specified",position:n});c={varname:t,exploded:!1,maxLength:null},u=null}function y(){if(d===n)throw new r({expressionText:e,message:"after a ':' you have to specify the length",position:n});c.maxLength=parseInt(e.substring(d,n),10),d=null}for(t=function(t){var i=l.valueOf(t);if(null===i)throw new r({expressionText:e,message:"illegal use of reserved operator",position:n,operator:t});return i}(e.charAt(0)),n=t.symbol.length,u=n;n=4)throw new r({expressionText:e,message:"A :prefix must have max 4 digits",position:n});continue}y()}if(":"!==p)if("*"!==p){if(","!==p)throw new r({expressionText:e,message:"illegal character",character:p,position:n});s.push(c),c=null,u=n+1}else{if(null===c)throw new r({expressionText:e,message:"exploded without varspec",position:n});if(c.exploded)throw new r({expressionText:e,message:"exploded twice",position:n});if(c.maxLength)throw new r({expressionText:e,message:"an explode (*) MUST NOT follow to a prefix",position:n});c.exploded=!0}else{if(null!==c.maxLength)throw new r({expressionText:e,message:"only one :maxLength is allowed per varspec",position:n});if(c.exploded)throw new r({expressionText:e,message:"an exploeded varspec MUST NOT be varspeced",position:n});d=n+1}}return null!==u&&h(),null!==d&&y(),s.push(c),new f(e,t,s)}return function(t){var n,i,o=[],a=null,s=0;for(n=0;n{"use strict";var n;r.r(t),r.d(t,{NIL:()=>P,parse:()=>g,stringify:()=>l,v1:()=>y,v3:()=>O,v4:()=>x,v5:()=>R,validate:()=>s,version:()=>F});var i=new Uint8Array(16);function o(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(i)}const a=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,s=function(e){return"string"==typeof e&&a.test(e)};for(var c=[],u=0;u<256;++u)c.push((u+256).toString(16).substr(1));const l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]).toLowerCase();if(!s(r))throw TypeError("Stringified UUID is invalid");return r};var d,p,h=0,f=0;const y=function(e,t,r){var n=t&&r||0,i=t||new Array(16),a=(e=e||{}).node||d,s=void 0!==e.clockseq?e.clockseq:p;if(null==a||null==s){var c=e.random||(e.rng||o)();null==a&&(a=d=[1|c[0],c[1],c[2],c[3],c[4],c[5]]),null==s&&(s=p=16383&(c[6]<<8|c[7]))}var u=void 0!==e.msecs?e.msecs:Date.now(),y=void 0!==e.nsecs?e.nsecs:f+1,g=u-h+(y-f)/1e4;if(g<0&&void 0===e.clockseq&&(s=s+1&16383),(g<0||u>h)&&void 0===e.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=u,f=y,p=s;var m=(1e4*(268435455&(u+=122192928e5))+y)%4294967296;i[n++]=m>>>24&255,i[n++]=m>>>16&255,i[n++]=m>>>8&255,i[n++]=255&m;var b=u/4294967296*1e4&268435455;i[n++]=b>>>8&255,i[n++]=255&b,i[n++]=b>>>24&15|16,i[n++]=b>>>16&255,i[n++]=s>>>8|128,i[n++]=255&s;for(var _=0;_<6;++_)i[n+_]=a[_];return t||l(i)},g=function(e){if(!s(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r};function m(e,t,r){function n(e,n,i,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r>>9<<4)+1}function _(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function v(e,t,r,n,i,o){return _((a=_(_(t,e),_(n,o)))<<(s=i)|a>>>32-s,r);var a,s}function w(e,t,r,n,i,o,a){return v(t&r|~t&n,e,t,i,o,a)}function S(e,t,r,n,i,o,a){return v(t&n|r&~n,e,t,i,o,a)}function E(e,t,r,n,i,o,a){return v(t^r^n,e,t,i,o,a)}function T(e,t,r,n,i,o,a){return v(r^(t|~n),e,t,i,o,a)}const O=m("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var r=0;r>5]>>>i%32&255,a=parseInt(n.charAt(o>>>4&15)+n.charAt(15&o),16);t.push(a)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[n/8])<>>32-t}const R=m("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var n=unescape(encodeURIComponent(e));e=[];for(var i=0;i>>0;_=b,b=m,m=I(g,30)>>>0,g=y,y=S}r[0]=r[0]+y>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+_>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),P="00000000-0000-0000-0000-000000000000",F=function(e){if(!s(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},17024:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(32300),t)},32300:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateIri=t.IriValidationStrategy=void 0;const r=function(){const e="[!$&'()*+,;=]",t="%[a-fA-F0-9]{2}",r="([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",n=`${r}\\.${r}\\.${r}\\.${r}`,i="[a-fA-F0-9]{1,4}",o=`(${i}:${i}|${n})`,a="[a-zA-Z0-9\\-._~ -퟿豈-﷏ﷰ-￯𐀀-🿽𠀀-𯿽𰀀-𿿽񀀀-񏿽񐀀-񟿽񠀀-񯿽񰀀-񿿽򀀀-򏿽򐀀-򟿽򠀀-򯿽򰀀-򿿽󀀀-󏿽󐀀-󟿽󡀀-󯿽]",s=`(${a}|${t}|${e}|[:@])*`,c=`(${s})+`,u=`(${s})*`;return new RegExp(`^[a-zA-Z][a-zA-Z0-9+\\-.]*:(\\/\\/((${a}|${t}|${e}|:)*@)?(\\[(((${i}:){6}${o}|::(${i}:){5}${o}|(${i})?::(${i}:){4}${o}|((${i}:){0,1}${i})?::(${i}:){3}${o}|((${i}:){0,2}${i})?::(${i}:){2}${o}|((${i}:){0,3}${i})?::${i}:${o}|((${i}:){0,4}${i})?::${o}|((${i}:){0,5}${i})?::${i}|((${i}:){0,6}${i})?::)|v[a-fA-F0-9]+\\.(${e}|${e}|":)+)\\]|${n}|(${a}|${t}|${e})*)(:[0-9]*)?(\\/${u})*|\\/(${c}(\\/${u})*)?|${c}(\\/${u})*|)(\\?(${s}|[-󰀀-󿿽􀀀-􏿽]|[\\/?])*)?(#(${s}|[\\/?])*)?$`,"u")}(),n=/^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/u;var i;!function(e){e.Strict="strict",e.Pragmatic="pragmatic",e.None="none"}(i=t.IriValidationStrategy||(t.IriValidationStrategy={})),t.validateIri=function(e,t=i.Strict){switch(t){case i.Strict:return r.test(e)?void 0:new Error(`Invalid IRI according to RFC 3987: '${e}'`);case i.Pragmatic:return n.test(e)?void 0:new Error(`Invalid IRI according to RDF Turtle: '${e}'`);case i.None:return;default:return new Error(`Not supported validation strategy "${t}"`)}}},31487:(e,t)=>{"use strict";function r(e){return e>=65&&e<=90||e>=97&&e<=122||58===e||95===e||8204===e||8205===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR="\t\n\r -퟿-�𐀀-􏿿",t.S=" \t\r\n",t.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",t.NAME_CHAR="-"+t.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",t.CHAR_RE=new RegExp("^["+t.CHAR+"]$","u"),t.S_RE=new RegExp("^["+t.S+"]+$","u"),t.NAME_START_CHAR_RE=new RegExp("^["+t.NAME_START_CHAR+"]$","u"),t.NAME_CHAR_RE=new RegExp("^["+t.NAME_CHAR+"]$","u"),t.NAME_RE=new RegExp("^["+t.NAME_START_CHAR+"]["+t.NAME_CHAR+"]*$","u"),t.NMTOKEN_RE=new RegExp("^["+t.NAME_CHAR+"]+$","u"),t.S_LIST=[32,10,13,9],t.isChar=function(e){return e>=32&&e<=55295||10===e||13===e||9===e||e>=57344&&e<=65533||e>=65536&&e<=1114111},t.isS=function(e){return 32===e||10===e||13===e||9===e},t.isNameStartChar=r,t.isNameChar=function(e){return r(e)||e>=48&&e<=57||45===e||46===e||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},84797:(e,t)=>{"use strict";function r(e){return e>=65&&e<=90||e>=97&&e<=122||58===e||95===e||8204===e||8205===e||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR="-퟿-�𐀀-􏿿",t.RESTRICTED_CHAR="-\b\v\f--„†-Ÿ",t.S=" \t\r\n",t.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",t.NAME_CHAR="-"+t.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",t.CHAR_RE=new RegExp("^["+t.CHAR+"]$","u"),t.RESTRICTED_CHAR_RE=new RegExp("^["+t.RESTRICTED_CHAR+"]$","u"),t.S_RE=new RegExp("^["+t.S+"]+$","u"),t.NAME_START_CHAR_RE=new RegExp("^["+t.NAME_START_CHAR+"]$","u"),t.NAME_CHAR_RE=new RegExp("^["+t.NAME_CHAR+"]$","u"),t.NAME_RE=new RegExp("^["+t.NAME_START_CHAR+"]["+t.NAME_CHAR+"]*$","u"),t.NMTOKEN_RE=new RegExp("^["+t.NAME_CHAR+"]+$","u"),t.S_LIST=[32,10,13,9],t.isChar=function(e){return e>=1&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},t.isRestrictedChar=function(e){return e>=1&&e<=8||11===e||12===e||e>=14&&e<=31||e>=127&&e<=132||e>=134&&e<=159},t.isCharAndNotRestricted=function(e){return 9===e||10===e||13===e||e>31&&e<127||133===e||e>159&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111},t.isS=function(e){return 32===e||10===e||13===e||9===e},t.isNameStartChar=r,t.isNameChar=function(e){return r(e)||e>=48&&e<=57||45===e||46===e||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},60446:(e,t)=>{"use strict";function r(e){return e>=65&&e<=90||95===e||e>=97&&e<=122||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=767||e>=880&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}Object.defineProperty(t,"__esModule",{value:!0}),t.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",t.NC_NAME_CHAR="-"+t.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",t.NC_NAME_START_CHAR_RE=new RegExp("^["+t.NC_NAME_START_CHAR+"]$","u"),t.NC_NAME_CHAR_RE=new RegExp("^["+t.NC_NAME_CHAR+"]$","u"),t.NC_NAME_RE=new RegExp("^["+t.NC_NAME_START_CHAR+"]["+t.NC_NAME_CHAR+"]*$","u"),t.isNCNameStartChar=r,t.isNCNameChar=function(e){return r(e)||45===e||46===e||e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256}},42634:()=>{},75627:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIterator=t.isIterable=t.isSourceExpression=t.isPromise=t.isEventEmitter=t.isFunction=t.range=t.union=t.fromIterable=t.fromIterator=t.fromArray=t.single=t.empty=t.wrap=t.WrappingIterator=t.ClonedIterator=t.UnionIterator=t.MultiTransformIterator=t.SimpleTransformIterator=t.TransformIterator=t.BufferedIterator=t.MappingIterator=t.DESTINATION=t.identity=t.IntegerIterator=t.ArrayIterator=t.SingletonIterator=t.EmptyIterator=t.AsyncIterator=t.DESTROYED=t.ENDED=t.CLOSED=t.CLOSING=t.OPEN=t.INIT=t.setTaskScheduler=t.getTaskScheduler=t.scheduleTask=t.LinkedList=void 0;const n=r(37007),i=r(40288);Object.defineProperty(t,"LinkedList",{enumerable:!0,get:function(){return i.LinkedList}});let o=r(34683).createTaskScheduler();t.scheduleTask=function(e){o(e)},t.getTaskScheduler=function(){return o},t.setTaskScheduler=function(e){o=e},t.INIT=1,t.OPEN=2,t.CLOSING=4,t.CLOSED=8,t.ENDED=16,t.DESTROYED=32;class a extends n.EventEmitter{constructor(e=t.OPEN){super(),this._readable=!1,this._state=e,this.on("newListener",s)}_changeState(e,r=!1){const n=e>this._state&&this._statethis.emit("end"))):this.emit("end"))),n}read(){return null}forEach(e,t){this.on("data",N(e,t))}close(){this._changeState(t.CLOSED)&&this._endAsync()}destroy(e){this.done||this._destroy(e,(t=>{(e=e||t)&&this.emit("error",e),this._end(!0)}))}_destroy(e,t){t()}_end(e=!1){this._changeState(e?t.DESTROYED:t.ENDED)&&(this._readable=!1,this.removeAllListeners("readable"),this.removeAllListeners("data"),this.removeAllListeners("end"))}_endAsync(){o((()=>this._end()))}get readable(){return this._readable}set readable(e){e=Boolean(e)&&!this.done,this._readable!==e&&(this._readable=e,e&&o((()=>this.emit("readable"))))}get closed(){return this._state>=t.CLOSING}get ended(){return this._state===t.ENDED}get destroyed(){return this._state===t.DESTROYED}get done(){return this._state>=t.ENDED}toString(){const e=this._toStringDetails();return`[${this.constructor.name}${e?` ${e}`:""}]`}_toStringDetails(){return""}toArray(e){const t=[],r="number"==typeof(null==e?void 0:e.limit)?e.limit:1/0;return this.ended||r<=0?Promise.resolve(t):new Promise(((e,n)=>{const i=()=>e(t),o=a=>{t.push(a),t.length>=r&&(this.removeListener("error",n),this.removeListener("data",o),this.removeListener("end",i),e(t))};this.on("error",n),this.on("data",o),this.on("end",i)}))}getProperty(e,t){const r=this._properties;if(!t)return r&&r[e];if(r&&e in r)o((()=>t(r[e])));else{let r;(r=this._propertyCallbacks)||(this._propertyCallbacks=r=Object.create(null)),e in r?r[e].push(t):r[e]=[t]}}setProperty(e,t){(this._properties||(this._properties=Object.create(null)))[e]=t;const r=this._propertyCallbacks||{},n=r[e];if(n){for(e in delete r[e],o((()=>{for(const e of n)e(t)})),r)return;delete this._propertyCallbacks}}getProperties(){const e=this._properties,t={};for(const r in e)t[r]=e[r];return t}setProperties(e){for(const t in e)this.setProperty(t,e[t])}copyProperties(e,t){for(const r of t)e.getProperty(r,(e=>this.setProperty(r,e)))}transform(e){return new T(this,e)}map(e,t){return new y(this,N(e,t))}filter(e,t){return this.map((function(r){return e.call(t||this,r)?r:null}))}uniq(e=f){const t=new Set;return this.filter((function(r){const n=e.call(this,r);return!t.has(n)&&(t.add(n),!0)}))}prepend(e){return this.transform({prepend:e})}append(e){return this.transform({append:e})}surround(e,t){return this.transform({prepend:e,append:t})}skip(e){return this.map((t=>e-- >0?null:t))}take(e){return this.transform({limit:e})}range(e,t){return this.transform({offset:e,limit:Math.max(t-e+1,0)})}clone(){return new A(this)}[Symbol.asyncIterator](){const e=this;let t=null,r=null,n=null;function i(){if(null!==t)if(null!==n)o(n);else if(e.done)t({done:!0,value:void 0}),t=r=null,a();else{const n=e.read();null!==n&&(t({done:!1,value:n}),t=r=null)}}function o(e){null!==r?(r(e),t=r=n=null,a()):null===n&&(n=e)}function a(){e.removeListener("readable",i),e.removeListener("end",i),e.removeListener("error",o)}return e.addListener("readable",i),e.addListener("end",i),e.addListener("error",o),{next:()=>new Promise(((e,n)=>{t=e,r=n,i()}))}}}function s(e){"data"===e&&(this.removeListener("newListener",s),u(this,"readable",c),this.readable&&o((()=>c.call(this))))}function c(){let e;for(;0!==this.listenerCount("data")&&null!==(e=this.read());)this.emit("data",e);0!==this.listenerCount("data")||this.done||(this.removeListener("readable",c),u(this,"newListener",s))}function u(e,t,r){e.listeners(t).includes(r)||e.on(t,r)}t.AsyncIterator=a;class l extends a{constructor(){super(),this._changeState(t.ENDED,!0)}}t.EmptyIterator=l;class d extends a{constructor(e){super(),this._item=e,null===e?this.close():this.readable=!0}read(){const e=this._item;return this._item=null,this.close(),e}_toStringDetails(){return null===this._item?"":`(${this._item})`}}t.SingletonIterator=d;class p extends a{constructor(e=[],{autoStart:t=!0,preserve:r=!0}={}){super();const n=r||!Array.isArray(e)?[...e]:e;this._index=0,this._sourceStarted=!1!==t,this._truncateThreshold=r?-1:64,this._sourceStarted&&0===n.length?this.close():this._buffer=n,this.readable=!0}read(){this._sourceStarted||(this._sourceStarted=!0);let e=null;return this._buffer&&(this._index=t&&this.close(),Promise.resolve(i)}}t.ArrayIterator=p;class h extends a{constructor({start:e=0,step:t=1,end:r}={}){super(),Number.isFinite(e)&&(e=Math.trunc(e)),this._next=e,Number.isFinite(t)&&(t=Math.trunc(t)),this._step=t;const n=t>=0,i=n?1/0:-1/0;Number.isFinite(r)?r=Math.trunc(r):r!==-i&&(r=i),this._last=r,!Number.isFinite(e)||(n?e>r:e=0?n>r:nthis._init(r))),this._sourceStarted=!1!==r}get maxBufferSize(){return this._maxBufferSize}set maxBufferSize(e){e!==1/0&&(e=Number.isFinite(e)?Math.max(Math.trunc(e),1):4),this._maxBufferSize!==e&&(this._maxBufferSize=e,this._state===t.OPEN&&this._fillBuffer())}_init(e){let r=!1;this._reading=!0,this._begin((()=>{if(r)throw new Error("done callback called multiple times");r=!0,this._reading=!1,this._changeState(t.OPEN),e?this._fillBufferAsync():this.readable=!0}))}_begin(e){e()}read(){if(this.done)return null;this._sourceStarted||(this._sourceStarted=!0);const e=this._buffer;let t;return e.empty?(t=null,this.readable=!1):t=e.shift(),!this._reading&&e.length0&&(this._pushedCount=0,this._reading=!0,this._read(e,(()=>{if(!e)throw new Error("done callback called multiple times");e=0,this._reading=!1,this.closed?this._completeClose():this._pushedCount&&(this.readable=!0,this._buffer.length{this._reading=!1,this._fillBuffer()})))}close(){this._reading?this._changeState(t.CLOSING):this._completeClose()}_completeClose(){this._changeState(t.CLOSED)&&(this._reading=!0,this._flush((()=>{if(!this._reading)throw new Error("done callback called multiple times");this._reading=!1,this._buffer.empty&&this._endAsync()})))}_destroy(e,t){this._buffer.clear(),t()}_flush(e){e()}_toStringDetails(){const e=this._buffer;return`{${e.empty?"":`next: ${e.first}, `}buffer: ${e.length}}`}}t.BufferedIterator=m;class b extends m{constructor(e,t=e||{}){super(t),this._boundPush=e=>this._push(e),k(e)||(e=t.source),C(e)?this.source=e:e&&(this._createSource=M(e)?()=>e:e,this._sourceStarted&&this._loadSourceAsync()),this._optional=Boolean(t.optional),this._destroySource=!1!==t.destroySource}get source(){return j(this._createSource)&&this._loadSourceAsync(),this._source}set source(e){const r=this._source=this._validateSource(e);r[t.DESTINATION]=this,this.done?this._destroySource&&r.destroy():r.done?this.close():(r.on("end",S),r.on("readable",E),r.on("error",v))}_loadSourceAsync(){j(this._createSource)&&(Promise.resolve(this._createSource()).then((e=>{delete this._createSource,this.source=e,this._fillBuffer()}),(e=>this.emit("error",e))),this._createSource=null)}_validateSource(e,t=!1){if(this._source||void 0!==this._createSource)throw new Error("The source cannot be changed after it has been set");return g(e,t)}_read(e,t){const r=()=>{this._pushedCountthis._readAndTransform(r,t))):t()};this._readAndTransform(r,t)}_readAndTransform(e,t){let r;const n=this.source;!n||n.done||null===(r=n.read())?t():this._optional?this._optionalTransform(r,e):this._transform(r,e,this._boundPush)}_optionalTransform(e,t){const r=this._pushedCount;this._transform(e,(()=>{r===this._pushedCount&&this._push(e),t()}),this._boundPush)}_transform(e,t,r){r(e),t()}_closeWhenDone(){this.close()}_end(e){const r=this._source;r&&(r.removeListener("end",S),r.removeListener("error",v),r.removeListener("readable",E),delete r[t.DESTINATION],this._destroySource&&r.destroy()),super._end(e)}}function _(){this[t.DESTINATION].readable=!0}function v(e){this[t.DESTINATION].emit("error",e)}function w(){this[t.DESTINATION].close()}function S(){this[t.DESTINATION]._closeWhenDone()}function E(){!1!==this[t.DESTINATION]._sourceStarted&&this[t.DESTINATION]._fillBuffer()}t.TransformIterator=b;class T extends b{constructor(e,t){if(super(e,t),this._offset=0,this._limit=1/0,this._filter=e=>!0,t=t||(k(e)?null:e)){const e=j(t)?t:t.transform,{limit:r,offset:n,filter:i,map:o,prepend:a,append:s}=t;n===1/0||r===-1/0?this._limit=0:(Number.isFinite(n)&&(this._offset=Math.max(Math.trunc(n),0)),Number.isFinite(r)&&(this._limit=Math.max(Math.trunc(r),0)),j(i)&&(this._filter=i),j(o)&&(this._map=o),this._transform=j(e)?e:null),a&&(this._prepender=C(a)?a:D(a)),s&&(this._appender=C(s)?s:D(s))}}_read(e,t){const r=()=>this._readAndTransformSimple(e,n,t);function n(){o(r)}this._readAndTransformSimple(e,n,t)}_readAndTransformSimple(e,t,r){let n;const{source:i}=this;if(i&&!i.done){for(0===this._limit&&this.close();!this.closed&&this._pushedCountthis._push(e);!e||e.done?t():(e.on("data",r),e.on("end",(function n(){e.removeListener("data",r),e.removeListener("end",n),t()})))}}t.SimpleTransformIterator=T,t.MultiTransformIterator=class extends b{constructor(e,t){if(super(e,t),this._transformerQueue=[],t){const e=j(t)?t:t.multiTransform;e&&(this._createTransformer=e)}}_read(e,r){const n=this._transformerQueue,i=this._optional;let o,a;for(;(o=n[0])&&o.transformer.done;){i&&null!==o.item&&(e--,this._push(o.item)),n.shift();const{transformer:t}=o;t.removeListener("end",E),t.removeListener("readable",E),t.removeListener("error",v)}const{source:s}=this;for(;s&&!s.done&&n.length0&&null!==(a=t.read());)this._push(a),i&&(o.item=null)}else s&&s.done&&this.close();r()}_createTransformer(e){return new d(e)}_closeWhenDone(){this._transformerQueue.length||this.close()}_end(e){if(super._end(e),this._destroySource)for(const e of this._transformerQueue)e.transformer.destroy()}};class O extends m{constructor(e,t={}){super(t),this._sources=[],this._currentSource=-1;const r=!1!==t.autoStart;if(C(e))e.on("error",(e=>this.emit("error",e))),this._pending={loading:!1,sources:e},r&&this._loadSources();else if(Array.isArray(e)&&e.length>0)for(const t of e)this._addSource(t);else r&&this.close();this._destroySources=!1!==t.destroySources}_loadSources(){const e=this._pending.sources;this._pending.loading=!0,e.done?(delete this._pending,this.close()):(e.on("data",(e=>{this._addSource(e),this._fillBufferAsync()})),e.on("end",(()=>{delete this._pending,this._fillBuffer()})))}_addSource(e){M(e)&&(e=P(e)),e.done||(this._sources.push(e),e[t.DESTINATION]=this,e.on("error",v),e.on("readable",E),e.on("end",x))}_removeEmptySources(){this._sources=this._sources.filter(((e,t)=>(e.done&&t<=this._currentSource&&this._currentSource--,!e.done))),this._fillBuffer()}_read(e,t){var r;!1===(null===(r=this._pending)||void 0===r?void 0:r.loading)&&this._loadSources();let n,i=0;for(;i!==(i=e);)for(let t=0;t0;t++)this._currentSource=(this._currentSource+1)%this._sources.length,null!==(n=this._sources[this._currentSource].read())&&(e--,this._push(n));this._pending||0!==this._sources.length||this.close(),t()}_end(e=!1){if(super._end(e),this._destroySources){for(const e of this._sources)e.destroy();this._pending&&(this._pending.sources.destroy(),delete this._pending)}}}function x(){this[t.DESTINATION]._removeEmptySources()}t.UnionIterator=O;class A extends b{constructor(e){super(e,{autoStart:!1}),this._readPosition=0,this._reading=!1,e&&(this.readable=!0)}_init(){}close(){a.prototype.close.call(this)}get source(){return super.source}set source(e){const r=this._source=this._validateSource(e),n=r&&r[t.DESTINATION]||(r[t.DESTINATION]=new I(r));this.done?this._destroySource&&r.destroy():n.endsAt(0)?this.close():(n.register(this),!1!==r._sourceStarted&&null===n.readAt(0)||(this.readable=!0));const i=this._propertyCallbacks;for(const e in i){const t=i[e];for(const r of t)this._getSourceProperty(e,r)}}_validateSource(e,r=!1){const n=e&&e[t.DESTINATION];return super._validateSource(e,!n||n instanceof I)}getProperty(e,t){const{source:r}=this,n=this._properties,i=n&&e in n;if(!t)return i?n&&n[e]:r&&r.getProperty(e);super.getProperty(e,t),r&&!i&&this._getSourceProperty(e,t)}_getSourceProperty(e,t){this.source.getProperty(e,(r=>{this._properties&&e in this._properties||t(r)}))}getProperties(){const e=this.source?this.source.getProperties():{},t=this._properties;for(const r in t)e[r]=t[r];return e}_toStringDetails(){return`{source: ${this.source?this.source.toString():"none"}}`}read(){this._sourceStarted||(this._sourceStarted=!0);const e=this.source;let r=null;if(!this.done&&e){const n=e[t.DESTINATION];null!==(r=n.readAt(this._readPosition))?this._readPosition++:this.readable=!1,n.endsAt(this._readPosition)&&this.close()}return r}_end(e){const r=this.source,n=null==r?void 0:r[t.DESTINATION];n&&n.unregister(this),m.prototype._end.call(this,e)}}t.ClonedIterator=A;class I{constructor(e){if(this._history=[],this._trackers=new Set,this._source=e,!e.done){const t=()=>{for(const e of this._trackers)e.readable=!0},r=e=>{for(const t of this._trackers)t.emit("error",e)},n=()=>{for(const e of this._trackers)!1!==e._sourceStarted&&e._readPosition===this._history.length&&e.close();this._trackers.clear(),e.removeListener("end",n),e.removeListener("error",r),e.removeListener("readable",t)};e.on("end",n),e.on("error",r),e.on("readable",t)}}register(e){this._source.done||this._trackers.add(e)}unregister(e){this._trackers.delete(e)}readAt(e){let t=null;return e{this._source=null,this.source=e})).catch((e=>this.emit("error",e)))):e&&(this.source=e)}set source(e){let r=e;if(null!==this._source)throw new Error("The source cannot be changed after it has been set");if(L(r)&&(r=r[Symbol.iterator]()),U(r)){let e=r;r=new n.EventEmitter,r.read=()=>{if(null!==e){let t;for(;!(t=e.next()).done;)if(null!==t.value)return t.value;e=null,this.close()}return null}}else r=g(r);this.done?this._destroySource&&j(r.destroy)&&r.destroy():(r[t.DESTINATION]=this,r.on("end",w),r.on("error",v),r.on("readable",_),this._source=r,this.readable=!1!==r.readable)}read(){if(null!==this._source&&!1!==this._source.readable){const e=this._source.read();if(null!==e)return e;this.readable=!1}return null}_end(e=!1){null!==this._source&&(this._source.removeListener("end",w),this._source.removeListener("error",v),this._source.removeListener("readable",_),delete this._source[t.DESTINATION],this._destroySource&&j(this._source.destroy)&&this._source.destroy(),this._source=null),super._end(e)}}function P(e,t){if(t&&("autoStart"in t||"optional"in t||"source"in t||"maxBufferSize"in t))return e&&!C(e)&&(e=new R(e)),new b(e,t);if(!e)return F();if(M(e))return new R(e,t);if(e instanceof a)return e;if(Array.isArray(e))return D(e);if(L(e)||U(e)||C(e))return new R(e,t);throw new TypeError(`Invalid source: ${e}`)}function F(){return new l}function D(e){return new p(e)}function N(e,t){return t?e.bind(t):e}function j(e){return"function"==typeof e}function C(e){return j(null==e?void 0:e.on)}function M(e){return j(null==e?void 0:e.then)}function k(e){return e&&(C(e)||M(e)||j(e))}function L(e){return e&&Symbol.iterator in e}function U(e){return j(null==e?void 0:e.next)}t.WrappingIterator=R,t.wrap=P,t.empty=F,t.single=function(e){return new d(e)},t.fromArray=D,t.fromIterator=function(e){return new R(e)},t.fromIterable=function(e){return new R(e)},t.union=function(e){return new O(e)},t.range=function(e,t,r){return new h({start:e,end:t,step:r})},t.isFunction=j,t.isEventEmitter=C,t.isPromise=M,t.isSourceExpression=k,t.isIterable=L,t.isIterator=U},40288:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedList=void 0,t.LinkedList=class{constructor(){this._length=0,this._head=null,this._tail=null}get length(){return this._length}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}get empty(){return null===this._head}push(e){const t={value:e,next:null};null===this._tail?this._head=this._tail=t:this._tail.next=this._tail=t,this._length++}shift(){if(null===this._head)return;const{value:e,next:t}=this._head;return this._head=t,null===t&&(this._tail=null),this._length--,e}clear(){this._length=0,this._head=this._tail=null}}},34683:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createTaskScheduler=void 0;const r=Promise.resolve(void 0);t.createTaskScheduler=function(){const e="function"==typeof queueMicrotask?queueMicrotask:e=>r.then(e),t="function"==typeof setImmediate?setImmediate:e=>setTimeout(e,0);let n=0,i=null;return r=>{null!==i?i.push(r):++n<100?e(r):(i=[r],t((()=>{for(const t of i)e(t);i=null,n=0})))}}},89096:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;const r="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,n=new Set,i="object"==typeof process&&process?process:{},o=(e,t,r,n)=>{"function"==typeof i.emitWarning?i.emitWarning(e,t,r,n):console.error(`[${r}] ${t}: ${e}`)};let a=globalThis.AbortController,s=globalThis.AbortSignal;if(void 0===a){s=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(e,t){this._onabort.push(t)}},a=class{constructor(){t()}signal=new s;abort(e){if(!this.signal.aborted){this.signal.reason=e,this.signal.aborted=!0;for(const t of this.signal._onabort)t(e);this.signal.onabort?.(e)}}};let e="1"!==i.env?.LRU_CACHE_IGNORE_AC_WARNING;const t=()=>{e&&(e=!1,o("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}Symbol("type");const c=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),u=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?l:null:null;class l extends Array{constructor(e){super(e),this.fill(0)}}class d{heap;length;static#e=!1;static create(e){const t=u(e);if(!t)return[];d.#e=!0;const r=new d(e,t);return d.#e=!1,r}constructor(e,t){if(!d.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class p{#t;#r;#n;#i;#o;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#a;#s;#c;#u;#l;#d;#p;#h;#f;#y;#g;#m;#b;#_;#v;#w;#S;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#_,sizes:e.#m,keyMap:e.#c,keyList:e.#u,valList:e.#l,next:e.#d,prev:e.#p,get head(){return e.#h},get tail(){return e.#f},free:e.#y,isBackgroundFetch:t=>e.#E(t),backgroundFetch:(t,r,n,i)=>e.#T(t,r,n,i),moveToTail:t=>e.#O(t),indexes:t=>e.#x(t),rindexes:t=>e.#A(t),isStale:t=>e.#I(t)}}get max(){return this.#t}get maxSize(){return this.#r}get calculatedSize(){return this.#s}get size(){return this.#a}get fetchMethod(){return this.#o}get dispose(){return this.#n}get disposeAfter(){return this.#i}constructor(e){const{max:t=0,ttl:r,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:s,updateAgeOnHas:l,allowStale:h,dispose:f,disposeAfter:y,noDisposeOnSet:g,noUpdateTTL:m,maxSize:b=0,maxEntrySize:_=0,sizeCalculation:v,fetchMethod:w,noDeleteOnFetchRejection:S,noDeleteOnStaleGet:E,allowStaleOnFetchRejection:T,allowStaleOnFetchAbort:O,ignoreFetchAbort:x}=e;if(0!==t&&!c(t))throw new TypeError("max option must be a nonnegative integer");const A=t?u(t):Array;if(!A)throw new Error("invalid max value: "+t);if(this.#t=t,this.#r=b,this.maxEntrySize=_||this.#r,this.sizeCalculation=v,this.sizeCalculation){if(!this.#r&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==w&&"function"!=typeof w)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=w,this.#w=!!w,this.#c=new Map,this.#u=new Array(t).fill(void 0),this.#l=new Array(t).fill(void 0),this.#d=new A(t),this.#p=new A(t),this.#h=0,this.#f=0,this.#y=d.create(t),this.#a=0,this.#s=0,"function"==typeof f&&(this.#n=f),"function"==typeof y?(this.#i=y,this.#g=[]):(this.#i=void 0,this.#g=void 0),this.#v=!!this.#n,this.#S=!!this.#i,this.noDisposeOnSet=!!g,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!S,this.allowStaleOnFetchRejection=!!T,this.allowStaleOnFetchAbort=!!O,this.ignoreFetchAbort=!!x,0!==this.maxEntrySize){if(0!==this.#r&&!c(this.#r))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#R()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!E,this.updateAgeOnGet=!!s,this.updateAgeOnHas=!!l,this.ttlResolution=c(i)||0===i?i:1,this.ttlAutopurge=!!a,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#P()}if(0===this.#t&&0===this.ttl&&0===this.#r)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#t&&!this.#r){const e="LRU_CACHE_UNBOUNDED";(e=>!n.has(e))(e)&&(n.add(e),o("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,p))}}getRemainingTTL(e){return this.#c.has(e)?1/0:0}#P(){const e=new l(this.#t),t=new l(this.#t);this.#_=e,this.#b=t,this.#F=(n,i,o=r.now())=>{if(t[n]=0!==i?o:0,e[n]=i,0!==i&&this.ttlAutopurge){const e=setTimeout((()=>{this.#I(n)&&this.delete(this.#u[n])}),i+1);e.unref&&e.unref()}},this.#D=n=>{t[n]=0!==e[n]?r.now():0},this.#N=(r,o)=>{if(e[o]){const a=e[o],s=t[o];if(!a||!s)return;r.ttl=a,r.start=s,r.now=n||i();const c=r.now-s;r.remainingTTL=a-c}};let n=0;const i=()=>{const e=r.now();if(this.ttlResolution>0){n=e;const t=setTimeout((()=>n=0),this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=r=>{const o=this.#c.get(r);if(void 0===o)return 0;const a=e[o],s=t[o];return a&&s?a-((n||i())-s):1/0},this.#I=r=>{const o=t[r],a=e[r];return!!a&&!!o&&(n||i())-o>a}}#D=()=>{};#N=()=>{};#F=()=>{};#I=()=>!1;#R(){const e=new l(this.#t);this.#s=0,this.#m=e,this.#j=t=>{this.#s-=e[t],e[t]=0},this.#C=(e,t,r,n)=>{if(this.#E(t))return 0;if(!c(r)){if(!n)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof n)throw new TypeError("sizeCalculation must be a function");if(r=n(t,e),!c(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return r},this.#M=(t,r,n)=>{if(e[t]=r,this.#r){const r=this.#r-e[t];for(;this.#s>r;)this.#k(!0)}this.#s+=e[t],n&&(n.entrySize=r,n.totalCalculatedSize=this.#s)}}#j=e=>{};#M=(e,t,r)=>{};#C=(e,t,r,n)=>{if(r||n)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#x({allowStale:e=this.allowStale}={}){if(this.#a)for(let t=this.#f;this.#L(t)&&(!e&&this.#I(t)||(yield t),t!==this.#h);)t=this.#p[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#a)for(let t=this.#h;this.#L(t)&&(!e&&this.#I(t)||(yield t),t!==this.#f);)t=this.#d[t]}#L(e){return void 0!==e&&this.#c.get(this.#u[e])===e}*entries(){for(const e of this.#x())void 0===this.#l[e]||void 0===this.#u[e]||this.#E(this.#l[e])||(yield[this.#u[e],this.#l[e]])}*rentries(){for(const e of this.#A())void 0===this.#l[e]||void 0===this.#u[e]||this.#E(this.#l[e])||(yield[this.#u[e],this.#l[e]])}*keys(){for(const e of this.#x()){const t=this.#u[e];void 0===t||this.#E(this.#l[e])||(yield t)}}*rkeys(){for(const e of this.#A()){const t=this.#u[e];void 0===t||this.#E(this.#l[e])||(yield t)}}*values(){for(const e of this.#x())void 0===this.#l[e]||this.#E(this.#l[e])||(yield this.#l[e])}*rvalues(){for(const e of this.#A())void 0===this.#l[e]||this.#E(this.#l[e])||(yield this.#l[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(const r of this.#x()){const n=this.#l[r],i=this.#E(n)?n.__staleWhileFetching:n;if(void 0!==i&&e(i,this.#u[r],this))return this.get(this.#u[r],t)}}forEach(e,t=this){for(const r of this.#x()){const n=this.#l[r],i=this.#E(n)?n.__staleWhileFetching:n;void 0!==i&&e.call(t,i,this.#u[r],this)}}rforEach(e,t=this){for(const r of this.#A()){const n=this.#l[r],i=this.#E(n)?n.__staleWhileFetching:n;void 0!==i&&e.call(t,i,this.#u[r],this)}}purgeStale(){let e=!1;for(const t of this.#A({allowStale:!0}))this.#I(t)&&(this.delete(this.#u[t]),e=!0);return e}info(e){const t=this.#c.get(e);if(void 0===t)return;const n=this.#l[t],i=this.#E(n)?n.__staleWhileFetching:n;if(void 0===i)return;const o={value:i};if(this.#_&&this.#b){const e=this.#_[t],n=this.#b[t];if(e&&n){const t=e-(r.now()-n);o.ttl=t,o.start=Date.now()}}return this.#m&&(o.size=this.#m[t]),o}dump(){const e=[];for(const t of this.#x({allowStale:!0})){const n=this.#u[t],i=this.#l[t],o=this.#E(i)?i.__staleWhileFetching:i;if(void 0===o||void 0===n)continue;const a={value:o};if(this.#_&&this.#b){a.ttl=this.#_[t];const e=r.now()-this.#b[t];a.start=Math.floor(Date.now()-e)}this.#m&&(a.size=this.#m[t]),e.unshift([n,a])}return e}load(e){this.clear();for(const[t,n]of e){if(n.start){const e=Date.now()-n.start;n.start=r.now()-e}this.set(t,n.value,n)}}set(e,t,r={}){if(void 0===t)return this.delete(e),this;const{ttl:n=this.ttl,start:i,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:s}=r;let{noUpdateTTL:c=this.noUpdateTTL}=r;const u=this.#C(e,t,r.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return s&&(s.set="miss",s.maxEntrySizeExceeded=!0),this.delete(e),this;let l=0===this.#a?void 0:this.#c.get(e);if(void 0===l)l=0===this.#a?this.#f:0!==this.#y.length?this.#y.pop():this.#a===this.#t?this.#k(!1):this.#a,this.#u[l]=e,this.#l[l]=t,this.#c.set(e,l),this.#d[this.#f]=l,this.#p[l]=this.#f,this.#f=l,this.#a++,this.#M(l,u,s),s&&(s.set="add"),c=!1;else{this.#O(l);const r=this.#l[l];if(t!==r){if(this.#w&&this.#E(r)){r.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:t}=r;void 0===t||o||(this.#v&&this.#n?.(t,e,"set"),this.#S&&this.#g?.push([t,e,"set"]))}else o||(this.#v&&this.#n?.(r,e,"set"),this.#S&&this.#g?.push([r,e,"set"]));if(this.#j(l),this.#M(l,u,s),this.#l[l]=t,s){s.set="replace";const e=r&&this.#E(r)?r.__staleWhileFetching:r;void 0!==e&&(s.oldValue=e)}}else s&&(s.set="update")}if(0===n||this.#_||this.#P(),this.#_&&(c||this.#F(l,n,i),s&&this.#N(s,l)),!o&&this.#S&&this.#g){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}return this}pop(){try{for(;this.#a;){const e=this.#l[this.#h];if(this.#k(!0),this.#E(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#S&&this.#g){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}}}#k(e){const t=this.#h,r=this.#u[t],n=this.#l[t];return this.#w&&this.#E(n)?n.__abortController.abort(new Error("evicted")):(this.#v||this.#S)&&(this.#v&&this.#n?.(n,r,"evict"),this.#S&&this.#g?.push([n,r,"evict"])),this.#j(t),e&&(this.#u[t]=void 0,this.#l[t]=void 0,this.#y.push(t)),1===this.#a?(this.#h=this.#f=0,this.#y.length=0):this.#h=this.#d[t],this.#c.delete(r),this.#a--,t}has(e,t={}){const{updateAgeOnHas:r=this.updateAgeOnHas,status:n}=t,i=this.#c.get(e);if(void 0!==i){const e=this.#l[i];if(this.#E(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#I(i))return r&&this.#D(i),n&&(n.has="hit",this.#N(n,i)),!0;n&&(n.has="stale",this.#N(n,i))}else n&&(n.has="miss");return!1}peek(e,t={}){const{allowStale:r=this.allowStale}=t,n=this.#c.get(e);if(void 0===n||!r&&this.#I(n))return;const i=this.#l[n];return this.#E(i)?i.__staleWhileFetching:i}#T(e,t,r,n){const i=void 0===t?void 0:this.#l[t];if(this.#E(i))return i;const o=new a,{signal:s}=r;s?.addEventListener("abort",(()=>o.abort(s.reason)),{signal:o.signal});const c={signal:o.signal,options:r,context:n},u=(n,i=!1)=>{const{aborted:a}=o.signal,s=r.ignoreFetchAbort&&void 0!==n;if(r.status&&(a&&!i?(r.status.fetchAborted=!0,r.status.fetchError=o.signal.reason,s&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),a&&!s&&!i)return l(o.signal.reason);const u=d;return this.#l[t]===d&&(void 0===n?u.__staleWhileFetching?this.#l[t]=u.__staleWhileFetching:this.delete(e):(r.status&&(r.status.fetchUpdated=!0),this.set(e,n,c.options))),n},l=n=>{const{aborted:i}=o.signal,a=i&&r.allowStaleOnFetchAbort,s=a||r.allowStaleOnFetchRejection,c=s||r.noDeleteOnFetchRejection,u=d;if(this.#l[t]===d&&(c&&void 0!==u.__staleWhileFetching?a||(this.#l[t]=u.__staleWhileFetching):this.delete(e)),s)return r.status&&void 0!==u.__staleWhileFetching&&(r.status.returnedStale=!0),u.__staleWhileFetching;if(u.__returned===u)throw n};r.status&&(r.status.fetchDispatched=!0);const d=new Promise(((t,n)=>{const a=this.#o?.(e,i,c);a&&a instanceof Promise&&a.then((e=>t(void 0===e?void 0:e)),n),o.signal.addEventListener("abort",(()=>{r.ignoreFetchAbort&&!r.allowStaleOnFetchAbort||(t(void 0),r.allowStaleOnFetchAbort&&(t=e=>u(e,!0)))}))})).then(u,(e=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=e),l(e)))),p=Object.assign(d,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.set(e,p,{...c.options,status:void 0}),t=this.#c.get(e)):this.#l[t]=p,p}#E(e){if(!this.#w)return!1;const t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof a}async fetch(e,t={}){const{allowStale:r=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:s=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:h=this.allowStaleOnFetchAbort,context:f,forceRefresh:y=!1,status:g,signal:m}=t;if(!this.#w)return g&&(g.fetch="get"),this.get(e,{allowStale:r,updateAgeOnGet:n,noDeleteOnStaleGet:i,status:g});const b={allowStale:r,updateAgeOnGet:n,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:a,size:s,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:h,ignoreFetchAbort:p,status:g,signal:m};let _=this.#c.get(e);if(void 0===_){g&&(g.fetch="miss");const t=this.#T(e,_,b,f);return t.__returned=t}{const t=this.#l[_];if(this.#E(t)){const e=r&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}const i=this.#I(_);if(!y&&!i)return g&&(g.fetch="hit"),this.#O(_),n&&this.#D(_),g&&this.#N(g,_),t;const o=this.#T(e,_,b,f),a=void 0!==o.__staleWhileFetching&&r;return g&&(g.fetch=i?"stale":"refresh",a&&i&&(g.returnedStale=!0)),a?o.__staleWhileFetching:o.__returned=o}}get(e,t={}){const{allowStale:r=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,a=this.#c.get(e);if(void 0!==a){const t=this.#l[a],s=this.#E(t);return o&&this.#N(o,a),this.#I(a)?(o&&(o.get="stale"),s?(o&&r&&void 0!==t.__staleWhileFetching&&(o.returnedStale=!0),r?t.__staleWhileFetching:void 0):(i||this.delete(e),o&&r&&(o.returnedStale=!0),r?t:void 0)):(o&&(o.get="hit"),s?t.__staleWhileFetching:(this.#O(a),n&&this.#D(a),t))}o&&(o.get="miss")}#U(e,t){this.#p[t]=e,this.#d[e]=t}#O(e){e!==this.#f&&(e===this.#h?this.#h=this.#d[e]:this.#U(this.#p[e],this.#d[e]),this.#U(this.#f,e),this.#f=e)}delete(e){let t=!1;if(0!==this.#a){const r=this.#c.get(e);if(void 0!==r)if(t=!0,1===this.#a)this.clear();else{this.#j(r);const t=this.#l[r];if(this.#E(t)?t.__abortController.abort(new Error("deleted")):(this.#v||this.#S)&&(this.#v&&this.#n?.(t,e,"delete"),this.#S&&this.#g?.push([t,e,"delete"])),this.#c.delete(e),this.#u[r]=void 0,this.#l[r]=void 0,r===this.#f)this.#f=this.#p[r];else if(r===this.#h)this.#h=this.#d[r];else{const e=this.#p[r];this.#d[e]=this.#d[r];const t=this.#d[r];this.#p[t]=this.#p[r]}this.#a--,this.#y.push(r)}}if(this.#S&&this.#g?.length){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}return t}clear(){for(const e of this.#A({allowStale:!0})){const t=this.#l[e];if(this.#E(t))t.__abortController.abort(new Error("deleted"));else{const r=this.#u[e];this.#v&&this.#n?.(t,r,"delete"),this.#S&&this.#g?.push([t,r,"delete"])}}if(this.#c.clear(),this.#l.fill(void 0),this.#u.fill(void 0),this.#_&&this.#b&&(this.#_.fill(0),this.#b.fill(0)),this.#m&&this.#m.fill(0),this.#h=0,this.#f=0,this.#y.length=0,this.#s=0,this.#a=0,this.#S&&this.#g){const e=this.#g;let t;for(;t=e?.shift();)this.#i?.(...t)}}}t.LRUCache=p},50952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readableFromWeb=t.ReadableFromWeb=void 0;const n=r(19198);class i extends n.Readable{constructor(e,t){super(t),this.reader=e.getReader(),this.readerClosed=!1,this.reader.closed.then((()=>{this.readerClosed=!0})).catch((e=>{this.readerClosed=!0,this.destroy(e)}))}_read(){this.reader.read().then((e=>this.push(e.done?null:e.value))).catch((e=>this.destroy(e)))}destroy(e){return this.readerClosed||this.reader.cancel(e).then().catch((()=>{})),super.destroy(e)}}t.ReadableFromWeb=i,t.readableFromWeb=function(e,t){return new i(e,t)}},65806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.readableFromWeb=void 0;var n=r(50952);Object.defineProperty(t,"readableFromWeb",{enumerable:!0,get:function(){return n.readableFromWeb}})},31613:(e,t,r)=>{"use strict";r.r(t),r.d(t,{CompactEncrypt:()=>st,CompactSign:()=>ut,EmbeddedJWK:()=>bt,EncryptJWT:()=>ft,FlattenedEncrypt:()=>Ge,FlattenedSign:()=>ct,GeneralEncrypt:()=>Qe,GeneralSign:()=>dt,SignJWT:()=>ht,UnsecuredJWT:()=>xt,base64url:()=>i,calculateJwkThumbprint:()=>gt,calculateJwkThumbprintUri:()=>mt,compactDecrypt:()=>ke,compactVerify:()=>Ye,createLocalJWKSet:()=>Et,createRemoteJWKSet:()=>Ot,cryptoRuntime:()=>jt,decodeJwt:()=>Pt,decodeProtectedHeader:()=>Rt,errors:()=>n,exportJWK:()=>qe,exportPKCS8:()=>Ve,exportSPKI:()=>Be,flattenedDecrypt:()=>Me,flattenedVerify:()=>Xe,generalDecrypt:()=>Le,generalVerify:()=>Ze,generateKeyPair:()=>Dt,generateSecret:()=>Nt,importJWK:()=>Pe,importPKCS8:()=>Re,importSPKI:()=>Ae,importX509:()=>Ie,jwtDecrypt:()=>at,jwtVerify:()=>ot});var n={};r.r(n),r.d(n,{JOSEAlgNotAllowed:()=>E,JOSEError:()=>v,JOSENotSupported:()=>T,JWEDecompressionFailed:()=>x,JWEDecryptionFailed:()=>O,JWEInvalid:()=>A,JWKInvalid:()=>P,JWKSInvalid:()=>F,JWKSMultipleMatchingKeys:()=>N,JWKSNoMatchingKey:()=>D,JWKSTimeout:()=>j,JWSInvalid:()=>I,JWSSignatureVerificationFailed:()=>C,JWTClaimValidationFailed:()=>w,JWTExpired:()=>S,JWTInvalid:()=>R});var i={};r.r(i),r.d(i,{decode:()=>It,encode:()=>At});const o=crypto,a=e=>e instanceof CryptoKey,s=async(e,t)=>{const r=`SHA-${e.slice(-3)}`;return new Uint8Array(await o.subtle.digest(r,t))},c=new TextEncoder,u=new TextDecoder,l=2**32;function d(...e){const t=e.reduce(((e,{length:t})=>e+t),0),r=new Uint8Array(t);let n=0;return e.forEach((e=>{r.set(e,n),n+=e.length})),r}function p(e,t,r){if(t<0||t>=l)throw new RangeError(`value must be >= 0 and <= ${l-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,255&t],r)}function h(e){const t=Math.floor(e/l),r=e%l,n=new Uint8Array(8);return p(n,t,0),p(n,r,4),n}function f(e){const t=new Uint8Array(4);return p(t,e),t}function y(e){return d(f(e.length),e)}const g=e=>{let t=e;"string"==typeof t&&(t=c.encode(t));const r=[];for(let e=0;eg(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),b=e=>{const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e{let t=e;t instanceof Uint8Array&&(t=u.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return b(t)}catch(e){throw new TypeError("The input to be decoded is not correctly encoded.")}};class v extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var t;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}class w extends v{static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,t="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=t,this.reason=r}}class S extends v{static get code(){return"ERR_JWT_EXPIRED"}constructor(e,t="unspecified",r="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=t,this.reason=r}}class E extends v{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}}class T extends v{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}}class O extends v{constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}}class x extends v{constructor(){super(...arguments),this.code="ERR_JWE_DECOMPRESSION_FAILED",this.message="decompression operation failed"}static get code(){return"ERR_JWE_DECOMPRESSION_FAILED"}}class A extends v{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}}class I extends v{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}}class R extends v{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}}class P extends v{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}}class F extends v{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}}class D extends v{constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}}class N extends v{constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}}Symbol.asyncIterator;class j extends v{constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}}class C extends v{constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}const M=o.getRandomValues.bind(o);function k(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new T(`Unsupported JWE Algorithm: ${e}`)}}const L=e=>M(new Uint8Array(k(e)>>3)),U=(e,t)=>{if(t.length<<3!==k(e))throw new A("Invalid Initialization Vector length")},B=(e,t)=>{const r=e.byteLength<<3;if(r!==t)throw new A(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)};function V(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function q(e,t){return e.name===t}function H(e){return parseInt(e.name.slice(4),10)}function $(e,t){if(t.length&&!t.some((t=>e.usages.includes(t)))){let e="CryptoKey does not support this operation, its usages must include ";if(t.length>2){const r=t.pop();e+=`one of ${t.join(", ")}, or ${r}.`}else 2===t.length?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw new TypeError(e)}}function G(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!q(e.algorithm,"AES-GCM"))throw V("AES-GCM");const r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw V(r,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!q(e.algorithm,"AES-KW"))throw V("AES-KW");const r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw V(r,"algorithm.length");break}case"ECDH":switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw V("ECDH, X25519, or X448")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!q(e.algorithm,"PBKDF2"))throw V("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!q(e.algorithm,"RSA-OAEP"))throw V("RSA-OAEP");const r=parseInt(t.slice(9),10)||1;if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}$(e,r)}function K(e,t,...r){if(r.length>2){const t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}const Q=(e,...t)=>K("Key must be ",e,...t);function z(e,t,...r){return K(`Key for the ${e} algorithm must be `,t,...r)}const J=e=>a(e),W=["CryptoKey"],X=async(e,t,r,n,i,s)=>{if(!(a(t)||t instanceof Uint8Array))throw new TypeError(Q(t,...W,"Uint8Array"));switch(U(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&B(t,parseInt(e.slice(-3),10)),async function(e,t,r,n,i,a){if(!(t instanceof Uint8Array))throw new TypeError(Q(t,"Uint8Array"));const s=parseInt(e.slice(1,4),10),c=await o.subtle.importKey("raw",t.subarray(s>>3),"AES-CBC",!1,["decrypt"]),u=await o.subtle.importKey("raw",t.subarray(0,s>>3),{hash:"SHA-"+(s<<1),name:"HMAC"},!1,["sign"]),l=d(a,n,r,h(a.length<<3)),p=new Uint8Array((await o.subtle.sign("HMAC",u,l)).slice(0,s>>3));let f,y;try{f=((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");const r=e.length;let n=0,i=-1;for(;++i{throw new T('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},Z=async()=>{throw new T('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},ee=(...e)=>{const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let r;for(const e of t){const t=Object.keys(e);if(r&&0!==r.size)for(const e of t){if(r.has(e))return!1;r.add(e)}else r=new Set(t)}return!0};function te(e){if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let r=e;for(;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(e)===r}const re=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]];function ne(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function ie(e,t,r){if(a(e))return G(e,t,r),e;if(e instanceof Uint8Array)return o.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(Q(e,...W,"Uint8Array"))}const oe=async(e,t,r)=>{const n=await ie(t,e,"wrapKey");ne(n,e);const i=await o.subtle.importKey("raw",r,...re);return new Uint8Array(await o.subtle.wrapKey("raw",i,n,"AES-KW"))},ae=async(e,t,r)=>{const n=await ie(t,e,"unwrapKey");ne(n,e);const i=await o.subtle.unwrapKey("raw",r,n,"AES-KW",...re);return new Uint8Array(await o.subtle.exportKey("raw",i))};async function se(e,t,r,n,i=new Uint8Array(0),u=new Uint8Array(0)){if(!a(e))throw new TypeError(Q(e,...W));if(G(e,"ECDH"),!a(t))throw new TypeError(Q(t,...W));G(t,"ECDH","deriveBits");const l=d(y(c.encode(r)),y(i),y(u),f(n));let p;return p="X25519"===e.algorithm.name?256:"X448"===e.algorithm.name?448:Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3,async function(e,t,r){const n=Math.ceil((t>>3)/32),i=new Uint8Array(32*n);for(let t=0;t>3)}(new Uint8Array(await o.subtle.deriveBits({name:e.algorithm.name,public:e},t,p)),n,l)}function ce(e){if(!a(e))throw new TypeError(Q(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||"X25519"===e.algorithm.name||"X448"===e.algorithm.name}async function ue(e,t,r,n){!function(e){if(!(e instanceof Uint8Array)||e.length<8)throw new A("PBES2 Salt Input must be 8 or more octets")}(e);const i=function(e,t){return d(c.encode(e),new Uint8Array([0]),t)}(t,e),s=parseInt(t.slice(13,16),10),u={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},l={length:s,name:"AES-KW"},p=await function(e,t){if(e instanceof Uint8Array)return o.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(a(e))return G(e,t,"deriveBits","deriveKey"),e;throw new TypeError(Q(e,...W,"Uint8Array"))}(n,t);if(p.usages.includes("deriveBits"))return new Uint8Array(await o.subtle.deriveBits(u,p,s));if(p.usages.includes("deriveKey"))return o.subtle.deriveKey(u,p,l,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}function le(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new T(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}const de=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){const{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}};function pe(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new T(`Unsupported JWE Algorithm: ${e}`)}}const he=e=>M(new Uint8Array(pe(e)>>3)),fe=(e,t)=>`-----BEGIN ${t}-----\n${(e.match(/.{1,64}/g)||[]).join("\n")}\n-----END ${t}-----`,ye=async(e,t,r)=>{if(!a(r))throw new TypeError(Q(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return fe(g(new Uint8Array(await o.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},ge=e=>ye("public","spki",e),me=e=>ye("private","pkcs8",e),be=(e,t,r=0)=>{0===r&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(-1===n)return!1;const i=e.subarray(n,n+t.length);return i.length===t.length&&(i.every(((e,r)=>e===t[r]))||be(e,t,n+1))},_e=e=>{switch(!0){case be(e,[42,134,72,206,61,3,1,7]):return"P-256";case be(e,[43,129,4,0,34]):return"P-384";case be(e,[43,129,4,0,35]):return"P-521";case be(e,[43,101,110]):return"X25519";case be(e,[43,101,111]):return"X448";case be(e,[43,101,112]):return"Ed25519";case be(e,[43,101,113]):return"Ed448";default:throw new T("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},ve=async(e,t,r,n,i)=>{var a;let s,c;const u=new Uint8Array(atob(r.replace(e,"")).split("").map((e=>e.charCodeAt(0)))),l="spki"===t;switch(n){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const e=_e(u);s=e.startsWith("P-")?{name:"ECDH",namedCurve:e}:{name:e},c=l?[]:["deriveBits"];break}case"EdDSA":s={name:_e(u)},c=l?["verify"]:["sign"];break;default:throw new T('Invalid or unsupported "alg" (Algorithm) value')}return o.subtle.importKey(t,u,s,null!==(a=null==i?void 0:i.extractable)&&void 0!==a&&a,c)},we=(e,t,r)=>ve(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),Se=(e,t,r)=>ve(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r);function Ee(e){let t=[],r=0;for(;r=128;)r=128*r+e[t]-128,t++;r=128*r+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else{if(128===n){for(n=0;0!==e[t+n]||0!==e[t+n+1];){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}const r=t+n+2;return{byteLength:r,contents:e.subarray(t,t+n),raw:e.subarray(0,r)}}{let r=127&e[t];t++,n=0;for(let i=0;i{let n;try{n=function(e){const t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=b(t);return fe(function(e){const t=Ee(Ee(Te(e).contents)[0].contents);return g(t[160===t[0].raw[0]?6:5].raw)}(r),"PUBLIC KEY")}(e)}catch(e){throw new TypeError("Failed to parse the X.509 certificate",{cause:e})}return Se(n,t,r)},xe=async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:n,keyUsages:i}=function(e){let t,r;switch(e.kty){case"oct":switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new T(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new T('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),a=[n,null!==(t=e.ext)&&void 0!==t&&t,null!==(r=e.key_ops)&&void 0!==r?r:i];if("PBKDF2"===n.name)return o.subtle.importKey("raw",_(e.k),...a);const s={...e};return delete s.alg,delete s.use,o.subtle.importKey("jwk",s,...a)};async function Ae(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return Se(e,t,r)}async function Ie(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN CERTIFICATE-----"))throw new TypeError('"x509" must be X.509 formatted string');return Oe(e,t,r)}async function Re(e,t,r){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PRIVATE KEY-----"))throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return we(e,t,r)}async function Pe(e,t,r){var n;if(!te(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return null!=r||(r=!0!==e.ext),r?xe({...e,alg:t,ext:null!==(n=e.ext)&&void 0!==n&&n}):_(e.k);case"RSA":if(void 0!==e.oth)throw new T('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return xe({...e,alg:t});default:throw new T('Unsupported "kty" (Key Type) Parameter value')}}const Fe=(e,t,r)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?((e,t)=>{if(!(t instanceof Uint8Array)){if(!J(t))throw new TypeError(z(e,t,...W,"Uint8Array"));if("secret"!==t.type)throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}})(e,t):((e,t,r)=>{if(!J(t))throw new TypeError(z(e,t,...W));if("secret"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if("sign"===r&&"public"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if("decrypt"===r&&"public"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&"verify"===r&&"private"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&"encrypt"===r&&"private"===t.type)throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)})(e,t,r)},De=async(e,t,r,n,i)=>{if(!(a(r)||r instanceof Uint8Array))throw new TypeError(Q(r,...W,"Uint8Array"));switch(U(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&B(r,parseInt(e.slice(-3),10)),async function(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(Q(r,"Uint8Array"));const a=parseInt(e.slice(1,4),10),s=await o.subtle.importKey("raw",r.subarray(a>>3),"AES-CBC",!1,["encrypt"]),c=await o.subtle.importKey("raw",r.subarray(0,a>>3),{hash:"SHA-"+(a<<1),name:"HMAC"},!1,["sign"]),u=new Uint8Array(await o.subtle.encrypt({iv:n,name:"AES-CBC"},s,t)),l=d(i,n,u,h(i.length<<3));return{ciphertext:u,tag:new Uint8Array((await o.subtle.sign("HMAC",c,l)).slice(0,a>>3))}}(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&B(r,parseInt(e.slice(1,4),10)),async function(e,t,r,n,i){let a;r instanceof Uint8Array?a=await o.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(G(r,e,"encrypt"),a=r);const s=new Uint8Array(await o.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},a,t)),c=s.slice(-16);return{ciphertext:s.slice(0,-16),tag:c}}(e,t,r,n,i);default:throw new T("Unsupported JWE Content Encryption Algorithm")}},Ne=async function(e,t,r,n,i){switch(Fe(e,t,"decrypt"),e){case"dir":if(void 0!==r)throw new A("Encountered unexpected JWE Encrypted Key");return t;case"ECDH-ES":if(void 0!==r)throw new A("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!te(n.epk))throw new A('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!ce(t))throw new T("ECDH with the provided key is not allowed or not supported by your javascript runtime");const i=await Pe(n.epk,e);let o,a;if(void 0!==n.apu){if("string"!=typeof n.apu)throw new A('JOSE Header "apu" (Agreement PartyUInfo) invalid');try{o=_(n.apu)}catch(e){throw new A("Failed to base64url decode the apu")}}if(void 0!==n.apv){if("string"!=typeof n.apv)throw new A('JOSE Header "apv" (Agreement PartyVInfo) invalid');try{a=_(n.apv)}catch(e){throw new A("Failed to base64url decode the apv")}}const s=await se(i,t,"ECDH-ES"===e?n.enc:e,"ECDH-ES"===e?pe(n.enc):parseInt(e.slice(-5,-2),10),o,a);if("ECDH-ES"===e)return s;if(void 0===r)throw new A("JWE Encrypted Key missing");return ae(e.slice(-6),s,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if(void 0===r)throw new A("JWE Encrypted Key missing");return(async(e,t,r)=>{if(!a(t))throw new TypeError(Q(t,...W));if(G(t,e,"decrypt","unwrapKey"),de(e,t),t.usages.includes("decrypt"))return new Uint8Array(await o.subtle.decrypt(le(e),t,r));if(t.usages.includes("unwrapKey")){const n=await o.subtle.unwrapKey("raw",r,t,le(e),...re);return new Uint8Array(await o.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')})(e,t,r);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(void 0===r)throw new A("JWE Encrypted Key missing");if("number"!=typeof n.p2c)throw new A('JOSE Header "p2c" (PBES2 Count) missing or invalid');const o=(null==i?void 0:i.maxPBES2Count)||1e4;if(n.p2c>o)throw new A('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof n.p2s)throw new A('JOSE Header "p2s" (PBES2 Salt) missing or invalid');let a;try{a=_(n.p2s)}catch(e){throw new A("Failed to base64url decode the p2s")}return(async(e,t,r,n,i)=>{const o=await ue(i,e,n,t);return ae(e.slice(-6),o,r)})(e,t,r,n.p2c,a)}case"A128KW":case"A192KW":case"A256KW":if(void 0===r)throw new A("JWE Encrypted Key missing");return ae(e,t,r);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(void 0===r)throw new A("JWE Encrypted Key missing");if("string"!=typeof n.iv)throw new A('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof n.tag)throw new A('JOSE Header "tag" (Authentication Tag) missing or invalid');let i,o;try{i=_(n.iv)}catch(e){throw new A("Failed to base64url decode the iv")}try{o=_(n.tag)}catch(e){throw new A("Failed to base64url decode the tag")}return async function(e,t,r,n,i){const o=e.slice(0,7);return X(o,t,r,n,i,new Uint8Array(0))}(e,t,r,i,o)}default:throw new T('Invalid or unsupported "alg" (JWE Algorithm) header value')}},je=function(e,t,r,n,i){if(void 0!==i.crit&&void 0===n.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some((e=>"string"!=typeof e||0===e.length)))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let o;o=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t;for(const t of n.crit){if(!o.has(t))throw new T(`Extension Header Parameter "${t}" is not recognized`);if(void 0===i[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(o.get(t)&&void 0===n[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(n.crit)},Ce=(e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some((e=>"string"!=typeof e))))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)};async function Me(e,t,r){var n;if(!te(e))throw new A("Flattened JWE must be an object");if(void 0===e.protected&&void 0===e.header&&void 0===e.unprotected)throw new A("JOSE Header missing");if("string"!=typeof e.iv)throw new A("JWE Initialization Vector missing or incorrect type");if("string"!=typeof e.ciphertext)throw new A("JWE Ciphertext missing or incorrect type");if("string"!=typeof e.tag)throw new A("JWE Authentication Tag missing or incorrect type");if(void 0!==e.protected&&"string"!=typeof e.protected)throw new A("JWE Protected Header incorrect type");if(void 0!==e.encrypted_key&&"string"!=typeof e.encrypted_key)throw new A("JWE Encrypted Key incorrect type");if(void 0!==e.aad&&"string"!=typeof e.aad)throw new A("JWE AAD incorrect type");if(void 0!==e.header&&!te(e.header))throw new A("JWE Shared Unprotected Header incorrect type");if(void 0!==e.unprotected&&!te(e.unprotected))throw new A("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{const t=_(e.protected);i=JSON.parse(u.decode(t))}catch(e){throw new A("JWE Protected Header is invalid")}if(!ee(i,e.header,e.unprotected))throw new A("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");const o={...i,...e.header,...e.unprotected};if(je(A,new Map,null==r?void 0:r.crit,i,o),void 0!==o.zip){if(!i||!i.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==o.zip)throw new T('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:a,enc:s}=o;if("string"!=typeof a||!a)throw new A("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof s||!s)throw new A("missing JWE Encryption Algorithm (enc) in JWE Header");const l=r&&Ce("keyManagementAlgorithms",r.keyManagementAlgorithms),p=r&&Ce("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(l&&!l.has(a))throw new E('"alg" (Algorithm) Header Parameter not allowed');if(p&&!p.has(s))throw new E('"enc" (Encryption Algorithm) Header Parameter not allowed');let h;if(void 0!==e.encrypted_key)try{h=_(e.encrypted_key)}catch(e){throw new A("Failed to base64url decode the encrypted_key")}let f,y,g,m=!1;"function"==typeof t&&(t=await t(i,e),m=!0);try{f=await Ne(a,t,h,o,r)}catch(e){if(e instanceof TypeError||e instanceof A||e instanceof T)throw e;f=he(s)}try{y=_(e.iv)}catch(e){throw new A("Failed to base64url decode the iv")}try{g=_(e.tag)}catch(e){throw new A("Failed to base64url decode the tag")}const b=c.encode(null!==(n=e.protected)&&void 0!==n?n:"");let v,w;v=void 0!==e.aad?d(b,c.encode("."),c.encode(e.aad)):b;try{w=_(e.ciphertext)}catch(e){throw new A("Failed to base64url decode the ciphertext")}let S=await X(s,f,w,y,g,v);"DEF"===o.zip&&(S=await((null==r?void 0:r.inflateRaw)||Y)(S));const O={plaintext:S};if(void 0!==e.protected&&(O.protectedHeader=i),void 0!==e.aad)try{O.additionalAuthenticatedData=_(e.aad)}catch(e){throw new A("Failed to base64url decode the aad")}return void 0!==e.unprotected&&(O.sharedUnprotectedHeader=e.unprotected),void 0!==e.header&&(O.unprotectedHeader=e.header),m?{...O,key:t}:O}async function ke(e,t,r){if(e instanceof Uint8Array&&(e=u.decode(e)),"string"!=typeof e)throw new A("Compact JWE must be a string or Uint8Array");const{0:n,1:i,2:o,3:a,4:s,length:c}=e.split(".");if(5!==c)throw new A("Invalid Compact JWE");const l=await Me({ciphertext:a,iv:o||void 0,protected:n||void 0,tag:s||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return"function"==typeof t?{...d,key:l.key}:d}async function Le(e,t,r){if(!te(e))throw new A("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(te))throw new A("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new A("JWE Recipients has no members");for(const n of e.recipients)try{return await Me({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch(e){}throw new O}const Ue=async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:m(e)};if(!a(e))throw new TypeError(Q(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");const{ext:t,key_ops:r,alg:n,use:i,...s}=await o.subtle.exportKey("jwk",e);return s};async function Be(e){return ge(e)}async function Ve(e){return me(e)}async function qe(e){return Ue(e)}const He=async function(e,t,r,n,i={}){let s,c,u;switch(Fe(e,r,"encrypt"),e){case"dir":u=r;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!ce(r))throw new T("ECDH with the provided key is not allowed or not supported by your javascript runtime");const{apu:l,apv:d}=i;let{epk:p}=i;p||(p=(await async function(e){if(!a(e))throw new TypeError(Q(e,...W));return o.subtle.generateKey(e.algorithm,!0,["deriveBits"])}(r)).privateKey);const{x:h,y:f,crv:y,kty:g}=await qe(p),b=await se(r,p,"ECDH-ES"===e?t:e,"ECDH-ES"===e?pe(t):parseInt(e.slice(-5,-2),10),l,d);if(c={epk:{x:h,crv:y,kty:g}},"EC"===g&&(c.epk.y=f),l&&(c.apu=m(l)),d&&(c.apv=m(d)),"ECDH-ES"===e){u=b;break}u=n||he(t);const _=e.slice(-6);s=await oe(_,b,u);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":u=n||he(t),s=await(async(e,t,r)=>{if(!a(t))throw new TypeError(Q(t,...W));if(G(t,e,"encrypt","wrapKey"),de(e,t),t.usages.includes("encrypt"))return new Uint8Array(await o.subtle.encrypt(le(e),t,r));if(t.usages.includes("wrapKey")){const n=await o.subtle.importKey("raw",r,...re);return new Uint8Array(await o.subtle.wrapKey("raw",n,t,le(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')})(e,r,u);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{u=n||he(t);const{p2c:o,p2s:a}=i;({encryptedKey:s,...c}=await(async(e,t,r,n=2048,i=M(new Uint8Array(16)))=>{const o=await ue(i,e,n,t);return{encryptedKey:await oe(e.slice(-6),o,r),p2c:n,p2s:m(i)}})(e,r,u,o,a));break}case"A128KW":case"A192KW":case"A256KW":u=n||he(t),s=await oe(e,r,u);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{u=n||he(t);const{iv:o}=i;({encryptedKey:s,...c}=await async function(e,t,r,n){const i=e.slice(0,7);n||(n=L(i));const{ciphertext:o,tag:a}=await De(i,r,t,n,new Uint8Array(0));return{encryptedKey:o,iv:m(n),tag:m(a)}}(e,r,u,o));break}default:throw new T('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:u,encryptedKey:s,parameters:c}},$e=Symbol();class Ge{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,t){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new A("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!ee(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new A("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");const r={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(je(A,new Map,null==t?void 0:t.crit,this._protectedHeader,r),void 0!==r.zip){if(!this._protectedHeader||!this._protectedHeader.zip)throw new A('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==r.zip)throw new T('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:n,enc:i}=r;if("string"!=typeof n||!n)throw new A('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof i||!i)throw new A('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let o,a,s,l,p,h,f;if("dir"===n){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if("ECDH-ES"===n&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");{let r;({cek:a,encryptedKey:o,parameters:r}=await He(n,i,e,this._cek,this._keyManagementParameters)),r&&(t&&$e in t?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...r}:this.setUnprotectedHeader(r):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...r}:this.setProtectedHeader(r))}if(this._iv||(this._iv=L(i)),l=this._protectedHeader?c.encode(m(JSON.stringify(this._protectedHeader))):c.encode(""),this._aad?(p=m(this._aad),s=d(l,c.encode("."),c.encode(p))):s=l,"DEF"===r.zip){const e=await((null==t?void 0:t.deflateRaw)||Z)(this._plaintext);({ciphertext:h,tag:f}=await De(i,e,a,this._iv,s))}else({ciphertext:h,tag:f}=await De(i,this._plaintext,a,this._iv,s));const y={ciphertext:m(h),iv:m(this._iv),tag:m(f)};return o&&(y.encrypted_key=m(o)),p&&(y.aad=p),this._protectedHeader&&(y.protected=u.decode(l)),this._sharedUnprotectedHeader&&(y.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(y.header=this._unprotectedHeader),y}}class Ke{constructor(e,t,r){this.parent=e,this.key=t,this.options=r}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}}class Qe{constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,t){const r=new Ke(this,e,{crit:null==t?void 0:t.crit});return this._recipients.push(r),r}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var t,r,n;if(!this._recipients.length)throw new A("at least one recipient must be added");if(e={deflateRaw:null==e?void 0:e.deflateRaw},1===this._recipients.length){const[t]=this._recipients,r=await new Ge(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(t.unprotectedHeader).encrypt(t.key,{...t.options,...e});let n={ciphertext:r.ciphertext,iv:r.iv,recipients:[{}],tag:r.tag};return r.aad&&(n.aad=r.aad),r.protected&&(n.protected=r.protected),r.unprotected&&(n.unprotected=r.unprotected),r.encrypted_key&&(n.recipients[0].encrypted_key=r.encrypted_key),r.header&&(n.recipients[0].header=r.header),n}let i;for(let e=0;e>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new T(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}function Je(e,t,r){if(a(t))return function(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!q(e.algorithm,"HMAC"))throw V("HMAC");const r=parseInt(t.slice(2),10);if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!q(e.algorithm,"RSASSA-PKCS1-v1_5"))throw V("RSASSA-PKCS1-v1_5");const r=parseInt(t.slice(2),10);if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!q(e.algorithm,"RSA-PSS"))throw V("RSA-PSS");const r=parseInt(t.slice(2),10);if(H(e.algorithm.hash)!==r)throw V(`SHA-${r}`,"algorithm.hash");break}case"EdDSA":if("Ed25519"!==e.algorithm.name&&"Ed448"!==e.algorithm.name)throw V("Ed25519 or Ed448");break;case"ES256":case"ES384":case"ES512":{if(!q(e.algorithm,"ECDSA"))throw V("ECDSA");const r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw V(r,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}$(e,r)}(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(Q(t,...W));return o.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(Q(t,...W,"Uint8Array"))}const We=async(e,t,r,n)=>{const i=await Je(e,t,"verify");de(e,i);const a=ze(e,i.algorithm);try{return await o.subtle.verify(a,i,r,n)}catch(e){return!1}};async function Xe(e,t,r){var n;if(!te(e))throw new I("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new I('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new I("JWS Protected Header incorrect type");if(void 0===e.payload)throw new I("JWS Payload missing");if("string"!=typeof e.signature)throw new I("JWS Signature missing or incorrect type");if(void 0!==e.header&&!te(e.header))throw new I("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{const t=_(e.protected);i=JSON.parse(u.decode(t))}catch(e){throw new I("JWS Protected Header is invalid")}if(!ee(i,e.header))throw new I("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const o={...i,...e.header};let a=!0;if(je(I,new Map([["b64",!0]]),null==r?void 0:r.crit,i,o).has("b64")&&(a=i.b64,"boolean"!=typeof a))throw new I('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:s}=o;if("string"!=typeof s||!s)throw new I('JWS "alg" (Algorithm) Header Parameter missing or invalid');const l=r&&Ce("algorithms",r.algorithms);if(l&&!l.has(s))throw new E('"alg" (Algorithm) Header Parameter not allowed');if(a){if("string"!=typeof e.payload)throw new I("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new I("JWS Payload must be a string or an Uint8Array instance");let p=!1;"function"==typeof t&&(t=await t(i,e),p=!0),Fe(s,t,"verify");const h=d(c.encode(null!==(n=e.protected)&&void 0!==n?n:""),c.encode("."),"string"==typeof e.payload?c.encode(e.payload):e.payload);let f,y;try{f=_(e.signature)}catch(e){throw new I("Failed to base64url decode the signature")}if(!await We(s,t,f,h))throw new C;if(a)try{y=_(e.payload)}catch(e){throw new I("Failed to base64url decode the payload")}else y="string"==typeof e.payload?c.encode(e.payload):e.payload;const g={payload:y};return void 0!==e.protected&&(g.protectedHeader=i),void 0!==e.header&&(g.unprotectedHeader=e.header),p?{...g,key:t}:g}async function Ye(e,t,r){if(e instanceof Uint8Array&&(e=u.decode(e)),"string"!=typeof e)throw new I("Compact JWS must be a string or Uint8Array");const{0:n,1:i,2:o,length:a}=e.split(".");if(3!==a)throw new I("Invalid Compact JWS");const s=await Xe({payload:i,protected:n,signature:o},t,r),c={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...c,key:s.key}:c}async function Ze(e,t,r){if(!te(e))throw new I("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(te))throw new I("JWS Signatures missing or incorrect type");for(const n of e.signatures)try{return await Xe({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch(e){}throw new C}const et=e=>Math.floor(e.getTime()/1e3),tt=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,rt=e=>{const t=tt.exec(e);if(!t)throw new TypeError("Invalid time period format");const r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(60*r);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(3600*r);case"day":case"days":case"d":return Math.round(86400*r);case"week":case"weeks":case"w":return Math.round(604800*r);default:return Math.round(31557600*r)}},nt=e=>e.toLowerCase().replace(/^application\//,""),it=(e,t,r={})=>{const{typ:n}=r;if(n&&("string"!=typeof e.typ||nt(e.typ)!==nt(n)))throw new w('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(u.decode(t))}catch(e){}if(!te(i))throw new R("JWT Claims Set must be a top-level JSON object");const{requiredClaims:o=[],issuer:a,subject:s,audience:c,maxTokenAge:l}=r;void 0!==l&&o.push("iat"),void 0!==c&&o.push("aud"),void 0!==s&&o.push("sub"),void 0!==a&&o.push("iss");for(const e of new Set(o.reverse()))if(!(e in i))throw new w(`missing required "${e}" claim`,e,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new w('unexpected "iss" claim value',"iss","check_failed");if(s&&i.sub!==s)throw new w('unexpected "sub" claim value',"sub","check_failed");if(c&&(p="string"==typeof c?[c]:c,!("string"==typeof(d=i.aud)?p.includes(d):Array.isArray(d)&&p.some(Set.prototype.has.bind(new Set(d))))))throw new w('unexpected "aud" claim value',"aud","check_failed");var d,p;let h;switch(typeof r.clockTolerance){case"string":h=rt(r.clockTolerance);break;case"number":h=r.clockTolerance;break;case"undefined":h=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:f}=r,y=et(f||new Date);if((void 0!==i.iat||l)&&"number"!=typeof i.iat)throw new w('"iat" claim must be a number',"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new w('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+h)throw new w('"nbf" claim timestamp check failed',"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new w('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-h)throw new S('"exp" claim timestamp check failed',"exp","check_failed")}if(l){const e=y-i.iat;if(e-h>("number"==typeof l?l:rt(l)))throw new S('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(e<0-h)throw new w('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i};async function ot(e,t,r){var n;const i=await Ye(e,t,r);if((null===(n=i.protectedHeader.crit)||void 0===n?void 0:n.includes("b64"))&&!1===i.protectedHeader.b64)throw new R("JWTs MUST NOT use unencoded payload");const o={payload:it(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return"function"==typeof t?{...o,key:i.key}:o}async function at(e,t,r){const n=await ke(e,t,r),i=it(n.protectedHeader,n.plaintext,r),{protectedHeader:o}=n;if(void 0!==o.iss&&o.iss!==i.iss)throw new w('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(void 0!==o.sub&&o.sub!==i.sub)throw new w('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(void 0!==o.aud&&JSON.stringify(o.aud)!==JSON.stringify(i.aud))throw new w('replicated "aud" claim header parameter mismatch',"aud","mismatch");const a={payload:i,protectedHeader:o};return"function"==typeof t?{...a,key:n.key}:a}class st{constructor(e){this._flattened=new Ge(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){const r=await this._flattened.encrypt(e,t);return[r.protected,r.encrypted_key,r.iv,r.ciphertext,r.tag].join(".")}}class ct{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,t){if(!this._protectedHeader&&!this._unprotectedHeader)throw new I("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!ee(this._protectedHeader,this._unprotectedHeader))throw new I("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const r={...this._protectedHeader,...this._unprotectedHeader};let n=!0;if(je(I,new Map([["b64",!0]]),null==t?void 0:t.crit,this._protectedHeader,r).has("b64")&&(n=this._protectedHeader.b64,"boolean"!=typeof n))throw new I('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:i}=r;if("string"!=typeof i||!i)throw new I('JWS "alg" (Algorithm) Header Parameter missing or invalid');Fe(i,e,"sign");let a,s=this._payload;n&&(s=c.encode(m(s))),a=this._protectedHeader?c.encode(m(JSON.stringify(this._protectedHeader))):c.encode("");const l=d(a,c.encode("."),s),p=await(async(e,t,r)=>{const n=await Je(e,t,"sign");de(e,n);const i=await o.subtle.sign(ze(e,n.algorithm),n,r);return new Uint8Array(i)})(i,e,l),h={signature:m(p),payload:""};return n&&(h.payload=u.decode(s)),this._unprotectedHeader&&(h.header=this._unprotectedHeader),this._protectedHeader&&(h.protected=u.decode(a)),h}}class ut{constructor(e){this._flattened=new ct(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){const r=await this._flattened.sign(e,t);if(void 0===r.payload)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${r.protected}.${r.payload}.${r.signature}`}}class lt{constructor(e,t,r){this.parent=e,this.key=t,this.options=r}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}}class dt{constructor(e){this._signatures=[],this._payload=e}addSignature(e,t){const r=new lt(this,e,t);return this._signatures.push(r),r}async sign(){if(!this._signatures.length)throw new I("at least one signature must be added");const e={signatures:[],payload:""};for(let t=0;t{if("string"!=typeof e||!e)throw new P(`${t} missing or invalid`)};async function gt(e,t){if(!te(e))throw new TypeError("JWK must be an object");if(null!=t||(t="sha256"),"sha256"!==t&&"sha384"!==t&&"sha512"!==t)throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":yt(e.crv,'"crv" (Curve) Parameter'),yt(e.x,'"x" (X Coordinate) Parameter'),yt(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":yt(e.crv,'"crv" (Subtype of Key Pair) Parameter'),yt(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":yt(e.e,'"e" (Exponent) Parameter'),yt(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":yt(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new T('"kty" (Key Type) Parameter missing or unsupported')}const n=c.encode(JSON.stringify(r));return m(await s(t,n))}async function mt(e,t){null!=t||(t="sha256");const r=await gt(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}async function bt(e,t){const r={...e,...null==t?void 0:t.header};if(!te(r.jwk))throw new I('"jwk" (JSON Web Key) Header Parameter must be a JSON object');const n=await Pe({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||"public"!==n.type)throw new I('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}function _t(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(vt)}function vt(e){return te(e)}class wt{constructor(e){if(this._cached=new WeakMap,!_t(e))throw new F("JSON Web Key Set malformed");var t;this._jwks=(t=e,"function"==typeof structuredClone?structuredClone(t):JSON.parse(JSON.stringify(t)))}async getKey(e,t){const{alg:r,kid:n}={...e,...null==t?void 0:t.header},i=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new T('Unsupported "alg" value for a JSON Web Key Set')}}(r),o=this._jwks.keys.filter((e=>{let t=i===e.kty;if(t&&"string"==typeof n&&(t=n===e.kid),t&&"string"==typeof e.alg&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t&&"EdDSA"===r&&(t="Ed25519"===e.crv||"Ed448"===e.crv),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES256K":t="secp256k1"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv}return t})),{0:a,length:s}=o;if(0===s)throw new D;if(1!==s){const e=new N,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(const e of o)try{yield await St(t,e,r)}catch(e){continue}},e}return St(this._cached,a,r)}}async function St(e,t,r){const n=e.get(t)||e.set(t,{}).get(t);if(void 0===n[r]){const e=await Pe({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new F("JSON Web Key Set members must be public keys");n[r]=e}return n[r]}function Et(e){const t=new wt(e);return async function(e,r){return t.getKey(e,r)}}class Tt extends wt{constructor(e,t){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:null==t?void 0:t.agent,headers:null==t?void 0:t.headers},this._timeoutDuration="number"==typeof(null==t?void 0:t.timeoutDuration)?null==t?void 0:t.timeoutDuration:5e3,this._cooldownDuration="number"==typeof(null==t?void 0:t.cooldownDuration)?null==t?void 0:t.cooldownDuration:3e4,this._cacheMaxAge="number"==typeof(null==t?void 0:t.cacheMaxAge)?null==t?void 0:t.cacheMaxAge:6e5}coolingDown(){return"number"==typeof this._jwksTimestamp&&Date.now(){let n,i,o=!1;"function"==typeof AbortController&&(n=new AbortController,i=setTimeout((()=>{o=!0,n.abort()}),t));const a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch((e=>{if(o)throw new j;throw e}));if(void 0!==i&&clearTimeout(i),200!==a.status)throw new v("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch(e){throw new v("Failed to parse the JSON Web Key Set HTTP response as JSON")}})(this._url,this._timeoutDuration,this._options).then((e=>{if(!_t(e))throw new F("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0})).catch((e=>{throw this._pendingFetch=void 0,e}))),await this._pendingFetch}}function Ot(e,t){const r=new Tt(e,t);return async function(e,t){return r.getKey(e,t)}}class xt extends pt{encode(){return`${m(JSON.stringify({alg:"none"}))}.${m(JSON.stringify(this._payload))}.`}static decode(e,t){if("string"!=typeof e)throw new R("Unsecured JWT must be a string");const{0:r,1:n,2:i,length:o}=e.split(".");if(3!==o||""!==i)throw new R("Invalid Unsecured JWT");let a;try{if(a=JSON.parse(u.decode(_(r))),"none"!==a.alg)throw new Error}catch(e){throw new R("Invalid Unsecured JWT")}return{payload:it(a,_(n),t),header:a}}}const At=m,It=_;function Rt(e){let t;if("string"==typeof e){const r=e.split(".");3!==r.length&&5!==r.length||([t]=r)}else if("object"==typeof e&&e){if(!("protected"in e))throw new TypeError("Token does not contain a Protected Header");t=e.protected}try{if("string"!=typeof t||!t)throw new Error;const e=JSON.parse(u.decode(It(t)));if(!te(e))throw new Error;return e}catch(e){throw new TypeError("Invalid Token or Protected Header formatting")}}function Pt(e){if("string"!=typeof e)throw new R("JWTs must use Compact JWS serialization, JWT must be a string");const{1:t,length:r}=e.split(".");if(5===r)throw new R("Only JWTs using Compact JWS serialization can be decoded");if(3!==r)throw new R("Invalid JWT");if(!t)throw new R("JWTs must contain a payload");let n,i;try{n=It(t)}catch(e){throw new R("Failed to base64url decode the payload")}try{i=JSON.parse(u.decode(n))}catch(e){throw new R("Failed to parse the decoded payload as JSON")}if(!te(i))throw new R("Invalid JWT Claims Set");return i}function Ft(e){var t;const r=null!==(t=null==e?void 0:e.modulusLength)&&void 0!==t?t:2048;if("number"!=typeof r||r<2048)throw new T("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Dt(e,t){return async function(e,t){var r,n,i;let a,s;switch(e){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Ft(t)},s=["sign","verify"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Ft(t)},s=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Ft(t)},s=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},s=["sign","verify"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},s=["sign","verify"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},s=["sign","verify"];break;case"EdDSA":s=["sign","verify"];const i=null!==(r=null==t?void 0:t.crv)&&void 0!==r?r:"Ed25519";switch(i){case"Ed25519":case"Ed448":a={name:i};break;default:throw new T("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{s=["deriveKey","deriveBits"];const e=null!==(n=null==t?void 0:t.crv)&&void 0!==n?n:"P-256";switch(e){case"P-256":case"P-384":case"P-521":a={name:"ECDH",namedCurve:e};break;case"X25519":case"X448":a={name:e};break;default:throw new T("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return o.subtle.generateKey(a,null!==(i=null==t?void 0:t.extractable)&&void 0!==i&&i,s)}(e,t)}async function Nt(e,t){return async function(e,t){var r;let n,i,a;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},a=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),M(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},a=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},a=["encrypt","decrypt"];break;default:throw new T('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return o.subtle.generateKey(i,null!==(r=null==t?void 0:t.extractable)&&void 0!==r&&r,a)}(e,t)}const jt="WebCryptoAPI"},48393:e=>{"use strict";e.exports=JSON.parse('{"name":"@comunica/actor-http-fetch","version":"4.0.2","description":"A fetch http actor","lsd:module":true,"license":"MIT","funding":{"type":"opencollective","url":"https://opencollective.com/comunica-association"},"homepage":"https://comunica.dev/","repository":{"type":"git","url":"https://github.com/comunica/comunica.git","directory":"packages/actor-http-fetch"},"bugs":{"url":"https://github.com/comunica/comunica/issues"},"keywords":["comunica","runner"],"sideEffects":false,"main":"lib/index.js","typings":"lib/index","publishConfig":{"access":"public"},"files":["components","lib/**/*.d.ts","lib/**/*.js","lib/**/*.js.map"],"scripts":{"build":"yarn run build:ts && yarn run build:components","build:ts":"node \\"../../node_modules/typescript/bin/tsc\\"","build:components":"componentsjs-generator"},"dependencies":{"@comunica/bus-http":"^4.0.2","@comunica/context-entries":"^4.0.2","@comunica/core":"^4.0.2","@comunica/mediatortype-time":"^4.0.2"},"browser":{"./lib/FetchInitPreprocessor.js":"./lib/FetchInitPreprocessor-browser.js"},"gitHead":"b60deab76821557f8d027208ab743d3c66fc60ea"}')},68395:e=>{"use strict";e.exports=JSON.parse('{"http://schema.org/":{"properties":{"additionalType":{"subPropertyOf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}}},"http://microformats.org/profile/hcard":{}}')},55180:e=>{"use strict";e.exports=JSON.parse('{"@context":{"alternate":"http://www.w3.org/1999/xhtml/vocab#alternate","appendix":"http://www.w3.org/1999/xhtml/vocab#appendix","cite":"http://www.w3.org/1999/xhtml/vocab#cite","bookmark":"http://www.w3.org/1999/xhtml/vocab#bookmark","contents":"http://www.w3.org/1999/xhtml/vocab#contents","chapter":"http://www.w3.org/1999/xhtml/vocab#chapter","copyright":"http://www.w3.org/1999/xhtml/vocab#copyright","first":"http://www.w3.org/1999/xhtml/vocab#first","glossary":"http://www.w3.org/1999/xhtml/vocab#glossary","help":"http://www.w3.org/1999/xhtml/vocab#help","icon":"http://www.w3.org/1999/xhtml/vocab#icon","index":"http://www.w3.org/1999/xhtml/vocab#index","last":"http://www.w3.org/1999/xhtml/vocab#last","license":"http://www.w3.org/1999/xhtml/vocab#license","meta":"http://www.w3.org/1999/xhtml/vocab#meta","next":"http://www.w3.org/1999/xhtml/vocab#next","prev":"http://www.w3.org/1999/xhtml/vocab#prev","previous":"http://www.w3.org/1999/xhtml/vocab#previous","section":"http://www.w3.org/1999/xhtml/vocab#section","start":"http://www.w3.org/1999/xhtml/vocab#start","stylesheet":"http://www.w3.org/1999/xhtml/vocab#stylesheet","subsection":"http://www.w3.org/1999/xhtml/vocab#subsection","top":"http://www.w3.org/1999/xhtml/vocab#top","up":"http://www.w3.org/1999/xhtml/vocab#up","p3pv1":"http://www.w3.org/1999/xhtml/vocab#p3pv1"}}')},10532:e=>{"use strict";e.exports=JSON.parse('{"@context":{"as":"https://www.w3.org/ns/activitystreams#","cat":"http://www.w3.org/ns/dcat#","cc":"http://creativecommons.org/ns#","cnt":"http://www.w3.org/2008/content#","csvw":"http://www.w3.org/ns/csvw#","ctag":"http://commontag.org/ns#","dc":"http://purl.org/dc/terms/","dc11":"http://purl.org/dc/elements/1.1/","dcat":"http://www.w3.org/ns/dcat#","dcterms":"http://purl.org/dc/terms/","dqv":"http://www.w3.org/ns/dqv#","duv":"https://www.w3.org/TR/vocab-duv#","earl":"http://www.w3.org/ns/earl#","foaf":"http://xmlns.com/foaf/0.1/","gldp":"http://www.w3.org/ns/people#","gr":"http://purl.org/goodrelations/v1#","grddl":"http://www.w3.org/2003/g/data-view#","ht":"http://www.w3.org/2006/http#","ical":"http://www.w3.org/2002/12/cal/icaltzd#","ldp":"http://www.w3.org/ns/ldp#","ma":"http://www.w3.org/ns/ma-ont#","oa":"http://www.w3.org/ns/oa#","odrl":"http://www.w3.org/ns/odrl/2/","og":"http://ogp.me/ns#","org":"http://www.w3.org/ns/org#","owl":"http://www.w3.org/2002/07/owl#","prov":"http://www.w3.org/ns/prov#","ptr":"http://www.w3.org/2009/pointers#","qb":"http://purl.org/linked-data/cube#","rev":"http://purl.org/stuff/rev#","rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdfa":"http://www.w3.org/ns/rdfa#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","rif":"http://www.w3.org/2007/rif#","rr":"http://www.w3.org/ns/r2rml#","schema":"http://schema.org/","sd":"http://www.w3.org/ns/sparql-service-description#","sioc":"http://rdfs.org/sioc/ns#","skos":"http://www.w3.org/2004/02/skos/core#","skosxl":"http://www.w3.org/2008/05/skos-xl#","ssn":"http://www.w3.org/ns/ssn/","sosa":"http://www.w3.org/ns/sosa/","time":"http://www.w3.org/2006/time#","v":"http://rdf.data-vocabulary.org/#","vcard":"http://www.w3.org/2006/vcard/ns#","void":"http://rdfs.org/ns/void#","wdr":"http://www.w3.org/2007/05/powder#","wdrs":"http://www.w3.org/2007/05/powder-s#","xhv":"http://www.w3.org/1999/xhtml/vocab#","xml":"http://www.w3.org/XML/1998/namespace","xsd":"http://www.w3.org/2001/XMLSchema#","describedby":"http://www.w3.org/2007/05/powder-s#describedby","license":"http://www.w3.org/1999/xhtml/vocab#license","role":"http://www.w3.org/1999/xhtml/vocab#role"}}')}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};for(var i in(()=>{var e,t=null,n=r(43347),i=r(76510).LoggerPretty,o=r(78149).bindingsStreamToGraphQl,a=r(75050).ProxyHandlerStatic,s=r(89279).WorkerToWindowHandler,c=r(12301).QueryEngineBase,u=new i({level:"info"});u.log=function(e,t,r,n){postMessage({type:"log",log:r+"\n"})};const l=new s(self);function d(e){t||(t=new c(r(14774)())),e.context.httpProxy&&(e.context.httpProxyHandler=new a(e.context.httpProxy)),e.context.workerSolidAuth&&(e.context.fetch=l.buildAuthenticatedFetch()),e.context.queryFormat&&(e.context.queryFormat={language:e.context.queryFormat})}var p={query:function(r){d(r),r.context.log=u,t.query(r.query,r.context).then((async function(t){postMessage({type:"queryInfo",queryType:t.resultType});var i="bindings"===t.resultType,a=r.resultsToTree;switch(t.resultType){case"quads":case"bindings":e=await t.execute();break;case"boolean":t.execute().then((function(e){postMessage({type:"result",result:e}),postMessage({type:"end"})})).catch(h);break;case"void":t.execute().then((function(){postMessage({type:"result",result:"Done"}),postMessage({type:"end"})})).catch(h)}e&&(a?o(e,t.context,{materializeRdfJsTerms:!0}).then((function(e){(Array.isArray(e)?e:[e]).forEach((function(e){postMessage({type:"result",result:{result:"\n"+JSON.stringify(e,null," ")}})})),postMessage({type:"end"})})).catch(h):(e.on("data",(function(e){e=i?Object.fromEntries([...e].map((([e,t])=>[n.termToString(e),n.termToString(t)]))):n.quadToStringQuad(e),postMessage({type:"result",result:e})})),e.on("end",(function(){postMessage({type:"end"})})),e.on("error",h)))})).catch(h)},stop:function(){e&&(e.destroy(),e=null)},getWebIdName:function({webId:e,context:r}){const n={query:`\nPREFIX foaf: \nSELECT ?name WHERE {\n <${e}> foaf:name ?name.\n}`,context:{...r,sources:[e],"@comunica/actor-rdf-resolve-hypermedia-links-traverse:traverse":!1}};d(n),n.context.log=u,t.queryBindings(n.query,n.context).then((function(e){e.toArray({limit:1}).then((e=>{e.length>0&&postMessage({type:"webIdName",name:e[0].get("name").value}),t.invalidateHttpCache()})).catch(h)})).catch(h)}};function h(e){e={message:e.message||e.toString()},postMessage({type:"error",error:e})}self.onmessage=function(e){l.onmessage(e)||p[e.data.type](e.data)}})(),n)this[i]=n[i];n.__esModule&&Object.defineProperty(this,"__esModule",{value:!0})})(); //# sourceMappingURL=ldf-client-worker.min.js.map \ No newline at end of file diff --git a/scripts/ldf-client-worker.min.js.map b/scripts/ldf-client-worker.min.js.map index 339c20c..dd1f9a1 100644 --- a/scripts/ldf-client-worker.min.js.map +++ b/scripts/ldf-client-worker.min.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts/ldf-client-worker.min.js","mappings":"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AAS52J,MAAM62J,UAAW,SAEnBD,EAAS52J,MAAM22J,SAGtB,IAAIG,EAAMF,GACVh0M,EAAUk0M,EAAI92J,OACd,QAAkB82J,EAAI92J,MACtBp9C,EAAQo9C,MAAQ82J,EAAI92J,MACpBp9C,EAAQ+uB,QAAUmlL,EAAInlL,QACtB/uB,EAAQ8/C,QAAUo0J,EAAIp0J,QACtB9/C,EAAQ+yM,SAAWmB,EAAInB,SACvBhzM,EAAOC,QAAUA,8BCxiBjB9C,OAAO+C,eAAeD,EAAS,aAAc,CAAEhE,OAAO,IACtDgE,EAAQm0M,eAAiBn0M,EAAQo0M,kBAAe,EAChDp0M,EAAQo0M,aAAe,IAAIjqM,IAAI,CAC3B,WACA,cACA,eACA,eACA,gBACA,mBACA,WACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,eACA,gBACA,WACA,iBACA,iBACA,YACF9I,KAAI,SAAU0X,GAAO,MAAO,CAACA,EAAIwZ,cAAexZ,EAAM,KACxD/Y,EAAQm0M,eAAiB,IAAIhqM,IAAI,CAC7B,gBACA,gBACA,gBACA,gBACA,cACA,WACA,gBACA,kBACA,WACA,cACA,WACA,oBACA,gBACA,eACA,mBACA,YACA,aACA,WACA,eACA,oBACA,eACA,cACA,cACA,mBACA,YACA,aACA,aACA,sBACA,mBACA,eACA,YACA,YACA,YACA,gBACA,sBACA,iBACA,OACA,OACA,cACA,YACA,qBACA,mBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,eACA,iBACA,cACA,UACA,UACA,aACA,UACA,aACA,mBACA,mBACA,cACF9I,KAAI,SAAU0X,GAAO,MAAO,CAACA,EAAIwZ,cAAexZ,EAAM,yCCrGxD,IAAIs7L,EAAYv4M,MAAQA,KAAKu4M,UAAa,WAStC,OARAA,EAAWn3M,OAAO4jB,QAAU,SAASG,GACjC,IAAK,IAAI/G,EAAG/c,EAAI,EAAGuB,EAAIszB,UAAU30B,OAAQF,EAAIuB,EAAGvB,IAE5C,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,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC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AW,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,KAAM,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,eAAgB,CAAC,EAAG,YAAa,CAAC,EAAG,y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,EAAE,IAAIC,EAAI,CAAC,IAAI,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,GAAG,GAAG,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIC,EAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,EAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,KAAKC,EAAI,CAAC,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAIC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,IAAIC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,IAAI,KAAKC,GAAK,CAAC,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,IAAIC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KACxvN3qN,GAAS,CAACg/E,MAAO,WAAoB,EACzC4rI,GAAI,CAAC,EACLC,SAAU,CAAC,MAAQ,EAAE,cAAgB,EAAE,SAAW,EAAE,qBAAuB,EAAE,IAAM,EAAE,MAAQ,EAAE,IAAM,EAAE,cAAgB,EAAE,qBAAuB,GAAG,SAAW,GAAG,KAAO,GAAG,OAAS,GAAG,WAAa,GAAG,OAAS,GAAG,SAAW,GAAG,qBAAuB,GAAG,gBAAkB,GAAG,YAAc,GAAG,wBAA0B,GAAG,iBAAmB,GAAG,gBAAkB,GAAG,iBAAmB,GAAG,UAAY,GAAG,kBAAoB,GAAG,gBAAkB,GAAG,gBAAkB,GAAG,MAAQ,GAAG,IAAI,GAAG,YAAc,GAAG,IAAI,GAAG,SAAW,GAAG,WAAa,GAAG,gBAAkB,GAAG,YAAc,GAAG,IAAM,GAAG,gBAAkB,GAAG,iBAAmB,GAAG,IAAI,GAAG,kCAAoC,GAAG,OAAS,GAAG,yBAA2B,GAAG,iBAAmB,GAAG,IAAM,GAAG,IAAI,GAAG,WAAa,GAAG,GAAK,GAAG,IAAI,GAAG,UAAY,GAAG,kBAAoB,GAAG,kBAAoB,GAAG,cAAgB,GAAG,KAAO,GAAG,sBAAwB,GAAG,IAAM,GAAG,oBAAsB,GAAG,kBAAoB,GAAG,yBAA2B,GAAG,gCAAkC,GAAG,gCAAkC,GAAG,gCAAkC,GAAG,YAAc,GAAG,MAAQ,GAAG,GAAK,GAAG,6BAA+B,GAAG,eAAiB,GAAG,YAAc,GAAG,aAAe,GAAG,aAAe,GAAG,OAAS,GAAG,8BAAgC,GAAG,YAAc,GAAG,MAAQ,GAAG,6BAA+B,GAAG,eAAiB,GAAG,IAAM,GAAG,qBAAuB,GAAG,KAAO,GAAG,WAAa,GAAG,mBAAqB,GAAG,MAAQ,GAAG,QAAU,GAAG,OAAS,GAAG,aAAe,GAAG,OAAS,GAAG,WAAa,GAAG,IAAM,GAAG,uBAAyB,GAAG,IAAM,GAAG,uBAAyB,GAAG,4BAA8B,GAAG,uBAAyB,GAAG,UAAY,GAAG,mBAAqB,GAAG,oCAAsC,GAAG,OAAS,GAAG,mBAAqB,GAAG,QAAU,GAAG,eAAiB,GAAG,KAAO,IAAI,gBAAkB,IAAI,gBAAkB,IAAI,eAAiB,IAAI,gBAAkB,IAAI,YAAc,IAAI,eAAiB,IAAI,gBAAkB,IAAI,eAAiB,IAAI,GAAK,IAAI,OAAS,IAAI,gBAAkB,IAAI,MAAQ,IAAI,WAAa,IAAI,YAAc,IAAI,WAAa,IAAI,YAAc,IAAI,gBAAkB,IAAI,mBAAqB,IAAI,oBAAsB,IAAI,gBAAkB,IAAI,KAAO,IAAI,SAAW,IAAI,OAAS,IAAI,2BAA6B,IAAI,aAAe,IAAI,OAAS,IAAI,YAAc,IAAI,MAAQ,IAAI,oBAAsB,IAAI,WAAa,IAAI,KAAO,IAAI,QAAU,IAAI,uBAAyB,IAAI,mBAAqB,IAAI,MAAQ,IAAI,cAAgB,IAAI,kBAAoB,IAAI,gBAAkB,IAAI,SAAW,IAAI,wBAA0B,IAAI,wBAA0B,IAAI,wBAA0B,IAAI,gBAAkB,IAAI,4BAA8B,IAAI,mBAAqB,IAAI,wBAA0B,IAAI,qBAAuB,IAAI,6BAA+B,IAAI,iCAAmC,IAAI,yBAA2B,IAAI,uBAAyB,IAAI,iCAAmC,IAAI,iCAAmC,IAAI,aAAe,IAAI,yBAA2B,IAAI,uBAAyB,IAAI,qBAAuB,IAAI,yBAA2B,IAAI,SAAW,IAAI,MAAQ,IAAI,QAAU,IAAI,+BAAiC,IAAI,OAAS,IAAI,KAAO,IAAI,iBAAmB,IAAI,eAAiB,IAAI,6BAA+B,IAAI,2BAA6B,IAAI,gCAAkC,IAAI,2BAA6B,IAAI,eAAiB,IAAI,QAAU,IAAI,aAAe,IAAI,MAAQ,IAAI,qCAAuC,IAAI,QAAU,IAAI,gBAAkB,IAAI,oBAAsB,IAAI,eAAiB,IAAI,2BAA6B,IAAI,0BAA4B,IAAI,iBAAmB,IAAI,6BAA+B,IAAI,yBAA2B,IAAI,oBAAsB,IAAI,qBAAuB,IAAI,YAAc,IAAI,aAAe,IAAI,qBAAuB,IAAI,eAAiB,IAAI,iCAAmC,IAAI,2BAA6B,IAAI,IAAI,IAAI,mCAAqC,IAAI,KAAO,IAAI,WAAa,IAAI,EAAI,IAAI,uBAAyB,IAAI,OAAS,IAAI,UAAY,IAAI,eAAiB,IAAI,yBAA2B,IAAI,gBAAkB,IAAI,+BAAiC,IAAI,EAAI,IAAI,qCAAuC,IAAI,6BAA+B,IAAI,SAAW,IAAI,eAAiB,IAAI,2BAA6B,IAAI,WAAa,IAAI,cAAgB,IAAI,mBAAqB,IAAI,KAAO,IAAI,iBAAmB,IAAI,aAAe,IAAI,yBAA2B,IAAI,iBAAmB,IAAI,QAAU,IAAI,YAAc,IAAI,gBAAkB,IAAI,yBAA2B,IAAI,OAAS,IAAI,IAAI,IAAI,uBAAyB,IAAI,qBAAuB,IAAI,mCAAqC,IAAI,+BAAiC,IAAI,IAAI,IAAI,6BAA+B,IAAI,IAAI,IAAI,IAAI,IAAI,iCAAmC,IAAI,wBAA0B,IAAI,UAAY,IAAI,UAAY,IAAI,UAAY,IAAI,wBAA0B,IAAI,yBAA2B,IAAI,oCAAsC,IAAI,4BAA8B,IAAI,KAAK,IAAI,qBAAuB,IAAI,qCAAuC,IAAI,6BAA+B,IAAI,KAAK,IAAI,kBAAoB,IAAI,4BAA8B,IAAI,6BAA+B,IAAI,GAAK,IAAI,yBAA2B,IAAI,8BAAgC,IAAI,uBAAyB,IAAI,8BAAgC,IAAI,uBAAyB,IAAI,mCAAqC,IAAI,uBAAyB,IAAI,mCAAqC,IAAI,gBAAkB,IAAI,qCAAuC,IAAI,6BAA+B,IAAI,oCAAsC,IAAI,IAAI,IAAI,kBAAoB,IAAI,IAAI,IAAI,aAAe,IAAI,UAAY,IAAI,YAAc,IAAI,YAAc,IAAI,wBAA0B,IAAI,YAAc,IAAI,IAAI,IAAI,YAAc,IAAI,wBAA0B,IAAI,mBAAqB,IAAI,MAAQ,IAAI,MAAQ,IAAI,oBAAsB,IAAI,OAAS,IAAI,MAAQ,IAAI,kBAAoB,IAAI,iBAAmB,IAAI,eAAiB,IAAI,kBAAoB,IAAI,aAAe,IAAI,kBAAoB,IAAI,kBAAoB,IAAI,qBAAuB,IAAI,UAAY,IAAI,IAAI,IAAI,OAAS,IAAI,QAAU,IAAI,KAAK,IAAI,QAAU,IAAI,OAAS,IAAI,QAAU,IAAI,iBAAmB,IAAI,iBAAmB,IAAI,gBAAkB,IAAI,iBAAmB,IAAI,iBAAmB,IAAI,gBAAkB,IAAI,gBAAkB,IAAI,gBAAkB,IAAI,qBAAuB,IAAI,qBAAuB,IAAI,aAAe,IAAI,SAAW,IAAI,iBAAmB,IAAI,KAAO,IAAI,SAAW,IAAI,KAAK,IAAI,kBAAoB,IAAI,KAAK,IAAI,cAAgB,IAAI,kBAAoB,IAAI,KAAK,IAAI,KAAK,IAAI,sBAAwB,IAAI,cAAgB,IAAI,6BAA+B,IAAI,4BAA8B,IAAI,4BAA8B,IAAI,gCAAkC,IAAI,SAAW,IAAI,QAAU,IAAI,MAAQ,IAAI,OAAS,IAAI,MAAQ,IAAI,KAAO,IAAI,IAAM,IAAI,KAAO,IAAI,KAAO,IAAI,IAAM,IAAI,IAAI,IAAI,MAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,uBAAyB,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAM,IAAI,OAAS,IAAI,SAAW,IAAI,OAAS,IAAI,MAAQ,IAAI,QAAU,IAAI,QAAU,EAAE,KAAO,GACroOC,WAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,IAAI,OAAO,IAAI,KAAK,IAAI,SAAS,IAAI,QAAQ,IAAI,aAAa,IAAI,aAAa,IAAI,cAAc,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,IAAI,QAAQ,IAAI,OAAO,IAAI,UAAU,IAAI,WAAW,IAAI,QAAQ,IAAI,UAAU,IAAI,SAAS,IAAI,OAAO,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,cAAc,IAAI,cAAc,IAAI,0BAA0B,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,0BAA0B,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,iBAAiB,IAAI,eAAe,IAAI,YAAY,IAAI,IAAI,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,mBAAmB,IAAI,mBAAmB,IAAI,kBAAkB,IAAI,mBAAmB,IAAI,mBAAmB,IAAI,kBAAkB,IAAI,kBAAkB,IAAI,kBAAkB,IAAI,uBAAuB,IAAI,uBAAuB,IAAI,WAAW,IAAI,mBAAmB,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,WAAW,IAAI,UAAU,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,IAAI,QAAQ,IAAI,WAChiDC,aAAc,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,IAChhHC,cAAe,SAAmBC,EAAQC,EAAQC,EAAUP,EAAIQ,EAAy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O,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,GAEhB,KAAK,IAAI,OAAO,GAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,GAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,GAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,IAEhB,KAAK,IAAI,OAAO,IAEhB,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AAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,EAAE,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,IAAIC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,KAAKC,EAAI,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AAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,G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,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,KAAKC,EAAI,CAAC,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,IAAI,IAAI,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,IAAI,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,EAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAIC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,EAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAI,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,IAAIC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,IAAI,KAAKC,GAAK,CAAC,GAAG,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,IAAIC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,IAAIC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,IAAI,IAAI,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,KAAKC,GAAK,CAAC,EAAE,KAAKC,GAAK,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI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,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI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AG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,GAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GAAG,OAAO,IAEf,KAAK,GA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","sources":["webpack://@comunica/web-client-generator/./node_modules/@bergos/jsonparse/jsonparse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-abstract-mediatyped/lib/ActorAbstractMediaTyped.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-abstract-mediatyped/lib/ActorAbstractMediaTypedFixed.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-abstract-mediatyped/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-abstract-path/lib/ActorAbstractPath.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-abstract-path/lib/PathVariableObjectIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-abstract-path/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-average/lib/ActorBindingsAggregatorFactoryAverage.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-average/lib/AverageAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-average/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/lib/ActorBindingsAggregatorFactoryCount.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/lib/CountAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/node_modules/sparqlalgebrajs/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/node_modules/sparqlalgebrajs/lib/algebra.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/node_modules/sparqlalgebrajs/lib/factory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/node_modules/sparqlalgebrajs/lib/sparql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/node_modules/sparqlalgebrajs/lib/sparqlAlgebra.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-count/node_modules/sparqlalgebrajs/lib/util.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-group-concat/lib/ActorBindingsAggregatorFactoryGroupConcat.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-group-concat/lib/GroupConcatAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-group-concat/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-max/lib/ActorBindingsAggregatorFactoryMax.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-max/lib/MaxAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-max/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-min/lib/ActorBindingsAggregatorFactoryMin.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-min/lib/MinAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-min/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-sample/lib/ActorBindingsAggregatorFactorySample.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-sample/lib/SampleAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-sample/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-sum/lib/ActorBindingsAggregatorFactorySum.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-sum/lib/SumAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-sum/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-wildcard-count/lib/ActorBindingsAggregatorFactoryWildcardCount.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-wildcard-count/lib/WildcardCountAggregator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-bindings-aggregator-factory-wildcard-count/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-convert-shortcuts/lib/ActorContextPreprocessConvertShortcuts.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-convert-shortcuts/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-query-source-identify/lib/ActorContextPreprocessQuerySourceIdentify.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-query-source-identify/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-query-source-skolemize/lib/ActorContextPreprocessQuerySourceSkolemize.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-query-source-skolemize/lib/QuerySourceSkolemized.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-query-source-skolemize/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-query-source-skolemize/lib/utils.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-set-defaults/lib/ActorContextPreprocessSetDefaults.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-set-defaults/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-source-to-destination/lib/ActorContextPreprocessSourceToDestination.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-context-preprocess-source-to-destination/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-fallback/lib/ActorDereferenceFallback.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-fallback/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-http/lib/ActorDereferenceHttp-browser.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-http/lib/ActorDereferenceHttpBase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-http/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-rdf-parse/lib/ActorDereferenceRdfParse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-dereference-rdf-parse/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-expression-evaluator-factory-default/lib/ActorExpressionEvaluatorFactoryDefault.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-expression-evaluator-factory-default/lib/AlgebraTransformer.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-expression-evaluator-factory-default/lib/ExpressionEvaluator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-expression-evaluator-factory-default/lib/InternalEvaluator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-expression-evaluator-factory-default/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-bnode/lib/ActorFunctionFactoryExpressionBnode.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-bnode/lib/ExpressionFunctionBnode.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-bnode/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-bound/lib/ActorFunctionFactoryExpressionBound.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-bound/lib/ExpressionFunctionBound.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-bound/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-coalesce/lib/ActorFunctionFactoryExpressionCoalesce.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-coalesce/lib/ExpressionFunctionCoalesce.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-coalesce/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-concat/lib/ActorFunctionFactoryExpressionConcat.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-concat/lib/ExpressionFunctionConcat.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-concat/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-extensions/lib/ActorFunctionFactoryExpressionExtensions.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-extensions/lib/NamedExtension.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-extensions/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-if/lib/ActorFunctionFactoryExpressionIf.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-if/lib/ExpressionFunctionIf.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-if/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-in/lib/ActorFunctionFactoryExpressionIn.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-in/lib/ExpressionFunctionIn.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-in/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-logical-and/lib/ActorFunctionFactoryExpressionLogicalAnd.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-logical-and/lib/ExpressionFunctionLogicalAnd.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-logical-and/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-logical-or/lib/ActorFunctionFactoryExpressionLogicalOr.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-logical-or/lib/ExpressionFunctionLogicalOr.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-logical-or/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-not-in/lib/ActorFunctionFactoryExpressionNotIn.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-not-in/lib/ExpressionFunctionNotIn.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-not-in/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-same-term/lib/ActorFunctionFactoryExpressionSameTerm.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-same-term/lib/ExpressionFunctionSameTerm.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-expression-same-term/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-abs/lib/ActorFunctionFactoryTermAbs.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-abs/lib/TermFunctionAbs.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-abs/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-addition/lib/ActorFunctionFactoryTermAddition.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-addition/lib/TermFunctionAddition.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-addition/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-ceil/lib/ActorFunctionFactoryTermCeil.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-ceil/lib/TermFunctionCeil.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-ceil/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-contains/lib/ActorFunctionFactoryTermContains.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-contains/lib/TermFunctionContains.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-contains/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-datatype/lib/ActorFunctionFactoryTermDatatype.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-datatype/lib/TermFunctionDatatype.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-datatype/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-day/lib/ActorFunctionFactoryTermDay.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-day/lib/TermFunctionDay.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-day/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-division/lib/ActorFunctionFactoryTermDivision.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-division/lib/TermFunctionDivision.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-division/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-encode-for-uri/lib/ActorFunctionFactoryTermEncodeForUri.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-encode-for-uri/lib/TermFunctionEncodeForUri.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-encode-for-uri/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-equality/lib/ActorFunctionFactoryTermEquality.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-equality/lib/TermFunctionEquality.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-equality/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-floor/lib/ActorFunctionFactoryTermFloor.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-floor/lib/TermFunctionFloor.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-floor/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-greater-than-equal/lib/ActorFunctionFactoryTermGreaterThanEqual.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-greater-than-equal/lib/TermFunctionGreaterThanEqual.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-greater-than-equal/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-greater-than/lib/ActorFunctionFactoryTermGreaterThan.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-greater-than/lib/TermFunctionGreaterThan.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-greater-than/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-hours/lib/ActorFunctionFactoryTermHours.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-hours/lib/TermFunctionHours.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-hours/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-inequality/lib/ActorFunctionFactoryTermInequality.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-inequality/lib/TermFunctionInequality.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-inequality/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-iri/lib/ActorFunctionFactoryTermIri.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-iri/lib/TermFunctionIri.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-iri/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-blank/lib/ActorFunctionFactoryTermIsBlank.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-blank/lib/TermFunctionIsBlank.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-blank/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-iri/lib/ActorFunctionFactoryTermIsIri.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-iri/lib/TermFunctionIsIri.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-iri/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-literal/lib/ActorFunctionFactoryTermIsLiteral.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-literal/lib/TermFunctionIsLiteral.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-literal/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-numeric/lib/ActorFunctionFactoryTermIsNumeric.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-numeric/lib/TermFunctionIsNumeric.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-numeric/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-triple/lib/ActorFunctionFactoryTermIsTriple.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-triple/lib/TermFunctionIsTriple.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-is-triple/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lang/lib/ActorFunctionFactoryTermLang.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lang/lib/TermFunctionLang.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lang/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-langmatches/lib/ActorFunctionFactoryTermLangmatches.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-langmatches/lib/TermFunctionLangmatches.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-langmatches/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lcase/lib/ActorFunctionFactoryTermLcase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lcase/lib/TermFunctionLcase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lcase/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lesser-than-equal/lib/ActorFunctionFactoryTermLesserThanEqual.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lesser-than-equal/lib/TermFunctionLesserThanEqual.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lesser-than-equal/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lesser-than/lib/ActorFunctionFactoryTermLesserThan.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lesser-than/lib/TermFunctionLesserThan.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-lesser-than/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-md5/lib/ActorFunctionFactoryTermMd5.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-md5/lib/TermFunctionMd5.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-md5/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-minutes/lib/ActorFunctionFactoryTermMinutes.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-minutes/lib/TermFunctionMinutes.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-minutes/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-month/lib/ActorFunctionFactoryTermMonth.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-month/lib/TermFunctionMonth.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-month/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-multiplication/lib/ActorFunctionFactoryTermMultiplication.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-multiplication/lib/TermFunctionMultiplication.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-multiplication/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-not/lib/ActorFunctionFactoryTermNot.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-not/lib/TermFunctionNot.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-not/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-now/lib/ActorFunctionFactoryTermNow.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-now/lib/TermFunctionNow.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-now/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-object/lib/ActorFunctionFactoryTermObject.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-object/lib/TermFunctionObject.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-object/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-predicate/lib/ActorFunctionFactoryTermPredicate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-predicate/lib/TermFunctionPredicate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-predicate/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-rand/lib/ActorFunctionFactoryTermRand.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-rand/lib/TermFunctionRand.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-rand/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-regex/lib/ActorFunctionFactoryTermRegex.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-regex/lib/TermFunctionRegex.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-regex/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-replace/lib/ActorFunctionFactoryTermReplace.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-replace/lib/TermFunctionReplace.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-replace/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-round/lib/ActorFunctionFactoryTermRound.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-round/lib/TermFunctionRound.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-round/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-seconds/lib/ActorFunctionFactoryTermSeconds.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-seconds/lib/TermFunctionSeconds.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-seconds/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha1/lib/ActorFunctionFactoryTermSha1.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha1/lib/TermFunctionSha1.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha1/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha256/lib/ActorFunctionFactoryTermSha256.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha256/lib/TermFunctionSha256.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha256/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha384/lib/ActorFunctionFactoryTermSha384.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha384/lib/TermFunctionSha384.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha384/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha512/lib/ActorFunctionFactoryTermSha512.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha512/lib/TermFunctionSha512.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sha512/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-after/lib/ActorFunctionFactoryTermStrAfter.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-after/lib/TermFunctionStrAfter.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-after/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-before/lib/ActorFunctionFactoryTermStrBefore.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-before/lib/TermFunctionStrBefore.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-before/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-dt/lib/ActorFunctionFactoryTermStrDt.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-dt/lib/TermFunctionStrDt.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-dt/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-ends/lib/ActorFunctionFactoryTermStrEnds.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-ends/lib/TermFunctionStrEnds.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-ends/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-lang/lib/ActorFunctionFactoryTermStrLang.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-lang/lib/TermFunctionStrLang.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-lang/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-len/lib/ActorFunctionFactoryTermStrLen.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-len/lib/TermFunctionStrLen.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-len/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-starts/lib/ActorFunctionFactoryTermStrStarts.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-starts/lib/TermFunctionStrStarts.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-starts/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/lib/ActorFunctionFactoryTermStrUuid.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/lib/TermFunctionStrUuid.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/md5.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/native.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/nil.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/parse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/regex.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/rng.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/sha1.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/stringify.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/v1.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/v3.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/v35.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/v4.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/v5.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/validate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str-uuid/node_modules/uuid/dist/commonjs-browser/version.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str/lib/ActorFunctionFactoryTermStr.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str/lib/TermFunctionStr.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-str/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sub-str/lib/ActorFunctionFactoryTermSubStr.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sub-str/lib/TermFunctionSubStr.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-sub-str/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-subject/lib/ActorFunctionFactoryTermSubject.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-subject/lib/TermFunctionSubject.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-subject/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-subtraction/lib/ActorFunctionFactoryTermSubtraction.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-subtraction/lib/TermFunctionSubtraction.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-subtraction/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-timezone/lib/ActorFunctionFactoryTermTimezone.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-timezone/lib/TermFunctionTimezone.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-timezone/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-triple/lib/ActorFunctionFactoryTermTriple.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-triple/lib/TermFunctionTriple.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-triple/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-tz/lib/ActorFunctionFactoryTermTz.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-tz/lib/TermFunctionTz.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-tz/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-ucase/lib/ActorFunctionFactoryTermUcase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-ucase/lib/TermFunctionUcase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-ucase/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-unary-minus/lib/ActorFunctionFactoryTermUnaryMinus.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-unary-minus/lib/TermFunctionUnaryMinus.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-unary-minus/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-unary-plus/lib/ActorFunctionFactoryTermUnaryPlus.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-unary-plus/lib/TermFunctionUnaryPlus.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-unary-plus/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/lib/ActorFunctionFactoryTermUuid.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/lib/TermFunctionUuid.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/md5.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/native.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/nil.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/parse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/regex.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/rng.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/sha1.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/stringify.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/v1.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/v3.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/v35.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/v4.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/v5.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/validate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-uuid/node_modules/uuid/dist/commonjs-browser/version.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-boolean/lib/ActorFunctionFactoryTermXsdToBoolean.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-boolean/lib/TermFunctionXsdToBoolean.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-boolean/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-date/lib/ActorFunctionFactoryTermXsdToDate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-date/lib/TermFunctionXsdToDate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-date/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-datetime/lib/ActorFunctionFactoryTermXsdToDatetime.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-datetime/lib/TermFunctionXsdToDatetime.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-datetime/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-day-time-duration/lib/ActorFunctionFactoryTermXsdToDayTimeDuration.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-day-time-duration/lib/TermFunctionXsdToDayTimeDuration.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-day-time-duration/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-decimal/lib/ActorFunctionFactoryTermXsdToDecimal.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-decimal/lib/TermFunctionXsdToDecimal.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-decimal/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-double/lib/ActorFunctionFactoryTermXsdToDouble.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-double/lib/TermFunctionXsdToDouble.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-double/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-duration/lib/ActorFunctionFactoryTermXsdToDuration.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-duration/lib/TermFunctionXsdToDuration.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-duration/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-float/lib/ActorFunctionFactoryTermXsdToFloat.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-float/lib/TermFunctionXsdToFloat.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-float/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-integer/lib/ActorFunctionFactoryTermXsdToInteger.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-integer/lib/TermFunctionXsdToInteger.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-integer/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-string/lib/ActorFunctionFactoryTermXsdToString.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-string/lib/TermFunctionXsdToString.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-string/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-time/lib/ActorFunctionFactoryTermXsdToTime.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-time/lib/TermFunctionXsdToTime.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-time/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-year-month-duration/lib/ActorFunctionFactoryTermXsdToYearMonthDuration.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-year-month-duration/lib/TermFunctionXsdToYearMonthDuration.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-xsd-to-year-month-duration/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-year/lib/ActorFunctionFactoryTermYear.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-year/lib/TermFunctionYear.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-function-factory-term-year/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-hash-bindings-murmur/lib/ActorHashBindingsMurmur.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-hash-bindings-murmur/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-hash-quads-murmur/lib/ActorHashQuadsMurmur.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-hash-quads-murmur/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-fetch/lib/ActorHttpFetch.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-fetch/lib/FetchInitPreprocessor-browser.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-fetch/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-proxy/lib/ActorHttpProxy.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-proxy/lib/ProxyHandlerStatic.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-proxy/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-retry/lib/ActorHttpRetry.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-retry/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-wayback/lib/ActorHttpWayback.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-http-wayback/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-init-query/lib/ActorInitQuery-browser.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-init-query/lib/ActorInitQueryBase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-init-query/lib/QueryEngineBase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-init-query/lib/index-browser.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/lib/ActorOptimizeQueryOperationAssignSourcesExhaustive.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-bgp-to-join/lib/ActorOptimizeQueryOperationBgpToJoin.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-bgp-to-join/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-construct-distinct/lib/ActorOptimizeQueryOperationConstructDistinct.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-construct-distinct/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-describe-to-constructs-subject/lib/ActorOptimizeQueryOperationDescribeToConstructsSubject.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-describe-to-constructs-subject/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-filter-pushdown/lib/ActorOptimizeQueryOperationFilterPushdown.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-filter-pushdown/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-group-sources/lib/ActorOptimizeQueryOperationGroupSources.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-group-sources/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-join-bgp/lib/ActorOptimizeQueryOperationJoinBgp.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-join-bgp/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-join-connected/lib/ActorOptimizeQueryOperationJoinConnected.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-join-connected/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-prune-empty-source-operations/lib/ActorOptimizeQueryOperationPruneEmptySourceOperations.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-prune-empty-source-operations/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-rewrite-add/lib/ActorOptimizeQueryOperationRewriteAdd.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-rewrite-add/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-rewrite-copy/lib/ActorOptimizeQueryOperationRewriteCopy.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-rewrite-copy/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-rewrite-move/lib/ActorOptimizeQueryOperationRewriteMove.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-optimize-query-operation-rewrite-move/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-ask/lib/ActorQueryOperationAsk.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-ask/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-bgp-join/lib/ActorQueryOperationBgpJoin.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-bgp-join/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-construct/lib/ActorQueryOperationConstruct.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-construct/lib/BindingsToQuadsIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-construct/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-distinct-hash/lib/ActorQueryOperationDistinctHash.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-distinct-hash/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-extend/lib/ActorQueryOperationExtend.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-extend/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-filter/lib/ActorQueryOperationFilter.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-filter/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-from-quad/lib/ActorQueryOperationFromQuad.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-from-quad/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-group/lib/ActorQueryOperationGroup.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-group/lib/GroupsState.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-group/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-join/lib/ActorQueryOperationJoin.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-join/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-leftjoin/lib/ActorQueryOperationLeftJoin.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-leftjoin/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-minus/lib/ActorQueryOperationMinus.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-minus/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-nop/lib/ActorQueryOperationNop.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-nop/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-orderby/lib/ActorQueryOperationOrderBy.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-orderby/lib/SortIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-orderby/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-alt/lib/ActorQueryOperationPathAlt.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-alt/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-inv/lib/ActorQueryOperationPathInv.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-inv/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-link/lib/ActorQueryOperationPathLink.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-link/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-nps/lib/ActorQueryOperationPathNps.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-nps/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-one-or-more/lib/ActorQueryOperationPathOneOrMore.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-one-or-more/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-seq/lib/ActorQueryOperationPathSeq.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-seq/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-zero-or-more/lib/ActorQueryOperationPathZeroOrMore.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-zero-or-more/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-zero-or-one/lib/ActorQueryOperationPathZeroOrOne.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-path-zero-or-one/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-project/lib/ActorQueryOperationProject.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-project/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-reduced-hash/lib/ActorQueryOperationReducedHash.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-reduced-hash/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-service/lib/ActorQueryOperationService.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-service/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-slice/lib/ActorQueryOperationSlice.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-slice/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-source/lib/ActorQueryOperationSource.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-source/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-union/lib/ActorQueryOperationUnion.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-union/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-clear/lib/ActorQueryOperationClear.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-clear/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-compositeupdate/lib/ActorQueryOperationUpdateCompositeUpdate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-compositeupdate/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-create/lib/ActorQueryOperationCreate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-create/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-deleteinsert/lib/ActorQueryOperationUpdateDeleteInsert.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-deleteinsert/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-drop/lib/ActorQueryOperationDrop.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-drop/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-load/lib/ActorQueryOperationLoad.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-update-load/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-values/lib/ActorQueryOperationValues.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-operation-values/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-parse-graphql/lib/ActorQueryParseGraphql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-parse-graphql/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-parse-sparql/lib/ActorQueryParseSparql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-parse-sparql/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-logical/lib/ActorQueryProcessExplainLogical.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-logical/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-parsed/lib/ActorQueryProcessExplainParsed.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-parsed/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-physical/lib/ActorQueryProcessExplainPhysical.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-physical/lib/MemoryPhysicalQueryPlanLogger.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-explain-physical/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-sequential/lib/ActorQueryProcessSequential.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-process-sequential/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-json/lib/ActorQueryResultSerializeJson.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-json/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-rdf/lib/ActorQueryResultSerializeRdf.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-rdf/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-simple/lib/ActorQueryResultSerializeSimple.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-simple/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-csv/lib/ActorQueryResultSerializeSparqlCsv.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-csv/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-json/lib/ActionObserverHttp.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-json/lib/ActorQueryResultSerializeSparqlJson.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-json/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-tsv/lib/ActorQueryResultSerializeSparqlTsv.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-tsv/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-xml/lib/ActorQueryResultSerializeSparqlXml.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-xml/lib/XmlSerializer.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-sparql-xml/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-stats/lib/ActionObserverHttp.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-stats/lib/ActorQueryResultSerializeStats.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-stats/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-table/lib/ActorQueryResultSerializeTable.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-table/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-tree/lib/ActorQueryResultSerializeTree.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-result-serialize-tree/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-none/lib/ActorQuerySourceIdentifyHypermediaNone.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-none/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-qpf/lib/ActorQuerySourceIdentifyHypermediaQpf.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-qpf/lib/QuerySourceQpf.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-qpf/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-sparql/lib/ActorQuerySourceIdentifyHypermediaSparql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-sparql/lib/QuerySourceSparql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia-sparql/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia/lib/ActorQuerySourceIdentifyHypermedia.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia/lib/LinkedRdfSourcesAsyncRdfIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia/lib/MediatedLinkedRdfSourcesAsyncRdfIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia/lib/QuerySourceHypermedia.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia/lib/StreamingStoreMetadata.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-hypermedia/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-rdfjs/lib/ActorQuerySourceIdentifyRdfJs.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-rdfjs/lib/IRdfJsSourceExtended.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-rdfjs/lib/QuerySourceRdfJs.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-rdfjs/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-serialized/lib/ActorQuerySourceIdentifySerialized.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-query-source-identify-serialized/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-entries-sort-cardinality/lib/ActorRdfJoinEntriesSortCardinality.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-entries-sort-cardinality/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-hash/lib/ActorRdfJoinHash.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-hash/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-bind-source/lib/ActorRdfJoinMultiBindSource.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-bind-source/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-bind/lib/ActorRdfJoinMultiBind.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-bind/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-empty/lib/ActorRdfJoinMultiEmpty.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-empty/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-smallest-filter-bindings/lib/ActorRdfJoinMultiSmallestFilterBindings.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-smallest-filter-bindings/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-smallest/lib/ActorRdfJoinMultiSmallest.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-multi-smallest/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-nestedloop/lib/ActorRdfJoinNestedLoop.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-nestedloop/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-none/lib/ActorRdfJoinNone.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-none/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-single/lib/ActorRdfJoinSingle.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-single/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-symmetrichash/lib/ActorRdfJoinSymmetricHash.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-inner-symmetrichash/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-minus-hash/lib/ActorRdfJoinMinusHash.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-minus-hash/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-optional-bind/lib/ActorRdfJoinOptionalBind.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-optional-bind/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-optional-hash/lib/ActorRdfJoinOptionalHash.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-optional-hash/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-optional-nestedloop/lib/ActorRdfJoinOptionalNestedLoop.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-optional-nestedloop/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-selectivity-variable-counting/lib/ActorRdfJoinSelectivityVariableCounting.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-join-selectivity-variable-counting/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-accumulate-cardinality/lib/ActorRdfMetadataAccumulateCardinality.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-accumulate-cardinality/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-accumulate-pagesize/lib/ActorRdfMetadataAccumulatePageSize.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-accumulate-pagesize/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-accumulate-requesttime/lib/ActorRdfMetadataAccumulateRequestTime.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-accumulate-requesttime/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-all/lib/ActorRdfMetadataAll.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-all/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods/lib/ActorRdfMetadataExtractAllowHttpMethods.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls/lib/ActorRdfMetadataExtractHydraControls.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-hydra-count/lib/ActorRdfMetadataExtractHydraCount.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-hydra-count/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize/lib/ActorRdfMetadataExtractHydraPagesize.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update/lib/ActorRdfMetadataExtractPatchSparqlUpdate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-put-accepted/lib/ActorRdfMetadataExtractPutAccepted.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-put-accepted/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-request-time/lib/ActorRdfMetadataExtractRequestTime.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-request-time/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-sparql-service/lib/ActorRdfMetadataExtractSparqlService.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-extract-sparql-service/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-primary-topic/lib/ActorRdfMetadataPrimaryTopic.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-metadata-primary-topic/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-microdata/lib/ActorRdfParseHtmlMicrodata.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-microdata/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-microdata/node_modules/@comunica/bus-rdf-parse-html/lib/ActorRdfParseHtml.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-microdata/node_modules/@comunica/bus-rdf-parse-html/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-rdfa/lib/ActorRdfParseHtmlRdfa.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-rdfa/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-rdfa/node_modules/@comunica/bus-rdf-parse-html/lib/ActorRdfParseHtml.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-rdfa/node_modules/@comunica/bus-rdf-parse-html/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-script/lib/ActorRdfParseHtmlScript.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-script/lib/HtmlScriptListener.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-script/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-script/node_modules/@comunica/bus-rdf-parse-html/lib/ActorRdfParseHtml.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html-script/node_modules/@comunica/bus-rdf-parse-html/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html/lib/ActorRdfParseHtml.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html/node_modules/htmlparser2/lib/Parser.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html/node_modules/htmlparser2/lib/Tokenizer.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-html/node_modules/htmlparser2/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-jsonld/lib/ActorRdfParseJsonLd.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-jsonld/lib/DocumentLoaderMediated.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-jsonld/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-n3/lib/ActorRdfParseN3.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-n3/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-rdfxml/lib/ActorRdfParseRdfXml.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-rdfxml/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-shaclc/lib/ActorRdfParseShaclc.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-shaclc/lib/PrefixWrappingIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-shaclc/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-xml-rdfa/lib/ActorRdfParseXmlRdfa.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-parse-xml-rdfa/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next/lib/ActorRdfResolveHypermediaLinksNext.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/lib/ActorRdfResolveHypermediaLinksQueueFifo.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/lib/LinkQueueFifo.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-jsonld/lib/ActorRdfSerializeJsonLd.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-jsonld/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-n3/lib/ActorRdfSerializeN3.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-n3/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-shaclc/lib/ActorRdfSerializeShaclc.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-shaclc/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-serialize-shaclc/node_modules/arrayify-stream/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/lib/ActorRdfUpdateHypermediaPatchSparqlUpdate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/lib/QuadDestinationPatchSparqlUpdate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp/lib/ActorRdfUpdateHypermediaPutLdp.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp/lib/QuadDestinationPutLdp.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-sparql/lib/ActorRdfUpdateHypermediaSparql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-sparql/lib/QuadDestinationSparql.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-hypermedia-sparql/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-quads-hypermedia/lib/ActorRdfUpdateQuadsHypermedia.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-quads-hypermedia/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-quads-rdfjs-store/lib/ActorRdfUpdateQuadsRdfJsStore.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-quads-rdfjs-store/lib/RdfJsQuadDestination.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-rdf-update-quads-rdfjs-store/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-term-comparator-factory-expression-evaluator/lib/ActorTermComparatorFactoryExpressionEvaluator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-term-comparator-factory-expression-evaluator/lib/TermComparatorExpressionEvaluator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/actor-term-comparator-factory-expression-evaluator/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-bindings-aggregator-factory/lib/ActorBindingsAggregatorFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-bindings-aggregator-factory/lib/AggregateEvaluator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-bindings-aggregator-factory/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-context-preprocess/lib/ActorContextPreprocess.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-context-preprocess/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-dereference-rdf/lib/ActorDereferenceRdf.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-dereference-rdf/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-dereference/lib/ActorDereference.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-dereference/lib/ActorDereferenceBase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-dereference/lib/ActorDereferenceParse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-dereference/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-expression-evaluator-factory/lib/ActorExpressionEvaluatorFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-expression-evaluator-factory/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-function-factory/lib/ActorFunctionFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-function-factory/lib/ActorFunctionFactoryDedicated.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-function-factory/lib/BusFunctionFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-function-factory/lib/implementation/Core.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-function-factory/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-hash-bindings/lib/ActorHashBindings.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-hash-bindings/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-hash-quads/lib/ActorHashQuads.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-hash-quads/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-http-invalidate/lib/ActorHttpInvalidate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-http-invalidate/lib/ActorHttpInvalidateListenable.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-http-invalidate/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-http/lib/ActorHttp.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-http/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-http/lib/utils.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-init/lib/ActorInit.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-init/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-optimize-query-operation/lib/ActorOptimizeQueryOperation.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-optimize-query-operation/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-operation/lib/ActorQueryOperation.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-operation/lib/ActorQueryOperationTyped.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-operation/lib/ActorQueryOperationTypedMediated.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-operation/lib/BusQueryOperation.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-operation/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-parse/lib/ActorQueryParse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-parse/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-process/lib/ActorQueryProcess.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-process/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-result-serialize/lib/ActorQueryResultSerialize.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-result-serialize/lib/ActorQueryResultSerializeFixedMediaTypes.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-result-serialize/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-source-identify-hypermedia/lib/ActorQuerySourceIdentifyHypermedia.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-source-identify-hypermedia/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-source-identify/lib/ActorQuerySourceIdentify.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-source-identify/lib/Utils.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-query-source-identify/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-join-entries-sort/lib/ActorRdfJoinEntriesSort.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-join-entries-sort/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-join-selectivity/lib/ActorRdfJoinSelectivity.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-join-selectivity/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-join/lib/ActorRdfJoin.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-join/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-metadata-accumulate/lib/ActorRdfMetadataAccumulate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-metadata-accumulate/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-metadata-extract/lib/ActorRdfMetadataExtract.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-metadata-extract/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-metadata/lib/ActorRdfMetadata.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-metadata/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-parse/lib/ActorRdfParse.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-parse/lib/ActorRdfParseFixedMediaTypes.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-parse/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue/lib/ActorRdfResolveHypermediaLinksQueue.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue/lib/ILinkQueue.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue/lib/LinkQueueWrapper.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-resolve-hypermedia-links/lib/ActorRdfResolveHypermediaLinks.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-resolve-hypermedia-links/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-serialize/lib/ActorRdfSerialize.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-serialize/lib/ActorRdfSerializeFixedMediaTypes.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-serialize/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-hypermedia/lib/ActorRdfUpdateHypermedia.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-hypermedia/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-quads/lib/ActorRdfUpdateQuads.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-quads/lib/ActorRdfUpdateQuadsDestination.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-quads/lib/IQuadDestination.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-quads/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-rdf-update-quads/lib/utils.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-term-comparator-factory/lib/ActorTermComparatorFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/bus-term-comparator-factory/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/context-entries/lib/Keys.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/context-entries/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/ActionContext.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/ActionObserver.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/Actor.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/Bus.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/BusIndexed.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/ContextEntries.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/Mediator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/TestResult.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/core/node_modules/immutable/dist/immutable.es.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/logger-pretty/lib/LoggerPretty.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/logger-pretty/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/logger-void/lib/LoggerVoid.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/logger-void/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-all/lib/MediatorAll.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-all/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-combine-pipeline/lib/MediatorCombinePipeline.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-combine-pipeline/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-combine-union/lib/MediatorCombineUnion.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-combine-union/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-join-coefficients-fixed/lib/MediatorJoinCoefficientsFixed.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-join-coefficients-fixed/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-number/lib/MediatorNumber.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-number/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-race/lib/MediatorRace.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/mediator-race/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/Bindings.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/ComunicaDataFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/ExpressionEvaluator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IActionContext.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IAggregatedStore.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/ICliArgsHandler.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IDataDestination.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IJoinEntry.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/ILink.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IMetadata.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IPhysicalQueryPlanLogger.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IProxyHandler.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IQueryContext.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IQueryEngine.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IQueryOperationResult.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/IQuerySource.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/Logger.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/statistics/IDiscoverEventData.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/types/lib/statistics/IStatisticBase.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-factory/lib/Bindings.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-factory/lib/BindingsFactory.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-factory/lib/bindingsToString.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-factory/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-index/lib/BindingsIndexDef.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-index/lib/BindingsIndexUndef.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-index/lib/IBindingsIndex.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-bindings-index/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-data-factory/lib/BlankNodeBindingsScoped.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-data-factory/lib/BlankNodeScoped.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-data-factory/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/Aggregate.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/Existence.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/Expressions.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/Operator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/Term.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/Variable.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/expressions/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/functions/Helpers.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/functions/OverloadTree.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/transformers/TermTransformer.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/Consts.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/Context.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/DateTimeHelpers.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/Errors.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/Parsing.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/Serialization.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/SpecAlgos.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-expression-evaluator/lib/util/TypeHandling.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-iterator/lib/ChunkedIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-iterator/lib/ClosableIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-iterator/lib/ClosableTransformIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-iterator/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-iterator/lib/instrumentIterator.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-metadata/lib/MetadataValidationState.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-metadata/lib/Utils.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-metadata/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-query-operation/lib/FragmentSelectorShapes.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-query-operation/lib/MaterializeBindings.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-query-operation/lib/Utils.js","webpack://@comunica/web-client-generator/./node_modules/@comunica/utils-query-operation/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/@inrupt/oidc-client/lib/oidc-client.min.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/fragment.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/index.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/lookup/fetchContext.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/lookup/index.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/lookup/lookupAllPrefixes.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/lookup/lookupNamespace.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/prefixcc/dist/lookup/lookupPrefix.js","webpack://@comunica/web-client-generator/./node_modules/@jeswr/stream-to-string/dist/index.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/oidc-client-ext/dist/index.es.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/saxes/saxes.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/ClientAuthentication.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/Session.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/constant.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/defaultSession.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/dependencies.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/index.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/AggregateRedirectHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/ClientRegistrar.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/IssuerConfigFetcher.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/OidcLoginHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/Redirector.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/login/oidc/refresh/TokenRefresher.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/logout/GeneralLogoutHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/sessionInfo/SessionInfoManager.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/storage/BrowserStorage.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/storage/StorageUtility.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/util/urlPath.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/util/worker/WindowToWorkerHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-browser/dist/util/worker/WorkerToWindowHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/authenticatedFetch/dpopUtils.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/authenticatedFetch/fetchFactory.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/constant.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/errors/ConfigurationError.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/errors/InruptError.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/errors/InvalidResponseError.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/errors/NotImplementedError.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/errors/OidcProviderError.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/index.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/login/oidc/IClientRegistrar.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/sessionInfo/ISessionInfo.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/sessionInfo/ISessionInfoManager.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/storage/InMemoryStorage.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/storage/StorageUtility.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/storage/__mocks__/StorageUtility.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/util/handlerPattern/AggregateHandler.js","webpack://@comunica/web-client-generator/./node_modules/@rubensworks/solid-client-authn-core/dist/util/token.js","webpack://@comunica/web-client-generator/./node_modules/abort-controller/browser.js","webpack://@comunica/web-client-generator/./node_modules/asyncjoin/index.js","webpack://@comunica/web-client-generator/./node_modules/asyncjoin/join/DynamicNestedLoopJoin.js","webpack://@comunica/web-client-generator/./node_modules/asyncjoin/join/HashJoin.js","webpack://@comunica/web-client-generator/./node_modules/asyncjoin/join/NestedLoopJoin.js","webpack://@comunica/web-client-generator/./node_modules/asyncjoin/join/SymmetricHashJoin.js","webpack://@comunica/web-client-generator/./node_modules/asyncjoin/util/MergeIterator.js","webpack://@comunica/web-client-generator/./.tmp-comunica-engine.js","webpack://@comunica/web-client-generator/./node_modules/base64-js/index.js","webpack://@comunica/web-client-generator/./node_modules/bignumber.js/bignumber.js","webpack://@comunica/web-client-generator/./node_modules/buffer/index.js","webpack://@comunica/web-client-generator/./node_modules/canonicalize/lib/canonicalize.js","webpack://@comunica/web-client-generator/./node_modules/cross-fetch/dist/browser-polyfill.js","webpack://@comunica/web-client-generator/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://@comunica/web-client-generator/./node_modules/dom-serializer/lib/foreignNames.js","webpack://@comunica/web-client-generator/./node_modules/dom-serializer/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/domelementtype/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/domhandler/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/domhandler/lib/node.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/feeds.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/helpers.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/legacy.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/manipulation.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/querying.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/stringify.js","webpack://@comunica/web-client-generator/./node_modules/domutils/lib/traversal.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/decode.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/decode_codepoint.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/encode.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/escape.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/generated/decode-data-html.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/generated/decode-data-xml.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/generated/encode-html.js","webpack://@comunica/web-client-generator/./node_modules/entities/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/event-emitter-promisify/dist/index.js","webpack://@comunica/web-client-generator/./node_modules/events/events.js","webpack://@comunica/web-client-generator/./node_modules/fast-deep-equal/es6/index.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/index.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/lib/SparqlEndpointFetcher.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/IRIs.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3Lexer.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3DataFactory.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3Parser.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3Util.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3Writer.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3Store.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3StoreFactory.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3Reasoner.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3StreamParser.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/N3StreamWriter.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/n3/src/index.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/sparqljs/lib/SparqlGenerator.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/sparqljs/lib/SparqlParser.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/sparqljs/lib/Wildcard.js","webpack://@comunica/web-client-generator/./node_modules/fetch-sparql-endpoint/node_modules/sparqljs/sparql.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/Converter.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/IConvertContext.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/IConvertSettings.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerAdapter.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerDefinitionAdapter.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerDefinitionFragment.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerDefinitionOperation.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerDocument.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerSelectionAdapter.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerSelectionField.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerSelectionFragmentSpread.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/NodeHandlerSelectionInlineFragment.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/DirectiveNodeHandlerAdapter.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/DirectiveNodeHandlerInclude.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/DirectiveNodeHandlerOptional.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/DirectiveNodeHandlerPlural.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/DirectiveNodeHandlerSingle.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/DirectiveNodeHandlerSkip.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/directivenode/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerAdapter.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerBoolean.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerEnum.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerFloat.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerInt.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerList.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerNull.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerObject.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerString.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/NodeValueHandlerVariable.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/lib/handler/valuenode/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/ContextParser.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/ErrorCoded.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/FetchDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/IDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/JsonLdContext.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/JsonLdContextNormalized.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/jsonld-context-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/sparqlalgebrajs/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/sparqlalgebrajs/lib/algebra.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/sparqlalgebrajs/lib/factory.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/sparqlalgebrajs/lib/sparql.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/sparqlalgebrajs/lib/sparqlAlgebra.js","webpack://@comunica/web-client-generator/./node_modules/graphql-to-sparql/node_modules/sparqlalgebrajs/lib/util.js","webpack://@comunica/web-client-generator/./node_modules/graphql/error/GraphQLError.js","webpack://@comunica/web-client-generator/./node_modules/graphql/error/syntaxError.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/defineInspect.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/devAssert.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/inspect.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/instanceOf.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/invariant.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/isObjectLike.js","webpack://@comunica/web-client-generator/./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/ast.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/blockString.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/directiveLocation.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/index.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/kinds.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/lexer.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/location.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/parser.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/predicates.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/printLocation.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/printer.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/source.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/tokenKind.js","webpack://@comunica/web-client-generator/./node_modules/graphql/language/visitor.js","webpack://@comunica/web-client-generator/./node_modules/graphql/polyfills/symbols.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/common.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/hmac.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/ripemd.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha/1.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha/224.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha/256.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha/384.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha/512.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/sha/common.js","webpack://@comunica/web-client-generator/./node_modules/hash.js/lib/hash/utils.js","webpack://@comunica/web-client-generator/./node_modules/htmlparser2/lib/Parser.js","webpack://@comunica/web-client-generator/./node_modules/htmlparser2/lib/Tokenizer.js","webpack://@comunica/web-client-generator/./node_modules/htmlparser2/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/http-link-header/lib/link.js","webpack://@comunica/web-client-generator/./node_modules/ieee754/index.js","webpack://@comunica/web-client-generator/./node_modules/immutable/dist/immutable.es.js","webpack://@comunica/web-client-generator/./node_modules/imurmurhash/imurmurhash.js","webpack://@comunica/web-client-generator/./node_modules/inherits/inherits_browser.js","webpack://@comunica/web-client-generator/./node_modules/is-stream/index.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/ContextParser.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/ErrorCoded.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/FetchDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/IDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/JsonLdContext.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/JsonLdContextNormalized.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-context-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/ContextTree.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/JsonLdParser.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/ParsingContext.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerIdentifier.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerIndex.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerLanguage.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerType.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerArrayValue.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerContainer.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerInvalidFallback.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerPredicate.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeyword.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordAnnotation.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordContext.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordGraph.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordId.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordIncluded.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordNest.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordType.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordUnknownFallback.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordValue.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/ContextParser.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/ErrorCoded.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/FetchDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/IDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/JsonLdContext.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/JsonLdContextNormalized.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-parser/node_modules/jsonld-context-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/index.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/lib/JsonLdSerializer.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/lib/SeparatorType.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/ContextParser.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/ErrorCoded.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/FetchDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/IDocumentLoader.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/JsonLdContext.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/JsonLdContextNormalized.js","webpack://@comunica/web-client-generator/./node_modules/jsonld-streaming-serializer/node_modules/jsonld-context-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/IHtmlParseListener.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/IItemScope.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/IVocabRegistry.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/MicrodataRdfParser.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/propertyhandler/IItemPropertyHandler.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/propertyhandler/ItemPropertyHandlerContent.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/propertyhandler/ItemPropertyHandlerNumber.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/propertyhandler/ItemPropertyHandlerTime.js","webpack://@comunica/web-client-generator/./node_modules/microdata-rdf-streaming-parser/lib/propertyhandler/ItemPropertyHandlerUrl.js","webpack://@comunica/web-client-generator/./node_modules/minimalistic-assert/index.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/IRIs.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3Lexer.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3DataFactory.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3Parser.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3Util.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3Writer.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3Store.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3StreamParser.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/N3StreamWriter.js","webpack://@comunica/web-client-generator/./node_modules/n3/src/index.js","webpack://@comunica/web-client-generator/./node_modules/object-inspect/index.js","webpack://@comunica/web-client-generator/./node_modules/process/browser.js","webpack://@comunica/web-client-generator/./node_modules/promise-polyfill/Promise.js","webpack://@comunica/web-client-generator/./node_modules/queue-microtask/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/BlankNode.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/DataFactory.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/DefaultGraph.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/Literal.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/NamedNode.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/Quad.js","webpack://@comunica/web-client-generator/./node_modules/rdf-data-factory/lib/Variable.js","webpack://@comunica/web-client-generator/./node_modules/rdf-isomorphic/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-isomorphic/lib/RdfIsomorphic.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/ITypeHandler.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/Translator.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/handler/TypeHandlerBoolean.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/handler/TypeHandlerDate.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/handler/TypeHandlerNumberDouble.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/handler/TypeHandlerNumberInteger.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/handler/TypeHandlerString.js","webpack://@comunica/web-client-generator/./node_modules/rdf-literal/lib/handler/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-store-stream/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/IRdfStoreOptions.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/OrderUtils.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/PatternTerm.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/RdfStore.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dataset/DatasetCoreWrapper.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/ITermDictionary.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionaryNumberMap.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionaryNumberRecord.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionaryNumberRecordFullTerms.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionaryQuoted.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionaryQuotedIndexed.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionaryQuotedReferential.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/dictionary/TermDictionarySymbol.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/IRdfStoreIndex.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/RdfStoreIndexNestedMap.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/RdfStoreIndexNestedMapQuoted.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/RdfStoreIndexNestedMapRecursive.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/RdfStoreIndexNestedMapRecursiveQuoted.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/RdfStoreIndexNestedRecord.js","webpack://@comunica/web-client-generator/./node_modules/rdf-stores/lib/index/RdfStoreIndexNestedRecordQuoted.js","webpack://@comunica/web-client-generator/./node_modules/rdf-streaming-store/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-streaming-store/lib/PendingStreamsIndex.js","webpack://@comunica/web-client-generator/./node_modules/rdf-streaming-store/lib/StreamingStore.js","webpack://@comunica/web-client-generator/./node_modules/rdf-string-ttl/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-string-ttl/lib/TermUtil.js","webpack://@comunica/web-client-generator/./node_modules/rdf-string/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-string/lib/TermUtil.js","webpack://@comunica/web-client-generator/./node_modules/rdf-terms/index.js","webpack://@comunica/web-client-generator/./node_modules/rdf-terms/lib/QuadTermUtil.js","webpack://@comunica/web-client-generator/./node_modules/rdf-terms/lib/TermUtil.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/lib/IActiveTag.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/lib/IHtmlParseListener.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/lib/IRdfaPattern.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/lib/RdfaParser.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/lib/RdfaProfile.js","webpack://@comunica/web-client-generator/./node_modules/rdfa-streaming-parser/lib/Util.js","webpack://@comunica/web-client-generator/./node_modules/rdfxml-streaming-parser/index.js","webpack://@comunica/web-client-generator/./node_modules/rdfxml-streaming-parser/lib/ParseError.js","webpack://@comunica/web-client-generator/./node_modules/rdfxml-streaming-parser/lib/RdfXmlParser.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream-node-to-web/index.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/add-abort-signal.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/compose.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/duplex.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/duplexify.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/from.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/legacy.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/operators.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/passthrough.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/readable.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/transform.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/utils.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/streams/writable.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/internal/validators.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/ours/browser.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/ours/errors.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/ours/primordials.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/ours/util.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/stream.js","webpack://@comunica/web-client-generator/./node_modules/readable-stream/lib/stream/promises.js","webpack://@comunica/web-client-generator/./node_modules/relative-to-absolute-iri/index.js","webpack://@comunica/web-client-generator/./node_modules/relative-to-absolute-iri/lib/Resolve.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-parse/lib/ShaclcParser.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-parse/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/ShaclcGenerator.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/base-prefixes.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/index.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/node-param.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/property-param .js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/utils.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/volatile-store.js","webpack://@comunica/web-client-generator/./node_modules/shaclc-write/dist/writer.js","webpack://@comunica/web-client-generator/./node_modules/spark-md5/spark-md5.js","webpack://@comunica/web-client-generator/./node_modules/sparqlalgebrajs/index.js","webpack://@comunica/web-client-generator/./node_modules/sparqlalgebrajs/lib/algebra.js","webpack://@comunica/web-client-generator/./node_modules/sparqlalgebrajs/lib/factory.js","webpack://@comunica/web-client-generator/./node_modules/sparqlalgebrajs/lib/sparql.js","webpack://@comunica/web-client-generator/./node_modules/sparqlalgebrajs/lib/sparqlAlgebra.js","webpack://@comunica/web-client-generator/./node_modules/sparqlalgebrajs/lib/util.js","webpack://@comunica/web-client-generator/./node_modules/sparqljs/lib/SparqlGenerator.js","webpack://@comunica/web-client-generator/./node_modules/sparqljs/lib/SparqlParser.js","webpack://@comunica/web-client-generator/./node_modules/sparqljs/lib/Wildcard.js","webpack://@comunica/web-client-generator/./node_modules/sparqljs/sparql.js","webpack://@comunica/web-client-generator/./node_modules/sparqljson-parse/index.js","webpack://@comunica/web-client-generator/./node_modules/sparqljson-parse/lib/SparqlJsonParser.js","webpack://@comunica/web-client-generator/./node_modules/sparqljson-to-tree/index.js","webpack://@comunica/web-client-generator/./node_modules/sparqljson-to-tree/lib/Converter.js","webpack://@comunica/web-client-generator/./node_modules/sparqlxml-parse/index.js","webpack://@comunica/web-client-generator/./node_modules/sparqlxml-parse/lib/SparqlXmlParser.js","webpack://@comunica/web-client-generator/./node_modules/stream-to-string/index.js","webpack://@comunica/web-client-generator/./node_modules/string_decoder/lib/string_decoder.js","webpack://@comunica/web-client-generator/./node_modules/string_decoder/node_modules/safe-buffer/index.js","webpack://@comunica/web-client-generator/./node_modules/uritemplate/bin/uritemplate.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/rng.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/regex.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/validate.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/v1.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/parse.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/v35.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/md5.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/v3.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/v4.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/sha1.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/v5.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/nil.js","webpack://@comunica/web-client-generator/./node_modules/uuid/dist/esm-browser/version.js","webpack://@comunica/web-client-generator/./node_modules/validate-iri/index.js","webpack://@comunica/web-client-generator/./node_modules/validate-iri/lib/Validate.js","webpack://@comunica/web-client-generator/./node_modules/xmlchars/xml/1.0/ed5.js","webpack://@comunica/web-client-generator/./node_modules/xmlchars/xml/1.1/ed2.js","webpack://@comunica/web-client-generator/./node_modules/xmlchars/xmlns/1.0/ed3.js","webpack://@comunica/web-client-generator/./node_modules/asynciterator/dist/asynciterator.js","webpack://@comunica/web-client-generator/./node_modules/asynciterator/dist/linkedlist.js","webpack://@comunica/web-client-generator/./node_modules/asynciterator/dist/taskscheduler.js","webpack://@comunica/web-client-generator/./node_modules/lru-cache/dist/commonjs/index.js","webpack://@comunica/web-client-generator/./node_modules/readable-from-web/lib/ReadableFromWeb.js","webpack://@comunica/web-client-generator/./node_modules/readable-from-web/lib/index.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/webcrypto.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/digest.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/buffer_utils.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/base64url.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/util/errors.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/random.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/iv.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/check_iv_length.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/check_cek_length.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/crypto_key.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/invalid_key_input.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/is_key_like.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/decrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/timing_safe_equal.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/zlib.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/is_disjoint.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/is_object.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/bogus.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/aeskw.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/ecdhes.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/pbes2kw.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/check_p2s.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/subtle_rsaes.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/check_key_length.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/cek.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/format_pem.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/asn1.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/jwk_to_key.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/key/import.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/check_key_type.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/encrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/decrypt_key_management.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/rsaes.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/aesgcmkw.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/validate_crit.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/validate_algorithms.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwe/flattened/decrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwe/compact/decrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwe/general/decrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/key_to_jwk.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/key/export.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/encrypt_key_management.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwe/flattened/encrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwe/general/encrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/subtle_dsa.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/get_sign_verify_key.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/verify.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jws/flattened/verify.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jws/compact/verify.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jws/general/verify.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/epoch.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/secs.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/lib/jwt_claims_set.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwt/verify.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwt/decrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwe/compact/encrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jws/flattened/sign.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/sign.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jws/compact/sign.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jws/general/sign.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwt/produce.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwt/sign.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwt/encrypt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwk/thumbprint.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwk/embedded.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwks/local.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwks/remote.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/fetch_jwks.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/jwt/unsecured.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/util/base64url.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/util/decode_protected_header.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/util/decode_jwt.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/generate.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/key/generate_key_pair.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/key/generate_secret.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/runtime/runtime.js","webpack://@comunica/web-client-generator/./node_modules/jose/dist/browser/util/runtime.js","webpack://@comunica/web-client-generator/webpack/bootstrap","webpack://@comunica/web-client-generator/webpack/runtime/compat get default export","webpack://@comunica/web-client-generator/webpack/runtime/define property getters","webpack://@comunica/web-client-generator/webpack/runtime/global","webpack://@comunica/web-client-generator/webpack/runtime/hasOwnProperty shorthand","webpack://@comunica/web-client-generator/webpack/runtime/make namespace object","webpack://@comunica/web-client-generator/./src/ldf-client-worker.js"],"sourcesContent":["var { Buffer } = require('buffer')\n// Named constants with unique integer values\nvar C = {};\n// Tokens\nvar LEFT_BRACE = C.LEFT_BRACE = 0x1;\nvar RIGHT_BRACE = C.RIGHT_BRACE = 0x2;\nvar LEFT_BRACKET = C.LEFT_BRACKET = 0x3;\nvar RIGHT_BRACKET = C.RIGHT_BRACKET = 0x4;\nvar COLON = C.COLON = 0x5;\nvar COMMA = C.COMMA = 0x6;\nvar TRUE = C.TRUE = 0x7;\nvar FALSE = C.FALSE = 0x8;\nvar NULL = C.NULL = 0x9;\nvar STRING = C.STRING = 0xa;\nvar NUMBER = C.NUMBER = 0xb;\n// Tokenizer States\nvar START = C.START = 0x11;\nvar STOP = C.STOP = 0x12;\nvar TRUE1 = C.TRUE1 = 0x21;\nvar TRUE2 = C.TRUE2 = 0x22;\nvar TRUE3 = C.TRUE3 = 0x23;\nvar FALSE1 = C.FALSE1 = 0x31;\nvar FALSE2 = C.FALSE2 = 0x32;\nvar FALSE3 = C.FALSE3 = 0x33;\nvar FALSE4 = C.FALSE4 = 0x34;\nvar NULL1 = C.NULL1 = 0x41;\nvar NULL2 = C.NULL2 = 0x42;\nvar NULL3 = C.NULL3 = 0x43;\nvar NUMBER1 = C.NUMBER1 = 0x51;\nvar NUMBER3 = C.NUMBER3 = 0x53;\nvar STRING1 = C.STRING1 = 0x61;\nvar STRING2 = C.STRING2 = 0x62;\nvar STRING3 = C.STRING3 = 0x63;\nvar STRING4 = C.STRING4 = 0x64;\nvar STRING5 = C.STRING5 = 0x65;\nvar STRING6 = C.STRING6 = 0x66;\n// Parser States\nvar VALUE = C.VALUE = 0x71;\nvar KEY = C.KEY = 0x72;\n// Parser Modes\nvar OBJECT = C.OBJECT = 0x81;\nvar ARRAY = C.ARRAY = 0x82;\n// Character constants\nvar BACK_SLASH = \"\\\\\".charCodeAt(0);\nvar FORWARD_SLASH = \"\\/\".charCodeAt(0);\nvar BACKSPACE = \"\\b\".charCodeAt(0);\nvar FORM_FEED = \"\\f\".charCodeAt(0);\nvar NEWLINE = \"\\n\".charCodeAt(0);\nvar CARRIAGE_RETURN = \"\\r\".charCodeAt(0);\nvar TAB = \"\\t\".charCodeAt(0);\n\nvar STRING_BUFFER_SIZE = 64 * 1024;\n\nfunction alloc(size) {\n return Buffer.alloc ? Buffer.alloc(size) : new Buffer(size);\n}\n\nfunction Parser() {\n this.tState = START;\n this.value = undefined;\n\n this.string = undefined; // string data\n this.stringBuffer = alloc(STRING_BUFFER_SIZE);\n this.stringBufferOffset = 0;\n this.unicode = undefined; // unicode escapes\n this.highSurrogate = undefined;\n\n this.key = undefined;\n this.mode = undefined;\n this.stack = [];\n this.state = VALUE;\n this.bytes_remaining = 0; // number of bytes remaining in multi byte utf8 char to read after split boundary\n this.bytes_in_sequence = 0; // bytes in multi byte utf8 char to read\n this.temp_buffs = { \"2\": alloc(2), \"3\": alloc(3), \"4\": alloc(4) }; // for rebuilding chars split before boundary is reached\n\n // Stream offset\n this.offset = -1;\n}\n\n// Slow code to string converter (only used when throwing syntax errors)\nParser.toknam = function (code) {\n var keys = Object.keys(C);\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n if (C[key] === code) { return key; }\n }\n return code && (\"0x\" + code.toString(16));\n};\n\nvar proto = Parser.prototype;\nproto.onError = function (err) { throw err; };\nproto.charError = function (buffer, i) {\n this.tState = STOP;\n this.onError(new Error(\"Unexpected \" + JSON.stringify(String.fromCharCode(buffer[i])) + \" at position \" + i + \" in state \" + Parser.toknam(this.tState)));\n};\nproto.appendStringChar = function (char) {\n if (this.stringBufferOffset >= STRING_BUFFER_SIZE) {\n this.string += this.stringBuffer.toString('utf8');\n this.stringBufferOffset = 0;\n }\n\n this.stringBuffer[this.stringBufferOffset++] = char;\n};\nproto.appendStringBuf = function (buf, start, end) {\n var size = buf.length;\n if (typeof start === 'number') {\n if (typeof end === 'number') {\n if (end < 0) {\n // adding a negative end decreeses the size\n size = buf.length - start + end;\n } else {\n size = end - start;\n }\n } else {\n size = buf.length - start;\n }\n }\n\n if (size < 0) {\n size = 0;\n }\n\n if (this.stringBufferOffset + size > STRING_BUFFER_SIZE) {\n this.string += this.stringBuffer.toString('utf8', 0, this.stringBufferOffset);\n this.stringBufferOffset = 0;\n }\n\n buf.copy(this.stringBuffer, this.stringBufferOffset, start, end);\n this.stringBufferOffset += size;\n};\nproto.write = function (buffer) {\n if (typeof buffer === \"string\") buffer = new Buffer(buffer);\n var n;\n for (var i = 0, l = buffer.length; i < l; i++) {\n if (this.tState === START){\n n = buffer[i];\n this.offset++;\n if(n === 0x7b){ this.onToken(LEFT_BRACE, \"{\"); // {\n }else if(n === 0x7d){ this.onToken(RIGHT_BRACE, \"}\"); // }\n }else if(n === 0x5b){ this.onToken(LEFT_BRACKET, \"[\"); // [\n }else if(n === 0x5d){ this.onToken(RIGHT_BRACKET, \"]\"); // ]\n }else if(n === 0x3a){ this.onToken(COLON, \":\"); // :\n }else if(n === 0x2c){ this.onToken(COMMA, \",\"); // ,\n }else if(n === 0x74){ this.tState = TRUE1; // t\n }else if(n === 0x66){ this.tState = FALSE1; // f\n }else if(n === 0x6e){ this.tState = NULL1; // n\n }else if(n === 0x22){ // \"\n this.string = \"\";\n this.stringBufferOffset = 0;\n this.tState = STRING1;\n }else if(n === 0x2d){ this.string = \"-\"; this.tState = NUMBER1; // -\n }else{\n if (n >= 0x30 && n < 0x40) { // 1-9\n this.string = String.fromCharCode(n); this.tState = NUMBER3;\n } else if (n === 0x20 || n === 0x09 || n === 0x0a || n === 0x0d) {\n // whitespace\n } else {\n return this.charError(buffer, i);\n }\n }\n }else if (this.tState === STRING1){ // After open quote\n n = buffer[i]; // get current byte from buffer\n // check for carry over of a multi byte char split between data chunks\n // & fill temp buffer it with start of this data chunk up to the boundary limit set in the last iteration\n if (this.bytes_remaining > 0) {\n for (var j = 0; j < this.bytes_remaining; j++) {\n this.temp_buffs[this.bytes_in_sequence][this.bytes_in_sequence - this.bytes_remaining + j] = buffer[j];\n }\n\n this.appendStringBuf(this.temp_buffs[this.bytes_in_sequence]);\n this.bytes_in_sequence = this.bytes_remaining = 0;\n i = i + j - 1;\n } else if (this.bytes_remaining === 0 && n >= 128) { // else if no remainder bytes carried over, parse multi byte (>=128) chars one at a time\n if (n <= 193 || n > 244) {\n return this.onError(new Error(\"Invalid UTF-8 character at position \" + i + \" in state \" + Parser.toknam(this.tState)));\n }\n if ((n >= 194) && (n <= 223)) this.bytes_in_sequence = 2;\n if ((n >= 224) && (n <= 239)) this.bytes_in_sequence = 3;\n if ((n >= 240) && (n <= 244)) this.bytes_in_sequence = 4;\n if ((this.bytes_in_sequence + i) > buffer.length) { // if bytes needed to complete char fall outside buffer length, we have a boundary split\n for (var k = 0; k <= (buffer.length - 1 - i); k++) {\n this.temp_buffs[this.bytes_in_sequence][k] = buffer[i + k]; // fill temp buffer of correct size with bytes available in this chunk\n }\n this.bytes_remaining = (i + this.bytes_in_sequence) - buffer.length;\n i = buffer.length - 1;\n } else {\n this.appendStringBuf(buffer, i, i + this.bytes_in_sequence);\n i = i + this.bytes_in_sequence - 1;\n }\n } else if (n === 0x22) {\n this.tState = START;\n this.string += this.stringBuffer.toString('utf8', 0, this.stringBufferOffset);\n this.stringBufferOffset = 0;\n this.onToken(STRING, this.string);\n this.offset += Buffer.byteLength(this.string, 'utf8') + 1;\n this.string = undefined;\n }\n else if (n === 0x5c) {\n this.tState = STRING2;\n }\n else if (n >= 0x20) { this.appendStringChar(n); }\n else {\n return this.charError(buffer, i);\n }\n }else if (this.tState === STRING2){ // After backslash\n n = buffer[i];\n if(n === 0x22){ this.appendStringChar(n); this.tState = STRING1;\n }else if(n === 0x5c){ this.appendStringChar(BACK_SLASH); this.tState = STRING1;\n }else if(n === 0x2f){ this.appendStringChar(FORWARD_SLASH); this.tState = STRING1;\n }else if(n === 0x62){ this.appendStringChar(BACKSPACE); this.tState = STRING1;\n }else if(n === 0x66){ this.appendStringChar(FORM_FEED); this.tState = STRING1;\n }else if(n === 0x6e){ this.appendStringChar(NEWLINE); this.tState = STRING1;\n }else if(n === 0x72){ this.appendStringChar(CARRIAGE_RETURN); this.tState = STRING1;\n }else if(n === 0x74){ this.appendStringChar(TAB); this.tState = STRING1;\n }else if(n === 0x75){ this.unicode = \"\"; this.tState = STRING3;\n }else{\n return this.charError(buffer, i);\n }\n }else if (this.tState === STRING3 || this.tState === STRING4 || this.tState === STRING5 || this.tState === STRING6){ // unicode hex codes\n n = buffer[i];\n // 0-9 A-F a-f\n if ((n >= 0x30 && n < 0x40) || (n > 0x40 && n <= 0x46) || (n > 0x60 && n <= 0x66)) {\n this.unicode += String.fromCharCode(n);\n if (this.tState++ === STRING6) {\n var intVal = parseInt(this.unicode, 16);\n this.unicode = undefined;\n if (this.highSurrogate !== undefined && intVal >= 0xDC00 && intVal < (0xDFFF + 1)) { //<56320,57343> - lowSurrogate\n this.appendStringBuf(new Buffer(String.fromCharCode(this.highSurrogate, intVal)));\n this.highSurrogate = undefined;\n } else if (this.highSurrogate === undefined && intVal >= 0xD800 && intVal < (0xDBFF + 1)) { //<55296,56319> - highSurrogate\n this.highSurrogate = intVal;\n } else {\n if (this.highSurrogate !== undefined) {\n this.appendStringBuf(new Buffer(String.fromCharCode(this.highSurrogate)));\n this.highSurrogate = undefined;\n }\n this.appendStringBuf(new Buffer(String.fromCharCode(intVal)));\n }\n this.tState = STRING1;\n }\n } else {\n return this.charError(buffer, i);\n }\n } else if (this.tState === NUMBER1 || this.tState === NUMBER3) {\n n = buffer[i];\n\n switch (n) {\n case 0x30: // 0\n case 0x31: // 1\n case 0x32: // 2\n case 0x33: // 3\n case 0x34: // 4\n case 0x35: // 5\n case 0x36: // 6\n case 0x37: // 7\n case 0x38: // 8\n case 0x39: // 9\n case 0x2e: // .\n case 0x65: // e\n case 0x45: // E\n case 0x2b: // +\n case 0x2d: // -\n this.string += String.fromCharCode(n);\n this.tState = NUMBER3;\n break;\n default:\n this.tState = START;\n var error = this.numberReviver(this.string);\n if (error){\n return error;\n }\n\n this.offset += this.string.length - 1;\n this.string = undefined;\n i--;\n break;\n }\n }else if (this.tState === TRUE1){ // r\n if (buffer[i] === 0x72) { this.tState = TRUE2; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === TRUE2){ // u\n if (buffer[i] === 0x75) { this.tState = TRUE3; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === TRUE3){ // e\n if (buffer[i] === 0x65) { this.tState = START; this.onToken(TRUE, true); this.offset+= 3; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === FALSE1){ // a\n if (buffer[i] === 0x61) { this.tState = FALSE2; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === FALSE2){ // l\n if (buffer[i] === 0x6c) { this.tState = FALSE3; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === FALSE3){ // s\n if (buffer[i] === 0x73) { this.tState = FALSE4; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === FALSE4){ // e\n if (buffer[i] === 0x65) { this.tState = START; this.onToken(FALSE, false); this.offset+= 4; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === NULL1){ // u\n if (buffer[i] === 0x75) { this.tState = NULL2; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === NULL2){ // l\n if (buffer[i] === 0x6c) { this.tState = NULL3; }\n else { return this.charError(buffer, i); }\n }else if (this.tState === NULL3){ // l\n if (buffer[i] === 0x6c) { this.tState = START; this.onToken(NULL, null); this.offset += 3; }\n else { return this.charError(buffer, i); }\n }\n }\n};\nproto.onToken = function (token, value) {\n // Override this to get events\n};\n\nproto.parseError = function (token, value) {\n this.tState = STOP;\n this.onError(new Error(\"Unexpected \" + Parser.toknam(token) + (value ? (\"(\" + JSON.stringify(value) + \")\") : \"\") + \" in state \" + Parser.toknam(this.state)));\n};\nproto.push = function () {\n this.stack.push({value: this.value, key: this.key, mode: this.mode});\n};\nproto.pop = function () {\n var value = this.value;\n var parent = this.stack.pop();\n this.value = parent.value;\n this.key = parent.key;\n this.mode = parent.mode;\n this.emit(value);\n if (!this.mode) { this.state = VALUE; }\n};\nproto.emit = function (value) {\n if (this.mode) { this.state = COMMA; }\n this.onValue(value);\n};\nproto.onValue = function (value) {\n // Override me\n};\nproto.onToken = function (token, value) {\n if(this.state === VALUE){\n if(token === STRING || token === NUMBER || token === TRUE || token === FALSE || token === NULL){\n if (this.value) {\n this.value[this.key] = value;\n }\n this.emit(value);\n }else if(token === LEFT_BRACE){\n this.push();\n if (this.value) {\n this.value = this.value[this.key] = {};\n } else {\n this.value = {};\n }\n this.key = undefined;\n this.state = KEY;\n this.mode = OBJECT;\n }else if(token === LEFT_BRACKET){\n this.push();\n if (this.value) {\n this.value = this.value[this.key] = [];\n } else {\n this.value = [];\n }\n this.key = 0;\n this.mode = ARRAY;\n this.state = VALUE;\n }else if(token === RIGHT_BRACE){\n if (this.mode === OBJECT) {\n this.pop();\n } else {\n return this.parseError(token, value);\n }\n }else if(token === RIGHT_BRACKET){\n if (this.mode === ARRAY) {\n this.pop();\n } else {\n return this.parseError(token, value);\n }\n }else{\n return this.parseError(token, value);\n }\n }else if(this.state === KEY){\n if (token === STRING) {\n this.key = value;\n this.state = COLON;\n } else if (token === RIGHT_BRACE) {\n this.pop();\n } else {\n return this.parseError(token, value);\n }\n }else if(this.state === COLON){\n if (token === COLON) { this.state = VALUE; }\n else { return this.parseError(token, value); }\n }else if(this.state === COMMA){\n if (token === COMMA) {\n if (this.mode === ARRAY) { this.key++; this.state = VALUE; }\n else if (this.mode === OBJECT) { this.state = KEY; }\n\n } else if (token === RIGHT_BRACKET && this.mode === ARRAY || token === RIGHT_BRACE && this.mode === OBJECT) {\n this.pop();\n } else {\n return this.parseError(token, value);\n }\n }else{\n return this.parseError(token, value);\n }\n};\n\n// Override to implement your own number reviver.\n// Any value returned is treated as error and will interrupt parsing.\nproto.numberReviver = function (text) {\n var result = Number(text);\n\n if (isNaN(result)) {\n return this.charError(buffer, i);\n }\n\n if ((text.match(/[0-9]+/) == text) && (result.toString() != text)) {\n // Long string of digits which is an ID string and not valid and/or safe JavaScript integer Number\n this.onToken(STRING, text);\n } else {\n this.onToken(NUMBER, result);\n }\n}\n\nParser.C = C;\n\nmodule.exports = Parser;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorAbstractMediaTyped = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * An abstract actor that handles media-typed actions.\n *\n * It splits up a action between a 'handle' and a 'mediaTypes' action.\n * A 'mediaTypes' action is used to retrieve the available media types from this actor.\n * A 'handle' action is abstract, and can be implemented to do anything,\n * such as parsing, serializing, etc.\n * @see IActionAbstractMediaTyped\n *\n * @see ActorAbstractMediaTypedFixed\n */\nclass ActorAbstractMediaTyped extends core_1.Actor {\n constructor(args) {\n super(args);\n }\n async run(action) {\n if ('handle' in action) {\n const typedAction = action;\n return { handle: await this.runHandle(typedAction.handle, typedAction.handleMediaType, action.context) };\n }\n if ('mediaTypes' in action) {\n return { mediaTypes: await this.getMediaTypes(action.context) };\n }\n if ('mediaTypeFormats' in action) {\n return { mediaTypeFormats: await this.getMediaTypeFormats(action.context) };\n }\n throw new Error('Either a handle, mediaTypes or mediaTypeFormats action needs to be provided');\n }\n async test(action) {\n if ('handle' in action) {\n const typedAction = action;\n return (await this.testHandle(typedAction.handle, typedAction.handleMediaType, action.context))\n .map(handle => ({ handle }));\n }\n if ('mediaTypes' in action) {\n return (await this.testMediaType(action.context))\n .map(mediaTypes => ({ mediaTypes }));\n }\n if ('mediaTypeFormats' in action) {\n return (await this.testMediaTypeFormats(action.context))\n .map(mediaTypeFormats => ({ mediaTypeFormats }));\n }\n return (0, core_1.failTest)('Either a handle, mediaTypes or mediaTypeFormats action needs to be provided');\n }\n}\nexports.ActorAbstractMediaTyped = ActorAbstractMediaTyped;\n//# sourceMappingURL=ActorAbstractMediaTyped.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorAbstractMediaTypedFixed = void 0;\nconst core_1 = require(\"@comunica/core\");\nconst ActorAbstractMediaTyped_1 = require(\"./ActorAbstractMediaTyped\");\nclass ActorAbstractMediaTypedFixed extends ActorAbstractMediaTyped_1.ActorAbstractMediaTyped {\n constructor(args) {\n super(args);\n const scale = this.priorityScale || this.priorityScale === 0 ? this.priorityScale : 1;\n if (this.mediaTypePriorities) {\n for (const [_index, [key, value]] of Object.entries(this.mediaTypePriorities).entries()) {\n this.mediaTypePriorities[key] = scale * value;\n }\n }\n this.mediaTypePriorities = Object.freeze(this.mediaTypePriorities);\n this.mediaTypeFormats = Object.freeze(this.mediaTypeFormats);\n }\n async testHandle(action, mediaType, context) {\n if (!mediaType || !(mediaType in this.mediaTypePriorities)) {\n return (0, core_1.failTest)(`Unrecognized media type: ${mediaType}`);\n }\n return await this.testHandleChecked(action, context);\n }\n async testMediaType(_context) {\n return (0, core_1.passTestVoid)();\n }\n async getMediaTypes(_context) {\n return this.mediaTypePriorities;\n }\n async testMediaTypeFormats(_context) {\n return (0, core_1.passTestVoid)();\n }\n async getMediaTypeFormats(_context) {\n return this.mediaTypeFormats;\n }\n}\nexports.ActorAbstractMediaTypedFixed = ActorAbstractMediaTypedFixed;\n//# sourceMappingURL=ActorAbstractMediaTypedFixed.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorAbstractMediaTyped\"), exports);\n__exportStar(require(\"./ActorAbstractMediaTypedFixed\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorAbstractPath = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst PathVariableObjectIterator_1 = require(\"./PathVariableObjectIterator\");\n/**\n * An abstract actor that handles Path operations.\n *\n * Provides multiple helper functions used by the Path operation actors.\n */\nclass ActorAbstractPath extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args, predicateType) {\n super(args, 'path');\n this.predicateType = predicateType;\n }\n async testOperation(operation, _context) {\n if (operation.predicate.type !== this.predicateType) {\n return (0, core_1.failTest)(`This Actor only supports ${this.predicateType} Path operations.`);\n }\n return (0, core_1.passTestVoid)();\n }\n // Generates a variable that does not yet occur in the path\n generateVariable(dataFactory, path, name) {\n if (!name) {\n return this.generateVariable(dataFactory, path, 'b');\n }\n // Path predicates can't contain variables\n if (path && (path.subject.value === name || path.object.value === name)) {\n return this.generateVariable(dataFactory, path, `${name}b`);\n }\n return dataFactory.variable(name);\n }\n // Such connectivity matching does not introduce duplicates (it does not incorporate any count of the number\n // of ways the connection can be made) even if the repeated path itself would otherwise result in duplicates.\n // https://www.w3.org/TR/sparql11-query/#propertypaths\n async isPathArbitraryLengthDistinct(algebraFactory, context, path) {\n if (!context.get(context_entries_1.KeysQueryOperation.isPathArbitraryLengthDistinctKey)) {\n context = context.set(context_entries_1.KeysQueryOperation.isPathArbitraryLengthDistinctKey, true);\n return { context, operation: (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({\n operation: algebraFactory.createDistinct(path),\n context,\n })) };\n }\n context = context.set(context_entries_1.KeysQueryOperation.isPathArbitraryLengthDistinctKey, false);\n return { context, operation: undefined };\n }\n async predicateStarGraphVariable(subject, object, predicate, graph, context, algebraFactory, bindingsFactory) {\n const sources = this.getPathSources(predicate);\n // TODO: refactor this with an iterator just like PathVariableObjectIterator so we handle backpressure correctly\n // Construct path to obtain all graphs where subject exists\n const predVar = this.generateVariable(algebraFactory.dataFactory, algebraFactory\n .createPath(subject, predicate, object, graph));\n const findGraphs = algebraFactory.createUnion([\n this.assignPatternSources(algebraFactory, algebraFactory.createPattern(subject, predVar, object, graph), sources),\n this.assignPatternSources(algebraFactory, algebraFactory.createPattern(object, predVar, subject, graph), sources),\n ]);\n const results = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ context, operation: findGraphs }));\n const passedGraphs = new Set();\n const bindingsStream = new asynciterator_1.MultiTransformIterator(results.bindingsStream, {\n multiTransform: (bindings) => {\n // Extract the graph and start a predicate* search starting from subject in each graph\n const graphValue = bindings.get(graph);\n if (passedGraphs.has(graphValue.value)) {\n return new asynciterator_1.EmptyIterator();\n }\n passedGraphs.add(graphValue.value);\n return new asynciterator_1.TransformIterator(async () => {\n const it = new asynciterator_1.BufferedIterator();\n await this\n .getObjectsPredicateStar(algebraFactory, subject, predicate, graphValue, context, {}, it, { count: 0 });\n return it.transform({\n transform(item, next, push) {\n push(bindingsFactory.bindings([\n [object, item],\n [graph, graphValue],\n ]));\n next();\n },\n });\n }, { maxBufferSize: 128 });\n },\n autoStart: false,\n });\n return {\n bindingsStream,\n metadata: results.metadata,\n };\n }\n /**\n * Returns an iterator with Bindings of the query subject predicate* ?o or subject predicate+ ?o\n * If graph is a variable, it will also be in those bindings\n * @param {Term} subject Term of where we start the predicate* search.\n * @param {Algebra.PropertyPathSymbol} predicate Predicate of the *-path.\n * @param {Variable} object Variable of the zeroOrMore-query.\n * @param {Term} graph The graph in which we search for the pattern. (Possibly a variable)\n * @param {ActionContext} context The context to pass to sub-opertations\n * @param emitFirstSubject If the path operation is predicate*, otherwise it is predicate+.\n * @param algebraFactory The algebra factory.\n * @param bindingsFactory The data factory.\n * @return {Promise} Iterator to where all bindings of query should have been pushed.\n */\n async getObjectsPredicateStarEval(subject, predicate, object, graph, context, emitFirstSubject, algebraFactory, bindingsFactory) {\n if (graph.termType === 'Variable') {\n return this\n .predicateStarGraphVariable(subject, object, predicate, graph, context, algebraFactory, bindingsFactory);\n }\n const it = new PathVariableObjectIterator_1.PathVariableObjectIterator(algebraFactory, subject, predicate, graph, context, this.mediatorQueryOperation, emitFirstSubject);\n const bindingsStream = it.transform({\n autoStart: false,\n transform(item, next, push) {\n push(bindingsFactory.bindings([[object, item]]));\n next();\n },\n });\n return {\n bindingsStream,\n async metadata() {\n const metadata = await new Promise((resolve) => {\n it.getProperty('metadata', (metadataInner) => resolve(metadataInner()));\n });\n // Increment cardinality by one, because we always have at least one result once we reach this stage.\n // See the transformation above where we push a single binding.\n metadata.cardinality.value++;\n return metadata;\n },\n };\n }\n /**\n * Pushes all terms to iterator `it` that are a solution of object predicate* ?o.\n * @param algebraFactory The algebra factory.\n * @param {Term} object Term of where we start the predicate* search.\n * @param {Algebra.PropertyPathSymbol} predicate Predicate of the *-path.\n * @param {Term} graph The graph in which we search for the pattern.\n * @param {ActionContext} context\n * @param {Record} termHashes Remembers the objects we've already searched for.\n * @param {BufferedIterator} it Iterator to push terms to.\n * @param {any} counter Counts how many searches are in progress to close it when needed (when counter == 0).\n * @return {Promise} The results metadata.\n */\n async getObjectsPredicateStar(algebraFactory, object, predicate, graph, context, termHashes, it, counter) {\n const termString = (0, rdf_string_1.termToString)(object);\n if (termHashes[termString]) {\n return;\n }\n it._push(object);\n termHashes[termString] = object;\n counter.count++;\n const thisVariable = this.generateVariable(algebraFactory.dataFactory);\n const path = algebraFactory.createPath(object, predicate, thisVariable, graph);\n const results = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation: path, context }));\n // TODO: fixme\n // eslint-disable-next-line ts/no-misused-promises\n results.bindingsStream.on('data', async (bindings) => {\n const result = bindings.get(thisVariable);\n await this.getObjectsPredicateStar(algebraFactory, result, predicate, graph, context, termHashes, it, counter);\n });\n results.bindingsStream.on('end', () => {\n if (--counter.count === 0) {\n it.close();\n }\n });\n return results.metadata;\n }\n /**\n * Pushes all terms to iterator `it` that are a solution of ?s predicate* ?o.\n * @param {string} subjectVar String representation of subjectVariable\n * @param {string} objectVar String representation of objectVariable\n * @param {Term} subjectVal Term of where we start the predicate* search.\n * @param {Term} objectVal Found solution for an object, start for the new step.\n * @param {Algebra.PropertyPathSymbol} predicate Predicate of the *-path.\n * @param {Term} graph The graph in which we search for the pattern.\n * @param {ActionContext} context\n * @param {{[id: string]: Promise}} termHashesGlobal\n * Remembers solutions for when objectVal is already been calculated, can be reused when same objectVal occurs\n * @param {{[id: string]: Term}} termHashesCurrentSubject\n * Remembers the pairs we've already searched for, can stop searching if so.\n * @param {BufferedIterator} it Iterator to push terms to.\n * @param {any} counter Counts how many searches are in progress to close it when needed (when counter == 0).\n * @param algebraFactory The algebra factory.\n * @param bindingsFactory The bindings factory.\n * @return {Promise} All solutions of query should have been pushed to it by then.\n */\n // Let the iterator `it` emit all bindings of size 2, with subjectStringVariable as value subjectVal\n // and objectStringVariable as value all nodes reachable through predicate* beginning at objectVal\n async getSubjectAndObjectBindingsPredicateStar(subjectVar, objectVar, subjectVal, objectVal, predicate, graph, context, termHashesGlobal, termHashesCurrentSubject, it, counter, algebraFactory, bindingsFactory) {\n const termString = (0, rdf_string_1.termToString)(objectVal) + (0, rdf_string_1.termToString)(graph);\n // If this combination of subject and object already done, return nothing\n if (termHashesCurrentSubject[termString]) {\n return;\n }\n counter.count++;\n termHashesCurrentSubject[termString] = true;\n it._push(bindingsFactory.bindings([\n [subjectVar, subjectVal],\n [objectVar, objectVal],\n ]));\n // If every reachable node from object has already been calculated, use these for current subject too\n if (termString in termHashesGlobal) {\n const objects = await termHashesGlobal[termString];\n for (const object of objects) {\n await this.getSubjectAndObjectBindingsPredicateStar(subjectVar, objectVar, subjectVal, object, predicate, graph, context, termHashesGlobal, termHashesCurrentSubject, it, counter, algebraFactory, bindingsFactory);\n }\n if (--counter.count === 0) {\n it.close();\n }\n return;\n }\n // Construct promise to calculate all reachable nodes from this object\n // TODO: fixme\n // eslint-disable-next-line no-async-promise-executor,ts/no-misused-promises\n const promise = new Promise(async (resolve, reject) => {\n const objectsArray = [];\n // Construct path that leads us one step through predicate\n const thisVariable = this.generateVariable(algebraFactory.dataFactory);\n const path = algebraFactory.createPath(objectVal, predicate, thisVariable, graph);\n const results = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation: path, context }));\n // Recursive call on all neighbours\n // TODO: fixme\n // eslint-disable-next-line ts/no-misused-promises\n results.bindingsStream.on('data', async (bindings) => {\n const result = bindings.get(thisVariable);\n objectsArray.push(result);\n await this.getSubjectAndObjectBindingsPredicateStar(subjectVar, objectVar, subjectVal, result, predicate, graph, context, termHashesGlobal, termHashesCurrentSubject, it, counter, algebraFactory, bindingsFactory);\n });\n results.bindingsStream.on('error', reject);\n results.bindingsStream.on('end', () => {\n if (--counter.count === 0) {\n it.close();\n }\n resolve(objectsArray);\n });\n });\n // Set it in the termHashesGlobal when this object occurs again they can wait for this promise\n termHashesGlobal[termString] = promise;\n }\n /**\n * Find all sources recursively contained in the given path operation.\n * @param operation\n */\n getPathSources(operation) {\n switch (operation.type) {\n case sparqlalgebrajs_1.Algebra.types.ALT:\n case sparqlalgebrajs_1.Algebra.types.SEQ:\n return operation.input\n .flatMap((subOp) => this.getPathSources(subOp));\n case sparqlalgebrajs_1.Algebra.types.INV:\n case sparqlalgebrajs_1.Algebra.types.ONE_OR_MORE_PATH:\n case sparqlalgebrajs_1.Algebra.types.ZERO_OR_MORE_PATH:\n case sparqlalgebrajs_1.Algebra.types.ZERO_OR_ONE_PATH:\n return this.getPathSources(operation.path);\n case sparqlalgebrajs_1.Algebra.types.LINK:\n case sparqlalgebrajs_1.Algebra.types.NPS: {\n const source = (0, utils_query_operation_1.getOperationSource)(operation);\n if (!source) {\n throw new Error(`Could not find a required source on a link path operation`);\n }\n return [source];\n }\n }\n }\n assignPatternSources(algebraFactory, pattern, sources) {\n if (sources.length === 0) {\n throw new Error(`Attempted to assign zero sources to a pattern during property path handling`);\n }\n if (sources.length === 1) {\n return (0, utils_query_operation_1.assignOperationSource)(pattern, sources[0]);\n }\n return algebraFactory.createUnion(sources\n .map(source => (0, utils_query_operation_1.assignOperationSource)(pattern, source)), true);\n }\n}\nexports.ActorAbstractPath = ActorAbstractPath;\n//# sourceMappingURL=ActorAbstractPath.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathVariableObjectIterator = void 0;\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * An iterator that implements the multi-length property path operation (* and +)\n * for a fixed subject and predicate, and a variable object.\n */\nclass PathVariableObjectIterator extends asynciterator_1.BufferedIterator {\n constructor(algebraFactory, subject, predicate, graph, context, mediatorQueryOperation, emitFirstSubject, maxRunningOperations = 16) {\n // The autoStart flag must be true to kickstart metadata collection\n super({ autoStart: true });\n this.algebraFactory = algebraFactory;\n this.subject = subject;\n this.predicate = predicate;\n this.graph = graph;\n this.context = context;\n this.mediatorQueryOperation = mediatorQueryOperation;\n this.maxRunningOperations = maxRunningOperations;\n this.termHashes = new Map();\n this.runningOperations = [];\n this.pendingOperations = [];\n // Push the subject as starting point\n this._push(this.subject, emitFirstSubject);\n }\n _end(destroy) {\n // Close all running iterators\n for (const it of this.runningOperations) {\n it.destroy();\n }\n super._end(destroy);\n }\n _push(item, pushAsResult = true) {\n let termString;\n if (pushAsResult) {\n // Don't push if this subject was already found\n termString = (0, rdf_string_1.termToString)(item);\n if (this.termHashes.has(termString)) {\n return;\n }\n }\n // Add a pending path operation for this item\n const variable = this.algebraFactory.dataFactory.variable('b');\n this.pendingOperations.push({\n variable,\n operation: this.algebraFactory.createPath(item, this.predicate, variable, this.graph),\n });\n // Otherwise, push the subject\n if (termString) {\n this.termHashes.set(termString, item);\n super._push(item);\n }\n }\n _read(count, done) {\n // eslint-disable-next-line ts/no-this-alias\n const self = this;\n (async function () {\n // Open as many operations as possible\n while (self.runningOperations.length < self.maxRunningOperations) {\n if (self.pendingOperations.length === 0) {\n break;\n }\n const pendingOperation = self.pendingOperations.pop();\n const results = (0, utils_query_operation_1.getSafeBindings)(await self.mediatorQueryOperation.mediate({ operation: pendingOperation.operation, context: self.context }));\n const runningOperation = results.bindingsStream.transform({\n autoStart: false,\n transform(bindings, next, push) {\n const newTerm = bindings.get(pendingOperation.variable);\n push(newTerm);\n next();\n },\n });\n if (!runningOperation.done) {\n self.runningOperations.push(runningOperation);\n runningOperation.on('error', error => self.destroy(error));\n runningOperation.on('readable', () => {\n self.readable = true;\n self._fillBufferAsync();\n });\n runningOperation.on('end', () => {\n self.runningOperations.splice(self.runningOperations.indexOf(runningOperation), 1);\n self.readable = true;\n self._fillBufferAsync();\n });\n }\n self.setProperty('metadata', results.metadata);\n }\n // Try to read `count` items (based on UnionIterator)\n let lastCount = 0;\n let item;\n // eslint-disable-next-line no-cond-assign\n while (lastCount !== (lastCount = count)) {\n // Prioritize the operations that have been added first\n for (let i = 0; i < self.runningOperations.length && count > 0; i++) {\n // eslint-disable-next-line no-cond-assign\n if ((item = self.runningOperations[i].read()) !== null) {\n count--;\n self._push(item);\n }\n }\n }\n // Close if everything has been read\n if (self.runningOperations.length === 0 && self.pendingOperations.length === 0) {\n self.close();\n }\n })().then(() => {\n done();\n }, error => this.destroy(error));\n }\n}\nexports.PathVariableObjectIterator = PathVariableObjectIterator;\n//# sourceMappingURL=PathVariableObjectIterator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorAbstractPath\"), exports);\n__exportStar(require(\"./PathVariableObjectIterator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactoryAverage = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst AverageAggregator_1 = require(\"./AverageAggregator\");\n/**\n * A comunica Average Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactoryAverage extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async test(action) {\n if (action.expr.aggregator !== 'avg') {\n return (0, core_1.failTest)('This actor only supports the \\'avg\\' aggregator.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ context, expr }) {\n return new AverageAggregator_1.AverageAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct, context.getSafe(context_entries_1.KeysInitQuery.dataFactory), await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.ADDITION,\n context,\n requireTermExpression: true,\n }), await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.DIVISION,\n context,\n requireTermExpression: true,\n }));\n }\n}\nexports.ActorBindingsAggregatorFactoryAverage = ActorBindingsAggregatorFactoryAverage;\n//# sourceMappingURL=ActorBindingsAggregatorFactoryAverage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AverageAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst Eval = require(\"@comunica/utils-expression-evaluator\");\nclass AverageAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, dataFactory, additionFunction, divisionFunction, throwError) {\n super(evaluator, distinct, throwError);\n this.dataFactory = dataFactory;\n this.additionFunction = additionFunction;\n this.divisionFunction = divisionFunction;\n this.state = undefined;\n }\n emptyValueTerm() {\n return Eval.typedLiteral('0', Eval.TypeURL.XSD_INTEGER);\n }\n putTerm(term) {\n if (this.state === undefined) {\n const sum = this.termToNumericOrError(term);\n this.state = { sum, count: 1 };\n }\n else {\n const internalTerm = this.termToNumericOrError(term);\n this.state.sum = this.additionFunction\n .applyOnTerms([this.state.sum, internalTerm], this.evaluator);\n this.state.count++;\n }\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n const count = new Eval.IntegerLiteral(this.state.count);\n const result = this.divisionFunction.applyOnTerms([this.state.sum, count], this.evaluator);\n return result.toRDF(this.dataFactory);\n }\n}\nexports.AverageAggregator = AverageAggregator;\n//# sourceMappingURL=AverageAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactoryAverage\"), exports);\n__exportStar(require(\"./AverageAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactoryCount = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst CountAggregator_1 = require(\"./CountAggregator\");\n/**\n * A comunica Count Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactoryCount extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.expr.aggregator !== 'count' ||\n action.expr.expression.expressionType === sparqlalgebrajs_1.Algebra.expressionTypes.WILDCARD) {\n return (0, core_1.failTest)('This actor only supports the \\'count\\' aggregator without wildcard.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ context, expr }) {\n return new CountAggregator_1.CountAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct);\n }\n}\nexports.ActorBindingsAggregatorFactoryCount = ActorBindingsAggregatorFactoryCount;\n//# sourceMappingURL=ActorBindingsAggregatorFactoryCount.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CountAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass CountAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, throwError) {\n super(evaluator, distinct, throwError);\n this.state = undefined;\n }\n emptyValueTerm() {\n return (0, utils_expression_evaluator_1.typedLiteral)('0', utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n putTerm(_) {\n if (this.state === undefined) {\n this.state = 0;\n }\n this.state++;\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n return (0, utils_expression_evaluator_1.typedLiteral)(String(this.state), utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n}\nexports.CountAggregator = CountAggregator;\n//# sourceMappingURL=CountAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactoryCount\"), exports);\n__exportStar(require(\"./CountAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.toSparqlJs = exports.toSparql = exports.Factory = exports.Algebra = exports.translate = void 0;\nconst sparqlAlgebra_1 = __importDefault(require(\"./lib/sparqlAlgebra\"));\nexports.translate = sparqlAlgebra_1.default;\nconst Algebra = __importStar(require(\"./lib/algebra\"));\nexports.Algebra = Algebra;\nconst factory_1 = __importDefault(require(\"./lib/factory\"));\nexports.Factory = factory_1.default;\nconst sparql_1 = require(\"./lib/sparql\");\nObject.defineProperty(exports, \"toSparql\", { enumerable: true, get: function () { return sparql_1.toSparql; } });\nObject.defineProperty(exports, \"toSparqlJs\", { enumerable: true, get: function () { return sparql_1.toSparqlJs; } });\nconst util_1 = __importDefault(require(\"./lib/util\"));\nexports.Util = util_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expressionTypes = exports.types = void 0;\nvar types;\n(function (types) {\n types[\"ALT\"] = \"alt\";\n types[\"ASK\"] = \"ask\";\n types[\"BGP\"] = \"bgp\";\n types[\"CONSTRUCT\"] = \"construct\";\n types[\"DESCRIBE\"] = \"describe\";\n types[\"DISTINCT\"] = \"distinct\";\n types[\"EXPRESSION\"] = \"expression\";\n types[\"EXTEND\"] = \"extend\";\n types[\"FILTER\"] = \"filter\";\n types[\"FROM\"] = \"from\";\n types[\"GRAPH\"] = \"graph\";\n types[\"GROUP\"] = \"group\";\n types[\"INV\"] = \"inv\";\n types[\"JOIN\"] = \"join\";\n types[\"LEFT_JOIN\"] = \"leftjoin\";\n types[\"LINK\"] = \"link\";\n types[\"MINUS\"] = \"minus\";\n types[\"NOP\"] = \"nop\";\n types[\"NPS\"] = \"nps\";\n types[\"ONE_OR_MORE_PATH\"] = \"OneOrMorePath\";\n types[\"ORDER_BY\"] = \"orderby\";\n types[\"PATH\"] = \"path\";\n types[\"PATTERN\"] = \"pattern\";\n types[\"PROJECT\"] = \"project\";\n types[\"REDUCED\"] = \"reduced\";\n types[\"SEQ\"] = \"seq\";\n types[\"SERVICE\"] = \"service\";\n types[\"SLICE\"] = \"slice\";\n types[\"UNION\"] = \"union\";\n types[\"VALUES\"] = \"values\";\n types[\"ZERO_OR_MORE_PATH\"] = \"ZeroOrMorePath\";\n types[\"ZERO_OR_ONE_PATH\"] = \"ZeroOrOnePath\";\n types[\"COMPOSITE_UPDATE\"] = \"compositeupdate\";\n types[\"DELETE_INSERT\"] = \"deleteinsert\";\n types[\"LOAD\"] = \"load\";\n types[\"CLEAR\"] = \"clear\";\n types[\"CREATE\"] = \"create\";\n types[\"DROP\"] = \"drop\";\n types[\"ADD\"] = \"add\";\n types[\"MOVE\"] = \"move\";\n types[\"COPY\"] = \"copy\";\n})(types = exports.types || (exports.types = {}));\nvar expressionTypes;\n(function (expressionTypes) {\n expressionTypes[\"AGGREGATE\"] = \"aggregate\";\n expressionTypes[\"EXISTENCE\"] = \"existence\";\n expressionTypes[\"NAMED\"] = \"named\";\n expressionTypes[\"OPERATOR\"] = \"operator\";\n expressionTypes[\"TERM\"] = \"term\";\n expressionTypes[\"WILDCARD\"] = \"wildcard\";\n})(expressionTypes = exports.expressionTypes || (exports.expressionTypes = {}));\n//# sourceMappingURL=algebra.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst A = __importStar(require(\"./algebra\"));\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst sparqljs_1 = require(\"sparqljs\");\nclass Factory {\n constructor(dataFactory) {\n this.dataFactory = dataFactory || new rdf_data_factory_1.DataFactory();\n this.stringType = this.createTerm('http://www.w3.org/2001/XMLSchema#string');\n }\n createAlt(input, flatten = true) { return this.flattenMulti({ type: A.types.ALT, input }, flatten); }\n createAsk(input) { return { type: A.types.ASK, input }; }\n createBoundAggregate(variable, aggregate, expression, distinct, separator) {\n const result = this.createAggregateExpression(aggregate, expression, distinct, separator);\n result.variable = variable;\n return result;\n }\n createBgp(patterns) { return { type: A.types.BGP, patterns }; }\n createConstruct(input, template) { return { type: A.types.CONSTRUCT, input, template }; }\n createDescribe(input, terms) { return { type: A.types.DESCRIBE, input, terms }; }\n createDistinct(input) { return { type: A.types.DISTINCT, input }; }\n createExtend(input, variable, expression) { return { type: A.types.EXTEND, input, variable, expression }; }\n createFrom(input, def, named) { return { type: A.types.FROM, input, default: def, named }; }\n createFilter(input, expression) { return { type: A.types.FILTER, input, expression }; }\n createGraph(input, name) { return { type: A.types.GRAPH, input, name }; }\n createGroup(input, variables, aggregates) { return { type: A.types.GROUP, input, variables, aggregates }; }\n createInv(path) { return { type: A.types.INV, path }; }\n createJoin(input, flatten = true) { return this.flattenMulti({ type: A.types.JOIN, input }, flatten); }\n createLeftJoin(left, right, expression) {\n if (expression)\n return { type: A.types.LEFT_JOIN, input: [left, right], expression };\n return { type: A.types.LEFT_JOIN, input: [left, right] };\n }\n createLink(iri) { return { type: A.types.LINK, iri }; }\n createMinus(left, right) { return { type: A.types.MINUS, input: [left, right] }; }\n createNop() { return { type: A.types.NOP }; }\n createNps(iris) { return { type: A.types.NPS, iris }; }\n createOneOrMorePath(path) { return { type: A.types.ONE_OR_MORE_PATH, path }; }\n createOrderBy(input, expressions) { return { type: A.types.ORDER_BY, input, expressions }; }\n createPath(subject, predicate, object, graph) {\n if (graph)\n return { type: A.types.PATH, subject, predicate, object, graph };\n return { type: A.types.PATH, subject, predicate, object, graph: this.dataFactory.defaultGraph() };\n }\n createPattern(subject, predicate, object, graph) {\n const pattern = this.dataFactory.quad(subject, predicate, object, graph);\n pattern.type = A.types.PATTERN;\n return pattern;\n }\n createProject(input, variables) { return { type: A.types.PROJECT, input, variables }; }\n createReduced(input) { return { type: A.types.REDUCED, input }; }\n createSeq(input, flatten = true) { return this.flattenMulti({ type: A.types.SEQ, input }, flatten); }\n createService(input, name, silent) { return { type: A.types.SERVICE, input, name, silent: Boolean(silent) }; }\n createSlice(input, start, length) {\n start = start || 0;\n if (length !== undefined)\n return { type: A.types.SLICE, input, start, length };\n return { type: A.types.SLICE, input, start };\n }\n createUnion(input, flatten = true) { return this.flattenMulti({ type: A.types.UNION, input }, flatten); }\n createValues(variables, bindings) { return { type: A.types.VALUES, variables, bindings }; }\n createZeroOrMorePath(path) { return { type: A.types.ZERO_OR_MORE_PATH, path }; }\n createZeroOrOnePath(path) { return { type: A.types.ZERO_OR_ONE_PATH, path }; }\n createAggregateExpression(aggregator, expression, distinct, separator) {\n if (separator)\n return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.AGGREGATE, aggregator: aggregator, expression, separator, distinct };\n return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.AGGREGATE, aggregator: aggregator, expression, distinct };\n }\n createExistenceExpression(not, input) { return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.EXISTENCE, not, input }; }\n createNamedExpression(name, args) { return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.NAMED, name, args }; }\n createOperatorExpression(operator, args) { return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.OPERATOR, operator, args }; }\n createTermExpression(term) { return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.TERM, term }; }\n createWildcardExpression() { return { type: A.types.EXPRESSION, expressionType: A.expressionTypes.WILDCARD, wildcard: new sparqljs_1.Wildcard() }; }\n createTerm(str) {\n return (0, rdf_string_1.stringToTerm)(str, this.dataFactory);\n }\n // Update functions\n createCompositeUpdate(updates) { return { type: A.types.COMPOSITE_UPDATE, updates }; }\n createDeleteInsert(deleteQuads, insertQuads, where) {\n const result = { type: A.types.DELETE_INSERT };\n if (deleteQuads)\n result.delete = deleteQuads;\n if (insertQuads)\n result.insert = insertQuads;\n if (where)\n result.where = where;\n return result;\n }\n createLoad(source, destination, silent) {\n const result = { type: A.types.LOAD, source };\n if (destination)\n result.destination = destination;\n return this.addSilent(result, Boolean(silent));\n }\n createClear(source, silent) {\n return this.addSilent({ type: A.types.CLEAR, source }, Boolean(silent));\n }\n createCreate(source, silent) {\n return this.addSilent({ type: A.types.CREATE, source }, Boolean(silent));\n }\n createDrop(source, silent) {\n return this.addSilent({ type: A.types.DROP, source }, Boolean(silent));\n }\n createAdd(source, destination, silent) {\n return this.addSilent({ type: A.types.ADD, source, destination }, Boolean(silent));\n }\n createMove(source, destination, silent) {\n return this.addSilent({ type: A.types.MOVE, source, destination }, Boolean(silent));\n }\n createCopy(source, destination, silent) {\n return this.addSilent({ type: A.types.COPY, source, destination }, Boolean(silent));\n }\n addSilent(input, silent) {\n if (silent)\n input.silent = silent;\n return input;\n }\n flattenMulti(input, flatten) {\n if (!flatten) {\n return input;\n }\n const type = input.type;\n const children = input.input;\n let newChildren = [];\n for (const child of children) {\n if (child.type === type) {\n newChildren.push(...child.input);\n }\n else {\n newChildren.push(child);\n }\n }\n input.input = newChildren;\n return input;\n }\n}\nexports.default = Factory;\n//# sourceMappingURL=factory.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toSparqlJs = exports.toSparql = void 0;\nconst rdf_isomorphic_1 = require(\"rdf-isomorphic\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst sparqljs_1 = require(\"sparqljs\");\nconst Algebra = __importStar(require(\"./algebra\"));\nconst factory_1 = __importDefault(require(\"./factory\"));\nconst util_1 = __importDefault(require(\"./util\"));\nconst types = Algebra.types;\nconst eTypes = Algebra.expressionTypes;\nlet context;\nconst factory = new factory_1.default();\nfunction toSparql(op, options = {}) {\n let generator = new sparqljs_1.Generator(options);\n return generator.stringify(toSparqlJs(op));\n}\nexports.toSparql = toSparql;\nfunction toSparqlJs(op) {\n resetContext();\n op = removeQuads(op);\n let result = translateOperation(op);\n if (result.type === 'group')\n return result.patterns[0];\n return result;\n}\nexports.toSparqlJs = toSparqlJs;\nfunction resetContext() {\n context = { project: false, extend: [], group: [], aggregates: [], order: [] };\n}\nfunction translateOperation(op) {\n // this allows us to differentiate between BIND and SELECT when translating EXTEND\n // GRAPH was added because the way graphs get added back here is not the same as how they get added in the future\n // ^ seems fine but might have to be changed if problems get detected in the future\n if (op.type !== types.EXTEND && op.type !== types.ORDER_BY && op.type !== types.GRAPH)\n context.project = false;\n switch (op.type) {\n case types.EXPRESSION: return translateExpression(op);\n case types.ASK: return translateProject(op, types.ASK);\n case types.BGP: return translateBgp(op);\n case types.CONSTRUCT: return translateConstruct(op);\n case types.DESCRIBE: return translateProject(op, types.DESCRIBE);\n case types.DISTINCT: return translateDistinct(op);\n case types.EXTEND: return translateExtend(op);\n case types.FROM: return translateFrom(op);\n case types.FILTER: return translateFilter(op);\n case types.GRAPH: return translateGraph(op);\n case types.GROUP: return translateGroup(op);\n case types.JOIN: return translateJoin(op);\n case types.LEFT_JOIN: return translateLeftJoin(op);\n case types.MINUS: return translateMinus(op);\n case types.NOP: return {};\n case types.ORDER_BY: return translateOrderBy(op);\n case types.PATH: return translatePath(op);\n case types.PATTERN: return translatePattern(op);\n case types.PROJECT: return translateProject(op, types.PROJECT);\n case types.REDUCED: return translateReduced(op);\n case types.SERVICE: return translateService(op);\n case types.SLICE: return translateSlice(op);\n case types.UNION: return translateUnion(op);\n case types.VALUES: return translateValues(op);\n // UPDATE operations\n case types.COMPOSITE_UPDATE: return translateCompositeUpdate(op);\n case types.DELETE_INSERT: return translateDeleteInsert(op);\n case types.LOAD: return translateLoad(op);\n case types.CLEAR: return translateClear(op);\n case types.CREATE: return translateCreate(op);\n case types.DROP: return translateDrop(op);\n case types.ADD: return translateAdd(op);\n case types.MOVE: return translateMove(op);\n case types.COPY: return translateCopy(op);\n }\n throw new Error(`Unknown Operation type ${op.type}`);\n}\nfunction translateExpression(expr) {\n switch (expr.expressionType) {\n case eTypes.AGGREGATE: return translateAggregateExpression(expr);\n case eTypes.EXISTENCE: return translateExistenceExpression(expr);\n case eTypes.NAMED: return translateNamedExpression(expr);\n case eTypes.OPERATOR: return translateOperatorExpression(expr);\n case eTypes.TERM: return translateTermExpression(expr);\n case eTypes.WILDCARD: return translateWildcardExpression(expr);\n }\n throw new Error(`Unknown Expression Operation type ${expr.expressionType}`);\n}\nfunction translatePathComponent(path) {\n switch (path.type) {\n case types.ALT: return translateAlt(path);\n case types.INV: return translateInv(path);\n case types.LINK: return translateLink(path);\n case types.NPS: return translateNps(path);\n case types.ONE_OR_MORE_PATH: return translateOneOrMorePath(path);\n case types.SEQ: return translateSeq(path);\n case types.ZERO_OR_MORE_PATH: return translateZeroOrMorePath(path);\n case types.ZERO_OR_ONE_PATH: return translateZeroOrOnePath(path);\n }\n throw new Error(`Unknown Path type ${path.type}`);\n}\nfunction translateTerm(term) {\n return (0, rdf_string_1.termToString)(term);\n}\n// ------------------------- EXPRESSIONS -------------------------\nfunction translateAggregateExpression(expr) {\n const result = {\n expression: translateExpression(expr.expression),\n type: 'aggregate',\n aggregation: expr.aggregator,\n distinct: expr.distinct\n };\n if (expr.separator)\n result.separator = expr.separator;\n return result;\n}\nfunction translateExistenceExpression(expr) {\n return {\n type: 'operation',\n operator: expr.not ? 'notexists' : 'exists',\n args: util_1.default.flatten([\n translateOperation(expr.input)\n ])\n };\n}\nfunction translateNamedExpression(expr) {\n return {\n type: 'functionCall',\n // Wrong typings\n function: expr.name,\n args: expr.args.map(translateExpression)\n };\n}\nfunction translateOperatorExpression(expr) {\n if (expr.operator === 'desc') {\n const result = { expression: translateExpression(expr.args[0]) };\n result.descending = true;\n return result;\n }\n const result = {\n type: 'operation',\n operator: expr.operator,\n args: expr.args.map(translateExpression)\n };\n if (result.operator === 'in' || result.operator === 'notin')\n result.args = [result.args[0]].concat([result.args.slice(1)]);\n return result;\n}\nfunction translateTermExpression(expr) {\n return expr.term;\n}\nfunction translateWildcardExpression(expr) {\n return expr.wildcard;\n}\nfunction arrayToPattern(input) {\n if (!Array.isArray(input))\n return input;\n if (input.length === 1)\n return input[0];\n return {\n type: 'group',\n patterns: input,\n };\n}\n// ------------------------- OPERATIONS -------------------------\n// these get translated in the project function\nfunction translateBoundAggregate(op) {\n return op;\n}\nfunction translateBgp(op) {\n let patterns = op.patterns.map(translatePattern);\n if (patterns.length === 0)\n return null;\n return {\n type: 'bgp',\n triples: patterns\n };\n}\nfunction translateConstruct(op) {\n return {\n type: 'query',\n prefixes: {},\n queryType: 'CONSTRUCT',\n template: op.template.map(translatePattern),\n where: util_1.default.flatten([\n translateOperation(op.input)\n ])\n };\n}\nfunction translateDistinct(op) {\n let result = translateOperation(op.input);\n // project is nested in group object\n result.patterns[0].distinct = true;\n return result;\n}\nfunction translateExtend(op) {\n if (context.project) {\n context.extend.push(op);\n return translateOperation(op.input);\n }\n return util_1.default.flatten([\n translateOperation(op.input),\n {\n type: 'bind',\n variable: op.variable,\n expression: translateExpression(op.expression)\n }\n ]);\n}\nfunction translateFrom(op) {\n const result = translateOperation(op.input);\n // Can't type as CONSTRUCT queries do not have `from` field in their type\n let obj = result;\n // project is nested in group object\n if (result.type === 'group') {\n obj = result.patterns[0];\n }\n obj.from = {\n default: op.default,\n named: op.named\n };\n return result;\n}\nfunction translateFilter(op) {\n return {\n type: 'group',\n patterns: util_1.default.flatten([\n translateOperation(op.input),\n { type: 'filter', expression: translateExpression(op.expression) }\n ])\n };\n}\nfunction translateGraph(op) {\n return {\n type: 'graph',\n patterns: util_1.default.flatten([translateOperation(op.input)]),\n name: op.name\n };\n}\nfunction translateGroup(op) {\n const input = translateOperation(op.input);\n const aggs = op.aggregates.map(translateBoundAggregate);\n context.aggregates.push(...aggs);\n // TODO: apply possible extends\n context.group.push(...op.variables);\n return input;\n}\nfunction translateJoin(op) {\n const arr = util_1.default.flatten(op.input.map(translateOperation));\n // Merge bgps\n // This is possible if one side was a path and the other a bgp for example\n return arr.reduce((result, val) => {\n if (val.type !== 'bgp' || result.length == 0 || result[result.length - 1].type !== 'bgp') {\n result.push(val);\n }\n else {\n result[result.length - 1].triples.push(...val.triples);\n }\n return result;\n }, []);\n}\nfunction translateLeftJoin(op) {\n const leftjoin = {\n type: 'optional',\n patterns: [\n translateOperation(op.input[1])\n ]\n };\n if (op.expression) {\n leftjoin.patterns.push({\n type: 'filter',\n expression: translateExpression(op.expression)\n });\n }\n leftjoin.patterns = util_1.default.flatten(leftjoin.patterns);\n return util_1.default.flatten([\n translateOperation(op.input[0]),\n leftjoin\n ]);\n}\nfunction translateMinus(op) {\n let patterns = translateOperation(op.input[1]);\n if (patterns.type === 'group')\n patterns = patterns.patterns;\n if (!Array.isArray(patterns))\n patterns = [patterns];\n return util_1.default.flatten([\n translateOperation(op.input[0]),\n {\n type: 'minus',\n patterns: patterns\n }\n ]);\n}\nfunction translateOrderBy(op) {\n context.order.push(...op.expressions);\n return translateOperation(op.input);\n}\nfunction translatePath(op) {\n return {\n type: 'bgp',\n triples: [{\n subject: op.subject,\n predicate: translatePathComponent(op.predicate),\n object: op.object\n }]\n };\n}\nfunction translatePattern(op) {\n return {\n subject: op.subject,\n predicate: op.predicate,\n object: op.object\n };\n}\nfunction replaceAggregatorVariables(s, map) {\n let st = util_1.default.isSimpleTerm(s) ? translateTerm(s) : s;\n if (typeof st === 'string') {\n if (map[st])\n return map[st];\n }\n else if (Array.isArray(s)) {\n s = s.map(e => replaceAggregatorVariables(e, map));\n }\n else {\n for (let key of Object.keys(s))\n s[key] = replaceAggregatorVariables(s[key], map);\n }\n return s;\n}\nfunction translateProject(op, type) {\n const result = {\n type: 'query',\n prefixes: {}\n };\n // Makes typing easier in some places\n const select = result;\n let variables;\n if (type === types.PROJECT) {\n result.queryType = 'SELECT';\n variables = op.variables;\n }\n else if (type === types.ASK) {\n result.queryType = 'ASK';\n }\n else if (type === types.DESCRIBE) {\n result.queryType = 'DESCRIBE';\n variables = op.terms;\n }\n // backup values in case of nested queries\n // everything in extend, group, etc. is irrelevant for this project call\n const extend = context.extend;\n const group = context.group;\n const aggregates = context.aggregates;\n const order = context.order;\n resetContext();\n context.project = true;\n let input = util_1.default.flatten([translateOperation(op.input)]);\n if (input.length === 1 && input[0].type === 'group')\n input = input[0].patterns;\n result.where = input;\n let aggregators = {};\n // these can not reference each other\n for (let agg of context.aggregates)\n aggregators[translateTerm(agg.variable)] = translateExpression(agg);\n // do these in reverse order since variables in one extend might apply to an expression in an other extend\n let extensions = {};\n for (let i = context.extend.length - 1; i >= 0; --i) {\n let e = context.extend[i];\n extensions[translateTerm(e.variable)] = replaceAggregatorVariables(translateExpression(e.expression), aggregators);\n }\n if (context.group.length > 0)\n select.group = context.group.map(variable => {\n let v = translateTerm(variable);\n if (extensions[v]) {\n let result = extensions[v];\n delete extensions[v]; // make sure there is only 1 'AS' statement\n return {\n variable,\n expression: result\n };\n }\n return { expression: variable };\n });\n // descending expressions will already be in the correct format due to the structure of those\n if (context.order.length > 0)\n select.order = context.order.map(translateOperation).map(o => o.descending ? o : ({ expression: o }));\n // this needs to happen after the group because it might depend on variables generated there\n if (variables) {\n select.variables = variables.map((term) => {\n let v = translateTerm(term);\n if (extensions[v])\n return {\n variable: term,\n expression: extensions[v]\n };\n return term;\n });\n // if the * didn't match any variables this would be empty\n if (select.variables.length === 0)\n select.variables = [new sparqljs_1.Wildcard()];\n }\n // convert filter to 'having' if it contains an aggregator variable\n // could always convert, but is nicer to use filter when possible\n if (result.where.length > 0 && result.where[result.where.length - 1].type === 'filter') {\n const filter = result.where[result.where.length - 1];\n if (objectContainsValues(filter, Object.keys(aggregators))) {\n select.having = util_1.default.flatten([replaceAggregatorVariables(filter.expression, aggregators)]);\n result.where.splice(-1);\n }\n }\n context.extend = extend;\n context.group = group;\n context.aggregates = aggregates;\n context.order = order;\n // subqueries need to be in a group, this will be removed again later for the root query\n return { type: 'group', patterns: [select] };\n}\nfunction objectContainsValues(o, vals) {\n if (util_1.default.isSimpleTerm(o))\n return vals.indexOf(translateTerm(o)) >= 0;\n if (Array.isArray(o))\n return o.some(e => objectContainsValues(e, vals));\n if (o === Object(o))\n return Object.keys(o).some(key => objectContainsValues(o[key], vals));\n return vals.indexOf(o) >= 0;\n}\nfunction translateReduced(op) {\n let result = translateOperation(op.input);\n // project is nested in group object\n result.patterns[0].reduced = true;\n return result;\n}\nfunction translateService(op) {\n let patterns = translateOperation(op.input);\n if (patterns.type === 'group')\n patterns = patterns.patterns;\n if (!Array.isArray(patterns))\n patterns = [patterns];\n return {\n type: 'service',\n // Typings are wrong, name can also be a variable\n name: op.name,\n silent: op.silent,\n patterns\n };\n}\nfunction translateSlice(op) {\n let result = translateOperation(op.input);\n // results can be nested in a group object\n let obj = result;\n if (result.type && result.type === 'group')\n obj = result.patterns[0];\n if (op.start !== 0)\n obj.offset = op.start;\n if (op.length !== undefined)\n obj.limit = op.length;\n return result;\n}\nfunction translateUnion(op) {\n return {\n type: 'union',\n patterns: op.input.map(translateOperation).map(arrayToPattern),\n };\n}\nfunction translateValues(op) {\n // TODO: check if handled correctly when outside of select block\n return {\n type: 'values',\n values: op.bindings.map(binding => {\n let result = {};\n for (let v of op.variables) {\n let s = `?${v.value}`;\n if (binding[s])\n result[s] = binding[s];\n else\n result[s] = undefined;\n }\n return result;\n })\n };\n}\n// PATH COMPONENTS\nfunction translateAlt(path) {\n const mapped = path.input.map(translatePathComponent);\n if (mapped.every(entry => 'pathType' in entry && entry.pathType === '!')) {\n return {\n type: 'path',\n pathType: '!',\n items: [{\n type: 'path',\n pathType: '|',\n items: util_1.default.flatten(mapped.map(entry => entry.items))\n }]\n };\n }\n return {\n type: 'path',\n pathType: '|',\n items: mapped\n };\n}\nfunction translateInv(path) {\n if (path.path.type === types.NPS) {\n const inv = path.path.iris.map((iri) => {\n return {\n type: 'path',\n pathType: '^',\n items: [iri]\n };\n });\n if (inv.length <= 1)\n return {\n type: 'path',\n pathType: '!',\n items: inv\n };\n return {\n type: 'path',\n pathType: '!',\n items: [{\n type: 'path',\n pathType: '|',\n items: inv\n }]\n };\n }\n return {\n type: 'path',\n pathType: '^',\n items: [translatePathComponent(path.path)]\n };\n}\nfunction translateLink(path) {\n return path.iri;\n}\nfunction translateNps(path) {\n if (path.iris.length <= 1)\n return {\n type: 'path',\n pathType: '!',\n items: path.iris\n };\n return {\n type: 'path',\n pathType: '!',\n items: [{\n type: 'path',\n pathType: '|',\n items: path.iris\n }]\n };\n}\nfunction translateOneOrMorePath(path) {\n return {\n type: 'path',\n pathType: '+',\n items: [translatePathComponent(path.path)]\n };\n}\nfunction translateSeq(path) {\n return {\n type: 'path',\n pathType: '/',\n items: path.input.map(translatePathComponent)\n };\n}\nfunction translateZeroOrMorePath(path) {\n return {\n type: 'path',\n pathType: '*',\n items: [translatePathComponent(path.path)]\n };\n}\nfunction translateZeroOrOnePath(path) {\n // Typings are missing '?' operator\n return {\n type: 'path',\n // Typings are missing this path\n pathType: '?',\n items: [translatePathComponent(path.path)]\n };\n}\n// UPDATE OPERATIONS\nfunction translateCompositeUpdate(op) {\n const updates = op.updates.map(update => {\n const result = translateOperation(update);\n return result.updates[0];\n });\n return { prefixes: {}, type: 'update', updates };\n}\nfunction translateDeleteInsert(op) {\n var _a;\n let where = op.where;\n let use = undefined;\n if (where && where.type === types.FROM) {\n let from = where;\n where = from.input;\n use = { default: from.default, named: from.named };\n }\n const updates = [{\n updateType: 'insertdelete',\n delete: convertUpdatePatterns(op.delete || []),\n insert: convertUpdatePatterns(op.insert || []),\n }];\n // Typings don't support 'using' yet\n if (use)\n updates[0].using = use;\n // corresponds to empty array in SPARQL.js\n if (!where || (where.type === types.BGP && where.patterns.length === 0))\n updates[0].where = [];\n else {\n const graphs = [];\n let result = translateOperation(removeQuadsRecursive(where, graphs));\n if (result.type === 'group')\n updates[0].where = result.patterns;\n else\n updates[0].where = [result];\n // graph might not be applied yet since there was no project\n // this can only happen if there was a single graph\n if (graphs.length > 0) {\n if (graphs.length !== 1)\n throw new Error('This is unexpected and might indicate an error in graph handling for updates.');\n // ignore if default graph\n if (((_a = graphs[0]) === null || _a === void 0 ? void 0 : _a.value) !== '')\n updates[0].where = [{ type: 'graph', patterns: updates[0].where, name: graphs[0] }];\n }\n }\n // not really necessary but can give cleaner looking queries\n if (!op.delete && !op.where) {\n updates[0].updateType = 'insert';\n delete updates[0].delete;\n delete updates[0].where;\n }\n else if (!op.insert && !op.where) {\n delete updates[0].insert;\n delete updates[0].where;\n if (op.delete.some(pattern => pattern.subject.termType === 'Variable' ||\n pattern.predicate.termType === 'Variable' ||\n pattern.object.termType === 'Variable'))\n updates[0].updateType = 'deletewhere';\n else\n updates[0].updateType = 'delete';\n }\n else if (!op.insert && op.where && op.where.type === 'bgp') {\n if ((0, rdf_isomorphic_1.isomorphic)(op.delete, op.where.patterns)) {\n delete updates[0].where;\n updates[0].updateType = 'deletewhere';\n }\n }\n return { prefixes: {}, type: 'update', updates };\n}\nfunction translateLoad(op) {\n // Typings are wrong, destiniation is optional\n const updates = [{ type: 'load', silent: Boolean(op.silent), source: op.source }];\n if (op.destination)\n updates[0].destination = op.destination;\n return { prefixes: {}, type: 'update', updates };\n}\nfunction translateClear(op) {\n return translateClearCreateDrop(op, 'clear');\n}\nfunction translateCreate(op) {\n return translateClearCreateDrop(op, 'create');\n}\nfunction translateDrop(op) {\n return translateClearCreateDrop(op, 'drop');\n}\nfunction translateClearCreateDrop(op, type) {\n const updates = [{ type, silent: Boolean(op.silent) }];\n // Typings are wrong, type is not required, see for example \"clear-drop\" test\n if (op.source === 'DEFAULT')\n updates[0].graph = { default: true };\n else if (op.source === 'NAMED')\n updates[0].graph = { named: true };\n else if (op.source === 'ALL')\n updates[0].graph = { all: true };\n else\n updates[0].graph = { type: 'graph', name: op.source };\n return { prefixes: {}, type: 'update', updates };\n}\nfunction translateAdd(op) {\n return translateUpdateGraphShortcut(op, 'add');\n}\nfunction translateMove(op) {\n return translateUpdateGraphShortcut(op, 'move');\n}\nfunction translateCopy(op) {\n return translateUpdateGraphShortcut(op, 'copy');\n}\nfunction translateUpdateGraphShortcut(op, type) {\n const updates = [{ type, silent: Boolean(op.silent) }];\n updates[0].source = op.source === 'DEFAULT' ? { type: 'graph', default: true } : { type: 'graph', name: op.source };\n updates[0].destination = op.destination === 'DEFAULT' ? { type: 'graph', default: true } : { type: 'graph', name: op.destination };\n return { prefixes: {}, type: 'update', updates };\n}\n// similar to removeQuads but more simplified for UPDATEs\nfunction convertUpdatePatterns(patterns) {\n if (!patterns)\n return [];\n const graphs = {};\n patterns.forEach(pattern => {\n const graph = pattern.graph.value;\n if (!graphs[graph])\n graphs[graph] = [];\n graphs[graph].push(pattern);\n });\n return Object.keys(graphs).map(graph => {\n if (graph === '')\n return { type: 'bgp', triples: graphs[graph].map(translatePattern) };\n return { type: 'graph', triples: graphs[graph].map(translatePattern), name: graphs[graph][0].graph };\n });\n}\nfunction removeQuads(op) {\n return removeQuadsRecursive(op, []);\n}\n// remove quads\nfunction removeQuadsRecursive(op, graphs) {\n if (Array.isArray(op))\n return op.map(sub => removeQuadsRecursive(sub, graphs));\n if (!op.type)\n return op;\n // UPDATE operations with Patterns handle graphs a bit differently\n if (op.type === types.DELETE_INSERT)\n return op;\n if ((op.type === types.PATTERN || op.type === types.PATH) && op.graph) {\n graphs.push(op.graph);\n // Remove non-default graphs\n if (op.graph.name !== '')\n return op.type === types.PATTERN ?\n factory.createPattern(op.subject, op.predicate, op.object) :\n factory.createPath(op.subject, op.predicate, op.object);\n return op;\n }\n const result = {};\n const keyGraphs = {}; // unique graph per key\n const globalNames = {}; // track all the unique graph names for the entire Operation\n for (let key of Object.keys(op)) {\n const newGraphs = [];\n result[key] = removeQuadsRecursive(op[key], newGraphs);\n if (newGraphs.length > 0) {\n keyGraphs[key] = newGraphs;\n for (const graph of newGraphs) {\n globalNames[graph.value] = graph;\n }\n }\n }\n const graphNameSet = Object.keys(globalNames);\n if (graphNameSet.length > 0) {\n // We also need to create graph statement if we are at the edge of certain operations\n if (graphNameSet.length === 1 && ![types.PROJECT, types.SERVICE].includes(op.type))\n graphs.push(globalNames[graphNameSet[0]]);\n else if (op.type === types.BGP) {\n // This is the specific case that got changed because of using quads.\n return splitBgpToGraphs(op, keyGraphs.patterns);\n }\n else {\n // multiple graphs (or project), need to create graph objects for them\n for (let key of Object.keys(keyGraphs)) {\n const value = result[key];\n if (Array.isArray(value))\n result[key] = value.map((child, idx) => keyGraphs[key][0].value === '' ? child : factory.createGraph(child, keyGraphs[key][idx]));\n else if (keyGraphs[key][0].value !== '')\n result[key] = factory.createGraph(value, keyGraphs[key][0]);\n }\n }\n }\n return result;\n}\n// `graphs` should be an array of length identical to `op.patterns`, containing the corresponding graph for each triple.\nfunction splitBgpToGraphs(op, graphs) {\n var _a;\n // Split patterns per graph\n const graphPatterns = {};\n for (let i = 0; i < op.patterns.length; ++i) {\n const pattern = op.patterns[i];\n const graphName = graphs[i].value;\n graphPatterns[graphName] = (_a = graphPatterns[graphName]) !== null && _a !== void 0 ? _a : { patterns: [], graph: graphs[i] };\n graphPatterns[graphName].patterns.push(pattern);\n }\n // Create graph objects for every cluster\n let children = [];\n for (const [graphName, { patterns, graph }] of Object.entries(graphPatterns)) {\n const bgp = factory.createBgp(patterns);\n children.push(graphName === '' ? bgp : factory.createGraph(bgp, graph));\n }\n // Join the graph objects\n let join = children[0];\n for (let i = 1; i < children.length; ++i)\n join = factory.createJoin([join, children[i]]);\n return join;\n}\n//# sourceMappingURL=sparql.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst equal = require(\"fast-deep-equal/es6\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst Algebra = __importStar(require(\"./algebra\"));\nconst factory_1 = __importDefault(require(\"./factory\"));\nconst util_1 = __importDefault(require(\"./util\"));\nconst Parser = require('sparqljs').Parser;\nconst types = Algebra.types;\nlet variables = new Set();\nlet varCount = 0;\nlet useQuads = false;\nlet factory;\n/**\n * Translates the given SPARQL query to SPARQL Algebra.\n * @param sparql - Either a SPARQL string or an object generated by sparql.js\n * @param options - Optional options object. Current options:\n * * dataFactory: The Datafactory used to generate terms. Default @rdfjs/data-model.\n * * quads: Boolean indicating whether triples should be converted to Quads (consumes GRAPH statements). Default false.\n * * prefixes: Pre-defined prefixes for the given query. Default empty.\n * * baseIRI: Base IRI that should be used for the query. Default undefined (throws error if required).\n * @returns {Operation}\n */\nfunction translate(sparql, options) {\n options = options || {};\n factory = new factory_1.default(options.dataFactory);\n let query;\n if (isString(sparql)) {\n let parser = new Parser(options);\n // resets the identifier counter used for blank nodes\n // provides nicer and more consistent output if there are multiple calls\n parser._resetBlanks();\n query = parser.parse(sparql);\n }\n else {\n query = sparql;\n }\n return translateQuery(query, options.quads, options.blankToVariable);\n}\nexports.default = translate;\nfunction translateQuery(sparql, quads, blankToVariable) {\n // this set is filled in during the inScopeVariables call\n variables = new Set();\n varCount = 0;\n useQuads = Boolean(quads);\n // Assume this is an empty query\n if (!sparql.type)\n return factory.createNop();\n if (sparql.type !== 'query' && sparql.type !== 'update')\n throw new Error('Translate only works on complete query or update objects.');\n let res;\n // find ALL variables here to fill `variables` array\n findAllVariables(sparql);\n if (sparql.type === 'query') {\n // group and where are identical, having only 1 makes parsing easier, can be undefined in DESCRIBE\n const group = { type: 'group', patterns: sparql.where || [] };\n res = translateGraphPattern(group);\n res = translateAggregates(sparql, res);\n }\n else if (sparql.type === 'update') {\n res = translateUpdate(sparql);\n }\n if (blankToVariable) {\n res = translateBlankNodesToVariables(res);\n }\n return res;\n}\nfunction isString(str) {\n return typeof str === 'string';\n}\nfunction isTerm(term) {\n return Boolean(term === null || term === void 0 ? void 0 : term.termType);\n}\n// This is not completely correct but this way we also catch SPARQL.js triples\nfunction isTriple(triple) {\n return triple.subject && triple.predicate && triple.object;\n}\nfunction isVariable(term) {\n return (term === null || term === void 0 ? void 0 : term.termType) === 'Variable';\n}\n// Will be used to make sure new variables don't overlap\nfunction findAllVariables(thingy) {\n if (isTerm(thingy)) {\n if (isVariable(thingy)) {\n // Variables don't store the `?`\n variables.add(`?${thingy.value}`);\n }\n }\n else if (Array.isArray(thingy)) {\n for (const entry of thingy)\n findAllVariables(entry);\n }\n else if (thingy && typeof thingy === 'object') {\n for (let key of Object.keys(thingy)) {\n // Some variables are hidden in keys (specifically for VALUES)\n if (key.startsWith('?'))\n variables.add(key);\n findAllVariables(thingy[key]);\n }\n }\n}\n// 18.2.1\nfunction inScopeVariables(thingy) {\n let inScope = {};\n if (isTriple(thingy)) {\n // Note that this could both be an actual Quad or a SPARQL.js triple (without graph)\n const result = [\n inScopeVariables(thingy.subject),\n inScopeVariables(thingy.predicate),\n inScopeVariables(thingy.object),\n thingy.graph ? inScopeVariables(thingy.graph) : {}\n ];\n Object.assign(inScope, ...result);\n }\n else if (isTerm(thingy)) {\n if (isVariable(thingy))\n inScope[thingy.value] = thingy;\n }\n else if (thingy.type === 'bgp') {\n // Slightly cheating but this is a subset of what we support so is fine\n const quads = thingy.triples;\n Object.assign(inScope, ...quads.map(inScopeVariables));\n }\n else if (thingy.type === 'path') {\n // A path predicate should not have variables but just iterating so we could theoretically support this\n Object.assign(inScope, ...thingy.items.map(inScopeVariables));\n }\n else if (thingy.type === 'group' || thingy.type === 'union' || thingy.type === 'optional') {\n Object.assign(inScope, ...thingy.patterns.map(inScopeVariables));\n }\n else if (thingy.type === 'service' || thingy.type === 'graph') {\n Object.assign(inScope, inScopeVariables(thingy.name));\n Object.assign(inScope, ...thingy.patterns.map(inScopeVariables));\n }\n else if (thingy.type === 'bind') {\n Object.assign(inScope, inScopeVariables(thingy.variable));\n }\n else if (thingy.type === 'values') {\n if (thingy.values.length > 0) {\n const vars = Object.keys(thingy.values[0]).map(v => factory.createTerm(v));\n Object.assign(inScope, ...vars.map(inScopeVariables));\n }\n }\n else if (thingy.type === 'query') {\n if (thingy.queryType === 'SELECT' || thingy.queryType === 'DESCRIBE') {\n if (thingy.where && thingy.variables.some(util_1.default.isWildcard))\n Object.assign(inScope, ...thingy.where.map(inScopeVariables));\n for (const v of thingy.variables) {\n if (isVariable(v))\n Object.assign(inScope, inScopeVariables(v));\n else if (v.variable)\n Object.assign(inScope, inScopeVariables(v.variable));\n }\n if (thingy.queryType === 'SELECT') {\n if (thingy.group) {\n // Grouping can be a VariableExpression, typings are wrong\n for (const g of thingy.group) {\n if (g.variable)\n Object.assign(inScope, inScopeVariables(g.variable));\n }\n }\n if (thingy.values) {\n const values = { type: 'values', values: thingy.values };\n Object.assign(inScope, inScopeVariables(values));\n }\n }\n }\n }\n return inScope;\n}\nfunction translateGraphPattern(thingy) {\n // 18.2.2.1\n // already done by sparql parser\n // 18.2.2.3\n // 18.2.2.4\n // 18.2.2.5\n // In Sparql.js, a group with a single BGP in it is a single object.\n if (thingy.type === 'bgp') {\n return translateBgp(thingy);\n }\n // 18.2.2.6 - GroupOrUnionGraphPattern\n if (thingy.type === 'union')\n return factory.createUnion(thingy.patterns.map((p) => {\n // sparqljs doesn't always indicate the children are groups\n if (p.type !== 'group')\n p = { type: 'group', patterns: [p] };\n return translateGraphPattern(p);\n }));\n // 18.2.2.6 - GraphGraphPattern\n if (thingy.type === 'graph') {\n // Sparql.js combines the group graph pattern and the graph itself in the same object.\n // We split here so the group graph pattern can be interpreted correctly.\n const group = { type: 'group', patterns: thingy.patterns };\n let result = translateGraphPattern(group);\n // Output depends on if we use quads or not\n if (useQuads)\n result = recurseGraph(result, thingy.name);\n else\n result = factory.createGraph(result, thingy.name);\n return result;\n }\n // 18.2.2.6 - InlineData\n if (thingy.type === 'values')\n return translateInlineData(thingy);\n // 18.2.2.6 - SubSelect\n if (thingy.type === 'query')\n return translateQuery(thingy, useQuads, false);\n if (thingy.type === 'group') {\n // 18.2.2.2\n let filters = [];\n let nonfilters = [];\n for (let pattern of thingy.patterns)\n (pattern.type === 'filter' ? filters : nonfilters).push(pattern);\n // 18.2.2.6 - GroupGraphPattern\n let result = nonfilters.reduce(accumulateGroupGraphPattern, factory.createBgp([]));\n // 18.2.2.7\n let expressions = filters.map(filter => translateExpression(filter.expression));\n if (expressions.length > 0)\n result = factory.createFilter(result, expressions.reduce((acc, exp) => factory.createOperatorExpression('&&', [acc, exp])));\n return result;\n }\n throw new Error(`Unexpected type: ${thingy.type}`);\n}\nfunction translateExpression(exp) {\n if (util_1.default.isSimpleTerm(exp))\n return factory.createTermExpression(exp);\n if (util_1.default.isQuad(exp)) {\n if (util_1.default.hasQuadVariables(exp))\n return factory.createOperatorExpression('triple', [\n translateExpression(exp.subject),\n translateExpression(exp.predicate),\n translateExpression(exp.object),\n ]);\n else\n return factory.createTermExpression(exp);\n }\n if (util_1.default.isWildcard(exp))\n return factory.createWildcardExpression();\n if ('aggregation' in exp)\n return factory.createAggregateExpression(exp.aggregation, translateExpression(exp.expression), Boolean(exp.distinct), exp.separator);\n if ('function' in exp)\n // Outdated typings\n return factory.createNamedExpression(exp.function, exp.args.map(translateExpression));\n if ('operator' in exp) {\n if (exp.operator === 'exists' || exp.operator === 'notexists')\n return factory.createExistenceExpression(exp.operator === 'notexists', translateGraphPattern(exp.args[0]));\n if (exp.operator === 'in' || exp.operator === 'notin')\n exp.args = [exp.args[0]].concat(exp.args[1]); // sparql.js uses 2 arguments with the second one being a list\n return factory.createOperatorExpression(exp.operator, exp.args.map(translateExpression));\n }\n throw new Error(`Unknown expression: ${JSON.stringify(exp)}`);\n}\nfunction translateBgp(thingy) {\n let patterns = [];\n let joins = [];\n for (let t of thingy.triples) {\n if ('pathType' in t.predicate) {\n // translatePath returns a mix of Quads and Paths\n let path = translatePath(t);\n for (let p of path) {\n if (p.type === types.PATH) {\n if (patterns.length > 0)\n joins.push(factory.createBgp(patterns));\n patterns = [];\n joins.push(p);\n }\n else\n patterns.push(p);\n }\n }\n else\n patterns.push(translateQuad(t));\n }\n if (patterns.length > 0)\n joins.push(factory.createBgp(patterns));\n if (joins.length === 1)\n return joins[0];\n return factory.createJoin(joins);\n}\nfunction translatePath(triple) {\n let sub = triple.subject;\n let pred = translatePathPredicate(triple.predicate);\n let obj = triple.object;\n return simplifyPath(sub, pred, obj);\n}\nfunction translatePathPredicate(predicate) {\n if (util_1.default.isSimpleTerm(predicate)) {\n if (predicate.termType === 'NamedNode')\n return factory.createLink(predicate);\n else\n throw new Error(`Path predicate should be a NamedNode, got ${JSON.stringify(predicate)}`);\n }\n if (predicate.pathType === '^')\n return factory.createInv(translatePathPredicate(predicate.items[0]));\n if (predicate.pathType === '!') {\n // negation is either over a single predicate or a list of disjuncted properties\n let normals = [];\n let inverted = [];\n let items;\n if ('pathType' in predicate.items[0] && predicate.items[0].pathType === '|')\n items = predicate.items[0].items; // the | element\n else\n items = predicate.items;\n for (let item of items) {\n if (util_1.default.isSimpleTerm(item))\n normals.push(item);\n else if (item.pathType === '^')\n inverted.push(item.items[0]);\n else\n throw new Error(`Unexpected item: ${JSON.stringify(item)}`);\n }\n // NPS elements do not have the LINK function\n let normalElement = factory.createNps(normals);\n let invertedElement = factory.createInv(factory.createNps(inverted));\n if (inverted.length === 0)\n return normalElement;\n if (normals.length === 0)\n return invertedElement;\n return factory.createAlt([normalElement, invertedElement,]);\n }\n if (predicate.pathType === '/')\n return factory.createSeq(predicate.items.map(translatePathPredicate));\n if (predicate.pathType === '|')\n return factory.createAlt(predicate.items.map(translatePathPredicate));\n if (predicate.pathType === '*')\n return factory.createZeroOrMorePath(translatePathPredicate(predicate.items[0]));\n if (predicate.pathType === '+')\n return factory.createOneOrMorePath(translatePathPredicate(predicate.items[0]));\n if (predicate.pathType === '?')\n return factory.createZeroOrOnePath(translatePathPredicate(predicate.items[0]));\n throw new Error(`Unable to translate path expression ${JSON.stringify(predicate)}`);\n}\nfunction simplifyPath(subject, predicate, object) {\n if (predicate.type === types.LINK)\n return [factory.createPattern(subject, predicate.iri, object)];\n if (predicate.type === types.INV)\n return simplifyPath(object, predicate.path, subject);\n if (predicate.type === types.SEQ) {\n let joiner = subject;\n return util_1.default.flatten(predicate.input.map((subOp, i) => {\n const nextJoiner = i === predicate.input.length - 1 ? object : generateFreshVar();\n const simplifiedPath = simplifyPath(joiner, subOp, nextJoiner);\n if (nextJoiner.termType === 'Variable') {\n joiner = nextJoiner;\n }\n return simplifiedPath;\n }));\n }\n return [factory.createPath(subject, predicate, object)];\n}\nfunction generateFreshVar() {\n let v = `?var${varCount++}`;\n if (variables.has(v))\n return generateFreshVar();\n variables.add(v);\n return factory.createTerm(v);\n}\nfunction translateQuad(quad) {\n if ('pathType' in quad.predicate) {\n throw new Error('Trying to translate property path to quad.');\n }\n // Graphs are needed here\n // TODO: investigate if typings are wrong or if we internally add graphs to these\n return factory.createPattern(quad.subject, quad.predicate, quad.object, quad.graph);\n}\nlet typeVals = Object.values(types);\nfunction recurseGraph(thingy, graph, replacement) {\n if (thingy.type === types.GRAPH) {\n if (replacement) {\n // At this point we would lose track of the replacement which would result in incorrect results\n // This would indicate the library is not being used as intended though\n throw new Error('Recursing through nested GRAPH statements with a replacement is impossible.');\n }\n // In case there were nested GRAPH statements that were not recursed yet for some reason\n thingy = recurseGraph(thingy.input, thingy.name);\n }\n else if (thingy.type === types.SERVICE) {\n // Service blocks are not affected by enclosing GRAPH statements, so nothing is modified in this block.\n // See https://github.com/joachimvh/SPARQLAlgebra.js/pull/104#issuecomment-1838016303\n }\n else if (thingy.type === types.BGP)\n thingy.patterns = thingy.patterns.map(quad => {\n if (replacement) {\n if (quad.subject.equals(graph))\n quad.subject = replacement;\n if (quad.predicate.equals(graph))\n quad.predicate = replacement;\n if (quad.object.equals(graph))\n quad.object = replacement;\n }\n if (quad.graph.termType === 'DefaultGraph')\n quad.graph = graph;\n return quad;\n });\n else if (thingy.type === types.PATH) {\n if (replacement) {\n if (thingy.subject.equals(graph))\n thingy.subject = replacement;\n if (thingy.object.equals(graph))\n thingy.object = replacement;\n }\n if (thingy.graph.termType === 'DefaultGraph')\n thingy.graph = graph;\n }\n // need to replace variables in subqueries should the graph also be a variable of the same name\n // unless the subquery projects that variable\n else if (thingy.type === types.PROJECT && !replacement) {\n if (!thingy.variables.some(v => v.equals(graph)))\n replacement = generateFreshVar();\n thingy.input = recurseGraph(thingy.input, graph, replacement);\n }\n // this can happen if the query extends an expression to the name of the graph\n // since the extend happens here there should be no further occurrences of this name\n // if there are it's the same situation as above\n else if (thingy.type === types.EXTEND && !replacement) {\n if (thingy.variable.equals(graph))\n replacement = generateFreshVar();\n thingy.input = recurseGraph(thingy.input, graph, replacement);\n }\n else {\n for (let key of Object.keys(thingy)) {\n if (Array.isArray(thingy[key]))\n thingy[key] = thingy[key].map((x) => recurseGraph(x, graph, replacement));\n else if (typeVals.indexOf(thingy[key].type) >= 0) // can't do instanceof on an interface\n thingy[key] = recurseGraph(thingy[key], graph, replacement);\n else if (replacement && isVariable(thingy[key]) && thingy[key].equals(graph))\n thingy[key] = replacement;\n }\n }\n return thingy;\n}\nfunction accumulateGroupGraphPattern(G, E) {\n if (E.type === 'optional') {\n // optional input needs to be interpreted as a group\n const A = translateGraphPattern({ type: 'group', patterns: E.patterns });\n if (A.type === types.FILTER) {\n G = factory.createLeftJoin(G, A.input, A.expression);\n }\n else\n G = factory.createLeftJoin(G, A);\n }\n else if (E.type === 'minus') {\n // minus input needs to be interpreted as a group\n const A = translateGraphPattern({ type: 'group', patterns: E.patterns });\n G = factory.createMinus(G, A);\n }\n else if (E.type === 'bind')\n G = factory.createExtend(G, E.variable, translateExpression(E.expression));\n else if (E.type === 'service') {\n // transform to group so childnodes get parsed correctly\n const group = { type: 'group', patterns: E.patterns };\n const A = factory.createService(translateGraphPattern(group), E.name, E.silent);\n G = simplifiedJoin(G, A);\n }\n else {\n const A = translateGraphPattern(E);\n G = simplifiedJoin(G, A);\n }\n return G;\n}\nfunction simplifiedJoin(G, A) {\n // Note: this is more simplification than requested in 18.2.2.8, but no reason not to do it.\n if (G.type === types.BGP && A.type === types.BGP)\n G = factory.createBgp([...G.patterns, ...A.patterns]);\n // 18.2.2.8 (simplification)\n else if (G.type === types.BGP && G.patterns.length === 0)\n G = A;\n else if (A.type === types.BGP && A.patterns.length === 0) { } // do nothing\n else\n G = factory.createJoin([G, A]);\n return G;\n}\nfunction translateInlineData(values) {\n let variables = (values.values.length === 0 ? [] : Object.keys(values.values[0])).map(factory.createTerm.bind(factory));\n let bindings = values.values.map((binding) => {\n let keys = Object.keys(binding);\n keys = keys.filter(k => binding[k] !== undefined);\n let map = {};\n for (let key of keys)\n map[key] = binding[key];\n return map;\n });\n return factory.createValues(variables, bindings);\n}\n// --------------------------------------- AGGREGATES\nfunction translateAggregates(query, res) {\n // Typings for ConstructQuery are wrong and missing several fields so we will cast quite often to SelectQuery to have partial typings\n const select = query;\n // 18.2.4.1\n const E = [];\n const A = {};\n select.variables = select.variables && select.variables.map(val => mapAggregate(val, A));\n select.having = select.having && select.having.map(val => mapAggregate(val, A));\n select.order = select.order && select.order.map(val => mapAggregate(val, A));\n // if there are any aggregates or if we have a groupBy (both result in a GROUP)\n if (select.group || Object.keys(A).length > 0) {\n const aggregates = Object.keys(A).map(v => translateBoundAggregate(A[v], factory.createTerm(v)));\n const vars = [];\n if (select.group) {\n for (const e of select.group) {\n if (util_1.default.isSimpleTerm(e.expression)) {\n vars.push(e.expression); // this will always be a var, otherwise sparql would be invalid\n }\n else {\n // Incorrect typings, e can have a variable, see for example group-variable test in sparql.js\n const v = 'variable' in e ? e.variable : generateFreshVar();\n res = factory.createExtend(res, v, translateExpression(e.expression));\n vars.push(v);\n }\n }\n }\n res = factory.createGroup(res, vars, aggregates);\n }\n // 18.2.4.2\n if (select.having)\n for (let filter of select.having)\n res = factory.createFilter(res, translateExpression(filter));\n // 18.2.4.3\n if (query.values)\n res = factory.createJoin([res, translateInlineData(query)]);\n // 18.2.4.4\n let PV = [];\n if (query.queryType === 'SELECT' || query.queryType === 'DESCRIBE') {\n // Sort variables for consistent output\n if (query.variables.some((e) => e && util_1.default.isWildcard(e)))\n PV = Object.values(inScopeVariables(query))\n .sort((left, right) => left.value.localeCompare(right.value));\n else {\n // Wildcard has been filtered out above\n for (let v of query.variables) {\n // can have non-variables with DESCRIBE\n if (isVariable(v) || !('variable' in v))\n PV.push(v);\n else if (v.variable) // ... AS ?x\n {\n PV.push(v.variable);\n E.push(v);\n }\n }\n }\n }\n // TODO: Jena simplifies by having a list of extends\n for (let v of E)\n res = factory.createExtend(res, v.variable, translateExpression(v.expression));\n // 18.2.5\n // not using toList and toMultiset\n // 18.2.5.1\n if (select.order)\n res = factory.createOrderBy(res, select.order.map((exp) => {\n let result = translateExpression(exp.expression);\n if (exp.descending)\n result = factory.createOperatorExpression('desc', [result]);\n return result;\n }));\n // 18.2.5.2\n // construct does not need a project (select, ask and describe do)\n if (query.queryType === 'SELECT')\n // Named nodes are only possible in a DESCRIBE so this cast is safe\n res = factory.createProject(res, PV);\n // 18.2.5.3\n if (select.distinct)\n res = factory.createDistinct(res);\n // 18.2.5.4\n if (select.reduced)\n res = factory.createReduced(res);\n // NEW: support for ask/construct/describe queries\n if (query.queryType === 'CONSTRUCT')\n res = factory.createConstruct(res, (query.template || []).map(translateQuad));\n else if (query.queryType === 'ASK')\n res = factory.createAsk(res);\n else if (query.queryType === 'DESCRIBE')\n res = factory.createDescribe(res, PV);\n // Slicing needs to happen after construct/describe\n // 18.2.5.5\n if (select.offset || select.limit)\n res = factory.createSlice(res, select.offset || 0, select.limit);\n if (select.from)\n res = factory.createFrom(res, select.from.default, select.from.named);\n return res;\n}\n// rewrites some of the input sparql object to make use of aggregate variables\nfunction mapAggregate(thingy, aggregates) {\n if ('type' in thingy && thingy.type === 'aggregate') {\n let found = false;\n let v;\n for (let key of Object.keys(aggregates)) {\n if (equal(aggregates[key], thingy)) {\n v = factory.createTerm(key);\n found = true;\n break;\n }\n }\n if (!found) {\n v = generateFreshVar();\n aggregates[(0, rdf_string_1.termToString)(v)] = thingy;\n }\n return v;\n }\n // non-aggregate expression\n if ('expression' in thingy && thingy.expression)\n return { ...thingy, expression: mapAggregate(thingy.expression, aggregates) };\n if ('args' in thingy && thingy.args)\n return { ...thingy, args: thingy.args.map(subthingy => mapAggregate(subthingy, aggregates)) };\n // Normal variable/wildcard\n return thingy;\n}\nfunction translateBoundAggregate(thingy, v) {\n if (thingy.type !== 'aggregate' || !thingy.aggregation)\n throw new Error(`Unexpected input: ${JSON.stringify(thingy)}`);\n const A = translateExpression(thingy);\n A.variable = v;\n return A;\n}\nfunction translateUpdate(thingy) {\n if (thingy.updates.length === 1)\n return translateSingleUpdate(thingy.updates[0]);\n return factory.createCompositeUpdate(thingy.updates.map(translateSingleUpdate));\n}\nfunction translateSingleUpdate(thingy) {\n if ('type' in thingy) {\n if (thingy.type === 'load')\n return translateUpdateGraphLoad(thingy);\n if (thingy.type === 'clear' || thingy.type === 'create' || thingy.type === 'drop')\n return translateUpdateGraph(thingy);\n if (thingy.type === 'add' || thingy.type === 'copy' || thingy.type === 'move')\n return translateUpdateGraphShortcut(thingy);\n }\n else if (thingy.updateType === 'insertdelete' || thingy.updateType === 'deletewhere' || thingy.updateType === 'delete' || thingy.updateType === 'insert')\n return translateInsertDelete(thingy);\n throw new Error(`Unknown update type ${JSON.stringify(thingy)}`);\n}\nfunction translateInsertDelete(thingy) {\n if (!useQuads)\n throw new Error('INSERT/DELETE operations are only supported with quads option enabled');\n let deleteTriples = [];\n let insertTriples = [];\n let where;\n if (thingy.delete)\n deleteTriples = util_1.default.flatten(thingy.delete.map(input => translateUpdateTriplesBlock(input, thingy.graph)));\n if (thingy.insert)\n insertTriples = util_1.default.flatten(thingy.insert.map(input => translateUpdateTriplesBlock(input, thingy.graph)));\n if (thingy.where && thingy.where.length > 0) {\n where = translateGraphPattern({ type: 'group', patterns: thingy.where });\n // Wrong typings, see test \"using\" in Sparql.js\n const use = thingy.using;\n if (use)\n where = factory.createFrom(where, use.default, use.named);\n else if (thingy.graph)\n // This is equivalent\n where = recurseGraph(where, thingy.graph);\n }\n else if (thingy.updateType === 'deletewhere' && deleteTriples.length > 0) {\n where = factory.createBgp(deleteTriples);\n }\n return factory.createDeleteInsert(deleteTriples.length > 0 ? deleteTriples : undefined, insertTriples.length > 0 ? insertTriples : undefined, where);\n}\n// UPDATE parsing will always return quads and have no GRAPH elements\nfunction translateUpdateTriplesBlock(thingy, graph) {\n let currentGraph = graph;\n if (thingy.type === 'graph')\n currentGraph = thingy.name;\n let currentTriples = thingy.triples;\n if (currentGraph)\n currentTriples = currentTriples.map(triple => Object.assign(triple, { graph: currentGraph }));\n return currentTriples.map(translateQuad);\n}\nfunction translateUpdateGraph(thingy) {\n let source;\n if (util_1.default.isSimpleTerm(thingy.graph))\n source = thingy.graph;\n else if (thingy.graph.all)\n source = 'ALL';\n else if (thingy.graph.default)\n source = 'DEFAULT';\n else if (thingy.graph.named)\n source = 'NAMED';\n else\n source = thingy.graph.name;\n switch (thingy.type) {\n case 'clear': return factory.createClear(source, thingy.silent);\n case 'create': return factory.createCreate(source, thingy.silent);\n case 'drop': return factory.createDrop(source, thingy.silent);\n }\n}\nfunction translateUpdateGraphLoad(thingy) {\n return factory.createLoad(thingy.source, thingy.destination, thingy.silent);\n}\nfunction translateUpdateGraphShortcut(thingy) {\n const source = thingy.source.default ? 'DEFAULT' : thingy.source.name;\n const destination = thingy.destination.default ? 'DEFAULT' : thingy.destination.name;\n switch (thingy.type) {\n case 'copy': return factory.createCopy(source, destination, thingy.silent);\n case 'move': return factory.createMove(source, destination, thingy.silent);\n case 'add': return factory.createAdd(source, destination, thingy.silent);\n }\n}\nfunction translateBlankNodesToVariables(res) {\n const blankToVariableMapping = {};\n const variablesRaw = Array.from(variables).reduce((acc, variable) => {\n acc[variable] = true;\n return acc;\n }, {});\n return util_1.default.mapOperation(res, {\n [Algebra.types.DELETE_INSERT]: (op) => {\n // Only relevant for INSERT operations as others should never contain blank nodes\n return { result: op, recurse: false };\n },\n [Algebra.types.PATH]: (op, factory) => {\n return {\n result: factory.createPath(blankToVariable(op.subject), op.predicate, blankToVariable(op.object), blankToVariable(op.graph)),\n recurse: false,\n };\n },\n [Algebra.types.PATTERN]: (op, factory) => {\n return {\n result: factory.createPattern(blankToVariable(op.subject), blankToVariable(op.predicate), blankToVariable(op.object), blankToVariable(op.graph)),\n recurse: false,\n };\n },\n [Algebra.types.CONSTRUCT]: (op) => {\n // Blank nodes in CONSTRUCT templates must be maintained\n return {\n result: factory.createConstruct(translateBlankNodesToVariables(op.input), op.template),\n recurse: false,\n };\n },\n });\n function blankToVariable(term) {\n if (term.termType === 'BlankNode') {\n let variable = blankToVariableMapping[term.value];\n if (!variable) {\n variable = util_1.default.createUniqueVariable(term.value, variablesRaw, factory.dataFactory);\n variablesRaw[variable.value] = true;\n blankToVariableMapping[term.value] = variable;\n }\n return variable;\n }\n return term;\n }\n}\n//# sourceMappingURL=sparqlAlgebra.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst algebra_1 = require(\"./algebra\");\nconst factory_1 = __importDefault(require(\"./factory\"));\nconst rdf_terms_1 = require(\"rdf-terms\");\nclass Util {\n /**\n * Flattens an array of arrays to an array.\n * @param arr - Array of arrays\n */\n static flatten(arr) {\n return Array.prototype.concat(...arr).filter(x => x);\n }\n /**\n * Outputs a JSON object corresponding to the input algebra-like.\n */\n static objectify(algebra) {\n if (algebra.termType) {\n if (algebra.termType === 'Quad') {\n return {\n type: 'pattern',\n termType: 'Quad',\n subject: Util.objectify(algebra.subject),\n predicate: Util.objectify(algebra.predicate),\n object: Util.objectify(algebra.object),\n graph: Util.objectify(algebra.graph),\n };\n }\n else {\n let result = { termType: algebra.termType, value: algebra.value };\n if (algebra.language)\n result.language = algebra.language;\n if (algebra.datatype)\n result.datatype = Util.objectify(algebra.datatype);\n return result;\n }\n }\n if (Array.isArray(algebra))\n return algebra.map(e => Util.objectify(e));\n if (algebra === Object(algebra)) {\n let result = {};\n for (let key of Object.keys(algebra))\n result[key] = Util.objectify(algebra[key]);\n return result;\n }\n return algebra;\n }\n /**\n * Detects all in-scope variables.\n * In practice this means iterating through the entire algebra tree, finding all variables,\n * and stopping when a project function is found.\n * @param {Operation} op - Input algebra tree.\n * @returns {Variable[]} - List of unique in-scope variables.\n */\n static inScopeVariables(op) {\n const variables = [];\n function addVariable(v) {\n if (!variables.find(v2 => v.value === v2.value))\n variables.push(v);\n }\n function recurseTerm(quad) {\n if (quad.subject.termType === 'Variable')\n addVariable(quad.subject);\n if (quad.predicate.termType === 'Variable')\n addVariable(quad.predicate);\n if (quad.object.termType === 'Variable')\n addVariable(quad.object);\n if (quad.graph.termType === 'Variable')\n addVariable(quad.graph);\n if (quad.subject.termType === 'Quad')\n recurseTerm(quad.subject);\n if (quad.predicate.termType === 'Quad')\n recurseTerm(quad.predicate);\n if (quad.object.termType === 'Quad')\n recurseTerm(quad.object);\n if (quad.graph.termType === 'Quad')\n recurseTerm(quad.graph);\n }\n // https://www.w3.org/TR/sparql11-query/#variableScope\n Util.recurseOperation(op, {\n [algebra_1.types.EXPRESSION]: (op) => {\n if (op.expressionType === algebra_1.expressionTypes.AGGREGATE && op.variable) {\n addVariable(op.variable);\n }\n return true;\n },\n [algebra_1.types.EXTEND]: (op) => {\n addVariable(op.variable);\n return true;\n },\n [algebra_1.types.GRAPH]: (op) => {\n if (op.name.termType === 'Variable')\n addVariable(op.name);\n return true;\n },\n [algebra_1.types.GROUP]: (op) => {\n op.variables.forEach(addVariable);\n return true;\n },\n [algebra_1.types.PATH]: (op) => {\n if (op.subject.termType === 'Variable')\n addVariable(op.subject);\n if (op.object.termType === 'Variable')\n addVariable(op.object);\n if (op.graph.termType === 'Variable')\n addVariable(op.graph);\n if (op.subject.termType === 'Quad')\n recurseTerm(op.subject);\n if (op.object.termType === 'Quad')\n recurseTerm(op.object);\n if (op.graph.termType === 'Quad')\n recurseTerm(op.graph);\n return true;\n },\n [algebra_1.types.PATTERN]: (op) => {\n recurseTerm(op);\n return true;\n },\n [algebra_1.types.PROJECT]: (op) => {\n op.variables.forEach(addVariable);\n return false;\n },\n [algebra_1.types.SERVICE]: (op) => {\n if (op.name.termType === 'Variable')\n addVariable(op.name);\n return true;\n },\n [algebra_1.types.VALUES]: (op) => {\n op.variables.forEach(addVariable);\n return true;\n },\n });\n return variables;\n }\n /**\n * Recurses through the given algebra tree\n * A map of callback functions can be provided for individual Operation types to gather data.\n * The return value of those callbacks should indicate whether recursion should be applied or not.\n * Making modifications will change the original input object.\n * @param {Operation} op - The Operation to recurse on.\n * @param { [type: string]: (op: Operation) => boolean } callbacks - A map of required callback Operations.\n */\n static recurseOperation(op, callbacks) {\n let result = op;\n let doRecursion = true;\n const callback = callbacks[op.type];\n if (callback)\n // Not sure how to get typing correct for op here\n doRecursion = callback(op);\n if (!doRecursion)\n return;\n let recurseOp = (op) => Util.recurseOperation(op, callbacks);\n switch (result.type) {\n case algebra_1.types.ALT:\n result.input.map(recurseOp);\n break;\n case algebra_1.types.ASK:\n recurseOp(result.input);\n break;\n case algebra_1.types.BGP:\n result.patterns.forEach(recurseOp);\n break;\n case algebra_1.types.CONSTRUCT:\n recurseOp(result.input);\n result.template.map(recurseOp);\n break;\n case algebra_1.types.DESCRIBE:\n recurseOp(result.input);\n break;\n case algebra_1.types.DISTINCT:\n recurseOp(result.input);\n break;\n case algebra_1.types.EXPRESSION:\n if (result.expressionType === algebra_1.expressionTypes.EXISTENCE) {\n recurseOp(result.input);\n }\n break;\n case algebra_1.types.EXTEND:\n recurseOp(result.input);\n recurseOp(result.expression);\n break;\n case algebra_1.types.FILTER:\n recurseOp(result.input);\n recurseOp(result.expression);\n break;\n case algebra_1.types.FROM:\n recurseOp(result.input);\n break;\n case algebra_1.types.GRAPH:\n recurseOp(result.input);\n break;\n case algebra_1.types.GROUP:\n recurseOp(result.input);\n result.aggregates.forEach(recurseOp);\n break;\n case algebra_1.types.INV:\n recurseOp(result.path);\n break;\n case algebra_1.types.JOIN:\n result.input.map(recurseOp);\n break;\n case algebra_1.types.LEFT_JOIN:\n result.input.map(recurseOp);\n if (result.expression)\n recurseOp(result.expression);\n break;\n case algebra_1.types.LINK:\n break;\n case algebra_1.types.MINUS:\n result.input.map(recurseOp);\n break;\n case algebra_1.types.NOP:\n break;\n case algebra_1.types.NPS:\n break;\n case algebra_1.types.ONE_OR_MORE_PATH:\n recurseOp(result.path);\n break;\n case algebra_1.types.ORDER_BY:\n recurseOp(result.input);\n result.expressions.forEach(recurseOp);\n break;\n case algebra_1.types.PATH:\n recurseOp(result.predicate);\n break;\n case algebra_1.types.PATTERN:\n break;\n case algebra_1.types.PROJECT:\n recurseOp(result.input);\n break;\n case algebra_1.types.REDUCED:\n recurseOp(result.input);\n break;\n case algebra_1.types.SEQ:\n result.input.map(recurseOp);\n break;\n case algebra_1.types.SERVICE:\n recurseOp(result.input);\n break;\n case algebra_1.types.SLICE:\n recurseOp(result.input);\n break;\n case algebra_1.types.UNION:\n result.input.map(recurseOp);\n break;\n case algebra_1.types.VALUES:\n break;\n case algebra_1.types.ZERO_OR_MORE_PATH:\n recurseOp(result.path);\n break;\n case algebra_1.types.ZERO_OR_ONE_PATH:\n recurseOp(result.path);\n break;\n // UPDATE operations\n case algebra_1.types.COMPOSITE_UPDATE:\n result.updates.forEach(update => recurseOp(update));\n break;\n case algebra_1.types.DELETE_INSERT:\n if (result.delete)\n result.delete.forEach(pattern => recurseOp(pattern));\n if (result.insert)\n result.insert.forEach(pattern => recurseOp(pattern));\n if (result.where)\n recurseOp(result.where);\n break;\n // all of these only have graph IDs as values\n case algebra_1.types.LOAD: break;\n case algebra_1.types.CLEAR: break;\n case algebra_1.types.CREATE: break;\n case algebra_1.types.DROP: break;\n case algebra_1.types.ADD: break;\n case algebra_1.types.MOVE: break;\n case algebra_1.types.COPY: break;\n default: throw new Error(`Unknown Operation type ${result.type}`);\n }\n }\n /**\n * Creates a deep copy of the given Operation.\n * Creates shallow copies of the non-Operation values.\n * A map of callback functions can be provided for individual Operation types\n * to specifically modify the given objects before triggering recursion.\n * The return value of those callbacks should indicate whether recursion should be applied to this returned object or not.\n * @param {Operation} op - The Operation to recurse on.\n * @param callbacks - A map of required callback Operations.\n * @param {Factory} factory - Factory used to create new Operations. Will use default factory if none is provided.\n * @returns {Operation} - The copied result.\n */\n static mapOperation(op, callbacks, factory) {\n let result = op;\n let doRecursion = true;\n let copyMetadata = true;\n factory = factory || new factory_1.default();\n const callback = callbacks[op.type];\n if (callback) {\n // Not sure how to get typing correct for op here\n const recurseResult = callback(op, factory);\n result = recurseResult.result;\n doRecursion = recurseResult.recurse;\n copyMetadata = recurseResult.copyMetadata !== false;\n }\n let toCopyMetadata;\n if (copyMetadata && (result.metadata || op.metadata)) {\n toCopyMetadata = { ...result.metadata, ...op.metadata };\n }\n if (!doRecursion) {\n // Inherit metadata\n if (toCopyMetadata) {\n result.metadata = toCopyMetadata;\n }\n return result;\n }\n let mapOp = (op) => Util.mapOperation(op, callbacks, factory);\n // Several casts here might be wrong though depending on the callbacks output\n switch (result.type) {\n case algebra_1.types.ALT:\n result = factory.createAlt(result.input.map(mapOp));\n break;\n case algebra_1.types.ASK:\n result = factory.createAsk(mapOp(result.input));\n break;\n case algebra_1.types.BGP:\n result = factory.createBgp(result.patterns.map(mapOp));\n break;\n case algebra_1.types.CONSTRUCT:\n result = factory.createConstruct(mapOp(result.input), result.template.map(mapOp));\n break;\n case algebra_1.types.DESCRIBE:\n result = factory.createDescribe(mapOp(result.input), result.terms);\n break;\n case algebra_1.types.DISTINCT:\n result = factory.createDistinct(mapOp(result.input));\n break;\n case algebra_1.types.EXPRESSION:\n result = Util.mapExpression(result, callbacks, factory);\n break;\n case algebra_1.types.EXTEND:\n result = factory.createExtend(mapOp(result.input), result.variable, mapOp(result.expression));\n break;\n case algebra_1.types.FILTER:\n result = factory.createFilter(mapOp(result.input), mapOp(result.expression));\n break;\n case algebra_1.types.FROM:\n result = factory.createFrom(mapOp(result.input), [...result.default], [...result.named]);\n break;\n case algebra_1.types.GRAPH:\n result = factory.createGraph(mapOp(result.input), result.name);\n break;\n case algebra_1.types.GROUP:\n result = factory.createGroup(mapOp(result.input), [].concat(result.variables), result.aggregates.map(mapOp));\n break;\n case algebra_1.types.INV:\n result = factory.createInv(mapOp(result.path));\n break;\n case algebra_1.types.JOIN:\n result = factory.createJoin(result.input.map(mapOp));\n break;\n case algebra_1.types.LEFT_JOIN:\n result = factory.createLeftJoin(mapOp(result.input[0]), mapOp(result.input[1]), result.expression ? mapOp(result.expression) : undefined);\n break;\n case algebra_1.types.LINK:\n result = factory.createLink(result.iri);\n break;\n case algebra_1.types.MINUS:\n result = factory.createMinus(mapOp(result.input[0]), mapOp(result.input[1]));\n break;\n case algebra_1.types.NOP:\n result = factory.createNop();\n break;\n case algebra_1.types.NPS:\n result = factory.createNps([].concat(result.iris));\n break;\n case algebra_1.types.ONE_OR_MORE_PATH:\n result = factory.createOneOrMorePath(mapOp(result.path));\n break;\n case algebra_1.types.ORDER_BY:\n result = factory.createOrderBy(mapOp(result.input), result.expressions.map(mapOp));\n break;\n case algebra_1.types.PATH:\n result = factory.createPath(result.subject, mapOp(result.predicate), result.object, result.graph);\n break;\n case algebra_1.types.PATTERN:\n result = factory.createPattern(result.subject, result.predicate, result.object, result.graph);\n break;\n case algebra_1.types.PROJECT:\n result = factory.createProject(mapOp(result.input), [...result.variables]);\n break;\n case algebra_1.types.REDUCED:\n result = factory.createReduced(mapOp(result.input));\n break;\n case algebra_1.types.SEQ:\n result = factory.createSeq(result.input.map(mapOp));\n break;\n case algebra_1.types.SERVICE:\n result = factory.createService(mapOp(result.input), result.name, result.silent);\n break;\n case algebra_1.types.SLICE:\n result = factory.createSlice(mapOp(result.input), result.start, result.length);\n break;\n case algebra_1.types.UNION:\n result = factory.createUnion(result.input.map(mapOp));\n break;\n case algebra_1.types.VALUES:\n result = factory.createValues([].concat(result.variables), result.bindings.map(b => Object.assign({}, b)));\n break;\n case algebra_1.types.ZERO_OR_MORE_PATH:\n result = factory.createZeroOrMorePath(mapOp(result.path));\n break;\n case algebra_1.types.ZERO_OR_ONE_PATH:\n result = factory.createZeroOrOnePath(mapOp(result.path));\n break;\n // UPDATE operations\n case algebra_1.types.COMPOSITE_UPDATE:\n result = factory.createCompositeUpdate(result.updates.map(mapOp));\n break;\n case algebra_1.types.DELETE_INSERT:\n result = factory.createDeleteInsert(result.delete ? result.delete.map(mapOp) : undefined, result.insert ? result.insert.map(mapOp) : undefined, result.where ? mapOp(result.where) : undefined);\n break;\n case algebra_1.types.LOAD:\n result = factory.createLoad(result.source, result.destination, result.silent);\n break;\n case algebra_1.types.CLEAR:\n result = factory.createClear(result.source, result.silent);\n break;\n case algebra_1.types.CREATE:\n result = factory.createCreate(result.source, result.silent);\n break;\n case algebra_1.types.DROP:\n result = factory.createDrop(result.source, result.silent);\n break;\n case algebra_1.types.ADD:\n result = factory.createAdd(result.source, result.destination);\n break;\n case algebra_1.types.MOVE:\n result = factory.createMove(result.source, result.destination);\n break;\n case algebra_1.types.COPY:\n result = factory.createCopy(result.source, result.destination);\n break;\n default: throw new Error(`Unknown Operation type ${result.type}`);\n }\n // Inherit metadata\n if (toCopyMetadata) {\n result.metadata = toCopyMetadata;\n }\n return result;\n }\n /**\n * Similar to the {@link mapOperation} function but specifically for expressions.\n * Both functions call each other while copying.\n * Should not be called directly since it does not execute the callbacks, these happen in {@link mapOperation}.\n * @param {Expression} expr - The Operation to recurse on.\n * @param callbacks - A map of required callback Operations.\n * @param {Factory} factory - Factory used to create new Operations. Will use default factory if none is provided.\n * @returns {Operation} - The copied result.\n */\n static mapExpression(expr, callbacks, factory) {\n let result = expr;\n let doRecursion = true;\n factory = factory || new factory_1.default();\n const callback = callbacks[expr.expressionType];\n if (callback)\n ({ result, recurse: doRecursion } = callback(expr, factory));\n if (!doRecursion)\n return result;\n let mapOp = (op) => Util.mapOperation(op, callbacks, factory);\n switch (expr.expressionType) {\n case algebra_1.expressionTypes.AGGREGATE:\n if (expr.variable) {\n return factory.createBoundAggregate(expr.variable, expr.aggregator, mapOp(expr.expression), expr.distinct, expr.separator);\n }\n return factory.createAggregateExpression(expr.aggregator, mapOp(expr.expression), expr.distinct, expr.separator);\n case algebra_1.expressionTypes.EXISTENCE:\n return factory.createExistenceExpression(expr.not, mapOp(expr.input));\n case algebra_1.expressionTypes.NAMED:\n return factory.createNamedExpression(expr.name, expr.args.map(mapOp));\n case algebra_1.expressionTypes.OPERATOR:\n return factory.createOperatorExpression(expr.operator, expr.args.map(mapOp));\n case algebra_1.expressionTypes.TERM:\n return factory.createTermExpression(expr.term);\n case algebra_1.expressionTypes.WILDCARD:\n return factory.createWildcardExpression();\n default: throw new Error(`Unknown Expression type ${expr.expressionType}`);\n }\n }\n /**\n * Creates a deep clone of the operation.\n * This is syntactic sugar for calling {@link mapOperation} without callbacks.\n * @param {Operation} op - The operation to copy.\n * @returns {Operation} - The deep copy.\n */\n static cloneOperation(op) {\n return Util.mapOperation(op, {});\n }\n /**\n * Creates a deep clone of the expression.\n * This is syntactic sugar for calling {@link mapExpression} without callbacks.\n * @param {Expression} expr - The operation to copy.\n * @returns {Expression} - The deep copy.\n */\n static cloneExpression(expr) {\n return Util.mapExpression(expr, {});\n }\n static createUniqueVariable(label, variables, dataFactory) {\n let counter = 0;\n let labelLoop = label;\n while (variables[labelLoop]) {\n labelLoop = `${label}${counter++}`;\n }\n return dataFactory.variable(labelLoop);\n }\n // separate terms from wildcard since we handle them differently\n static isSimpleTerm(term) {\n return term.termType !== undefined && term.termType !== 'Quad' && term.termType !== 'Wildcard';\n }\n static isQuad(term) {\n return term.termType === 'Quad';\n }\n static hasQuadVariables(quad) {\n return (0, rdf_terms_1.someTermsNested)(quad, term => term.termType === 'Variable');\n }\n static isWildcard(term) {\n return term.termType === 'Wildcard';\n }\n}\nexports.default = Util;\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactoryGroupConcat = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst GroupConcatAggregator_1 = require(\"./GroupConcatAggregator\");\n/**\n * A comunica Group Concat Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactoryGroupConcat extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.expr.aggregator !== 'group_concat') {\n return (0, core_1.failTest)('This actor only supports the \\'group_concat\\' aggregator.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ context, expr }) {\n return new GroupConcatAggregator_1.GroupConcatAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct, context.getSafe(context_entries_1.KeysInitQuery.dataFactory), expr.separator);\n }\n}\nexports.ActorBindingsAggregatorFactoryGroupConcat = ActorBindingsAggregatorFactoryGroupConcat;\n//# sourceMappingURL=ActorBindingsAggregatorFactoryGroupConcat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GroupConcatAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst Eval = require(\"@comunica/utils-expression-evaluator\");\nclass GroupConcatAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, dataFactory, separator, throwError) {\n super(evaluator, distinct, throwError);\n this.dataFactory = dataFactory;\n this.state = undefined;\n this.lastLanguageValid = true;\n this.lastLanguage = undefined;\n this.separator = separator ?? ' ';\n }\n emptyValueTerm() {\n return Eval.typedLiteral('', Eval.TypeURL.XSD_STRING);\n }\n putTerm(term) {\n if (this.state === undefined) {\n this.state = term.value;\n if (term.termType === 'Literal') {\n this.lastLanguage = term.language;\n }\n }\n else {\n this.state += this.separator + term.value;\n if (this.lastLanguageValid && term.termType === 'Literal' && this.lastLanguage !== term.language) {\n this.lastLanguageValid = false;\n this.lastLanguage = undefined;\n }\n }\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n if (this.lastLanguageValid && this.lastLanguage) {\n return Eval.langString(this.state, this.lastLanguage).toRDF(this.dataFactory);\n }\n return Eval.typedLiteral(this.state, Eval.TypeURL.XSD_STRING);\n }\n}\nexports.GroupConcatAggregator = GroupConcatAggregator;\n//# sourceMappingURL=GroupConcatAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactoryGroupConcat\"), exports);\n__exportStar(require(\"./GroupConcatAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactoryMax = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst core_1 = require(\"@comunica/core\");\nconst MaxAggregator_1 = require(\"./MaxAggregator\");\n/**\n * A comunica Max Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactoryMax extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n this.mediatorTermComparatorFactory = args.mediatorTermComparatorFactory;\n }\n async test(action) {\n if (action.expr.aggregator !== 'max') {\n return (0, core_1.failTest)('This actor only supports the \\'max\\' aggregator.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ expr, context }) {\n return new MaxAggregator_1.MaxAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct, await this.mediatorTermComparatorFactory.mediate({ context }));\n }\n}\nexports.ActorBindingsAggregatorFactoryMax = ActorBindingsAggregatorFactoryMax;\n//# sourceMappingURL=ActorBindingsAggregatorFactoryMax.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MaxAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nclass MaxAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, orderByEvaluator, throwError) {\n super(evaluator, distinct, throwError);\n this.orderByEvaluator = orderByEvaluator;\n this.state = undefined;\n }\n putTerm(term) {\n if (term.termType !== 'Literal') {\n throw new Error(`Term with value ${term.value} has type ${term.termType} and is not a literal`);\n }\n if (this.state === undefined) {\n this.state = term;\n }\n else if (this.orderByEvaluator.orderTypes(this.state, term) === -1) {\n this.state = term;\n }\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n return this.state;\n }\n}\nexports.MaxAggregator = MaxAggregator;\n//# sourceMappingURL=MaxAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactoryMax\"), exports);\n__exportStar(require(\"./MaxAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactoryMin = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst core_1 = require(\"@comunica/core\");\nconst MinAggregator_1 = require(\"./MinAggregator\");\n/**\n * A comunica Min Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactoryMin extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n this.mediatorTermComparatorFactory = args.mediatorTermComparatorFactory;\n }\n async test(action) {\n if (action.expr.aggregator !== 'min') {\n return (0, core_1.failTest)('This actor only supports the \\'min\\' aggregator.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ context, expr }) {\n return new MinAggregator_1.MinAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct, await this.mediatorTermComparatorFactory.mediate({ context }));\n }\n}\nexports.ActorBindingsAggregatorFactoryMin = ActorBindingsAggregatorFactoryMin;\n//# sourceMappingURL=ActorBindingsAggregatorFactoryMin.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MinAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nclass MinAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, orderByEvaluator, throwError) {\n super(evaluator, distinct, throwError);\n this.orderByEvaluator = orderByEvaluator;\n this.state = undefined;\n }\n putTerm(term) {\n if (term.termType !== 'Literal') {\n throw new Error(`Term with value ${term.value} has type ${term.termType} and is not a literal`);\n }\n if (this.state === undefined) {\n this.state = term;\n }\n else if (this.orderByEvaluator.orderTypes(this.state, term) === 1) {\n this.state = term;\n }\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n return this.state;\n }\n}\nexports.MinAggregator = MinAggregator;\n//# sourceMappingURL=MinAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactoryMin\"), exports);\n__exportStar(require(\"./MinAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactorySample = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst core_1 = require(\"@comunica/core\");\nconst SampleAggregator_1 = require(\"./SampleAggregator\");\n/**\n * A comunica Sample Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactorySample extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.expr.aggregator !== 'sample') {\n return (0, core_1.failTest)('This actor only supports the \\'sample\\' aggregator.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ context, expr }) {\n return new SampleAggregator_1.SampleAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct);\n }\n}\nexports.ActorBindingsAggregatorFactorySample = ActorBindingsAggregatorFactorySample;\n//# sourceMappingURL=ActorBindingsAggregatorFactorySample.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SampleAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nclass SampleAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, throwError) {\n super(evaluator, distinct, throwError);\n this.state = undefined;\n }\n putTerm(term) {\n // First value is our sample\n if (this.state === undefined) {\n this.state = term;\n }\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n return this.state;\n }\n}\nexports.SampleAggregator = SampleAggregator;\n//# sourceMappingURL=SampleAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactorySample\"), exports);\n__exportStar(require(\"./SampleAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactorySum = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst SumAggregator_1 = require(\"./SumAggregator\");\n/**\n * A comunica Sum Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactorySum extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async test(action) {\n if (action.expr.aggregator !== 'sum') {\n return (0, core_1.failTest)('This actor only supports the \\'sum\\' aggregator.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ expr, context }) {\n return new SumAggregator_1.SumAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct, context.getSafe(context_entries_1.KeysInitQuery.dataFactory), await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.ADDITION,\n context,\n requireTermExpression: true,\n }));\n }\n}\nexports.ActorBindingsAggregatorFactorySum = ActorBindingsAggregatorFactorySum;\n//# sourceMappingURL=ActorBindingsAggregatorFactorySum.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SumAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass SumAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, dataFactory, additionFunction, throwError) {\n super(evaluator, distinct, throwError);\n this.dataFactory = dataFactory;\n this.additionFunction = additionFunction;\n this.state = undefined;\n }\n emptyValueTerm() {\n return (0, utils_expression_evaluator_1.typedLiteral)('0', utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n putTerm(term) {\n if (this.state === undefined) {\n this.state = this.termToNumericOrError(term);\n }\n else {\n const internalTerm = this.termToNumericOrError(term);\n this.state = this.additionFunction.applyOnTerms([this.state, internalTerm], this.evaluator);\n }\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n return this.state.toRDF(this.dataFactory);\n }\n}\nexports.SumAggregator = SumAggregator;\n//# sourceMappingURL=SumAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactorySum\"), exports);\n__exportStar(require(\"./SumAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactoryWildcardCount = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst core_1 = require(\"@comunica/core\");\nconst WildcardCountAggregator_1 = require(\"./WildcardCountAggregator\");\n/**\n * A comunica Wildcard Count Expression Evaluator Aggregate Actor.\n */\nclass ActorBindingsAggregatorFactoryWildcardCount extends bus_bindings_aggregator_factory_1.ActorBindingsAggregatorFactory {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.expr.aggregator !== 'count' || action.expr.expression.expressionType !== 'wildcard') {\n return (0, core_1.failTest)('This actor only supports the \\'count\\' aggregator with wildcard.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run({ context, expr }) {\n return new WildcardCountAggregator_1.WildcardCountAggregator(await this.mediatorExpressionEvaluatorFactory.mediate({ algExpr: expr.expression, context }), expr.distinct);\n }\n}\nexports.ActorBindingsAggregatorFactoryWildcardCount = ActorBindingsAggregatorFactoryWildcardCount;\n//# sourceMappingURL=ActorBindingsAggregatorFactoryWildcardCount.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WildcardCountAggregator = void 0;\nconst bus_bindings_aggregator_factory_1 = require(\"@comunica/bus-bindings-aggregator-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst RdfString = require(\"rdf-string\");\nclass WildcardCountAggregator extends bus_bindings_aggregator_factory_1.AggregateEvaluator {\n constructor(evaluator, distinct, throwError) {\n super(evaluator, distinct, throwError);\n this.bindingValues = new Map();\n this.state = undefined;\n }\n putTerm(_term) {\n // Do nothing, not needed\n }\n async putBindings(bindings) {\n if (!this.handleDistinct(bindings)) {\n if (this.state === undefined) {\n this.state = 0;\n }\n this.state += 1;\n }\n }\n emptyValueTerm() {\n return (0, utils_expression_evaluator_1.typedLiteral)('0', utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n termResult() {\n if (this.state === undefined) {\n return this.emptyValue();\n }\n return (0, utils_expression_evaluator_1.typedLiteral)(String(this.state), utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n /**\n * Returns true if the given bindings should be skipped.\n * @param bindings\n * @private\n */\n handleDistinct(bindings) {\n if (this.distinct) {\n const bindingList = [...bindings];\n bindingList.sort((first, snd) => first[0].value.localeCompare(snd[0].value));\n const variables = bindingList.map(([variable]) => variable.value).join(',');\n const terms = bindingList.map(([, term]) => RdfString.termToString(term)).join(',');\n const set = this.bindingValues.get(variables);\n const result = set !== undefined && set.has(terms);\n // Add to the set:\n if (!set) {\n this.bindingValues.set(variables, new Set());\n }\n this.bindingValues.get(variables).add(terms);\n return result;\n }\n return false;\n }\n}\nexports.WildcardCountAggregator = WildcardCountAggregator;\n//# sourceMappingURL=WildcardCountAggregator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactoryWildcardCount\"), exports);\n__exportStar(require(\"./WildcardCountAggregator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorContextPreprocessConvertShortcuts = void 0;\nconst bus_context_preprocess_1 = require(\"@comunica/bus-context-preprocess\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Convert Shortcuts Context Preprocess Actor.\n */\nclass ActorContextPreprocessConvertShortcuts extends bus_context_preprocess_1.ActorContextPreprocess {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return {\n context: ActorContextPreprocessConvertShortcuts.expandShortcuts(action.context, this.contextKeyShortcuts),\n };\n }\n static expandShortcuts(context, contextKeyShortcuts) {\n for (const key of context.keys()) {\n if (contextKeyShortcuts[key.name]) {\n context = context\n .set(new core_1.ActionContextKey(contextKeyShortcuts[key.name]), context.get(key))\n .delete(key);\n }\n }\n return context;\n }\n}\nexports.ActorContextPreprocessConvertShortcuts = ActorContextPreprocessConvertShortcuts;\n//# sourceMappingURL=ActorContextPreprocessConvertShortcuts.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorContextPreprocessConvertShortcuts\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorContextPreprocessQuerySourceIdentify = void 0;\nconst bus_context_preprocess_1 = require(\"@comunica/bus-context-preprocess\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst lru_cache_1 = require(\"lru-cache\");\n/**\n * A comunica Query Source Identify Context Preprocess Actor.\n */\nclass ActorContextPreprocessQuerySourceIdentify extends bus_context_preprocess_1.ActorContextPreprocess {\n constructor(args) {\n super(args);\n this.cache = this.cacheSize ? new lru_cache_1.LRUCache({ max: this.cacheSize }) : undefined;\n const cache = this.cache;\n if (cache) {\n this.httpInvalidator.addInvalidateListener(({ url }) => url ? cache.delete(url) : cache.clear());\n }\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n let context = action.context;\n // Rewrite sources\n if (context.has(context_entries_1.KeysInitQuery.querySourcesUnidentified)) {\n const querySourcesUnidentified = action.context\n .get(context_entries_1.KeysInitQuery.querySourcesUnidentified);\n const querySourcesUnidentifiedExpanded = await Promise.all(querySourcesUnidentified\n .map(querySource => this.expandSource(querySource)));\n const querySources = await Promise.all(querySourcesUnidentifiedExpanded\n .map(async (querySourceUnidentified) => this.identifySource(querySourceUnidentified, action.context)));\n // When identifying sources in preprocess actor, we record this as a dereference seed document event\n const statisticDereferenceLinks = action.context\n .get(context_entries_1.KeysStatistics.dereferencedLinks);\n if (statisticDereferenceLinks) {\n for (const querySource of querySources) {\n statisticDereferenceLinks.updateStatistic({\n url: querySource.source.referenceValue,\n metadata: {\n seed: true,\n },\n }, querySource.source);\n }\n }\n context = action.context\n .delete(context_entries_1.KeysInitQuery.querySourcesUnidentified)\n .set(context_entries_1.KeysQueryOperation.querySources, querySources);\n }\n return { context };\n }\n async expandSource(querySource) {\n if (typeof querySource === 'string' || 'match' in querySource) {\n return { value: querySource };\n }\n return {\n ...querySource,\n context: (await this.mediatorContextPreprocess.mediate({\n context: core_1.ActionContext.ensureActionContext(querySource.context ?? {}),\n })).context,\n };\n }\n identifySource(querySourceUnidentified, context) {\n let sourcePromise;\n // Try to read from cache\n // Only sources based on string values (e.g. URLs) are supported!\n if (typeof querySourceUnidentified.value === 'string' && this.cache) {\n sourcePromise = this.cache.get(querySourceUnidentified.value);\n }\n // If not in cache, identify the source\n if (!sourcePromise) {\n sourcePromise = this.mediatorQuerySourceIdentify.mediate({ querySourceUnidentified, context })\n .then(({ querySource }) => querySource);\n // Set in cache\n if (typeof querySourceUnidentified.value === 'string' && this.cache) {\n this.cache.set(querySourceUnidentified.value, sourcePromise);\n }\n }\n return sourcePromise;\n }\n}\nexports.ActorContextPreprocessQuerySourceIdentify = ActorContextPreprocessQuerySourceIdentify;\n//# sourceMappingURL=ActorContextPreprocessQuerySourceIdentify.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorContextPreprocessQuerySourceIdentify\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorContextPreprocessQuerySourceSkolemize = void 0;\nconst bus_context_preprocess_1 = require(\"@comunica/bus-context-preprocess\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst QuerySourceSkolemized_1 = require(\"./QuerySourceSkolemized\");\nconst utils_1 = require(\"./utils\");\n/**\n * A comunica Query Source Skolemize Context Preprocess Actor.\n */\nclass ActorContextPreprocessQuerySourceSkolemize extends bus_context_preprocess_1.ActorContextPreprocess {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n let context = action.context;\n // Wrap sources in skolemized sources\n if (context.has(context_entries_1.KeysQueryOperation.querySources)) {\n // Determine map of source id's\n if (!context.has(context_entries_1.KeysQuerySourceIdentify.sourceIds)) {\n context = context.set(context_entries_1.KeysQuerySourceIdentify.sourceIds, new Map());\n }\n const sourceIds = context.getSafe(context_entries_1.KeysQuerySourceIdentify.sourceIds);\n let sources = context.getSafe(context_entries_1.KeysQueryOperation.querySources);\n sources = sources.map(sourceWrapper => ({\n source: new QuerySourceSkolemized_1.QuerySourceSkolemized(sourceWrapper.source, (0, utils_1.getSourceId)(sourceIds, sourceWrapper.source)),\n context: sourceWrapper.context,\n }));\n context = context.set(context_entries_1.KeysQueryOperation.querySources, sources);\n }\n return { context };\n }\n}\nexports.ActorContextPreprocessQuerySourceSkolemize = ActorContextPreprocessQuerySourceSkolemize;\n//# sourceMappingURL=ActorContextPreprocessQuerySourceSkolemize.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuerySourceSkolemized = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst utils_1 = require(\"./utils\");\n/**\n * A IQuerySource wrapper that skolemizes outgoing quads and bindings.\n */\nclass QuerySourceSkolemized {\n constructor(innerSource, sourceId) {\n this.innerSource = innerSource;\n this.sourceId = sourceId;\n }\n async getSelectorShape(context) {\n return this.innerSource.getSelectorShape(context);\n }\n queryBindings(operation, context, options) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const operationMapped = (0, utils_1.deskolemizeOperation)(dataFactory, operation, this.sourceId);\n if (!operationMapped) {\n const it = new asynciterator_1.ArrayIterator([], { autoStart: false });\n it.setProperty('metadata', {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 0 },\n variables: [],\n });\n return it;\n }\n return (0, utils_1.skolemizeBindingsStream)(dataFactory, this.innerSource.queryBindings(operationMapped, context, options), this.sourceId);\n }\n queryBoolean(operation, context) {\n return this.innerSource.queryBoolean(operation, context);\n }\n queryQuads(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const operationMapped = (0, utils_1.deskolemizeOperation)(dataFactory, operation, this.sourceId);\n if (!operationMapped) {\n const it = new asynciterator_1.ArrayIterator([], { autoStart: false });\n it.setProperty('metadata', {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 0 },\n });\n return it;\n }\n return (0, utils_1.skolemizeQuadStream)(dataFactory, this.innerSource.queryQuads(operationMapped, context), this.sourceId);\n }\n queryVoid(operation, context) {\n return this.innerSource.queryVoid(operation, context);\n }\n get referenceValue() {\n return this.innerSource.referenceValue;\n }\n toString() {\n return `${this.innerSource.toString()}(SkolemID:${this.sourceId})`;\n }\n}\nexports.QuerySourceSkolemized = QuerySourceSkolemized;\n//# sourceMappingURL=QuerySourceSkolemized.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorContextPreprocessQuerySourceSkolemize\"), exports);\n__exportStar(require(\"./QuerySourceSkolemized\"), exports);\n__exportStar(require(\"./utils\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deskolemizeOperation = exports.deskolemizeQuad = exports.deskolemizeTermNestedThrowing = exports.deskolemizeTerm = exports.skolemizeBindingsStream = exports.skolemizeQuadStream = exports.skolemizeBindings = exports.skolemizeQuad = exports.skolemizeTerm = exports.getSourceId = exports.SKOLEM_PREFIX = void 0;\nconst utils_data_factory_1 = require(\"@comunica/utils-data-factory\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nexports.SKOLEM_PREFIX = 'urn:comunica_skolem:source_';\n/**\n * Get the unique, deterministic id for the given source.\n * @param sourceIds ID's of datasources, see KeysRdfResolveQuadPattern.sourceIds.\n * @param source A data source.\n * @return The id of the given source.\n */\nfunction getSourceId(sourceIds, source) {\n let sourceId = sourceIds.get(source.referenceValue);\n if (sourceId === undefined) {\n sourceId = `${sourceIds.size}`;\n sourceIds.set(source.referenceValue, sourceId);\n }\n return sourceId;\n}\nexports.getSourceId = getSourceId;\n/**\n * If the given term is a blank node, return a deterministic named node for it\n * based on the source id and the blank node value.\n * @param dataFactory The data factory.\n * @param term Any RDF term.\n * @param sourceId A source identifier.\n * @return If the given term was a blank node, this will return a skolemized named node, otherwise the original term.\n */\nfunction skolemizeTerm(dataFactory, term, sourceId) {\n if (term.termType === 'BlankNode') {\n return new utils_data_factory_1.BlankNodeScoped(`bc_${sourceId}_${term.value}`, dataFactory.namedNode(`${exports.SKOLEM_PREFIX}${sourceId}:${term.value}`));\n }\n return term;\n}\nexports.skolemizeTerm = skolemizeTerm;\n/**\n * Skolemize all terms in the given quad.\n * @param dataFactory The data factory.\n * @param quad An RDF quad.\n * @param sourceId A source identifier.\n * @return The skolemized quad.\n */\nfunction skolemizeQuad(dataFactory, quad, sourceId) {\n return (0, rdf_terms_1.mapTermsNested)(quad, term => skolemizeTerm(dataFactory, term, sourceId));\n}\nexports.skolemizeQuad = skolemizeQuad;\n/**\n * Skolemize all terms in the given bindings.\n * @param dataFactory The data factory.\n * @param bindings An RDF bindings object.\n * @param sourceId A source identifier.\n * @return The skolemized bindings.\n */\nfunction skolemizeBindings(dataFactory, bindings, sourceId) {\n return bindings.map((term) => {\n if (term.termType === 'Quad') {\n return skolemizeQuad(dataFactory, term, sourceId);\n }\n return skolemizeTerm(dataFactory, term, sourceId);\n });\n}\nexports.skolemizeBindings = skolemizeBindings;\n/**\n * Skolemize all terms in the given quad stream.\n * @param dataFactory The data factory.\n * @param iterator An RDF quad stream.\n * @param sourceId A source identifier.\n * @return The skolemized quad stream.\n */\nfunction skolemizeQuadStream(dataFactory, iterator, sourceId) {\n const ret = iterator.map(quad => skolemizeQuad(dataFactory, quad, sourceId));\n function inheritMetadata() {\n iterator.getProperty('metadata', (metadata) => {\n ret.setProperty('metadata', metadata);\n metadata.state.addInvalidateListener(inheritMetadata);\n });\n }\n inheritMetadata();\n return ret;\n}\nexports.skolemizeQuadStream = skolemizeQuadStream;\n/**\n * Skolemize all terms in the given bindings stream.\n * @param dataFactory The data factory.\n * @param iterator An RDF bindings stream.\n * @param sourceId A source identifier.\n * @return The skolemized bindings stream.\n */\nfunction skolemizeBindingsStream(dataFactory, iterator, sourceId) {\n const ret = iterator.map(bindings => skolemizeBindings(dataFactory, bindings, sourceId));\n function inheritMetadata() {\n iterator.getProperty('metadata', (metadata) => {\n ret.setProperty('metadata', metadata);\n metadata.state.addInvalidateListener(inheritMetadata);\n });\n }\n inheritMetadata();\n return ret;\n}\nexports.skolemizeBindingsStream = skolemizeBindingsStream;\n/**\n * If a given term was a skolemized named node for the given source id,\n * deskolemize it again to a blank node.\n * If the given term was a skolemized named node for another source, return false.\n * If the given term was not a skolemized named node, return the original term.\n * @param dataFactory The data factory.\n * @param term Any RDF term.\n * @param sourceId A source identifier.\n */\nfunction deskolemizeTerm(dataFactory, term, sourceId) {\n if (term.termType === 'BlankNode' && 'skolemized' in term) {\n term = term.skolemized;\n }\n if (term.termType === 'NamedNode' && term.value.startsWith(exports.SKOLEM_PREFIX)) {\n const colonSeparator = term.value.indexOf(':', exports.SKOLEM_PREFIX.length);\n const termSourceId = term.value.slice(exports.SKOLEM_PREFIX.length, colonSeparator);\n // We had a skolemized term\n if (termSourceId === sourceId) {\n // It came from the correct source\n const termLabel = term.value.slice(colonSeparator + 1, term.value.length);\n return dataFactory.blankNode(termLabel);\n }\n // It came from a different source\n return null;\n }\n return term;\n}\nexports.deskolemizeTerm = deskolemizeTerm;\nfunction deskolemizeTermNestedThrowing(dataFactory, term, sourceId) {\n if (term.termType === 'Quad') {\n return (0, rdf_terms_1.mapTermsNested)(term, (subTerm) => {\n const deskolemized = deskolemizeTerm(dataFactory, subTerm, sourceId);\n if (!deskolemized) {\n throw new Error(`Skolemized term is not in scope for this source`);\n }\n return deskolemized;\n });\n }\n const ret = deskolemizeTerm(dataFactory, term, sourceId);\n if (ret === null) {\n throw new Error(`Skolemized term is not in scope for this source`);\n }\n return ret;\n}\nexports.deskolemizeTermNestedThrowing = deskolemizeTermNestedThrowing;\n/**\n * Deskolemize all terms in the given quad.\n * @param dataFactory The data factory.\n * @param quad An RDF quad.\n * @param sourceId A source identifier.\n * @return The deskolemized quad.\n */\nfunction deskolemizeQuad(dataFactory, quad, sourceId) {\n return (0, rdf_terms_1.mapTermsNested)(quad, (term) => {\n const newTerm = deskolemizeTerm(dataFactory, term, sourceId);\n // If the term was skolemized in a different source then don't deskolemize it\n return newTerm ?? term;\n });\n}\nexports.deskolemizeQuad = deskolemizeQuad;\n/**\n * Deskolemize all terms in the given quad.\n * Will return undefined if there is at least one blank node not in scope for this sourceId.\n * @param dataFactory The data factory.\n * @param operation An algebra operation.\n * @param sourceId A source identifier.\n */\nfunction deskolemizeOperation(dataFactory, operation, sourceId) {\n const algebraFactory = new sparqlalgebrajs_1.Factory();\n try {\n return sparqlalgebrajs_1.Util.mapOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.PATTERN](op, factory) {\n return {\n result: Object.assign(factory.createPattern(deskolemizeTermNestedThrowing(dataFactory, op.subject, sourceId), deskolemizeTermNestedThrowing(dataFactory, op.predicate, sourceId), deskolemizeTermNestedThrowing(dataFactory, op.object, sourceId), deskolemizeTermNestedThrowing(dataFactory, op.graph, sourceId)), { metadata: op.metadata }),\n recurse: false,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.PATH](op, factory) {\n return {\n result: Object.assign(factory.createPath(deskolemizeTermNestedThrowing(dataFactory, op.subject, sourceId), op.predicate, deskolemizeTermNestedThrowing(dataFactory, op.object, sourceId), deskolemizeTermNestedThrowing(dataFactory, op.graph, sourceId)), { metadata: op.metadata }),\n recurse: false,\n };\n },\n }, algebraFactory);\n }\n catch {\n // Return undefined for skolemized terms not in scope for this source\n }\n}\nexports.deskolemizeOperation = deskolemizeOperation;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorContextPreprocessSetDefaults = void 0;\nconst bus_context_preprocess_1 = require(\"@comunica/bus-context-preprocess\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\n/**\n * A comunica Set Defaults Context Preprocess Actor.\n */\nclass ActorContextPreprocessSetDefaults extends bus_context_preprocess_1.ActorContextPreprocess {\n constructor(args) {\n super(args);\n this.defaultFunctionArgumentsCache = {};\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n let context = action.context;\n if (action.initialize) {\n // Set default values\n context = context\n .setDefault(context_entries_1.KeysInitQuery.queryTimestamp, new Date())\n .setDefault(context_entries_1.KeysInitQuery.queryTimestampHighResolution, performance.now())\n .setDefault(context_entries_1.KeysQuerySourceIdentify.sourceIds, new Map())\n .setDefault(context_entries_1.KeysCore.log, this.logger)\n .setDefault(context_entries_1.KeysInitQuery.functionArgumentsCache, this.defaultFunctionArgumentsCache)\n .setDefault(context_entries_1.KeysQuerySourceIdentify.hypermediaSourcesAggregatedStores, new Map())\n .setDefault(context_entries_1.KeysInitQuery.dataFactory, new rdf_data_factory_1.DataFactory());\n // Handle default query format\n let queryFormat = { language: 'sparql', version: '1.1' };\n if (context.has(context_entries_1.KeysInitQuery.queryFormat)) {\n queryFormat = context.get(context_entries_1.KeysInitQuery.queryFormat);\n if (queryFormat.language === 'graphql') {\n context = context.setDefault(context_entries_1.KeysInitQuery.graphqlSingularizeVariables, {});\n }\n }\n else {\n context = context.set(context_entries_1.KeysInitQuery.queryFormat, queryFormat);\n }\n }\n return { context };\n }\n}\nexports.ActorContextPreprocessSetDefaults = ActorContextPreprocessSetDefaults;\n//# sourceMappingURL=ActorContextPreprocessSetDefaults.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorContextPreprocessSetDefaults\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorContextPreprocessSourceToDestination = void 0;\nconst bus_context_preprocess_1 = require(\"@comunica/bus-context-preprocess\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Source To Destination Context Preprocess Actor.\n */\nclass ActorContextPreprocessSourceToDestination extends bus_context_preprocess_1.ActorContextPreprocess {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n if (action.context.get(context_entries_1.KeysInitQuery.querySourcesUnidentified) &&\n !action.context.get(context_entries_1.KeysRdfUpdateQuads.destination)) {\n const sources = action.context.get(context_entries_1.KeysInitQuery.querySourcesUnidentified);\n if (sources.length === 1) {\n return { context: action.context.set(context_entries_1.KeysRdfUpdateQuads.destination, sources[0]) };\n }\n }\n return action;\n }\n}\nexports.ActorContextPreprocessSourceToDestination = ActorContextPreprocessSourceToDestination;\n//# sourceMappingURL=ActorContextPreprocessSourceToDestination.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorContextPreprocessSourceToDestination\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceFallback = void 0;\nconst bus_dereference_1 = require(\"@comunica/bus-dereference\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Fallback Dereference Actor.\n */\nclass ActorDereferenceFallback extends bus_dereference_1.ActorDereference {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return this.handleDereferenceErrors(action, new Error(`Could not dereference '${action.url}'`));\n }\n}\nexports.ActorDereferenceFallback = ActorDereferenceFallback;\n//# sourceMappingURL=ActorDereferenceFallback.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorDereferenceFallback\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceHttp = void 0;\nconst ActorDereferenceHttpBase_1 = require(\"./ActorDereferenceHttpBase\");\n/**\n * The browser variant of {@link ActorDereferenceHttp}.\n */\nclass ActorDereferenceHttp extends ActorDereferenceHttpBase_1.ActorDereferenceHttpBase {\n getMaxAcceptHeaderLength() {\n return this.maxAcceptHeaderLengthBrowser;\n }\n}\nexports.ActorDereferenceHttp = ActorDereferenceHttp;\n//# sourceMappingURL=ActorDereferenceHttp-browser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceHttpBase = exports.mediaTypesToAcceptString = void 0;\nconst bus_dereference_1 = require(\"@comunica/bus-dereference\");\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst core_1 = require(\"@comunica/core\");\nconst stream_to_string_1 = require(\"@jeswr/stream-to-string\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst REGEX_MEDIATYPE = /^[^ ;]*/u;\nfunction mediaTypesToAcceptString(mediaTypes, maxLength) {\n const wildcard = '*/*;q=0.1';\n const parts = [];\n const sortedMediaTypes = Object.entries(mediaTypes)\n .map(([mediaType, priority]) => ({ mediaType, priority }))\n .sort((left, right) => right.priority === left.priority ?\n left.mediaType.localeCompare(right.mediaType) :\n right.priority - left.priority);\n // Take into account the ',' characters joining each type\n let partsLength = sortedMediaTypes.length - 1;\n for (const { mediaType, priority } of sortedMediaTypes) {\n const part = mediaType + (priority === 1 ? '' : `;q=${priority.toFixed(3).replace(/0*$/u, '')}`);\n if (partsLength + part.length > maxLength) {\n while (partsLength + wildcard.length > maxLength) {\n const last = parts.pop() ?? '';\n // Don't forget the ','\n partsLength -= last.length + 1;\n }\n parts.push(wildcard);\n break;\n }\n parts.push(part);\n partsLength += part.length;\n }\n return parts.length === 0 ? '*/*' : parts.join(',');\n}\nexports.mediaTypesToAcceptString = mediaTypesToAcceptString;\n/**\n * An actor that listens on the 'dereference' bus.\n *\n * It resolves the URL using the HTTP bus using an accept header compiled from the available media types.\n */\nclass ActorDereferenceHttpBase extends bus_dereference_1.ActorDereference {\n constructor(args) {\n super(args);\n }\n async test({ url }) {\n if (!/^https?:/u.test(url)) {\n return (0, core_1.failTest)(`Cannot retrieve ${url} because it is not an HTTP(S) URL.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n let exists = true;\n // Append any custom passed headers\n const headers = new Headers(action.headers);\n // Resolve HTTP URL using appropriate accept header\n headers.append('Accept', mediaTypesToAcceptString(await action.mediaTypes?.() ?? {}, this.getMaxAcceptHeaderLength()));\n let httpResponse;\n const requestTimeStart = Date.now();\n try {\n httpResponse = await this.mediatorHttp.mediate({\n context: action.context,\n init: { headers, method: action.method },\n input: action.url,\n });\n }\n catch (error) {\n return this.handleDereferenceErrors(action, error);\n }\n // The response URL can be relative to the given URL\n const url = (0, relative_to_absolute_iri_1.resolve)(httpResponse.url, action.url);\n const requestTime = Date.now() - requestTimeStart;\n // Only parse if retrieval was successful\n if (httpResponse.status !== 200) {\n exists = false;\n // Consume the body, to avoid process to hang\n const bodyString = httpResponse.body ?\n await (0, stream_to_string_1.stringify)(bus_http_1.ActorHttp.toNodeReadable(httpResponse.body)) :\n 'empty response';\n if (!action.acceptErrors) {\n const error = new Error(`Could not retrieve ${action.url} (HTTP status ${httpResponse.status}):\\n${bodyString}`);\n return this.handleDereferenceErrors(action, error, httpResponse.headers, requestTime);\n }\n }\n const mediaType = REGEX_MEDIATYPE.exec(httpResponse.headers.get('content-type') ?? '')?.[0];\n // Return the parsed quad stream and whether or not only triples are supported\n return {\n url,\n data: exists ? bus_http_1.ActorHttp.toNodeReadable(httpResponse.body) : (0, bus_dereference_1.emptyReadable)(),\n exists,\n requestTime,\n headers: httpResponse.headers,\n mediaType: mediaType === 'text/plain' ? undefined : mediaType,\n };\n }\n}\nexports.ActorDereferenceHttpBase = ActorDereferenceHttpBase;\n//# sourceMappingURL=ActorDereferenceHttpBase.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorDereferenceHttp\"), exports);\n__exportStar(require(\"./ActorDereferenceHttpBase\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceRdfParse = void 0;\nconst bus_dereference_rdf_1 = require(\"@comunica/bus-dereference-rdf\");\n/**\n * A comunica Parse Dereference RDF Actor.\n */\nclass ActorDereferenceRdfParse extends bus_dereference_rdf_1.ActorDereferenceRdf {\n /**\n * @param args - @defaultNested {{\n * \"ttl\": \"text/turtle\",\n * \"turtle\": \"text/turtle\",\n * \"shaclc\": \"text/shaclc\",\n * \"shc\": \"text/shaclc\",\n * \"shaclce\": \"text/shaclc-ext\",\n * \"shce\": \"text/shaclc-ext\",\n * \"nt\": \"application/n-triples\",\n * \"ntriples\": \"application/n-triples\",\n * \"nq\": \"application/n-quads\",\n * \"nquads\": \"application/n-quads\",\n * \"rdf\": \"application/rdf+xml\",\n * \"rdfxml\": \"application/rdf+xml\",\n * \"owl\": \"application/rdf+xml\",\n * \"n3\": \"text/n3\",\n * \"trig\": \"application/trig\",\n * \"jsonld\": \"application/ld+json\",\n * \"json\": \"application/json\",\n * \"html\": \"text/html\",\n * \"htm\": \"text/html\",\n * \"xhtml\": \"application/xhtml+xml\",\n * \"xht\": \"application/xhtml+xml\",\n * \"xml\": \"application/xml\",\n * \"svg\": \"image/svg+xml\",\n * \"svgz\": \"image/svg+xml\"\n * }} mediaMappings\n */\n constructor(args) {\n super(args);\n }\n async getMetadata(dereference) {\n return { baseIRI: dereference.url };\n }\n}\nexports.ActorDereferenceRdfParse = ActorDereferenceRdfParse;\n//# sourceMappingURL=ActorDereferenceRdfParse.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorDereferenceRdfParse\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorExpressionEvaluatorFactoryDefault = void 0;\nconst bus_expression_evaluator_factory_1 = require(\"@comunica/bus-expression-evaluator-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst AlgebraTransformer_1 = require(\"./AlgebraTransformer\");\nconst ExpressionEvaluator_1 = require(\"./ExpressionEvaluator\");\n/**\n * A comunica Default Expression Evaluator Factory Actor.\n */\nclass ActorExpressionEvaluatorFactoryDefault extends bus_expression_evaluator_factory_1.ActorExpressionEvaluatorFactory {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const fullContext = (0, utils_expression_evaluator_1.prepareEvaluatorActionContext)(action.context);\n return new ExpressionEvaluator_1.ExpressionEvaluator(fullContext, await new AlgebraTransformer_1.AlgebraTransformer(fullContext, this.mediatorFunctionFactory).transformAlgebra(action.algExpr), this.mediatorFunctionFactory, this.mediatorQueryOperation, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory)));\n }\n}\nexports.ActorExpressionEvaluatorFactoryDefault = ActorExpressionEvaluatorFactoryDefault;\n//# sourceMappingURL=ActorExpressionEvaluatorFactoryDefault.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AlgebraTransformer = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst ExprEval = require(\"@comunica/utils-expression-evaluator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nclass AlgebraTransformer extends ExprEval.TermTransformer {\n constructor(context, mediatorFunctionFactory) {\n super(context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider));\n this.context = context;\n this.mediatorFunctionFactory = mediatorFunctionFactory;\n }\n async transformAlgebra(expr) {\n const types = sparqlalgebrajs_1.Algebra.expressionTypes;\n switch (expr.expressionType) {\n case types.TERM:\n return this.transformTerm(expr);\n case types.OPERATOR:\n return await this.transformOperator(expr);\n case types.NAMED:\n return await this.transformNamed(expr);\n case types.EXISTENCE:\n return AlgebraTransformer.transformExistence(expr);\n case types.AGGREGATE:\n return AlgebraTransformer.transformAggregate(expr);\n case types.WILDCARD:\n return AlgebraTransformer.transformWildcard(expr);\n }\n }\n static transformWildcard(term) {\n return new ExprEval.NamedNode(term.wildcard.value);\n }\n async getOperator(operator, expr) {\n const operatorFunc = await this.mediatorFunctionFactory.mediate({\n functionName: operator,\n arguments: expr.args,\n context: this.context,\n });\n const operatorArgs = await Promise.all(expr.args.map(arg => this.transformAlgebra(arg)));\n if (!operatorFunc.checkArity(operatorArgs)) {\n throw new ExprEval.InvalidArity(operatorArgs, operator);\n }\n return new ExprEval.Operator(operator, operatorArgs, operatorFunc.apply);\n }\n async transformOperator(expr) {\n return this.getOperator(expr.operator.toLowerCase(), expr);\n }\n async transformNamed(expr) {\n return this.getOperator(expr.name.value, expr);\n }\n static transformAggregate(expr) {\n const name = expr.aggregator;\n return new ExprEval.Aggregate(name, expr);\n }\n static transformExistence(expr) {\n return new ExprEval.Existence(expr);\n }\n}\nexports.AlgebraTransformer = AlgebraTransformer;\n//# sourceMappingURL=AlgebraTransformer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionEvaluator = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst InternalEvaluator_1 = require(\"./InternalEvaluator\");\nclass ExpressionEvaluator {\n constructor(context, expr, mediatorFunctionFactory, mediatorQueryOperation, bindingsFactory) {\n this.context = context;\n this.expr = expr;\n this.mediatorFunctionFactory = mediatorFunctionFactory;\n this.mediatorQueryOperation = mediatorQueryOperation;\n this.bindingsFactory = bindingsFactory;\n this.internalEvaluator =\n new InternalEvaluator_1.InternalEvaluator(context, mediatorFunctionFactory, mediatorQueryOperation, bindingsFactory);\n }\n async evaluate(mapping) {\n const result = await this.internalEvaluator.evaluatorExpressionEvaluation(this.expr, mapping);\n return result.toRDF(this.context.getSafe(context_entries_1.KeysInitQuery.dataFactory));\n }\n async evaluateAsEBV(mapping) {\n const result = await this.internalEvaluator.evaluatorExpressionEvaluation(this.expr, mapping);\n return result.coerceEBV();\n }\n evaluateAsEvaluatorExpression(mapping) {\n return this.evaluatorExpressionEvaluation(this.expr, mapping);\n }\n evaluatorExpressionEvaluation(expr, mapping) {\n return this.internalEvaluator.evaluatorExpressionEvaluation(expr, mapping);\n }\n}\nexports.ExpressionEvaluator = ExpressionEvaluator;\n//# sourceMappingURL=ExpressionEvaluator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InternalEvaluator = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst types_1 = require(\"@comunica/types\");\nconst Eval = require(\"@comunica/utils-expression-evaluator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst AlgebraTransformer_1 = require(\"./AlgebraTransformer\");\n/**\n * This class provides evaluation functionality to already transformed expressions.\n */\nclass InternalEvaluator {\n constructor(context, mediatorFunctionFactory, mediatorQueryOperation, bindingsFactory) {\n this.context = context;\n this.mediatorQueryOperation = mediatorQueryOperation;\n this.bindingsFactory = bindingsFactory;\n this.subEvaluators = {\n [types_1.ExpressionType.Term]: (expr, _mapping) => this.term(expr),\n [types_1.ExpressionType.Variable]: (expr, mapping) => this.variable(expr, mapping),\n [types_1.ExpressionType.Operator]: (expr, mapping) => this.evalFunction(expr, mapping),\n [types_1.ExpressionType.Existence]: (expr, mapping) => this.evalExistence(expr, mapping),\n [types_1.ExpressionType.Aggregate]: (_expr, _mapping) => this.evalAggregate(),\n };\n this.transformer = new AlgebraTransformer_1.AlgebraTransformer(context, mediatorFunctionFactory);\n }\n async evaluatorExpressionEvaluation(expr, mapping) {\n const evaluator = this.subEvaluators[expr.expressionType];\n return evaluator.bind(this)(expr, mapping);\n }\n term(expr) {\n return expr;\n }\n variable(expr, mapping) {\n const term = mapping.get(Eval.expressionToVar(this.context.getSafe(context_entries_1.KeysInitQuery.dataFactory), expr));\n if (!term) {\n throw new Eval.UnboundVariableError(expr.name, mapping);\n }\n return this.transformer.transformRDFTermUnsafe(term);\n }\n async evalFunction(expr, mapping) {\n return expr.apply({\n args: expr.args,\n mapping,\n exprEval: this,\n });\n }\n async evalExistence(expr, mapping) {\n const dataFactory = this.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = (0, utils_query_operation_1.materializeOperation)(expr.expression.input, mapping, algebraFactory, this.bindingsFactory);\n const outputRaw = await this.mediatorQueryOperation.mediate({ operation, context: this.context });\n const output = (0, utils_query_operation_1.getSafeBindings)(outputRaw);\n return await new Promise((resolve, reject) => {\n output.bindingsStream.on('end', () => {\n resolve(false);\n });\n output.bindingsStream.on('error', reject);\n output.bindingsStream.on('data', () => {\n output.bindingsStream.close();\n resolve(true);\n });\n })\n .then((exists) => expr.expression.not ? !exists : exists)\n .then((exists) => new Eval.BooleanLiteral(exists));\n }\n evalAggregate() {\n throw new Eval.NoAggregator();\n }\n}\nexports.InternalEvaluator = InternalEvaluator;\n//# sourceMappingURL=InternalEvaluator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorExpressionEvaluatorFactoryDefault\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionBnode = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionBnode_1 = require(\"./ExpressionFunctionBnode\");\n/**\n * A comunica ExpressionFunctionBnode Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionBnode extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.BNODE],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionBnode_1.ExpressionFunctionBnode();\n }\n}\nexports.ActorFunctionFactoryExpressionBnode = ActorFunctionFactoryExpressionBnode;\n//# sourceMappingURL=ActorFunctionFactoryExpressionBnode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionBnode = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_data_factory_1 = require(\"@comunica/utils-data-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-bnode\n * id has to be distinct over all id's in dataset\n */\nclass ExpressionFunctionBnode extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator: utils_expression_evaluator_1.SparqlOperator.BNODE,\n apply: async (context) => {\n const { args, mapping, exprEval } = context;\n const input = args.length === 1 ?\n await exprEval.evaluatorExpressionEvaluation(args[0], mapping) :\n undefined;\n let strInput;\n if (input) {\n const operation = ExpressionFunctionBnode.bnodeTree.search([input], exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider), exprEval.context.getSafe(context_entries_1.KeysInitQuery.functionArgumentsCache));\n if (!operation) {\n throw new utils_expression_evaluator_1.InvalidArgumentTypes(args, utils_expression_evaluator_1.SparqlOperator.BNODE);\n }\n strInput = operation(exprEval)([input]).str();\n }\n const bnode = new utils_data_factory_1.BlankNodeBindingsScoped(strInput ?? `BNODE_${ExpressionFunctionBnode.bnodeCounter++}`);\n return new utils_expression_evaluator_1.BlankNode(bnode);\n },\n });\n }\n checkArity(args) {\n return args.length === 0 || args.length === 1;\n }\n}\nexports.ExpressionFunctionBnode = ExpressionFunctionBnode;\n/**\n * This OverloadTree with the constant function will handle both type promotion and subtype-substitution\n */\nExpressionFunctionBnode.bnodeTree = (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.BNODE).onString1(() => arg => arg).collect();\n/**\n * A counter that keeps track blank node generated through BNODE() SPARQL\n * expressions.\n */\nExpressionFunctionBnode.bnodeCounter = 0;\n//# sourceMappingURL=ExpressionFunctionBnode.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionBnode\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionBound = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionBound_1 = require(\"./ExpressionFunctionBound\");\n/**\n * A comunica ExpressionFunctionBound Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionBound extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.BOUND],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionBound_1.ExpressionFunctionBound();\n }\n}\nexports.ActorFunctionFactoryExpressionBound = ActorFunctionFactoryExpressionBound;\n//# sourceMappingURL=ActorFunctionFactoryExpressionBound.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionBound = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst types_1 = require(\"@comunica/types\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-bound\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionBound extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.BOUND,\n apply: async ({ args, mapping, exprEval }) => {\n const variable = args[0];\n if (variable.expressionType !== types_1.ExpressionType.Variable) {\n throw new utils_expression_evaluator_1.InvalidArgumentTypes(args, utils_expression_evaluator_1.SparqlOperator.BOUND);\n }\n const val = mapping.has((0, utils_expression_evaluator_1.expressionToVar)(exprEval.context.getSafe(context_entries_1.KeysInitQuery.dataFactory), variable));\n return (0, utils_expression_evaluator_1.bool)(val);\n },\n });\n }\n}\nexports.ExpressionFunctionBound = ExpressionFunctionBound;\n//# sourceMappingURL=ExpressionFunctionBound.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionBound\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionCoalesce = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionCoalesce_1 = require(\"./ExpressionFunctionCoalesce\");\n/**\n * A comunica ExpressionFunctionCoalesce Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionCoalesce extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.COALESCE],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionCoalesce_1.ExpressionFunctionCoalesce();\n }\n}\nexports.ActorFunctionFactoryExpressionCoalesce = ActorFunctionFactoryExpressionCoalesce;\n//# sourceMappingURL=ActorFunctionFactoryExpressionCoalesce.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionCoalesce = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-coalesce\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionCoalesce extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator: utils_expression_evaluator_1.SparqlOperator.COALESCE,\n apply: async ({ args, mapping, exprEval }) => {\n const errors = [];\n for (const expr of args) {\n try {\n return await exprEval.evaluatorExpressionEvaluation(expr, mapping);\n }\n catch (error) {\n errors.push(error);\n }\n }\n throw new utils_expression_evaluator_1.CoalesceError(errors);\n },\n });\n }\n}\nexports.ExpressionFunctionCoalesce = ExpressionFunctionCoalesce;\n//# sourceMappingURL=ExpressionFunctionCoalesce.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionCoalesce\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionConcat = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionConcat_1 = require(\"./ExpressionFunctionConcat\");\n/**\n * A comunica ExpressionFunctionConcat Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionConcat extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.CONCAT],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionConcat_1.ExpressionFunctionConcat();\n }\n}\nexports.ActorFunctionFactoryExpressionConcat = ActorFunctionFactoryExpressionConcat;\n//# sourceMappingURL=ActorFunctionFactoryExpressionConcat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionConcat = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-concat\n */\nclass ExpressionFunctionConcat extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator: utils_expression_evaluator_1.SparqlOperator.CONCAT,\n apply: async (context) => {\n const { args, mapping, exprEval } = context;\n const pLits = args\n .map(async (expr) => exprEval.evaluatorExpressionEvaluation(expr, mapping))\n .map(async (pTerm) => {\n const operation = ExpressionFunctionConcat.concatTree.search([await pTerm], exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider), exprEval.context.getSafe(context_entries_1.KeysInitQuery.functionArgumentsCache));\n if (!operation) {\n throw new utils_expression_evaluator_1.InvalidArgumentTypes(args, utils_expression_evaluator_1.SparqlOperator.CONCAT);\n }\n return operation(exprEval)([await pTerm]);\n });\n const lits = await Promise.all(pLits);\n const strings = lits.map(lit => lit.typedValue);\n const joined = strings.join('');\n const lang = ExpressionFunctionConcat.langAllEqual(lits) ? lits[0].language : undefined;\n return lang ? (0, utils_expression_evaluator_1.langString)(joined, lang) : (0, utils_expression_evaluator_1.string)(joined);\n },\n });\n }\n static langAllEqual(lits) {\n return lits.length > 0 && lits.every(lit => lit.language === lits[0].language);\n }\n}\nexports.ExpressionFunctionConcat = ExpressionFunctionConcat;\n/**\n * This OverloadTree with the constant function will handle both type promotion and subtype-substitution\n */\nExpressionFunctionConcat.concatTree = (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.CONCAT).onStringly1(() => expr => expr)\n .collect();\n//# sourceMappingURL=ExpressionFunctionConcat.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionConcat\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionExtensions = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst NamedExtension_1 = require(\"./NamedExtension\");\n/**\n * A comunica Expression Function Extensions Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionExtensions extends bus_function_factory_1.ActorFunctionFactory {\n constructor(args) {\n super(args);\n }\n async test({ context, functionName }) {\n const extensionFinder = context.getSafe(context_entries_1.KeysExpressionEvaluator.extensionFunctionCreator);\n const definition = await extensionFinder(new rdf_data_factory_1.DataFactory().namedNode(functionName));\n if (definition) {\n return (0, core_1.passTestVoid)();\n }\n return (0, core_1.failTest)(`Actor ${this.name} can only provide non-termExpression implementations for functions that are provided through config entries like: ${context_entries_1.KeysInitQuery.extensionFunctionCreator.name} or ${context_entries_1.KeysInitQuery.extensionFunctions.name}`);\n }\n async run({ context, functionName }) {\n const extensionFinder = context.getSafe(context_entries_1.KeysExpressionEvaluator.extensionFunctionCreator);\n const definition = await extensionFinder(new rdf_data_factory_1.DataFactory().namedNode(functionName));\n return new NamedExtension_1.NamedExtension({\n operator: functionName,\n functionDefinition: definition,\n });\n }\n}\nexports.ActorFunctionFactoryExpressionExtensions = ActorFunctionFactoryExpressionExtensions;\n//# sourceMappingURL=ActorFunctionFactoryExpressionExtensions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NamedExtension = void 0;\nconst Core_1 = require(\"@comunica/bus-function-factory/lib/implementation/Core\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass NamedExtension extends Core_1.ExpressionFunctionBase {\n constructor({ operator, functionDefinition }) {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator,\n apply: async ({ args, exprEval, mapping }) => {\n const evaluatedArgs = await Promise.all(args.map(arg => exprEval.evaluatorExpressionEvaluation(arg, mapping)));\n try {\n return new utils_expression_evaluator_1.TermTransformer(exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider))\n .transformRDFTermUnsafe(await functionDefinition(evaluatedArgs.map(term => term.toRDF(exprEval.context.getSafe(context_entries_1.KeysInitQuery.dataFactory)))));\n }\n catch (error) {\n throw new utils_expression_evaluator_1.ExtensionFunctionError(this.operator, error);\n }\n },\n });\n }\n}\nexports.NamedExtension = NamedExtension;\n//# sourceMappingURL=NamedExtension.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionExtensions\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionIf = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionIf_1 = require(\"./ExpressionFunctionIf\");\n/**\n * A comunica ExpressionFunctionIf Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionIf extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IF],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionIf_1.ExpressionFunctionIf();\n }\n}\nexports.ActorFunctionFactoryExpressionIf = ActorFunctionFactoryExpressionIf;\n//# sourceMappingURL=ActorFunctionFactoryExpressionIf.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionIf = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-if\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionIf extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: 3,\n operator: utils_expression_evaluator_1.SparqlOperator.IF,\n apply: async ({ args, mapping, exprEval }) => {\n const valFirst = await exprEval.evaluatorExpressionEvaluation(args[0], mapping);\n const ebv = valFirst.coerceEBV();\n return ebv ?\n exprEval.evaluatorExpressionEvaluation(args[1], mapping) :\n exprEval.evaluatorExpressionEvaluation(args[2], mapping);\n },\n });\n }\n}\nexports.ExpressionFunctionIf = ExpressionFunctionIf;\n//# sourceMappingURL=ExpressionFunctionIf.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionIf\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionIn = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionIn_1 = require(\"./ExpressionFunctionIn\");\n/**\n * A comunica ExpressionFunctionIn Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionIn extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IN],\n termFunction: false,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const equalityFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.EQUAL,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n return new ExpressionFunctionIn_1.ExpressionFunctionIn(equalityFunction);\n }\n}\nexports.ActorFunctionFactoryExpressionIn = ActorFunctionFactoryExpressionIn;\n//# sourceMappingURL=ActorFunctionFactoryExpressionIn.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionIn = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-in\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionIn extends bus_function_factory_1.ExpressionFunctionBase {\n constructor(equalityFunction) {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator: utils_expression_evaluator_1.SparqlOperator.IN,\n apply: async (context) => {\n const { args, mapping, exprEval } = context;\n const [leftExpr, ...remaining] = args;\n const left = await exprEval.evaluatorExpressionEvaluation(leftExpr, mapping);\n return await this.inRecursive(left, { ...context, args: remaining }, []);\n },\n });\n this.equalityFunction = equalityFunction;\n }\n checkArity(args) {\n return args.length > 0;\n }\n async inRecursive(needle, context, results) {\n const { args, mapping, exprEval } = context;\n if (args.length === 0) {\n const noErrors = results.every(val => !val);\n return noErrors ? (0, utils_expression_evaluator_1.bool)(false) : Promise.reject(new utils_expression_evaluator_1.InError(results));\n }\n try {\n // We know this will not be undefined because we check args.length === 0\n const nextExpression = args.shift();\n const next = await exprEval.evaluatorExpressionEvaluation(nextExpression, mapping);\n if (this.equalityFunction.applyOnTerms([needle, next], exprEval).typedValue) {\n return (0, utils_expression_evaluator_1.bool)(true);\n }\n return this.inRecursive(needle, context, [...results, false]);\n }\n catch (error) {\n return this.inRecursive(needle, context, [...results, error]);\n }\n }\n}\nexports.ExpressionFunctionIn = ExpressionFunctionIn;\n//# sourceMappingURL=ExpressionFunctionIn.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionIn\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionLogicalAnd = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionLogicalAnd_1 = require(\"./ExpressionFunctionLogicalAnd\");\n/**\n * A comunica ExpressionFunctionLogicalAnd Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionLogicalAnd extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LOGICAL_AND],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionLogicalAnd_1.ExpressionFunctionLogicalAnd();\n }\n}\nexports.ActorFunctionFactoryExpressionLogicalAnd = ActorFunctionFactoryExpressionLogicalAnd;\n//# sourceMappingURL=ActorFunctionFactoryExpressionLogicalAnd.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionLogicalAnd = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-logical-and\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionLogicalAnd extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.LOGICAL_AND,\n apply: async ({ args, mapping, exprEval }) => {\n const [leftExpr, rightExpr] = args;\n try {\n const leftTerm = await exprEval.evaluatorExpressionEvaluation(leftExpr, mapping);\n const left = leftTerm.coerceEBV();\n if (!left) {\n return (0, utils_expression_evaluator_1.bool)(false);\n }\n const rightTerm = await exprEval.evaluatorExpressionEvaluation(rightExpr, mapping);\n const right = rightTerm.coerceEBV();\n return (0, utils_expression_evaluator_1.bool)(right);\n }\n catch (error) {\n const rightErrorTerm = await exprEval.evaluatorExpressionEvaluation(rightExpr, mapping);\n const rightError = rightErrorTerm.coerceEBV();\n if (rightError) {\n throw error;\n }\n return (0, utils_expression_evaluator_1.bool)(false);\n }\n },\n });\n }\n}\nexports.ExpressionFunctionLogicalAnd = ExpressionFunctionLogicalAnd;\n//# sourceMappingURL=ExpressionFunctionLogicalAnd.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionLogicalAnd\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionLogicalOr = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionLogicalOr_1 = require(\"./ExpressionFunctionLogicalOr\");\n/**\n * A comunica ExpressionFunctionLogicalOr Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionLogicalOr extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LOGICAL_OR],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionLogicalOr_1.ExpressionFunctionLogicalOr();\n }\n}\nexports.ActorFunctionFactoryExpressionLogicalOr = ActorFunctionFactoryExpressionLogicalOr;\n//# sourceMappingURL=ActorFunctionFactoryExpressionLogicalOr.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionLogicalOr = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-logical-or\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionLogicalOr extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.LOGICAL_OR,\n apply: async ({ args, mapping, exprEval }) => {\n const [leftExpr, rightExpr] = args;\n try {\n const leftTerm = await exprEval.evaluatorExpressionEvaluation(leftExpr, mapping);\n const left = leftTerm.coerceEBV();\n if (left) {\n return (0, utils_expression_evaluator_1.bool)(true);\n }\n const rightTerm = await exprEval.evaluatorExpressionEvaluation(rightExpr, mapping);\n const right = rightTerm.coerceEBV();\n return (0, utils_expression_evaluator_1.bool)(right);\n }\n catch (error) {\n const rightErrorTerm = await exprEval.evaluatorExpressionEvaluation(rightExpr, mapping);\n const rightError = rightErrorTerm.coerceEBV();\n if (!rightError) {\n throw error;\n }\n return (0, utils_expression_evaluator_1.bool)(true);\n }\n },\n });\n }\n}\nexports.ExpressionFunctionLogicalOr = ExpressionFunctionLogicalOr;\n//# sourceMappingURL=ExpressionFunctionLogicalOr.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionLogicalOr\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionNotIn = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionNotIn_1 = require(\"./ExpressionFunctionNotIn\");\n/**\n * A comunica ExpressionFunctionNotIn Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionNotIn extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.NOT_IN],\n termFunction: false,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const inFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.IN,\n context: args.context,\n arguments: args.arguments,\n });\n return new ExpressionFunctionNotIn_1.ExpressionFunctionNotIn(inFunction);\n }\n}\nexports.ActorFunctionFactoryExpressionNotIn = ActorFunctionFactoryExpressionNotIn;\n//# sourceMappingURL=ActorFunctionFactoryExpressionNotIn.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionNotIn = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-not-in\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionNotIn extends bus_function_factory_1.ExpressionFunctionBase {\n constructor(inFunction) {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator: utils_expression_evaluator_1.SparqlOperator.NOT_IN,\n apply: async (context) => {\n const isIn = await this.inFunction.apply(context);\n return (0, utils_expression_evaluator_1.bool)(!isIn.typedValue);\n },\n });\n this.inFunction = inFunction;\n }\n checkArity(args) {\n return args.length > 0;\n }\n}\nexports.ExpressionFunctionNotIn = ExpressionFunctionNotIn;\n//# sourceMappingURL=ExpressionFunctionNotIn.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionNotIn\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryExpressionSameTerm = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst ExpressionFunctionSameTerm_1 = require(\"./ExpressionFunctionSameTerm\");\n/**\n * A comunica ExpressionFunctionSameTerm Function Factory Actor.\n */\nclass ActorFunctionFactoryExpressionSameTerm extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SAME_TERM],\n termFunction: false,\n });\n }\n async run(_) {\n return new ExpressionFunctionSameTerm_1.ExpressionFunctionSameTerm();\n }\n}\nexports.ActorFunctionFactoryExpressionSameTerm = ActorFunctionFactoryExpressionSameTerm;\n//# sourceMappingURL=ActorFunctionFactoryExpressionSameTerm.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionFunctionSameTerm = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-sameTerm\n * This function doesn't require type promotion or subtype-substitution, everything works on TermExpression\n */\nclass ExpressionFunctionSameTerm extends bus_function_factory_1.ExpressionFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.SAME_TERM,\n apply: async ({ args, mapping, exprEval }) => {\n const dataFactory = exprEval.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const [leftExpr, rightExpr] = args.map(arg => exprEval.evaluatorExpressionEvaluation(arg, mapping));\n const [left, right] = await Promise.all([leftExpr, rightExpr]);\n return (0, utils_expression_evaluator_1.bool)(left.toRDF(dataFactory).equals(right.toRDF(dataFactory)));\n },\n });\n }\n}\nexports.ExpressionFunctionSameTerm = ExpressionFunctionSameTerm;\n//# sourceMappingURL=ExpressionFunctionSameTerm.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryExpressionSameTerm\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermAbs = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionAbs_1 = require(\"./TermFunctionAbs\");\n/**\n * A comunica TermFunctionAbs Function Factory Actor.\n */\nclass ActorFunctionFactoryTermAbs extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.ABS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionAbs_1.TermFunctionAbs();\n }\n}\nexports.ActorFunctionFactoryTermAbs = ActorFunctionFactoryTermAbs;\n//# sourceMappingURL=ActorFunctionFactoryTermAbs.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionAbs = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-abs\n */\nclass TermFunctionAbs extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.ABS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.ABS)\n .numericConverter(() => num => Math.abs(num))\n .collect(),\n });\n }\n}\nexports.TermFunctionAbs = TermFunctionAbs;\n//# sourceMappingURL=TermFunctionAbs.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermAbs\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermAddition = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionAddition_1 = require(\"./TermFunctionAddition\");\n/**\n * A comunica TermFunctionAddition Function Factory Actor.\n */\nclass ActorFunctionFactoryTermAddition extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.ADDITION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionAddition_1.TermFunctionAddition();\n }\n}\nexports.ActorFunctionFactoryTermAddition = ActorFunctionFactoryTermAddition;\n//# sourceMappingURL=ActorFunctionFactoryTermAddition.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionAddition = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst bignumber_js_1 = require(\"bignumber.js\");\nclass TermFunctionAddition extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.ADDITION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.ADDITION)\n .arithmetic(() => (left, right) => new bignumber_js_1.BigNumber(left).plus(right).toNumber())\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([date, dur]) => \n // https://www.w3.org/TR/xpath-functions/#func-add-dayTimeDuration-to-dateTime\n new utils_expression_evaluator_1.DateTimeLiteral((0, utils_expression_evaluator_1.addDurationToDateTime)(date.typedValue, (0, utils_expression_evaluator_1.defaultedDurationRepresentation)(dur.typedValue))))\n .copy({\n from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION],\n to: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION],\n })\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([date, dur]) => \n // https://www.w3.org/TR/xpath-functions/#func-add-dayTimeDuration-to-date\n new utils_expression_evaluator_1.DateLiteral((0, utils_expression_evaluator_1.addDurationToDateTime)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(date.typedValue), (0, utils_expression_evaluator_1.defaultedDurationRepresentation)(dur.typedValue))))\n .copy({\n from: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION],\n to: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION],\n })\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([time, dur]) => \n // https://www.w3.org/TR/xpath-functions/#func-add-dayTimeDuration-to-time\n new utils_expression_evaluator_1.TimeLiteral((0, utils_expression_evaluator_1.addDurationToDateTime)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(time.typedValue), (0, utils_expression_evaluator_1.defaultedDurationRepresentation)(dur.typedValue))))\n .copy({\n from: [utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION],\n to: [utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION],\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionAddition = TermFunctionAddition;\n//# sourceMappingURL=TermFunctionAddition.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermAddition\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermCeil = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionCeil_1 = require(\"./TermFunctionCeil\");\n/**\n * A comunica TermFunctionCeil Function Factory Actor.\n */\nclass ActorFunctionFactoryTermCeil extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.CEIL],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionCeil_1.TermFunctionCeil();\n }\n}\nexports.ActorFunctionFactoryTermCeil = ActorFunctionFactoryTermCeil;\n//# sourceMappingURL=ActorFunctionFactoryTermCeil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionCeil = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-ceil\n */\nclass TermFunctionCeil extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.CEIL,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.CEIL)\n .numericConverter(() => num => Math.ceil(num))\n .collect(),\n });\n }\n}\nexports.TermFunctionCeil = TermFunctionCeil;\n//# sourceMappingURL=TermFunctionCeil.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermCeil\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermContains = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionContains_1 = require(\"./TermFunctionContains\");\n/**\n * A comunica TermFunctionContains Function Factory Actor.\n */\nclass ActorFunctionFactoryTermContains extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.CONTAINS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionContains_1.TermFunctionContains();\n }\n}\nexports.ActorFunctionFactoryTermContains = ActorFunctionFactoryTermContains;\n//# sourceMappingURL=ActorFunctionFactoryTermContains.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionContains = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-contains\n */\nclass TermFunctionContains extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.CONTAINS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.CONTAINS)\n .onBinaryTyped([utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => (0, utils_expression_evaluator_1.bool)(arg1.includes(arg2)))\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING], () => (arg1, arg2) => {\n if (arg1.language !== arg2.language) {\n throw new utils_expression_evaluator_1.IncompatibleLanguageOperation(arg1, arg2);\n }\n return (0, utils_expression_evaluator_1.bool)(arg1.typedValue.includes(arg2.typedValue));\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionContains = TermFunctionContains;\n//# sourceMappingURL=TermFunctionContains.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermContains\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermDatatype = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionDatatype_1 = require(\"./TermFunctionDatatype\");\n/**\n * A comunica TermFunctionDatatype Function Factory Actor.\n */\nclass ActorFunctionFactoryTermDatatype extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.DATATYPE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionDatatype_1.TermFunctionDatatype();\n }\n}\nexports.ActorFunctionFactoryTermDatatype = ActorFunctionFactoryTermDatatype;\n//# sourceMappingURL=ActorFunctionFactoryTermDatatype.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionDatatype = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-datatype\n */\nclass TermFunctionDatatype extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.DATATYPE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.DATATYPE)\n .onLiteral1(() => lit => new utils_expression_evaluator_1.NamedNode(lit.dataType))\n .collect(),\n });\n }\n}\nexports.TermFunctionDatatype = TermFunctionDatatype;\n//# sourceMappingURL=TermFunctionDatatype.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermDatatype\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermDay = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionDay_1 = require(\"./TermFunctionDay\");\n/**\n * A comunica TermFunctionDay Function Factory Actor.\n */\nclass ActorFunctionFactoryTermDay extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.DAY],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionDay_1.TermFunctionDay();\n }\n}\nexports.ActorFunctionFactoryTermDay = ActorFunctionFactoryTermDay;\n//# sourceMappingURL=ActorFunctionFactoryTermDay.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionDay = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-day\n */\nclass TermFunctionDay extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.DAY,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.DAY)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.integer)(date.typedValue.day))\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE], () => ([date]) => (0, utils_expression_evaluator_1.integer)(date.typedValue.day))\n .collect(),\n });\n }\n}\nexports.TermFunctionDay = TermFunctionDay;\n//# sourceMappingURL=TermFunctionDay.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermDay\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermDivision = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionDivision_1 = require(\"./TermFunctionDivision\");\n/**\n * A comunica TermFunctionDivision Function Factory Actor.\n */\nclass ActorFunctionFactoryTermDivision extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.DIVISION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionDivision_1.TermFunctionDivision();\n }\n}\nexports.ActorFunctionFactoryTermDivision = ActorFunctionFactoryTermDivision;\n//# sourceMappingURL=ActorFunctionFactoryTermDivision.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionDivision = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst bignumber_js_1 = require(\"bignumber.js\");\nclass TermFunctionDivision extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.DIVISION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.DIVISION)\n .arithmetic(() => (left, right) => new bignumber_js_1.BigNumber(left).div(right).toNumber())\n .onBinaryTyped([utils_expression_evaluator_1.TypeURL.XSD_INTEGER, utils_expression_evaluator_1.TypeURL.XSD_INTEGER], () => (left, right) => {\n if (right === 0) {\n throw new utils_expression_evaluator_1.ExpressionError('Integer division by 0');\n }\n return (0, utils_expression_evaluator_1.decimal)(new bignumber_js_1.BigNumber(left).div(right).toNumber());\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionDivision = TermFunctionDivision;\n//# sourceMappingURL=TermFunctionDivision.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermDivision\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermEncodeForUri = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionEncodeForUri_1 = require(\"./TermFunctionEncodeForUri\");\n/**\n * A comunica TermFunctionEncodeForUri Function Factory Actor.\n */\nclass ActorFunctionFactoryTermEncodeForUri extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.ENCODE_FOR_URI],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionEncodeForUri_1.TermFunctionEncodeForUri();\n }\n}\nexports.ActorFunctionFactoryTermEncodeForUri = ActorFunctionFactoryTermEncodeForUri;\n//# sourceMappingURL=ActorFunctionFactoryTermEncodeForUri.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionEncodeForUri = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-encode\n */\nclass TermFunctionEncodeForUri extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.ENCODE_FOR_URI,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.ENCODE_FOR_URI)\n .onStringly1Typed(() => val => (0, utils_expression_evaluator_1.string)(encodeURI(val))).collect(),\n });\n }\n}\nexports.TermFunctionEncodeForUri = TermFunctionEncodeForUri;\n//# sourceMappingURL=TermFunctionEncodeForUri.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermEncodeForUri\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermEquality = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionEquality_1 = require(\"./TermFunctionEquality\");\n/**\n * A comunica TermFunctionEquality Function Factory Actor.\n */\nclass ActorFunctionFactoryTermEquality extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.EQUAL],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionEquality_1.TermFunctionEquality();\n }\n}\nexports.ActorFunctionFactoryTermEquality = ActorFunctionFactoryTermEquality;\n//# sourceMappingURL=ActorFunctionFactoryTermEquality.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionEquality = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-RDFterm-equal\n */\nclass TermFunctionEquality extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.EQUAL,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.EQUAL)\n .numberTest(() => (left, right) => left === right)\n .stringTest(() => (left, right) => left.localeCompare(right) === 0)\n .set([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING], () => ([left, right]) => (0, utils_expression_evaluator_1.bool)(left.str() === right.str() &&\n left.language === right.language))\n // Fall through: a TypeURL.XSD_STRING is never equal to a TypeURL.RDF_LANG_STRING.\n .set([utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY, utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY], () => () => (0, utils_expression_evaluator_1.bool)(false))\n .booleanTest(() => (left, right) => left === right)\n .dateTimeTest(exprEval => (left, right) => (0, utils_expression_evaluator_1.toUTCDate)(left, exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime() === (0, utils_expression_evaluator_1.toUTCDate)(right, exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime())\n .copy({\n // https://www.w3.org/TR/xpath-functions/#func-date-equal\n from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME],\n to: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DATE],\n })\n .set(['quad', 'quad'], exprEval => ([left, right]) => (0, utils_expression_evaluator_1.bool)(this.applyOnTerms([left.subject, right.subject], exprEval)\n .coerceEBV() &&\n this.applyOnTerms([left.predicate, right.predicate], exprEval)\n .coerceEBV() &&\n this.applyOnTerms([left.object, right.object], exprEval)\n .coerceEBV() &&\n this.applyOnTerms([left.graph, right.graph], exprEval)\n .coerceEBV()), false)\n .set(['term', 'term'], exprEval => ([_left, _right]) => {\n const left = _left.toRDF(exprEval.context.getSafe(context_entries_1.KeysInitQuery.dataFactory));\n const right = _right.toRDF(exprEval.context.getSafe(context_entries_1.KeysInitQuery.dataFactory));\n const val = left.equals(right);\n if (!val && (left.termType === 'Literal') && (right.termType === 'Literal')) {\n throw new utils_expression_evaluator_1.RDFEqualTypeError([_left, _right]);\n }\n return (0, utils_expression_evaluator_1.bool)(val);\n }, false)\n .set([utils_expression_evaluator_1.TypeURL.XSD_DURATION, utils_expression_evaluator_1.TypeURL.XSD_DURATION], () => ([dur1, dur2]) => (0, utils_expression_evaluator_1.bool)((0, utils_expression_evaluator_1.yearMonthDurationsToMonths)((0, utils_expression_evaluator_1.defaultedYearMonthDurationRepresentation)(dur1.typedValue)) ===\n (0, utils_expression_evaluator_1.yearMonthDurationsToMonths)((0, utils_expression_evaluator_1.defaultedYearMonthDurationRepresentation)(dur2.typedValue)) &&\n (0, utils_expression_evaluator_1.dayTimeDurationsToSeconds)((0, utils_expression_evaluator_1.defaultedDayTimeDurationRepresentation)(dur1.typedValue)) ===\n (0, utils_expression_evaluator_1.dayTimeDurationsToSeconds)((0, utils_expression_evaluator_1.defaultedDayTimeDurationRepresentation)(dur2.typedValue))))\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_TIME], exprEval => ([time1, time2]) => \n // https://www.w3.org/TR/xpath-functions/#func-time-equal\n (0, utils_expression_evaluator_1.bool)((0, utils_expression_evaluator_1.toUTCDate)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(time1.typedValue), exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime() ===\n (0, utils_expression_evaluator_1.toUTCDate)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(time2.typedValue), exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime()))\n .collect(),\n });\n }\n}\nexports.TermFunctionEquality = TermFunctionEquality;\n//# sourceMappingURL=TermFunctionEquality.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermEquality\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermFloor = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionFloor_1 = require(\"./TermFunctionFloor\");\n/**\n * A comunica TermFunctionFloor Function Factory Actor.\n */\nclass ActorFunctionFactoryTermFloor extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.FLOOR],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionFloor_1.TermFunctionFloor();\n }\n}\nexports.ActorFunctionFactoryTermFloor = ActorFunctionFactoryTermFloor;\n//# sourceMappingURL=ActorFunctionFactoryTermFloor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionFloor = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-floor\n */\nclass TermFunctionFloor extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.FLOOR,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.FLOOR)\n .numericConverter(() => num => Math.floor(num))\n .collect(),\n });\n }\n}\nexports.TermFunctionFloor = TermFunctionFloor;\n//# sourceMappingURL=TermFunctionFloor.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermFloor\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermGreaterThanEqual = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionGreaterThanEqual_1 = require(\"./TermFunctionGreaterThanEqual\");\n/**\n * A comunica TermFunctionGreaterThanEqual Function Factory Actor.\n */\nclass ActorFunctionFactoryTermGreaterThanEqual extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.GTE],\n termFunction: true,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const lessThanEqualFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.LTE,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n return new TermFunctionGreaterThanEqual_1.TermFunctionGreaterThanEqual(lessThanEqualFunction);\n }\n}\nexports.ActorFunctionFactoryTermGreaterThanEqual = ActorFunctionFactoryTermGreaterThanEqual;\n//# sourceMappingURL=ActorFunctionFactoryTermGreaterThanEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionGreaterThanEqual = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionGreaterThanEqual extends bus_function_factory_1.TermFunctionBase {\n constructor(lessThanEqualFunction) {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.GTE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.GTE)\n .set(['term', 'term'], exprEval => ([first, second]) => \n // X >= Y -> Y <= X\n this.lessThanEqualFunction.applyOnTerms([second, first], exprEval))\n .collect(),\n });\n this.lessThanEqualFunction = lessThanEqualFunction;\n }\n}\nexports.TermFunctionGreaterThanEqual = TermFunctionGreaterThanEqual;\n//# sourceMappingURL=TermFunctionGreaterThanEqual.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermGreaterThanEqual\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermGreaterThan = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionGreaterThan_1 = require(\"./TermFunctionGreaterThan\");\n/**\n * A comunica TermFunctionGreaterThan Function Factory Actor.\n */\nclass ActorFunctionFactoryTermGreaterThan extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.GT],\n termFunction: true,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const lessThanFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.LT,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n return new TermFunctionGreaterThan_1.TermFunctionGreaterThan(lessThanFunction);\n }\n}\nexports.ActorFunctionFactoryTermGreaterThan = ActorFunctionFactoryTermGreaterThan;\n//# sourceMappingURL=ActorFunctionFactoryTermGreaterThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionGreaterThan = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionGreaterThan extends bus_function_factory_1.TermFunctionBase {\n constructor(lessThanFunction) {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.GT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.GT)\n .set(['term', 'term'], expressionEvaluator => ([first, second]) => \n // X < Y -> Y > X\n this.lessThanFunction.applyOnTerms([second, first], expressionEvaluator))\n .collect(),\n });\n this.lessThanFunction = lessThanFunction;\n }\n}\nexports.TermFunctionGreaterThan = TermFunctionGreaterThan;\n//# sourceMappingURL=TermFunctionGreaterThan.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermGreaterThan\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermHours = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionHours_1 = require(\"./TermFunctionHours\");\n/**\n * A comunica TermFunctionHours Function Factory Actor.\n */\nclass ActorFunctionFactoryTermHours extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.HOURS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionHours_1.TermFunctionHours();\n }\n}\nexports.ActorFunctionFactoryTermHours = ActorFunctionFactoryTermHours;\n//# sourceMappingURL=ActorFunctionFactoryTermHours.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionHours = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-hours\n */\nclass TermFunctionHours extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.HOURS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.HOURS)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.integer)(date.typedValue.hours))\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME], () => ([time]) => (0, utils_expression_evaluator_1.integer)(time.typedValue.hours))\n .collect(),\n });\n }\n}\nexports.TermFunctionHours = TermFunctionHours;\n//# sourceMappingURL=TermFunctionHours.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermHours\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermInequality = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionInequality_1 = require(\"./TermFunctionInequality\");\n/**\n * A comunica TermFunctionInequality Function Factory Actor.\n */\nclass ActorFunctionFactoryTermInequality extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.NOT_EQUAL],\n termFunction: true,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const equalityFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.EQUAL,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n return new TermFunctionInequality_1.TermFunctionInequality(equalityFunction);\n }\n}\nexports.ActorFunctionFactoryTermInequality = ActorFunctionFactoryTermInequality;\n//# sourceMappingURL=ActorFunctionFactoryTermInequality.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionInequality = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionInequality extends bus_function_factory_1.TermFunctionBase {\n constructor(equalityFunction) {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.NOT_EQUAL,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.NOT_EQUAL)\n .set(['term', 'term'], expressionEvaluator => ([first, second]) => (0, utils_expression_evaluator_1.bool)(!this.equalityFunction\n .applyOnTerms([first, second], expressionEvaluator).typedValue))\n .collect(),\n });\n this.equalityFunction = equalityFunction;\n }\n}\nexports.TermFunctionInequality = TermFunctionInequality;\n//# sourceMappingURL=TermFunctionInequality.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermInequality\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermIri = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionIri_1 = require(\"./TermFunctionIri\");\n/**\n * A comunica TermFunctionIri Function Factory Actor.\n */\nclass ActorFunctionFactoryTermIri extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IRI, utils_expression_evaluator_1.SparqlOperator.URI],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionIri_1.TermFunctionIri();\n }\n}\nexports.ActorFunctionFactoryTermIri = ActorFunctionFactoryTermIri;\n//# sourceMappingURL=ActorFunctionFactoryTermIri.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionIri = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-iri\n */\nclass TermFunctionIri extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.IRI,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.IRI)\n .set(['namedNode'], exprEval => (args) => {\n const lit = args[0];\n const iri = (0, relative_to_absolute_iri_1.resolve)(lit.str(), exprEval.context.get(context_entries_1.KeysInitQuery.baseIRI) ?? '');\n return new utils_expression_evaluator_1.NamedNode(iri);\n })\n .onString1(exprEval => (lit) => {\n const iri = (0, relative_to_absolute_iri_1.resolve)(lit.str(), exprEval.context.get(context_entries_1.KeysInitQuery.baseIRI) ?? '');\n return new utils_expression_evaluator_1.NamedNode(iri);\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionIri = TermFunctionIri;\n//# sourceMappingURL=TermFunctionIri.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermIri\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermIsBlank = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionIsBlank_1 = require(\"./TermFunctionIsBlank\");\n/**\n * A comunica TermFunctionIsBlank Function Factory Actor.\n */\nclass ActorFunctionFactoryTermIsBlank extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IS_BLANK],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionIsBlank_1.TermFunctionIsBlank();\n }\n}\nexports.ActorFunctionFactoryTermIsBlank = ActorFunctionFactoryTermIsBlank;\n//# sourceMappingURL=ActorFunctionFactoryTermIsBlank.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionIsBlank = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-isBlank\n */\nclass TermFunctionIsBlank extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.IS_BLANK,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.IS_BLANK)\n .onTerm1(() => term => (0, utils_expression_evaluator_1.bool)(term.termType === 'blankNode'))\n .collect(),\n });\n }\n}\nexports.TermFunctionIsBlank = TermFunctionIsBlank;\n//# sourceMappingURL=TermFunctionIsBlank.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermIsBlank\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermIsIri = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionIsIri_1 = require(\"./TermFunctionIsIri\");\n/**\n * A comunica TermFunctionIsIri Function Factory Actor.\n */\nclass ActorFunctionFactoryTermIsIri extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IS_IRI, utils_expression_evaluator_1.SparqlOperator.IS_URI],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionIsIri_1.TermFunctionIsIri();\n }\n}\nexports.ActorFunctionFactoryTermIsIri = ActorFunctionFactoryTermIsIri;\n//# sourceMappingURL=ActorFunctionFactoryTermIsIri.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionIsIri = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-isIRI\n */\nclass TermFunctionIsIri extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.IS_IRI,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.IS_IRI)\n .onTerm1(() => term => (0, utils_expression_evaluator_1.bool)(term.termType === 'namedNode'))\n .collect(),\n });\n }\n}\nexports.TermFunctionIsIri = TermFunctionIsIri;\n//# sourceMappingURL=TermFunctionIsIri.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermIsIri\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermIsLiteral = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionIsLiteral_1 = require(\"./TermFunctionIsLiteral\");\n/**\n * A comunica TermFunctionIsLiteral Function Factory Actor.\n */\nclass ActorFunctionFactoryTermIsLiteral extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IS_LITERAL],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionIsLiteral_1.TermFunctionIsLiteral();\n }\n}\nexports.ActorFunctionFactoryTermIsLiteral = ActorFunctionFactoryTermIsLiteral;\n//# sourceMappingURL=ActorFunctionFactoryTermIsLiteral.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionIsLiteral = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-isLiteral\n */\nclass TermFunctionIsLiteral extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.IS_LITERAL,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.IS_LITERAL)\n .onTerm1(() => term => (0, utils_expression_evaluator_1.bool)(term.termType === 'literal'))\n .collect(),\n });\n }\n}\nexports.TermFunctionIsLiteral = TermFunctionIsLiteral;\n//# sourceMappingURL=TermFunctionIsLiteral.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermIsLiteral\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermIsNumeric = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionIsNumeric_1 = require(\"./TermFunctionIsNumeric\");\n/**\n * A comunica TermFunctionIsNumeric Function Factory Actor.\n */\nclass ActorFunctionFactoryTermIsNumeric extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IS_NUMERIC],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionIsNumeric_1.TermFunctionIsNumeric();\n }\n}\nexports.ActorFunctionFactoryTermIsNumeric = ActorFunctionFactoryTermIsNumeric;\n//# sourceMappingURL=ActorFunctionFactoryTermIsNumeric.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionIsNumeric = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-isNumeric\n */\nclass TermFunctionIsNumeric extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.IS_NUMERIC,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.IS_NUMERIC)\n .onNumeric1(() => () => (0, utils_expression_evaluator_1.bool)(true))\n .onTerm1(() => () => (0, utils_expression_evaluator_1.bool)(false))\n .collect(),\n });\n }\n}\nexports.TermFunctionIsNumeric = TermFunctionIsNumeric;\n//# sourceMappingURL=TermFunctionIsNumeric.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermIsNumeric\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermIsTriple = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionIsTriple_1 = require(\"./TermFunctionIsTriple\");\n/**\n * A comunica TermFunctionIsTriple Function Factory Actor.\n */\nclass ActorFunctionFactoryTermIsTriple extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.IS_TRIPLE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionIsTriple_1.TermFunctionIsTriple();\n }\n}\nexports.ActorFunctionFactoryTermIsTriple = ActorFunctionFactoryTermIsTriple;\n//# sourceMappingURL=ActorFunctionFactoryTermIsTriple.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionIsTriple = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#istriple\n */\nclass TermFunctionIsTriple extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.IS_TRIPLE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.IS_TRIPLE)\n .onTerm1(() => term => (0, utils_expression_evaluator_1.bool)(term.termType === 'quad'))\n .collect(),\n });\n }\n}\nexports.TermFunctionIsTriple = TermFunctionIsTriple;\n//# sourceMappingURL=TermFunctionIsTriple.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermIsTriple\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermLang = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionLang_1 = require(\"./TermFunctionLang\");\n/**\n * A comunica TermFunctionLang Function Factory Actor.\n */\nclass ActorFunctionFactoryTermLang extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LANG],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionLang_1.TermFunctionLang();\n }\n}\nexports.ActorFunctionFactoryTermLang = ActorFunctionFactoryTermLang;\n//# sourceMappingURL=ActorFunctionFactoryTermLang.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionLang = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-lang\n */\nclass TermFunctionLang extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.LANG,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.LANG)\n .onLiteral1(() => lit => (0, utils_expression_evaluator_1.string)(lit.language ?? ''))\n .collect(),\n });\n }\n}\nexports.TermFunctionLang = TermFunctionLang;\n//# sourceMappingURL=TermFunctionLang.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermLang\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermLangmatches = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionLangmatches_1 = require(\"./TermFunctionLangmatches\");\n/**\n * A comunica TermFunctionLangmatches Function Factory Actor.\n */\nclass ActorFunctionFactoryTermLangmatches extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LANG_MATCHES],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionLangmatches_1.TermFunctionLangmatches();\n }\n}\nexports.ActorFunctionFactoryTermLangmatches = ActorFunctionFactoryTermLangmatches;\n//# sourceMappingURL=ActorFunctionFactoryTermLangmatches.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionLangmatches = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-langMatches\n */\nclass TermFunctionLangmatches extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.LANG_MATCHES,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.LANG_MATCHES)\n .onBinaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (tag, range) => (0, utils_expression_evaluator_1.bool)(TermFunctionLangmatches.langMatches(tag, range))).collect(),\n });\n }\n // TODO: Not an XPath function\n // TODO: Publish as package\n // https://www.ietf.org/rfc/rfc4647.txt\n // https://www.w3.org/TR/sparql11-query/#func-langMatches\n static langMatches(tag, range) {\n const langTags = tag.split('-');\n const rangeTags = range.split('-');\n if (!TermFunctionLangmatches.matchLangTag(rangeTags[0], langTags[0]) &&\n !TermFunctionLangmatches.isWildCard(langTags[0])) {\n return false;\n }\n let lI = 1;\n let rI = 1;\n while (rI < rangeTags.length) {\n if (TermFunctionLangmatches.isWildCard(rangeTags[rI])) {\n rI++;\n continue;\n }\n if (lI === langTags.length) {\n return false;\n }\n if (TermFunctionLangmatches.matchLangTag(rangeTags[rI], langTags[lI])) {\n lI++;\n rI++;\n continue;\n }\n if (langTags[lI].length === 1) {\n return false;\n }\n lI++;\n }\n return true;\n }\n static isWildCard(tag) {\n return tag === '*';\n }\n static matchLangTag(left, right) {\n const matchInitial = new RegExp(`/${left}/`, 'iu');\n return matchInitial.test(`/${right}/`);\n }\n}\nexports.TermFunctionLangmatches = TermFunctionLangmatches;\n//# sourceMappingURL=TermFunctionLangmatches.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermLangmatches\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermLcase = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionLcase_1 = require(\"./TermFunctionLcase\");\n/**\n * A comunica TermFunctionLcase Function Factory Actor.\n */\nclass ActorFunctionFactoryTermLcase extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LCASE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionLcase_1.TermFunctionLcase();\n }\n}\nexports.ActorFunctionFactoryTermLcase = ActorFunctionFactoryTermLcase;\n//# sourceMappingURL=ActorFunctionFactoryTermLcase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionLcase = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-lcase\n */\nclass TermFunctionLcase extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.LCASE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.LCASE)\n .onString1Typed(() => lit => (0, utils_expression_evaluator_1.string)(lit.toLowerCase()))\n .onLangString1(() => lit => (0, utils_expression_evaluator_1.langString)(lit.typedValue.toLowerCase(), lit.language))\n .collect(),\n });\n }\n}\nexports.TermFunctionLcase = TermFunctionLcase;\n//# sourceMappingURL=TermFunctionLcase.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermLcase\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermLesserThanEqual = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionLesserThanEqual_1 = require(\"./TermFunctionLesserThanEqual\");\n/**\n * A comunica TermFunctionLesserThanEqual Function Factory Actor.\n */\nclass ActorFunctionFactoryTermLesserThanEqual extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LTE],\n termFunction: true,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const equalityFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.EQUAL,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n const lessThanFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.LT,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n return new TermFunctionLesserThanEqual_1.TermFunctionLesserThanEqual(equalityFunction, lessThanFunction);\n }\n}\nexports.ActorFunctionFactoryTermLesserThanEqual = ActorFunctionFactoryTermLesserThanEqual;\n//# sourceMappingURL=ActorFunctionFactoryTermLesserThanEqual.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionLesserThanEqual = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionLesserThanEqual extends bus_function_factory_1.TermFunctionBase {\n constructor(equalityFunction, lessThanFunction) {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.LTE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.LTE)\n .set(['term', 'term'], exprEval => ([first, second]) => \n // X <= Y -> X < Y || X = Y\n // First check if the first is lesser than the second, then check if they are equal.\n // Doing this, the correct error will be thrown,\n // each type that has a lesserThanEqual has a matching lesserThan.\n (0, utils_expression_evaluator_1.bool)(this.lessThanFunction.applyOnTerms([first, second], exprEval)\n .typedValue ||\n this.equalityFunction.applyOnTerms([first, second], exprEval)\n .typedValue))\n .collect(),\n });\n this.equalityFunction = equalityFunction;\n this.lessThanFunction = lessThanFunction;\n }\n}\nexports.TermFunctionLesserThanEqual = TermFunctionLesserThanEqual;\n//# sourceMappingURL=TermFunctionLesserThanEqual.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermLesserThanEqual\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermLesserThan = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionLesserThan_1 = require(\"./TermFunctionLesserThan\");\n/**\n * A comunica TermFunctionLesserThan Function Factory Actor.\n */\nclass ActorFunctionFactoryTermLesserThan extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.LT],\n termFunction: true,\n });\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n }\n async run(args) {\n const equalityFunction = await this.mediatorFunctionFactory.mediate({\n functionName: utils_expression_evaluator_1.SparqlOperator.EQUAL,\n requireTermExpression: true,\n context: args.context,\n arguments: args.arguments,\n });\n return new TermFunctionLesserThan_1.TermFunctionLesserThan(equalityFunction);\n }\n}\nexports.ActorFunctionFactoryTermLesserThan = ActorFunctionFactoryTermLesserThan;\n//# sourceMappingURL=ActorFunctionFactoryTermLesserThan.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionLesserThan = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionLesserThan extends bus_function_factory_1.TermFunctionBase {\n constructor(equalityFunction) {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.LT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.LT)\n .numberTest(() => (left, right) => left < right)\n .stringTest(() => (left, right) => left.localeCompare(right) === -1)\n .booleanTest(() => (left, right) => left < right)\n .dateTimeTest(exprEval => (left, right) => (0, utils_expression_evaluator_1.toUTCDate)(left, exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime() <\n (0, utils_expression_evaluator_1.toUTCDate)(right, exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime())\n .copy({\n // https://www.w3.org/TR/xpath-functions/#func-date-less-than\n from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME],\n to: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DATE],\n })\n .set([utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION, utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION], () => ([dur1L, dur2L]) => \n // https://www.w3.org/TR/xpath-functions/#func-yearMonthDuration-less-than\n (0, utils_expression_evaluator_1.bool)((0, utils_expression_evaluator_1.yearMonthDurationsToMonths)((0, utils_expression_evaluator_1.defaultedYearMonthDurationRepresentation)(dur1L.typedValue)) <\n (0, utils_expression_evaluator_1.yearMonthDurationsToMonths)((0, utils_expression_evaluator_1.defaultedYearMonthDurationRepresentation)(dur2L.typedValue))))\n .set([utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([dur1, dur2]) => \n // https://www.w3.org/TR/xpath-functions/#func-dayTimeDuration-greater-than\n (0, utils_expression_evaluator_1.bool)((0, utils_expression_evaluator_1.dayTimeDurationsToSeconds)((0, utils_expression_evaluator_1.defaultedDayTimeDurationRepresentation)(dur1.typedValue)) <\n (0, utils_expression_evaluator_1.dayTimeDurationsToSeconds)((0, utils_expression_evaluator_1.defaultedDayTimeDurationRepresentation)(dur2.typedValue))))\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_TIME], exprEval => ([time1, time2]) => \n // https://www.w3.org/TR/xpath-functions/#func-time-less-than\n (0, utils_expression_evaluator_1.bool)((0, utils_expression_evaluator_1.toUTCDate)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(time1.typedValue), exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime() <\n (0, utils_expression_evaluator_1.toUTCDate)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(time2.typedValue), exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone)).getTime()))\n .set(['quad', 'quad'], exprEval => ([left, right]) => {\n const subjectTest = this.quadComponentTest(left.subject, right.subject, exprEval);\n if (subjectTest !== undefined) {\n return (0, utils_expression_evaluator_1.bool)(subjectTest);\n }\n const predicateTest = this.quadComponentTest(left.predicate, right.predicate, exprEval);\n if (predicateTest !== undefined) {\n return (0, utils_expression_evaluator_1.bool)(predicateTest);\n }\n const objectTest = this.quadComponentTest(left.object, right.object, exprEval);\n if (objectTest !== undefined) {\n return (0, utils_expression_evaluator_1.bool)(objectTest);\n }\n return (0, utils_expression_evaluator_1.bool)(this.quadComponentTest(left.graph, right.graph, exprEval) ?? false);\n }, false)\n .collect(),\n });\n this.equalityFunction = equalityFunction;\n }\n quadComponentTest(left, right, exprEval) {\n // If components are equal, we don't have an answer\n const componentEqual = this.equalityFunction.applyOnTerms([left, right], exprEval);\n if (componentEqual.typedValue) {\n return undefined;\n }\n const componentLess = this.applyOnTerms([left, right], exprEval);\n return componentLess.typedValue;\n }\n}\nexports.TermFunctionLesserThan = TermFunctionLesserThan;\n//# sourceMappingURL=TermFunctionLesserThan.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermLesserThan\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermMd5 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionMd5_1 = require(\"./TermFunctionMd5\");\n/**\n * A comunica TermFunctionMd5 Function Factory Actor.\n */\nclass ActorFunctionFactoryTermMd5 extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.MD5],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionMd5_1.TermFunctionMd5();\n }\n}\nexports.ActorFunctionFactoryTermMd5 = ActorFunctionFactoryTermMd5;\n//# sourceMappingURL=ActorFunctionFactoryTermMd5.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionMd5 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst spark_md5_1 = require(\"spark-md5\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-md5\n */\nclass TermFunctionMd5 extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.MD5,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.MD5)\n .onString1Typed(() => str => (0, utils_expression_evaluator_1.string)((0, spark_md5_1.hash)(str)))\n .collect(),\n });\n }\n}\nexports.TermFunctionMd5 = TermFunctionMd5;\n//# sourceMappingURL=TermFunctionMd5.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermMd5\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermMinutes = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionMinutes_1 = require(\"./TermFunctionMinutes\");\n/**\n * A comunica TermFunctionMinutes Function Factory Actor.\n */\nclass ActorFunctionFactoryTermMinutes extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.MINUTES],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionMinutes_1.TermFunctionMinutes();\n }\n}\nexports.ActorFunctionFactoryTermMinutes = ActorFunctionFactoryTermMinutes;\n//# sourceMappingURL=ActorFunctionFactoryTermMinutes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionMinutes = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-minutes\n */\nclass TermFunctionMinutes extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.MINUTES,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.MINUTES)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.integer)(date.typedValue.minutes))\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME], () => ([time]) => (0, utils_expression_evaluator_1.integer)(time.typedValue.minutes))\n .collect(),\n });\n }\n}\nexports.TermFunctionMinutes = TermFunctionMinutes;\n//# sourceMappingURL=TermFunctionMinutes.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermMinutes\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermMonth = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionMonth_1 = require(\"./TermFunctionMonth\");\n/**\n * A comunica TermFunctionMonth Function Factory Actor.\n */\nclass ActorFunctionFactoryTermMonth extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.MONTH],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionMonth_1.TermFunctionMonth();\n }\n}\nexports.ActorFunctionFactoryTermMonth = ActorFunctionFactoryTermMonth;\n//# sourceMappingURL=ActorFunctionFactoryTermMonth.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionMonth = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-month\n */\nclass TermFunctionMonth extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.MONTH,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.MONTH)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.integer)(date.typedValue.month))\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE], () => ([date]) => (0, utils_expression_evaluator_1.integer)(date.typedValue.month))\n .collect(),\n });\n }\n}\nexports.TermFunctionMonth = TermFunctionMonth;\n//# sourceMappingURL=TermFunctionMonth.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermMonth\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermMultiplication = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionMultiplication_1 = require(\"./TermFunctionMultiplication\");\n/**\n * A comunica TermFunctionMultiplication Function Factory Actor.\n */\nclass ActorFunctionFactoryTermMultiplication extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.MULTIPLICATION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionMultiplication_1.TermFunctionMultiplication();\n }\n}\nexports.ActorFunctionFactoryTermMultiplication = ActorFunctionFactoryTermMultiplication;\n//# sourceMappingURL=ActorFunctionFactoryTermMultiplication.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionMultiplication = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst bignumber_js_1 = require(\"bignumber.js\");\nclass TermFunctionMultiplication extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.MULTIPLICATION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.MULTIPLICATION)\n .arithmetic(() => (left, right) => new bignumber_js_1.BigNumber(left).times(right).toNumber())\n .collect(),\n });\n }\n}\nexports.TermFunctionMultiplication = TermFunctionMultiplication;\n//# sourceMappingURL=TermFunctionMultiplication.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermMultiplication\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermNot = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionNot_1 = require(\"./TermFunctionNot\");\n/**\n * A comunica TermFunctionNot Function Factory Actor.\n */\nclass ActorFunctionFactoryTermNot extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.NOT],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionNot_1.TermFunctionNot();\n }\n}\nexports.ActorFunctionFactoryTermNot = ActorFunctionFactoryTermNot;\n//# sourceMappingURL=ActorFunctionFactoryTermNot.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionNot = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionNot extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.NOT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.NOT)\n .onTerm1(() => val => (0, utils_expression_evaluator_1.bool)(!val.coerceEBV()))\n .collect(),\n });\n }\n}\nexports.TermFunctionNot = TermFunctionNot;\n//# sourceMappingURL=TermFunctionNot.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermNot\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermNow = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionNow_1 = require(\"./TermFunctionNow\");\n/**\n * A comunica TermFunctionNow Function Factory Actor.\n */\nclass ActorFunctionFactoryTermNow extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.NOW],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionNow_1.TermFunctionNow();\n }\n}\nexports.ActorFunctionFactoryTermNow = ActorFunctionFactoryTermNow;\n//# sourceMappingURL=ActorFunctionFactoryTermNow.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionNow = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-now\n */\nclass TermFunctionNow extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 0,\n operator: utils_expression_evaluator_1.SparqlOperator.NOW,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.NOW).set([], exprEval => () => new utils_expression_evaluator_1.DateTimeLiteral((0, utils_expression_evaluator_1.toDateTimeRepresentation)({\n date: exprEval.context.getSafe(context_entries_1.KeysInitQuery.queryTimestamp),\n timeZone: exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone),\n }))).collect(),\n });\n }\n}\nexports.TermFunctionNow = TermFunctionNow;\n//# sourceMappingURL=TermFunctionNow.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermNow\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermObject = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionObject_1 = require(\"./TermFunctionObject\");\n/**\n * A comunica TermFunctionObject Function Factory Actor.\n */\nclass ActorFunctionFactoryTermObject extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.OBJECT],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionObject_1.TermFunctionObject();\n }\n}\nexports.ActorFunctionFactoryTermObject = ActorFunctionFactoryTermObject;\n//# sourceMappingURL=ActorFunctionFactoryTermObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionObject = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#object\n */\nclass TermFunctionObject extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.OBJECT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.OBJECT)\n .onQuad1(() => quad => quad.object)\n .collect(),\n });\n }\n}\nexports.TermFunctionObject = TermFunctionObject;\n//# sourceMappingURL=TermFunctionObject.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermObject\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermPredicate = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionPredicate_1 = require(\"./TermFunctionPredicate\");\n/**\n * A comunica TermFunctionPredicate Function Factory Actor.\n */\nclass ActorFunctionFactoryTermPredicate extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.PREDICATE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionPredicate_1.TermFunctionPredicate();\n }\n}\nexports.ActorFunctionFactoryTermPredicate = ActorFunctionFactoryTermPredicate;\n//# sourceMappingURL=ActorFunctionFactoryTermPredicate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionPredicate = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#predicate\n */\nclass TermFunctionPredicate extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.PREDICATE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.PREDICATE)\n .onQuad1(() => quad => quad.predicate)\n .collect(),\n });\n }\n}\nexports.TermFunctionPredicate = TermFunctionPredicate;\n//# sourceMappingURL=TermFunctionPredicate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermPredicate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermRand = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionRand_1 = require(\"./TermFunctionRand\");\n/**\n * A comunica TermFunctionRand Function Factory Actor.\n */\nclass ActorFunctionFactoryTermRand extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.RAND],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionRand_1.TermFunctionRand();\n }\n}\nexports.ActorFunctionFactoryTermRand = ActorFunctionFactoryTermRand;\n//# sourceMappingURL=ActorFunctionFactoryTermRand.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionRand = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#idp2130040\n */\nclass TermFunctionRand extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 0,\n operator: utils_expression_evaluator_1.SparqlOperator.RAND,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.RAND)\n .set([], () => () => (0, utils_expression_evaluator_1.double)(Math.random()))\n .collect(),\n });\n }\n}\nexports.TermFunctionRand = TermFunctionRand;\n//# sourceMappingURL=TermFunctionRand.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermRand\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermRegex = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionRegex_1 = require(\"./TermFunctionRegex\");\n/**\n * A comunica TermFunctionRegex Function Factory Actor.\n */\nclass ActorFunctionFactoryTermRegex extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.REGEX],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionRegex_1.TermFunctionRegex();\n }\n}\nexports.ActorFunctionFactoryTermRegex = ActorFunctionFactoryTermRegex;\n//# sourceMappingURL=ActorFunctionFactoryTermRegex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionRegex = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-regex\n */\nclass TermFunctionRegex extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: [2, 3],\n operator: utils_expression_evaluator_1.SparqlOperator.REGEX,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.REGEX)\n .onBinaryTyped([utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY, utils_expression_evaluator_1.TypeURL.XSD_STRING], TermFunctionRegex.regex2)\n .onTernaryTyped([utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], TermFunctionRegex.regex3)\n .collect(),\n });\n }\n // https://www.w3.org/TR/xpath-functions/#func-matches\n // https://www.w3.org/TR/xpath-functions/#flags\n static matches(text, pattern, flags) {\n // TODO: Only flags 'i' and 'm' match between XPath and JS.\n // 's', 'x', 'q', would need proper implementation.\n const reg = new RegExp(pattern, flags);\n return reg.test(text);\n }\n static regex2() {\n return (text, pattern) => (0, utils_expression_evaluator_1.bool)(TermFunctionRegex.matches(text, pattern));\n }\n static regex3() {\n return (text, pattern, flags) => (0, utils_expression_evaluator_1.bool)(TermFunctionRegex.matches(text, pattern, flags));\n }\n}\nexports.TermFunctionRegex = TermFunctionRegex;\n//# sourceMappingURL=TermFunctionRegex.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermRegex\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermReplace = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionReplace_1 = require(\"./TermFunctionReplace\");\n/**\n * A comunica TermFunctionReplace Function Factory Actor.\n */\nclass ActorFunctionFactoryTermReplace extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.REPLACE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionReplace_1.TermFunctionReplace();\n }\n}\nexports.ActorFunctionFactoryTermReplace = ActorFunctionFactoryTermReplace;\n//# sourceMappingURL=ActorFunctionFactoryTermReplace.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionReplace = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-replace\n */\nclass TermFunctionReplace extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: [3, 4],\n operator: utils_expression_evaluator_1.SparqlOperator.REPLACE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.REPLACE)\n .onTernaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg, pattern, replacement) => (0, utils_expression_evaluator_1.string)(TermFunctionReplace.replace(arg, pattern, replacement)))\n .set([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => ([arg, pattern, replacement]) => {\n const result = TermFunctionReplace.replace(arg.typedValue, pattern.typedValue, replacement.typedValue);\n return (0, utils_expression_evaluator_1.langString)(result, arg.language);\n })\n .onQuaternaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg, pattern, replacement, flags) => (0, utils_expression_evaluator_1.string)(TermFunctionReplace.replace(arg, pattern, replacement, flags)))\n .set([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => ([arg, pattern, replacement, flags]) => {\n const result = TermFunctionReplace.replace(arg.typedValue, pattern.typedValue, replacement.typedValue, flags.typedValue);\n return (0, utils_expression_evaluator_1.langString)(result, arg.language);\n })\n .collect(),\n });\n }\n // TODO: Fix flags\n // https://www.w3.org/TR/xpath-functions/#func-replace\n static replace(arg, pattern, replacement, flags) {\n let reg = new RegExp(pattern, flags);\n if (!reg.global) {\n const flags_ = flags ?? '';\n reg = new RegExp(pattern, `${flags_}g`);\n }\n return arg.replace(reg, replacement);\n }\n}\nexports.TermFunctionReplace = TermFunctionReplace;\n//# sourceMappingURL=TermFunctionReplace.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermReplace\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermRound = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionRound_1 = require(\"./TermFunctionRound\");\n/**\n * A comunica TermFunctionRound Function Factory Actor.\n */\nclass ActorFunctionFactoryTermRound extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.ROUND],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionRound_1.TermFunctionRound();\n }\n}\nexports.ActorFunctionFactoryTermRound = ActorFunctionFactoryTermRound;\n//# sourceMappingURL=ActorFunctionFactoryTermRound.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionRound = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-round\n */\nclass TermFunctionRound extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.ROUND,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.ROUND)\n .numericConverter(() => num => Math.round(num))\n .collect(),\n });\n }\n}\nexports.TermFunctionRound = TermFunctionRound;\n//# sourceMappingURL=TermFunctionRound.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermRound\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSeconds = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSeconds_1 = require(\"./TermFunctionSeconds\");\n/**\n * A comunica TermFunctionSeconds Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSeconds extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SECONDS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSeconds_1.TermFunctionSeconds();\n }\n}\nexports.ActorFunctionFactoryTermSeconds = ActorFunctionFactoryTermSeconds;\n//# sourceMappingURL=ActorFunctionFactoryTermSeconds.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSeconds = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-seconds\n */\nclass TermFunctionSeconds extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.SECONDS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SECONDS)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.decimal)(date.typedValue.seconds))\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME], () => ([time]) => (0, utils_expression_evaluator_1.integer)(time.typedValue.seconds))\n .collect(),\n });\n }\n}\nexports.TermFunctionSeconds = TermFunctionSeconds;\n//# sourceMappingURL=TermFunctionSeconds.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSeconds\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSha1 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSha1_1 = require(\"./TermFunctionSha1\");\n/**\n * A comunica TermFunctionSha1 Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSha1 extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SHA1],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSha1_1.TermFunctionSha1();\n }\n}\nexports.ActorFunctionFactoryTermSha1 = ActorFunctionFactoryTermSha1;\n//# sourceMappingURL=ActorFunctionFactoryTermSha1.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSha1 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst hash_js_1 = require(\"hash.js\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-sha1\n */\nclass TermFunctionSha1 extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.SHA1,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SHA1)\n .onString1Typed(() => str => (0, utils_expression_evaluator_1.string)((0, hash_js_1.sha1)().update(str).digest('hex')))\n .collect(),\n });\n }\n}\nexports.TermFunctionSha1 = TermFunctionSha1;\n//# sourceMappingURL=TermFunctionSha1.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSha1\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSha256 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSha256_1 = require(\"./TermFunctionSha256\");\n/**\n * A comunica TermFunctionSha256 Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSha256 extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SHA256],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSha256_1.TermFunctionSha256();\n }\n}\nexports.ActorFunctionFactoryTermSha256 = ActorFunctionFactoryTermSha256;\n//# sourceMappingURL=ActorFunctionFactoryTermSha256.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSha256 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst hash_js_1 = require(\"hash.js\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-sha256\n */\nclass TermFunctionSha256 extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.SHA256,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SHA256)\n .onString1Typed(() => str => (0, utils_expression_evaluator_1.string)((0, hash_js_1.sha256)().update(str).digest('hex')))\n .collect(),\n });\n }\n}\nexports.TermFunctionSha256 = TermFunctionSha256;\n//# sourceMappingURL=TermFunctionSha256.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSha256\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSha384 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSha384_1 = require(\"./TermFunctionSha384\");\n/**\n * A comunica TermFunctionSha384 Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSha384 extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SHA384],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSha384_1.TermFunctionSha384();\n }\n}\nexports.ActorFunctionFactoryTermSha384 = ActorFunctionFactoryTermSha384;\n//# sourceMappingURL=ActorFunctionFactoryTermSha384.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSha384 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst hash_js_1 = require(\"hash.js\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-sha384\n */\nclass TermFunctionSha384 extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.SHA384,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SHA384)\n .onString1Typed(() => str => (0, utils_expression_evaluator_1.string)((0, hash_js_1.sha384)().update(str).digest('hex')))\n .collect(),\n });\n }\n}\nexports.TermFunctionSha384 = TermFunctionSha384;\n//# sourceMappingURL=TermFunctionSha384.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSha384\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSha512 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSha512_1 = require(\"./TermFunctionSha512\");\n/**\n * A comunica TermFunctionSha512 Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSha512 extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SHA512],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSha512_1.TermFunctionSha512();\n }\n}\nexports.ActorFunctionFactoryTermSha512 = ActorFunctionFactoryTermSha512;\n//# sourceMappingURL=ActorFunctionFactoryTermSha512.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSha512 = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst hash_js_1 = require(\"hash.js\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-sha512\n */\nclass TermFunctionSha512 extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.SHA512,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SHA512)\n .onString1Typed(() => str => (0, utils_expression_evaluator_1.string)((0, hash_js_1.sha512)().update(str).digest('hex')))\n .collect(),\n });\n }\n}\nexports.TermFunctionSha512 = TermFunctionSha512;\n//# sourceMappingURL=TermFunctionSha512.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSha512\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrAfter = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrAfter_1 = require(\"./TermFunctionStrAfter\");\n/**\n * A comunica TermFunctionStrAfter Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrAfter extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRAFTER],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrAfter_1.TermFunctionStrAfter();\n }\n}\nexports.ActorFunctionFactoryTermStrAfter = ActorFunctionFactoryTermStrAfter;\n//# sourceMappingURL=ActorFunctionFactoryTermStrAfter.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrAfter = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strafter\n */\nclass TermFunctionStrAfter extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.STRAFTER,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRAFTER)\n .onBinaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => (0, utils_expression_evaluator_1.string)(arg1.slice(arg1.indexOf(arg2)).slice(arg2.length)))\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => {\n const [a1, a2] = [arg1.typedValue, arg2.typedValue];\n const sub = a1.slice(a1.indexOf(a2)).slice(a2.length);\n return sub || !a2 ? (0, utils_expression_evaluator_1.langString)(sub, arg1.language) : (0, utils_expression_evaluator_1.string)(sub);\n })\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING], () => (arg1, arg2) => {\n if (arg1.language !== arg2.language) {\n throw new utils_expression_evaluator_1.IncompatibleLanguageOperation(arg1, arg2);\n }\n const [a1, a2] = [arg1.typedValue, arg2.typedValue];\n const sub = a1.slice(a1.indexOf(a2)).slice(a2.length);\n return sub || !a2 ? (0, utils_expression_evaluator_1.langString)(sub, arg1.language) : (0, utils_expression_evaluator_1.string)(sub);\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionStrAfter = TermFunctionStrAfter;\n//# sourceMappingURL=TermFunctionStrAfter.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrAfter\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrBefore = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrBefore_1 = require(\"./TermFunctionStrBefore\");\n/**\n * A comunica TermFunctionStrBefore Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrBefore extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRBEFORE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrBefore_1.TermFunctionStrBefore();\n }\n}\nexports.ActorFunctionFactoryTermStrBefore = ActorFunctionFactoryTermStrBefore;\n//# sourceMappingURL=ActorFunctionFactoryTermStrBefore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrBefore = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strbefore\n */\nclass TermFunctionStrBefore extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.STRBEFORE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRBEFORE)\n .onBinaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => (0, utils_expression_evaluator_1.string)(arg1.slice(0, Math.max(0, arg1.indexOf(arg2)))))\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => {\n const [a1, a2] = [arg1.typedValue, arg2.typedValue];\n const sub = arg1.typedValue.slice(0, Math.max(0, a1.indexOf(a2)));\n return sub || !a2 ? (0, utils_expression_evaluator_1.langString)(sub, arg1.language) : (0, utils_expression_evaluator_1.string)(sub);\n })\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING], () => (arg1, arg2) => {\n if (arg1.language !== arg2.language) {\n throw new utils_expression_evaluator_1.IncompatibleLanguageOperation(arg1, arg2);\n }\n const [a1, a2] = [arg1.typedValue, arg2.typedValue];\n const sub = arg1.typedValue.slice(0, Math.max(0, a1.indexOf(a2)));\n return sub || !a2 ? (0, utils_expression_evaluator_1.langString)(sub, arg1.language) : (0, utils_expression_evaluator_1.string)(sub);\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionStrBefore = TermFunctionStrBefore;\n//# sourceMappingURL=TermFunctionStrBefore.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrBefore\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrDt = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrDt_1 = require(\"./TermFunctionStrDt\");\n/**\n * A comunica TermFunctionStrDt Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrDt extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRDT],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrDt_1.TermFunctionStrDt();\n }\n}\nexports.ActorFunctionFactoryTermStrDt = ActorFunctionFactoryTermStrDt;\n//# sourceMappingURL=ActorFunctionFactoryTermStrDt.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrDt = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strdt\n */\nclass TermFunctionStrDt extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.STRDT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRDT).set([utils_expression_evaluator_1.TypeURL.XSD_STRING, 'namedNode'], exprEval => ([str, iri]) => {\n const dataFactory = exprEval.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const lit = dataFactory.literal(str.typedValue, dataFactory.namedNode(iri.value));\n return new utils_expression_evaluator_1.TermTransformer(exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider))\n .transformLiteral(lit);\n }).collect(),\n });\n }\n}\nexports.TermFunctionStrDt = TermFunctionStrDt;\n//# sourceMappingURL=TermFunctionStrDt.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrDt\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrEnds = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrEnds_1 = require(\"./TermFunctionStrEnds\");\n/**\n * A comunica TermFunctionStrEnds Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrEnds extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRENDS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrEnds_1.TermFunctionStrEnds();\n }\n}\nexports.ActorFunctionFactoryTermStrEnds = ActorFunctionFactoryTermStrEnds;\n//# sourceMappingURL=ActorFunctionFactoryTermStrEnds.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrEnds = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strends\n */\nclass TermFunctionStrEnds extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.STRENDS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRENDS)\n .onBinaryTyped([utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => (0, utils_expression_evaluator_1.bool)(arg1.endsWith(arg2)))\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING], () => (arg1, arg2) => {\n if (arg1.language !== arg2.language) {\n throw new utils_expression_evaluator_1.IncompatibleLanguageOperation(arg1, arg2);\n }\n return (0, utils_expression_evaluator_1.bool)(arg1.typedValue.endsWith(arg2.typedValue));\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionStrEnds = TermFunctionStrEnds;\n//# sourceMappingURL=TermFunctionStrEnds.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrEnds\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrLang = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrLang_1 = require(\"./TermFunctionStrLang\");\n/**\n * A comunica TermFunctionStrLang Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrLang extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRLANG],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrLang_1.TermFunctionStrLang();\n }\n}\nexports.ActorFunctionFactoryTermStrLang = ActorFunctionFactoryTermStrLang;\n//# sourceMappingURL=ActorFunctionFactoryTermStrLang.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrLang = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strlang\n */\nclass TermFunctionStrLang extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.STRLANG,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRLANG)\n .onBinaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (val, language) => new utils_expression_evaluator_1.LangStringLiteral(val, language.toLowerCase()))\n .collect(),\n });\n }\n}\nexports.TermFunctionStrLang = TermFunctionStrLang;\n//# sourceMappingURL=TermFunctionStrLang.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrLang\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrLen = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrLen_1 = require(\"./TermFunctionStrLen\");\n/**\n * A comunica TermFunctionStrLen Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrLen extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRLEN],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrLen_1.TermFunctionStrLen();\n }\n}\nexports.ActorFunctionFactoryTermStrLen = ActorFunctionFactoryTermStrLen;\n//# sourceMappingURL=ActorFunctionFactoryTermStrLen.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrLen = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strlen\n */\nclass TermFunctionStrLen extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.STRLEN,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRLEN)\n .onStringly1(() => str => (0, utils_expression_evaluator_1.integer)([...str.typedValue].length))\n .collect(),\n });\n }\n}\nexports.TermFunctionStrLen = TermFunctionStrLen;\n//# sourceMappingURL=TermFunctionStrLen.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrLen\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrStarts = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrStarts_1 = require(\"./TermFunctionStrStarts\");\n/**\n * A comunica TermFunctionStrStarts Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrStarts extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRSTARTS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrStarts_1.TermFunctionStrStarts();\n }\n}\nexports.ActorFunctionFactoryTermStrStarts = ActorFunctionFactoryTermStrStarts;\n//# sourceMappingURL=ActorFunctionFactoryTermStrStarts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrStarts = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-strstarts\n * for this and the following functions you'll see (string, langstring) is not allowed. This behaviour is defined in:\n * https://www.w3.org/TR/sparql11-query/#func-arg-compatibility\n */\nclass TermFunctionStrStarts extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.STRSTARTS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRSTARTS)\n .onBinaryTyped([utils_expression_evaluator_1.TypeAlias.SPARQL_STRINGLY, utils_expression_evaluator_1.TypeURL.XSD_STRING], () => (arg1, arg2) => (0, utils_expression_evaluator_1.bool)(arg1.startsWith(arg2)))\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING], () => (arg1, arg2) => {\n if (arg1.language !== arg2.language) {\n throw new utils_expression_evaluator_1.IncompatibleLanguageOperation(arg1, arg2);\n }\n return (0, utils_expression_evaluator_1.bool)(arg1.typedValue.startsWith(arg2.typedValue));\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionStrStarts = TermFunctionStrStarts;\n//# sourceMappingURL=TermFunctionStrStarts.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrStarts\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStrUuid = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStrUuid_1 = require(\"./TermFunctionStrUuid\");\n/**\n * A comunica TermFunctionStrUuid Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStrUuid extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STRUUID],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStrUuid_1.TermFunctionStrUuid();\n }\n}\nexports.ActorFunctionFactoryTermStrUuid = ActorFunctionFactoryTermStrUuid;\n//# sourceMappingURL=ActorFunctionFactoryTermStrUuid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStrUuid = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst uuid = require(\"uuid\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-struuid\n */\nclass TermFunctionStrUuid extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 0,\n operator: utils_expression_evaluator_1.SparqlOperator.STRUUID,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STRUUID)\n .set([], () => () => (0, utils_expression_evaluator_1.string)(uuid.v4()))\n .collect(),\n });\n }\n}\nexports.TermFunctionStrUuid = TermFunctionStrUuid;\n//# sourceMappingURL=TermFunctionStrUuid.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStrUuid\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermStr = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionStr_1 = require(\"./TermFunctionStr\");\n/**\n * A comunica TermFunctionStr Function Factory Actor.\n */\nclass ActorFunctionFactoryTermStr extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.STR],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionStr_1.TermFunctionStr();\n }\n}\nexports.ActorFunctionFactoryTermStr = ActorFunctionFactoryTermStr;\n//# sourceMappingURL=ActorFunctionFactoryTermStr.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionStr = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-str\n */\nclass TermFunctionStr extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.STR,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.STR)\n .onTerm1(() => term => (0, utils_expression_evaluator_1.string)(term.str()))\n .collect(),\n });\n }\n}\nexports.TermFunctionStr = TermFunctionStr;\n//# sourceMappingURL=TermFunctionStr.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermStr\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSubStr = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSubStr_1 = require(\"./TermFunctionSubStr\");\n/**\n * A comunica TermFunctionSubStr Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSubStr extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SUBSTR],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSubStr_1.TermFunctionSubStr();\n }\n}\nexports.ActorFunctionFactoryTermSubStr = ActorFunctionFactoryTermSubStr;\n//# sourceMappingURL=ActorFunctionFactoryTermSubStr.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSubStr = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-substr\n */\nclass TermFunctionSubStr extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: [2, 3],\n operator: utils_expression_evaluator_1.SparqlOperator.SUBSTR,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SUBSTR)\n .onBinaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_INTEGER], () => (source, startingLoc) => (0, utils_expression_evaluator_1.string)([...source].slice(startingLoc - 1).join('')))\n .onBinary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.XSD_INTEGER], () => (source, startingLoc) => {\n const sub = [...source.typedValue].slice(startingLoc.typedValue - 1).join('');\n return (0, utils_expression_evaluator_1.langString)(sub, source.language);\n })\n .onTernaryTyped([utils_expression_evaluator_1.TypeURL.XSD_STRING, utils_expression_evaluator_1.TypeURL.XSD_INTEGER, utils_expression_evaluator_1.TypeURL.XSD_INTEGER], () => (source, startingLoc, length) => (0, utils_expression_evaluator_1.string)([...source].slice(startingLoc - 1, length + startingLoc - 1).join('')))\n .onTernary([utils_expression_evaluator_1.TypeURL.RDF_LANG_STRING, utils_expression_evaluator_1.TypeURL.XSD_INTEGER, utils_expression_evaluator_1.TypeURL.XSD_INTEGER], () => (source, startingLoc, length) => {\n const sub = [...source.typedValue]\n .slice(startingLoc.typedValue - 1, length.typedValue + startingLoc.typedValue - 1)\n .join('');\n return (0, utils_expression_evaluator_1.langString)(sub, source.language);\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionSubStr = TermFunctionSubStr;\n//# sourceMappingURL=TermFunctionSubStr.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSubStr\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSubject = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSubject_1 = require(\"./TermFunctionSubject\");\n/**\n * A comunica TermFunctionSubject Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSubject extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SUBJECT],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSubject_1.TermFunctionSubject();\n }\n}\nexports.ActorFunctionFactoryTermSubject = ActorFunctionFactoryTermSubject;\n//# sourceMappingURL=ActorFunctionFactoryTermSubject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSubject = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#subject\n */\nclass TermFunctionSubject extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.SUBJECT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SUBJECT)\n .onQuad1(() => quad => quad.subject)\n .collect(),\n });\n }\n}\nexports.TermFunctionSubject = TermFunctionSubject;\n//# sourceMappingURL=TermFunctionSubject.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSubject\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermSubtraction = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionSubtraction_1 = require(\"./TermFunctionSubtraction\");\n/**\n * A comunica TermFunctionSubtraction Function Factory Actor.\n */\nclass ActorFunctionFactoryTermSubtraction extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.SUBTRACTION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionSubtraction_1.TermFunctionSubtraction();\n }\n}\nexports.ActorFunctionFactoryTermSubtraction = ActorFunctionFactoryTermSubtraction;\n//# sourceMappingURL=ActorFunctionFactoryTermSubtraction.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionSubtraction = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst bignumber_js_1 = require(\"bignumber.js\");\nclass TermFunctionSubtraction extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 2,\n operator: utils_expression_evaluator_1.SparqlOperator.SUBTRACTION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.SUBTRACTION)\n .arithmetic(() => (left, right) => new bignumber_js_1.BigNumber(left).minus(right).toNumber())\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], exprEval => ([date1, date2]) => \n // https://www.w3.org/TR/xpath-functions/#func-subtract-dateTimes;\n new utils_expression_evaluator_1.DayTimeDurationLiteral((0, utils_expression_evaluator_1.elapsedDuration)(date1.typedValue, date2.typedValue, exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.defaultTimeZone))))\n .copy({ from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], to: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DATE] })\n .copy({ from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], to: [utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_TIME] })\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([date, dur]) => \n // https://www.w3.org/TR/xpath-functions/#func-subtract-dayTimeDuration-from-dateTime\n new utils_expression_evaluator_1.DateTimeLiteral((0, utils_expression_evaluator_1.addDurationToDateTime)(date.typedValue, (0, utils_expression_evaluator_1.defaultedDurationRepresentation)((0, utils_expression_evaluator_1.negateDuration)(dur.typedValue)))))\n .copy({\n from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION],\n to: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION],\n })\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([date, dur]) => \n // https://www.w3.org/TR/xpath-functions/#func-subtract-dayTimeDuration-from-date\n new utils_expression_evaluator_1.DateLiteral((0, utils_expression_evaluator_1.addDurationToDateTime)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(date.typedValue), (0, utils_expression_evaluator_1.defaultedDurationRepresentation)((0, utils_expression_evaluator_1.negateDuration)(dur.typedValue)))))\n .copy({\n from: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION],\n to: [utils_expression_evaluator_1.TypeURL.XSD_DATE, utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION],\n })\n .set([utils_expression_evaluator_1.TypeURL.XSD_TIME, utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION], () => ([time, dur]) => \n // https://www.w3.org/TR/xpath-functions/#func-subtract-dayTimeDuration-from-date\n new utils_expression_evaluator_1.TimeLiteral((0, utils_expression_evaluator_1.addDurationToDateTime)((0, utils_expression_evaluator_1.defaultedDateTimeRepresentation)(time.typedValue), (0, utils_expression_evaluator_1.defaultedDurationRepresentation)((0, utils_expression_evaluator_1.negateDuration)(dur.typedValue)))))\n .collect(),\n });\n }\n}\nexports.TermFunctionSubtraction = TermFunctionSubtraction;\n//# sourceMappingURL=TermFunctionSubtraction.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermSubtraction\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermTimezone = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionTimezone_1 = require(\"./TermFunctionTimezone\");\n/**\n * A comunica TermFunctionTimezone Function Factory Actor.\n */\nclass ActorFunctionFactoryTermTimezone extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.TIMEZONE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionTimezone_1.TermFunctionTimezone();\n }\n}\nexports.ActorFunctionFactoryTermTimezone = ActorFunctionFactoryTermTimezone;\n//# sourceMappingURL=ActorFunctionFactoryTermTimezone.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionTimezone = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-timezone\n */\nclass TermFunctionTimezone extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.TIMEZONE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.TIMEZONE)\n .onDateTime1(() => (date) => {\n const duration = {\n hours: date.typedValue.zoneHours,\n minutes: date.typedValue.zoneMinutes,\n };\n if (duration.hours === undefined && duration.minutes === undefined) {\n throw new utils_expression_evaluator_1.InvalidTimezoneCall(date.str());\n }\n return new utils_expression_evaluator_1.DayTimeDurationLiteral(duration);\n })\n .copy({ from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], to: [utils_expression_evaluator_1.TypeURL.XSD_DATE] })\n .copy({ from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], to: [utils_expression_evaluator_1.TypeURL.XSD_TIME] })\n .collect(),\n });\n }\n}\nexports.TermFunctionTimezone = TermFunctionTimezone;\n//# sourceMappingURL=TermFunctionTimezone.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermTimezone\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermTriple = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionTriple_1 = require(\"./TermFunctionTriple\");\n/**\n * A comunica TermFunctionTriple Function Factory Actor.\n */\nclass ActorFunctionFactoryTermTriple extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.TRIPLE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionTriple_1.TermFunctionTriple();\n }\n}\nexports.ActorFunctionFactoryTermTriple = ActorFunctionFactoryTermTriple;\n//# sourceMappingURL=ActorFunctionFactoryTermTriple.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionTriple = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#triple-function\n */\nclass TermFunctionTriple extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 3,\n operator: utils_expression_evaluator_1.SparqlOperator.TRIPLE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.TRIPLE)\n .onTerm3(_ => (...args) => new utils_expression_evaluator_1.Quad(args[0], args[1], args[2], new utils_expression_evaluator_1.DefaultGraph()))\n .collect(),\n });\n }\n}\nexports.TermFunctionTriple = TermFunctionTriple;\n//# sourceMappingURL=TermFunctionTriple.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermTriple\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermTz = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionTz_1 = require(\"./TermFunctionTz\");\n/**\n * A comunica TermFunctionTz Function Factory Actor.\n */\nclass ActorFunctionFactoryTermTz extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.TZ],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionTz_1.TermFunctionTz();\n }\n}\nexports.ActorFunctionFactoryTermTz = ActorFunctionFactoryTermTz;\n//# sourceMappingURL=ActorFunctionFactoryTermTz.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionTz = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-tz\n */\nclass TermFunctionTz extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.TZ,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.TZ)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.string)((0, utils_expression_evaluator_1.extractRawTimeZone)(date.str())))\n .copy({ from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], to: [utils_expression_evaluator_1.TypeURL.XSD_DATE] })\n .copy({ from: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME], to: [utils_expression_evaluator_1.TypeURL.XSD_TIME] })\n .collect(),\n });\n }\n}\nexports.TermFunctionTz = TermFunctionTz;\n//# sourceMappingURL=TermFunctionTz.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermTz\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermUcase = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionUcase_1 = require(\"./TermFunctionUcase\");\n/**\n * A comunica TermFunctionUcase Function Factory Actor.\n */\nclass ActorFunctionFactoryTermUcase extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.UCASE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionUcase_1.TermFunctionUcase();\n }\n}\nexports.ActorFunctionFactoryTermUcase = ActorFunctionFactoryTermUcase;\n//# sourceMappingURL=ActorFunctionFactoryTermUcase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionUcase = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-ucase\n */\nclass TermFunctionUcase extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.UCASE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.UCASE)\n .onString1Typed(() => lit => (0, utils_expression_evaluator_1.string)(lit.toUpperCase()))\n .onLangString1(() => lit => (0, utils_expression_evaluator_1.langString)(lit.typedValue.toUpperCase(), lit.language))\n .collect(),\n });\n }\n}\nexports.TermFunctionUcase = TermFunctionUcase;\n//# sourceMappingURL=TermFunctionUcase.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermUcase\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermUnaryMinus = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionUnaryMinus_1 = require(\"./TermFunctionUnaryMinus\");\n/**\n * A comunica TermFunctionUnaryMinus Function Factory Actor.\n */\nclass ActorFunctionFactoryTermUnaryMinus extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.UMINUS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionUnaryMinus_1.TermFunctionUnaryMinus();\n }\n}\nexports.ActorFunctionFactoryTermUnaryMinus = ActorFunctionFactoryTermUnaryMinus;\n//# sourceMappingURL=ActorFunctionFactoryTermUnaryMinus.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionUnaryMinus = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionUnaryMinus extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.UMINUS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.UMINUS)\n .numericConverter(() => val => -val)\n .collect(),\n });\n }\n}\nexports.TermFunctionUnaryMinus = TermFunctionUnaryMinus;\n//# sourceMappingURL=TermFunctionUnaryMinus.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermUnaryMinus\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermUnaryPlus = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionUnaryPlus_1 = require(\"./TermFunctionUnaryPlus\");\n/**\n * A comunica TermFunctionUnaryPlus Function Factory Actor.\n */\nclass ActorFunctionFactoryTermUnaryPlus extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.UPLUS],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionUnaryPlus_1.TermFunctionUnaryPlus();\n }\n}\nexports.ActorFunctionFactoryTermUnaryPlus = ActorFunctionFactoryTermUnaryPlus;\n//# sourceMappingURL=ActorFunctionFactoryTermUnaryPlus.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionUnaryPlus = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionUnaryPlus extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.UPLUS,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.UPLUS)\n .numericConverter(() => val => val)\n .collect(),\n });\n }\n}\nexports.TermFunctionUnaryPlus = TermFunctionUnaryPlus;\n//# sourceMappingURL=TermFunctionUnaryPlus.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermUnaryPlus\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermUuid = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionUuid_1 = require(\"./TermFunctionUuid\");\n/**\n * A comunica TermFunctionUuid Function Factory Actor.\n */\nclass ActorFunctionFactoryTermUuid extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.UUID],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionUuid_1.TermFunctionUuid();\n }\n}\nexports.ActorFunctionFactoryTermUuid = ActorFunctionFactoryTermUuid;\n//# sourceMappingURL=ActorFunctionFactoryTermUuid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionUuid = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst uuid = require(\"uuid\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-uuid\n */\nclass TermFunctionUuid extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 0,\n operator: utils_expression_evaluator_1.SparqlOperator.UUID,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.UUID)\n .set([], () => () => new utils_expression_evaluator_1.NamedNode(`urn:uuid:${uuid.v4()}`))\n .collect(),\n });\n }\n}\nexports.TermFunctionUuid = TermFunctionUuid;\n//# sourceMappingURL=TermFunctionUuid.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermUuid\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function get() {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function get() {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function get() {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function get() {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function get() {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function get() {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function get() {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nvar _default = {\n randomUUID\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToBoolean = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToBoolean_1 = require(\"./TermFunctionXsdToBoolean\");\n/**\n * A comunica TermFunctionXsdToBoolean Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToBoolean extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_BOOLEAN],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToBoolean_1.TermFunctionXsdToBoolean();\n }\n}\nexports.ActorFunctionFactoryTermXsdToBoolean = ActorFunctionFactoryTermXsdToBoolean;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToBoolean.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToBoolean = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToBoolean extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_BOOLEAN,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_BOOLEAN)\n .onNumeric1(() => (val) => (0, utils_expression_evaluator_1.bool)(val.coerceEBV()), true)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_BOOLEAN, () => (val) => (0, utils_expression_evaluator_1.bool)(val.coerceEBV()), true)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_STRING, () => (val) => {\n switch (val.str()) {\n case 'true':\n return (0, utils_expression_evaluator_1.bool)(true);\n case 'false':\n return (0, utils_expression_evaluator_1.bool)(false);\n case '1':\n return (0, utils_expression_evaluator_1.bool)(true);\n case '0':\n return (0, utils_expression_evaluator_1.bool)(false);\n default:\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_BOOLEAN);\n }\n }, false)\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToBoolean = TermFunctionXsdToBoolean;\n//# sourceMappingURL=TermFunctionXsdToBoolean.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToBoolean\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToDate = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToDate_1 = require(\"./TermFunctionXsdToDate\");\n/**\n * A comunica TermFunctionXsdToDate Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToDate extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_DATE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToDate_1.TermFunctionXsdToDate();\n }\n}\nexports.ActorFunctionFactoryTermXsdToDate = ActorFunctionFactoryTermXsdToDate;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToDate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToDate = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToDate extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_DATE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_DATE)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DATE, () => (val) => new utils_expression_evaluator_1.DateLiteral(val.typedValue, val.strValue))\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, () => (val) => new utils_expression_evaluator_1.DateLiteral(val.typedValue))\n .onStringly1(() => (val) => new utils_expression_evaluator_1.DateLiteral((0, utils_expression_evaluator_1.parseDate)(val.str())))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToDate = TermFunctionXsdToDate;\n//# sourceMappingURL=TermFunctionXsdToDate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToDate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToDatetime = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToDatetime_1 = require(\"./TermFunctionXsdToDatetime\");\n/**\n * A comunica TermFunctionXsdToDatetime Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToDatetime extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToDatetime_1.TermFunctionXsdToDatetime();\n }\n}\nexports.ActorFunctionFactoryTermXsdToDatetime = ActorFunctionFactoryTermXsdToDatetime;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToDatetime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToDatetime = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToDatetime extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, () => (val) => val)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_STRING, () => (val) => (0, utils_expression_evaluator_1.dateTime)((0, utils_expression_evaluator_1.parseDateTime)(val.str()), val.str()), false)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DATE, () => (val) => new utils_expression_evaluator_1.DateTimeLiteral({ ...val.typedValue, hours: 0, minutes: 0, seconds: 0 }))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToDatetime = TermFunctionXsdToDatetime;\n//# sourceMappingURL=TermFunctionXsdToDatetime.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToDatetime\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToDayTimeDuration = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToDayTimeDuration_1 = require(\"./TermFunctionXsdToDayTimeDuration\");\n/**\n * A comunica TermFunctionXsdToDayTimeDuration Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToDayTimeDuration extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToDayTimeDuration_1.TermFunctionXsdToDayTimeDuration();\n }\n}\nexports.ActorFunctionFactoryTermXsdToDayTimeDuration = ActorFunctionFactoryTermXsdToDayTimeDuration;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToDayTimeDuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToDayTimeDuration = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToDayTimeDuration extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION)\n // https://www.w3.org/TR/xpath-functions/#casting-to-durations\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DURATION, () => (val) => \n // Copy is needed to make sure the dataType is changed, even when the provided type was a subtype\n new utils_expression_evaluator_1.DayTimeDurationLiteral((0, utils_expression_evaluator_1.trimToDayTimeDuration)(val.typedValue)))\n .onStringly1(() => (val) => new utils_expression_evaluator_1.DayTimeDurationLiteral((0, utils_expression_evaluator_1.parseDayTimeDuration)(val.str())))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToDayTimeDuration = TermFunctionXsdToDayTimeDuration;\n//# sourceMappingURL=TermFunctionXsdToDayTimeDuration.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToDayTimeDuration\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToDecimal = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToDecimal_1 = require(\"./TermFunctionXsdToDecimal\");\n/**\n * A comunica TermFunctionXsdToDecimal Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToDecimal extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_DECIMAL],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToDecimal_1.TermFunctionXsdToDecimal();\n }\n}\nexports.ActorFunctionFactoryTermXsdToDecimal = ActorFunctionFactoryTermXsdToDecimal;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToDecimal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToDecimal = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToDecimal extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_DECIMAL,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_DECIMAL)\n .onNumeric1(() => (val) => {\n const result = (0, utils_expression_evaluator_1.parseXSDDecimal)(val.str());\n if (result === undefined) {\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_DECIMAL);\n }\n return (0, utils_expression_evaluator_1.decimal)(result);\n })\n .onString1(() => (val) => {\n const str = val.str();\n const result = /^([+-])?(\\d+(\\.\\d+)?)$/u.test(str) ? (0, utils_expression_evaluator_1.parseXSDDecimal)(str) : undefined;\n if (result === undefined) {\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_DECIMAL);\n }\n return (0, utils_expression_evaluator_1.decimal)(result);\n }, false)\n .onBoolean1Typed(() => val => (0, utils_expression_evaluator_1.decimal)(val ? 1 : 0))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToDecimal = TermFunctionXsdToDecimal;\n//# sourceMappingURL=TermFunctionXsdToDecimal.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToDecimal\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToDouble = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToDouble_1 = require(\"./TermFunctionXsdToDouble\");\n/**\n * A comunica TermFunctionXsdToDouble Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToDouble extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_DOUBLE],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToDouble_1.TermFunctionXsdToDouble();\n }\n}\nexports.ActorFunctionFactoryTermXsdToDouble = ActorFunctionFactoryTermXsdToDouble;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToDouble.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToDouble = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToDouble extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_DOUBLE,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_DOUBLE)\n .onNumeric1(() => (val) => (0, utils_expression_evaluator_1.double)(val.typedValue))\n .onBoolean1Typed(() => val => (0, utils_expression_evaluator_1.double)(val ? 1 : 0))\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_STRING, () => (val) => {\n const result = (0, utils_expression_evaluator_1.parseXSDFloat)(val.str());\n if (result === undefined) {\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_DOUBLE);\n }\n return (0, utils_expression_evaluator_1.double)(result);\n }, false)\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToDouble = TermFunctionXsdToDouble;\n//# sourceMappingURL=TermFunctionXsdToDouble.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToDouble\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToDuration = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToDuration_1 = require(\"./TermFunctionXsdToDuration\");\n/**\n * A comunica TermFunctionXsdToDuration Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToDuration extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_DURATION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToDuration_1.TermFunctionXsdToDuration();\n }\n}\nexports.ActorFunctionFactoryTermXsdToDuration = ActorFunctionFactoryTermXsdToDuration;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToDuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToDuration = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToDuration extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_DAY_TIME_DURATION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_DURATION)\n // https://www.w3.org/TR/xpath-functions/#casting-to-durations\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DURATION, () => (val) => \n // Copy is needed to make sure the dataType is changed, even when the provided type was a subtype\n new utils_expression_evaluator_1.DurationLiteral(val.typedValue, val.strValue))\n .onStringly1(() => (val) => new utils_expression_evaluator_1.DurationLiteral((0, utils_expression_evaluator_1.parseDuration)(val.str())))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToDuration = TermFunctionXsdToDuration;\n//# sourceMappingURL=TermFunctionXsdToDuration.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToDuration\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToFloat = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToFloat_1 = require(\"./TermFunctionXsdToFloat\");\n/**\n * A comunica TermFunctionXsdToFloat Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToFloat extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_FLOAT],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToFloat_1.TermFunctionXsdToFloat();\n }\n}\nexports.ActorFunctionFactoryTermXsdToFloat = ActorFunctionFactoryTermXsdToFloat;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToFloat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToFloat = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToFloat extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_FLOAT,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_FLOAT)\n .onNumeric1(() => (val) => (0, utils_expression_evaluator_1.float)(val.typedValue))\n .onBoolean1Typed(() => val => (0, utils_expression_evaluator_1.float)(val ? 1 : 0))\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_STRING, () => (val) => {\n const result = (0, utils_expression_evaluator_1.parseXSDFloat)(val.str());\n if (result === undefined) {\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_FLOAT);\n }\n return (0, utils_expression_evaluator_1.float)(result);\n }, false)\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToFloat = TermFunctionXsdToFloat;\n//# sourceMappingURL=TermFunctionXsdToFloat.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToFloat\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToInteger = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToInteger_1 = require(\"./TermFunctionXsdToInteger\");\n/**\n * A comunica TermFunctionXsdToInteger Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToInteger extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_INTEGER],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToInteger_1.TermFunctionXsdToInteger();\n }\n}\nexports.ActorFunctionFactoryTermXsdToInteger = ActorFunctionFactoryTermXsdToInteger;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToInteger.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToInteger = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToInteger extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_INTEGER,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_INTEGER)\n .onBoolean1Typed(() => val => (0, utils_expression_evaluator_1.integer)(val ? 1 : 0))\n .onNumeric1(() => (val) => {\n if (!Number.isFinite(val.typedValue)) {\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n return (0, utils_expression_evaluator_1.integer)(Math.trunc(val.typedValue));\n })\n .onString1(() => (val) => {\n const str = val.str();\n const result = /^\\d+$/u.test(str) ? Number.parseInt(str, 10) : undefined;\n if (result === undefined) {\n throw new utils_expression_evaluator_1.CastError(val, utils_expression_evaluator_1.TypeURL.XSD_INTEGER);\n }\n return (0, utils_expression_evaluator_1.integer)(result);\n })\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToInteger = TermFunctionXsdToInteger;\n//# sourceMappingURL=TermFunctionXsdToInteger.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToInteger\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToString = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToString_1 = require(\"./TermFunctionXsdToString\");\n/**\n * A comunica TermFunctionXsdToString Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToString extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_STRING],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToString_1.TermFunctionXsdToString();\n }\n}\nexports.ActorFunctionFactoryTermXsdToString = ActorFunctionFactoryTermXsdToString;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToString.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToString = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/xpath-functions/#casting-to-string\n */\nclass TermFunctionXsdToString extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_STRING,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_STRING)\n .onNumeric1(() => (val) => (0, utils_expression_evaluator_1.string)((0, utils_expression_evaluator_1.float)(val.typedValue).str()))\n .onBoolean1Typed(() => val => (0, utils_expression_evaluator_1.string)((0, utils_expression_evaluator_1.bool)(val).str()))\n .onTerm1(() => (val) => (0, utils_expression_evaluator_1.string)(val.str()))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToString = TermFunctionXsdToString;\n//# sourceMappingURL=TermFunctionXsdToString.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToString\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToTime = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToTime_1 = require(\"./TermFunctionXsdToTime\");\n/**\n * A comunica TermFunctionXsdToTime Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToTime extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_TIME],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToTime_1.TermFunctionXsdToTime();\n }\n}\nexports.ActorFunctionFactoryTermXsdToTime = ActorFunctionFactoryTermXsdToTime;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToTime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToTime = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToTime extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_TIME,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_TIME)\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_TIME, () => (val) => new utils_expression_evaluator_1.TimeLiteral(val.typedValue, val.strValue))\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DATE_TIME, () => (val) => new utils_expression_evaluator_1.TimeLiteral(val.typedValue))\n .onStringly1(() => (val) => new utils_expression_evaluator_1.TimeLiteral((0, utils_expression_evaluator_1.parseTime)(val.str())))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToTime = TermFunctionXsdToTime;\n//# sourceMappingURL=TermFunctionXsdToTime.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToTime\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermXsdToYearMonthDuration = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionXsdToYearMonthDuration_1 = require(\"./TermFunctionXsdToYearMonthDuration\");\n/**\n * A comunica TermFunctionXsdToYearMonthDuration Function Factory Actor.\n */\nclass ActorFunctionFactoryTermXsdToYearMonthDuration extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionXsdToYearMonthDuration_1.TermFunctionXsdToYearMonthDuration();\n }\n}\nexports.ActorFunctionFactoryTermXsdToYearMonthDuration = ActorFunctionFactoryTermXsdToYearMonthDuration;\n//# sourceMappingURL=ActorFunctionFactoryTermXsdToYearMonthDuration.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionXsdToYearMonthDuration = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass TermFunctionXsdToYearMonthDuration extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.TypeURL.XSD_YEAR_MONTH_DURATION)\n // https://www.w3.org/TR/xpath-functions/#casting-to-durations\n .onUnary(utils_expression_evaluator_1.TypeURL.XSD_DURATION, () => (val) => \n // Copy is needed to make sure the dataType is changed, even when the provided type was a subtype\n new utils_expression_evaluator_1.YearMonthDurationLiteral((0, utils_expression_evaluator_1.trimToYearMonthDuration)(val.typedValue)))\n .onStringly1(() => (val) => new utils_expression_evaluator_1.YearMonthDurationLiteral((0, utils_expression_evaluator_1.parseYearMonthDuration)(val.str())))\n .collect(),\n });\n }\n}\nexports.TermFunctionXsdToYearMonthDuration = TermFunctionXsdToYearMonthDuration;\n//# sourceMappingURL=TermFunctionXsdToYearMonthDuration.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermXsdToYearMonthDuration\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryTermYear = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst TermFunctionYear_1 = require(\"./TermFunctionYear\");\n/**\n * A comunica TermFunctionYear Function Factory Actor.\n */\nclass ActorFunctionFactoryTermYear extends bus_function_factory_1.ActorFunctionFactoryDedicated {\n constructor(args) {\n super({\n ...args,\n functionNames: [utils_expression_evaluator_1.SparqlOperator.YEAR],\n termFunction: true,\n });\n }\n async run(_) {\n return new TermFunctionYear_1.TermFunctionYear();\n }\n}\nexports.ActorFunctionFactoryTermYear = ActorFunctionFactoryTermYear;\n//# sourceMappingURL=ActorFunctionFactoryTermYear.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionYear = void 0;\nconst bus_function_factory_1 = require(\"@comunica/bus-function-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\n/**\n * https://www.w3.org/TR/sparql11-query/#func-year\n */\nclass TermFunctionYear extends bus_function_factory_1.TermFunctionBase {\n constructor() {\n super({\n arity: 1,\n operator: utils_expression_evaluator_1.SparqlOperator.YEAR,\n overloads: (0, utils_expression_evaluator_1.declare)(utils_expression_evaluator_1.SparqlOperator.YEAR)\n .onDateTime1(() => date => (0, utils_expression_evaluator_1.integer)(date.typedValue.year))\n .set([utils_expression_evaluator_1.TypeURL.XSD_DATE], () => ([date]) => (0, utils_expression_evaluator_1.integer)(date.typedValue.year))\n .collect(),\n });\n }\n}\nexports.TermFunctionYear = TermFunctionYear;\n//# sourceMappingURL=TermFunctionYear.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactoryTermYear\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHashBindingsMurmur = void 0;\nconst bus_hash_bindings_1 = require(\"@comunica/bus-hash-bindings\");\nconst core_1 = require(\"@comunica/core\");\n// eslint-disable-next-line ts/no-require-imports,ts/no-var-requires\nconst MurmurHash3 = require('imurmurhash');\n/**\n * A comunica Murmur Hash Bindings Actor.\n */\nclass ActorHashBindingsMurmur extends bus_hash_bindings_1.ActorHashBindings {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(_action) {\n return {\n hashFunction: (bindings, variables) => {\n let hash = MurmurHash3();\n for (const variable of variables) {\n hash = hash.hash(bindings.get(variable)?.value ?? 'UNDEF');\n }\n return hash.result();\n },\n };\n }\n}\nexports.ActorHashBindingsMurmur = ActorHashBindingsMurmur;\n//# sourceMappingURL=ActorHashBindingsMurmur.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHashBindingsMurmur\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHashQuadsMurmur = void 0;\nconst bus_hash_quads_1 = require(\"@comunica/bus-hash-quads\");\nconst core_1 = require(\"@comunica/core\");\n// eslint-disable-next-line ts/no-require-imports,ts/no-var-requires\nconst MurmurHash3 = require('imurmurhash');\n/**\n * A comunica Murmur Hash Quads Actor.\n */\nclass ActorHashQuadsMurmur extends bus_hash_quads_1.ActorHashQuads {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(_action) {\n return {\n hashFunction: (quad) => {\n const hash = MurmurHash3(quad.subject.value);\n hash.hash(quad.predicate.value);\n hash.hash(quad.object.value);\n hash.hash(quad.graph.value);\n return hash.result();\n },\n };\n }\n}\nexports.ActorHashQuadsMurmur = ActorHashQuadsMurmur;\n//# sourceMappingURL=ActorHashQuadsMurmur.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHashQuadsMurmur\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttpFetch = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n// eslint-disable-next-line import/extensions\nconst package_json_1 = require(\"../package.json\");\nconst FetchInitPreprocessor_1 = require(\"./FetchInitPreprocessor\");\nclass ActorHttpFetch extends bus_http_1.ActorHttp {\n constructor(args) {\n super(args);\n this.fetchInitPreprocessor = new FetchInitPreprocessor_1.FetchInitPreprocessor(args.agentOptions);\n }\n async test(_action) {\n return (0, core_1.passTest)({ time: Number.POSITIVE_INFINITY });\n }\n async run(action) {\n const headers = this.prepareRequestHeaders(action);\n const init = { method: 'GET', ...action.init, headers };\n this.logInfo(action.context, `Requesting ${bus_http_1.ActorHttp.getInputUrl(action.input).href}`, () => ({\n headers: bus_http_1.ActorHttp.headersToHash(headers),\n method: init.method,\n }));\n // TODO: remove this workaround once this has a fix: https://github.com/inrupt/solid-client-authn-js/issues/1708\n if (action.context.has(context_entries_1.KeysHttp.fetch)) {\n init.headers = bus_http_1.ActorHttp.headersToHash(headers);\n }\n if (action.context.get(context_entries_1.KeysHttp.includeCredentials)) {\n init.credentials = 'include';\n }\n const httpTimeout = action.context.get(context_entries_1.KeysHttp.httpTimeout);\n const httpBodyTimeout = action.context.get(context_entries_1.KeysHttp.httpBodyTimeout);\n const fetchFunction = action.context.get(context_entries_1.KeysHttp.fetch) ?? fetch;\n const requestInit = await this.fetchInitPreprocessor.handle(init);\n let timeoutCallback;\n let timeoutHandle;\n if (httpTimeout) {\n const abortController = new AbortController();\n requestInit.signal = abortController.signal;\n timeoutCallback = () => abortController.abort(new Error(`Fetch timed out for ${bus_http_1.ActorHttp.getInputUrl(action.input).href} after ${httpTimeout} ms`));\n timeoutHandle = setTimeout(() => timeoutCallback(), httpTimeout);\n }\n const response = await fetchFunction(action.input, requestInit);\n if (httpTimeout && (!httpBodyTimeout || !response.body)) {\n clearTimeout(timeoutHandle);\n }\n return response;\n }\n /**\n * Prepares the request headers, taking into account the environment.\n * @param {IActionHttp} action The HTTP action\n * @returns {Headers} Headers\n */\n prepareRequestHeaders(action) {\n const headers = new Headers(action.init?.headers);\n if (bus_http_1.ActorHttp.isBrowser()) {\n // When running in a browser, the User-Agent header should never be set\n headers.delete('user-agent');\n }\n else if (!headers.has('user-agent')) {\n // Otherwise, if no header value is provided, use the actor one\n headers.set('user-agent', ActorHttpFetch.userAgent);\n }\n const authString = action.context.get(context_entries_1.KeysHttp.auth);\n if (authString) {\n headers.set('Authorization', `Basic ${ActorHttpFetch.stringToBase64(authString)}`);\n }\n return headers;\n }\n /**\n * Converts a string, including ones with Unicode symbols, to Base64 encoding.\n * This function was adapted from the MDN example function here:\n * https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n * @param {string} value The string value to encode\n * @returns {string} The Base64-encoded value\n */\n static stringToBase64(value) {\n const bytes = new TextEncoder().encode(value);\n const binString = Array.from(bytes, byte => String.fromCodePoint(byte)).join('');\n return btoa(binString);\n }\n}\nexports.ActorHttpFetch = ActorHttpFetch;\nActorHttpFetch.userAgent = bus_http_1.ActorHttp.createUserAgent('ActorHttpFetch', package_json_1.version);\n//# sourceMappingURL=ActorHttpFetch.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FetchInitPreprocessor = void 0;\n/**\n * Overrides things for fetch requests in browsers\n */\nclass FetchInitPreprocessor {\n async handle(init) {\n // Browsers don't yet support passing ReadableStream as body to requests, see\n // https://bugs.chromium.org/p/chromium/issues/detail?id=688906\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1387483\n // As such, we convert those bodies to a plain string\n // TODO: remove this once browser support ReadableStream in requests\n if (init.body && typeof init.body !== 'string' && 'getReader' in init.body) {\n const reader = init.body.getReader();\n const chunks = [];\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n chunks.push(value);\n }\n init.body = chunks.join('');\n }\n // Only enable keepalive functionality if we are not sending a body (some browsers seem to trip over this)\n return { ...init, keepalive: !init.body };\n }\n}\nexports.FetchInitPreprocessor = FetchInitPreprocessor;\n//# sourceMappingURL=FetchInitPreprocessor-browser.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHttpFetch\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttpProxy = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Proxy Http Actor.\n */\nclass ActorHttpProxy extends bus_http_1.ActorHttp {\n constructor(args) {\n super(args);\n }\n async test(action) {\n const proxyHandler = action.context.get(context_entries_1.KeysHttpProxy.httpProxyHandler);\n if (!proxyHandler) {\n return (0, core_1.failTest)(`Actor ${this.name} could not find a proxy handler in the context.`);\n }\n if (!await proxyHandler.getProxy(action)) {\n return (0, core_1.failTest)(`Actor ${this.name} could not determine a proxy for the given request.`);\n }\n return (0, core_1.passTest)({ time: Number.POSITIVE_INFINITY });\n }\n async run(action) {\n const requestedUrl = typeof action.input === 'string' ? action.input : action.input.url;\n const proxyHandler = action.context.get(context_entries_1.KeysHttpProxy.httpProxyHandler);\n // Send a request for the modified request\n const output = await this.mediatorHttp.mediate({\n ...await proxyHandler.getProxy(action),\n context: action.context.delete(context_entries_1.KeysHttpProxy.httpProxyHandler),\n });\n // Modify the response URL\n // use defineProperty to allow modification of unmodifiable objects\n Object.defineProperty(output, 'url', {\n configurable: true,\n enumerable: true,\n get: () => output.headers.get('x-final-url') ?? requestedUrl,\n });\n return output;\n }\n}\nexports.ActorHttpProxy = ActorHttpProxy;\n//# sourceMappingURL=ActorHttpProxy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProxyHandlerStatic = void 0;\n/**\n * A proxy handler that prefixes all URLs with a given string.\n */\nclass ProxyHandlerStatic {\n constructor(prefixUrl) {\n this.prefixUrl = prefixUrl;\n }\n async getProxy(request) {\n return {\n init: request.init,\n input: this.modifyInput(request.input),\n };\n }\n modifyInput(input) {\n if (typeof input === 'string') {\n return this.prefixUrl + input;\n }\n return new Request(this.prefixUrl + input.url, input);\n }\n}\nexports.ProxyHandlerStatic = ProxyHandlerStatic;\n//# sourceMappingURL=ProxyHandlerStatic.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHttpProxy\"), exports);\n__exportStar(require(\"./ProxyHandlerStatic\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttpRetry = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nclass ActorHttpRetry extends bus_http_1.ActorHttp {\n constructor(args) {\n super(args);\n this.activeDelays = {};\n this.httpInvalidator = args.httpInvalidator;\n this.httpInvalidator.addInvalidateListener(action => this.handleHttpInvalidateEvent(action));\n this.mediatorHttp = args.mediatorHttp;\n }\n async test(action) {\n if (action.context.has(ActorHttpRetry.keyWrapped)) {\n return (0, core_1.failTest)(`${this.name} can only wrap a request once`);\n }\n const retryCount = action.context.get(context_entries_1.KeysHttp.httpRetryCount);\n if (!retryCount || retryCount < 1) {\n return (0, core_1.failTest)(`${this.name} requires a retry count greater than zero to function`);\n }\n return (0, core_1.passTest)({ time: 0 });\n }\n async run(action) {\n const url = bus_http_1.ActorHttp.getInputUrl(action.input);\n // Attempt once + the number of retries specified by the user\n const attemptLimit = action.context.getSafe(context_entries_1.KeysHttp.httpRetryCount) + 1;\n const retryDelayFallback = action.context.get(context_entries_1.KeysHttp.httpRetryDelayFallback) ?? 0;\n const retryDelayLimit = action.context.get(context_entries_1.KeysHttp.httpRetryDelayLimit);\n const retryStatusCodes = action.context.get(context_entries_1.KeysHttp.httpRetryStatusCodes);\n for (let attempt = 1; attempt <= attemptLimit; attempt++) {\n const retryDelay = url.host in this.activeDelays ?\n this.activeDelays[url.host].date.getTime() - Date.now() :\n retryDelayFallback;\n if (retryDelayLimit && retryDelay > retryDelayLimit) {\n this.logWarn(action.context, 'Requested delay exceeds the limit', () => ({\n url: url.href,\n delay: retryDelay,\n delayDate: this.activeDelays[url.host].date.toISOString(),\n delayLimit: retryDelayLimit,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n break;\n }\n else if (retryDelay > 0 && attempt > 1) {\n this.logDebug(action.context, 'Delaying request', () => ({\n url: url.href,\n delay: retryDelay,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n await ActorHttpRetry.sleep(retryDelay);\n }\n const response = await this.mediatorHttp.mediate({\n ...action,\n context: action.context.set(ActorHttpRetry.keyWrapped, true),\n });\n if (response.ok) {\n return response;\n }\n if (retryStatusCodes && retryStatusCodes.includes(response.status)) {\n this.logDebug(action.context, 'Status code in force retry list, forcing retry', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n continue;\n }\n if (response.status === 504) {\n // When the server is acting as a proxy and the source times it, it makes sense to retry\n // with the hope that the source server replies within the timeout\n this.logDebug(action.context, 'Received proxy timeout', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n continue;\n }\n if (response.status === 429 || response.status === 503) {\n // When the server reports temporary unavailability, it can also provide a Retry-Header value.\n const retryAfterHeader = response.headers.get('retry-after');\n if (retryAfterHeader) {\n const retryAfter = ActorHttpRetry.parseRetryAfterHeader(retryAfterHeader);\n if (retryAfter) {\n // Clear any previous clean-up timers for the host\n if (url.host in this.activeDelays) {\n clearTimeout(this.activeDelays[url.host].timeout);\n }\n // Record the current host-specific active delay, and add a clean-up timer for this new delay\n this.activeDelays[url.host] = {\n date: retryAfter,\n timeout: setTimeout(() => delete this.activeDelays[url.host], Date.now() - retryAfter.getTime()),\n };\n }\n else {\n this.logDebug(action.context, 'Invalid Retry-After header value from server', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n retryAfterHeader,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n }\n }\n this.logDebug(action.context, 'Server temporarily unavailable', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n continue;\n }\n if (response.status >= 400 && response.status < 500) {\n // When the server reports a missing document, insufficient permissions, bad request or other error\n // in the 400 range except for the rate limit, it makes sense to skip further retries.\n // Sending the same, potentially invalid request for missing or inaccessible resources is unlikely to succeed.\n this.logDebug(action.context, 'Server reported client-side error', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n break;\n }\n if (response.status >= 500 && response.status < 600) {\n // When a server-side error is encountered, it will likely not be fixable client-side,\n // and sending the same request again will most likely result in the same server-side failure.\n // Therefore, it makes sense not to retry on such errors at all.\n this.logDebug(action.context, 'Server-side error encountered, terminating', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n break;\n }\n // Error codes not specifically handled should be logged as-is for user to notice\n this.logDebug(action.context, 'Request failed', () => ({\n url: url.href,\n status: response.status,\n statusText: response.statusText,\n currentAttempt: `${attempt} / ${attemptLimit}`,\n }));\n }\n throw new Error(`Request failed: ${url.href}`);\n }\n /**\n * Sleeps for the specified amount of time, using a timeout\n * @param {number} ms The amount of milliseconds to sleep\n */\n static async sleep(ms) {\n if (ms > 0) {\n await new Promise(resolve => setTimeout(resolve, ms));\n }\n }\n /**\n * Parses a Retry-After HTTP header value following the specification:\n * https://httpwg.org/specs/rfc9110.html#field.retry-after\n * @param {string} retryAfter The raw header value as string\n * @returns The parsed Date object, or undefined in case of invalid header value\n */\n static parseRetryAfterHeader(retryAfter) {\n if (ActorHttpRetry.numberRegex.test(retryAfter)) {\n return new Date(Date.now() + Number.parseInt(retryAfter, 10) * 1_000);\n }\n if (ActorHttpRetry.dateRegex.test(retryAfter)) {\n return new Date(retryAfter);\n }\n }\n /**\n * Handles HTTP cache invalidation events.\n * @param {IActionHttpInvalidate} action The invalidation action\n */\n handleHttpInvalidateEvent(action) {\n const invalidatedHost = action.url ? new URL(action.url).host : undefined;\n for (const host of Object.keys(this.activeDelays)) {\n if (!invalidatedHost || host === invalidatedHost) {\n clearTimeout(this.activeDelays[host].timeout);\n delete this.activeDelays[host];\n }\n }\n }\n}\nexports.ActorHttpRetry = ActorHttpRetry;\n// Expression that matches dates expressed in the HTTP Date header format\n// eslint-disable-next-line max-len\nActorHttpRetry.dateRegex = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$/u;\n// Expression that matches numeric values of Retry-After\nActorHttpRetry.numberRegex = /^[0-9]+$/u;\n// Context key to indicate that the actor has already wrapped the given request\nActorHttpRetry.keyWrapped = new core_1.ActionContextKey('urn:comunica:actor-http-retry#wrapped');\n//# sourceMappingURL=ActorHttpRetry.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHttpRetry\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttpWayback = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst stream_to_string_1 = require(\"@jeswr/stream-to-string\");\nconst WAYBACK_URL = 'http://wayback.archive-it.org/';\nfunction addWayback(action) {\n const request = new Request(action.input, action.init);\n return {\n input: new Request(new URL(`/${request.url}`, WAYBACK_URL), request),\n };\n}\nfunction getProxyHandler(context) {\n const handler = context.get(context_entries_1.KeysHttpProxy.httpProxyHandler);\n if (handler) {\n return (action) => handler.getProxy(addWayback(action));\n }\n return (action) => Promise.resolve(addWayback(action));\n}\n/**\n * A Comunica actor to intercept HTTP requests to recover broken links using the WayBack Machine\n */\nclass ActorHttpWayback extends bus_http_1.ActorHttp {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n let result = await this.mediatorHttp.mediate(action);\n if (result.status === 404 && action.context.get(context_entries_1.KeysHttpWayback.recoverBrokenLinks)) {\n let fallbackResult = await this.mediatorHttp.mediate({\n ...action,\n context: action.context\n .set(context_entries_1.KeysHttpWayback.recoverBrokenLinks, false)\n .set(context_entries_1.KeysHttpProxy.httpProxyHandler, { getProxy: getProxyHandler(action.context) }),\n });\n // If the wayback machine returns a 200 status then use that result\n if (fallbackResult.status === 200) {\n [result, fallbackResult] = [fallbackResult, result];\n }\n // Consume stream to avoid process\n const { body } = fallbackResult;\n if (body) {\n if ('cancel' in body && typeof body.cancel === 'function') {\n await body.cancel();\n }\n else if ('destroy' in body && typeof body.destroy === 'function') {\n body.destroy();\n }\n else {\n await (0, stream_to_string_1.stringify)(bus_http_1.ActorHttp.toNodeReadable(body));\n }\n }\n }\n return result;\n }\n}\nexports.ActorHttpWayback = ActorHttpWayback;\n//# sourceMappingURL=ActorHttpWayback.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHttpWayback\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorInitQuery = void 0;\nconst ActorInitQueryBase_1 = require(\"./ActorInitQueryBase\");\n/* istanbul ignore next */\nif (typeof process === 'undefined') {\n // Polyfills process.nextTick for readable-stream\n globalThis.process = require('process/');\n}\nclass ActorInitQuery extends ActorInitQueryBase_1.ActorInitQueryBase {\n}\nexports.ActorInitQuery = ActorInitQuery;\n//# sourceMappingURL=ActorInitQuery-browser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorInitQueryBase = void 0;\nconst bus_init_1 = require(\"@comunica/bus-init\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A browser-safe comunica Query Init Actor.\n */\nclass ActorInitQueryBase extends bus_init_1.ActorInit {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(_action) {\n throw new Error('ActorInitSparql#run is not supported in the browser.');\n }\n}\nexports.ActorInitQueryBase = ActorInitQueryBase;\n//# sourceMappingURL=ActorInitQueryBase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueryEngineBase = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * Base implementation of a Comunica query engine.\n */\nclass QueryEngineBase {\n constructor(actorInitQuery) {\n this.actorInitQuery = actorInitQuery;\n }\n async queryBindings(query, context) {\n return this.queryOfType(query, context, 'bindings');\n }\n async queryQuads(query, context) {\n return this.queryOfType(query, context, 'quads');\n }\n async queryBoolean(query, context) {\n return this.queryOfType(query, context, 'boolean');\n }\n async queryVoid(query, context) {\n return this.queryOfType(query, context, 'void');\n }\n async queryOfType(query, context, expectedType) {\n const result = await this.query(query, context);\n if (result.resultType === expectedType) {\n return await result.execute();\n }\n throw new Error(`Query result type '${expectedType}' was expected, while '${result.resultType}' was found.`);\n }\n /**\n * Evaluate the given query\n * @param query A query string or algebra.\n * @param context An optional query context.\n * @return {Promise} A promise that resolves to the query output.\n */\n async query(query, context) {\n const output = await this.queryOrExplain(query, context);\n if ('explain' in output) {\n throw new Error(`Tried to explain a query when in query-only mode`);\n }\n return output;\n }\n /**\n * Explain the given query\n * @param query A query string or algebra.\n * @param context An optional query context.\n * @param explainMode The explain mode.\n * @return {Promise} A promise that resolves to\n * the query output or explanation.\n */\n async explain(query, context, explainMode) {\n context.explain = explainMode;\n const output = await this.queryOrExplain(query, context);\n return output;\n }\n /**\n * Evaluate or explain the given query\n * @param query A query string or algebra.\n * @param context An optional query context.\n * @return {Promise} A promise that resolves to\n * the query output or explanation.\n */\n async queryOrExplain(query, context) {\n const actionContext = core_1.ActionContext.ensureActionContext(context);\n // Invalidate caches if cache argument is set to false\n if (actionContext.get(context_entries_1.KeysInitQuery.invalidateCache)) {\n await this.invalidateHttpCache();\n }\n // Invoke query process\n const { result } = await this.actorInitQuery.mediatorQueryProcess.mediate({ query, context: actionContext });\n if ('explain' in result) {\n return result;\n }\n return QueryEngineBase.internalToFinalResult(result);\n }\n /**\n * @param context An optional context.\n * @return {Promise<{[p: string]: number}>} All available SPARQL (weighted) result media types.\n */\n async getResultMediaTypes(context) {\n context = core_1.ActionContext.ensureActionContext(context);\n return (await this.actorInitQuery.mediatorQueryResultSerializeMediaTypeCombiner\n .mediate({ context, mediaTypes: true })).mediaTypes;\n }\n /**\n * @param context An optional context.\n * @return {Promise<{[p: string]: number}>} All available SPARQL result media type formats.\n */\n async getResultMediaTypeFormats(context) {\n context = core_1.ActionContext.ensureActionContext(context);\n return (await this.actorInitQuery.mediatorQueryResultSerializeMediaTypeFormatCombiner\n .mediate({ context, mediaTypeFormats: true })).mediaTypeFormats;\n }\n /**\n * Convert a query result to a string stream based on a certain media type.\n * @param {IQueryOperationResult} queryResult A query result.\n * @param {string} mediaType A media type.\n * @param {ActionContext} context An optional context.\n * @return {Promise} A text stream.\n */\n async resultToString(queryResult, mediaType, context) {\n context = core_1.ActionContext.ensureActionContext(context);\n if (!mediaType) {\n switch (queryResult.resultType) {\n case 'bindings':\n mediaType = 'application/json';\n break;\n case 'quads':\n mediaType = 'application/trig';\n break;\n default:\n mediaType = 'simple';\n break;\n }\n }\n const handle = { ...await QueryEngineBase.finalToInternalResult(queryResult), context };\n return (await this.actorInitQuery.mediatorQueryResultSerialize\n .mediate({ context, handle, handleMediaType: mediaType })).handle;\n }\n /**\n * Invalidate all internal caches related to the given page URL.\n * If no page URL is given, then all pages will be invalidated.\n * @param {string} url The page URL to invalidate.\n * @param context An optional ActionContext to pass to the actors.\n * @return {Promise} A promise resolving when the caches have been invalidated.\n */\n invalidateHttpCache(url, context) {\n context = core_1.ActionContext.ensureActionContext(context);\n return this.actorInitQuery.mediatorHttpInvalidate.mediate({ url, context });\n }\n /**\n * Convert an internal query result to a final one.\n * @param internalResult An intermediary query result.\n */\n static internalToFinalResult(internalResult) {\n switch (internalResult.type) {\n case 'bindings':\n return {\n resultType: 'bindings',\n execute: async () => internalResult.bindingsStream,\n metadata: async () => {\n const meta = await internalResult.metadata();\n meta.variables = meta.variables.map((variable) => variable.variable);\n return meta;\n },\n context: internalResult.context,\n };\n case 'quads':\n return {\n resultType: 'quads',\n execute: async () => internalResult.quadStream,\n metadata: async () => await internalResult.metadata(),\n context: internalResult.context,\n };\n case 'boolean':\n return {\n resultType: 'boolean',\n execute: async () => internalResult.execute(),\n context: internalResult.context,\n };\n case 'void':\n return {\n resultType: 'void',\n execute: async () => internalResult.execute(),\n context: internalResult.context,\n };\n }\n }\n /**\n * Convert a final query result to an internal one.\n * @param finalResult A final query result.\n */\n static async finalToInternalResult(finalResult) {\n switch (finalResult.resultType) {\n case 'bindings':\n return {\n type: 'bindings',\n bindingsStream: await finalResult.execute(),\n metadata: async () => {\n const meta = await finalResult.metadata();\n meta.variables = meta.variables.map((variable) => ({ variable, canBeUndef: false }));\n return meta;\n },\n };\n case 'quads':\n return {\n type: 'quads',\n quadStream: await finalResult.execute(),\n metadata: async () => await finalResult.metadata(),\n };\n case 'boolean':\n return {\n type: 'boolean',\n execute: () => finalResult.execute(),\n };\n case 'void':\n return {\n type: 'void',\n execute: () => finalResult.execute(),\n };\n }\n }\n}\nexports.QueryEngineBase = QueryEngineBase;\n//# sourceMappingURL=QueryEngineBase.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueryEngineBase = void 0;\n__exportStar(require(\"./ActorInitQueryBase\"), exports);\n__exportStar(require(\"./ActorInitQuery-browser\"), exports);\nvar QueryEngineBase_1 = require(\"./QueryEngineBase\");\nObject.defineProperty(exports, \"QueryEngineBase\", { enumerable: true, get: function () { return QueryEngineBase_1.QueryEngineBase; } });\n//# sourceMappingURL=index-browser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationAssignSourcesExhaustive = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst bus_rdf_update_quads_1 = require(\"@comunica/bus-rdf-update-quads\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Assign Sources Exhaustive Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationAssignSourcesExhaustive extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const sources = action.context.get(context_entries_1.KeysQueryOperation.querySources) ?? [];\n if (sources.length === 0) {\n return { operation: action.operation, context: action.context };\n }\n if (sources.length === 1) {\n const sourceWrapper = sources[0];\n const destination = action.context.get(context_entries_1.KeysRdfUpdateQuads.destination);\n if (!destination || sourceWrapper.source.referenceValue === (0, bus_rdf_update_quads_1.getDataDestinationValue)(destination)) {\n try {\n const shape = await sourceWrapper.source.getSelectorShape(action.context);\n if ((0, utils_query_operation_1.doesShapeAcceptOperation)(shape, action.operation)) {\n return {\n operation: (0, utils_query_operation_1.assignOperationSource)(action.operation, sourceWrapper),\n context: action.context,\n };\n }\n }\n catch {\n // Fallback to the default case when the selector shape does not exist,\n // which can occur for a non-existent destination.\n }\n }\n }\n return {\n operation: this.assignExhaustive(algebraFactory, action.operation, sources),\n // We only keep queryString in the context if we only have a single source that accepts the full operation.\n // In that case, the queryString can be sent to the source as-is.\n context: action.context\n .delete(context_entries_1.KeysInitQuery.queryString),\n };\n }\n /**\n * Assign the given sources to the leaves in the given query operation.\n * Leaves will be wrapped in a union operation and duplicated for every source.\n * The input operation will not be modified.\n * @param algebraFactory The algebra factory.\n * @param operation The input operation.\n * @param sources The sources to assign.\n */\n assignExhaustive(algebraFactory, operation, sources) {\n // eslint-disable-next-line ts/no-this-alias\n const self = this;\n return sparqlalgebrajs_1.Util.mapOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.PATTERN](subOperation, factory) {\n if (sources.length === 1) {\n return {\n result: (0, utils_query_operation_1.assignOperationSource)(subOperation, sources[0]),\n recurse: false,\n };\n }\n return {\n result: factory.createUnion(sources\n .map(source => (0, utils_query_operation_1.assignOperationSource)(subOperation, source))),\n recurse: false,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.LINK](subOperation, factory) {\n if (sources.length === 1) {\n return {\n result: (0, utils_query_operation_1.assignOperationSource)(subOperation, sources[0]),\n recurse: false,\n };\n }\n return {\n result: factory.createAlt(sources\n .map(source => (0, utils_query_operation_1.assignOperationSource)(subOperation, source))),\n recurse: false,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.NPS](subOperation, factory) {\n if (sources.length === 1) {\n return {\n result: (0, utils_query_operation_1.assignOperationSource)(subOperation, sources[0]),\n recurse: false,\n };\n }\n return {\n result: factory.createAlt(sources\n .map(source => (0, utils_query_operation_1.assignOperationSource)(subOperation, source))),\n recurse: false,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.SERVICE](subOperation) {\n return {\n result: subOperation,\n recurse: false,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.CONSTRUCT](subOperation, factory) {\n return {\n result: factory.createConstruct(self.assignExhaustive(algebraFactory, subOperation.input, sources), subOperation.template),\n recurse: false,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.DELETE_INSERT](subOperation, factory) {\n return {\n result: factory.createDeleteInsert(subOperation.delete, subOperation.insert, subOperation.where ? self.assignExhaustive(algebraFactory, subOperation.where, sources) : undefined),\n recurse: false,\n };\n },\n }, algebraFactory);\n }\n}\nexports.ActorOptimizeQueryOperationAssignSourcesExhaustive = ActorOptimizeQueryOperationAssignSourcesExhaustive;\n//# sourceMappingURL=ActorOptimizeQueryOperationAssignSourcesExhaustive.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationAssignSourcesExhaustive\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationBgpToJoin = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica BGP to Join Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationBgpToJoin extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n bgp(op, factory) {\n return {\n recurse: false,\n result: factory.createJoin(op.patterns),\n };\n },\n }, algebraFactory);\n return { operation, context: action.context };\n }\n}\nexports.ActorOptimizeQueryOperationBgpToJoin = ActorOptimizeQueryOperationBgpToJoin;\n//# sourceMappingURL=ActorOptimizeQueryOperationBgpToJoin.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationBgpToJoin\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationConstructDistinct = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst Keys_1 = require(\"@comunica/context-entries/lib/Keys\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Construct Distinct Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationConstructDistinct extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (!action.context.has(Keys_1.KeysInitQuery.distinctConstruct)) {\n return (0, core_1.failTest)(`${this.name} was not enabled by the query.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n construct(op, factory) {\n return {\n recurse: false,\n result: factory.createDistinct(factory.createConstruct(op.input, op.template)),\n };\n },\n });\n return { operation, context: action.context.delete(Keys_1.KeysInitQuery.distinctConstruct) };\n }\n}\nexports.ActorOptimizeQueryOperationConstructDistinct = ActorOptimizeQueryOperationConstructDistinct;\n//# sourceMappingURL=ActorOptimizeQueryOperationConstructDistinct.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationConstructDistinct\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationDescribeToConstructsSubject = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Describe To Constructs Subject Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationDescribeToConstructsSubject extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.operation.type !== sparqlalgebrajs_1.Algebra.types.DESCRIBE) {\n return (0, core_1.failTest)(`Actor ${this.name} only supports describe operations, but got ${action.operation.type}`);\n }\n return (0, core_1.passTest)(true);\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operationOriginal = action.operation;\n // Create separate construct queries for all non-variable terms\n const operations = operationOriginal.terms\n .filter(term => term.termType !== 'Variable')\n .map((term) => {\n // Transform each term to a separate construct operation with S ?p ?o patterns (BGP) for all terms\n const patterns = [\n dataFactory.quad(term, dataFactory.variable('__predicate'), dataFactory.variable('__object')),\n ];\n // eslint-disable-next-line unicorn/no-array-for-each\n patterns.forEach((templatePattern) => templatePattern.type = 'pattern');\n const templateOperation = {\n type: sparqlalgebrajs_1.Algebra.types.BGP,\n patterns: patterns,\n };\n // Create a construct query\n return {\n input: templateOperation,\n template: patterns,\n type: 'construct',\n };\n });\n // If we have variables in the term list,\n // create one separate construct operation to determine these variables using the input pattern.\n if (operations.length !== operationOriginal.terms.length) {\n let variablePatterns = [];\n operationOriginal.terms\n .filter(term => term.termType === 'Variable')\n // eslint-disable-next-line unicorn/no-array-for-each\n .forEach((term, i) => {\n // Transform each term to an S ?p ?o pattern in a non-conflicting way\n const patterns = [\n dataFactory.quad(term, dataFactory.variable(`__predicate${i}`), dataFactory.variable(`__object${i}`)),\n ];\n // eslint-disable-next-line unicorn/no-array-for-each\n patterns.forEach((templatePattern) => templatePattern.type = 'pattern');\n variablePatterns = [...variablePatterns, ...patterns];\n });\n // Add a single construct for the variables\n // This requires a join between the input pattern and our variable patterns that form a simple BGP\n operations.push({\n input: {\n type: sparqlalgebrajs_1.Algebra.types.JOIN,\n input: [\n operationOriginal.input,\n { type: sparqlalgebrajs_1.Algebra.types.BGP, patterns: variablePatterns },\n ],\n },\n template: variablePatterns,\n type: sparqlalgebrajs_1.Algebra.types.CONSTRUCT,\n });\n }\n // Union the construct operations\n const operation = algebraFactory.createUnion(operations, false);\n return { operation, context: action.context };\n }\n}\nexports.ActorOptimizeQueryOperationDescribeToConstructsSubject = ActorOptimizeQueryOperationDescribeToConstructsSubject;\n//# sourceMappingURL=ActorOptimizeQueryOperationDescribeToConstructsSubject.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationDescribeToConstructsSubject\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationFilterPushdown = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Filter Pushdown Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationFilterPushdown extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n let operation = action.operation;\n // eslint-disable-next-line ts/no-this-alias\n const self = this;\n // Split conjunctive filters into nested filters\n if (this.splitConjunctive) {\n operation = sparqlalgebrajs_1.Util.mapOperation(operation, {\n filter(op, factory) {\n // Split conjunctive filters into separate filters\n if (op.expression.expressionType === sparqlalgebrajs_1.Algebra.expressionTypes.OPERATOR && op.expression.operator === '&&') {\n self.logDebug(action.context, `Split conjunctive filter into ${op.expression.args.length} nested filters`);\n return {\n recurse: true,\n result: op.expression.args\n .reduce((operation, expression) => factory.createFilter(operation, expression), op.input),\n };\n }\n return {\n recurse: true,\n result: op,\n };\n },\n }, algebraFactory);\n }\n // Collect selector shapes of all operations\n const sources = this.getSources(operation);\n // eslint-disable-next-line ts/no-unnecessary-type-assertion\n const sourceShapes = new Map(await Promise.all(sources\n .map(async (source) => [source, await source.source.getSelectorShape(action.context)])));\n // Push down all filters\n // We loop until no more filters can be pushed down.\n let repeat = true;\n let iterations = 0;\n while (repeat && iterations < this.maxIterations) {\n repeat = false;\n operation = sparqlalgebrajs_1.Util.mapOperation(operation, {\n filter(op, factory) {\n // Check if the filter must be pushed down\n if (!self.shouldAttemptPushDown(op, sources, sourceShapes)) {\n return {\n recurse: true,\n result: op,\n };\n }\n // For all filter expressions in the operation,\n // we attempt to push them down as deep as possible into the algebra.\n const variables = self.getExpressionVariables(op.expression);\n const [isModified, result] = self\n .filterPushdown(op.expression, variables, op.input, factory, action.context);\n if (isModified) {\n repeat = true;\n }\n return {\n recurse: true,\n result,\n };\n },\n });\n iterations++;\n }\n if (iterations > 1) {\n self.logDebug(action.context, `Pushed down filters in ${iterations} iterations`);\n }\n // Merge nested filters into conjunctive filters\n if (this.mergeConjunctive) {\n operation = sparqlalgebrajs_1.Util.mapOperation(operation, {\n filter(op, factory) {\n if (op.input.type === sparqlalgebrajs_1.Algebra.types.FILTER) {\n const { nestedExpressions, input } = self.getNestedFilterExpressions(op);\n self.logDebug(action.context, `Merge ${nestedExpressions.length} nested filters into conjunctive filter`);\n return {\n recurse: true,\n result: factory.createFilter(input, nestedExpressions.slice(1).reduce((previous, current) => factory.createOperatorExpression('&&', [previous, current]), nestedExpressions[0])),\n };\n }\n return {\n recurse: true,\n result: op,\n };\n },\n });\n }\n return { operation, context: action.context };\n }\n /**\n * Check if the given filter operation must be attempted to push down, based on the following criteria:\n * - Always push down if aggressive mode is enabled\n * - Push down if the filter is extremely selective\n * - Push down if federated and at least one accepts the filter\n * @param operation The filter operation\n * @param sources The query sources in the operation\n * @param sourceShapes A mapping of sources to selector shapes.\n */\n shouldAttemptPushDown(operation, sources, sourceShapes) {\n // Always push down if aggressive mode is enabled\n if (this.aggressivePushdown) {\n return true;\n }\n // Push down if the filter is extremely selective\n const expression = operation.expression;\n if (expression.expressionType === sparqlalgebrajs_1.Algebra.expressionTypes.OPERATOR &&\n expression.operator === '=' &&\n ((expression.args[0].expressionType === 'term' && expression.args[0].term.termType !== 'Variable' &&\n expression.args[1].expressionType === 'term' && expression.args[1].term.termType === 'Variable') ||\n (expression.args[0].expressionType === 'term' && expression.args[0].term.termType === 'Variable' &&\n expression.args[1].expressionType === 'term' && expression.args[1].term.termType !== 'Variable'))) {\n return true;\n }\n // Push down if federated and at least one accepts the filter\n if (sources.some(source => (0, utils_query_operation_1.doesShapeAcceptOperation)(sourceShapes.get(source), operation))) {\n return true;\n }\n // Don't push down in all other cases\n return false;\n }\n /**\n * Collected all sources that are defined within the given operation of children recursively.\n * @param operation An operation.\n */\n getSources(operation) {\n const sources = new Set();\n const sourceAdder = (subOperation) => {\n const src = (0, utils_query_operation_1.getOperationSource)(subOperation);\n if (src) {\n sources.add(src);\n }\n return false;\n };\n sparqlalgebrajs_1.Util.recurseOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.PATTERN]: sourceAdder,\n [sparqlalgebrajs_1.Algebra.types.LINK]: sourceAdder,\n [sparqlalgebrajs_1.Algebra.types.NPS]: sourceAdder,\n [sparqlalgebrajs_1.Algebra.types.SERVICE]: sourceAdder,\n });\n return [...sources];\n }\n /**\n * Get all variables inside the given expression.\n * @param expression An expression.\n * @return An array of variables, or undefined if the expression is unsupported for pushdown.\n */\n getExpressionVariables(expression) {\n switch (expression.expressionType) {\n case sparqlalgebrajs_1.Algebra.expressionTypes.AGGREGATE:\n case sparqlalgebrajs_1.Algebra.expressionTypes.WILDCARD:\n throw new Error(`Getting expression variables is not supported for ${expression.expressionType}`);\n case sparqlalgebrajs_1.Algebra.expressionTypes.EXISTENCE:\n return sparqlalgebrajs_1.Util.inScopeVariables(expression.input);\n case sparqlalgebrajs_1.Algebra.expressionTypes.NAMED:\n return [];\n case sparqlalgebrajs_1.Algebra.expressionTypes.OPERATOR:\n return (0, rdf_terms_1.uniqTerms)(expression.args.flatMap(arg => this.getExpressionVariables(arg)));\n case sparqlalgebrajs_1.Algebra.expressionTypes.TERM:\n if (expression.term.termType === 'Variable') {\n return [expression.term];\n }\n return [];\n }\n }\n getOverlappingOperations(operation, expressionVariables) {\n const fullyOverlapping = [];\n const partiallyOverlapping = [];\n const notOverlapping = [];\n for (const input of operation.input) {\n const inputVariables = sparqlalgebrajs_1.Util.inScopeVariables(input);\n if (this.variablesSubSetOf(expressionVariables, inputVariables)) {\n fullyOverlapping.push(input);\n }\n else if (this.variablesIntersect(expressionVariables, inputVariables)) {\n partiallyOverlapping.push(input);\n }\n else {\n notOverlapping.push(input);\n }\n }\n return {\n fullyOverlapping,\n partiallyOverlapping,\n notOverlapping,\n };\n }\n /**\n * Recursively push down the given expression into the given operation if possible.\n * Different operators have different semantics for choosing whether or not to push down,\n * and how this pushdown is done.\n * For every passed operator, it is checked whether or not the filter will have any effect on the operation.\n * If not, the filter is voided.\n * @param expression An expression to push down.\n * @param expressionVariables The variables inside the given expression.\n * @param operation The operation to push down into.\n * @param factory An algebra factory.\n * @param context The action context.\n * @return A tuple indicating if the operation was modified and the modified operation.\n */\n filterPushdown(expression, expressionVariables, operation, factory, context) {\n // Void false expressions\n if (this.isExpressionFalse(expression)) {\n return [true, factory.createUnion([])];\n }\n // Don't push down (NOT) EXISTS\n if (expression.type === sparqlalgebrajs_1.Algebra.types.EXPRESSION &&\n expression.expressionType === sparqlalgebrajs_1.Algebra.expressionTypes.EXISTENCE) {\n return [false, factory.createFilter(operation, expression)];\n }\n switch (operation.type) {\n case sparqlalgebrajs_1.Algebra.types.EXTEND:\n // Pass if the variable is not part of the expression\n if (!this.variablesIntersect([operation.variable], expressionVariables)) {\n return [true, factory.createExtend(this.filterPushdown(expression, expressionVariables, operation.input, factory, context)[1], operation.variable, operation.expression)];\n }\n return [false, factory.createFilter(operation, expression)];\n case sparqlalgebrajs_1.Algebra.types.FILTER: {\n // Always pass\n const [isModified, result] = this\n .filterPushdown(expression, expressionVariables, operation.input, factory, context);\n return [isModified, factory.createFilter(result, operation.expression)];\n }\n case sparqlalgebrajs_1.Algebra.types.JOIN: {\n // Don't push down for empty join\n if (operation.input.length === 0) {\n return [false, factory.createFilter(operation, expression)];\n }\n // Determine overlapping operations\n const { fullyOverlapping, partiallyOverlapping, notOverlapping, } = this.getOverlappingOperations(operation, expressionVariables);\n const joins = [];\n let isModified = false;\n if (fullyOverlapping.length > 0) {\n isModified = true;\n joins.push(factory.createJoin(fullyOverlapping\n .map(input => this.filterPushdown(expression, expressionVariables, input, factory, context)[1])));\n }\n if (partiallyOverlapping.length > 0) {\n joins.push(factory.createFilter(factory.createJoin(partiallyOverlapping, false), expression));\n }\n if (notOverlapping.length > 0) {\n joins.push(...notOverlapping);\n }\n if (joins.length > 1) {\n isModified = true;\n }\n if (isModified) {\n this.logDebug(context, `Push down filter across join entries with ${fullyOverlapping.length} fully overlapping, ${partiallyOverlapping.length} partially overlapping, and ${notOverlapping.length} not overlapping`);\n }\n return [isModified, joins.length === 1 ? joins[0] : factory.createJoin(joins)];\n }\n case sparqlalgebrajs_1.Algebra.types.NOP:\n return [true, operation];\n case sparqlalgebrajs_1.Algebra.types.PROJECT:\n // Push down if variables overlap\n if (this.variablesIntersect(operation.variables, expressionVariables)) {\n return [true, factory.createProject(this.filterPushdown(expression, expressionVariables, operation.input, factory, context)[1], operation.variables)];\n }\n // Void expression otherwise\n return [true, operation];\n case sparqlalgebrajs_1.Algebra.types.UNION: {\n // Determine overlapping operations\n const { fullyOverlapping, partiallyOverlapping, notOverlapping, } = this.getOverlappingOperations(operation, expressionVariables);\n const unions = [];\n let isModified = false;\n if (fullyOverlapping.length > 0) {\n isModified = true;\n unions.push(factory.createUnion(fullyOverlapping\n .map(input => this.filterPushdown(expression, expressionVariables, input, factory, context)[1])));\n }\n if (partiallyOverlapping.length > 0) {\n unions.push(factory.createFilter(factory.createUnion(partiallyOverlapping, false), expression));\n }\n if (notOverlapping.length > 0) {\n unions.push(...notOverlapping);\n }\n if (unions.length > 1) {\n isModified = true;\n }\n if (isModified) {\n this.logDebug(context, `Push down filter across union entries with ${fullyOverlapping.length} fully overlapping, ${partiallyOverlapping.length} partially overlapping, and ${notOverlapping.length} not overlapping`);\n }\n return [isModified, unions.length === 1 ? unions[0] : factory.createUnion(unions)];\n }\n case sparqlalgebrajs_1.Algebra.types.VALUES:\n // Only keep filter if it overlaps with the variables\n if (this.variablesIntersect(operation.variables, expressionVariables)) {\n return [false, factory.createFilter(operation, expression)];\n }\n return [true, operation];\n case sparqlalgebrajs_1.Algebra.types.LEFT_JOIN: {\n if (this.pushIntoLeftJoins) {\n const rightVariables = sparqlalgebrajs_1.Util.inScopeVariables(operation.input[1]);\n if (!this.variablesIntersect(expressionVariables, rightVariables)) {\n // If filter *only* applies to left entry of optional, push it down into that.\n this.logDebug(context, `Push down filter into left join`);\n return [true, factory.createLeftJoin(this.filterPushdown(expression, expressionVariables, operation.input[0], factory, context)[1], operation.input[1], operation.expression)];\n }\n }\n // Don't push down in all other cases\n return [false, factory.createFilter(operation, expression)];\n }\n case sparqlalgebrajs_1.Algebra.types.PATTERN: {\n if (this.pushEqualityIntoPatterns) {\n // Try to push simple FILTER(?s = ) expressions into the pattern\n const pushableResult = this.getEqualityExpressionPushableIntoPattern(expression);\n if (pushableResult) {\n let isModified = false;\n const originalMetadata = operation.metadata;\n operation = (0, rdf_terms_1.mapTermsNested)(operation, (value) => {\n if (value.equals(pushableResult.variable)) {\n isModified = true;\n return pushableResult.term;\n }\n return value;\n });\n operation.type = sparqlalgebrajs_1.Algebra.types.PATTERN;\n operation.metadata = originalMetadata;\n if (isModified) {\n this.logDebug(context, `Push down filter into pattern for ?${pushableResult.variable.value}`);\n return [true, factory.createJoin([\n operation,\n factory.createValues([pushableResult.variable], [{ [`?${pushableResult.variable.value}`]: pushableResult.term }]),\n ])];\n }\n }\n }\n // Don't push down in all other cases\n return [false, factory.createFilter(operation, expression)];\n }\n case sparqlalgebrajs_1.Algebra.types.PATH: {\n if (this.pushEqualityIntoPatterns) {\n // Try to push simple FILTER(?s = ) expressions into the path\n const pushableResult = this.getEqualityExpressionPushableIntoPattern(expression);\n if (pushableResult &&\n (operation.subject.equals(pushableResult.variable) || operation.object.equals(pushableResult.variable))) {\n this.logDebug(context, `Push down filter into path for ?${pushableResult.variable.value}`);\n const originalMetadata = operation.metadata;\n operation = factory.createPath(operation.subject.equals(pushableResult.variable) ? pushableResult.term : operation.subject, operation.predicate, operation.object.equals(pushableResult.variable) ? pushableResult.term : operation.object);\n operation.metadata = originalMetadata;\n return [true, factory.createJoin([\n operation,\n factory.createValues([pushableResult.variable], [{ [`?${pushableResult.variable.value}`]: pushableResult.term }]),\n ])];\n }\n }\n // Don't push down in all other cases\n return [false, factory.createFilter(operation, expression)];\n }\n case sparqlalgebrajs_1.Algebra.types.MINUS:\n case sparqlalgebrajs_1.Algebra.types.ALT:\n case sparqlalgebrajs_1.Algebra.types.ASK:\n case sparqlalgebrajs_1.Algebra.types.BGP:\n case sparqlalgebrajs_1.Algebra.types.CONSTRUCT:\n case sparqlalgebrajs_1.Algebra.types.DESCRIBE:\n case sparqlalgebrajs_1.Algebra.types.DISTINCT:\n case sparqlalgebrajs_1.Algebra.types.EXPRESSION:\n case sparqlalgebrajs_1.Algebra.types.FROM:\n case sparqlalgebrajs_1.Algebra.types.GRAPH:\n case sparqlalgebrajs_1.Algebra.types.GROUP:\n case sparqlalgebrajs_1.Algebra.types.INV:\n case sparqlalgebrajs_1.Algebra.types.LINK:\n case sparqlalgebrajs_1.Algebra.types.NPS:\n case sparqlalgebrajs_1.Algebra.types.ONE_OR_MORE_PATH:\n case sparqlalgebrajs_1.Algebra.types.ORDER_BY:\n case sparqlalgebrajs_1.Algebra.types.REDUCED:\n case sparqlalgebrajs_1.Algebra.types.SEQ:\n case sparqlalgebrajs_1.Algebra.types.SERVICE:\n case sparqlalgebrajs_1.Algebra.types.SLICE:\n case sparqlalgebrajs_1.Algebra.types.ZERO_OR_MORE_PATH:\n case sparqlalgebrajs_1.Algebra.types.ZERO_OR_ONE_PATH:\n case sparqlalgebrajs_1.Algebra.types.COMPOSITE_UPDATE:\n case sparqlalgebrajs_1.Algebra.types.DELETE_INSERT:\n case sparqlalgebrajs_1.Algebra.types.LOAD:\n case sparqlalgebrajs_1.Algebra.types.CLEAR:\n case sparqlalgebrajs_1.Algebra.types.CREATE:\n case sparqlalgebrajs_1.Algebra.types.DROP:\n case sparqlalgebrajs_1.Algebra.types.ADD:\n case sparqlalgebrajs_1.Algebra.types.MOVE:\n case sparqlalgebrajs_1.Algebra.types.COPY:\n // Operations that do not support pushing down\n // Left-join and minus might be possible to support in the future.\n return [false, factory.createFilter(operation, expression)];\n }\n }\n /**\n * Check if the given expression is a simple equals operation with one variable and one non-literal\n * (or literal with canonical lexical form) term that can be pushed into a pattern.\n * @param expression The current expression.\n * @return The variable and term to fill into the pattern, or undefined.\n */\n getEqualityExpressionPushableIntoPattern(expression) {\n if (expression.expressionType === sparqlalgebrajs_1.Algebra.expressionTypes.OPERATOR && expression.operator === '=') {\n if (expression.args[0].expressionType === 'term' && expression.args[0].term.termType !== 'Variable' &&\n (expression.args[0].term.termType !== 'Literal' ||\n this.isLiteralWithCanonicalLexicalForm(expression.args[0].term)) &&\n expression.args[1].expressionType === 'term' && expression.args[1].term.termType === 'Variable') {\n return {\n variable: expression.args[1].term,\n term: expression.args[0].term,\n };\n }\n if (expression.args[0].expressionType === 'term' && expression.args[0].term.termType === 'Variable' &&\n expression.args[1].expressionType === 'term' && expression.args[1].term.termType !== 'Variable' &&\n (expression.args[1].term.termType !== 'Literal' ||\n this.isLiteralWithCanonicalLexicalForm(expression.args[1].term))) {\n return {\n variable: expression.args[0].term,\n term: expression.args[1].term,\n };\n }\n }\n }\n /**\n * Check if the given term is a literal with datatype that where all values\n * can only have one possible lexical representation.\n * In other words, no variants of values exist that should be considered equal.\n * For example: \"01\"^xsd:number and \"1\"^xsd:number will return false.\n * @param term An RDF term.\n * @protected\n */\n isLiteralWithCanonicalLexicalForm(term) {\n if (term.termType === 'Literal') {\n switch (term.datatype.value) {\n case 'http://www.w3.org/2001/XMLSchema#string':\n case 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString':\n case 'http://www.w3.org/2001/XMLSchema#normalizedString':\n case 'http://www.w3.org/2001/XMLSchema#anyURI':\n case 'http://www.w3.org/2001/XMLSchema#base64Binary':\n case 'http://www.w3.org/2001/XMLSchema#language':\n case 'http://www.w3.org/2001/XMLSchema#Name':\n case 'http://www.w3.org/2001/XMLSchema#NCName':\n case 'http://www.w3.org/2001/XMLSchema#NMTOKEN':\n case 'http://www.w3.org/2001/XMLSchema#token':\n case 'http://www.w3.org/2001/XMLSchema#hexBinary':\n return true;\n }\n }\n return false;\n }\n /**\n * Check if there is an overlap between the two given lists of variables.\n * @param varsA A list of variables.\n * @param varsB A list of variables.\n */\n variablesIntersect(varsA, varsB) {\n return varsA.some(varA => varsB.some(varB => varA.equals(varB)));\n }\n /**\n * Check if all variables from the first list are included in the second list.\n * The second list may contain other variables as well.\n * @param varsNeedles A list of variables to search for.\n * @param varsHaystack A list of variables to search in.\n */\n variablesSubSetOf(varsNeedles, varsHaystack) {\n return varsNeedles.length <= varsHaystack.length &&\n varsNeedles.every(varA => varsHaystack.some(varB => varA.equals(varB)));\n }\n /**\n * Check if an expression is simply 'false'.\n * @param expression An expression.\n */\n isExpressionFalse(expression) {\n return (expression.term && expression.term.termType === 'Literal' && expression.term.value === 'false');\n }\n /**\n * Get all directly nested filter expressions.\n * As soon as a non-filter is found, it is returned as the input field.\n * @param op A filter expression.\n */\n getNestedFilterExpressions(op) {\n if (op.input.type === sparqlalgebrajs_1.Algebra.types.FILTER) {\n const childData = this.getNestedFilterExpressions(op.input);\n return { nestedExpressions: [op.expression, ...childData.nestedExpressions], input: childData.input };\n }\n return { nestedExpressions: [op.expression], input: op.input };\n }\n}\nexports.ActorOptimizeQueryOperationFilterPushdown = ActorOptimizeQueryOperationFilterPushdown;\n//# sourceMappingURL=ActorOptimizeQueryOperationFilterPushdown.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationFilterPushdown\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationGroupSources = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Group Sources Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationGroupSources extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if ((0, utils_query_operation_1.getOperationSource)(action.operation)) {\n return (0, core_1.failTest)(`Actor ${this.name} does not work with top-level operation sources.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return { operation: await this.groupOperation(action.operation, action.context), context: action.context };\n }\n /**\n * Group operations belonging to the same source together, only if that source accepts the grouped operations.\n * This grouping will be done recursively for the whole operation tree.\n * Operations annotated with sources are considered leaves in the tree.\n * @param operation An operation to group.\n * @param context The action context.\n */\n async groupOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n // Return operation as-is if the operation already has a single source, or if the operation has no children.\n if ((0, utils_query_operation_1.getOperationSource)(operation) ?? !('input' in operation)) {\n return operation;\n }\n // If operation has a single input, move source annotation upwards if the source can handle it.\n if (!Array.isArray(operation.input)) {\n const groupedInput = await this.groupOperation(operation.input, context);\n if (groupedInput.metadata?.scopedSource) {\n const source = (0, utils_query_operation_1.getOperationSource)(groupedInput);\n if ((0, utils_query_operation_1.doesShapeAcceptOperation)(await source.source.getSelectorShape(context), operation)) {\n this.logDebug(context, `Hoist 1 source-specific operation into a single ${operation.type} operation for ${source.source.toString()}`);\n (0, utils_query_operation_1.removeOperationSource)(groupedInput);\n operation = (0, utils_query_operation_1.assignOperationSource)(operation, source);\n }\n }\n return { ...operation, input: groupedInput };\n }\n // If operation has multiple inputs, cluster source annotations.\n const inputs = await Promise.all(operation.input\n .map(subInput => this.groupOperation(subInput, context)));\n const clusters = this.clusterOperationsWithEqualSources(inputs);\n // If we just have a single cluster, move the source annotation upwards\n if (clusters.length === 1) {\n const newInputs = clusters[0];\n const source = (0, utils_query_operation_1.getOperationSource)(clusters[0][0]);\n return {\n ...await this.moveSourceAnnotationUpwardsIfPossible(operation, newInputs, source, context),\n input: newInputs,\n };\n }\n // If the number of clusters is equal to the number of original inputs, do nothing.\n if (clusters.length === inputs.length) {\n return { ...operation, input: inputs };\n }\n // If we have multiple clusters, created nested multi-operations\n let multiFactoryMethod;\n switch (operation.type) {\n case sparqlalgebrajs_1.Algebra.types.JOIN:\n multiFactoryMethod = algebraFactory.createJoin.bind(algebraFactory);\n break;\n case sparqlalgebrajs_1.Algebra.types.UNION:\n multiFactoryMethod = algebraFactory.createUnion.bind(algebraFactory);\n break;\n case sparqlalgebrajs_1.Algebra.types.ALT:\n multiFactoryMethod = algebraFactory.createAlt.bind(algebraFactory);\n break;\n case sparqlalgebrajs_1.Algebra.types.SEQ:\n multiFactoryMethod = algebraFactory.createSeq.bind(algebraFactory);\n break;\n default:\n // While LeftJoin and Minus are also multi-operations,\n // these can never occur because they only have 2 inputs,\n // so these cases will always be captured by one of the 2 if-cases above\n // (clusters.length === 1 or clusters.length === input.length)\n // In all other cases, error\n throw new Error(`Unsupported operation '${operation.type}' detected while grouping sources`);\n }\n return await this.groupOperationMulti(clusters, multiFactoryMethod, context);\n }\n async groupOperationMulti(clusters, factoryMethod, context) {\n let flatten = true;\n const nestedMerges = await Promise.all(clusters.map(async (cluster) => {\n const source = (0, utils_query_operation_1.getOperationSource)(cluster[0]);\n const merged = await this\n .moveSourceAnnotationUpwardsIfPossible(factoryMethod(cluster, true), cluster, source, context);\n if ((0, utils_query_operation_1.getOperationSource)(merged)) {\n flatten = false;\n }\n return merged;\n }));\n return factoryMethod(nestedMerges, flatten);\n }\n /**\n * Cluster the given operations by equal source annotations.\n * @param operationsIn An array of operations to cluster.\n */\n clusterOperationsWithEqualSources(operationsIn) {\n // Operations can have a source, or no source at all\n const sourceOperations = new Map();\n const sourcelessOperations = [];\n // Cluster by source\n for (const operation of operationsIn) {\n const source = (0, utils_query_operation_1.getOperationSource)(operation);\n if (source) {\n if (!sourceOperations.has(source)) {\n sourceOperations.set(source, []);\n }\n sourceOperations.get(source).push(operation);\n }\n else {\n sourcelessOperations.push(operation);\n }\n }\n // Return clusters\n const clusters = [];\n if (sourcelessOperations.length > 0) {\n clusters.push(sourcelessOperations);\n }\n for (const [source, operations] of sourceOperations.entries()) {\n clusters.push(operations\n .map(operation => (0, utils_query_operation_1.assignOperationSource)(operation, source)));\n }\n return clusters;\n }\n /**\n * If the given source accepts the grouped operation, annotate the grouped operation with the source,\n * and remove the source annotation from the seperate input operations.\n * Otherwise, return the grouped operation unchanged.\n * @param operation A grouped operation consisting of all given input operations.\n * @param inputs An array of operations that share the same source annotation.\n * @param source The common source.\n * @param context The action context.\n */\n async moveSourceAnnotationUpwardsIfPossible(operation, inputs, source, context) {\n if (source && (0, utils_query_operation_1.doesShapeAcceptOperation)(await source.source.getSelectorShape(context), operation)) {\n this.logDebug(context, `Hoist ${inputs.length} source-specific operations into a single ${operation.type} operation for ${source.source.toString()}`);\n operation = (0, utils_query_operation_1.assignOperationSource)(operation, source);\n for (const input of inputs) {\n (0, utils_query_operation_1.removeOperationSource)(input);\n }\n }\n return operation;\n }\n}\nexports.ActorOptimizeQueryOperationGroupSources = ActorOptimizeQueryOperationGroupSources;\n//# sourceMappingURL=ActorOptimizeQueryOperationGroupSources.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationGroupSources\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationJoinBgp = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Join BGP Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationJoinBgp extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n join(op, factory) {\n if (op.input.every(subInput => subInput.type === 'bgp')) {\n return {\n recurse: false,\n result: factory.createBgp(op.input.flatMap(subInput => subInput.patterns)),\n };\n }\n return {\n recurse: false,\n result: op,\n };\n },\n }, algebraFactory);\n return { operation, context: action.context };\n }\n}\nexports.ActorOptimizeQueryOperationJoinBgp = ActorOptimizeQueryOperationJoinBgp;\n//# sourceMappingURL=ActorOptimizeQueryOperationJoinBgp.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationJoinBgp\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationJoinConnected = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Join Connected Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationJoinConnected extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n join(op, factory) {\n return {\n recurse: false,\n result: ActorOptimizeQueryOperationJoinConnected.cluster(op, factory),\n };\n },\n }, algebraFactory);\n return { operation, context: action.context };\n }\n /**\n * Iteratively cluster join entries based on their overlapping variables.\n * @param op A join operation.\n * @param factory An algebra factory.\n */\n static cluster(op, factory) {\n // Initialize each entry to be in a separate cluster\n const initialClusters = op.input.map(subOp => ({\n inScopeVariables: Object.fromEntries(sparqlalgebrajs_1.Util.inScopeVariables(subOp).map(variable => [variable.value, true])),\n entries: [subOp],\n }));\n // Iteratively merge clusters until they don't change anymore\n let oldClusters;\n let newClusters = initialClusters;\n do {\n oldClusters = newClusters;\n newClusters = ActorOptimizeQueryOperationJoinConnected.clusterIteration(oldClusters);\n } while (oldClusters.length !== newClusters.length);\n // Create new join operation of latest clusters\n const subJoins = newClusters\n .map(cluster => cluster.entries.length === 1 ? cluster.entries[0] : factory.createJoin(cluster.entries));\n return subJoins.length === 1 ? subJoins[0] : factory.createJoin(subJoins, false);\n }\n /**\n * Perform a single clustering iteration.\n * Clusters will be joined if they have overlapping variables.\n * @param oldCluster\n */\n static clusterIteration(oldCluster) {\n const newClusters = [];\n for (const entry of oldCluster) {\n // Try to add entry to a join cluster\n let joined = false;\n for (const newEntry of newClusters) {\n if (ActorOptimizeQueryOperationJoinConnected\n .haveOverlappingVariables(entry.inScopeVariables, newEntry.inScopeVariables)) {\n newEntry.entries = [...newEntry.entries, ...entry.entries];\n newEntry.inScopeVariables = { ...newEntry.inScopeVariables, ...entry.inScopeVariables };\n joined = true;\n break;\n }\n }\n // If none was found, create new cluster\n if (!joined) {\n newClusters.push({\n inScopeVariables: entry.inScopeVariables,\n entries: entry.entries,\n });\n }\n }\n return newClusters;\n }\n /**\n * Check if the two given variable objects are overlapping.\n * @param variablesA A variables objects.\n * @param variablesB A variables objects.\n */\n static haveOverlappingVariables(variablesA, variablesB) {\n for (const variableA of Object.keys(variablesA)) {\n if (variablesB[variableA]) {\n return true;\n }\n }\n return false;\n }\n}\nexports.ActorOptimizeQueryOperationJoinConnected = ActorOptimizeQueryOperationJoinConnected;\n//# sourceMappingURL=ActorOptimizeQueryOperationJoinConnected.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationJoinConnected\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationPruneEmptySourceOperations = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Prune Empty Source Operations Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationPruneEmptySourceOperations extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if ((0, utils_query_operation_1.getOperationSource)(action.operation)) {\n return (0, core_1.failTest)(`Actor ${this.name} does not work with top-level operation sources.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n let operation = action.operation;\n // Collect all operations with source types\n // Only consider unions of patterns or alts of links, since these are created during exhaustive source assignment.\n const collectedOperations = [];\n // eslint-disable-next-line ts/no-this-alias\n const self = this;\n sparqlalgebrajs_1.Util.recurseOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.UNION](subOperation) {\n self.collectMultiOperationInputs(subOperation.input, collectedOperations, sparqlalgebrajs_1.Algebra.types.PATTERN);\n return true;\n },\n [sparqlalgebrajs_1.Algebra.types.ALT](subOperation) {\n self.collectMultiOperationInputs(subOperation.input, collectedOperations, sparqlalgebrajs_1.Algebra.types.LINK);\n return false;\n },\n [sparqlalgebrajs_1.Algebra.types.SERVICE]() {\n return false;\n },\n });\n // Determine in an async manner whether or not these sources return non-empty results\n const emptyOperations = new Set();\n await Promise.all(collectedOperations.map(async (collectedOperation) => {\n const checkOperation = collectedOperation.type === 'link' ?\n algebraFactory.createPattern(dataFactory.variable('?s'), collectedOperation.iri, dataFactory.variable('?o')) :\n collectedOperation;\n if (!await this.hasSourceResults(algebraFactory, (0, utils_query_operation_1.getOperationSource)(collectedOperation), checkOperation, action.context)) {\n emptyOperations.add(collectedOperation);\n }\n }));\n // Only perform next mapping if we have at least one empty operation\n if (emptyOperations.size > 0) {\n this.logDebug(action.context, `Pruning ${emptyOperations.size} source-specific operations`);\n // Rewrite operations by removing the empty children\n operation = sparqlalgebrajs_1.Util.mapOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.UNION](subOperation, factory) {\n return self.mapMultiOperation(subOperation, emptyOperations, children => factory.createUnion(children));\n },\n [sparqlalgebrajs_1.Algebra.types.ALT](subOperation, factory) {\n return self.mapMultiOperation(subOperation, emptyOperations, children => factory.createAlt(children));\n },\n }, algebraFactory);\n // Identify and remove operations that have become empty now due to missing variables\n operation = sparqlalgebrajs_1.Util.mapOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.PROJECT](subOperation, factory) {\n // Remove projections that have become empty now due to missing variables\n if (ActorOptimizeQueryOperationPruneEmptySourceOperations.hasEmptyOperation(subOperation)) {\n return {\n recurse: false,\n result: factory.createUnion([]),\n };\n }\n return {\n recurse: true,\n result: subOperation,\n };\n },\n [sparqlalgebrajs_1.Algebra.types.LEFT_JOIN](subOperation) {\n // Remove left joins with empty right operation\n if (ActorOptimizeQueryOperationPruneEmptySourceOperations.hasEmptyOperation(subOperation.input[1])) {\n return {\n recurse: true,\n result: subOperation.input[0],\n };\n }\n return {\n recurse: true,\n result: subOperation,\n };\n },\n }, algebraFactory);\n }\n return { operation, context: action.context };\n }\n static hasEmptyOperation(operation) {\n // If union (or alt) is empty, consider it empty (`Array.every` on an empty array always returns true)\n // But if we find a union with multiple children,\n // *all* of the children must be empty before the full operation is considered empty.\n let emptyOperation = false;\n sparqlalgebrajs_1.Util.recurseOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.UNION](subOperation) {\n if (subOperation.input.every(subSubOperation => ActorOptimizeQueryOperationPruneEmptySourceOperations\n .hasEmptyOperation(subSubOperation))) {\n emptyOperation = true;\n }\n return false;\n },\n [sparqlalgebrajs_1.Algebra.types.ALT](subOperation) {\n if (subOperation.input.length === 0) {\n emptyOperation = true;\n }\n return false;\n },\n [sparqlalgebrajs_1.Algebra.types.LEFT_JOIN](subOperation) {\n // Only recurse into left part of left-join\n if (ActorOptimizeQueryOperationPruneEmptySourceOperations.hasEmptyOperation(subOperation.input[0])) {\n emptyOperation = true;\n }\n return false;\n },\n });\n return emptyOperation;\n }\n collectMultiOperationInputs(inputs, collectedOperations, inputType) {\n for (const input of inputs) {\n if ((0, utils_query_operation_1.getOperationSource)(input) && input.type === inputType) {\n collectedOperations.push(input);\n }\n }\n }\n mapMultiOperation(operation, emptyOperations, multiOperationFactory) {\n // Determine which operations return non-empty results\n const nonEmptyInputs = operation.input.filter(input => !emptyOperations.has(input));\n // Remove empty operations\n if (nonEmptyInputs.length === operation.input.length) {\n return { result: operation, recurse: true };\n }\n if (nonEmptyInputs.length === 0) {\n return { result: multiOperationFactory([]), recurse: false };\n }\n if (nonEmptyInputs.length === 1) {\n return { result: nonEmptyInputs[0], recurse: true };\n }\n return { result: multiOperationFactory(nonEmptyInputs), recurse: true };\n }\n /**\n * Check if the given query operation will produce at least one result in the given source.\n * @param algebraFactory The algebra factory.\n * @param source A query source.\n * @param input A query operation.\n * @param context The query context.\n */\n async hasSourceResults(algebraFactory, source, input, context) {\n // Traversal sources should never be considered empty at optimization time.\n if (source.context?.get(context_entries_1.KeysQuerySourceIdentify.traverse)) {\n return true;\n }\n // Send an ASK query\n if (this.useAskIfSupported) {\n const askOperation = algebraFactory.createAsk(input);\n if ((0, utils_query_operation_1.doesShapeAcceptOperation)(await source.source.getSelectorShape(context), askOperation)) {\n return source.source.queryBoolean(askOperation, context);\n }\n }\n // Send the operation as-is and check the response cardinality\n const bindingsStream = source.source.queryBindings(input, context);\n return new Promise((resolve, reject) => {\n bindingsStream.on('error', reject);\n bindingsStream.getProperty('metadata', (metadata) => {\n bindingsStream.destroy();\n resolve(metadata.cardinality.value > 0);\n });\n });\n }\n}\nexports.ActorOptimizeQueryOperationPruneEmptySourceOperations = ActorOptimizeQueryOperationPruneEmptySourceOperations;\n//# sourceMappingURL=ActorOptimizeQueryOperationPruneEmptySourceOperations.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationPruneEmptySourceOperations\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationRewriteAdd = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst DF = new rdf_data_factory_1.DataFactory();\n/**\n * A comunica Rewrite Add Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationRewriteAdd extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n [sparqlalgebrajs_1.Algebra.types.ADD](operationOriginal, factory) {\n // CONSTRUCT all quads from the source, and INSERT them into the destination\n const destination = operationOriginal.destination === 'DEFAULT' ?\n DF.defaultGraph() :\n operationOriginal.destination;\n const source = operationOriginal.source === 'DEFAULT' ? DF.defaultGraph() : operationOriginal.source;\n const result = factory.createDeleteInsert(undefined, [\n factory.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o'), destination),\n ], factory.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o'), source));\n return {\n result,\n recurse: false,\n };\n },\n }, algebraFactory);\n return { operation, context: action.context };\n }\n}\nexports.ActorOptimizeQueryOperationRewriteAdd = ActorOptimizeQueryOperationRewriteAdd;\n//# sourceMappingURL=ActorOptimizeQueryOperationRewriteAdd.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationRewriteAdd\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationRewriteCopy = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Rewrite Copy Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationRewriteCopy extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n [sparqlalgebrajs_1.Algebra.types.COPY](operationOriginal, factory) {\n // No-op if source === destination\n let result;\n if ((typeof operationOriginal.destination === 'string' && typeof operationOriginal.source === 'string' &&\n operationOriginal.destination === operationOriginal.source) ||\n (typeof operationOriginal.destination !== 'string' && typeof operationOriginal.source !== 'string' &&\n operationOriginal.destination.equals(operationOriginal.source))) {\n result = factory.createCompositeUpdate([]);\n }\n else {\n // COPY is equivalent to drop destination, and add\n result = factory.createCompositeUpdate([\n factory.createDrop(operationOriginal.destination, true),\n factory.createAdd(operationOriginal.source, operationOriginal.destination, operationOriginal.silent),\n ]);\n }\n return {\n result,\n recurse: false,\n };\n },\n }, algebraFactory);\n return { operation, context: action.context };\n }\n}\nexports.ActorOptimizeQueryOperationRewriteCopy = ActorOptimizeQueryOperationRewriteCopy;\n//# sourceMappingURL=ActorOptimizeQueryOperationRewriteCopy.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationRewriteCopy\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperationRewriteMove = void 0;\nconst bus_optimize_query_operation_1 = require(\"@comunica/bus-optimize-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Rewrite Move Optimize Query Operation Actor.\n */\nclass ActorOptimizeQueryOperationRewriteMove extends bus_optimize_query_operation_1.ActorOptimizeQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = sparqlalgebrajs_1.Util.mapOperation(action.operation, {\n [sparqlalgebrajs_1.Algebra.types.MOVE](operationOriginal, factory) {\n // No-op if source === destination\n let result;\n if ((typeof operationOriginal.destination === 'string' && typeof operationOriginal.source === 'string' &&\n operationOriginal.destination === operationOriginal.source) ||\n (typeof operationOriginal.destination !== 'string' && typeof operationOriginal.source !== 'string' &&\n operationOriginal.destination.equals(operationOriginal.source))) {\n result = factory.createCompositeUpdate([]);\n }\n else {\n // MOVE is equivalent to drop destination, add, and drop source\n const updates = [\n factory.createDrop(operationOriginal.destination, true),\n factory.createAdd(operationOriginal.source, operationOriginal.destination, operationOriginal.silent),\n factory.createDrop(operationOriginal.source),\n ];\n result = factory.createCompositeUpdate(updates);\n }\n return {\n result,\n recurse: false,\n };\n },\n }, algebraFactory);\n return { operation, context: action.context };\n }\n}\nexports.ActorOptimizeQueryOperationRewriteMove = ActorOptimizeQueryOperationRewriteMove;\n//# sourceMappingURL=ActorOptimizeQueryOperationRewriteMove.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperationRewriteMove\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationAsk = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Ask Query Operation Actor.\n */\nclass ActorQueryOperationAsk extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'ask');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n // Call other query operations like this:\n const output = await this.mediatorQueryOperation.mediate({ operation: operation.input, context });\n const { bindingsStream } = (0, utils_query_operation_1.getSafeBindings)(output);\n return { type: 'boolean', execute: async () => (await bindingsStream.take(1).toArray()).length === 1 };\n }\n}\nexports.ActorQueryOperationAsk = ActorQueryOperationAsk;\n//# sourceMappingURL=ActorQueryOperationAsk.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationAsk\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationBgpJoin = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A [Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation) actor\n * that handles SPARQL BGP operations by rewriting it as a join operator.\n */\nclass ActorQueryOperationBgpJoin extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'bgp');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n return this.mediatorQueryOperation.mediate({\n operation: algebraFactory.createJoin(operation.patterns),\n context,\n });\n }\n}\nexports.ActorQueryOperationBgpJoin = ActorQueryOperationBgpJoin;\n//# sourceMappingURL=ActorQueryOperationBgpJoin.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationBgpJoin\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationConstruct = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst BindingsToQuadsIterator_1 = require(\"./BindingsToQuadsIterator\");\n/**\n * A comunica Construct Query Operation Actor.\n */\nclass ActorQueryOperationConstruct extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'construct');\n }\n /**\n * Find all variables in a list of triple patterns.\n * @param {Algebra.Pattern[]} patterns An array of triple patterns.\n * @return {RDF.Variable[]} The variables in the triple patterns.\n */\n static getVariables(patterns) {\n return (0, rdf_terms_1.uniqTerms)([].concat\n .apply([], patterns.map(pattern => (0, rdf_terms_1.getVariables)((0, rdf_terms_1.getTermsNested)(pattern)))));\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operationOriginal, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n // Apply a projection on our CONSTRUCT variables first, as the query may contain other variables as well.\n const variables = ActorQueryOperationConstruct.getVariables(operationOriginal.template);\n const operation = { type: sparqlalgebrajs_1.Algebra.types.PROJECT, input: operationOriginal.input, variables };\n // Evaluate the input query\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation, context }));\n // Construct triples using the result based on the pattern.\n // If it's a DESCRIBE query don't apply the blank node localisation.\n const quadStream = new BindingsToQuadsIterator_1.BindingsToQuadsIterator(dataFactory, operationOriginal.template, output.bindingsStream);\n // Let the final metadata contain the estimated number of triples\n const metadata = () => output.metadata().then(meta => ({\n ...meta,\n order: undefined,\n cardinality: {\n type: meta.cardinality.type,\n value: meta.cardinality.value * operationOriginal.template.length,\n },\n availableOrders: undefined,\n }));\n return {\n metadata,\n quadStream,\n type: 'quads',\n };\n }\n}\nexports.ActorQueryOperationConstruct = ActorQueryOperationConstruct;\n//# sourceMappingURL=ActorQueryOperationConstruct.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BindingsToQuadsIterator = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_terms_1 = require(\"rdf-terms\");\n/**\n * Transforms a bindings stream into a quad stream given a quad template.\n *\n * This conforms to the SPARQL 1.1 spec on constructing triples:\n * https://www.w3.org/TR/sparql11-query/#rConstructTriples\n */\nclass BindingsToQuadsIterator extends asynciterator_1.MultiTransformIterator {\n constructor(dataFactory, template, bindingsStream) {\n super(bindingsStream, { autoStart: false });\n this.dataFactory = dataFactory;\n this.template = template;\n this.blankNodeCounter = 0;\n }\n /**\n * Bind the given term.\n * If the term is a variable and the variable is bound in the bindings object,\n * return the bindings value.\n * If the term is a variable and the variable is not bound in the bindings object,\n * a falsy value is returned..\n * Otherwise, the term itself is returned.\n * @param {Bindings} bindings A bindings object.\n * @param {RDF.Term} term An RDF term.\n * @return {RDF.Term} If the given term is not a variable, the term itself is returned.\n * If the given term is a variable, then the bound term is returned,\n * or a falsy value if it did not exist in the bindings.\n */\n static bindTerm(bindings, term) {\n if (term.termType === 'Variable') {\n return bindings.get(term);\n }\n return term;\n }\n /**\n * Bind the given quad pattern.\n * If one of the terms was a variable AND is not bound in the bindings,\n * a falsy value will be returned.\n * @param {Bindings} bindings A bindings object.\n * @param {RDF.Quad} pattern An RDF quad.\n * @return {RDF.Quad} A bound RDF quad or undefined.\n */\n static bindQuad(bindings, pattern) {\n try {\n return (0, rdf_terms_1.mapTermsNested)(pattern, (term) => {\n const boundTerm = BindingsToQuadsIterator.bindTerm(bindings, term);\n if (!boundTerm) {\n throw new Error('Unbound term');\n }\n return boundTerm;\n });\n }\n catch {\n // Do nothing\n }\n }\n /**\n * Convert a blank node to a unique blank node in the given context.\n * If the given term is not a blank node, the term itself will be returned.\n * @param dataFactory The data factory.\n * @param blankNodeCounter A counter value for the blank node.\n * @param {RDF.Term} term The term that should be localized.\n * @return {RDF.Term} A term.\n */\n static localizeBlankNode(dataFactory, blankNodeCounter, term) {\n if (term.termType === 'BlankNode') {\n return dataFactory.blankNode(`${term.value}${blankNodeCounter}`);\n }\n return term;\n }\n /**\n * Convert the given quad to a quad that only contains unique blank nodes.\n * @param dataFactory The data factory.\n * @param blankNodeCounter A counter value for the blank node.\n * @param {RDF.BaseQuad} pattern The pattern that should be localized.\n * @return {RDF.BaseQuad} A quad.\n */\n static localizeQuad(dataFactory, blankNodeCounter, pattern) {\n return (0, rdf_terms_1.mapTermsNested)(pattern, term => BindingsToQuadsIterator.localizeBlankNode(dataFactory, blankNodeCounter, term));\n }\n /**\n * Convert the given template to a list of quads based on the given bindings.\n * @param {Bindings} bindings A bindings object.\n * @param {RDF.Quad[]} template A list of quad patterns.\n * @param blankNodeCounter A counter value for the blank node.\n * @return {RDF.Quad[]} A list of quads.\n */\n bindTemplate(bindings, template, blankNodeCounter) {\n const quads = template\n // Make sure the multiple instantiations of the template contain different blank nodes, as required by SPARQL 1.1.\n .map(BindingsToQuadsIterator.localizeQuad.bind(null, this.dataFactory, blankNodeCounter))\n // Bind variables to bound terms\n .map(x => BindingsToQuadsIterator.bindQuad.bind(null, bindings)(x))\n // Remove quads that contained unbound terms, i.e., variables.\n .filter(Boolean);\n return quads;\n }\n _createTransformer(bindings) {\n return new asynciterator_1.ArrayIterator(this.bindTemplate(bindings, this.template, this.blankNodeCounter++), { autoStart: false });\n }\n}\nexports.BindingsToQuadsIterator = BindingsToQuadsIterator;\n//# sourceMappingURL=BindingsToQuadsIterator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationConstruct\"), exports);\n__exportStar(require(\"./BindingsToQuadsIterator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationDistinctHash = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Distinct Hash Query Operation Actor.\n */\nclass ActorQueryOperationDistinctHash extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'distinct');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const output = await this.mediatorQueryOperation.mediate({ operation: operation.input, context });\n if (output.type === 'quads') {\n const outputQuads = (0, utils_query_operation_1.getSafeQuads)(output);\n const quadStream = outputQuads.quadStream.filter(await this.newHashFilterQuads(context));\n return {\n type: 'quads',\n quadStream,\n metadata: outputQuads.metadata,\n };\n }\n const outputBindings = (0, utils_query_operation_1.getSafeBindings)(output);\n const variables = (await outputBindings.metadata()).variables.map(v => v.variable);\n const bindingsStream = outputBindings.bindingsStream\n .filter(await this.newHashFilter(context, variables));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: outputBindings.metadata,\n };\n }\n /**\n * Create a new distinct filter function.\n * This will maintain an internal hash datastructure so that every bindings object only returns true once.\n * @param context The action context.\n * @param variables The variables to take into account while hashing.\n * @return {(bindings: Bindings) => boolean} A distinct filter for bindings.\n */\n async newHashFilter(context, variables) {\n const { hashFunction } = await this.mediatorHashBindings.mediate({ context });\n const hashes = {};\n return (bindings) => {\n const hash = hashFunction(bindings, variables);\n return !(hash in hashes) && (hashes[hash] = true);\n };\n }\n /**\n * Create a new distinct filter function to hash quads.\n * This will maintain an internal hash datastructure so that every quad object only returns true once.\n * @param context The action context.\n * @return {(quad: RDF.Quad) => boolean} A distinct filter for quads.\n */\n async newHashFilterQuads(context) {\n const { hashFunction } = await this.mediatorHashQuads.mediate({ context });\n const hashes = {};\n return (quad) => {\n const hash = hashFunction(quad);\n return !(hash in hashes) && (hashes[hash] = true);\n };\n }\n}\nexports.ActorQueryOperationDistinctHash = ActorQueryOperationDistinctHash;\n//# sourceMappingURL=ActorQueryOperationDistinctHash.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationDistinctHash\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationExtend = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Extend Query Operation Actor.\n *\n * See https://www.w3.org/TR/sparql11-query/#sparqlAlgebra;\n */\nclass ActorQueryOperationExtend extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'extend');\n this.mediatorExpressionEvaluatorFactory = args.mediatorExpressionEvaluatorFactory;\n }\n async testOperation() {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const { expression, input, variable } = operation;\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation: input, context }));\n // Throw if the variable has already been bound\n if ((await output.metadata()).variables.some(innerVariable => innerVariable.variable.equals(variable))) {\n throw new Error(`Illegal binding to variable '${variable.value}' that has already been bound`);\n }\n const evaluator = await this.mediatorExpressionEvaluatorFactory\n .mediate({ algExpr: expression, context });\n // Transform the stream by extending each Bindings with the expression result\n const transform = async (bindings, next, push) => {\n try {\n const result = await evaluator.evaluate(bindings);\n // Extend operation is undefined when the key already exists\n // We just override it here.\n const extended = bindings.set(variable, result);\n push(extended);\n }\n catch (error) {\n if ((0, utils_expression_evaluator_1.isExpressionError)(error)) {\n // Errors silently don't actually extend according to the spec\n push(bindings);\n // But let's warn anyway\n this.logWarn(context, `Expression error for extend operation (${error.message})` +\n `with bindings '${(0, utils_bindings_factory_1.bindingsToString)(bindings)}'`);\n }\n else {\n bindingsStream.emit('error', error);\n }\n }\n next();\n };\n // eslint-disable-next-line ts/no-misused-promises\n const bindingsStream = output.bindingsStream.transform({ autoStart: false, transform });\n return {\n type: 'bindings',\n bindingsStream,\n async metadata() {\n const outputMetadata = await output.metadata();\n return { ...outputMetadata, variables: [...outputMetadata.variables, { variable, canBeUndef: false }] };\n },\n };\n }\n}\nexports.ActorQueryOperationExtend = ActorQueryOperationExtend;\n//# sourceMappingURL=ActorQueryOperationExtend.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationExtend\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationFilter = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Filter Sparqlee Query Operation Actor.\n */\nclass ActorQueryOperationFilter extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'filter');\n this.mediatorExpressionEvaluatorFactory = args.mediatorExpressionEvaluatorFactory;\n }\n async testOperation() {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const outputRaw = await this.mediatorQueryOperation.mediate({ operation: operation.input, context });\n const output = (0, utils_query_operation_1.getSafeBindings)(outputRaw);\n (0, utils_query_operation_1.validateQueryOutput)(output, 'bindings');\n const evaluator = await this.mediatorExpressionEvaluatorFactory\n .mediate({ algExpr: operation.expression, context });\n const transform = async (item, next, push) => {\n try {\n const result = await evaluator.evaluateAsEBV(item);\n if (result) {\n push(item);\n }\n }\n catch (error) {\n // We ignore all Expression errors.\n // Other errors (likely programming mistakes) are still propagated.\n //\n // > Specifically, FILTERs eliminate any solutions that,\n // > when substituted into the expression, either result in\n // > an effective boolean value of false or produce an error.\n // > ...\n // > These errors have no effect outside of FILTER evaluation.\n // https://www.w3.org/TR/sparql11-query/#expressions\n if ((0, utils_expression_evaluator_1.isExpressionError)(error)) {\n // In many cases, this is a user error, where the user should manually cast the variable to a string.\n // In order to help users debug this, we should report these errors via the logger as warnings.\n this.logWarn(context, 'Error occurred while filtering.', () => ({ error, bindings: (0, utils_bindings_factory_1.bindingsToString)(item) }));\n }\n else {\n bindingsStream.emit('error', error);\n }\n }\n next();\n };\n // eslint-disable-next-line ts/no-misused-promises\n const bindingsStream = output.bindingsStream.transform({ transform, autoStart: false });\n return { type: 'bindings', bindingsStream, metadata: output.metadata };\n }\n}\nexports.ActorQueryOperationFilter = ActorQueryOperationFilter;\n//# sourceMappingURL=ActorQueryOperationFilter.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationFilter\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationFromQuad = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica From Query Operation Actor.\n */\nclass ActorQueryOperationFromQuad extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'from');\n }\n /**\n * Create a deep copy of the given operation.\n * @param {Operation} operation An operation.\n * @param {(subOperation: Operation) => Operation} recursiveCb A callback for recursive operation calls.\n * @return {Operation} The copied operation.\n */\n static copyOperation(operation, recursiveCb) {\n const copiedOperation = {};\n for (const key of Object.keys(operation)) {\n if (Array.isArray(operation[key]) && key !== 'template') {\n // We exclude the 'template' entry, as we don't want to modify the template value of construct operations\n if (key === 'variables') {\n copiedOperation[key] = operation[key];\n }\n else {\n copiedOperation[key] = operation[key].map(recursiveCb);\n }\n }\n else if (ActorQueryOperationFromQuad.ALGEBRA_TYPES.includes(operation[key].type)) {\n copiedOperation[key] = recursiveCb(operation[key]);\n }\n else {\n copiedOperation[key] = operation[key];\n }\n }\n return copiedOperation;\n }\n /**\n * Recursively transform the given operation to use the given graphs as default graph\n * This will (possibly) create a new operation and not modify the given operation.\n * @package\n * @param algebraFactory The algebra factory.\n * @param {Operation} operation An operation.\n * @param {RDF.Term[]} defaultGraphs Graph terms.\n * @return {Operation} A new operation.\n */\n static applyOperationDefaultGraph(algebraFactory, operation, defaultGraphs) {\n // If the operation is a BGP or Path, change the graph.\n if ((operation.type === 'bgp' && operation.patterns.length > 0) ||\n operation.type === 'path' ||\n operation.type === 'pattern') {\n if (operation.type === 'bgp') {\n return ActorQueryOperationFromQuad\n .joinOperations(algebraFactory, operation.patterns.map((pattern) => {\n if (pattern.graph.termType !== 'DefaultGraph') {\n return algebraFactory.createBgp([pattern]);\n }\n const bgps = defaultGraphs.map((graph) => algebraFactory.createBgp([Object.assign(algebraFactory\n .createPattern(pattern.subject, pattern.predicate, pattern.object, graph), { metadata: pattern.metadata })]));\n return ActorQueryOperationFromQuad.unionOperations(algebraFactory, bgps);\n }));\n }\n if (operation.graph.termType !== 'DefaultGraph') {\n return operation;\n }\n const paths = defaultGraphs.map((graph) => {\n if (operation.type === 'path') {\n return algebraFactory\n .createPath(operation.subject, operation.predicate, operation.object, graph);\n }\n return Object.assign(algebraFactory\n .createPattern(operation.subject, operation.predicate, operation.object, graph), { metadata: operation.metadata });\n });\n return ActorQueryOperationFromQuad.unionOperations(algebraFactory, paths);\n }\n return ActorQueryOperationFromQuad.copyOperation(operation, (subOperation) => this.applyOperationDefaultGraph(algebraFactory, subOperation, defaultGraphs));\n }\n /**\n * Recursively transform the given operation to use the given graphs as named graph\n * This will (possibly) create a new operation and not modify the given operation.\n * @package\n * @param algebraFactory The algebra factory.\n * @param {Operation} operation An operation.\n * @param {RDF.Term[]} namedGraphs Graph terms.\n * @param {RDF.Term[]} defaultGraphs Default graph terms.\n * @return {Operation} A new operation.\n */\n static applyOperationNamedGraph(algebraFactory, operation, namedGraphs, defaultGraphs) {\n // If the operation is a BGP or Path, change the graph.\n if ((operation.type === 'bgp' && operation.patterns.length > 0) ||\n operation.type === 'path' ||\n operation.type === 'pattern') {\n const patternGraph = operation.type === 'bgp' ? operation.patterns[0].graph : operation.graph;\n if (patternGraph.termType === 'DefaultGraph') {\n // SPARQL spec (8.2) describes that when FROM NAMED's are used without a FROM, the default graph must be empty.\n // The FROMs are transformed before this step to a named node, so this will not apply to this case anymore.\n return { type: sparqlalgebrajs_1.Algebra.types.BGP, patterns: [] };\n }\n if (patternGraph.termType === 'Variable') {\n if (namedGraphs.length === 1) {\n const graph = namedGraphs[0];\n // If the pattern graph is a variable, replace the graph and bind the variable using VALUES\n const bindings = {};\n bindings[`?${patternGraph.value}`] = graph;\n const values = algebraFactory\n .createValues([patternGraph], [bindings]);\n let pattern;\n if (operation.type === 'bgp') {\n pattern = algebraFactory\n .createBgp(operation.patterns.map((pat) => algebraFactory\n .createPattern(pat.subject, pat.predicate, pat.object, graph)));\n }\n else if (operation.type === 'path') {\n pattern = algebraFactory\n .createPath(operation.subject, operation.predicate, operation.object, graph);\n }\n else {\n pattern = algebraFactory\n .createPattern(operation.subject, operation.predicate, operation.object, graph);\n }\n return algebraFactory.createJoin([values, pattern]);\n }\n // If the pattern graph is a variable, take the union of the pattern applied to each available named graph\n return ActorQueryOperationFromQuad.unionOperations(algebraFactory, namedGraphs.map((graph) => ActorQueryOperationFromQuad.applyOperationNamedGraph(algebraFactory, operation, [graph], defaultGraphs)));\n }\n // The pattern's graph is defined (including the default graphs)\n const isNamedGraphAvailable = [...namedGraphs, ...defaultGraphs].some((namedGraph) => namedGraph.equals(patternGraph));\n if (isNamedGraphAvailable) {\n // Return the pattern as-is if the pattern's graph was selected in a FROM NAMED\n return operation;\n }\n // No-op if the pattern's graph was not selected in a FROM NAMED.\n return { type: sparqlalgebrajs_1.Algebra.types.BGP, patterns: [] };\n }\n return ActorQueryOperationFromQuad.copyOperation(operation, (subOperation) => this\n .applyOperationNamedGraph(algebraFactory, subOperation, namedGraphs, defaultGraphs));\n }\n /**\n * Transform the given array of operations into a join operation.\n * @package\n * @param algebraFactory The algebra factory.\n * @param {Operation[]} operations An array of operations, must contain at least one operation.\n * @return {Join} A join operation.\n */\n static joinOperations(algebraFactory, operations) {\n if (operations.length === 1) {\n return operations[0];\n }\n if (operations.length > 1) {\n return algebraFactory.createJoin(operations);\n }\n throw new Error('A join can only be applied on at least one operation');\n }\n /**\n * Transform the given array of operations into a union operation.\n * @package\n * @param algebraFactory The algebra factory.\n * @param {Operation[]} operations An array of operations, must contain at least one operation.\n * @return {Union} A union operation.\n */\n static unionOperations(algebraFactory, operations) {\n if (operations.length === 1) {\n return operations[0];\n }\n if (operations.length > 1) {\n return algebraFactory.createUnion(operations);\n }\n throw new Error('A union can only be applied on at least one operation');\n }\n /**\n * Transform an operation based on the default and named graphs in the pattern.\n *\n * FROM sets the default graph.\n * If multiple are available, take the union of the operation for all of them at quad-pattern level.\n *\n * FROM NAMED indicates which named graphs are available.\n * This will rewrite the query so that only triples from the given named graphs can be selected.\n *\n * @package\n * @param algebraFactory The algebra factory.\n * @param {From} pattern A from operation.\n * @return {Operation} The transformed operation.\n */\n static createOperation(algebraFactory, pattern) {\n let operation = pattern.input;\n if (pattern.default.length > 0) {\n operation = ActorQueryOperationFromQuad.applyOperationDefaultGraph(algebraFactory, operation, pattern.default);\n }\n if (pattern.named.length > 0 || pattern.default.length > 0) {\n operation = ActorQueryOperationFromQuad\n .applyOperationNamedGraph(algebraFactory, operation, pattern.named, pattern.default);\n }\n return operation;\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operationOriginal, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const operation = ActorQueryOperationFromQuad.createOperation(algebraFactory, operationOriginal);\n return this.mediatorQueryOperation.mediate({ operation, context });\n }\n}\nexports.ActorQueryOperationFromQuad = ActorQueryOperationFromQuad;\nActorQueryOperationFromQuad.ALGEBRA_TYPES = Object.keys(sparqlalgebrajs_1.Algebra.types).map(key => sparqlalgebrajs_1.Algebra.types[key]);\n//# sourceMappingURL=ActorQueryOperationFromQuad.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationFromQuad\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationGroup = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst GroupsState_1 = require(\"./GroupsState\");\n/**\n * A comunica Group Query Operation Actor.\n */\nclass ActorQueryOperationGroup extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'group');\n this.mediatorBindingsAggregatorFactory = args.mediatorBindingsAggregatorFactory;\n }\n async testOperation() {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n // Get result stream for the input query\n const { input, aggregates } = operation;\n const outputRaw = await this.mediatorQueryOperation.mediate({ operation: input, context });\n const output = (0, utils_query_operation_1.getSafeBindings)(outputRaw);\n // The variables in scope are the variables on which we group, i.e. pattern.variables.\n // For 'GROUP BY ?x, ?z', this is [?x, ?z], for 'GROUP by expr(?x) as ?e' this is [?e].\n // But also in scope are the variables defined by the aggregations, since GROUP has to handle this.\n const variables = [\n ...operation.variables,\n ...aggregates.map(agg => agg.variable),\n ].map(variable => ({ variable, canBeUndef: false }));\n const variablesInner = (await output.metadata()).variables.map(v => v.variable);\n // Wrap a new promise inside an iterator that completes when the stream has ended or when an error occurs\n const bindingsStream = new asynciterator_1.TransformIterator(() => new Promise((resolve, reject) => {\n const groups = new GroupsState_1.GroupsState(operation, this.mediatorBindingsAggregatorFactory, context, bindingsFactory, variablesInner);\n // Phase 2: Collect aggregator results\n // We can only return when the binding stream ends, when that happens\n // we return the identified groups. Which are nothing more than Bindings\n // of the grouping variables merged with the aggregate variables\n // eslint-disable-next-line ts/no-misused-promises\n output.bindingsStream.on('end', async () => {\n try {\n const bindingsStreamInner = new asynciterator_1.ArrayIterator(await groups.collectResults(), { autoStart: false });\n resolve(bindingsStreamInner);\n }\n catch (error) {\n reject(error);\n }\n });\n // Make sure to propagate any errors in the binding stream\n output.bindingsStream.on('error', reject);\n // Phase 1: Consume the stream, identify the groups and populate the aggregators.\n // We need to bind this after the 'error' and 'end' listeners to avoid the\n // stream having ended before those listeners are bound.\n output.bindingsStream.on('data', (bindings) => {\n groups.consumeBindings(bindings).catch(reject);\n });\n }), { autoStart: false });\n return {\n type: 'bindings',\n bindingsStream,\n metadata: async () => ({ ...await output.metadata(), variables }),\n };\n }\n}\nexports.ActorQueryOperationGroup = ActorQueryOperationGroup;\n//# sourceMappingURL=ActorQueryOperationGroup.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GroupsState = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\n/**\n * A state manager for the groups constructed by consuming the bindings-stream.\n */\nclass GroupsState {\n constructor(pattern, mediatorBindingsAggregatorFactory, context, bindingsFactory, variables) {\n this.pattern = pattern;\n this.mediatorBindingsAggregatorFactory = mediatorBindingsAggregatorFactory;\n this.context = context;\n this.bindingsFactory = bindingsFactory;\n this.variables = variables;\n this.groups = new Map();\n this.groupsInitializer = new Map();\n this.groupVariables = new Set(this.pattern.variables.map(x => x.value));\n this.waitCounter = 1;\n this.resultHasBeenCalled = false;\n }\n /**\n * - Consumes a stream binding\n * - Find the corresponding group and create one if need be\n * - Feeds the binding to the group's aggregators\n *\n * @param {Bindings} bindings - The Bindings to consume\n */\n consumeBindings(bindings) {\n const check = this.resultCheck();\n if (check) {\n return check;\n }\n // We increment the counter and decrement him when put action is performed.\n this.waitCounter++;\n // Select the bindings on which we group\n const grouper = bindings\n .filter((_, variable) => this.groupVariables.has(variable.value));\n const groupHash = this.hashBindings(grouper);\n // First member of group -> create new group\n let groupInitializer = this.groupsInitializer.get(groupHash);\n let res;\n if (groupInitializer) {\n const groupInitializerDefined = groupInitializer;\n res = (async () => {\n const group = await groupInitializerDefined;\n await Promise.all(this.pattern.aggregates.map(async (aggregate) => {\n // Distinct handling is done in the aggregator.\n const variable = aggregate.variable.value;\n await group.aggregators[variable].putBindings(bindings);\n }));\n })().then(async () => {\n await this.subtractWaitCounterAndCollect();\n });\n }\n else {\n // Initialize state for all aggregators for new group\n groupInitializer = (async () => {\n const aggregators = {};\n await Promise.all(this.pattern.aggregates.map(async (aggregate) => {\n const key = aggregate.variable.value;\n aggregators[key] = await this.mediatorBindingsAggregatorFactory\n .mediate({ expr: aggregate, context: this.context });\n await aggregators[key].putBindings(bindings);\n }));\n const group = { aggregators, bindings: grouper };\n this.groups.set(groupHash, group);\n await this.subtractWaitCounterAndCollect();\n return group;\n })();\n this.groupsInitializer.set(groupHash, groupInitializer);\n res = groupInitializer;\n }\n return res;\n }\n async subtractWaitCounterAndCollect() {\n if (--this.waitCounter === 0) {\n await this.handleResultCollection();\n }\n }\n async handleResultCollection() {\n const dataFactory = this.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n // Collect groups\n let rows = await Promise.all([...this.groups].map(async ([_, group]) => {\n const { bindings: groupBindings, aggregators } = group;\n // Collect aggregator bindings\n // If the aggregate errorred, the result will be undefined\n let returnBindings = groupBindings;\n for (const variable in aggregators) {\n const value = await aggregators[variable].result();\n if (value) {\n // Filter undefined\n returnBindings = returnBindings.set(dataFactory.variable(variable), value);\n }\n }\n // Merge grouping bindings and aggregator bindings\n return returnBindings;\n }));\n // Case: No Input\n // Some aggregators still define an output on the empty input\n // Result is a single Bindings\n if (rows.length === 0 && this.groupVariables.size === 0) {\n const single = [];\n await Promise.all(this.pattern.aggregates.map(async (aggregate) => {\n const key = aggregate.variable;\n const aggregator = await this.mediatorBindingsAggregatorFactory\n .mediate({ expr: aggregate, context: this.context });\n const value = await aggregator.result();\n if (value !== undefined) {\n single.push([key, value]);\n }\n }));\n rows = [this.bindingsFactory.bindings(single)];\n }\n this.waitResolver(rows);\n }\n resultCheck() {\n if (this.resultHasBeenCalled) {\n return Promise.reject(new Error('Calling any function after calling collectResult is invalid.'));\n }\n }\n /**\n * Collect the result of the final state. This returns a Bindings per group,\n * and a (possibly empty) Bindings in case no Bindings have been consumed yet.\n * You can only call this method once, after calling this method,\n * calling any function on this will result in an error being thrown.\n */\n async collectResults() {\n const check = this.resultCheck();\n if (check) {\n return check;\n }\n this.resultHasBeenCalled = true;\n const res = new Promise((resolve) => {\n this.waitResolver = resolve;\n });\n await this.subtractWaitCounterAndCollect();\n return res;\n }\n /**\n * @param {Bindings} bindings - Bindings to hash\n */\n hashBindings(bindings) {\n return (0, utils_bindings_factory_1.bindingsToCompactString)(bindings, this.variables);\n }\n}\nexports.GroupsState = GroupsState;\n//# sourceMappingURL=GroupsState.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationGroup\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationJoin = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Join Query Operation Actor.\n */\nclass ActorQueryOperationJoin extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'join');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operationOriginal, context) {\n const entries = (await Promise.all(operationOriginal.input\n .map(async (subOperation) => ({\n output: await this.mediatorQueryOperation.mediate({ operation: subOperation, context }),\n operation: subOperation,\n }))))\n .map(({ output, operation }) => ({\n output: (0, utils_query_operation_1.getSafeBindings)(output),\n operation,\n }));\n return this.mediatorJoin.mediate({ type: 'inner', entries, context });\n }\n}\nexports.ActorQueryOperationJoin = ActorQueryOperationJoin;\n//# sourceMappingURL=ActorQueryOperationJoin.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationJoin\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationLeftJoin = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica LeftJoin Query Operation Actor.\n */\nclass ActorQueryOperationLeftJoin extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'leftjoin');\n this.mediatorExpressionEvaluatorFactory = args.mediatorExpressionEvaluatorFactory;\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operationOriginal, context) {\n // Delegate to join bus\n const entries = (await Promise.all(operationOriginal.input\n .map(async (subOperation) => ({\n output: await this.mediatorQueryOperation.mediate({ operation: subOperation, context }),\n operation: subOperation,\n }))))\n .map(({ output, operation }) => ({\n output: (0, utils_query_operation_1.getSafeBindings)(output),\n operation,\n }));\n const joined = await this.mediatorJoin.mediate({ type: 'optional', entries, context });\n // If the pattern contains an expression, filter the resulting stream\n if (operationOriginal.expression) {\n const rightMetadata = await entries[1].output.metadata();\n const expressionVariables = rightMetadata.variables;\n const evaluator = await this.mediatorExpressionEvaluatorFactory\n .mediate({ algExpr: operationOriginal.expression, context });\n const bindingsStream = joined.bindingsStream\n .transform({\n autoStart: false,\n // eslint-disable-next-line ts/no-misused-promises\n transform: async (bindings, done, push) => {\n // If variables of the right-hand entry are missing, we skip expression evaluation\n if (!expressionVariables.every(variable => bindings.has(variable.variable.value))) {\n push(bindings);\n return done();\n }\n try {\n const result = await evaluator.evaluateAsEBV(bindings);\n if (result) {\n push(bindings);\n }\n }\n catch (error) {\n // We ignore all Expression errors.\n // Other errors (likely programming mistakes) are still propagated.\n // Left Join is defined in terms of Filter (https://www.w3.org/TR/sparql11-query/#defn_algJoin),\n // and Filter requires this (https://www.w3.org/TR/sparql11-query/#expressions).\n if ((0, utils_expression_evaluator_1.isExpressionError)(error)) {\n // In many cases, this is a user error, where the user should manually cast the variable to a string.\n // In order to help users debug this, we should report these errors via the logger as warnings.\n this.logWarn(context, 'Error occurred while filtering.', () => ({ error, bindings }));\n }\n else {\n bindingsStream.emit('error', error);\n }\n }\n done();\n },\n });\n joined.bindingsStream = bindingsStream;\n }\n return joined;\n }\n}\nexports.ActorQueryOperationLeftJoin = ActorQueryOperationLeftJoin;\n//# sourceMappingURL=ActorQueryOperationLeftJoin.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationLeftJoin\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationMinus = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Minus Query Operation Actor.\n */\nclass ActorQueryOperationMinus extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'minus');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operationOriginal, context) {\n const entries = (await Promise.all(operationOriginal.input\n .map(async (subOperation) => ({\n output: await this.mediatorQueryOperation.mediate({ operation: subOperation, context }),\n operation: subOperation,\n }))))\n .map(({ output, operation }) => ({\n output: (0, utils_query_operation_1.getSafeBindings)(output),\n operation,\n }));\n return this.mediatorJoin.mediate({ type: 'minus', entries, context });\n }\n}\nexports.ActorQueryOperationMinus = ActorQueryOperationMinus;\n//# sourceMappingURL=ActorQueryOperationMinus.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationMinus\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationNop = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A [Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation)\n * actor that handles SPARQL nop operations.\n */\nclass ActorQueryOperationNop extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'nop');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n return {\n bindingsStream: new asynciterator_1.SingletonIterator(bindingsFactory.bindings()),\n metadata: () => Promise.resolve({\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 1 },\n variables: [],\n }),\n type: 'bindings',\n };\n }\n}\nexports.ActorQueryOperationNop = ActorQueryOperationNop;\n//# sourceMappingURL=ActorQueryOperationNop.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationNop\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationOrderBy = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst SortIterator_1 = require(\"./SortIterator\");\n/**\n * A comunica OrderBy Query Operation Actor.\n */\nclass ActorQueryOperationOrderBy extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'orderby');\n this.window = args.window ?? Number.POSITIVE_INFINITY;\n this.mediatorExpressionEvaluatorFactory = args.mediatorExpressionEvaluatorFactory;\n this.mediatorTermComparatorFactory = args.mediatorTermComparatorFactory;\n }\n async testOperation() {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const outputRaw = await this.mediatorQueryOperation.mediate({ operation: operation.input, context });\n const output = (0, utils_query_operation_1.getSafeBindings)(outputRaw);\n const options = { window: this.window };\n let { bindingsStream } = output;\n // Sorting backwards since the first one is the most important therefore should be ordered last.\n const orderByEvaluator = await this.mediatorTermComparatorFactory.mediate({ context });\n for (let i = operation.expressions.length - 1; i >= 0; i--) {\n let expr = operation.expressions[i];\n const isAscending = this.isAscending(expr);\n expr = this.extractSortExpression(expr);\n // Transform the stream by annotating it with the expr result\n const evaluator = await this.mediatorExpressionEvaluatorFactory\n .mediate({ algExpr: expr, context });\n const transform = async (bindings, next, push) => {\n try {\n const result = await evaluator.evaluate(bindings);\n push({ bindings, result });\n }\n catch (error) {\n // We ignore all Expression errors.\n // Other errors (likely programming mistakes) are still propagated.\n // I can't recall where this is defined in the spec.\n if (!(0, utils_expression_evaluator_1.isExpressionError)(error)) {\n bindingsStream.emit('error', error);\n }\n push({ bindings, result: undefined });\n }\n next();\n };\n // eslint-disable-next-line ts/no-misused-promises\n const transformedStream = bindingsStream.transform({ transform });\n // Sort the annoted stream\n const sortedStream = new SortIterator_1.SortIterator(transformedStream, (left, right) => {\n let compare = orderByEvaluator.orderTypes(left.result, right.result);\n if (!isAscending) {\n compare *= -1;\n }\n return compare;\n }, options);\n // Remove the annotation\n bindingsStream = sortedStream.map(({ bindings }) => bindings);\n }\n return {\n type: 'bindings',\n bindingsStream,\n metadata: output.metadata,\n };\n }\n // Remove descending operator if necessary\n extractSortExpression(expr) {\n const { expressionType, operator } = expr;\n if (expressionType !== sparqlalgebrajs_1.Algebra.expressionTypes.OPERATOR) {\n return expr;\n }\n return operator === 'desc' ?\n expr.args[0] :\n expr;\n }\n isAscending(expr) {\n const { expressionType, operator } = expr;\n if (expressionType !== sparqlalgebrajs_1.Algebra.expressionTypes.OPERATOR) {\n return true;\n }\n return operator !== 'desc';\n }\n}\nexports.ActorQueryOperationOrderBy = ActorQueryOperationOrderBy;\n//# sourceMappingURL=ActorQueryOperationOrderBy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SortIterator = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\n// Based on https://github.com/LinkedDataFragments/Client.js/blob/master/lib/sparql/SortIterator.js\nclass SortIterator extends asynciterator_1.TransformIterator {\n constructor(source, sort, options) {\n super(source, options);\n // The `window` parameter indicates the length of the sliding window to apply sorting\n const window = options && options.window;\n this.windowLength = Number.isFinite(window) && window > 0 ? window : Number.POSITIVE_INFINITY;\n this.sort = sort;\n this.sorted = [];\n }\n // Reads the smallest item in the current sorting window\n _read(count, done) {\n let item;\n let { length } = this.sorted;\n // Try to read items until we reach the desired window length\n while (length !== this.windowLength) {\n item = this.source.read();\n if (item === null) {\n break;\n }\n // Insert the item in the sorted window (smallest last)\n let left = 0;\n let right = length - 1;\n let mid;\n let order;\n while (left <= right) {\n mid = Math.trunc((left + right) / 2);\n order = this.sort(item, this.sorted[mid]);\n if (order < 0) {\n left = mid + 1;\n }\n else if (order > 0) {\n right = mid - 1;\n }\n else {\n left = mid;\n right = -1;\n }\n }\n this.sorted.splice(left, 0, item);\n length++;\n }\n // Push the smallest item in the window\n if (length === this.windowLength) {\n this._push(this.sorted.pop());\n }\n done();\n }\n // Flushes remaining data after the source has ended\n _flush(done) {\n let { length } = this.sorted;\n while (length--) {\n this._push(this.sorted.pop());\n }\n done();\n }\n}\nexports.SortIterator = SortIterator;\n//# sourceMappingURL=SortIterator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationOrderBy\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathAlt = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst actor_query_operation_union_1 = require(\"@comunica/actor-query-operation-union\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path Alt Query Operation Actor.\n */\nclass ActorQueryOperationPathAlt extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.ALT);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const predicate = operation.predicate;\n const subOperations = (await Promise.all(predicate.input\n .map(subPredicate => this.mediatorQueryOperation.mediate({\n context,\n operation: algebraFactory.createPath(operation.subject, subPredicate, operation.object, operation.graph),\n }))))\n .map(utils_query_operation_1.getSafeBindings);\n const bindingsStream = new asynciterator_1.UnionIterator(subOperations.map(op => op.bindingsStream), { autoStart: false });\n const metadata = () => Promise.all(subOperations.map(output => output.metadata()))\n .then(subMeta => actor_query_operation_union_1.ActorQueryOperationUnion\n .unionMetadata(subMeta, true, context, this.mediatorRdfMetadataAccumulate));\n return {\n type: 'bindings',\n bindingsStream,\n metadata,\n };\n }\n}\nexports.ActorQueryOperationPathAlt = ActorQueryOperationPathAlt;\n//# sourceMappingURL=ActorQueryOperationPathAlt.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathAlt\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathInv = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path Inv Query Operation Actor.\n */\nclass ActorQueryOperationPathInv extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.INV);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const predicate = operation.predicate;\n const invPath = algebraFactory.createPath(operation.object, predicate.path, operation.subject, operation.graph);\n return this.mediatorQueryOperation.mediate({ operation: invPath, context });\n }\n}\nexports.ActorQueryOperationPathInv = ActorQueryOperationPathInv;\n//# sourceMappingURL=ActorQueryOperationPathInv.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathInv\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathLink = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path Link Query Operation Actor.\n */\nclass ActorQueryOperationPathLink extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.LINK);\n }\n async runOperation(operationOriginal, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const predicate = operationOriginal.predicate;\n const operation = Object.assign(algebraFactory.createPattern(operationOriginal.subject, predicate.iri, operationOriginal.object, operationOriginal.graph), { metadata: predicate.metadata });\n return this.mediatorQueryOperation.mediate({ operation, context });\n }\n}\nexports.ActorQueryOperationPathLink = ActorQueryOperationPathLink;\n//# sourceMappingURL=ActorQueryOperationPathLink.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathLink\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathNps = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path Nps Query Operation Actor.\n */\nclass ActorQueryOperationPathNps extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.NPS);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const predicate = operation.predicate;\n const blank = this.generateVariable(dataFactory, operation);\n const pattern = Object.assign(algebraFactory\n .createPattern(operation.subject, blank, operation.object, operation.graph), { metadata: predicate.metadata });\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation: pattern, context }));\n // Remove the generated blank nodes from the bindings\n const bindingsStream = output.bindingsStream\n .map(bindings => predicate.iris.some(iri => iri.equals(bindings.get(blank))) ? null : bindings.delete(blank));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: output.metadata,\n };\n }\n}\nexports.ActorQueryOperationPathNps = ActorQueryOperationPathNps;\n//# sourceMappingURL=ActorQueryOperationPathNps.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathNps\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathOneOrMore = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path OneOrMore Query Operation Actor.\n */\nclass ActorQueryOperationPathOneOrMore extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.ONE_OR_MORE_PATH);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n const distinct = await this.isPathArbitraryLengthDistinct(algebraFactory, context, operation);\n if (distinct.operation) {\n return distinct.operation;\n }\n context = distinct.context;\n const predicate = operation.predicate;\n if (operation.subject.termType !== 'Variable' && operation.object.termType === 'Variable') {\n const objectVar = operation.object;\n const starEval = await this.getObjectsPredicateStarEval(operation.subject, predicate.path, objectVar, operation.graph, context, false, algebraFactory, bindingsFactory);\n const variables = (operation.graph.termType === 'Variable' ? [objectVar, operation.graph] : [objectVar])\n .map(variable => ({ variable, canBeUndef: false }));\n return {\n type: 'bindings',\n bindingsStream: starEval.bindingsStream,\n metadata: async () => ({ ...await starEval.metadata(), variables }),\n };\n }\n if (operation.subject.termType === 'Variable' && operation.object.termType === 'Variable') {\n // Get all the results of subjects with same predicate, but once, then fill in first variable for those\n const single = algebraFactory.createDistinct(algebraFactory.createPath(operation.subject, operation.predicate.path, operation.object, operation.graph));\n const results = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ context, operation: single }));\n const subjectVar = operation.subject;\n const objectVar = operation.object;\n const termHashes = {};\n const bindingsStream = new asynciterator_1.MultiTransformIterator(results.bindingsStream, {\n multiTransform: (bindings) => {\n const subject = bindings.get(subjectVar);\n const object = bindings.get(objectVar);\n const graph = operation.graph.termType === 'Variable' ? bindings.get(operation.graph) : operation.graph;\n return new asynciterator_1.TransformIterator(async () => {\n const it = new asynciterator_1.BufferedIterator();\n await this.getSubjectAndObjectBindingsPredicateStar(subjectVar, objectVar, subject, object, predicate.path, graph, context, termHashes, {}, it, { count: 0 }, algebraFactory, bindingsFactory);\n return it.transform({\n transform(item, next, push) {\n if (operation.graph.termType === 'Variable') {\n item = item.set(operation.graph, graph);\n }\n push(item);\n next();\n },\n });\n }, { maxBufferSize: 128 });\n },\n autoStart: false,\n });\n const variables = (operation.graph.termType === 'Variable' ?\n [subjectVar, objectVar, operation.graph] :\n [subjectVar, objectVar])\n .map(variable => ({ variable, canBeUndef: false }));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: async () => ({ ...await results.metadata(), variables }),\n };\n }\n if (operation.subject.termType === 'Variable' && operation.object.termType !== 'Variable') {\n return this.mediatorQueryOperation.mediate({\n context,\n operation: algebraFactory.createPath(operation.object, algebraFactory.createOneOrMorePath(algebraFactory.createInv(predicate.path)), operation.subject, operation.graph),\n });\n }\n // If (!sVar && !oVar)\n const variable = this.generateVariable(dataFactory);\n const results = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({\n context,\n operation: algebraFactory.createPath(operation.subject, predicate, variable, operation.graph),\n }));\n const bindingsStream = results.bindingsStream.transform({\n filter: item => operation.object.equals(item.get(variable)),\n transform(item, next, push) {\n const binding = operation.graph.termType === 'Variable' ?\n bindingsFactory.bindings([[operation.graph, item.get(operation.graph)]]) :\n bindingsFactory.bindings();\n push(binding);\n next();\n },\n });\n return {\n type: 'bindings',\n bindingsStream,\n metadata: async () => ({\n ...await results.metadata(),\n variables: (operation.graph.termType === 'Variable' ? [operation.graph] : [])\n .map(variable => ({ variable, canBeUndef: false })),\n }),\n };\n }\n}\nexports.ActorQueryOperationPathOneOrMore = ActorQueryOperationPathOneOrMore;\n//# sourceMappingURL=ActorQueryOperationPathOneOrMore.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathOneOrMore\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathSeq = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path Seq Query Operation Actor.\n */\nclass ActorQueryOperationPathSeq extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.SEQ);\n }\n async runOperation(operationOriginal, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const predicate = operationOriginal.predicate;\n let joiner = operationOriginal.subject;\n const generatedVariableNames = [];\n const entries = await Promise.all(predicate.input\n .map((subPredicate, i) => {\n const nextJoiner = i === predicate.input.length - 1 ? operationOriginal.object : this.generateVariable(dataFactory, operationOriginal, `b${i}`);\n const operation = algebraFactory\n .createPath(joiner, subPredicate, nextJoiner, operationOriginal.graph);\n const output = this.mediatorQueryOperation.mediate({\n context,\n operation,\n });\n joiner = nextJoiner;\n if (i < predicate.input.length - 1) {\n generatedVariableNames.push(nextJoiner);\n }\n return { output, operation };\n })\n .map(async ({ output, operation }) => ({\n output: (0, utils_query_operation_1.getSafeBindings)(await output),\n operation,\n })));\n const join = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorJoin\n .mediate({ type: 'inner', entries, context }));\n // Remove the generated variable from the bindings\n const bindingsStream = join.bindingsStream.transform({\n transform(item, next, push) {\n for (const generatedVariableName of generatedVariableNames) {\n item = item.delete(generatedVariableName);\n }\n push(item);\n next();\n },\n });\n // Remove the generated variable from the list of variables\n return {\n type: 'bindings',\n bindingsStream,\n async metadata() {\n const joinMetadata = await join.metadata();\n const variables = joinMetadata.variables.filter(variable => !generatedVariableNames\n .some(generatedVariableName => generatedVariableName.value === variable.variable.value));\n return { ...joinMetadata, variables };\n },\n };\n }\n}\nexports.ActorQueryOperationPathSeq = ActorQueryOperationPathSeq;\n//# sourceMappingURL=ActorQueryOperationPathSeq.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathSeq\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathZeroOrMore = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path ZeroOrMore Query Operation Actor.\n */\nclass ActorQueryOperationPathZeroOrMore extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.ZERO_OR_MORE_PATH);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n const distinct = await this.isPathArbitraryLengthDistinct(algebraFactory, context, operation);\n if (distinct.operation) {\n return distinct.operation;\n }\n context = distinct.context;\n const predicate = operation.predicate;\n const sources = this.getPathSources(predicate);\n const sVar = operation.subject.termType === 'Variable';\n const oVar = operation.object.termType === 'Variable';\n if (operation.subject.termType === 'Variable' && operation.object.termType === 'Variable') {\n // Query ?s ?p ?o, to get all possible namedNodes in de the db\n const predVar = this.generateVariable(dataFactory, operation);\n const single = this.assignPatternSources(algebraFactory, algebraFactory\n .createPattern(operation.subject, predVar, operation.object, operation.graph), sources);\n const results = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ context, operation: single }));\n const subjectVar = operation.subject;\n const objectVar = operation.object;\n // Set with all namedNodes we have already started a predicate* search from\n const entities = new Set();\n const termHashes = {};\n const bindingsStream = new asynciterator_1.MultiTransformIterator(results.bindingsStream, {\n multiTransform: (bindings) => {\n // Get the subject and object of the triples (?s ?p ?o) and extract graph if it was a variable\n const subject = bindings.get(subjectVar);\n const object = bindings.get(objectVar);\n const graph = operation.graph.termType === 'Variable' ?\n bindings.get(operation.graph) :\n operation.graph;\n // Make a hash of namedNode + graph to remember from where we already started a search\n const subjectGraphHash = (0, rdf_string_1.termToString)(subject) + (0, rdf_string_1.termToString)(graph);\n const objectGraphHash = (0, rdf_string_1.termToString)(object) + (0, rdf_string_1.termToString)(graph);\n return new asynciterator_1.TransformIterator(async () => {\n // If no new namedNodes in this triple, return nothing\n if (entities.has(subjectGraphHash) && entities.has(objectGraphHash)) {\n return new asynciterator_1.EmptyIterator();\n }\n // Set up an iterator to which getSubjectAndObjectBindingsPredicateStar will push solutions\n const it = new asynciterator_1.BufferedIterator();\n const counter = { count: 0 };\n // If not started from this namedNode (subject in triple) in this graph, start a search\n if (!entities.has(subjectGraphHash)) {\n entities.add(subjectGraphHash);\n await this.getSubjectAndObjectBindingsPredicateStar(subjectVar, objectVar, subject, subject, predicate.path, graph, context, termHashes, {}, it, counter, algebraFactory, bindingsFactory);\n }\n // If not started from this namedNode (object in triple) in this graph, start a search\n if (!entities.has(objectGraphHash)) {\n entities.add(objectGraphHash);\n await this.getSubjectAndObjectBindingsPredicateStar(subjectVar, objectVar, object, object, predicate.path, graph, context, termHashes, {}, it, counter, algebraFactory, bindingsFactory);\n }\n return it.transform({\n transform(item, next, push) {\n // If the graph was a variable, fill in it's binding (we got it from the ?s ?p ?o binding)\n if (operation.graph.termType === 'Variable') {\n item = item.set(operation.graph, graph);\n }\n push(item);\n next();\n },\n });\n });\n },\n });\n const variables = (operation.graph.termType === 'Variable' ?\n [subjectVar, operation.object, operation.graph] :\n [subjectVar, operation.object])\n .map(variable => ({ variable, canBeUndef: false }));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: async () => ({ ...await results.metadata(), variables }),\n };\n }\n if (!sVar && !oVar) {\n const variable = this.generateVariable(dataFactory);\n const starEval = await this.getObjectsPredicateStarEval(operation.subject, predicate.path, variable, operation.graph, context, true, algebraFactory, bindingsFactory);\n // Check this\n const bindingsStream = starEval.bindingsStream.transform({\n filter: item => operation.object.equals(item.get(variable)),\n transform(item, next, push) {\n // Return graph binding if graph was a variable, otherwise empty binding\n const binding = operation.graph.termType === 'Variable' ?\n bindingsFactory.bindings([[operation.graph, item.get(operation.graph)]]) :\n bindingsFactory.bindings();\n push(binding);\n next();\n },\n });\n return {\n type: 'bindings',\n bindingsStream,\n metadata: async () => ({\n ...await starEval.metadata(),\n variables: (operation.graph.termType === 'Variable' ? [operation.graph] : [])\n .map(variable => ({ variable, canBeUndef: false })),\n }),\n };\n }\n // If (sVar || oVar)\n const subject = sVar ? operation.object : operation.subject;\n const value = (sVar ? operation.subject : operation.object);\n const pred = sVar ? algebraFactory.createInv(predicate.path) : predicate.path;\n const starEval = await this.getObjectsPredicateStarEval(subject, pred, value, operation.graph, context, true, algebraFactory, bindingsFactory);\n const variables = (operation.graph.termType === 'Variable' ? [value, operation.graph] : [value])\n .map(variable => ({ variable, canBeUndef: false }));\n return {\n type: 'bindings',\n bindingsStream: starEval.bindingsStream,\n metadata: async () => ({ ...await starEval.metadata(), variables }),\n };\n }\n}\nexports.ActorQueryOperationPathZeroOrMore = ActorQueryOperationPathZeroOrMore;\n//# sourceMappingURL=ActorQueryOperationPathZeroOrMore.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathZeroOrMore\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationPathZeroOrOne = void 0;\nconst actor_abstract_path_1 = require(\"@comunica/actor-abstract-path\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Path ZeroOrOne Query Operation Actor.\n */\nclass ActorQueryOperationPathZeroOrOne extends actor_abstract_path_1.ActorAbstractPath {\n constructor(args) {\n super(args, sparqlalgebrajs_1.Algebra.types.ZERO_OR_ONE_PATH);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n const predicate = operation.predicate;\n const sources = this.getPathSources(predicate);\n const extra = [];\n // Both subject and object non-variables\n if (operation.subject.termType !== 'Variable' &&\n operation.object.termType !== 'Variable' &&\n operation.subject.equals(operation.object)) {\n return {\n type: 'bindings',\n bindingsStream: new asynciterator_1.SingletonIterator(bindingsFactory.bindings()),\n metadata: () => Promise.resolve({\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 1 },\n variables: [],\n }),\n };\n }\n // Check if we require a distinct path operation\n const distinct = await this.isPathArbitraryLengthDistinct(algebraFactory, context, operation);\n if (distinct.operation) {\n return distinct.operation;\n }\n context = distinct.context;\n // Create an operator that resolve to the \"One\" part\n const bindingsOne = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({\n context,\n operation: algebraFactory.createPath(operation.subject, predicate.path, operation.object, operation.graph),\n }));\n // Determine the bindings stream based on the variable-ness of subject and object\n let bindingsStream;\n if (operation.subject.termType === 'Variable' && operation.object.termType === 'Variable') {\n // Both subject and object are variables\n // To determine the \"Zero\" part, we\n // query ?s ?p ?o. FILTER ?s = ?0, to get all possible namedNodes in de the db\n const varP = this.generateVariable(dataFactory, operation);\n const bindingsZero = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({\n context,\n operation: algebraFactory.createFilter(this.assignPatternSources(algebraFactory, algebraFactory\n .createPattern(operation.subject, varP, operation.object, operation.graph), sources), algebraFactory.createOperatorExpression('=', [\n algebraFactory.createTermExpression(operation.subject),\n algebraFactory.createTermExpression(operation.object),\n ])),\n })).bindingsStream.map(bindings => bindings.delete(varP));\n bindingsStream = new asynciterator_1.UnionIterator([\n bindingsZero,\n bindingsOne.bindingsStream,\n ], { autoStart: false });\n }\n else {\n // If subject or object is not a variable, then determining the \"Zero\" part is simple.\n if (operation.subject.termType === 'Variable') {\n extra.push(bindingsFactory.bindings([[operation.subject, operation.object]]));\n }\n if (operation.object.termType === 'Variable') {\n extra.push(bindingsFactory.bindings([[operation.object, operation.subject]]));\n }\n bindingsStream = bindingsOne.bindingsStream.prepend(extra);\n }\n const metadata = async () => {\n const innerMetadata = await bindingsOne.metadata();\n return {\n ...innerMetadata,\n cardinality: {\n ...innerMetadata.cardinality,\n // Add one to cardinality because we allow *ZERO* or more.\n value: innerMetadata.cardinality.value + 1,\n },\n };\n };\n return {\n type: 'bindings',\n bindingsStream,\n metadata,\n };\n }\n}\nexports.ActorQueryOperationPathZeroOrOne = ActorQueryOperationPathZeroOrOne;\n//# sourceMappingURL=ActorQueryOperationPathZeroOrOne.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationPathZeroOrOne\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationProject = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_data_factory_1 = require(\"@comunica/utils-data-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Project Query Operation Actor.\n */\nclass ActorQueryOperationProject extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'project');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n // Resolve the input\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation: operation.input, context }));\n // Index variables\n const outputMetadata = await output.metadata();\n const variablesOutputIndexed = Object\n .fromEntries(outputMetadata.variables.map(entry => [entry.variable.value, entry]));\n const variablesOperation = operation.variables.map(v => ({ variable: v, canBeUndef: false }));\n const variablesOperationIndexed = Object\n .fromEntries(variablesOperation.map(entry => [entry.variable.value, entry]));\n // Find all variables that should be deleted from the input stream.\n const deleteVariables = outputMetadata.variables\n .filter(variable => !(variable.variable.value in variablesOperationIndexed));\n // Determine if variables can be undef\n const variablesOutput = variablesOperation.map(variable => ({\n variable: variable.variable,\n canBeUndef: !(variable.variable.value in variablesOutputIndexed) ||\n variablesOutputIndexed[variable.variable.value].canBeUndef,\n }));\n // Make sure the project variables are the only variables that are present in the bindings.\n let bindingsStream = deleteVariables.length === 0 ?\n output.bindingsStream :\n output.bindingsStream.map((bindings) => {\n for (const deleteVariable of deleteVariables) {\n bindings = bindings.delete(deleteVariable.variable);\n }\n return bindings;\n });\n // Make sure that blank nodes with same labels are not reused over different bindings, as required by SPARQL 1.1.\n // Required for the BNODE() function: https://www.w3.org/TR/sparql11-query/#func-bnode\n // When we have a scoped blank node, make sure the skolemized value is maintained.\n let blankNodeCounter = 0;\n bindingsStream = bindingsStream.map((bindings) => {\n blankNodeCounter++;\n const scopedBlankNodesCache = new Map();\n return bindings.map((term) => {\n if (term instanceof utils_data_factory_1.BlankNodeBindingsScoped) {\n let scopedBlankNode = scopedBlankNodesCache.get(term.value);\n if (!scopedBlankNode) {\n scopedBlankNode = dataFactory.blankNode(`${term.value}${blankNodeCounter}`);\n scopedBlankNodesCache.set(term.value, scopedBlankNode);\n }\n return scopedBlankNode;\n }\n return term;\n });\n });\n return {\n type: 'bindings',\n bindingsStream,\n metadata: async () => ({ ...outputMetadata, variables: variablesOutput }),\n };\n }\n}\nexports.ActorQueryOperationProject = ActorQueryOperationProject;\n//# sourceMappingURL=ActorQueryOperationProject.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationProject\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationReducedHash = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst lru_cache_1 = require(\"lru-cache\");\n/**\n * A comunica Reduced Hash Query Operation Actor.\n */\nclass ActorQueryOperationReducedHash extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'reduced');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation: operation.input, context }));\n const variables = (await output.metadata()).variables.map(v => v.variable);\n const bindingsStream = output.bindingsStream.filter(await this.newHashFilter(context, variables));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: output.metadata,\n };\n }\n /**\n * Create a new distinct filter function.\n * This will maintain an internal hash datastructure so that every bindings object only returns true once.\n * @param context The action context.\n * @param variables The variables to take into account while hashing.\n * @return {(bindings: Bindings) => boolean} A distinct filter for bindings.\n */\n async newHashFilter(context, variables) {\n const { hashFunction } = await this.mediatorHashBindings.mediate({ context });\n const hashes = new lru_cache_1.LRUCache({ max: this.cacheSize });\n return (bindings) => {\n const hash = hashFunction(bindings, variables);\n if (hashes.has(hash)) {\n return false;\n }\n hashes.set(hash, true);\n return true;\n };\n }\n}\nexports.ActorQueryOperationReducedHash = ActorQueryOperationReducedHash;\n//# sourceMappingURL=ActorQueryOperationReducedHash.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationReducedHash\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationService = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A comunica Service Query Operation Actor.\n * It unwraps the SERVICE operation and executes it on the given source.\n */\nclass ActorQueryOperationService extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'service');\n }\n async testOperation(operation, _context) {\n if (operation.name.termType !== 'NamedNode') {\n return (0, core_1.failTest)(`${this.name} can only query services by IRI, while a ${operation.name.termType} was given.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n // Identify the SERVICE target as query source\n const { querySource } = await this.mediatorQuerySourceIdentify.mediate({\n querySourceUnidentified: {\n value: operation.name.value,\n type: this.forceSparqlEndpoint ? 'sparql' : undefined,\n },\n context,\n });\n // Attach the source to the operation, and execute\n let output;\n try {\n output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({\n operation: (0, utils_query_operation_1.assignOperationSource)(operation.input, querySource),\n context,\n }));\n }\n catch (error) {\n if (operation.silent) {\n // Emit a single empty binding\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n output = {\n bindingsStream: new asynciterator_1.SingletonIterator(bindingsFactory.bindings()),\n type: 'bindings',\n metadata: async () => ({\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 1 },\n variables: [],\n }),\n };\n this.logWarn(context, `An error occurred when executing a SERVICE clause: ${error.message}`);\n }\n else {\n throw error;\n }\n }\n return output;\n }\n}\nexports.ActorQueryOperationService = ActorQueryOperationService;\n//# sourceMappingURL=ActorQueryOperationService.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationService\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationSlice = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Slice Query Operation Actor.\n */\nclass ActorQueryOperationSlice extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'slice');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n // Add limit indicator to the context, which can be used for query planning\n // eslint-disable-next-line unicorn/explicit-length-check\n if (operation.length) {\n context = context.set(context_entries_1.KeysQueryOperation.limitIndicator, operation.length);\n }\n // Resolve the input\n const output = await this.mediatorQueryOperation\n .mediate({ operation: operation.input, context });\n if (output.type === 'bindings') {\n const bindingsStream = this.sliceStream(output.bindingsStream, operation);\n return {\n type: 'bindings',\n bindingsStream,\n metadata: this.sliceMetadata(output, operation),\n };\n }\n if (output.type === 'quads') {\n const quadStream = this.sliceStream(output.quadStream, operation);\n return {\n type: 'quads',\n quadStream,\n metadata: this.sliceMetadata(output, operation),\n };\n }\n // In all other cases, return the result as-is.\n return output;\n }\n // Slice the stream based on the pattern values\n sliceStream(stream, pattern) {\n // eslint-disable-next-line unicorn/explicit-length-check\n const hasLength = Boolean(pattern.length) || pattern.length === 0;\n const { start } = pattern;\n const end = hasLength ? pattern.start + pattern.length - 1 : Number.POSITIVE_INFINITY;\n return stream.transform({ offset: start, limit: Math.max(end - start + 1, 0), autoStart: false });\n }\n // If we find metadata, apply slicing on the total number of items\n sliceMetadata(output, pattern) {\n // eslint-disable-next-line unicorn/explicit-length-check\n const hasLength = Boolean(pattern.length) || pattern.length === 0;\n return () => output.metadata()\n .then((subMetadata) => {\n const cardinality = { ...subMetadata.cardinality };\n if (Number.isFinite(cardinality.value)) {\n cardinality.value = Math.max(0, cardinality.value - pattern.start);\n if (hasLength) {\n cardinality.value = Math.min(cardinality.value, pattern.length);\n }\n }\n return { ...subMetadata, cardinality };\n });\n }\n}\nexports.ActorQueryOperationSlice = ActorQueryOperationSlice;\n//# sourceMappingURL=ActorQueryOperationSlice.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationSlice\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationSource = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Source Query Operation Actor.\n */\nclass ActorQueryOperationSource extends bus_query_operation_1.ActorQueryOperation {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (!(0, utils_query_operation_1.getOperationSource)(action.operation)) {\n return (0, core_1.failTest)(`Actor ${this.name} requires an operation with source annotation.`);\n }\n return (0, core_1.passTest)({ httpRequests: 1 });\n }\n async run(action) {\n // Log to physical plan\n const physicalQueryPlanLogger = action.context\n .get(context_entries_1.KeysInitQuery.physicalQueryPlanLogger);\n if (physicalQueryPlanLogger) {\n physicalQueryPlanLogger.logOperation(action.operation.type, undefined, action.operation, action.context.get(context_entries_1.KeysInitQuery.physicalQueryPlanNode), this.name, {});\n action.context = action.context.set(context_entries_1.KeysInitQuery.physicalQueryPlanNode, action.operation);\n }\n const sourceWrapper = (0, utils_query_operation_1.getOperationSource)(action.operation);\n const mergedContext = sourceWrapper.context ? action.context.merge(sourceWrapper.context) : action.context;\n // Check if the operation is a CONSTRUCT query\n // We recurse because it may be wrapped in other operations such as SLICE and FROM\n let construct = false;\n sparqlalgebrajs_1.Util.recurseOperation(action.operation, {\n construct() {\n construct = true;\n return false;\n },\n });\n // If so, delegate to queryQuads\n if (construct) {\n const quadStream = sourceWrapper.source.queryQuads(action.operation, mergedContext);\n const metadata = (0, utils_metadata_1.getMetadataQuads)(quadStream);\n return {\n type: 'quads',\n quadStream,\n metadata,\n };\n }\n // eslint-disable-next-line ts/switch-exhaustiveness-check\n switch (action.operation.type) {\n case sparqlalgebrajs_1.Algebra.types.ASK:\n return {\n type: 'boolean',\n execute: () => sourceWrapper.source.queryBoolean(action.operation, mergedContext),\n };\n case sparqlalgebrajs_1.Algebra.types.COMPOSITE_UPDATE:\n case sparqlalgebrajs_1.Algebra.types.DELETE_INSERT:\n case sparqlalgebrajs_1.Algebra.types.LOAD:\n case sparqlalgebrajs_1.Algebra.types.CLEAR:\n case sparqlalgebrajs_1.Algebra.types.CREATE:\n case sparqlalgebrajs_1.Algebra.types.DROP:\n case sparqlalgebrajs_1.Algebra.types.ADD:\n case sparqlalgebrajs_1.Algebra.types.MOVE:\n case sparqlalgebrajs_1.Algebra.types.COPY:\n return {\n type: 'void',\n execute: () => sourceWrapper.source.queryVoid(action.operation, mergedContext),\n };\n }\n const bindingsStream = sourceWrapper.source.queryBindings(action.operation, mergedContext);\n const metadata = (0, utils_metadata_1.getMetadataBindings)(bindingsStream);\n return {\n type: 'bindings',\n bindingsStream,\n metadata,\n };\n }\n}\nexports.ActorQueryOperationSource = ActorQueryOperationSource;\n//# sourceMappingURL=ActorQueryOperationSource.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationSource\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationUnion = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A comunica Union Query Operation Actor.\n */\nclass ActorQueryOperationUnion extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'union');\n }\n /**\n * Takes the union of the given double array variables.\n * Uniqueness is guaranteed.\n * @param {string[][]} variables Double array of variables to take the union of.\n * @return {string[]} The union of the given variables.\n */\n static unionVariables(variables) {\n const variablesIndexed = {};\n for (const variablesA of variables) {\n for (const variable of variablesA) {\n if (!variablesIndexed[variable.variable.value]) {\n variablesIndexed[variable.variable.value] = {\n variable: variable.variable,\n canBeUndef: variable.canBeUndef,\n occurrences: 0,\n };\n }\n const entry = variablesIndexed[variable.variable.value];\n entry.canBeUndef = entry.canBeUndef || variable.canBeUndef;\n entry.occurrences++;\n }\n }\n return Object.values(variablesIndexed)\n .map(entry => entry.occurrences === variables.length ?\n { variable: entry.variable, canBeUndef: entry.canBeUndef } :\n { variable: entry.variable, canBeUndef: true });\n }\n /**\n * Takes the union of the given metadata array.\n * It will ensure that the cardinality metadata value is properly calculated.\n * @param {{[p: string]: any}[]} metadatas Array of metadata.\n * @param bindings If the union of the variables field should also be taken.\n * @param context The action context\n * @param mediatorRdfMetadataAccumulate Mediator for metadata accumulation\n * @return {{[p: string]: any}} Union of the metadata.\n */\n static async unionMetadata(metadatas, bindings, context, mediatorRdfMetadataAccumulate) {\n let accumulatedMetadata = (await mediatorRdfMetadataAccumulate\n .mediate({ mode: 'initialize', context })).metadata;\n // Accumulate cardinality\n for (const appendingMetadata of metadatas) {\n accumulatedMetadata = {\n ...appendingMetadata,\n ...(await mediatorRdfMetadataAccumulate\n .mediate({\n mode: 'append',\n accumulatedMetadata: accumulatedMetadata,\n appendingMetadata: appendingMetadata,\n context,\n })).metadata,\n };\n }\n // Create new metadata state\n accumulatedMetadata.state = new utils_metadata_1.MetadataValidationState();\n // Propagate metadata invalidations\n const invalidateListener = () => accumulatedMetadata.state.invalidate();\n for (const metadata of metadatas) {\n metadata.state.addInvalidateListener(invalidateListener);\n }\n // Union variables\n if (bindings) {\n const variables = metadatas.map(metadata => metadata.variables);\n accumulatedMetadata.variables = ActorQueryOperationUnion.unionVariables(variables);\n }\n return accumulatedMetadata;\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n // Determine the type over which we are taking a union\n const outputsRaw = await Promise.all(operation.input\n .map(subOperation => this.mediatorQueryOperation.mediate({ operation: subOperation, context })));\n let outputType;\n for (const output of outputsRaw) {\n if (outputType === undefined) {\n outputType = output.type;\n }\n else if (outputType !== output.type) {\n throw new Error(`Unable to union ${outputType} and ${output.type}`);\n }\n }\n // Handle bindings\n if (outputType === 'bindings' || operation.input.length === 0) {\n const outputs = outputsRaw.map(utils_query_operation_1.getSafeBindings);\n const bindingsStream = new asynciterator_1.UnionIterator(outputs.map((output) => output.bindingsStream), { autoStart: false });\n const metadata = () => Promise.all(outputs.map(output => output.metadata()))\n .then(subMeta => ActorQueryOperationUnion\n .unionMetadata(subMeta, true, context, this.mediatorRdfMetadataAccumulate));\n return { type: 'bindings', bindingsStream, metadata };\n }\n // Handle quads\n if (outputType === 'quads') {\n const outputs = outputsRaw.map(utils_query_operation_1.getSafeQuads);\n const quadStream = new asynciterator_1.UnionIterator(outputs.map((output) => output.quadStream), { autoStart: false });\n const metadata = () => Promise.all(outputs.map(output => output.metadata()))\n .then(subMeta => ActorQueryOperationUnion\n .unionMetadata(subMeta, false, context, this.mediatorRdfMetadataAccumulate));\n return { type: 'quads', quadStream, metadata };\n }\n // Throw otherwise\n throw new Error(`Unable to union ${outputType}`);\n }\n}\nexports.ActorQueryOperationUnion = ActorQueryOperationUnion;\n//# sourceMappingURL=ActorQueryOperationUnion.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationUnion\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationClear = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A [Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation) actor\n * that handles SPARQL clear operations.\n */\nclass ActorQueryOperationClear extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'clear');\n }\n async testOperation(operation, context) {\n return (0, utils_query_operation_1.testReadOnly)(context);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n // Delegate to update-quads bus\n let graphs;\n if (operation.source === 'DEFAULT') {\n graphs = dataFactory.defaultGraph();\n }\n else if (typeof operation.source === 'string') {\n graphs = operation.source;\n }\n else {\n graphs = [operation.source];\n }\n const { execute } = await this.mediatorUpdateQuads.mediate({\n deleteGraphs: {\n graphs,\n requireExistence: !operation.silent,\n dropGraphs: false,\n },\n context,\n });\n return {\n type: 'void',\n execute,\n };\n }\n}\nexports.ActorQueryOperationClear = ActorQueryOperationClear;\n//# sourceMappingURL=ActorQueryOperationClear.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationClear\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationUpdateCompositeUpdate = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A comunica Update CompositeUpdate Query Operation Actor.\n */\nclass ActorQueryOperationUpdateCompositeUpdate extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'compositeupdate');\n }\n async testOperation(operation, context) {\n return (0, utils_query_operation_1.testReadOnly)(context);\n }\n async runOperation(operationOriginal, context) {\n const execute = () => (async () => {\n // Execute update operations in sequence\n for (const operation of operationOriginal.updates) {\n const subResult = (0, utils_query_operation_1.getSafeVoid)(await this.mediatorQueryOperation.mediate({ operation, context }));\n await subResult.execute();\n }\n })();\n return {\n type: 'void',\n execute,\n };\n }\n}\nexports.ActorQueryOperationUpdateCompositeUpdate = ActorQueryOperationUpdateCompositeUpdate;\n//# sourceMappingURL=ActorQueryOperationUpdateCompositeUpdate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationUpdateCompositeUpdate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationCreate = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A [Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation) actor that\n * handles SPARQL create operations.\n */\nclass ActorQueryOperationCreate extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'create');\n }\n async testOperation(operation, context) {\n return (0, utils_query_operation_1.testReadOnly)(context);\n }\n async runOperation(operation, context) {\n // Delegate to update-quads bus\n const { execute } = await this.mediatorUpdateQuads.mediate({\n createGraphs: {\n graphs: [operation.source],\n requireNonExistence: !operation.silent,\n },\n context,\n });\n return {\n type: 'void',\n execute,\n };\n }\n}\nexports.ActorQueryOperationCreate = ActorQueryOperationCreate;\n//# sourceMappingURL=ActorQueryOperationCreate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationCreate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationUpdateDeleteInsert = void 0;\nconst actor_query_operation_construct_1 = require(\"@comunica/actor-query-operation-construct\");\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A comunica Update DeleteInsert Query Operation Actor.\n */\nclass ActorQueryOperationUpdateDeleteInsert extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'deleteinsert');\n this.blankNodeCounter = 0;\n }\n async testOperation(operation, context) {\n return (0, utils_query_operation_1.testReadOnly)(context);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n // Evaluate the where clause\n const whereBindings = operation.where ?\n (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation\n .mediate({ operation: operation.where, context })).bindingsStream :\n new asynciterator_1.ArrayIterator([bindingsFactory.bindings()], { autoStart: false });\n // Construct triples using the result based on the pattern.\n let quadStreamInsert;\n let quadStreamDelete;\n if (operation.insert) {\n // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls\n quadStreamInsert = new actor_query_operation_construct_1.BindingsToQuadsIterator(dataFactory, operation.insert.map(actor_query_operation_construct_1.BindingsToQuadsIterator.localizeQuad.bind(null, dataFactory, this.blankNodeCounter)), whereBindings.clone());\n this.blankNodeCounter++;\n }\n if (operation.delete) {\n // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls\n quadStreamDelete = new actor_query_operation_construct_1.BindingsToQuadsIterator(dataFactory, operation.delete.map(actor_query_operation_construct_1.BindingsToQuadsIterator.localizeQuad.bind(null, dataFactory, this.blankNodeCounter)), whereBindings.clone());\n this.blankNodeCounter++;\n }\n // Evaluate the required modifications\n const { execute } = await this.mediatorUpdateQuads.mediate({\n quadStreamInsert,\n quadStreamDelete,\n context,\n });\n return {\n type: 'void',\n execute,\n };\n }\n}\nexports.ActorQueryOperationUpdateDeleteInsert = ActorQueryOperationUpdateDeleteInsert;\n//# sourceMappingURL=ActorQueryOperationUpdateDeleteInsert.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationUpdateDeleteInsert\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationDrop = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\n/**\n * A [Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation) actor\n * that handles SPARQL drop operations.\n */\nclass ActorQueryOperationDrop extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'drop');\n }\n async testOperation(operation, context) {\n return (0, utils_query_operation_1.testReadOnly)(context);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n // Delegate to update-quads bus\n let graphs;\n if (operation.source === 'DEFAULT') {\n graphs = dataFactory.defaultGraph();\n }\n else if (typeof operation.source === 'string') {\n graphs = operation.source;\n }\n else {\n graphs = [operation.source];\n }\n const { execute } = await this.mediatorUpdateQuads.mediate({\n deleteGraphs: {\n graphs,\n requireExistence: !operation.silent,\n dropGraphs: true,\n },\n context,\n });\n return {\n type: 'void',\n execute,\n };\n }\n}\nexports.ActorQueryOperationDrop = ActorQueryOperationDrop;\n//# sourceMappingURL=ActorQueryOperationDrop.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationDrop\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationLoad = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A [Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation) actor\n * that handles SPARQL load operations.\n */\nclass ActorQueryOperationLoad extends bus_query_operation_1.ActorQueryOperationTypedMediated {\n constructor(args) {\n super(args, 'load');\n }\n async testOperation(operation, context) {\n return (0, utils_query_operation_1.testReadOnly)(context);\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n // Determine query source\n let subContext = context;\n if (operation.silent) {\n subContext = subContext.set(context_entries_1.KeysInitQuery.lenient, true);\n }\n const { querySource } = await this.mediatorQuerySourceIdentify.mediate({\n querySourceUnidentified: { value: operation.source.value },\n context: subContext,\n });\n // Create CONSTRUCT query on the given source\n const output = (0, utils_query_operation_1.getSafeQuads)(await this.mediatorQueryOperation.mediate({\n operation: algebraFactory.createConstruct((0, utils_query_operation_1.assignOperationSource)(algebraFactory.createPattern(dataFactory.variable('s'), dataFactory.variable('p'), dataFactory.variable('o')), querySource), [algebraFactory\n .createPattern(dataFactory.variable('s'), dataFactory.variable('p'), dataFactory.variable('o'))]),\n context: subContext,\n }));\n // Determine quad stream to insert\n let quadStream = output.quadStream;\n if (operation.destination) {\n quadStream = quadStream\n .map(quad => dataFactory.quad(quad.subject, quad.predicate, quad.object, operation.destination));\n }\n // Insert quad stream\n const { execute } = await this.mediatorUpdateQuads.mediate({\n quadStreamInsert: quadStream,\n context,\n });\n return {\n type: 'void',\n execute,\n };\n }\n}\nexports.ActorQueryOperationLoad = ActorQueryOperationLoad;\n//# sourceMappingURL=ActorQueryOperationLoad.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationLoad\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationValues = void 0;\nconst bus_query_operation_1 = require(\"@comunica/bus-query-operation\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A comunica Values Query Operation Actor.\n */\nclass ActorQueryOperationValues extends bus_query_operation_1.ActorQueryOperationTyped {\n constructor(args) {\n super(args, 'values');\n }\n async testOperation(_operation, _context) {\n return (0, core_1.passTestVoid)();\n }\n async runOperation(operation, context) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n const bindingsStream = new asynciterator_1.ArrayIterator(operation.bindings\n .map(x => bindingsFactory.bindings(Object.entries(x)\n .map(([key, value]) => [dataFactory.variable(key.slice(1)), value]))));\n const metadata = () => Promise.resolve({\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: operation.bindings.length },\n variables: operation.variables.map(variable => ({\n variable,\n canBeUndef: operation.bindings.some(bindings => !(`?${variable.value}` in bindings)),\n })),\n });\n return { type: 'bindings', bindingsStream, metadata };\n }\n}\nexports.ActorQueryOperationValues = ActorQueryOperationValues;\n//# sourceMappingURL=ActorQueryOperationValues.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperationValues\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryParseGraphql = void 0;\nconst bus_query_parse_1 = require(\"@comunica/bus-query-parse\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst graphql_to_sparql_1 = require(\"graphql-to-sparql\");\n/**\n * A comunica GraphQL SPARQL Parse Actor.\n */\nclass ActorQueryParseGraphql extends bus_query_parse_1.ActorQueryParse {\n constructor(args) {\n super(args);\n this.graphqlToSparql = new graphql_to_sparql_1.Converter({ requireContext: true });\n }\n async test(action) {\n if (action.queryFormat?.language !== 'graphql') {\n return (0, core_1.failTest)('This actor can only parse GraphQL queries');\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const context = action.context.get(context_entries_1.KeysInitQuery.jsonLdContext) || {};\n const options = {\n // eslint-disable-next-line ts/no-unnecessary-type-assertion\n singularizeVariables: action.context.get(context_entries_1.KeysInitQuery.graphqlSingularizeVariables),\n };\n // TODO: pass data factory\n return { operation: await this.graphqlToSparql.graphqlToSparqlAlgebra(action.query, context, options) };\n }\n}\nexports.ActorQueryParseGraphql = ActorQueryParseGraphql;\n//# sourceMappingURL=ActorQueryParseGraphql.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryParseGraphql\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryParseSparql = void 0;\nconst bus_query_parse_1 = require(\"@comunica/bus-query-parse\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst sparqljs_1 = require(\"sparqljs\");\n/**\n * A comunica Algebra SPARQL Parse Actor.\n */\nclass ActorQueryParseSparql extends bus_query_parse_1.ActorQueryParse {\n constructor(args) {\n super(args);\n this.prefixes = Object.freeze(this.prefixes);\n }\n async test(action) {\n if (action.queryFormat && action.queryFormat.language !== 'sparql') {\n return (0, core_1.failTest)('This actor can only parse SPARQL queries');\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const parser = new sparqljs_1.Parser({\n prefixes: this.prefixes,\n baseIRI: action.baseIRI,\n sparqlStar: true,\n factory: dataFactory,\n });\n const parsedSyntax = parser.parse(action.query);\n const baseIRI = parsedSyntax.type === 'query' ? parsedSyntax.base : undefined;\n return {\n baseIRI,\n operation: (0, sparqlalgebrajs_1.translate)(parsedSyntax, {\n quads: true,\n prefixes: this.prefixes,\n blankToVariable: true,\n baseIRI: action.baseIRI,\n dataFactory,\n }),\n };\n }\n}\nexports.ActorQueryParseSparql = ActorQueryParseSparql;\n//# sourceMappingURL=ActorQueryParseSparql.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryParseSparql\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryProcessExplainLogical = void 0;\nconst bus_query_process_1 = require(\"@comunica/bus-query-process\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Explain Logical Query Process Actor.\n */\nclass ActorQueryProcessExplainLogical extends bus_query_process_1.ActorQueryProcess {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if ((action.context.get(context_entries_1.KeysInitQuery.explain) ??\n action.context.get(new core_1.ActionContextKey('explain'))) !== 'logical') {\n return (0, core_1.failTest)(`${this.name} can only explain in 'logical' mode.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Parse and optimize the query\n let { operation, context } = await this.queryProcessor.parse(action.query, action.context);\n ({ operation, context } = await this.queryProcessor.optimize(operation, context));\n return {\n result: {\n explain: true,\n type: 'logical',\n data: operation,\n },\n };\n }\n}\nexports.ActorQueryProcessExplainLogical = ActorQueryProcessExplainLogical;\n//# sourceMappingURL=ActorQueryProcessExplainLogical.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryProcessExplainLogical\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryProcessExplainParsed = void 0;\nconst bus_query_process_1 = require(\"@comunica/bus-query-process\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Explain Parsed Query Process Actor.\n */\nclass ActorQueryProcessExplainParsed extends bus_query_process_1.ActorQueryProcess {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if ((action.context.get(context_entries_1.KeysInitQuery.explain) ??\n action.context.get(new core_1.ActionContextKey('explain'))) !== 'parsed') {\n return (0, core_1.failTest)(`${this.name} can only explain in 'parsed' mode.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Parse the query\n const { operation } = await this.queryProcessor.parse(action.query, action.context);\n return {\n result: {\n explain: true,\n type: 'parsed',\n data: operation,\n },\n };\n }\n}\nexports.ActorQueryProcessExplainParsed = ActorQueryProcessExplainParsed;\n//# sourceMappingURL=ActorQueryProcessExplainParsed.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryProcessExplainParsed\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryProcessExplainPhysical = void 0;\nconst bus_query_process_1 = require(\"@comunica/bus-query-process\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst MemoryPhysicalQueryPlanLogger_1 = require(\"./MemoryPhysicalQueryPlanLogger\");\n/**\n * A comunica Explain Physical Query Process Actor.\n */\nclass ActorQueryProcessExplainPhysical extends bus_query_process_1.ActorQueryProcess {\n constructor(args) {\n super(args);\n }\n async test(action) {\n const mode = (action.context.get(context_entries_1.KeysInitQuery.explain) ?? action.context.get(new core_1.ActionContextKey('explain')));\n if (mode !== 'physical' && mode !== 'physical-json') {\n return (0, core_1.failTest)(`${this.name} can only explain in 'physical' or 'physical-json' mode.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Run all query processing steps in sequence\n let { operation, context } = await this.queryProcessor.parse(action.query, action.context);\n ({ operation, context } = await this.queryProcessor.optimize(operation, context));\n // If we need a physical query plan, store a physical query plan logger in the context, and collect it after exec\n const physicalQueryPlanLogger = new MemoryPhysicalQueryPlanLogger_1.MemoryPhysicalQueryPlanLogger();\n context = context.set(context_entries_1.KeysInitQuery.physicalQueryPlanLogger, physicalQueryPlanLogger);\n const output = await this.queryProcessor.evaluate(operation, context);\n // Make sure the whole result is produced\n switch (output.type) {\n case 'bindings':\n await output.bindingsStream.toArray();\n break;\n case 'quads':\n await output.quadStream.toArray();\n break;\n case 'boolean':\n await output.execute();\n break;\n case 'void':\n await output.execute();\n break;\n }\n const mode = (action.context.get(context_entries_1.KeysInitQuery.explain) ??\n action.context.getSafe(new core_1.ActionContextKey('explain')));\n return {\n result: {\n explain: true,\n type: mode,\n data: mode === 'physical' ? physicalQueryPlanLogger.toCompactString() : physicalQueryPlanLogger.toJson(),\n },\n };\n }\n}\nexports.ActorQueryProcessExplainPhysical = ActorQueryProcessExplainPhysical;\n//# sourceMappingURL=ActorQueryProcessExplainPhysical.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numberToString = exports.MemoryPhysicalQueryPlanLogger = void 0;\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A physical query plan logger that stores everything in memory.\n */\nclass MemoryPhysicalQueryPlanLogger {\n constructor() {\n this.planNodes = new Map();\n }\n logOperation(logicalOperator, physicalOperator, node, parentNode, actor, metadata) {\n const planNode = {\n actor,\n logicalOperator,\n physicalOperator,\n rawNode: node,\n children: [],\n metadata,\n };\n this.planNodes.set(node, planNode);\n if (this.rootNode) {\n if (!parentNode) {\n throw new Error(`Detected more than one parent-less node`);\n }\n const planParentNode = this.planNodes.get(parentNode);\n if (!planParentNode) {\n throw new Error(`Could not find parent node`);\n }\n planParentNode.children.push(planNode);\n }\n else {\n if (parentNode) {\n throw new Error(`No root node has been set yet, while a parent is being referenced`);\n }\n this.rootNode = planNode;\n }\n }\n stashChildren(node, filter) {\n const planNode = this.planNodes.get(node);\n if (!planNode) {\n throw new Error(`Could not find plan node`);\n }\n planNode.children = filter ? planNode.children.filter(filter) : [];\n }\n unstashChild(node, parentNode) {\n const planNode = this.planNodes.get(node);\n if (planNode) {\n const planParentNode = this.planNodes.get(parentNode);\n if (!planParentNode) {\n throw new Error(`Could not find plan parent node`);\n }\n planParentNode.children.push(planNode);\n }\n }\n appendMetadata(node, metadata) {\n const planNode = this.planNodes.get(node);\n if (planNode) {\n planNode.metadata = {\n ...planNode.metadata,\n ...metadata,\n };\n }\n }\n toJson() {\n return this.rootNode ? this.planNodeToJson(this.rootNode) : {};\n }\n planNodeToJson(node) {\n const data = {\n logical: node.logicalOperator,\n physical: node.physicalOperator,\n ...this.getLogicalMetadata(node.rawNode),\n ...this.compactMetadata(node.metadata),\n };\n if (node.children.length > 0) {\n data.children = node.children.map(child => this.planNodeToJson(child));\n }\n // Special case: compact children for bind joins.\n if (data.physical === 'bind' && data.children) {\n // Group children by query plan format\n const childrenGrouped = {};\n for (const child of data.children) {\n const lastSubChild = child.children?.at(-1) ?? child;\n const key = this.getPlanHash(lastSubChild).join(',');\n if (!childrenGrouped[key]) {\n childrenGrouped[key] = [];\n }\n childrenGrouped[key].push(child);\n }\n // Compact query plan occurrences\n const childrenCompact = [];\n for (const children of Object.values(childrenGrouped)) {\n childrenCompact.push({\n occurrences: children.length,\n firstOccurrence: children[0],\n });\n }\n // Replace children with compacted representation\n data.childrenCompact = childrenCompact;\n delete data.children;\n }\n return data;\n }\n getPlanHash(node) {\n let entries = [`${node.logical}-${node.physical}`];\n if (node.children) {\n entries = [\n ...entries,\n ...node.children.flatMap(child => this.getPlanHash(child)),\n ];\n }\n else if (node.childrenCompact) {\n entries = [\n ...entries,\n ...node.childrenCompact.flatMap(child => this.getPlanHash(child.firstOccurrence)),\n ];\n }\n return entries;\n }\n compactMetadata(metadata) {\n return Object.fromEntries(Object.entries(metadata)\n .map(([key, value]) => [key, this.compactMetadataValue(value)]));\n }\n compactMetadataValue(value) {\n return value && typeof value === 'object' && 'termType' in value ? this.getLogicalMetadata(value) : value;\n }\n getLogicalMetadata(rawNode) {\n const data = {};\n if ('type' in rawNode) {\n const operation = rawNode;\n if (operation.metadata?.scopedSource) {\n data.source = operation.metadata.scopedSource.source.toString();\n }\n // eslint-disable-next-line ts/switch-exhaustiveness-check\n switch (operation.type) {\n case 'pattern':\n data.pattern = this.quadToString(operation);\n break;\n case 'project':\n data.variables = operation.variables.map(variable => variable.value);\n break;\n }\n }\n return data;\n }\n quadToString(quad) {\n return `${(0, rdf_string_1.termToString)(quad.subject)} ${(0, rdf_string_1.termToString)(quad.predicate)} ${(0, rdf_string_1.termToString)(quad.object)}${quad.graph.termType === 'DefaultGraph' ? '' : ` ${(0, rdf_string_1.termToString)(quad.graph)}`}`;\n }\n toCompactString() {\n const node = this.toJson();\n const lines = [];\n const sources = new Map();\n if ('logical' in node) {\n this.nodeToCompactString(lines, sources, '', node);\n }\n else {\n lines.push('Empty');\n }\n if (sources.size > 0) {\n lines.push('');\n lines.push('sources:');\n for (const [key, id] of sources.entries()) {\n lines.push(` ${id}: ${key}`);\n }\n }\n return lines.join('\\n');\n }\n nodeToCompactString(lines, sources, indent, node, metadata) {\n let sourceId;\n if (node.source) {\n sourceId = sources.get(node.source);\n if (sourceId === undefined) {\n sourceId = sources.size;\n sources.set(node.source, sourceId);\n }\n }\n lines.push(`${indent}${node.logical}${node.physical ? `(${node.physical})` : ''}${node.pattern ? ` (${node.pattern})` : ''}${node.variables ? ` (${node.variables.join(',')})` : ''}${node.bindOperation ? ` bindOperation:(${node.bindOperation.pattern}) bindCardEst:${node.bindOperationCardinality.type === 'estimate' ? '~' : ''}${numberToString(node.bindOperationCardinality.value)}` : ''}${node.cardinality ? ` cardEst:${node.cardinality.type === 'estimate' ? '~' : ''}${numberToString(node.cardinality.value)}` : ''}${node.source ? ` src:${sourceId}` : ''}${node.cardinalityReal ? ` cardReal:${node.cardinalityReal}` : ''}${node.timeSelf ? ` timeSelf:${numberToString(node.timeSelf)}ms` : ''}${node.timeLife ? ` timeLife:${numberToString(node.timeLife)}ms` : ''}${metadata ? ` ${metadata}` : ''}`);\n for (const child of node.children ?? []) {\n this.nodeToCompactString(lines, sources, `${indent} `, child);\n }\n for (const child of node.childrenCompact ?? []) {\n this.nodeToCompactString(lines, sources, `${indent} `, child.firstOccurrence, `compacted-occurrences:${child.occurrences}`);\n }\n }\n}\nexports.MemoryPhysicalQueryPlanLogger = MemoryPhysicalQueryPlanLogger;\nfunction numberToString(value) {\n return value.toLocaleString('en-US', { minimumFractionDigits: 0, maximumFractionDigits: 3 });\n}\nexports.numberToString = numberToString;\n//# sourceMappingURL=MemoryPhysicalQueryPlanLogger.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryProcessExplainPhysical\"), exports);\n__exportStar(require(\"./MemoryPhysicalQueryPlanLogger\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryProcessSequential = void 0;\nconst bus_query_process_1 = require(\"@comunica/bus-query-process\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Sequential Query Process Actor.\n */\nclass ActorQueryProcessSequential extends bus_query_process_1.ActorQueryProcess {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.context.get(context_entries_1.KeysInitQuery.explain) ?? action.context.get(new core_1.ActionContextKey('explain'))) {\n return (0, core_1.failTest)(`${this.name} is not able to explain queries.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Run all query processing steps in sequence\n let { operation, context } = await this.parse(action.query, action.context);\n ({ operation, context } = await this.optimize(operation, context));\n const output = await this.evaluate(operation, context);\n return { result: output };\n }\n async parse(query, context) {\n // Pre-processing the context\n context = (await this.mediatorContextPreprocess.mediate({ context, initialize: true })).context;\n // Parse query\n let operation;\n if (typeof query === 'string') {\n // Save the original query string in the context\n context = context.set(context_entries_1.KeysInitQuery.queryString, query);\n const baseIRI = context.get(context_entries_1.KeysInitQuery.baseIRI);\n const queryFormat = context.get(context_entries_1.KeysInitQuery.queryFormat);\n const queryParseOutput = await this.mediatorQueryParse.mediate({ context, query, queryFormat, baseIRI });\n operation = queryParseOutput.operation;\n // Update the baseIRI in the context if the query modified it.\n if (queryParseOutput.baseIRI) {\n context = context.set(context_entries_1.KeysInitQuery.baseIRI, queryParseOutput.baseIRI);\n }\n }\n else {\n operation = query;\n }\n // Apply initial bindings in context\n if (context.has(context_entries_1.KeysInitQuery.initialBindings)) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory\n .create(this.mediatorMergeBindingsContext, context, dataFactory);\n operation = (0, utils_query_operation_1.materializeOperation)(operation, context.get(context_entries_1.KeysInitQuery.initialBindings), algebraFactory, bindingsFactory);\n // Delete the query string from the context, since our initial query might have changed\n context = context.delete(context_entries_1.KeysInitQuery.queryString);\n }\n return { operation, context };\n }\n async optimize(operation, context) {\n // Save initial query in context\n context = context.set(context_entries_1.KeysInitQuery.query, operation);\n ({ operation, context } = await this.mediatorOptimizeQueryOperation.mediate({ context, operation }));\n // Save original query in context\n context = context.set(context_entries_1.KeysInitQuery.query, operation);\n return { operation, context };\n }\n async evaluate(operation, context) {\n const output = await this.mediatorQueryOperation.mediate({ context, operation });\n output.context = context;\n return output;\n }\n}\nexports.ActorQueryProcessSequential = ActorQueryProcessSequential;\n//# sourceMappingURL=ActorQueryProcessSequential.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryProcessSequential\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeJson = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst RdfString = require(\"rdf-string\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica JSON Query Result Serialize Actor.\n */\nclass ActorQueryResultSerializeJson extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/json\": 1.0\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/json\": \"https://comunica.linkeddatafragments.org/#results_JSON\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async testHandleChecked(action, _context) {\n if (!['bindings', 'quads', 'boolean'].includes(action.type)) {\n return (0, core_1.failTest)('This actor can only handle bindings or quad streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, _mediaType, _context) {\n const data = new readable_stream_1.Readable();\n data._read = () => {\n // Do nothing\n };\n if (action.type === 'bindings' || action.type === 'quads') {\n let stream = action.type === 'bindings' ?\n (0, asynciterator_1.wrap)(action.bindingsStream)\n .map(element => JSON.stringify(Object.fromEntries([...element]\n .map(([key, value]) => [key.value, RdfString.termToString(value)])))) :\n (0, asynciterator_1.wrap)(action.quadStream)\n .map(element => JSON.stringify(RdfString.quadToStringQuad(element)));\n let empty = true;\n stream = stream.map((element) => {\n const ret = `${empty ? '' : ','}\\n${element}`;\n empty = false;\n return ret;\n }).prepend(['[']).append(['\\n]\\n']);\n data.wrap(stream);\n }\n else {\n try {\n data.push(`${JSON.stringify(await action.execute())}\\n`);\n data.push(null);\n }\n catch (error) {\n setTimeout(() => data.emit('error', error));\n }\n }\n return { data };\n }\n}\nexports.ActorQueryResultSerializeJson = ActorQueryResultSerializeJson;\n//# sourceMappingURL=ActorQueryResultSerializeJson.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeJson\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeRdf = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica RDF Query Result Serialize Actor.\n *\n * It serializes quad streams (for example resulting from a CONSTRUCT query)\n * to an RDF syntax.\n */\nclass ActorQueryResultSerializeRdf extends bus_query_result_serialize_1.ActorQueryResultSerialize {\n constructor(args) {\n super(args);\n }\n async testHandle(action, mediaType, context) {\n // Check if we are provided with a quad stream\n if (action.type !== 'quads') {\n return (0, core_1.failTest)(`Actor ${this.name} can only handle quad streams`);\n }\n // Check if the given media type can be handled\n const { mediaTypes } = await this.mediatorMediaTypeCombiner.mediate({ context, mediaTypes: true });\n if (!(mediaType in mediaTypes)) {\n return (0, core_1.failTest)(`Actor ${this.name} can not handle media type ${mediaType}. All available types: ${\n // eslint-disable-next-line ts/restrict-template-expressions\n Object.keys(mediaTypes)}`);\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, mediaType, context) {\n // Delegate handling to the mediator\n return (await this.mediatorRdfSerialize.mediate({\n context,\n handle: {\n context,\n quadStream: action.quadStream,\n },\n handleMediaType: mediaType,\n })).handle;\n }\n async testMediaType(_context) {\n return (0, core_1.passTestVoid)();\n }\n async getMediaTypes(context) {\n return (await this.mediatorMediaTypeCombiner.mediate({ context, mediaTypes: true })).mediaTypes;\n }\n async testMediaTypeFormats(_context) {\n return (0, core_1.passTestVoid)();\n }\n async getMediaTypeFormats(context) {\n return (await this.mediatorMediaTypeFormatCombiner.mediate({ context, mediaTypeFormats: true })).mediaTypeFormats;\n }\n}\nexports.ActorQueryResultSerializeRdf = ActorQueryResultSerializeRdf;\n//# sourceMappingURL=ActorQueryResultSerializeRdf.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeRdf\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeSimple = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica Simple Sparql Serialize Actor.\n */\nclass ActorQueryResultSerializeSimple extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{ \"simple\": 0.9 }} mediaTypePriorities\n * \\ @defaultNested {{ \"simple\": \"https://comunica.linkeddatafragments.org/#results_simple\" }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async testHandleChecked(action, _context) {\n if (!['bindings', 'quads', 'boolean', 'void'].includes(action.type)) {\n return (0, core_1.failTest)('This actor can only handle bindings streams, quad streams, booleans, or updates.');\n }\n return (0, core_1.passTestVoid)();\n }\n static termToString(term) {\n return term.termType === 'Quad' ? (0, rdf_string_1.termToString)(term) : term.value;\n }\n async runHandle(action, _mediaType, _context) {\n const data = new readable_stream_1.Readable();\n if (action.type === 'bindings') {\n data.wrap(action.bindingsStream.map((bindings) => `${[...bindings].map(([key, value]) => `?${key.value}: ${ActorQueryResultSerializeSimple.termToString(value)}`).join('\\n')}\\n\\n`));\n }\n else if (action.type === 'quads') {\n data.wrap(action.quadStream.map(quad => `subject: ${ActorQueryResultSerializeSimple.termToString(quad.subject)}\\n` +\n `predicate: ${ActorQueryResultSerializeSimple.termToString(quad.predicate)}\\n` +\n `object: ${ActorQueryResultSerializeSimple.termToString(quad.object)}\\n` +\n `graph: ${ActorQueryResultSerializeSimple.termToString(quad.graph)}\\n\\n`));\n }\n else {\n data.wrap((0, asynciterator_1.wrap)(action.type === 'boolean' ?\n action.execute().then(value => [`${value}\\n`]) :\n action.execute().then(() => ['ok\\n'])));\n }\n return { data };\n }\n}\nexports.ActorQueryResultSerializeSimple = ActorQueryResultSerializeSimple;\n//# sourceMappingURL=ActorQueryResultSerializeSimple.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeSimple\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeSparqlCsv = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica SPARQL CSV Query Result Serialize Actor.\n */\nclass ActorQueryResultSerializeSparqlCsv extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"text/csv\": 0.75\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"text/csv\": \"http://www.w3.org/ns/formats/SPARQL_Results_CSV\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n /**\n * Converts an RDF term to its CSV representation.\n * @param {RDF.Term} value An RDF term.\n * @return {string} A string representation of the given value.\n */\n static bindingToCsvBindings(value) {\n if (!value) {\n return '';\n }\n let stringValue = value.value;\n if (value.termType === 'Literal') {\n // This is a lossy representation, since language and datatype are not encoded in here.\n stringValue = `${stringValue}`;\n }\n else if (value.termType === 'BlankNode') {\n stringValue = `_:${stringValue}`;\n }\n else if (value.termType === 'Quad') {\n let object = ActorQueryResultSerializeSparqlCsv.bindingToCsvBindings(value.object);\n if (value.object.termType === 'Literal') {\n // If object is a literal, it must be put in quotes, and internal quotes must be escaped\n object = `\"${object.replaceAll('\"', '\"\"')}\"`;\n }\n stringValue = `<< ${ActorQueryResultSerializeSparqlCsv.bindingToCsvBindings(value.subject)} ${ActorQueryResultSerializeSparqlCsv.bindingToCsvBindings(value.predicate)} ${object} >>`;\n }\n else {\n stringValue = `<${stringValue}>`;\n }\n // If a value contains certain characters, put it between double quotes\n if (/[\",\\n\\r]/u.test(stringValue)) {\n // Within quote strings, \" is written using a pair of quotation marks \"\".\n stringValue = `\"${stringValue.replaceAll('\"', '\"\"')}\"`;\n }\n return stringValue;\n }\n async testHandleChecked(action, _context) {\n if (action.type !== 'bindings') {\n return (0, core_1.failTest)('This actor can only handle bindings streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, _mediaType, _context) {\n const bindingsAction = action;\n const data = new readable_stream_1.Readable();\n const metadata = await bindingsAction.metadata();\n // Write head\n data.push(`${metadata.variables.map(variable => variable.variable.value).join(',')}\\r\\n`);\n // Write body\n data.wrap(bindingsAction.bindingsStream.map((bindings) => `${metadata.variables\n .map(key => ActorQueryResultSerializeSparqlCsv.bindingToCsvBindings(bindings.get(key.variable)))\n .join(',')}\\r\\n`));\n return { data };\n }\n}\nexports.ActorQueryResultSerializeSparqlCsv = ActorQueryResultSerializeSparqlCsv;\n//# sourceMappingURL=ActorQueryResultSerializeSparqlCsv.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeSparqlCsv\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionObserverHttp = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * Observes HTTP actions, and maintains a counter of the number of requests.\n */\nclass ActionObserverHttp extends core_1.ActionObserver {\n /* eslint-disable max-len */\n /**\n * @param args - @defaultNested {} bus\n */\n constructor(args) {\n super(args);\n this.requests = 0;\n this.bus.subscribeObserver(this);\n this.httpInvalidator.addInvalidateListener(() => {\n this.requests = 0;\n });\n }\n /* eslint-enable max-len */\n onRun(_actor, _action, _output) {\n this.requests++;\n }\n}\nexports.ActionObserverHttp = ActionObserverHttp;\n//# sourceMappingURL=ActionObserverHttp.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeSparqlJson = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica sparql-results+xml Serialize Actor.\n */\nclass ActorQueryResultSerializeSparqlJson extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/sparql-results+json\": 0.8\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/sparql-results+json\": \"http://www.w3.org/ns/formats/SPARQL_Results_JSON\"\n * }} mediaTypeFormats\n * \\ @defaultNested {true} emitMetadata\n * \\ @defaultNested { a } httpObserver\n */\n constructor(args) {\n super(args);\n }\n /* eslint-enable max-len */\n /**\n * Converts an RDF term to its JSON representation.\n * @param {RDF.Term} value An RDF term.\n * @return {any} A JSON object.\n */\n static bindingToJsonBindings(value) {\n if (value.termType === 'Literal') {\n const literal = value;\n const jsonValue = { value: literal.value, type: 'literal' };\n const { language, datatype } = literal;\n if (language) {\n jsonValue['xml:lang'] = language;\n }\n else if (datatype && datatype.value !== 'http://www.w3.org/2001/XMLSchema#string') {\n jsonValue.datatype = datatype.value;\n }\n return jsonValue;\n }\n if (value.termType === 'BlankNode') {\n return { value: value.value, type: 'bnode' };\n }\n if (value.termType === 'Quad') {\n return {\n value: {\n subject: ActorQueryResultSerializeSparqlJson.bindingToJsonBindings(value.subject),\n predicate: ActorQueryResultSerializeSparqlJson.bindingToJsonBindings(value.predicate),\n object: ActorQueryResultSerializeSparqlJson.bindingToJsonBindings(value.object),\n },\n type: 'triple',\n };\n }\n return { value: value.value, type: 'uri' };\n }\n async testHandleChecked(action, _context) {\n if (!['bindings', 'boolean'].includes(action.type)) {\n return (0, core_1.failTest)('This actor can only handle bindings streams or booleans.');\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, _mediaType, _context) {\n const data = new readable_stream_1.Readable();\n // Write head\n const head = {};\n if (action.type === 'bindings') {\n const metadata = await action.metadata();\n if (metadata.variables.length > 0) {\n head.vars = metadata.variables.map(variable => variable.variable.value);\n }\n }\n data.push(`{\"head\": ${JSON.stringify(head)},\\n`);\n if (action.type === 'bindings') {\n const resultStream = action.bindingsStream;\n data.push('\"results\": { \"bindings\": [\\n');\n let first = true;\n function* end(cb) {\n yield cb();\n }\n // Write bindings\n data.wrap(\n // JSON SPARQL results spec does not allow unbound variables and blank node bindings\n (0, asynciterator_1.wrap)(resultStream).map((bindings) => {\n const res = `${first ? '' : ',\\n'}${JSON.stringify(Object.fromEntries([...bindings]\n .map(([key, value]) => [key.value, ActorQueryResultSerializeSparqlJson.bindingToJsonBindings(value)])))}`;\n first = false;\n return res;\n }).append((0, asynciterator_1.wrap)(end(() => `\\n]}${this.emitMetadata ? `,\\n\"metadata\": { \"httpRequests\": ${this.httpObserver.requests} }` : ''}}\\n`))));\n }\n else {\n data.wrap((0, asynciterator_1.wrap)(action.execute().then(value => [`\"boolean\":${value}\\n}\\n`])));\n }\n return { data };\n }\n}\nexports.ActorQueryResultSerializeSparqlJson = ActorQueryResultSerializeSparqlJson;\n//# sourceMappingURL=ActorQueryResultSerializeSparqlJson.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActionObserverHttp\"), exports);\n__exportStar(require(\"./ActorQueryResultSerializeSparqlJson\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeSparqlTsv = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\nconst rdf_string_ttl_1 = require(\"rdf-string-ttl\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica SPARQL TSV Query Result Serialize Actor.\n */\nclass ActorQueryResultSerializeSparqlTsv extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"text/tab-separated-values\": 0.75\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"text/tab-separated-values\": \"http://www.w3.org/ns/formats/SPARQL_Results_TSV\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n /**\n * Converts an RDF term to its TSV representation.\n * @param {RDF.Term} value An RDF term.\n * @return {string} A string representation of the given value.\n */\n static bindingToTsvBindings(value) {\n if (!value) {\n return '';\n }\n // Escape tab, newline and carriage return characters\n return (0, rdf_string_ttl_1.termToString)(value)\n .replaceAll('\\t', '\\\\t')\n .replaceAll('\\n', '\\\\n')\n .replaceAll('\\r', '\\\\r');\n }\n async testHandleChecked(action, _context) {\n if (action.type !== 'bindings') {\n return (0, core_1.failTest)('This actor can only handle bindings streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, _mediaType, _context) {\n const bindingsAction = action;\n const data = new readable_stream_1.Readable();\n // Write head\n const metadata = await bindingsAction.metadata();\n data.push(`${metadata.variables.map(variable => variable.variable.value).join('\\t')}\\n`);\n // Write Bindings\n data.wrap(bindingsAction.bindingsStream.map((bindings) => `${metadata.variables\n .map(key => ActorQueryResultSerializeSparqlTsv\n .bindingToTsvBindings(bindings.get(key.variable)))\n .join('\\t')}\\n`));\n return { data };\n }\n}\nexports.ActorQueryResultSerializeSparqlTsv = ActorQueryResultSerializeSparqlTsv;\n//# sourceMappingURL=ActorQueryResultSerializeSparqlTsv.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeSparqlTsv\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeSparqlXml = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst core_1 = require(\"@comunica/core\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst XmlSerializer_1 = require(\"./XmlSerializer\");\n/**\n * A comunica sparql-results+xml Serialize Actor.\n */\nclass ActorQueryResultSerializeSparqlXml extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/sparql-results+xml\": 0.8\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/sparql-results+xml\": \"http://www.w3.org/ns/formats/SPARQL_Results_XML\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n /**\n * Converts an RDF term to its object-based XML representation.\n * @param {RDF.Term} value An RDF term.\n * @param {string} key A variable name, '?' must be included as a prefix.\n * @return {IXmlNode} An object-based XML tag.\n */\n static bindingToXmlBindings(value, key) {\n return { name: 'binding', attributes: { name: key.value }, children: [this.valueToXmlValue(value)] };\n }\n static valueToXmlValue(value) {\n let attributes;\n switch (value.termType) {\n case 'Literal':\n if (value.language) {\n attributes = { 'xml:lang': value.language };\n }\n else if (value.datatype && value.datatype.value !== 'http://www.w3.org/2001/XMLSchema#string') {\n attributes = { datatype: value.datatype.value };\n }\n else {\n attributes = {};\n }\n return { name: 'literal', attributes, children: value.value };\n case 'BlankNode':\n return { name: 'bnode', children: value.value };\n case 'Quad':\n return {\n name: 'triple',\n children: [\n { name: 'subject', children: [this.valueToXmlValue(value.subject)] },\n { name: 'predicate', children: [this.valueToXmlValue(value.predicate)] },\n { name: 'object', children: [this.valueToXmlValue(value.object)] },\n ],\n };\n default:\n return { name: 'uri', children: value.value };\n }\n }\n async testHandleChecked(action, _context) {\n if (!['bindings', 'boolean'].includes(action.type)) {\n return (0, core_1.failTest)('This actor can only handle bindings streams or booleans.');\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, _mediaType, _context) {\n const data = new readable_stream_1.Readable();\n data._read = () => {\n // Do nothing\n };\n const serializer = new XmlSerializer_1.XmlSerializer();\n const metadata = await action.metadata();\n data.push(XmlSerializer_1.XmlSerializer.header);\n data.push(serializer.open('sparql', { xmlns: 'http://www.w3.org/2005/sparql-results#' }));\n data.push(serializer.serializeNode({\n name: 'head',\n children: metadata.variables\n .map(variable => ({ name: 'variable', attributes: { name: variable.variable.value } })),\n }));\n if (action.type === 'bindings') {\n function* end() {\n yield serializer.close();\n yield serializer.close();\n }\n data.push(serializer.open('results'));\n const stream = (0, asynciterator_1.wrap)(action.bindingsStream).map((bindings) => serializer.serializeNode({\n name: 'result',\n children: [...bindings].map(([key, value]) => ActorQueryResultSerializeSparqlXml.bindingToXmlBindings(value, key)),\n })).append((0, asynciterator_1.wrap)(end()));\n data.wrap(stream);\n }\n else {\n try {\n const result = await action.execute();\n data.push(serializer.serializeNode({ name: 'boolean', children: result.toString() }));\n data.push(serializer.close());\n setTimeout(() => data.push(null));\n }\n catch (error) {\n setTimeout(() => data.emit('error', error));\n }\n }\n return { data };\n }\n}\nexports.ActorQueryResultSerializeSparqlXml = ActorQueryResultSerializeSparqlXml;\n//# sourceMappingURL=ActorQueryResultSerializeSparqlXml.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.XmlSerializer = void 0;\n/**\n * A very simple XML serializer\n */\nclass XmlSerializer {\n constructor() {\n this.stack = [];\n }\n /**\n *\n * @param name should be a valid XML tag name\n * @param attributes keys should be valid attribute names\n */\n open(name, attributes) {\n const res = `${this.identation() + this.formatTag(name, attributes, 'open')}\\n`;\n this.stack.push(name);\n return res;\n }\n close() {\n const name = this.stack.pop();\n if (name === undefined) {\n throw new Error('There is no tag left to close');\n }\n return `${this.identation() + this.formatTag(name, {}, 'close')}\\n`;\n }\n serializeNode(node) {\n if (node.children === undefined) {\n return `${this.identation() + this.formatTag(node.name, node.attributes, 'self-closing')}\\n`;\n }\n if (typeof node.children === 'string') {\n return `${this.identation() + this.formatTag(node.name, node.attributes, 'open') + this.escape(node.children) + this.formatTag(node.name, {}, 'close')}\\n`;\n }\n const parts = [];\n parts.push(`${this.identation() + this.formatTag(node.name, node.attributes, 'open')}\\n`);\n this.stack.push(node.name);\n for (const child of node.children) {\n parts.push(this.serializeNode(child));\n }\n this.stack.pop();\n parts.push(`${this.identation() + this.formatTag(node.name, {}, 'close')}\\n`);\n return parts.join('');\n }\n identation() {\n return this.stack.map(_ => ' ').join('');\n }\n formatTag(name, attributes, state) {\n // eslint-disable-next-line ts/restrict-template-expressions\n return `<${state === 'close' ? '/' : ''}${name}${Object.entries(attributes ?? {}).map(attr => ` ${attr[0]}=\"${this.escape(attr[1])}\"`)}${state === 'self-closing' ? '/' : ''}>`;\n }\n escape(text) {\n return text.replaceAll(/[\"&'<>]/gu, ((char) => {\n switch (char) {\n case '<': return '<';\n case '>': return '>';\n case '&': return '&';\n case '\\'': return ''';\n case '\"': return '"';\n }\n }));\n }\n}\nexports.XmlSerializer = XmlSerializer;\nXmlSerializer.header = `\\n`;\n//# sourceMappingURL=XmlSerializer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeSparqlXml\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionObserverHttp = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * Observes HTTP actions, and maintains a counter of the number of requests.\n */\nclass ActionObserverHttp extends core_1.ActionObserver {\n /* eslint-disable max-len */\n /**\n * @param args - @defaultNested {} bus\n */\n constructor(args) {\n super(args);\n this.requests = 0;\n this.bus.subscribeObserver(this);\n this.httpInvalidator.addInvalidateListener(() => {\n this.requests = 0;\n });\n }\n /* eslint-enable max-len */\n onRun(_actor, _action, _output) {\n this.requests++;\n }\n}\nexports.ActionObserverHttp = ActionObserverHttp;\n//# sourceMappingURL=ActionObserverHttp.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeStats = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * Serializes SPARQL results for testing and debugging.\n */\nclass ActorQueryResultSerializeStats extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested {{ \"stats\": 0.5 }} mediaTypePriorities\n * \\ @defaultNested {{ \"stats\": \"https://comunica.linkeddatafragments.org/#results_stats\" }} mediaTypeFormats\n * \\ @defaultNested { a } httpObserver\n */\n constructor(args) {\n super(args);\n }\n /* eslint-enable max-len */\n async testHandleChecked(action, _context) {\n if (!['bindings', 'quads'].includes(action.type)) {\n return (0, core_1.failTest)('This actor can only handle bindings streams or quad streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n pushHeader(data) {\n const header = ['Result', 'Delay (ms)', 'HTTP requests',\n ].join(',');\n data.push(`${header}\\n`);\n }\n createStat(startTime, result) {\n const row = [result, this.delay(startTime), this.httpObserver.requests,\n ].join(',');\n return `${row}\\n`;\n }\n createSpecialLine(label, startTime) {\n const line = [label, this.delay(startTime), this.httpObserver.requests,\n ].join(',');\n return `${line}\\n`;\n }\n async runHandle(action, _mediaType, _context) {\n const data = new readable_stream_1.Readable();\n const resultStream = action.type === 'bindings' ?\n action.bindingsStream :\n action.quadStream;\n const startTime = action.context.getSafe(context_entries_1.KeysInitQuery.queryTimestampHighResolution);\n let result = 1;\n function* end(cb) {\n yield cb();\n }\n const stream = (0, asynciterator_1.wrap)(resultStream)\n .map(() => this.createStat(startTime, result++))\n .prepend([this.createSpecialLine('PLANNING', startTime)])\n .append((0, asynciterator_1.wrap)(end(() => this.createSpecialLine('TOTAL', startTime))));\n this.pushHeader(data);\n data.wrap(stream);\n return { data };\n }\n now() {\n return performance.now();\n }\n delay(startTime) {\n return this.now() - startTime;\n }\n}\nexports.ActorQueryResultSerializeStats = ActorQueryResultSerializeStats;\n//# sourceMappingURL=ActorQueryResultSerializeStats.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActionObserverHttp\"), exports);\n__exportStar(require(\"./ActorQueryResultSerializeStats\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeTable = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica Table Sparql Serialize Actor.\n */\nclass ActorQueryResultSerializeTable extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{ \"table\": 0.6 }} mediaTypePriorities\n * \\ @defaultNested {{ \"table\": \"https://comunica.linkeddatafragments.org/#results_table\" }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n this.padding = ActorQueryResultSerializeTable.repeat(' ', this.columnWidth);\n }\n static repeat(str, count) {\n return str.repeat(count);\n }\n async testHandleChecked(action, _context) {\n if (!['bindings', 'quads'].includes(action.type)) {\n return (0, core_1.failTest)('This actor can only handle bindings or quad streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n termToString(term) {\n return term.termType === 'Quad' ? (0, rdf_string_1.termToString)(term) : term.value;\n }\n pad(str) {\n if (str.length <= this.columnWidth) {\n return str + this.padding.slice(str.length);\n }\n return `${str.slice(0, this.columnWidth - 1)}…`;\n }\n pushHeader(data, labels) {\n const header = labels.map(label => this.pad(label.value)).join(' ');\n data.push(`${header}\\n${ActorQueryResultSerializeTable.repeat('-', header.length)}\\n`);\n }\n createRow(labels, bindings) {\n return `${labels\n .map(label => bindings.has(label) ? this.termToString(bindings.get(label)) : '')\n .map(label => this.pad(label))\n .join(' ')}\\n`;\n }\n async runHandle(action, _mediaType, _context) {\n const data = new readable_stream_1.Readable();\n let resultStream;\n if (action.type === 'bindings') {\n resultStream = action.bindingsStream.map(bindings => this.createRow(labels, bindings));\n const labels = (await action.metadata()).variables.map(v => v.variable);\n this.pushHeader(data, labels);\n }\n else {\n resultStream = action.quadStream.map(quad => `${(0, rdf_terms_1.getTerms)(quad).map(term => this.pad(this.termToString(term))).join(' ')}\\n`);\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n this.pushHeader(data, rdf_terms_1.QUAD_TERM_NAMES.map(name => dataFactory.variable(name)));\n }\n data.wrap(resultStream);\n return { data };\n }\n}\nexports.ActorQueryResultSerializeTable = ActorQueryResultSerializeTable;\n//# sourceMappingURL=ActorQueryResultSerializeTable.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerializeTable\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeTree = void 0;\nconst bus_query_result_serialize_1 = require(\"@comunica/bus-query-result-serialize\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst sparqljson_to_tree_1 = require(\"sparqljson-to-tree\");\n/**\n * A comunica Tree Query Result Serialize Actor.\n */\nclass ActorQueryResultSerializeTree extends bus_query_result_serialize_1.ActorQueryResultSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{ \"tree\": 0.5 }} mediaTypePriorities\n * \\ @defaultNested {{ \"tree\": \"https://comunica.linkeddatafragments.org/#results_tree\" }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n /**\n *\n * @param {BindingsStream} bindingsStream\n * @param context\n * @param {IConverterSettings} converterSettings\n * @return {Promise}\n */\n static async bindingsStreamToGraphQl(bindingsStream, context, converterSettings) {\n const actionContext = core_1.ActionContext.ensureActionContext(context);\n const converter = new sparqljson_to_tree_1.Converter(converterSettings);\n const schema = {\n singularizeVariables: actionContext.get(context_entries_1.KeysInitQuery.graphqlSingularizeVariables) ?? {},\n };\n return converter.bindingsToTree(await bindingsStream.map((bindings) => Object.fromEntries([...bindings]\n .map(([key, value]) => [key.value, value]))).toArray(), schema);\n }\n async testHandleChecked(action) {\n if (action.type !== 'bindings') {\n return (0, core_1.failTest)('This actor can only handle bindings streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n async runHandle(action, _mediaType) {\n const data = new readable_stream_1.Readable();\n data._read = () => {\n data._read = () => { };\n ActorQueryResultSerializeTree.bindingsStreamToGraphQl(action.bindingsStream, action.context, { materializeRdfJsTerms: true })\n .then((result) => {\n data.push(JSON.stringify(result, null, ' '));\n data.push(null);\n })\n .catch(error => data.emit('error', error));\n };\n return { data };\n }\n}\nexports.ActorQueryResultSerializeTree = ActorQueryResultSerializeTree;\n//# sourceMappingURL=ActorQueryResultSerializeTree.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindingsStreamToGraphQl = void 0;\nconst ActorQueryResultSerializeTree_1 = require(\"./ActorQueryResultSerializeTree\");\nconst { bindingsStreamToGraphQl } = ActorQueryResultSerializeTree_1.ActorQueryResultSerializeTree;\nexports.bindingsStreamToGraphQl = bindingsStreamToGraphQl;\n__exportStar(require(\"./ActorQueryResultSerializeTree\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifyHypermediaNone = void 0;\nconst actor_query_source_identify_rdfjs_1 = require(\"@comunica/actor-query-source-identify-rdfjs\");\nconst bus_query_source_identify_hypermedia_1 = require(\"@comunica/bus-query-source-identify-hypermedia\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst rdf_store_stream_1 = require(\"rdf-store-stream\");\n/**\n * A comunica None Query Source Identify Hypermedia Actor.\n */\nclass ActorQuerySourceIdentifyHypermediaNone extends bus_query_source_identify_hypermedia_1.ActorQuerySourceIdentifyHypermedia {\n constructor(args) {\n super(args, 'file');\n }\n async testMetadata(_action) {\n return (0, core_1.passTest)({ filterFactor: 0 });\n }\n async run(action) {\n this.logInfo(action.context, `Identified as file source: ${action.url}`);\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const source = new actor_query_source_identify_rdfjs_1.QuerySourceRdfJs(await (0, rdf_store_stream_1.storeStream)(action.quads), dataFactory, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory));\n source.toString = () => `QuerySourceRdfJs(${action.url})`;\n source.referenceValue = action.url;\n return { source };\n }\n}\nexports.ActorQuerySourceIdentifyHypermediaNone = ActorQuerySourceIdentifyHypermediaNone;\n//# sourceMappingURL=ActorQuerySourceIdentifyHypermediaNone.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifyHypermediaNone\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifyHypermediaQpf = void 0;\nconst bus_query_source_identify_hypermedia_1 = require(\"@comunica/bus-query-source-identify-hypermedia\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst QuerySourceQpf_1 = require(\"./QuerySourceQpf\");\n/**\n * A comunica QPF Query Source Identify Hypermedia Actor.\n */\nclass ActorQuerySourceIdentifyHypermediaQpf extends bus_query_source_identify_hypermedia_1.ActorQuerySourceIdentifyHypermedia {\n constructor(args) {\n super(args, 'qpf');\n }\n async test(action) {\n if (action.forceSourceType && (action.forceSourceType !== 'qpf' && action.forceSourceType !== 'brtpf')) {\n return (0, core_1.failTest)(`Actor ${this.name} is not able to handle source type ${action.forceSourceType}.`);\n }\n return this.testMetadata(action);\n }\n async testMetadata(action) {\n const { searchForm } = await this.createSource(action.url, action.metadata, action.context, action.forceSourceType === 'brtpf');\n if (!searchForm) {\n return (0, core_1.failTest)('Illegal state: found no TPF/QPF search form anymore in metadata.');\n }\n if (action.handledDatasets && action.handledDatasets[searchForm.dataset]) {\n return (0, core_1.failTest)(`Actor ${this.name} can only be applied for the first page of a QPF dataset.`);\n }\n return (0, core_1.passTest)({ filterFactor: 1 });\n }\n /**\n * Look for the search form\n * @param {IActionRdfResolveHypermedia} action the metadata to look for the form.\n * @return {Promise} A promise resolving to a hypermedia form.\n */\n async run(action) {\n this.logInfo(action.context, `Identified as qpf source: ${action.url}`);\n const source = await this.createSource(action.url, action.metadata, action.context, action.forceSourceType === 'brtpf', action.quads);\n return { source, dataset: source.searchForm.dataset };\n }\n async createSource(url, metadata, context, bindingsRestricted, quads) {\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n return new QuerySourceQpf_1.QuerySourceQpf(this.mediatorMetadata, this.mediatorMetadataExtract, this.mediatorDereferenceRdf, dataFactory, algebraFactory, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory), this.subjectUri, this.predicateUri, this.objectUri, this.graphUri, url, metadata, bindingsRestricted, quads);\n }\n}\nexports.ActorQuerySourceIdentifyHypermediaQpf = ActorQuerySourceIdentifyHypermediaQpf;\n//# sourceMappingURL=ActorQuerySourceIdentifyHypermediaQpf.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuerySourceQpf = void 0;\nconst bus_query_source_identify_1 = require(\"@comunica/bus-query-source-identify\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst rdf_string_ttl_1 = require(\"rdf-string-ttl\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nclass QuerySourceQpf {\n constructor(mediatorMetadata, mediatorMetadataExtract, mediatorDereferenceRdf, dataFactory, algebraFactory, bindingsFactory, subjectUri, predicateUri, objectUri, graphUri, url, metadata, bindingsRestricted, initialQuads) {\n this.referenceValue = url;\n this.mediatorMetadata = mediatorMetadata;\n this.mediatorMetadataExtract = mediatorMetadataExtract;\n this.mediatorDereferenceRdf = mediatorDereferenceRdf;\n this.dataFactory = dataFactory;\n this.algebraFactory = algebraFactory;\n this.bindingsFactory = bindingsFactory;\n this.subjectUri = subjectUri;\n this.predicateUri = predicateUri;\n this.objectUri = objectUri;\n this.graphUri = graphUri;\n this.url = url;\n this.bindingsRestricted = bindingsRestricted;\n this.cachedQuads = {};\n this.searchForm = this.getSearchForm(metadata);\n this.defaultGraph = metadata.defaultGraph ? this.dataFactory.namedNode(metadata.defaultGraph) : undefined;\n if (initialQuads) {\n let wrappedQuads = (0, asynciterator_1.wrap)(initialQuads);\n if (this.defaultGraph) {\n wrappedQuads = this.reverseMapQuadsToDefaultGraph(wrappedQuads);\n }\n metadata = { ...metadata, state: new utils_metadata_1.MetadataValidationState() };\n wrappedQuads.setProperty('metadata', metadata);\n this.cacheQuads(wrappedQuads, this.dataFactory.variable(''), this.dataFactory.variable(''), this.dataFactory.variable(''), this.dataFactory.variable(''));\n }\n this.selectorShape = this.bindingsRestricted ?\n {\n type: 'operation',\n operation: {\n operationType: 'pattern',\n pattern: this.algebraFactory.createPattern(this.dataFactory.variable('s'), this.dataFactory.variable('p'), this.dataFactory.variable('o'), this.dataFactory.variable('g')),\n },\n variablesOptional: [\n this.dataFactory.variable('s'),\n this.dataFactory.variable('p'),\n this.dataFactory.variable('o'),\n this.dataFactory.variable('g'),\n ],\n filterBindings: true,\n } :\n {\n type: 'operation',\n operation: {\n operationType: 'pattern',\n pattern: this.algebraFactory.createPattern(this.dataFactory.variable('s'), this.dataFactory.variable('p'), this.dataFactory.variable('o'), this.dataFactory.variable('g')),\n },\n variablesOptional: [\n this.dataFactory.variable('s'),\n this.dataFactory.variable('p'),\n this.dataFactory.variable('o'),\n this.dataFactory.variable('g'),\n ],\n };\n }\n async getSelectorShape() {\n return this.selectorShape;\n }\n queryBindings(operation, context, options) {\n if (operation.type !== 'pattern') {\n throw new Error(`Attempted to pass non-pattern operation '${operation.type}' to QuerySourceQpf`);\n }\n const unionDefaultGraph = Boolean(context.get(context_entries_1.KeysQueryOperation.unionDefaultGraph));\n // Create an async iterator from the matched quad stream\n let it = this.match(operation.subject, operation.predicate, operation.object, operation.graph, unionDefaultGraph, context, options);\n it = (0, bus_query_source_identify_1.filterMatchingQuotedQuads)(operation, it);\n return (0, bus_query_source_identify_1.quadsToBindings)(it, operation, this.dataFactory, this.bindingsFactory, unionDefaultGraph);\n }\n /**\n * Get a first QPF search form.\n * @param {{[p: string]: any}} metadata A metadata object.\n * @return {ISearchForm} A search form, or null if none could be found.\n */\n getSearchForm(metadata) {\n if (!metadata.searchForms || !metadata.searchForms.values) {\n return;\n }\n // Find a quad pattern or triple pattern search form\n const { searchForms } = metadata;\n for (const searchForm of searchForms.values) {\n if (this.graphUri &&\n this.subjectUri in searchForm.mappings &&\n this.predicateUri in searchForm.mappings &&\n this.objectUri in searchForm.mappings &&\n this.graphUri in searchForm.mappings &&\n Object.keys(searchForm.mappings).length === 4) {\n return searchForm;\n }\n if (this.subjectUri in searchForm.mappings &&\n this.predicateUri in searchForm.mappings &&\n this.objectUri in searchForm.mappings &&\n Object.keys(searchForm.mappings).length === 3) {\n return searchForm;\n }\n }\n }\n /**\n * Create a QPF fragment IRI for the given quad pattern.\n * @param {ISearchForm} searchForm A search form.\n * @param {Term} subject A term.\n * @param {Term} predicate A term.\n * @param {Term} object A term.\n * @param {Term} graph A term.\n * @return {string} A URI.\n */\n createFragmentUri(searchForm, subject, predicate, object, graph) {\n const entries = {};\n const input = [\n { uri: this.subjectUri, term: subject },\n { uri: this.predicateUri, term: predicate },\n { uri: this.objectUri, term: object },\n { uri: this.graphUri, term: graph },\n ];\n for (const entry of input) {\n // If bindingsRestricted, also pass variables, so the server knows how to bind values.\n if (entry.uri && (this.bindingsRestricted || (entry.term.termType !== 'Variable' &&\n (entry.term.termType !== 'Quad' || (0, rdf_terms_1.everyTermsNested)(entry.term, value => value.termType !== 'Variable'))))) {\n entries[entry.uri] = (0, rdf_string_1.termToString)(entry.term);\n }\n }\n return searchForm.getUri(entries);\n }\n match(subject, predicate, object, graph, unionDefaultGraph, context, options) {\n // If we are querying the default graph,\n // and the source has an overridden value for the default graph (such as QPF can provide),\n // we override the graph parameter with that value.\n let modifiedGraph = false;\n if (graph.termType === 'DefaultGraph') {\n if (this.defaultGraph) {\n modifiedGraph = true;\n graph = this.defaultGraph;\n }\n else if (Object.keys(this.searchForm.mappings).length === 4 && !this.defaultGraph) {\n // If the sd:defaultGraph is not declared on a QPF endpoint\n if (unionDefaultGraph) {\n // With union-default-graph, take union of graphs.\n graph = this.dataFactory.variable('g');\n }\n else {\n // Without union-default-graph, the default graph must be empty.\n const quads = new asynciterator_1.ArrayIterator([], { autoStart: false });\n quads.setProperty('metadata', {\n state: new utils_metadata_1.MetadataValidationState(),\n requestTime: 0,\n cardinality: { type: 'exact', value: 0 },\n first: null,\n next: null,\n last: null,\n });\n return quads;\n }\n }\n else if (Object.keys(this.searchForm.mappings).length === 3) {\n // If have a TPF endpoint, set graph to variable so we could get the cached triples\n graph = this.dataFactory.variable('g');\n }\n }\n // Try to emit from cache (skip if filtering bindings)\n if (!options?.filterBindings) {\n const cached = this.getCachedQuads(subject, predicate, object, graph);\n if (cached) {\n return cached;\n }\n }\n // Kickstart metadata collection, because the quads iterator is lazy\n // eslint-disable-next-line ts/no-this-alias\n const self = this;\n let quads;\n const dataStreamPromise = (async function () {\n let url = self.createFragmentUri(self.searchForm, subject, predicate, object, graph);\n // Handle bindings-restricted interfaces\n if (options?.filterBindings) {\n url = await self.getBindingsRestrictedLink(subject, predicate, object, graph, url, options.filterBindings);\n }\n const dereferenceRdfOutput = await self.mediatorDereferenceRdf.mediate({ context, url });\n url = dereferenceRdfOutput.url;\n // Determine the metadata\n const rdfMetadataOuput = await self.mediatorMetadata.mediate({ context, url, quads: dereferenceRdfOutput.data, triples: dereferenceRdfOutput.metadata?.triples });\n // Extract the metadata\n const { metadata } = await self.mediatorMetadataExtract\n .mediate({\n context,\n url,\n metadata: rdfMetadataOuput.metadata,\n requestTime: dereferenceRdfOutput.requestTime,\n });\n quads.setProperty('metadata', { ...metadata, state: new utils_metadata_1.MetadataValidationState(), subsetOf: self.url });\n // While we could resolve this before metadata extraction, we do it afterwards to ensure metadata emission\n // before the end event is emitted.\n return rdfMetadataOuput.data;\n })();\n quads = new asynciterator_1.TransformIterator(async () => {\n const dataStream = await dataStreamPromise;\n // The server is free to send any data in its response (such as metadata),\n // including quads that do not match the given matter.\n // Therefore, we have to filter away all non-matching quads here.\n const actualDefaultGraph = this.dataFactory.defaultGraph();\n let filteredOutput = (0, asynciterator_1.wrap)(dataStream)\n .transform({\n filter(quad) {\n if ((0, rdf_terms_1.matchPattern)(quad, subject, predicate, object, graph)) {\n return true;\n }\n // Special case: if we are querying in the default graph, and we had an overridden default graph,\n // also accept that incoming triples may be defined in the actual default graph\n return modifiedGraph && (0, rdf_terms_1.matchPattern)(quad, subject, predicate, object, actualDefaultGraph);\n },\n });\n if (modifiedGraph || graph.termType === 'Variable') {\n // Reverse-map the overridden default graph back to the actual default graph\n filteredOutput = this.reverseMapQuadsToDefaultGraph(filteredOutput);\n }\n return filteredOutput;\n }, { autoStart: false });\n // Skip cache if filtering bindings\n if (options?.filterBindings) {\n return quads;\n }\n this.cacheQuads(quads, subject, predicate, object, graph);\n return this.getCachedQuads(subject, predicate, object, graph);\n }\n /**\n * If we add bindings for brTPF, append it to the URL.\n * We have to hardcode this because brTPF doesn't expose a URL template for passing bindings.\n * @param subject The subject.\n * @param predicate The predicate.\n * @param object The object.\n * @param graph The graph.\n * @param url The original QPF URL.\n * @param filterBindings The bindings to restrict with.\n * @param filterBindings.bindings The bindings stream.\n * @param filterBindings.metadata The bindings metadata.\n * @protected\n */\n async getBindingsRestrictedLink(subject, predicate, object, graph, url, filterBindings) {\n // Determine values\n const values = [];\n for (const binding of await filterBindings.bindings.toArray()) {\n const value = ['('];\n for (const variable of filterBindings.metadata.variables) {\n const term = binding.get(variable.variable);\n value.push(term ? (0, rdf_string_ttl_1.termToString)(term) : 'UNDEF');\n value.push(' ');\n }\n value.push(')');\n values.push(value.join(''));\n }\n if (values.length === 0) {\n // This is a hack to force an empty result page,\n // because the brTPF server returns a server error when passing 0 bindings.\n values.push('()');\n }\n // Append to URL (brTPF uses the SPARQL VALUES syntax, without the VALUES prefix)\n const valuesUrl = encodeURIComponent(`(${filterBindings.metadata.variables.map(variable => `?${variable.variable.value}`).join(' ')}) { ${values.join(' ')} }`);\n return `${url}&values=${valuesUrl}`;\n }\n reverseMapQuadsToDefaultGraph(quads) {\n const actualDefaultGraph = this.dataFactory.defaultGraph();\n return quads.map(quad => (0, rdf_terms_1.mapTerms)(quad, (term, key) => key === 'graph' && term.equals(this.defaultGraph) ? actualDefaultGraph : term));\n }\n getPatternId(subject, predicate, object, graph) {\n return JSON.stringify({\n s: subject.termType === 'Variable' ? '' : _termToString(subject),\n p: predicate.termType === 'Variable' ? '' : _termToString(predicate),\n o: object.termType === 'Variable' ? '' : _termToString(object),\n g: graph.termType === 'Variable' ? '' : _termToString(graph),\n });\n }\n cacheQuads(quads, subject, predicate, object, graph) {\n const patternId = this.getPatternId(subject, predicate, object, graph);\n this.cachedQuads[patternId] = quads.clone();\n }\n getCachedQuads(subject, predicate, object, graph) {\n const patternId = this.getPatternId(subject, predicate, object, graph);\n const quads = this.cachedQuads[patternId];\n if (quads) {\n return quads.clone();\n }\n }\n queryQuads(_operation, _context) {\n throw new Error('queryQuads is not implemented in QuerySourceQpf');\n }\n queryBoolean(_operation, _context) {\n throw new Error('queryBoolean is not implemented in QuerySourceQpf');\n }\n queryVoid(_operation, _context) {\n throw new Error('queryVoid is not implemented in QuerySourceQpf');\n }\n}\nexports.QuerySourceQpf = QuerySourceQpf;\nfunction _termToString(term) {\n return term.termType === 'DefaultGraph' ?\n // Any character that cannot be present in a URL will do\n '|' :\n (0, rdf_string_1.termToString)(term);\n}\n//# sourceMappingURL=QuerySourceQpf.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifyHypermediaQpf\"), exports);\n__exportStar(require(\"./QuerySourceQpf\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifyHypermediaSparql = void 0;\nconst bus_query_source_identify_hypermedia_1 = require(\"@comunica/bus-query-source-identify-hypermedia\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst QuerySourceSparql_1 = require(\"./QuerySourceSparql\");\n/**\n * A comunica SPARQL Query Source Identify Hypermedia Actor.\n */\nclass ActorQuerySourceIdentifyHypermediaSparql extends bus_query_source_identify_hypermedia_1.ActorQuerySourceIdentifyHypermedia {\n constructor(args) {\n super(args, 'sparql');\n }\n async testMetadata(action) {\n if (!action.forceSourceType && !action.metadata.sparqlService &&\n !(this.checkUrlSuffix && action.url.endsWith('/sparql'))) {\n return (0, core_1.failTest)(`Actor ${this.name} could not detect a SPARQL service description or URL ending on /sparql.`);\n }\n return (0, core_1.passTest)({ filterFactor: 1 });\n }\n async run(action) {\n this.logInfo(action.context, `Identified ${action.url} as sparql source with service URL: ${action.metadata.sparqlService || action.url}`);\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const source = new QuerySourceSparql_1.QuerySourceSparql(action.forceSourceType ? action.url : action.metadata.sparqlService || action.url, action.context, this.mediatorHttp, this.bindMethod, dataFactory, algebraFactory, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory), this.forceHttpGet, this.cacheSize, this.countTimeout);\n return { source };\n }\n}\nexports.ActorQuerySourceIdentifyHypermediaSparql = ActorQuerySourceIdentifyHypermediaSparql;\n//# sourceMappingURL=ActorQuerySourceIdentifyHypermediaSparql.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuerySourceSparql = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst fetch_sparql_endpoint_1 = require(\"fetch-sparql-endpoint\");\nconst lru_cache_1 = require(\"lru-cache\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst COUNT_INFINITY = { type: 'estimate', value: Number.POSITIVE_INFINITY };\nclass QuerySourceSparql {\n constructor(url, context, mediatorHttp, bindMethod, dataFactory, algebraFactory, bindingsFactory, forceHttpGet, cacheSize, countTimeout) {\n this.referenceValue = url;\n this.url = url;\n this.context = context;\n this.mediatorHttp = mediatorHttp;\n this.bindMethod = bindMethod;\n this.dataFactory = dataFactory;\n this.algebraFactory = algebraFactory;\n this.bindingsFactory = bindingsFactory;\n this.endpointFetcher = new fetch_sparql_endpoint_1.SparqlEndpointFetcher({\n method: forceHttpGet ? 'GET' : 'POST',\n fetch: (input, init) => this.mediatorHttp.mediate({ input, init, context: this.lastSourceContext }),\n prefixVariableQuestionMark: true,\n dataFactory,\n });\n this.cache = cacheSize > 0 ?\n new lru_cache_1.LRUCache({ max: cacheSize }) :\n undefined;\n this.countTimeout = countTimeout;\n }\n async getSelectorShape() {\n return QuerySourceSparql.SELECTOR_SHAPE;\n }\n queryBindings(operationIn, context, options) {\n // If bindings are passed, modify the operations\n let operationPromise;\n if (options?.joinBindings) {\n operationPromise = QuerySourceSparql.addBindingsToOperation(this.algebraFactory, this.bindMethod, operationIn, options.joinBindings);\n }\n else {\n operationPromise = Promise.resolve(operationIn);\n }\n const bindings = new asynciterator_1.TransformIterator(async () => {\n // Prepare queries\n const operation = await operationPromise;\n const variables = sparqlalgebrajs_1.Util.inScopeVariables(operation);\n const queryString = context.get(context_entries_1.KeysInitQuery.queryString);\n const selectQuery = !options?.joinBindings && queryString ?\n queryString :\n QuerySourceSparql.operationToSelectQuery(this.algebraFactory, operation, variables);\n const undefVariables = QuerySourceSparql.getOperationUndefs(operation);\n return this.queryBindingsRemote(this.url, selectQuery, variables, context, undefVariables);\n }, { autoStart: false });\n this.attachMetadata(bindings, context, operationPromise);\n return bindings;\n }\n queryQuads(operation, context) {\n this.lastSourceContext = this.context.merge(context);\n const rawStream = this.endpointFetcher.fetchTriples(this.url, context.get(context_entries_1.KeysInitQuery.queryString) ?? QuerySourceSparql.operationToQuery(operation));\n this.lastSourceContext = undefined;\n const quads = (0, asynciterator_1.wrap)(rawStream, { autoStart: false, maxBufferSize: Number.POSITIVE_INFINITY });\n this.attachMetadata(quads, context, Promise.resolve(operation.input));\n return quads;\n }\n queryBoolean(operation, context) {\n this.lastSourceContext = this.context.merge(context);\n const promise = this.endpointFetcher.fetchAsk(this.url, context.get(context_entries_1.KeysInitQuery.queryString) ?? QuerySourceSparql.operationToQuery(operation));\n this.lastSourceContext = undefined;\n return promise;\n }\n queryVoid(operation, context) {\n this.lastSourceContext = this.context.merge(context);\n const promise = this.endpointFetcher.fetchUpdate(this.url, context.get(context_entries_1.KeysInitQuery.queryString) ?? QuerySourceSparql.operationToQuery(operation));\n this.lastSourceContext = undefined;\n return promise;\n }\n attachMetadata(target, context, operationPromise) {\n // Emit metadata containing the estimated count\n let variablesCount = [];\n // eslint-disable-next-line no-async-promise-executor,ts/no-misused-promises\n new Promise(async (resolve, reject) => {\n // Prepare queries\n let countQuery;\n try {\n const operation = await operationPromise;\n const variablesScoped = sparqlalgebrajs_1.Util.inScopeVariables(operation);\n countQuery = QuerySourceSparql.operationToCountQuery(this.dataFactory, this.algebraFactory, operation);\n const undefVariables = QuerySourceSparql.getOperationUndefs(operation);\n variablesCount = variablesScoped.map(variable => ({\n variable,\n canBeUndef: undefVariables.some(undefVariable => undefVariable.equals(variable)),\n }));\n const cachedCardinality = this.cache?.get(countQuery);\n if (cachedCardinality !== undefined) {\n return resolve(cachedCardinality);\n }\n const timeoutHandler = setTimeout(() => resolve(COUNT_INFINITY), this.countTimeout);\n const varCount = this.dataFactory.variable('count');\n const bindingsStream = await this\n .queryBindingsRemote(this.url, countQuery, [varCount], context, []);\n bindingsStream.on('data', (bindings) => {\n clearTimeout(timeoutHandler);\n const count = bindings.get(varCount);\n const cardinality = { type: 'estimate', value: Number.POSITIVE_INFINITY };\n if (count) {\n const cardinalityValue = Number.parseInt(count.value, 10);\n if (!Number.isNaN(cardinalityValue)) {\n cardinality.type = 'exact';\n cardinality.value = cardinalityValue;\n this.cache?.set(countQuery, cardinality);\n }\n }\n return resolve(cardinality);\n });\n bindingsStream.on('error', () => {\n clearTimeout(timeoutHandler);\n resolve(COUNT_INFINITY);\n });\n bindingsStream.on('end', () => {\n clearTimeout(timeoutHandler);\n resolve(COUNT_INFINITY);\n });\n }\n catch (error) {\n return reject(error);\n }\n })\n .then((cardinality) => {\n target.setProperty('metadata', {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality,\n variables: variablesCount,\n });\n })\n .catch(() => target.setProperty('metadata', {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: COUNT_INFINITY,\n variables: variablesCount,\n }));\n }\n /**\n * Create an operation that includes the bindings from the given bindings stream.\n * @param algebraFactory The algebra factory.\n * @param bindMethod A method for adding bindings to an operation.\n * @param operation The operation to bind to.\n * @param addBindings The bindings to add.\n * @param addBindings.bindings The bindings stream.\n * @param addBindings.metadata The bindings metadata.\n */\n static async addBindingsToOperation(algebraFactory, bindMethod, operation, addBindings) {\n const bindings = await addBindings.bindings.toArray();\n switch (bindMethod) {\n case 'values':\n return algebraFactory.createJoin([\n algebraFactory.createValues(addBindings.metadata.variables.map(v => v.variable), bindings.map(binding => Object.fromEntries([...binding]\n .map(([key, value]) => [`?${key.value}`, value])))),\n operation,\n ], false);\n case 'union': {\n throw new Error('Not implemented yet: \"union\" case');\n }\n case 'filter': {\n throw new Error('Not implemented yet: \"filter\" case');\n }\n }\n }\n /**\n * Convert an operation to a select query for this pattern.\n * @param algebraFactory The algebra factory.\n * @param {Algebra.Operation} operation A query operation.\n * @param {RDF.Variable[]} variables The variables in scope for the operation.\n * @return {string} A select query string.\n */\n static operationToSelectQuery(algebraFactory, operation, variables) {\n return QuerySourceSparql.operationToQuery(algebraFactory.createProject(operation, variables));\n }\n /**\n * Convert an operation to a count query for the number of matching triples for this pattern.\n * @param dataFactory The data factory.\n * @param algebraFactory The algebra factory.\n * @param {Algebra.Operation} operation A query operation.\n * @return {string} A count query string.\n */\n static operationToCountQuery(dataFactory, algebraFactory, operation) {\n return QuerySourceSparql.operationToQuery(algebraFactory.createProject(algebraFactory.createExtend(algebraFactory.createGroup(operation, [], [algebraFactory.createBoundAggregate(dataFactory.variable('var0'), 'count', algebraFactory.createWildcardExpression(), false)]), dataFactory.variable('count'), algebraFactory.createTermExpression(dataFactory.variable('var0'))), [dataFactory.variable('count')]));\n }\n /**\n * Convert an operation to a query for this pattern.\n * @param {Algebra.Operation} operation A query operation.\n * @return {string} A query string.\n */\n static operationToQuery(operation) {\n return (0, sparqlalgebrajs_1.toSparql)(operation, { sparqlStar: true });\n }\n /**\n * Check if the given operation may produce undefined values.\n * @param operation\n */\n static getOperationUndefs(operation) {\n const variables = [];\n sparqlalgebrajs_1.Util.recurseOperation(operation, {\n leftjoin(subOperation) {\n const left = sparqlalgebrajs_1.Util.inScopeVariables(subOperation.input[0]);\n const right = sparqlalgebrajs_1.Util.inScopeVariables(subOperation.input[1]);\n for (const varRight of right) {\n if (!left.some(varLeft => varLeft.equals(varRight))) {\n variables.push(varRight);\n }\n }\n return false;\n },\n values(values) {\n for (const variable of values.variables) {\n if (values.bindings.some(bindings => !(`?${variable.value}` in bindings))) {\n variables.push(variable);\n }\n }\n return false;\n },\n union(union) {\n // Determine variables in scope of the union branches that are not occurring in every branch\n const scopedVariables = union.input.map(sparqlalgebrajs_1.Util.inScopeVariables);\n for (const variable of (0, rdf_terms_1.uniqTerms)(scopedVariables.flat())) {\n if (!scopedVariables.every(input => input.some(inputVar => inputVar.equals(variable)))) {\n variables.push(variable);\n }\n }\n return true;\n },\n });\n return (0, rdf_terms_1.uniqTerms)(variables);\n }\n /**\n * Send a SPARQL query to a SPARQL endpoint and retrieve its bindings as a stream.\n * @param {string} endpoint A SPARQL endpoint URL.\n * @param {string} query A SPARQL query string.\n * @param {RDF.Variable[]} variables The expected variables.\n * @param {IActionContext} context The source context.\n * @param undefVariables Variables that may have undefs.\n * @return {BindingsStream} A stream of bindings.\n */\n async queryBindingsRemote(endpoint, query, variables, context, undefVariables) {\n // Index undef variables\n const undefVariablesIndex = new Set();\n for (const undefVariable of undefVariables) {\n undefVariablesIndex.add(undefVariable.value);\n }\n this.lastSourceContext = this.context.merge(context);\n const rawStream = await this.endpointFetcher.fetchBindings(endpoint, query);\n this.lastSourceContext = undefined;\n return (0, asynciterator_1.wrap)(rawStream, { autoStart: false, maxBufferSize: Number.POSITIVE_INFINITY })\n .map((rawData) => this.bindingsFactory.bindings(variables\n .map((variable) => {\n const value = rawData[`?${variable.value}`];\n if (!undefVariablesIndex.has(variable.value) && !value) {\n core_1.Actor.getContextLogger(this.context)?.warn(`The endpoint ${endpoint} failed to provide a binding for ${variable.value}.`);\n }\n return [variable, value];\n })\n .filter(([_, v]) => Boolean(v))));\n }\n toString() {\n return `QuerySourceSparql(${this.url})`;\n }\n}\nexports.QuerySourceSparql = QuerySourceSparql;\nQuerySourceSparql.SELECTOR_SHAPE = {\n type: 'disjunction',\n children: [\n {\n type: 'operation',\n operation: { operationType: 'wildcard' },\n joinBindings: true,\n },\n ],\n};\n//# sourceMappingURL=QuerySourceSparql.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifyHypermediaSparql\"), exports);\n__exportStar(require(\"./QuerySourceSparql\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifyHypermedia = void 0;\nconst bus_query_source_identify_1 = require(\"@comunica/bus-query-source-identify\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst QuerySourceHypermedia_1 = require(\"./QuerySourceHypermedia\");\n/**\n * A comunica Hypermedia Query Source Identify Actor.\n */\nclass ActorQuerySourceIdentifyHypermedia extends bus_query_source_identify_1.ActorQuerySourceIdentify {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (typeof action.querySourceUnidentified.value !== 'string') {\n return (0, core_1.failTest)(`${this.name} requires a single query source with a URL value to be present in the context.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n return {\n querySource: {\n source: new QuerySourceHypermedia_1.QuerySourceHypermedia(this.cacheSize, action.querySourceUnidentified.value, action.querySourceUnidentified.type, this.maxIterators, this.aggregateTraversalStore &&\n Boolean(action.querySourceUnidentified.context?.get(context_entries_1.KeysQuerySourceIdentify.traverse)), {\n mediatorMetadata: this.mediatorMetadata,\n mediatorMetadataExtract: this.mediatorMetadataExtract,\n mediatorMetadataAccumulate: this.mediatorMetadataAccumulate,\n mediatorDereferenceRdf: this.mediatorDereferenceRdf,\n mediatorQuerySourceIdentifyHypermedia: this.mediatorQuerySourceIdentifyHypermedia,\n mediatorRdfResolveHypermediaLinks: this.mediatorRdfResolveHypermediaLinks,\n mediatorRdfResolveHypermediaLinksQueue: this.mediatorRdfResolveHypermediaLinksQueue,\n }, warningMessage => this.logWarn(action.context, warningMessage), dataFactory, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory)),\n context: action.querySourceUnidentified.context ?? new core_1.ActionContext(),\n },\n };\n }\n}\nexports.ActorQuerySourceIdentifyHypermedia = ActorQuerySourceIdentifyHypermedia;\n//# sourceMappingURL=ActorQuerySourceIdentifyHypermedia.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkedRdfSourcesAsyncRdfIterator = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\nclass LinkedRdfSourcesAsyncRdfIterator extends asynciterator_1.BufferedIterator {\n constructor(cacheSize, operation, queryBindingsOptions, context, firstUrl, maxIterators, sourceStateGetter, options) {\n super({ autoStart: false, ...options });\n this.started = false;\n this.currentIterators = [];\n this.iteratorsPendingCreation = 0;\n this.iteratorsPendingTermination = 0;\n // eslint-disable-next-line unicorn/no-useless-undefined\n this.accumulatedMetadata = Promise.resolve(undefined);\n this._reading = false;\n this.cacheSize = cacheSize;\n this.operation = operation;\n this.queryBindingsOptions = queryBindingsOptions;\n this.context = context;\n this.firstUrl = firstUrl;\n this.maxIterators = maxIterators;\n this.sourceStateGetter = sourceStateGetter;\n if (this.maxIterators <= 0) {\n throw new Error(`LinkedRdfSourcesAsyncRdfIterator.maxIterators must be larger than zero, but got ${this.maxIterators}`);\n }\n }\n /**\n * Start filling the buffer of this iterator.\n */\n kickstart() {\n if (!this.started) {\n this._fillBufferAsync();\n }\n }\n getProperty(propertyName, callback) {\n if (propertyName === 'metadata' && !this.started) {\n // If the iterator has not started yet, forcefully fetch the metadata from the source without starting the\n // iterator. This way, we keep the iterator lazy.\n if (!this.preflightMetadata) {\n this.preflightMetadata = new Promise((resolve, reject) => {\n this.sourceStateGetter({ url: this.firstUrl }, {})\n .then((sourceState) => {\n // Don't pass query options, as we don't want to consume any passed iterators\n const bindingsStream = sourceState.source.queryBindings(this.operation, this.context);\n bindingsStream.getProperty('metadata', (metadata) => {\n metadata.state = new utils_metadata_1.MetadataValidationState();\n bindingsStream.destroy();\n this.accumulateMetadata(sourceState.metadata, metadata)\n .then((accumulatedMetadata) => {\n // Also merge fields that were not explicitly accumulated\n const returnMetadata = { ...sourceState.metadata, ...metadata, ...accumulatedMetadata };\n resolve(returnMetadata);\n })\n .catch(() => {\n resolve({\n ...sourceState.metadata,\n state: new utils_metadata_1.MetadataValidationState(),\n });\n });\n });\n })\n .catch(reject);\n });\n }\n this.preflightMetadata\n .then(metadata => this.setProperty('metadata', metadata))\n .catch(() => {\n // Ignore errors\n });\n }\n return super.getProperty(propertyName, callback);\n }\n _end(destroy) {\n // Close all running iterators\n for (const it of this.currentIterators) {\n it.destroy();\n }\n super._end(destroy);\n }\n _read(count, done) {\n if (this.started) {\n // Read from all current iterators\n for (const iterator of this.currentIterators) {\n while (count > 0) {\n const read = iterator.read();\n if (read === null) {\n break;\n }\n else {\n count--;\n this._push(read);\n }\n }\n if (count <= 0) {\n break;\n }\n }\n // Schedule new iterators if needed\n if (count >= 0 && this.canStartNewIterator()) {\n // We can safely ignore skip catching the error, since we are guaranteed to have\n // successfully got the source for this.firstUrl before.\n // eslint-disable-next-line ts/no-floating-promises\n this.sourceStateGetter({ url: this.firstUrl }, {})\n .then((sourceState) => {\n this.startIteratorsForNextUrls(sourceState.handledDatasets, false);\n done();\n });\n }\n else {\n done();\n }\n }\n else {\n // The first time this is called, prepare the first source\n this.started = true;\n // Await the source to be set, and start the source iterator\n this.sourceStateGetter({ url: this.firstUrl }, {})\n .then((sourceState) => {\n this.startIterator(sourceState);\n done();\n })\n // Destroy should be async because it can be called before it is listened to\n .catch(error => setTimeout(() => this.destroy(error)));\n }\n }\n canStartNewIterator() {\n return (this.currentIterators.length + this.iteratorsPendingCreation + this.iteratorsPendingTermination) <\n this.maxIterators && (!this.canStartNewIteratorConsiderReadable() || !this.readable);\n }\n canStartNewIteratorConsiderReadable() {\n return true;\n }\n areIteratorsRunning() {\n return (this.currentIterators.length + this.iteratorsPendingCreation + this.iteratorsPendingTermination) > 0;\n }\n /**\n * Start a new iterator for the given source.\n * Once the iterator is done, it will either determine a new source, or it will close the linked iterator.\n * @param {ISourceState} startSource The start source state.\n */\n startIterator(startSource) {\n // Delegate the quad pattern query to the given source\n try {\n const iterator = startSource.source.queryBindings(this.operation, this.context, this.queryBindingsOptions);\n this.currentIterators.push(iterator);\n let receivedEndEvent = false;\n let receivedMetadata = false;\n // Attach readers to the newly created iterator\n iterator._destination = this;\n iterator.on('error', (error) => this.destroy(error));\n iterator.on('readable', () => this._fillBuffer());\n iterator.on('end', () => {\n this.currentIterators.splice(this.currentIterators.indexOf(iterator), 1);\n // Indicate that this iterator still needs to flush its next-links.\n // Without this, the linked iterator could sometimes be closed before next-links are obtained.\n receivedEndEvent = true;\n if (!receivedMetadata) {\n this.iteratorsPendingTermination++;\n }\n // If the metadata was already received, handle the next URL in the queue\n if (receivedMetadata) {\n this.startIteratorsForNextUrls(startSource.handledDatasets, true);\n }\n });\n // Listen for the metadata of the source\n // The metadata property is guaranteed to be set\n iterator.getProperty('metadata', (metadata) => {\n // Accumulate the metadata object\n this.accumulatedMetadata = this.accumulatedMetadata\n .then(previousMetadata => (async () => {\n if (!previousMetadata) {\n previousMetadata = startSource.metadata;\n }\n return this.accumulateMetadata(previousMetadata, metadata);\n })()\n .then((accumulatedMetadata) => {\n // Also merge fields that were not explicitly accumulated\n const returnMetadata = { ...startSource.metadata, ...metadata, ...accumulatedMetadata };\n // Create new metadata state\n returnMetadata.state = new utils_metadata_1.MetadataValidationState();\n // Emit metadata, and invalidate any metadata that was set before\n this.updateMetadata(returnMetadata);\n // Invalidate any preflight metadata\n if (this.preflightMetadata) {\n this.preflightMetadata\n .then(metadataIn => metadataIn.state.invalidate())\n .catch(() => {\n // Ignore errors\n });\n }\n // Determine next urls, which will eventually become a next-next source.\n this.getSourceLinks(returnMetadata, startSource)\n .then((nextUrls) => Promise.all(nextUrls))\n .then(async (nextUrls) => {\n // Append all next URLs to our queue\n const linkQueue = await this.getLinkQueue();\n for (const nextUrl of nextUrls) {\n linkQueue.push(nextUrl, startSource.link);\n }\n receivedMetadata = true;\n if (receivedEndEvent) {\n this.iteratorsPendingTermination--;\n }\n this.startIteratorsForNextUrls(startSource.handledDatasets, true);\n }).catch(error => this.destroy(error));\n return returnMetadata;\n })).catch((error) => {\n this.destroy(error);\n return {};\n });\n });\n }\n catch (syncError) {\n this.destroy(syncError);\n }\n }\n updateMetadata(metadataNew) {\n const metadataToInvalidate = this.getProperty('metadata');\n this.setProperty('metadata', metadataNew);\n metadataToInvalidate?.state.invalidate();\n }\n isRunning() {\n return !this.done;\n }\n /**\n * Check if a next URL is in the queue.\n * If yes, start a new iterator.\n * If no, close this iterator.\n * @param handledDatasets\n * @param canClose\n */\n startIteratorsForNextUrls(handledDatasets, canClose) {\n this.getLinkQueue()\n .then((linkQueue) => {\n // Create as many new iterators as possible\n while (this.canStartNewIterator() && this.isRunning()) {\n const nextLink = linkQueue.pop();\n if (nextLink) {\n this.iteratorsPendingCreation++;\n this.sourceStateGetter(nextLink, handledDatasets)\n .then((nextSourceState) => {\n // If we find a statistic tracking dereference events we emit the relevant data\n const statisticDereferenceLinks = this.context.get(context_entries_1.KeysStatistics.dereferencedLinks);\n if (statisticDereferenceLinks) {\n statisticDereferenceLinks.updateStatistic({\n url: nextSourceState.link.url,\n metadata: { ...nextSourceState.metadata, ...nextSourceState.link.metadata },\n }, nextSourceState.source);\n }\n this.iteratorsPendingCreation--;\n this.startIterator(nextSourceState);\n })\n .catch(error => this.emit('error', error));\n }\n else {\n break;\n }\n }\n // Close, only if no other iterators are still running\n if (canClose && this.isCloseable(linkQueue, true)) {\n this.close();\n }\n })\n .catch(error => this.destroy(error));\n }\n isCloseable(linkQueue, _requireQueueEmpty) {\n return linkQueue.isEmpty() && !this.areIteratorsRunning();\n }\n}\nexports.LinkedRdfSourcesAsyncRdfIterator = LinkedRdfSourcesAsyncRdfIterator;\n//# sourceMappingURL=LinkedRdfSourcesAsyncRdfIterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatedLinkedRdfSourcesAsyncRdfIterator = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst LinkedRdfSourcesAsyncRdfIterator_1 = require(\"./LinkedRdfSourcesAsyncRdfIterator\");\n/**\n * An quad iterator that can iterate over consecutive RDF sources\n * that are determined using the rdf-resolve-hypermedia-links bus.\n *\n * @see LinkedRdfSourcesAsyncRdfIterator\n */\nclass MediatedLinkedRdfSourcesAsyncRdfIterator extends LinkedRdfSourcesAsyncRdfIterator_1.LinkedRdfSourcesAsyncRdfIterator {\n constructor(cacheSize, operation, queryBindingsOptions, context, forceSourceType, firstUrl, maxIterators, sourceStateGetter, aggregatedStore, mediatorMetadataAccumulate, mediatorRdfResolveHypermediaLinks, mediatorRdfResolveHypermediaLinksQueue, dataFactory, algebraFactory) {\n super(cacheSize, operation, queryBindingsOptions, context, firstUrl, maxIterators, sourceStateGetter, \n // Buffersize must be infinite for an aggregated store because it must keep filling until there are no more\n // derived iterators in the aggregated store.\n aggregatedStore ? { maxBufferSize: Number.POSITIVE_INFINITY } : undefined);\n this.wasForcefullyClosed = false;\n this.forceSourceType = forceSourceType;\n this.mediatorMetadataAccumulate = mediatorMetadataAccumulate;\n this.mediatorRdfResolveHypermediaLinks = mediatorRdfResolveHypermediaLinks;\n this.mediatorRdfResolveHypermediaLinksQueue = mediatorRdfResolveHypermediaLinksQueue;\n this.handledUrls = { [firstUrl]: true };\n this.aggregatedStore = aggregatedStore;\n this.dataFactory = dataFactory;\n this.algebraFactory = algebraFactory;\n }\n // Mark the aggregated store as ended once we trigger the closing or destroying of this iterator.\n // We don't override _end, because that would mean that we have to wait\n // until the buffer of this iterator must be fully consumed, which will not always be the case.\n close() {\n if (!this.aggregatedStore) {\n super.close();\n return;\n }\n this.getLinkQueue()\n .then((linkQueue) => {\n if (this.isCloseable(linkQueue, false)) {\n // Wait a tick before ending the aggregatedStore, to ensure that pending match() calls to it have started.\n if (this.aggregatedStore) {\n setTimeout(() => this.aggregatedStore.end());\n }\n super.close();\n }\n else {\n this.wasForcefullyClosed = true;\n }\n })\n .catch(error => super.destroy(error));\n }\n destroy(cause) {\n if (!this.aggregatedStore) {\n super.destroy(cause);\n return;\n }\n this.getLinkQueue()\n .then((linkQueue) => {\n if (cause ?? this.isCloseable(linkQueue, false)) {\n // Wait a tick before ending the aggregatedStore, to ensure that pending match() calls to it have started.\n if (this.aggregatedStore) {\n setTimeout(() => this.aggregatedStore.end());\n }\n super.destroy(cause);\n }\n else {\n this.wasForcefullyClosed = true;\n }\n })\n .catch(error => super.destroy(error));\n }\n isCloseable(linkQueue, requireQueueEmpty) {\n return (requireQueueEmpty ? linkQueue.isEmpty() : this.wasForcefullyClosed || linkQueue.isEmpty()) &&\n !this.areIteratorsRunning();\n }\n canStartNewIterator() {\n // Also allow sub-iterators to be started if the aggregated store has at least one running iterator.\n // We need this because there are cases where these running iterators will be consumed before this linked iterator.\n return (!this.wasForcefullyClosed &&\n // eslint-disable-next-line ts/prefer-nullish-coalescing\n (this.aggregatedStore && this.aggregatedStore.hasRunningIterators())) || super.canStartNewIterator();\n }\n canStartNewIteratorConsiderReadable() {\n return !this.aggregatedStore;\n }\n isRunning() {\n // Same as above\n // eslint-disable-next-line ts/prefer-nullish-coalescing\n return (this.aggregatedStore && this.aggregatedStore.hasRunningIterators()) || !this.done;\n }\n getLinkQueue() {\n if (!this.linkQueue) {\n this.linkQueue = this.mediatorRdfResolveHypermediaLinksQueue\n .mediate({ firstUrl: this.firstUrl, context: this.context })\n .then(result => result.linkQueue);\n }\n return this.linkQueue;\n }\n async getSourceLinks(metadata, startSource) {\n try {\n const { links } = await this.mediatorRdfResolveHypermediaLinks.mediate({ context: this.context, metadata });\n // Update discovery event statistic if available\n const traversalTracker = this.context.get(context_entries_1.KeysStatistics.discoveredLinks);\n if (traversalTracker) {\n for (const link of links) {\n traversalTracker.updateStatistic({ url: link.url, metadata: { ...link.metadata } }, startSource.link);\n }\n }\n // Filter URLs to avoid cyclic next-page loops\n return links.filter((link) => {\n if (this.handledUrls[link.url]) {\n return false;\n }\n this.handledUrls[link.url] = true;\n return true;\n });\n }\n catch {\n // No next URLs may be available, for example when we've reached the end of a Hydra next-page sequence.\n return [];\n }\n }\n startIterator(startSource) {\n if (this.aggregatedStore && !this.aggregatedStore.containedSources.has(startSource.link.url)) {\n // A source that has been cached due to earlier query executions may not be part of the aggregated store yet.\n // In that case, we add all quads from that source to the aggregated store.\n this.aggregatedStore?.containedSources.add(startSource.link.url);\n const stream = startSource.source.queryBindings(this.algebraFactory.createPattern(this.dataFactory.variable('s'), this.dataFactory.variable('p'), this.dataFactory.variable('o'), this.dataFactory.variable('g')), this.context.set(context_entries_1.KeysQueryOperation.unionDefaultGraph, true)).map(bindings => this.dataFactory.quad(bindings.get('s'), bindings.get('p'), bindings.get('o'), bindings.get('g')));\n this.aggregatedStore.import(stream)\n .on('end', () => {\n super.startIterator(startSource);\n });\n }\n else {\n super.startIterator(startSource);\n }\n }\n async accumulateMetadata(accumulatedMetadata, appendingMetadata) {\n return (await this.mediatorMetadataAccumulate.mediate({\n mode: 'append',\n accumulatedMetadata,\n appendingMetadata,\n context: this.context,\n })).metadata;\n }\n updateMetadata(metadataNew) {\n super.updateMetadata(metadataNew);\n this.aggregatedStore?.setBaseMetadata(metadataNew, true);\n }\n}\nexports.MediatedLinkedRdfSourcesAsyncRdfIterator = MediatedLinkedRdfSourcesAsyncRdfIterator;\n//# sourceMappingURL=MediatedLinkedRdfSourcesAsyncRdfIterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuerySourceHypermedia = void 0;\nconst actor_query_source_identify_rdfjs_1 = require(\"@comunica/actor-query-source-identify-rdfjs\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst lru_cache_1 = require(\"lru-cache\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst MediatedLinkedRdfSourcesAsyncRdfIterator_1 = require(\"./MediatedLinkedRdfSourcesAsyncRdfIterator\");\nconst StreamingStoreMetadata_1 = require(\"./StreamingStoreMetadata\");\nclass QuerySourceHypermedia {\n constructor(cacheSize, firstUrl, forceSourceType, maxIterators, aggregateStore, mediators, logWarning, dataFactory, bindingsFactory) {\n this.referenceValue = firstUrl;\n this.cacheSize = cacheSize;\n this.firstUrl = firstUrl;\n this.forceSourceType = forceSourceType;\n this.maxIterators = maxIterators;\n this.mediators = mediators;\n this.aggregateStore = aggregateStore;\n this.logWarning = logWarning;\n this.dataFactory = dataFactory;\n this.bindingsFactory = bindingsFactory;\n this.sourcesState = new lru_cache_1.LRUCache({ max: this.cacheSize });\n }\n async getSelectorShape(context) {\n const source = await this.getSourceCached({ url: this.firstUrl }, {}, context, this.getAggregateStore(context));\n return source.source.getSelectorShape(context);\n }\n queryBindings(operation, context, options) {\n // Optimized match with aggregated store if enabled and started.\n const aggregatedStore = this.getAggregateStore(context);\n if (aggregatedStore && operation.type === 'pattern' && aggregatedStore.started) {\n return new actor_query_source_identify_rdfjs_1.QuerySourceRdfJs(aggregatedStore, context.getSafe(context_entries_1.KeysInitQuery.dataFactory), this.bindingsFactory).queryBindings(operation, context);\n }\n // Initialize the sources state on first call\n if (this.sourcesState.size === 0) {\n this.getSourceCached({ url: this.firstUrl }, {}, context, aggregatedStore)\n .catch(error => it.destroy(error));\n }\n const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const it = new MediatedLinkedRdfSourcesAsyncRdfIterator_1.MediatedLinkedRdfSourcesAsyncRdfIterator(this.cacheSize, operation, options, context, this.forceSourceType, this.firstUrl, this.maxIterators, (link, handledDatasets) => this.getSourceCached(link, handledDatasets, context, aggregatedStore), aggregatedStore, this.mediators.mediatorMetadataAccumulate, this.mediators.mediatorRdfResolveHypermediaLinks, this.mediators.mediatorRdfResolveHypermediaLinksQueue, dataFactory, algebraFactory);\n if (aggregatedStore) {\n aggregatedStore.started = true;\n // Kickstart this iterator when derived iterators are created from the aggregatedStore,\n // otherwise the traversal process will not start if this iterator is not the first one to be consumed.\n const listener = () => it.kickstart();\n aggregatedStore.addIteratorCreatedListener(listener);\n it.on('end', () => aggregatedStore.removeIteratorCreatedListener(listener));\n }\n return it;\n }\n queryQuads(operation, context) {\n return new asynciterator_1.TransformIterator(async () => {\n const source = await this.getSourceCached({ url: this.firstUrl }, {}, context, this.getAggregateStore(context));\n return source.source.queryQuads(operation, context);\n });\n }\n async queryBoolean(operation, context) {\n const source = await this.getSourceCached({ url: this.firstUrl }, {}, context, this.getAggregateStore(context));\n return await source.source.queryBoolean(operation, context);\n }\n async queryVoid(operation, context) {\n const source = await this.getSourceCached({ url: this.firstUrl }, {}, context, this.getAggregateStore(context));\n return await source.source.queryVoid(operation, context);\n }\n /**\n * Resolve a source for the given URL.\n * @param link A source link.\n * @param handledDatasets A hash of dataset identifiers that have already been handled.\n * @param context The action context.\n * @param aggregatedStore An optional aggregated store.\n */\n async getSource(link, handledDatasets, context, aggregatedStore) {\n // Include context entries from link\n if (link.context) {\n context = context.merge(link.context);\n }\n // Get the RDF representation of the given document\n let url = link.url;\n let quads;\n let metadata;\n try {\n const dereferenceRdfOutput = await this.mediators.mediatorDereferenceRdf\n .mediate({ context, url });\n url = dereferenceRdfOutput.url;\n // Determine the metadata\n const rdfMetadataOutput = await this.mediators.mediatorMetadata.mediate({ context, url, quads: dereferenceRdfOutput.data, triples: dereferenceRdfOutput.metadata?.triples });\n rdfMetadataOutput.data.on('error', () => {\n // Silence errors in the data stream,\n // as they will be emitted again in the metadata stream,\n // and will result in a promise rejection anyways.\n // If we don't do this, we end up with an unhandled error message\n });\n metadata = (await this.mediators.mediatorMetadataExtract.mediate({\n context,\n url,\n // The problem appears to be conflicting metadata keys here\n metadata: rdfMetadataOutput.metadata,\n headers: dereferenceRdfOutput.headers,\n requestTime: dereferenceRdfOutput.requestTime,\n })).metadata;\n quads = rdfMetadataOutput.data;\n // Optionally filter the resulting data\n if (link.transform) {\n quads = await link.transform(quads);\n }\n }\n catch (error) {\n // Make sure that dereference errors are only emitted once an actor really needs the read quads\n // This for example allows SPARQL endpoints that error on service description fetching to still be source-forcible\n quads = new readable_stream_1.Readable();\n quads.read = () => {\n setTimeout(() => quads.emit('error', error));\n return null;\n };\n ({ metadata } = await this.mediators.mediatorMetadataAccumulate.mediate({ context, mode: 'initialize' }));\n // Log as warning, because the quads above may not always be consumed (e.g. for SPARQL endpoints),\n // so the user would not be notified of something going wrong otherwise.\n this.logWarning(`Metadata extraction for ${url} failed: ${error.message}`);\n }\n // Aggregate all discovered quads into a store.\n aggregatedStore?.setBaseMetadata(metadata, false);\n aggregatedStore?.containedSources.add(link.url);\n aggregatedStore?.import(quads);\n // Determine the source\n const { source, dataset } = await this.mediators.mediatorQuerySourceIdentifyHypermedia.mediate({\n context,\n forceSourceType: link.url === this.firstUrl ? this.forceSourceType : undefined,\n handledDatasets,\n metadata,\n quads,\n url,\n });\n if (dataset) {\n // Mark the dataset as applied\n // This is needed to make sure that things like QPF search forms are only applied once,\n // and next page links are followed after that.\n handledDatasets[dataset] = true;\n }\n return { link, source, metadata: metadata, handledDatasets };\n }\n /**\n * Resolve a source for the given URL.\n * This will first try to retrieve the source from cache.\n * @param link A source ILink.\n * @param handledDatasets A hash of dataset identifiers that have already been handled.\n * @param context The action context.\n * @param aggregatedStore An optional aggregated store.\n */\n getSourceCached(link, handledDatasets, context, aggregatedStore) {\n let source = this.sourcesState.get(link.url);\n if (source) {\n return source;\n }\n source = this.getSource(link, handledDatasets, context, aggregatedStore);\n if (link.url === this.firstUrl || aggregatedStore === undefined) {\n this.sourcesState.set(link.url, source);\n }\n return source;\n }\n getAggregateStore(context) {\n let aggregatedStore;\n if (this.aggregateStore) {\n const aggregatedStores = context\n .get(context_entries_1.KeysQuerySourceIdentify.hypermediaSourcesAggregatedStores);\n if (aggregatedStores) {\n aggregatedStore = aggregatedStores.get(this.firstUrl);\n if (!aggregatedStore) {\n aggregatedStore = new StreamingStoreMetadata_1.StreamingStoreMetadata(undefined, async (accumulatedMetadata, appendingMetadata) => (await this.mediators.mediatorMetadataAccumulate.mediate({\n mode: 'append',\n accumulatedMetadata,\n appendingMetadata,\n context,\n })).metadata);\n aggregatedStores.set(this.firstUrl, aggregatedStore);\n }\n return aggregatedStore;\n }\n }\n }\n toString() {\n return `QuerySourceHypermedia(${this.firstUrl})`;\n }\n}\nexports.QuerySourceHypermedia = QuerySourceHypermedia;\n//# sourceMappingURL=QuerySourceHypermedia.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingStoreMetadata = void 0;\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst rdf_streaming_store_1 = require(\"rdf-streaming-store\");\n/**\n * A StreamingStore that returns an AsyncIterator with a valid MetadataQuads property.\n */\nclass StreamingStoreMetadata extends rdf_streaming_store_1.StreamingStore {\n constructor(store, metadataAccumulator) {\n super(store);\n this.started = false;\n this.containedSources = new Set();\n this.runningIterators = new Set();\n this.iteratorCreatedListeners = new Set();\n this.baseMetadata = {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 0 },\n variables: [],\n };\n this.metadataAccumulator = metadataAccumulator;\n }\n import(stream) {\n if (!this.ended) {\n super.import(stream);\n }\n return stream;\n }\n hasRunningIterators() {\n return this.runningIterators.size > 0;\n }\n match(subject, predicate, object, graph) {\n // Wrap the raw stream in an AsyncIterator\n const rawStream = super.match(subject, predicate, object, graph);\n const iterator = new utils_iterator_1.ClosableTransformIterator(rawStream, {\n autoStart: false,\n onClose: () => {\n // Running iterators are deleted once closed or destroyed\n this.runningIterators.delete(iterator);\n },\n });\n // Expose the metadata property containing the cardinality\n let count = this.getStore().countQuads(subject, predicate, object, graph);\n const metadata = {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: {\n type: 'estimate',\n value: count,\n },\n };\n iterator.setProperty('metadata', metadata);\n iterator.setProperty('lastCount', count);\n // Every time a new quad is pushed into the iterator, update the metadata\n rawStream.on('quad', () => {\n iterator.setProperty('lastCount', ++count);\n this.updateMetadataState(iterator, count);\n });\n // Store all running iterators until they close or are destroyed\n this.runningIterators.add(iterator);\n // Invoke creation listeners\n for (const listener of this.iteratorCreatedListeners) {\n listener();\n }\n return iterator;\n }\n setBaseMetadata(metadata, updateStates) {\n this.baseMetadata = { ...metadata };\n this.baseMetadata.cardinality = { type: 'exact', value: 0 };\n if (updateStates) {\n for (const iterator of this.runningIterators) {\n const count = iterator.getProperty('lastCount');\n this.updateMetadataState(iterator, count);\n }\n }\n }\n updateMetadataState(iterator, count) {\n // Append the given cardinality to the base metadata\n const metadataNew = {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: {\n type: 'estimate',\n value: count,\n },\n variables: [],\n };\n this.metadataAccumulator(this.baseMetadata, metadataNew)\n .then((accumulatedMetadata) => {\n accumulatedMetadata.state = new utils_metadata_1.MetadataValidationState();\n // Set the new metadata, and invalidate the previous state\n const metadataToInvalidate = iterator.getProperty('metadata');\n iterator.setProperty('metadata', accumulatedMetadata);\n metadataToInvalidate?.state.invalidate();\n })\n .catch(() => {\n // Void errors\n });\n }\n addIteratorCreatedListener(listener) {\n this.iteratorCreatedListeners.add(listener);\n }\n removeIteratorCreatedListener(listener) {\n this.iteratorCreatedListeners.delete(listener);\n }\n}\nexports.StreamingStoreMetadata = StreamingStoreMetadata;\n//# sourceMappingURL=StreamingStoreMetadata.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifyHypermedia\"), exports);\n__exportStar(require(\"./QuerySourceHypermedia\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifyRdfJs = void 0;\nconst bus_query_source_identify_1 = require(\"@comunica/bus-query-source-identify\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst QuerySourceRdfJs_1 = require(\"./QuerySourceRdfJs\");\n/**\n * A comunica RDFJS Query Source Identify Actor.\n */\nclass ActorQuerySourceIdentifyRdfJs extends bus_query_source_identify_1.ActorQuerySourceIdentify {\n constructor(args) {\n super(args);\n }\n async test(action) {\n const source = action.querySourceUnidentified;\n if (source.type !== undefined && source.type !== 'rdfjs') {\n return (0, core_1.failTest)(`${this.name} requires a single query source with rdfjs type to be present in the context.`);\n }\n if (typeof source.value === 'string' || !('match' in source.value)) {\n return (0, core_1.failTest)(`${this.name} received an invalid rdfjs query source.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n return {\n querySource: {\n source: new QuerySourceRdfJs_1.QuerySourceRdfJs(action.querySourceUnidentified.value, dataFactory, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory)),\n context: action.querySourceUnidentified.context ?? new core_1.ActionContext(),\n },\n };\n }\n}\nexports.ActorQuerySourceIdentifyRdfJs = ActorQuerySourceIdentifyRdfJs;\n//# sourceMappingURL=ActorQuerySourceIdentifyRdfJs.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IRdfJsSourceExtended.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuerySourceRdfJs = void 0;\nconst bus_query_source_identify_1 = require(\"@comunica/bus-query-source-identify\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nclass QuerySourceRdfJs {\n constructor(source, dataFactory, bindingsFactory) {\n this.source = source;\n this.referenceValue = source;\n this.dataFactory = dataFactory;\n this.bindingsFactory = bindingsFactory;\n const AF = new sparqlalgebrajs_1.Factory(this.dataFactory);\n this.selectorShape = {\n type: 'operation',\n operation: {\n operationType: 'pattern',\n pattern: AF.createPattern(this.dataFactory.variable('s'), this.dataFactory.variable('p'), this.dataFactory.variable('o')),\n },\n variablesOptional: [\n this.dataFactory.variable('s'),\n this.dataFactory.variable('p'),\n this.dataFactory.variable('o'),\n ],\n };\n }\n static nullifyVariables(term, quotedTripleFiltering) {\n return !term || term.termType === 'Variable' || (!quotedTripleFiltering &&\n term.termType === 'Quad' && (0, rdf_terms_1.someTermsNested)(term, value => value.termType === 'Variable')) ?\n undefined :\n term;\n }\n static hasDuplicateVariables(pattern) {\n const variables = (0, rdf_terms_1.filterTermsNested)(pattern, term => term.termType === 'Variable');\n return variables.length > 1 && (0, rdf_terms_1.uniqTerms)(variables).length < variables.length;\n }\n async getSelectorShape() {\n return this.selectorShape;\n }\n queryBindings(operation, context) {\n if (operation.type !== 'pattern') {\n throw new Error(`Attempted to pass non-pattern operation '${operation.type}' to QuerySourceRdfJs`);\n }\n // Check if the source supports quoted triple filtering\n const quotedTripleFiltering = Boolean(this.source.features?.quotedTripleFiltering);\n // Create an async iterator from the matched quad stream\n const rawStream = this.source.match(QuerySourceRdfJs.nullifyVariables(operation.subject, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.predicate, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.object, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.graph, quotedTripleFiltering));\n let it = rawStream instanceof asynciterator_1.AsyncIterator ?\n rawStream :\n (0, asynciterator_1.wrap)(rawStream, { autoStart: false });\n // Perform post-match-filtering if the source does not support quoted triple filtering.\n if (!quotedTripleFiltering) {\n it = (0, bus_query_source_identify_1.filterMatchingQuotedQuads)(operation, it);\n }\n // Determine metadata\n if (!it.getProperty('metadata')) {\n this.setMetadata(it, operation)\n .catch(error => it.destroy(error));\n }\n return (0, bus_query_source_identify_1.quadsToBindings)(it, operation, this.dataFactory, this.bindingsFactory, Boolean(context.get(context_entries_1.KeysQueryOperation.unionDefaultGraph)));\n }\n async setMetadata(it, operation) {\n // Check if the source supports quoted triple filtering\n const quotedTripleFiltering = Boolean(this.source.features?.quotedTripleFiltering);\n let cardinality;\n if (this.source.countQuads) {\n // If the source provides a dedicated method for determining cardinality, use that.\n cardinality = await this.source.countQuads(QuerySourceRdfJs.nullifyVariables(operation.subject, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.predicate, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.object, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.graph, quotedTripleFiltering));\n }\n else {\n // Otherwise, fallback to a sub-optimal alternative where we just call match again to count the quads.\n // WARNING: we can NOT reuse the original data stream here,\n // because we may lose data elements due to things happening async.\n let i = 0;\n cardinality = await new Promise((resolve, reject) => {\n const matches = this.source.match(QuerySourceRdfJs.nullifyVariables(operation.subject, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.predicate, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.object, quotedTripleFiltering), QuerySourceRdfJs.nullifyVariables(operation.graph, quotedTripleFiltering));\n matches.on('error', reject);\n matches.on('end', () => resolve(i));\n matches.on('data', () => i++);\n });\n }\n // If `match` would require filtering afterwards, our count will be an over-estimate.\n const wouldRequirePostFiltering = (!quotedTripleFiltering &&\n (0, rdf_terms_1.someTerms)(operation, term => term.termType === 'Quad')) ||\n QuerySourceRdfJs.hasDuplicateVariables(operation);\n it.setProperty('metadata', {\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: wouldRequirePostFiltering ? 'estimate' : 'exact', value: cardinality },\n });\n }\n queryQuads(_operation, _context) {\n throw new Error('queryQuads is not implemented in QuerySourceRdfJs');\n }\n queryBoolean(_operation, _context) {\n throw new Error('queryBoolean is not implemented in QuerySourceRdfJs');\n }\n queryVoid(_operation, _context) {\n throw new Error('queryVoid is not implemented in QuerySourceRdfJs');\n }\n toString() {\n return `QuerySourceRdfJs(${this.source.constructor.name})`;\n }\n}\nexports.QuerySourceRdfJs = QuerySourceRdfJs;\n//# sourceMappingURL=QuerySourceRdfJs.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifyRdfJs\"), exports);\n__exportStar(require(\"./IRdfJsSourceExtended\"), exports);\n__exportStar(require(\"./QuerySourceRdfJs\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifySerialized = void 0;\nconst bus_query_source_identify_1 = require(\"@comunica/bus-query-source-identify\");\nconst core_1 = require(\"@comunica/core\");\nconst rdf_store_stream_1 = require(\"rdf-store-stream\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica Serialized Query Source Identify Actor.\n */\nclass ActorQuerySourceIdentifySerialized extends bus_query_source_identify_1.ActorQuerySourceIdentify {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (!this.isStringSource(action.querySourceUnidentified)) {\n return (0, core_1.failTest)(`${this.name} requires a single query source with serialized type to be present in the context.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Delegate source identification to the same bus again, by converting the string into an RDF/JS source\n return await this.mediatorQuerySourceIdentify.mediate({\n querySourceUnidentified: {\n type: 'rdfjs',\n value: await this.getRdfSource(action.context, action.querySourceUnidentified),\n context: action.querySourceUnidentified.context,\n },\n context: action.context,\n });\n }\n /**\n * Parses the string data source through the RDF parse bus, returning the RDF source.\n * @param context The run action context\n * @param source The source from the run action context\n * @returns Parsed RDF source that can be passed to quad pattern resolve mediator as an RDF/JS source\n */\n async getRdfSource(context, source) {\n const textStream = new readable_stream_1.Readable({ objectMode: true });\n /* istanbul ignore next */\n textStream._read = () => {\n // Do nothing\n };\n textStream.push(source.value);\n textStream.push(null);\n const parseAction = {\n context,\n handle: {\n metadata: { baseIRI: source.baseIRI },\n data: textStream,\n context,\n },\n handleMediaType: source.mediaType,\n };\n const parseResult = await this.mediatorRdfParse.mediate(parseAction);\n return await (0, rdf_store_stream_1.storeStream)(parseResult.handle.data);\n }\n isStringSource(source) {\n if (!('type' in source)) {\n if (!(typeof source.value === 'string')) {\n return false;\n }\n return 'mediaType' in source;\n }\n return source.type === 'serialized';\n }\n}\nexports.ActorQuerySourceIdentifySerialized = ActorQuerySourceIdentifySerialized;\n//# sourceMappingURL=ActorQuerySourceIdentifySerialized.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifySerialized\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinEntriesSortCardinality = void 0;\nconst bus_rdf_join_entries_sort_1 = require(\"@comunica/bus-rdf-join-entries-sort\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * An actor that sorts join entries by increasing cardinality.\n */\nclass ActorRdfJoinEntriesSortCardinality extends bus_rdf_join_entries_sort_1.ActorRdfJoinEntriesSort {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const entries = [...action.entries]\n .sort((entryLeft, entryRight) => entryLeft.metadata.cardinality.value - entryRight.metadata.cardinality.value);\n return { entries };\n }\n}\nexports.ActorRdfJoinEntriesSortCardinality = ActorRdfJoinEntriesSortCardinality;\n//# sourceMappingURL=ActorRdfJoinEntriesSortCardinality.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinEntriesSortCardinality\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinHash = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_index_1 = require(\"@comunica/utils-bindings-index\");\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst asyncjoin_1 = require(\"asyncjoin\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A comunica Hash RDF Join Actor.\n */\nclass ActorRdfJoinHash extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: `hash-${args.canHandleUndefs ? 'undef' : 'def'}`,\n limitEntries: 2,\n requiresVariableOverlap: true,\n canHandleUndefs: args.canHandleUndefs,\n });\n }\n async getOutput(action, sideData) {\n const metadatas = sideData.metadatas;\n let bindingsStream;\n const variables = bus_rdf_join_1.ActorRdfJoin.overlappingVariables(metadatas);\n if (this.canHandleUndefs) {\n /* Handle undefined values in bindings */\n const buffer = sideData.entriesSorted[0].output;\n const output = sideData.entriesSorted[1].output;\n bindingsStream = new utils_iterator_1.ClosableTransformIterator(async () => {\n // We index all bindings from the left-hand iterator first in a blocking manner.\n const index = new utils_bindings_index_1.BindingsIndexUndef(variables, (term) => term && term.termType !== 'Variable' ? (0, rdf_string_1.termToString)(term) : '', true);\n await new Promise((resolve) => {\n buffer.bindingsStream.on('data', (bindings) => {\n const iterator = index.getFirst(bindings, false) ?? index.put(bindings, []);\n iterator.push(bindings);\n });\n buffer.bindingsStream.on('end', resolve);\n buffer.bindingsStream.on('error', (error) => {\n bindingsStream.emit('error', error);\n });\n });\n // Start our left-hand iterator and try to join with the index\n return new asynciterator_1.MultiTransformIterator(output.bindingsStream, {\n multiTransform: (bindings) => new asynciterator_1.ArrayIterator((index.get(bindings).flat())\n .map(indexBindings => bus_rdf_join_1.ActorRdfJoin.joinBindings(bindings, indexBindings))\n .filter(b => b !== null), { autoStart: false }),\n autoStart: false,\n });\n }, {\n autoStart: false,\n onClose() {\n buffer.bindingsStream.destroy();\n output.bindingsStream.destroy();\n },\n });\n }\n else {\n /* Don't handle undefined values in bindings */\n const { hashFunction } = await this.mediatorHashBindings.mediate({ context: action.context });\n const variablesRaw = variables.map(v => v.variable);\n bindingsStream = new asyncjoin_1.HashJoin(sideData.entriesSorted[0].output.bindingsStream, sideData.entriesSorted[1].output.bindingsStream, entry => hashFunction(entry, variablesRaw), bus_rdf_join_1.ActorRdfJoin.joinBindings);\n }\n return {\n result: {\n type: 'bindings',\n bindingsStream,\n metadata: async () => await this.constructResultMetadata(sideData.entriesSorted, metadatas, action.context),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n // Ensure the left build stream is the smallest\n let entriesSorted = action.entries;\n if (sideData.metadatas[1].cardinality.value < sideData.metadatas[0].cardinality.value) {\n sideData.metadatas = [sideData.metadatas[1], sideData.metadatas[0]];\n entriesSorted = [action.entries[1], action.entries[0]];\n }\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n let iterations = metadatas[0].cardinality.value + metadatas[1].cardinality.value;\n if (!this.canHandleUndefs) {\n // Our non-undef implementation is slightly more performant.\n iterations *= 0.8;\n }\n return (0, core_1.passTestWithSideData)({\n iterations,\n persistedItems: metadatas[0].cardinality.value,\n blockingItems: metadatas[0].cardinality.value,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1],\n }, { ...sideData, entriesSorted });\n }\n}\nexports.ActorRdfJoinHash = ActorRdfJoinHash;\n//# sourceMappingURL=ActorRdfJoinHash.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinHash\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinMultiBindSource = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Inner Multi Bind Source RDF Join Actor.\n */\nclass ActorRdfJoinMultiBindSource extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'bind-source',\n canHandleUndefs: true,\n });\n }\n async getOutput(action, sideData) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n // Order the entries so we can pick the first one (usually the one with the lowest cardinality)\n const entries = sideData.entriesSorted;\n this.logDebug(action.context, 'First entry for Bind Join Source: ', () => ({ entry: entries[0].operation, metadata: entries[0].metadata }));\n // Close the non-smallest streams\n for (const [i, element] of entries.entries()) {\n if (i !== 0) {\n element.output.bindingsStream.close();\n }\n }\n // Take the stream with the lowest cardinality\n const smallestStream = entries[0].output;\n const smallestMetadata = entries[0].metadata;\n const remainingEntries = [...entries];\n remainingEntries.splice(0, 1);\n // Get source for remaining entries (guaranteed thanks to prior check in getJoinCoefficients())\n const sourceWrapper = (0, utils_query_operation_1.getOperationSource)(remainingEntries[0].operation);\n // Determine the operation to pass\n const operation = this.createOperationFromEntries(algebraFactory, remainingEntries);\n // Slice the smallest stream into chunks according to the block size, so we avoid blocking too long.\n const chunkedStreams = new utils_iterator_1.ChunkedIterator(smallestStream.bindingsStream, this.blockSize, { autoStart: false });\n // For each chunk, pass the query and the bindings to the source for execution\n const bindingsStream = new asynciterator_1.UnionIterator(chunkedStreams.map(chunk => sourceWrapper.source.queryBindings(operation, sourceWrapper.context ? action.context.merge(sourceWrapper.context) : action.context, { joinBindings: { bindings: chunk, metadata: smallestMetadata } })));\n return {\n result: {\n type: 'bindings',\n bindingsStream,\n metadata: () => this.constructResultMetadata(entries, entries.map(entry => entry.metadata), action.context),\n },\n physicalPlanMetadata: {\n bindIndex: sideData.entriesUnsorted.indexOf(entries[0]),\n },\n };\n }\n async sortJoinEntries(entries, context) {\n const entriesTest = await bus_rdf_join_1.ActorRdfJoin.sortJoinEntries(this.mediatorJoinEntriesSort, entries, context);\n if (entriesTest.isFailed()) {\n return entriesTest;\n }\n entries = entriesTest.get();\n // Prioritize entries with modified operations, so these are not re-executed\n entries = entries.sort((entryLeft, entryRight) => {\n if (entryLeft.operationModified && !entryRight.operationModified) {\n return -1;\n }\n return 0;\n });\n return (0, core_1.passTest)(entries);\n }\n async getJoinCoefficients(action, sideData) {\n let { metadatas } = sideData;\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n // Order the entries so we can pick the first one (usually the one with the lowest cardinality)\n const entriesUnsorted = action.entries.map((entry, i) => ({ ...entry, metadata: metadatas[i] }));\n const entriesTest = await this.sortJoinEntries(entriesUnsorted, action.context);\n if (entriesTest.isFailed()) {\n return entriesTest;\n }\n const entriesSorted = entriesTest.get();\n metadatas = entriesSorted.map(entry => entry.metadata);\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n // Determine first stream and remaining ones\n const remainingEntries = [...entriesSorted];\n const remainingRequestInitialTimes = [...requestInitialTimes];\n const remainingRequestItemTimes = [...requestItemTimes];\n remainingEntries.splice(0, 1);\n remainingRequestInitialTimes.splice(0, 1);\n remainingRequestItemTimes.splice(0, 1);\n // Reject binding on operations without sources\n const sources = remainingEntries.map(entry => (0, utils_query_operation_1.getOperationSource)(entry.operation));\n if (sources.some(source => !source)) {\n return (0, core_1.failTest)(`Actor ${this.name} can not bind on remaining operations without source annotation`);\n }\n // Reject binding on operations with un-equal sources\n if (sources.some(source => source !== sources[0])) {\n return (0, core_1.failTest)(`Actor ${this.name} can not bind on remaining operations with non-equal source annotation`);\n }\n // Reject if the source can not handle bindings\n const sourceWrapper = sources[0];\n const testingOperation = this.createOperationFromEntries(algebraFactory, remainingEntries);\n const selectorShape = await sourceWrapper.source.getSelectorShape(action.context);\n if (!(0, utils_query_operation_1.doesShapeAcceptOperation)(selectorShape, testingOperation, { joinBindings: true })) {\n return (0, core_1.failTest)(`Actor ${this.name} detected a source that can not handle passing down join bindings`);\n }\n // Determine selectivities of smallest entry with all other entries\n const selectivities = await Promise.all(remainingEntries\n .map(async (entry) => (await this.mediatorJoinSelectivity.mediate({\n entries: [entriesSorted[0], entry],\n context: action.context,\n })).selectivity * this.selectivityModifier));\n // Determine coefficients for remaining entries\n const cardinalityRemaining = remainingEntries\n .map((entry, i) => entry.metadata.cardinality.value * selectivities[i])\n .reduce((sum, element) => sum + element, 0);\n return (0, core_1.passTestWithSideData)({\n iterations: 1,\n persistedItems: metadatas[0].cardinality.value,\n blockingItems: metadatas[0].cardinality.value,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + cardinalityRemaining * requestItemTimes[1],\n }, { ...sideData, entriesUnsorted, entriesSorted });\n }\n createOperationFromEntries(algebraFactory, remainingEntries) {\n if (remainingEntries.length === 1) {\n return remainingEntries[0].operation;\n }\n return algebraFactory.createJoin(remainingEntries.map(entry => entry.operation), true);\n }\n}\nexports.ActorRdfJoinMultiBindSource = ActorRdfJoinMultiBindSource;\n//# sourceMappingURL=ActorRdfJoinMultiBindSource.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinMultiBindSource\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinMultiBind = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Multi-way Bind RDF Join Actor.\n */\nclass ActorRdfJoinMultiBind extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'bind',\n canHandleUndefs: true,\n isLeaf: false,\n });\n }\n /**\n * Create a new bindings stream that takes every binding of the base stream\n * and binds it to the remaining patterns, evaluates those patterns, and emits all their bindings.\n *\n * @param bindOrder The order in which elements should be bound.\n * @param baseStream The base stream.\n * @param operations The operations to bind with each binding of the base stream.\n * @param operationBinder A callback to retrieve the bindings stream of bound operations.\n * @param optional If the original bindings should be emitted when the resulting bindings stream is empty.\n * @return {BindingsStream}\n */\n static createBindStream(bindOrder, baseStream, operations, operationBinder, optional, algebraFactory, bindingsFactory) {\n // Enable auto-start on sub-bindings during depth-first binding for best performance.\n const autoStartSubBindings = bindOrder === 'depth-first';\n // Create bindings function\n const binder = (bindings) => {\n // We don't bind the filter because filters are always handled last,\n // and we need to avoid binding filters of sub-queries, which are to be handled first. (see spec test bind10)\n const subOperations = operations.map(operation => (0, utils_query_operation_1.materializeOperation)(operation, bindings, algebraFactory, bindingsFactory, { bindFilter: true }));\n const bindingsMerger = (subBindings) => subBindings.merge(bindings);\n return new asynciterator_1.TransformIterator(async () => (await operationBinder(subOperations, bindings))\n .transform({ map: bindingsMerger }), { maxBufferSize: 128, autoStart: autoStartSubBindings });\n };\n // Create an iterator that binds elements from the base stream in different orders\n switch (bindOrder) {\n case 'depth-first':\n return new asynciterator_1.MultiTransformIterator(baseStream, { autoStart: false, multiTransform: binder, optional });\n case 'breadth-first':\n return new asynciterator_1.UnionIterator(baseStream.transform({\n map: binder,\n optional,\n }), { autoStart: false });\n default:\n // eslint-disable-next-line ts/restrict-template-expressions\n throw new Error(`Received request for unknown bind order: ${bindOrder}`);\n }\n }\n async getOutput(action, sideData) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory);\n const entries = sideData.entriesSorted;\n this.logDebug(action.context, 'First entry for Bind Join: ', () => ({ entry: entries[0].operation, metadata: entries[0].metadata }));\n // Close the non-smallest streams\n for (const [i, element] of entries.entries()) {\n if (i !== 0) {\n element.output.bindingsStream.close();\n }\n }\n // Take the stream with the lowest cardinality\n const smallestStream = entries[0].output;\n const remainingEntries = [...entries];\n remainingEntries.splice(0, 1);\n // Bind the remaining patterns for each binding in the stream\n const subContext = action.context\n .set(context_entries_1.KeysQueryOperation.joinLeftMetadata, entries[0].metadata)\n .set(context_entries_1.KeysQueryOperation.joinRightMetadatas, remainingEntries.map(entry => entry.metadata));\n const bindingsStream = ActorRdfJoinMultiBind.createBindStream(this.bindOrder, smallestStream.bindingsStream, remainingEntries.map(entry => entry.operation), async (operations, operationBindings) => {\n // Send the materialized patterns to the mediator for recursive join evaluation.\n const operation = operations.length === 1 ?\n operations[0] :\n algebraFactory.createJoin(operations);\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation, context: subContext?.set(context_entries_1.KeysQueryOperation.joinBindings, operationBindings) }));\n return output.bindingsStream;\n }, false, algebraFactory, bindingsFactory);\n return {\n result: {\n type: 'bindings',\n bindingsStream,\n metadata: () => this.constructResultMetadata(entries, entries.map(entry => entry.metadata), action.context),\n },\n physicalPlanMetadata: {\n bindIndex: sideData.entriesUnsorted.indexOf(entries[0]),\n bindOperation: entries[0].operation,\n bindOperationCardinality: entries[0].metadata.cardinality,\n bindOrder: this.bindOrder,\n },\n };\n }\n canBindWithOperation(operation) {\n let valid = true;\n sparqlalgebrajs_1.Util.recurseOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.EXTEND]() {\n valid = false;\n return false;\n },\n [sparqlalgebrajs_1.Algebra.types.GROUP]() {\n valid = false;\n return false;\n },\n });\n return valid;\n }\n async getJoinCoefficients(action, sideData) {\n let { metadatas } = sideData;\n // Order the entries so we can pick the first one (usually the one with the lowest cardinality)\n const entriesUnsorted = action.entries\n .map((entry, i) => ({ ...entry, metadata: metadatas[i] }));\n const entriesTest = await bus_rdf_join_1.ActorRdfJoin\n .sortJoinEntries(this.mediatorJoinEntriesSort, entriesUnsorted, action.context);\n if (entriesTest.isFailed()) {\n return entriesTest;\n }\n const entriesSorted = entriesTest.get();\n metadatas = entriesSorted.map(entry => entry.metadata);\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n // Determine first stream and remaining ones\n const remainingEntries = [...entriesSorted];\n const remainingRequestInitialTimes = [...requestInitialTimes];\n const remainingRequestItemTimes = [...requestItemTimes];\n remainingEntries.splice(0, 1);\n remainingRequestInitialTimes.splice(0, 1);\n remainingRequestItemTimes.splice(0, 1);\n // Reject binding on some operation types\n if (remainingEntries\n .some(entry => !this.canBindWithOperation(entry.operation))) {\n return (0, core_1.failTest)(`Actor ${this.name} can not bind on Extend and Group operations`);\n }\n // Reject binding on modified operations, since using the output directly would be significantly more efficient.\n if (remainingEntries.some(entry => entry.operationModified)) {\n return (0, core_1.failTest)(`Actor ${this.name} can not be used over remaining entries with modified operations`);\n }\n // Only run this actor if the smallest stream is significantly smaller than the largest stream.\n // We must use Math.max, because the last metadata is not necessarily the biggest, but it's the least preferred.\n if (metadatas[0].cardinality.value * this.minMaxCardinalityRatio >\n Math.max(...metadatas.map(metadata => metadata.cardinality.value))) {\n return (0, core_1.failTest)(`Actor ${this.name} can only run if the smallest stream is much smaller than largest stream`);\n }\n // Determine selectivities of smallest entry with all other entries\n const selectivities = await Promise.all(remainingEntries\n .map(async (entry) => (await this.mediatorJoinSelectivity.mediate({\n entries: [entriesSorted[0], entry],\n context: action.context,\n })).selectivity * this.selectivityModifier));\n // Determine coefficients for remaining entries\n const cardinalityRemaining = remainingEntries\n .map((entry, i) => entry.metadata.cardinality.value * selectivities[i])\n .reduce((sum, element) => sum + element, 0);\n const receiveInitialCostRemaining = remainingRequestInitialTimes\n .reduce((sum, element) => sum + element, 0);\n const receiveItemCostRemaining = remainingRequestItemTimes\n .reduce((sum, element) => sum + element, 0);\n return (0, core_1.passTestWithSideData)({\n iterations: metadatas[0].cardinality.value * cardinalityRemaining,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: requestInitialTimes[0] +\n metadatas[0].cardinality.value * (requestItemTimes[0] +\n receiveInitialCostRemaining +\n cardinalityRemaining * receiveItemCostRemaining),\n }, { ...sideData, entriesUnsorted, entriesSorted });\n }\n}\nexports.ActorRdfJoinMultiBind = ActorRdfJoinMultiBind;\n//# sourceMappingURL=ActorRdfJoinMultiBind.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinMultiBind\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinMultiEmpty = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A comunica Multi Empty RDF Join Actor.\n */\nclass ActorRdfJoinMultiEmpty extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'multi-empty',\n canHandleUndefs: true,\n });\n }\n async test(action) {\n if ((await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries))\n .every(metadata => bus_rdf_join_1.ActorRdfJoin.getCardinality(metadata).value > 0)) {\n return (0, core_1.failTest)(`Actor ${this.name} can only join entries where at least one is empty`);\n }\n return super.test(action);\n }\n async getOutput(action) {\n // Close all entries\n for (const entry of action.entries) {\n entry.output.bindingsStream.close();\n }\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n return {\n result: {\n bindingsStream: new asynciterator_1.ArrayIterator([], { autoStart: false }),\n metadata: async () => ({\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 0 },\n variables: bus_rdf_join_1.ActorRdfJoin.joinVariables(dataFactory, await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries)),\n }),\n type: 'bindings',\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n return (0, core_1.passTestWithSideData)({\n iterations: 0,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: 0,\n }, sideData);\n }\n}\nexports.ActorRdfJoinMultiEmpty = ActorRdfJoinMultiEmpty;\n//# sourceMappingURL=ActorRdfJoinMultiEmpty.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinMultiEmpty\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinMultiSmallestFilterBindings = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Inner Multi Smallest Filter Bindings RDF Join Actor.\n */\nclass ActorRdfJoinMultiSmallestFilterBindings extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'multi-smallest-filter-bindings',\n limitEntries: 2,\n limitEntriesMin: true,\n isLeaf: false,\n });\n }\n /**\n * Order the given join entries using the join-entries-sort bus.\n * @param {IJoinEntryWithMetadata[]} entries An array of join entries.\n * @param context The action context.\n * @return {IJoinEntryWithMetadata[]} The sorted join entries.\n */\n async sortJoinEntries(entries, context) {\n let { entries: entriesSorted } = await this.mediatorJoinEntriesSort.mediate({ entries, context });\n // Prioritize entries with modified operations, so these are not re-executed\n entriesSorted = entriesSorted.sort((entryLeft, entryRight) => {\n if (entryLeft.operationModified && !entryRight.operationModified) {\n return -1;\n }\n return 0;\n });\n const first = entriesSorted.splice(0, 1)[0];\n // Let second entry first be prioritized for sharing as many variables with first as possible,\n // then having the fewest variables,\n // and then having the lowest cardinality.\n let second;\n let secondIndex = -1;\n let secondSharedVariables = 0;\n for (const [i, entry] of entriesSorted.entries()) {\n const sharedVariables = first.metadata.variables\n .filter(variableFirst => entry.metadata.variables\n .some(variableSecond => variableFirst.variable.equals(variableSecond.variable))).length;\n if (!second || (sharedVariables > secondSharedVariables ||\n (sharedVariables === secondSharedVariables &&\n (entry.metadata.variables.length < second.metadata.variables.length ||\n (entry.metadata.variables.length === second.metadata.variables.length &&\n entry.metadata.cardinality.value < second.metadata.cardinality.value))))) {\n second = entry;\n secondIndex = i;\n secondSharedVariables = sharedVariables;\n }\n }\n if (secondSharedVariables === 0) {\n return (0, core_1.failTest)(`Actor ${this.name} can only join with common variables`);\n }\n const remaining = entriesSorted;\n remaining.splice(secondIndex, 1);\n return (0, core_1.passTest)({ first, second: second, remaining });\n }\n async getOutput(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n // Determine the two smallest streams by sorting (e.g. via cardinality)\n const entriesUnsorted = await bus_rdf_join_1.ActorRdfJoin.getEntriesWithMetadatas([...action.entries]);\n const { first, second: secondIn, remaining: remainingIn } = (await this.sortJoinEntries(entriesUnsorted, action.context)).getOrThrow();\n // Clone first stream, because we will use it twice\n const smallestStream1 = first.output.bindingsStream;\n first.output.bindingsStream = smallestStream1.clone();\n // Project the first stream on common variables, and filter out duplicates\n // The common variables array is guaranteed to be non-empty, due to the way the test of this actor is implemented.\n const commonVariables = first.metadata.variables\n .filter(variableFirst => secondIn.metadata.variables\n .some(variableSecond => variableFirst.variable.equals(variableSecond.variable)));\n const hashes = {};\n const smallestStream1Projected = smallestStream1.clone()\n .map(binding => binding.filter((value, key) => commonVariables.some(commonVariable => commonVariable.variable.equals(key))))\n .filter((binding) => {\n const hash = (0, utils_bindings_factory_1.bindingsToString)(binding);\n return !(hash in hashes) && (hashes[hash] = true);\n });\n // Slice the first stream into chunks according to the block size, so we avoid blocking too long.\n const chunkedStreams = new utils_iterator_1.ChunkedIterator(smallestStream1Projected, this.blockSize, { autoStart: false });\n // Push down bindings of first stream when querying for second stream\n const sourceWrapper = (0, utils_query_operation_1.getOperationSource)(secondIn.operation);\n const secondStream = new asynciterator_1.UnionIterator(chunkedStreams.map(chunk => sourceWrapper.source.queryBindings(secondIn.operation, sourceWrapper.context ? action.context.merge(sourceWrapper.context) : action.context, { filterBindings: { bindings: chunk, metadata: first.metadata } })));\n const second = {\n output: {\n type: 'bindings',\n bindingsStream: secondStream,\n metadata: secondIn.output.metadata,\n },\n operation: secondIn.operation,\n operationModified: true,\n };\n // Destroy the unused original second stream\n secondIn.output.bindingsStream.destroy();\n // Join the two selected streams\n const joinedEntry = {\n output: (0, utils_query_operation_1.getSafeBindings)(await this.mediatorJoin\n .mediate({\n type: action.type,\n entries: [first, second],\n context: action.context.set(context_entries_1.KeysRdfJoin.lastPhysicalJoin, this.physicalName),\n })),\n operation: algebraFactory.createJoin([first.operation, second.operation], false),\n operationModified: true,\n };\n // And then join the result with the remaining streams\n const remaining = remainingIn;\n remaining.unshift(joinedEntry);\n return {\n result: await this.mediatorJoin.mediate({\n type: action.type,\n entries: remaining,\n context: action.context,\n }),\n physicalPlanMetadata: {\n firstIndex: entriesUnsorted.indexOf(first),\n secondIndex: entriesUnsorted.indexOf(secondIn),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n let { metadatas } = sideData;\n // Avoid infinite recursion\n if (action.context.get(context_entries_1.KeysRdfJoin.lastPhysicalJoin) === this.physicalName) {\n return (0, core_1.failTest)(`Actor ${this.name} can not be called recursively`);\n }\n metadatas = [...metadatas];\n // Determine the two smallest streams by sorting (e.g. via cardinality)\n const sortedResult = await this.sortJoinEntries(action.entries\n .map((entry, i) => ({ ...entry, metadata: metadatas[i] })), action.context);\n if (sortedResult.isFailed()) {\n return sortedResult;\n }\n const { first, second, remaining } = sortedResult.get();\n // Only pass if the second entry accepts filterBindings\n const sourceWrapper = (0, utils_query_operation_1.getOperationSource)(second.operation);\n if (!sourceWrapper) {\n return (0, core_1.failTest)(`Actor ${this.name} can only process if entries[1] has a source`);\n }\n const testingOperation = second.operation;\n const selectorShape = await sourceWrapper.source.getSelectorShape(action.context);\n if (!(0, utils_query_operation_1.doesShapeAcceptOperation)(selectorShape, testingOperation, { filterBindings: true })) {\n return (0, core_1.failTest)(`Actor ${this.name} can only process if entries[1] accept filterBindings`);\n }\n // Determine cost coefficients\n metadatas = [first.metadata, second.metadata, ...remaining.map(remain => remain.metadata)];\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n const { selectivity } = await this.mediatorJoinSelectivity.mediate({\n entries: [first, second],\n context: action.context,\n });\n const cardinalityRemaining = remaining\n .reduce((mul, remain) => mul * remain.metadata.cardinality.value * this.selectivityModifier, 1);\n return (0, core_1.passTestWithSideData)({\n iterations: selectivity * this.selectivityModifier *\n second.metadata.cardinality.value * cardinalityRemaining,\n persistedItems: first.metadata.cardinality.value,\n blockingItems: first.metadata.cardinality.value,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + cardinalityRemaining * requestItemTimes[1],\n }, sideData);\n }\n}\nexports.ActorRdfJoinMultiSmallestFilterBindings = ActorRdfJoinMultiSmallestFilterBindings;\n//# sourceMappingURL=ActorRdfJoinMultiSmallestFilterBindings.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinMultiSmallestFilterBindings\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinMultiSmallest = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A Multi Smallest RDF Join Actor.\n * It accepts 3 or more streams, joins the smallest two, and joins the result with the remaining streams.\n */\nclass ActorRdfJoinMultiSmallest extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'multi-smallest',\n limitEntries: 3,\n limitEntriesMin: true,\n canHandleUndefs: true,\n isLeaf: false,\n });\n }\n /**\n * Order the given join entries using the join-entries-sort bus.\n * @param {IJoinEntryWithMetadata[]} entries An array of join entries.\n * @param context The action context.\n * @return {IJoinEntryWithMetadata[]} The sorted join entries.\n */\n async sortJoinEntries(entries, context) {\n return (await this.mediatorJoinEntriesSort.mediate({ entries, context })).entries;\n }\n async getOutput(action, sideData) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n // Determine the two smallest streams by sorting (e.g. via cardinality)\n const entries = sideData.sortedEntries;\n const smallestEntry1 = entries[0];\n const smallestEntry2 = entries[1];\n entries.splice(0, 2);\n // Join the two selected streams, and then join the result with the remaining streams\n const firstEntry = {\n output: (0, utils_query_operation_1.getSafeBindings)(await this.mediatorJoin\n .mediate({ type: action.type, entries: [smallestEntry1, smallestEntry2], context: action.context })),\n operation: algebraFactory\n .createJoin([smallestEntry1.operation, smallestEntry2.operation], false),\n };\n entries.push(firstEntry);\n return {\n result: await this.mediatorJoin.mediate({\n type: action.type,\n entries,\n context: action.context,\n }),\n };\n }\n async getJoinCoefficients(action, sideData) {\n let { metadatas } = sideData;\n metadatas = [...metadatas];\n // Determine the two smallest streams by sorting (e.g. via cardinality)\n const sortedEntries = await this.sortJoinEntries(action.entries\n .map((entry, i) => ({ ...entry, metadata: metadatas[i] })), action.context);\n metadatas = sortedEntries.map(entry => entry.metadata);\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n return (0, core_1.passTestWithSideData)({\n iterations: metadatas[0].cardinality.value * metadatas[1].cardinality.value *\n metadatas.slice(2).reduce((acc, metadata) => acc * metadata.cardinality.value, 1),\n persistedItems: 0,\n blockingItems: 0,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1] +\n metadatas.slice(2).reduce((sum, metadata, i) => sum + requestInitialTimes.slice(2)[i] +\n metadata.cardinality.value * requestItemTimes.slice(2)[i], 0),\n }, { ...sideData, sortedEntries });\n }\n}\nexports.ActorRdfJoinMultiSmallest = ActorRdfJoinMultiSmallest;\n//# sourceMappingURL=ActorRdfJoinMultiSmallest.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinMultiSmallest\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinNestedLoop = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\nconst asyncjoin_1 = require(\"asyncjoin\");\n/**\n * A comunica NestedLoop RDF Join Actor.\n */\nclass ActorRdfJoinNestedLoop extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'nested-loop',\n limitEntries: 2,\n canHandleUndefs: true,\n });\n }\n async getOutput(action) {\n const join = new asyncjoin_1.NestedLoopJoin(action.entries[0].output.bindingsStream, action.entries[1].output.bindingsStream, bus_rdf_join_1.ActorRdfJoin.joinBindings, { autoStart: false });\n return {\n result: {\n type: 'bindings',\n bindingsStream: join,\n metadata: async () => await this.constructResultMetadata(action.entries, await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries), action.context),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n return (0, core_1.passTestWithSideData)({\n iterations: metadatas[0].cardinality.value * metadatas[1].cardinality.value,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1],\n }, sideData);\n }\n}\nexports.ActorRdfJoinNestedLoop = ActorRdfJoinNestedLoop;\n//# sourceMappingURL=ActorRdfJoinNestedLoop.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinNestedLoop\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinNone = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A comunica None RDF Join Actor.\n */\nclass ActorRdfJoinNone extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'none',\n limitEntries: 0,\n });\n }\n async test(action) {\n // Allow joining of one or zero streams\n if (action.entries.length > 0) {\n return (0, core_1.failTest)(`Actor ${this.name} can only join zero entries`);\n }\n return await this.getJoinCoefficients(action, undefined);\n }\n async getOutput(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory);\n return {\n result: {\n bindingsStream: new asynciterator_1.ArrayIterator([bindingsFactory.bindings()], { autoStart: false }),\n metadata: () => Promise.resolve({\n state: new utils_metadata_1.MetadataValidationState(),\n cardinality: { type: 'exact', value: 1 },\n variables: [],\n }),\n type: 'bindings',\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n return (0, core_1.passTestWithSideData)({\n iterations: 0,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: 0,\n }, sideData);\n }\n}\nexports.ActorRdfJoinNone = ActorRdfJoinNone;\n//# sourceMappingURL=ActorRdfJoinNone.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinNone\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinSingle = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Single RDF Join Actor.\n */\nclass ActorRdfJoinSingle extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'single',\n limitEntries: 1,\n });\n this.includeInLogs = false;\n }\n async test(action) {\n // Allow joining of one or zero streams\n if (action.entries.length !== 1) {\n return (0, core_1.failTest)(`Actor ${this.name} can only join a single entry`);\n }\n return await this.getJoinCoefficients(action, undefined);\n }\n async getOutput(action) {\n return {\n result: action.entries[0].output,\n };\n }\n async getJoinCoefficients(action, sideData) {\n return (0, core_1.passTestWithSideData)({\n iterations: 0,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: 0,\n }, sideData);\n }\n}\nexports.ActorRdfJoinSingle = ActorRdfJoinSingle;\n//# sourceMappingURL=ActorRdfJoinSingle.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinSingle\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinSymmetricHash = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\nconst asyncjoin_1 = require(\"asyncjoin\");\n/**\n * A comunica Hash RDF Join Actor.\n */\nclass ActorRdfJoinSymmetricHash extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'inner',\n physicalName: 'symmetric-hash',\n limitEntries: 2,\n requiresVariableOverlap: true,\n });\n }\n async getOutput(action) {\n const metadatas = await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries);\n const variables = bus_rdf_join_1.ActorRdfJoin.overlappingVariables(metadatas);\n const { hashFunction } = await this.mediatorHashBindings.mediate({ context: action.context });\n const variablesRaw = variables.map(v => v.variable);\n const join = new asyncjoin_1.SymmetricHashJoin(action.entries[0].output.bindingsStream, action.entries[1].output.bindingsStream, entry => hashFunction(entry, variablesRaw), bus_rdf_join_1.ActorRdfJoin.joinBindings);\n return {\n result: {\n type: 'bindings',\n bindingsStream: join,\n metadata: async () => await this.constructResultMetadata(action.entries, metadatas, action.context),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n return (0, core_1.passTestWithSideData)({\n iterations: metadatas[0].cardinality.value + metadatas[1].cardinality.value,\n persistedItems: metadatas[0].cardinality.value + metadatas[1].cardinality.value,\n blockingItems: 0,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1],\n }, sideData);\n }\n}\nexports.ActorRdfJoinSymmetricHash = ActorRdfJoinSymmetricHash;\n//# sourceMappingURL=ActorRdfJoinSymmetricHash.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinSymmetricHash\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinMinusHash = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_bindings_index_1 = require(\"@comunica/utils-bindings-index\");\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A comunica Minus Hash RDF Join Actor.\n */\nclass ActorRdfJoinMinusHash extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'minus',\n physicalName: `hash-${args.canHandleUndefs ? 'undef' : 'def'}`,\n limitEntries: 2,\n canHandleUndefs: args.canHandleUndefs,\n });\n }\n static constructIndex(undef, commonVariables) {\n return undef ?\n new utils_bindings_index_1.BindingsIndexUndef(commonVariables, (term) => term && term.termType !== 'Variable' ? (0, rdf_string_1.termToString)(term) : '', false) :\n new utils_bindings_index_1.BindingsIndexDef(commonVariables, utils_bindings_factory_1.bindingsToCompactString);\n }\n async getOutput(action) {\n const buffer = action.entries[1].output;\n const output = action.entries[0].output;\n const metadatas = await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries);\n const commonVariables = bus_rdf_join_1.ActorRdfJoin.overlappingVariables(metadatas);\n // Destroy the buffer stream since it is not needed when\n // there are no common variables.\n if (commonVariables.length === 0) {\n buffer.bindingsStream.destroy();\n return { result: output };\n }\n const bindingsStream = new utils_iterator_1.ClosableTransformIterator(async () => {\n // We index all bindings from the buffer iterator first in a blocking manner.\n const index = ActorRdfJoinMinusHash\n .constructIndex(this.canHandleUndefs, commonVariables);\n await new Promise((resolve) => {\n buffer.bindingsStream.on('data', bindings => index.put(bindings, true));\n buffer.bindingsStream.on('end', resolve);\n buffer.bindingsStream.on('error', error => bindingsStream.emit('error', error));\n });\n // From the left-hand iterator filter out all entries of the index\n return output.bindingsStream.filter(bindings => !index.getFirst(bindings, true));\n }, {\n autoStart: false,\n onClose() {\n buffer.bindingsStream.destroy();\n output.bindingsStream.destroy();\n },\n });\n return {\n result: {\n type: 'bindings',\n bindingsStream,\n metadata: output.metadata,\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n let iterations = metadatas[0].cardinality.value + metadatas[1].cardinality.value;\n if (!this.canHandleUndefs) {\n // Our non-undef implementation is slightly more performant.\n iterations *= 0.8;\n }\n return (0, core_1.passTestWithSideData)({\n iterations,\n persistedItems: metadatas[0].cardinality.value,\n blockingItems: metadatas[0].cardinality.value,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1],\n }, sideData);\n }\n}\nexports.ActorRdfJoinMinusHash = ActorRdfJoinMinusHash;\n//# sourceMappingURL=ActorRdfJoinMinusHash.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinMinusHash\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinOptionalBind = void 0;\nconst actor_rdf_join_inner_multi_bind_1 = require(\"@comunica/actor-rdf-join-inner-multi-bind\");\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_query_operation_1 = require(\"@comunica/utils-query-operation\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Optional Bind RDF Join Actor.\n */\nclass ActorRdfJoinOptionalBind extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'optional',\n physicalName: 'bind',\n limitEntries: 2,\n canHandleUndefs: true,\n isLeaf: false,\n requiresVariableOverlap: true,\n });\n }\n async getOutput(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);\n const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, action.context, dataFactory);\n // Close the right stream, since we don't need that one\n action.entries[1].output.bindingsStream.close();\n // Bind the right pattern for each binding in the stream\n const subContext = action.context\n .set(context_entries_1.KeysQueryOperation.joinLeftMetadata, await action.entries[0].output.metadata())\n .set(context_entries_1.KeysQueryOperation.joinRightMetadatas, [await action.entries[1].output.metadata()]);\n const bindingsStream = actor_rdf_join_inner_multi_bind_1.ActorRdfJoinMultiBind.createBindStream(this.bindOrder, action.entries[0].output.bindingsStream, [action.entries[1].operation], async (operations, operationBindings) => {\n // Send the materialized patterns to the mediator for recursive join evaluation.\n // Length of operations will always be 1\n const operation = operations[0];\n const output = (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation.mediate({ operation, context: subContext?.set(context_entries_1.KeysQueryOperation.joinBindings, operationBindings) }));\n return output.bindingsStream;\n }, true, algebraFactory, bindingsFactory);\n return {\n result: {\n type: 'bindings',\n bindingsStream,\n metadata: async () => await this.constructResultMetadata(action.entries, await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries), action.context, {}, true),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n // Reject binding on some operation types\n if (action.entries[1].operation.type === sparqlalgebrajs_1.Algebra.types.EXTEND ||\n action.entries[1].operation.type === sparqlalgebrajs_1.Algebra.types.GROUP) {\n return (0, core_1.failTest)(`Actor ${this.name} can not bind on Extend and Group operations`);\n }\n // Determine selectivity of join\n const selectivity = (await this.mediatorJoinSelectivity.mediate({\n entries: action.entries,\n context: action.context,\n })).selectivity * this.selectivityModifier;\n return (0, core_1.passTestWithSideData)({\n iterations: metadatas[0].cardinality.value * metadatas[1].cardinality.value * selectivity,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: requestInitialTimes[0] +\n metadatas[0].cardinality.value * (requestItemTimes[0] +\n requestInitialTimes[1] +\n selectivity * metadatas[1].cardinality.value * requestItemTimes[1]),\n }, sideData);\n }\n}\nexports.ActorRdfJoinOptionalBind = ActorRdfJoinOptionalBind;\n//# sourceMappingURL=ActorRdfJoinOptionalBind.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinOptionalBind\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinOptionalHash = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst utils_bindings_index_1 = require(\"@comunica/utils-bindings-index\");\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A comunica Optional Hash RDF Join Actor.\n */\nclass ActorRdfJoinOptionalHash extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'optional',\n physicalName: `hash-${args.canHandleUndefs ? 'undef' : 'def'}-${args.blocking ? 'blocking' : 'nonblocking'}`,\n limitEntries: 2,\n canHandleUndefs: args.canHandleUndefs,\n requiresVariableOverlap: true,\n });\n }\n static constructIndex(undef, commonVariables) {\n return undef ?\n new utils_bindings_index_1.BindingsIndexUndef(commonVariables, (term) => term && term.termType !== 'Variable' ? (0, rdf_string_1.termToString)(term) : '', true) :\n new utils_bindings_index_1.BindingsIndexDef(commonVariables, utils_bindings_factory_1.bindingsToCompactString);\n }\n async getOutput(action) {\n const buffer = action.entries[1].output;\n const output = action.entries[0].output;\n const metadatas = await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries);\n const commonVariables = bus_rdf_join_1.ActorRdfJoin.overlappingVariables(metadatas);\n let bindingsStream;\n if (this.blocking) {\n // -- Blocking optional ---\n bindingsStream = new utils_iterator_1.ClosableTransformIterator(async () => {\n // We index all bindings from the right-hand OPTIONAL iterator first in a blocking manner.\n const index = ActorRdfJoinOptionalHash\n .constructIndex(this.canHandleUndefs, commonVariables);\n await new Promise((resolve) => {\n buffer.bindingsStream.on('data', (bindings) => {\n const iterator = index.getFirst(bindings, true) ?? index.put(bindings, []);\n iterator.push(bindings);\n });\n buffer.bindingsStream.on('end', resolve);\n buffer.bindingsStream.on('error', (error) => {\n bindingsStream.emit('error', error);\n });\n });\n // Start our left-hand iterator and try to join with the index\n return new asynciterator_1.MultiTransformIterator(output.bindingsStream, {\n multiTransform: (bindings) => new asynciterator_1.ArrayIterator((index.get(bindings).flat())\n .map(indexBindings => bus_rdf_join_1.ActorRdfJoin.joinBindings(bindings, indexBindings))\n .filter(b => b !== null), { autoStart: false }),\n optional: true,\n autoStart: false,\n });\n }, {\n autoStart: false,\n onClose() {\n buffer.bindingsStream.destroy();\n output.bindingsStream.destroy();\n },\n });\n }\n else {\n // -- Non-blocking optional ---\n // This can be slightly slower than the blocking one above, due to the streaming overhead.\n bindingsStream = new utils_iterator_1.ClosableTransformIterator(async () => {\n // We index all bindings from the right-hand OPTIONAL iterator.\n // They are indexed with iterator values, so our main stream can already get started.\n const index = ActorRdfJoinOptionalHash\n .constructIndex(this.canHandleUndefs, commonVariables);\n let indexActive = true;\n buffer.bindingsStream.on('data', (bindings) => {\n const iterator = index.getFirst(bindings, true) ??\n index.put(bindings, new asynciterator_1.BufferedIterator({ autoStart: false }));\n iterator._push(bindings);\n });\n buffer.bindingsStream.on('end', () => {\n for (const iterator of index.values()) {\n iterator.close();\n }\n indexActive = false;\n });\n buffer.bindingsStream.on('error', (error) => {\n bindingsStream.emit('error', error);\n });\n // Start our left-hand iterator and try to join with the index\n return new asynciterator_1.MultiTransformIterator(output.bindingsStream, {\n multiTransform: (bindings) => {\n // Find iterators from the index\n let iterators = index.get(bindings);\n // If no index entry was found, set an empty iterator.\n // If we index has been closed already, don't modify the index, but just use an empty dummy iterator.\n if (iterators.length === 0) {\n if (indexActive) {\n iterators = [index.put(bindings, new asynciterator_1.BufferedIterator({ autoStart: false }))];\n }\n else {\n iterators = [];\n }\n }\n // Merge all iterators in a single one,\n // and clone each one to make sure we can still use them in the future.\n const iterator = new asynciterator_1.UnionIterator(iterators.map(it => it.clone()), { autoStart: false });\n return iterator.map(indexBindings => bus_rdf_join_1.ActorRdfJoin.joinBindings(bindings, indexBindings));\n },\n optional: true,\n autoStart: false,\n });\n }, {\n autoStart: false,\n onClose() {\n buffer.bindingsStream.destroy();\n output.bindingsStream.destroy();\n },\n });\n }\n return {\n result: {\n type: 'bindings',\n bindingsStream,\n metadata: async () => await this.constructResultMetadata(action.entries, metadatas, action.context, {}, true),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n let iterations = metadatas[0].cardinality.value + metadatas[1].cardinality.value;\n if (!this.canHandleUndefs) {\n // Our non-undef implementation is slightly more performant.\n iterations *= 0.8;\n }\n if (this.blocking) {\n // Our blocking implementation is slightly more performant.\n iterations *= 0.9;\n }\n return (0, core_1.passTestWithSideData)({\n iterations,\n persistedItems: metadatas[0].cardinality.value,\n blockingItems: this.blocking ? metadatas[0].cardinality.value : 0,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1],\n }, sideData);\n }\n}\nexports.ActorRdfJoinOptionalHash = ActorRdfJoinOptionalHash;\n//# sourceMappingURL=ActorRdfJoinOptionalHash.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinOptionalHash\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinOptionalNestedLoop = void 0;\nconst bus_rdf_join_1 = require(\"@comunica/bus-rdf-join\");\nconst core_1 = require(\"@comunica/core\");\nconst asyncjoin_1 = require(\"asyncjoin\");\n/**\n * A comunica Optional Nested Loop RDF Join Actor.\n */\nclass ActorRdfJoinOptionalNestedLoop extends bus_rdf_join_1.ActorRdfJoin {\n constructor(args) {\n super(args, {\n logicalType: 'optional',\n physicalName: 'nested-loop',\n limitEntries: 2,\n canHandleUndefs: true,\n });\n }\n async getOutput(action) {\n const join = new asyncjoin_1.NestedLoopJoin(action.entries[0].output.bindingsStream, action.entries[1].output.bindingsStream, bus_rdf_join_1.ActorRdfJoin.joinBindings, { optional: true, autoStart: false });\n return {\n result: {\n type: 'bindings',\n bindingsStream: join,\n metadata: async () => await this.constructResultMetadata(action.entries, await bus_rdf_join_1.ActorRdfJoin.getMetadatas(action.entries), action.context, {}, true),\n },\n };\n }\n async getJoinCoefficients(action, sideData) {\n const { metadatas } = sideData;\n const requestInitialTimes = bus_rdf_join_1.ActorRdfJoin.getRequestInitialTimes(metadatas);\n const requestItemTimes = bus_rdf_join_1.ActorRdfJoin.getRequestItemTimes(metadatas);\n return (0, core_1.passTestWithSideData)({\n iterations: metadatas[0].cardinality.value * metadatas[1].cardinality.value,\n persistedItems: 0,\n blockingItems: 0,\n requestTime: requestInitialTimes[0] + metadatas[0].cardinality.value * requestItemTimes[0] +\n requestInitialTimes[1] + metadatas[1].cardinality.value * requestItemTimes[1],\n }, sideData);\n }\n}\nexports.ActorRdfJoinOptionalNestedLoop = ActorRdfJoinOptionalNestedLoop;\n//# sourceMappingURL=ActorRdfJoinOptionalNestedLoop.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinOptionalNestedLoop\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JoinTypes = exports.ActorRdfJoinSelectivityVariableCounting = void 0;\nconst bus_rdf_join_selectivity_1 = require(\"@comunica/bus-rdf-join-selectivity\");\nconst core_1 = require(\"@comunica/core\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * A comunica Variable Counting RDF Join Selectivity Actor.\n * Based on the \"variable counting predicates\" heuristic from\n * \"SPARQL basic graph pattern optimization using selectivity estimation.\"\n */\nclass ActorRdfJoinSelectivityVariableCounting extends bus_rdf_join_selectivity_1.ActorRdfJoinSelectivity {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTest)({ accuracy: 0.5 });\n }\n static getPatternCost(pattern) {\n let cost = 1;\n if (pattern.subject.termType === 'Variable') {\n cost += 4;\n }\n if (pattern.predicate.termType === 'Variable' || pattern.type === sparqlalgebrajs_1.Algebra.types.PATH) {\n cost += 1;\n }\n if (pattern.object.termType === 'Variable') {\n cost += 2;\n }\n if (pattern.graph.termType === 'Variable') {\n cost += 1;\n }\n return cost / 9;\n }\n static getJoinTypes(operation1, operation2) {\n const joinTypes = [];\n // Check operation1.subject\n if (operation1.subject.termType === 'Variable') {\n if (operation1.subject.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.unboundSS);\n }\n if (operation2.type === 'pattern' && operation1.subject.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.unboundSP);\n }\n if (operation1.subject.equals(operation2.object)) {\n joinTypes.push(JoinTypes.unboundSO);\n }\n if (operation1.subject.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.unboundSG);\n }\n }\n else {\n if (operation1.subject.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.boundSS);\n }\n if (operation2.type === 'pattern' && operation1.subject.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.boundSP);\n }\n if (operation1.subject.equals(operation2.object)) {\n joinTypes.push(JoinTypes.boundSO);\n }\n if (operation1.subject.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.boundSG);\n }\n }\n // Check operation1.predicate\n if (operation1.type === 'pattern') {\n if (operation1.predicate.termType === 'Variable') {\n if (operation1.predicate.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.unboundPS);\n }\n if (operation2.type === 'pattern' && operation1.predicate.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.unboundPP);\n }\n if (operation1.predicate.equals(operation2.object)) {\n joinTypes.push(JoinTypes.unboundPO);\n }\n if (operation1.predicate.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.unboundPG);\n }\n }\n else {\n if (operation1.predicate.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.boundPS);\n }\n if (operation2.type === 'pattern' && operation1.predicate.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.boundPP);\n }\n if (operation1.predicate.equals(operation2.object)) {\n joinTypes.push(JoinTypes.boundPO);\n }\n if (operation1.predicate.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.boundPG);\n }\n }\n }\n // Check operation1.object\n if (operation1.object.termType === 'Variable') {\n if (operation1.object.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.unboundOS);\n }\n if (operation2.type === 'pattern' && operation1.object.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.unboundOP);\n }\n if (operation1.object.equals(operation2.object)) {\n joinTypes.push(JoinTypes.unboundOO);\n }\n if (operation1.object.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.unboundOG);\n }\n }\n else {\n if (operation1.object.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.boundOS);\n }\n if (operation2.type === 'pattern' && operation1.object.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.boundOP);\n }\n if (operation1.object.equals(operation2.object)) {\n joinTypes.push(JoinTypes.boundOO);\n }\n if (operation1.object.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.boundOG);\n }\n }\n // Check operation1.graph\n if (operation1.graph.termType === 'Variable') {\n if (operation1.graph.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.unboundGS);\n }\n if (operation2.type === 'pattern' && operation1.graph.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.unboundGP);\n }\n if (operation1.graph.equals(operation2.object)) {\n joinTypes.push(JoinTypes.unboundGO);\n }\n if (operation1.graph.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.unboundGG);\n }\n }\n else {\n if (operation1.graph.equals(operation2.subject)) {\n joinTypes.push(JoinTypes.boundGS);\n }\n if (operation2.type === 'pattern' && operation1.graph.equals(operation2.predicate)) {\n joinTypes.push(JoinTypes.boundGP);\n }\n if (operation1.graph.equals(operation2.object)) {\n joinTypes.push(JoinTypes.boundGO);\n }\n if (operation1.graph.equals(operation2.graph)) {\n joinTypes.push(JoinTypes.boundGG);\n }\n }\n return joinTypes;\n }\n static getOperationsPairwiseJoinCost(operation1, operation2) {\n let cost = ActorRdfJoinSelectivityVariableCounting.MAX_PAIRWISE_COST;\n for (const joinType of ActorRdfJoinSelectivityVariableCounting.getJoinTypes(operation1, operation2)) {\n switch (joinType) {\n case JoinTypes.boundSS:\n cost -= 2 * 2;\n break;\n case JoinTypes.boundSP:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundSO:\n cost -= 1 * 2;\n break;\n case JoinTypes.boundSG:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundPS:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundPP:\n // Special case: patterns with equal (bound) predicates have the highest cost\n return 1;\n case JoinTypes.boundPO:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundPG:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundOS:\n cost -= 1 * 2;\n break;\n case JoinTypes.boundOP:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundOO:\n cost -= 1 * 2;\n break;\n case JoinTypes.boundOG:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundGS:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundGP:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundGO:\n cost -= 3 * 2;\n break;\n case JoinTypes.boundGG:\n cost -= 3 * 2;\n break;\n case JoinTypes.unboundSS:\n cost -= 2;\n break;\n case JoinTypes.unboundSP:\n cost -= 3;\n break;\n case JoinTypes.unboundSO:\n cost -= 1;\n break;\n case JoinTypes.unboundSG:\n cost -= 3;\n break;\n case JoinTypes.unboundPS:\n cost -= 3;\n break;\n case JoinTypes.unboundPP:\n cost -= 3;\n break;\n case JoinTypes.unboundPO:\n cost -= 3;\n break;\n case JoinTypes.unboundPG:\n cost -= 3;\n break;\n case JoinTypes.unboundOS:\n cost -= 1;\n break;\n case JoinTypes.unboundOP:\n cost -= 3;\n break;\n case JoinTypes.unboundOO:\n cost -= 1;\n break;\n case JoinTypes.unboundOG:\n cost -= 3;\n break;\n case JoinTypes.unboundGS:\n cost -= 3;\n break;\n case JoinTypes.unboundGP:\n cost -= 3;\n break;\n case JoinTypes.unboundGO:\n cost -= 3;\n break;\n case JoinTypes.unboundGG:\n cost -= 3;\n break;\n }\n }\n return cost / ActorRdfJoinSelectivityVariableCounting.MAX_PAIRWISE_COST;\n }\n static getOperationsJoinCost(operations) {\n // Determine all operations that select values (patterns and paths)\n const patterns = [];\n for (const operation of operations) {\n sparqlalgebrajs_1.Util.recurseOperation(operation, {\n [sparqlalgebrajs_1.Algebra.types.PATTERN](pattern) {\n patterns.push(pattern);\n return false;\n },\n [sparqlalgebrajs_1.Algebra.types.PATH](path) {\n patterns.push(path);\n return false;\n },\n });\n }\n // Determine pairwise costs\n let totalCost = 0;\n let costEntries = 0;\n for (const pattern1 of patterns) {\n for (const pattern2 of patterns) {\n if (pattern1 !== pattern2) {\n totalCost += ActorRdfJoinSelectivityVariableCounting.getOperationsPairwiseJoinCost(pattern1, pattern2);\n costEntries++;\n }\n }\n }\n // If there are no overlapping patterns, the cost is 1\n if (costEntries === 0) {\n return 1;\n }\n // Combine all pairwise costs, and multiply with costs of each pattern separately\n return totalCost / costEntries * patterns\n .reduce((factor, pattern) => factor * ActorRdfJoinSelectivityVariableCounting.getPatternCost(pattern), 1);\n }\n async run(action) {\n if (action.entries.length <= 1) {\n return { selectivity: 1 };\n }\n return {\n selectivity: ActorRdfJoinSelectivityVariableCounting\n .getOperationsJoinCost(action.entries.map(entry => entry.operation)),\n };\n }\n}\nexports.ActorRdfJoinSelectivityVariableCounting = ActorRdfJoinSelectivityVariableCounting;\n// Calculated as sum of unbound join type costs times 2 (best-case)\nActorRdfJoinSelectivityVariableCounting.MAX_PAIRWISE_COST = 41 * 2;\nvar JoinTypes;\n(function (JoinTypes) {\n JoinTypes[JoinTypes[\"boundSS\"] = 0] = \"boundSS\";\n JoinTypes[JoinTypes[\"boundSP\"] = 1] = \"boundSP\";\n JoinTypes[JoinTypes[\"boundSO\"] = 2] = \"boundSO\";\n JoinTypes[JoinTypes[\"boundSG\"] = 3] = \"boundSG\";\n JoinTypes[JoinTypes[\"boundPS\"] = 4] = \"boundPS\";\n JoinTypes[JoinTypes[\"boundPP\"] = 5] = \"boundPP\";\n JoinTypes[JoinTypes[\"boundPO\"] = 6] = \"boundPO\";\n JoinTypes[JoinTypes[\"boundPG\"] = 7] = \"boundPG\";\n JoinTypes[JoinTypes[\"boundOS\"] = 8] = \"boundOS\";\n JoinTypes[JoinTypes[\"boundOP\"] = 9] = \"boundOP\";\n JoinTypes[JoinTypes[\"boundOO\"] = 10] = \"boundOO\";\n JoinTypes[JoinTypes[\"boundOG\"] = 11] = \"boundOG\";\n JoinTypes[JoinTypes[\"boundGS\"] = 12] = \"boundGS\";\n JoinTypes[JoinTypes[\"boundGP\"] = 13] = \"boundGP\";\n JoinTypes[JoinTypes[\"boundGO\"] = 14] = \"boundGO\";\n JoinTypes[JoinTypes[\"boundGG\"] = 15] = \"boundGG\";\n JoinTypes[JoinTypes[\"unboundSS\"] = 16] = \"unboundSS\";\n JoinTypes[JoinTypes[\"unboundSP\"] = 17] = \"unboundSP\";\n JoinTypes[JoinTypes[\"unboundSO\"] = 18] = \"unboundSO\";\n JoinTypes[JoinTypes[\"unboundSG\"] = 19] = \"unboundSG\";\n JoinTypes[JoinTypes[\"unboundPS\"] = 20] = \"unboundPS\";\n JoinTypes[JoinTypes[\"unboundPP\"] = 21] = \"unboundPP\";\n JoinTypes[JoinTypes[\"unboundPO\"] = 22] = \"unboundPO\";\n JoinTypes[JoinTypes[\"unboundPG\"] = 23] = \"unboundPG\";\n JoinTypes[JoinTypes[\"unboundOS\"] = 24] = \"unboundOS\";\n JoinTypes[JoinTypes[\"unboundOP\"] = 25] = \"unboundOP\";\n JoinTypes[JoinTypes[\"unboundOO\"] = 26] = \"unboundOO\";\n JoinTypes[JoinTypes[\"unboundOG\"] = 27] = \"unboundOG\";\n JoinTypes[JoinTypes[\"unboundGS\"] = 28] = \"unboundGS\";\n JoinTypes[JoinTypes[\"unboundGP\"] = 29] = \"unboundGP\";\n JoinTypes[JoinTypes[\"unboundGO\"] = 30] = \"unboundGO\";\n JoinTypes[JoinTypes[\"unboundGG\"] = 31] = \"unboundGG\";\n})(JoinTypes || (exports.JoinTypes = JoinTypes = {}));\n//# sourceMappingURL=ActorRdfJoinSelectivityVariableCounting.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinSelectivityVariableCounting\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataAccumulateCardinality = void 0;\nconst bus_rdf_metadata_accumulate_1 = require(\"@comunica/bus-rdf-metadata-accumulate\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Cardinality RDF Metadata Accumulate Actor.\n */\nclass ActorRdfMetadataAccumulateCardinality extends bus_rdf_metadata_accumulate_1.ActorRdfMetadataAccumulate {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Return default value on initialize\n if (action.mode === 'initialize') {\n return { metadata: { cardinality: { type: 'exact', value: 0 } } };\n }\n // Otherwise, attempt to update existing value\n const cardinality = { ...action.accumulatedMetadata.cardinality };\n if (cardinality.dataset) {\n // If the accumulated cardinality refers to that of the full default graph (applicable for SPARQL endpoints)\n if (action.accumulatedMetadata.defaultGraph === cardinality.dataset &&\n cardinality.dataset !== action.appendingMetadata.cardinality.dataset) {\n // Use the cardinality of the appending metadata.\n return { metadata: { cardinality: action.appendingMetadata.cardinality } };\n }\n if (action.appendingMetadata.cardinality.dataset) {\n // If the accumulated cardinality is dataset-wide\n if (cardinality.dataset !== action.appendingMetadata.cardinality.dataset &&\n action.appendingMetadata.subsetOf === cardinality.dataset) {\n // If the appending cardinality refers to the subset of a dataset,\n // use the cardinality of the subset.\n return { metadata: { cardinality: action.appendingMetadata.cardinality } };\n }\n if (cardinality.dataset === action.appendingMetadata.cardinality.dataset) {\n // If the appending cardinality is for the same dataset,\n // keep the accumulated cardinality unchanged.\n return { metadata: { cardinality } };\n }\n // If the appending cardinality refers to another dataset,\n // remove the dataset scopes.\n delete cardinality.dataset;\n }\n else {\n // If the appending cardinality refers to a dataset subset,\n // keep the accumulated cardinality unchanged.\n return { metadata: { cardinality } };\n }\n }\n if (!action.appendingMetadata.cardinality || !Number.isFinite(action.appendingMetadata.cardinality.value)) {\n // We're already at infinite, so ignore any later metadata\n cardinality.type = 'estimate';\n cardinality.value = Number.POSITIVE_INFINITY;\n }\n else {\n if (action.appendingMetadata.cardinality.type === 'estimate') {\n cardinality.type = 'estimate';\n }\n cardinality.value += action.appendingMetadata.cardinality.value;\n }\n return { metadata: { cardinality } };\n }\n}\nexports.ActorRdfMetadataAccumulateCardinality = ActorRdfMetadataAccumulateCardinality;\n//# sourceMappingURL=ActorRdfMetadataAccumulateCardinality.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataAccumulateCardinality\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataAccumulatePageSize = void 0;\nconst bus_rdf_metadata_accumulate_1 = require(\"@comunica/bus-rdf-metadata-accumulate\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica PageSize RDF Metadata Accumulate Actor.\n */\nclass ActorRdfMetadataAccumulatePageSize extends bus_rdf_metadata_accumulate_1.ActorRdfMetadataAccumulate {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Return nothing on initialize\n if (action.mode === 'initialize') {\n return { metadata: {} };\n }\n // Otherwise, attempt to increment existing value\n return {\n metadata: {\n ...('pageSize' in action.accumulatedMetadata) || ('pageSize' in action.appendingMetadata) ?\n {\n pageSize: (action.accumulatedMetadata.pageSize ?? 0) + (action.appendingMetadata.pageSize ?? 0),\n } :\n {},\n },\n };\n }\n}\nexports.ActorRdfMetadataAccumulatePageSize = ActorRdfMetadataAccumulatePageSize;\n//# sourceMappingURL=ActorRdfMetadataAccumulatePageSize.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataAccumulatePageSize\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataAccumulateRequestTime = void 0;\nconst bus_rdf_metadata_accumulate_1 = require(\"@comunica/bus-rdf-metadata-accumulate\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica RequestTime RDF Metadata Accumulate Actor.\n */\nclass ActorRdfMetadataAccumulateRequestTime extends bus_rdf_metadata_accumulate_1.ActorRdfMetadataAccumulate {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n // Return nothing on initialize\n if (action.mode === 'initialize') {\n return { metadata: {} };\n }\n // Otherwise, attempt to increment existing value\n return {\n metadata: {\n ...('requestTime' in action.accumulatedMetadata) || ('requestTime' in action.appendingMetadata) ?\n {\n requestTime: (action.accumulatedMetadata.requestTime ?? 0) + (action.appendingMetadata.requestTime ?? 0),\n } :\n {},\n },\n };\n }\n}\nexports.ActorRdfMetadataAccumulateRequestTime = ActorRdfMetadataAccumulateRequestTime;\n//# sourceMappingURL=ActorRdfMetadataAccumulateRequestTime.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataAccumulateRequestTime\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataAll = void 0;\nconst bus_rdf_metadata_1 = require(\"@comunica/bus-rdf-metadata\");\nconst core_1 = require(\"@comunica/core\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A comunica All RDF Metadata Actor.\n */\nclass ActorRdfMetadataAll extends bus_rdf_metadata_1.ActorRdfMetadata {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const data = new readable_stream_1.Readable({ objectMode: true });\n const metadata = new readable_stream_1.Readable({ objectMode: true });\n // Forward errors (attach them immediately as they could arrive earlier)\n action.quads.on('error', (error) => {\n data.emit('error', error);\n metadata.emit('error', error);\n });\n // Terminate both streams on-end\n action.quads.on('end', () => {\n data.push(null);\n metadata.push(null);\n });\n const read = data._read = metadata._read = (size) => {\n while (size > 0) {\n const item = action.quads.read();\n if (item === null) {\n return action.quads.once('readable', () => read(size));\n }\n size--;\n data.push(item);\n metadata.push(item);\n }\n };\n return { data, metadata };\n }\n}\nexports.ActorRdfMetadataAll = ActorRdfMetadataAll;\n//# sourceMappingURL=ActorRdfMetadataAll.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataAll\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractAllowHttpMethods = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Allow HTTP Methods RDF Metadata Extract Actor.\n */\nclass ActorRdfMetadataExtractAllowHttpMethods extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const metadata = {};\n if (action.headers?.get('allow')) {\n metadata.allowHttpMethods = action.headers.get('allow')?.split(/, */u);\n }\n return { metadata };\n }\n}\nexports.ActorRdfMetadataExtractAllowHttpMethods = ActorRdfMetadataExtractAllowHttpMethods;\n//# sourceMappingURL=ActorRdfMetadataExtractAllowHttpMethods.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractAllowHttpMethods\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractHydraControls = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\nconst uritemplate_1 = require(\"uritemplate\");\n/**\n * An RDF Metadata Extract Actor that extracts all Hydra controls from the metadata stream.\n */\nclass ActorRdfMetadataExtractHydraControls extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n this.parsedUriTemplateCache = {};\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n /**\n * Collect all Hydra page links from the given Hydra properties object.\n * @param pageUrl The page URL in which the Hydra properties are defined.\n * @param hydraProperties The collected Hydra properties.\n * @return The Hydra links\n */\n getLinks(pageUrl, hydraProperties) {\n return Object.fromEntries(ActorRdfMetadataExtractHydraControls.LINK_TYPES.map((link) => {\n // First check the correct hydra:next, then the deprecated hydra:nextPage\n const links = hydraProperties[link] || hydraProperties[`${link}Page`];\n const linkTargets = links && links[pageUrl];\n return [link, linkTargets && linkTargets.length > 0 ? [linkTargets[0]] : []];\n }));\n }\n /**\n * Parse a URI template, or retrieve it from a cache.\n * @param {string} template A URI template string.\n * @return {} A parsed URI template object.\n */\n parseUriTemplateCached(template) {\n const cachedUriTemplate = this.parsedUriTemplateCache[template];\n if (cachedUriTemplate) {\n return cachedUriTemplate;\n }\n return this.parsedUriTemplateCache[template] = (0, uritemplate_1.parse)(template);\n }\n /**\n * Collect all search forms from the given Hydra properties object.\n * @param hydraProperties The collected Hydra properties.\n * @return The search forms.\n */\n getSearchForms(hydraProperties) {\n const searchFormData = hydraProperties.search;\n const searchForms = [];\n if (searchFormData) {\n for (const dataset in searchFormData) {\n for (const searchFormId of searchFormData[dataset]) {\n const searchTemplates = (hydraProperties.template || {})[searchFormId] || [];\n // Parse the template\n if (searchTemplates.length !== 1) {\n throw new Error(`Expected 1 hydra:template for ${searchFormId}`);\n }\n const template = searchTemplates[0];\n const searchTemplate = this.parseUriTemplateCached(template);\n // Parse the template mappings\n const mappings = Object\n .fromEntries(((hydraProperties.mapping || {})[searchFormId] || [])\n .map((mapping) => {\n const variable = ((hydraProperties.variable || {})[mapping] || [])[0];\n const property = ((hydraProperties.property || {})[mapping] || [])[0];\n if (!variable) {\n throw new Error(`Expected a hydra:variable for ${mapping}`);\n }\n if (!property) {\n throw new Error(`Expected a hydra:property for ${mapping}`);\n }\n return [property, variable];\n }));\n // Gets the URL of the Triple Pattern Fragment with the given triple pattern\n const getUri = (entries) => searchTemplate\n .expand(Object.fromEntries(Object.keys(entries).map(key => [mappings[key], entries[key]])));\n searchForms.push({ dataset, template, mappings, getUri });\n }\n }\n }\n return { values: searchForms };\n }\n /**\n * Collect all hydra properties from a given metadata stream\n * in a nice convenient nested hash (property / subject / objects).\n * @param {RDF.Stream} metadata\n * @return The collected Hydra properties.\n */\n getHydraProperties(metadata) {\n return new Promise((resolve, reject) => {\n metadata.on('error', reject);\n // Collect all hydra properties in a nice convenient nested hash (property / subject / objects).\n const hydraProperties = {};\n metadata.on('data', (quad) => {\n if (quad.predicate.value.startsWith(ActorRdfMetadataExtractHydraControls.HYDRA)) {\n const property = quad.predicate.value.slice(ActorRdfMetadataExtractHydraControls.HYDRA.length);\n const subjectProperties = hydraProperties[property] || (hydraProperties[property] = {});\n const objects = subjectProperties[quad.subject.value] || (subjectProperties[quad.subject.value] = []);\n objects.push(quad.object.value);\n }\n });\n metadata.on('end', () => resolve(hydraProperties));\n });\n }\n async run(action) {\n const metadata = {};\n const hydraProperties = await this.getHydraProperties(action.metadata);\n Object.assign(metadata, this.getLinks(action.url, hydraProperties));\n metadata.searchForms = this.getSearchForms(hydraProperties);\n return { metadata };\n }\n}\nexports.ActorRdfMetadataExtractHydraControls = ActorRdfMetadataExtractHydraControls;\nActorRdfMetadataExtractHydraControls.HYDRA = 'http://www.w3.org/ns/hydra/core#';\nActorRdfMetadataExtractHydraControls.LINK_TYPES = ['first', 'next', 'previous', 'last'];\n//# sourceMappingURL=ActorRdfMetadataExtractHydraControls.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractHydraControls\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractHydraCount = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * An RDF Metadata Extract Actor that extracts total items counts from a metadata stream based on the given predicates.\n */\nclass ActorRdfMetadataExtractHydraCount extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n run(action) {\n return new Promise((resolve, reject) => {\n // Forward errors\n action.metadata.on('error', reject);\n // Immediately resolve when a value has been found.\n action.metadata.on('data', (quad) => {\n if (this.predicates.includes(quad.predicate.value)) {\n resolve({\n metadata: {\n cardinality: {\n type: 'estimate',\n value: Number.parseInt(quad.object.value, 10),\n dataset: quad.subject.value,\n },\n },\n });\n }\n });\n // If no value has been found, assume infinity.\n action.metadata.on('end', () => {\n resolve({ metadata: { cardinality: { type: 'estimate', value: 0 } } });\n });\n });\n }\n}\nexports.ActorRdfMetadataExtractHydraCount = ActorRdfMetadataExtractHydraCount;\n//# sourceMappingURL=ActorRdfMetadataExtractHydraCount.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractHydraCount\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractHydraPagesize = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Hydra Pagesize RDF Metadata Extract Actor.\n */\nclass ActorRdfMetadataExtractHydraPagesize extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return new Promise((resolve, reject) => {\n // Forward errors\n action.metadata.on('error', reject);\n // Immediately resolve when a value has been found.\n action.metadata.on('data', (quad) => {\n if (this.predicates.includes(quad.predicate.value)) {\n resolve({ metadata: { pageSize: Number.parseInt(quad.object.value, 10) } });\n }\n });\n // If no value has been found, don't define the pageSize value.\n action.metadata.on('end', () => {\n resolve({ metadata: {} });\n });\n });\n }\n}\nexports.ActorRdfMetadataExtractHydraPagesize = ActorRdfMetadataExtractHydraPagesize;\n//# sourceMappingURL=ActorRdfMetadataExtractHydraPagesize.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractHydraPagesize\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractPatchSparqlUpdate = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Patch SPARQL Update RDF Metadata Extract Actor.\n */\nclass ActorRdfMetadataExtractPatchSparqlUpdate extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const metadata = {};\n // The ms-author-via header is added for backwards-compatibility with old Solid servers\n if (action.headers?.get('accept-patch')?.includes('application/sparql-update') ??\n action.headers?.get('ms-author-via')?.includes('SPARQL')) {\n metadata.patchSparqlUpdate = true;\n }\n return { metadata };\n }\n}\nexports.ActorRdfMetadataExtractPatchSparqlUpdate = ActorRdfMetadataExtractPatchSparqlUpdate;\n//# sourceMappingURL=ActorRdfMetadataExtractPatchSparqlUpdate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractPatchSparqlUpdate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractPutAccepted = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica PUT Accepted RDF Metadata Extract Actor.\n */\nclass ActorRdfMetadataExtractPutAccepted extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const metadata = {};\n if (action.headers?.get('accept-put')) {\n metadata.putAccepted = action.headers.get('accept-put')?.split(/, */u);\n }\n return { metadata };\n }\n}\nexports.ActorRdfMetadataExtractPutAccepted = ActorRdfMetadataExtractPutAccepted;\n//# sourceMappingURL=ActorRdfMetadataExtractPutAccepted.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractPutAccepted\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractRequestTime = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Request Time RDF Metadata Extract Actor.\n */\nclass ActorRdfMetadataExtractRequestTime extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return { metadata: { requestTime: action.requestTime } };\n }\n}\nexports.ActorRdfMetadataExtractRequestTime = ActorRdfMetadataExtractRequestTime;\n//# sourceMappingURL=ActorRdfMetadataExtractRequestTime.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractRequestTime\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtractSparqlService = void 0;\nconst bus_rdf_metadata_extract_1 = require(\"@comunica/bus-rdf-metadata-extract\");\nconst core_1 = require(\"@comunica/core\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * A comunica RDF Metadata Extract Actor for SPARQL service descriptions.\n */\nclass ActorRdfMetadataExtractSparqlService extends bus_rdf_metadata_extract_1.ActorRdfMetadataExtract {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return new Promise((resolve, reject) => {\n // Forward errors\n action.metadata.on('error', reject);\n // Immediately resolve when a SPARQL service endpoint URL has been found\n const metadata = {};\n action.metadata.on('data', (quad) => {\n if (quad.predicate.value === 'http://www.w3.org/ns/sparql-service-description#endpoint' &&\n (quad.subject.termType === 'BlankNode' || quad.subject.value === action.url)) {\n metadata.sparqlService = quad.object.termType === 'Literal' ?\n (0, relative_to_absolute_iri_1.resolve)(quad.object.value, action.url) :\n quad.object.value;\n // Fix a common mistake in SPARQL endpoint setups where HTTPS SD's refer to a non-existing HTTP API\n if (this.inferHttpsEndpoint &&\n action.url.startsWith('https') && !metadata.sparqlService.startsWith('https')) {\n metadata.sparqlService = metadata.sparqlService.replace('http:', 'https:');\n }\n }\n else if (quad.predicate.value === 'http://www.w3.org/ns/sparql-service-description#defaultGraph') {\n metadata.defaultGraph = quad.object.value;\n }\n });\n // If no value has been found, emit nothing.\n action.metadata.on('end', () => {\n resolve({ metadata });\n });\n });\n }\n}\nexports.ActorRdfMetadataExtractSparqlService = ActorRdfMetadataExtractSparqlService;\n//# sourceMappingURL=ActorRdfMetadataExtractSparqlService.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtractSparqlService\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataPrimaryTopic = void 0;\nconst bus_rdf_metadata_1 = require(\"@comunica/bus-rdf-metadata\");\nconst core_1 = require(\"@comunica/core\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * An RDF Metadata Actor that splits off the metadata based on the existence of a 'foaf:primaryTopic' link.\n * Only non-triple quad streams are supported.\n */\nclass ActorRdfMetadataPrimaryTopic extends bus_rdf_metadata_1.ActorRdfMetadata {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (action.triples) {\n return (0, core_1.failTest)('This actor only supports non-triple quad streams.');\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const data = new readable_stream_1.Readable({ objectMode: true });\n const metadata = new readable_stream_1.Readable({ objectMode: true });\n // Delay attachment of listeners until the data or metadata stream is being read.\n const attachListeners = () => {\n // Attach listeners only once\n data._read = metadata._read = () => {\n // Do nothing\n };\n // Forward errors\n action.quads.on('error', (error) => {\n data.emit('error', error);\n metadata.emit('error', error);\n });\n // First pass over data to categorize in graphs,\n // and to detect the primaryTopic triple.\n const graphs = {};\n let endpointIdentifier;\n const primaryTopics = {};\n action.quads.on('data', (quad) => {\n if (quad.predicate.value === 'http://rdfs.org/ns/void#subset' &&\n quad.object.value === action.url) {\n endpointIdentifier = quad.subject.value;\n }\n else if (quad.predicate.value === 'http://xmlns.com/foaf/0.1/primaryTopic') {\n primaryTopics[quad.object.value] = quad.subject.value;\n }\n let quads = graphs[quad.graph.value];\n if (!quads) {\n quads = graphs[quad.graph.value] = [];\n }\n quads.push(quad);\n });\n // When the stream has finished,\n // determine the appropriate metadata graph,\n // and emit all quads to the appropriate streams.\n action.quads.on('end', () => {\n const metadataGraph = endpointIdentifier ? primaryTopics[endpointIdentifier] : undefined;\n for (const graphName in graphs) {\n if (graphName === metadataGraph) {\n for (const quad of graphs[graphName]) {\n metadata.push(quad);\n }\n // Also emit metadata to data if requested\n if (this.metadataToData) {\n for (const quad of graphs[graphName]) {\n data.push(quad);\n }\n }\n }\n else {\n for (const quad of graphs[graphName]) {\n data.push(quad);\n }\n if (!metadataGraph && this.dataToMetadataOnInvalidMetadataGraph) {\n for (const quad of graphs[graphName]) {\n metadata.push(quad);\n }\n }\n }\n }\n data.push(null);\n metadata.push(null);\n });\n };\n data._read = metadata._read = () => {\n attachListeners();\n };\n return { data, metadata };\n }\n}\nexports.ActorRdfMetadataPrimaryTopic = ActorRdfMetadataPrimaryTopic;\n//# sourceMappingURL=ActorRdfMetadataPrimaryTopic.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataPrimaryTopic\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseHtmlMicrodata = void 0;\nconst bus_rdf_parse_html_1 = require(\"@comunica/bus-rdf-parse-html\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst microdata_rdf_streaming_parser_1 = require(\"microdata-rdf-streaming-parser\");\n/**\n * A comunica Microdata RDF Parse Html Actor.\n */\nclass ActorRdfParseHtmlMicrodata extends bus_rdf_parse_html_1.ActorRdfParseHtml {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const mediaType = action.headers ? action.headers.get('content-type') : null;\n const xmlMode = mediaType?.includes('xml');\n const htmlParseListener = new microdata_rdf_streaming_parser_1.MicrodataRdfParser({ dataFactory, baseIRI: action.baseIRI, xmlMode });\n htmlParseListener.on('error', action.error);\n htmlParseListener.on('data', action.emit);\n // eslint-disable-next-line ts/unbound-method\n const onTagEndOld = htmlParseListener.onEnd;\n htmlParseListener.onEnd = () => {\n onTagEndOld.call(htmlParseListener);\n action.end();\n };\n return { htmlParseListener };\n }\n}\nexports.ActorRdfParseHtmlMicrodata = ActorRdfParseHtmlMicrodata;\n//# sourceMappingURL=ActorRdfParseHtmlMicrodata.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseHtmlMicrodata\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseHtml = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-parse-html events.\n *\n * Actor types:\n * * Input: IActionRdfParseHtml: Callbacks for parsing results.\n * * Test: \n * * Output: IActorRdfParseHtmlOutput: An HTML event listeners.\n *\n * @see IActionRdfParseHtml\n * @see IActorRdfParseHtmlOutput\n */\nclass ActorRdfParseHtml extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfParseHtml = ActorRdfParseHtml;\n//# sourceMappingURL=ActorRdfParseHtml.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseHtml\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseHtmlRdfa = void 0;\nconst bus_rdf_parse_html_1 = require(\"@comunica/bus-rdf-parse-html\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst rdfa_streaming_parser_1 = require(\"rdfa-streaming-parser\");\n/**\n * A comunica RDFa RDF Parse Html Actor.\n */\nclass ActorRdfParseHtmlRdfa extends bus_rdf_parse_html_1.ActorRdfParseHtml {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const mediaType = action.headers ? action.headers.get('content-type') : null;\n const language = (action.headers && action.headers.get('content-language')) ?? undefined;\n const profile = mediaType && mediaType.includes('xml') ? 'xhtml' : 'html';\n const htmlParseListener = new rdfa_streaming_parser_1.RdfaParser({ dataFactory, baseIRI: action.baseIRI, profile, language });\n htmlParseListener.on('error', action.error);\n htmlParseListener.on('data', action.emit);\n // eslint-disable-next-line ts/unbound-method\n const onTagEndOld = htmlParseListener.onEnd;\n htmlParseListener.onEnd = () => {\n onTagEndOld.call(htmlParseListener);\n action.end();\n };\n return { htmlParseListener };\n }\n}\nexports.ActorRdfParseHtmlRdfa = ActorRdfParseHtmlRdfa;\n//# sourceMappingURL=ActorRdfParseHtmlRdfa.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseHtmlRdfa\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseHtml = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-parse-html events.\n *\n * Actor types:\n * * Input: IActionRdfParseHtml: Callbacks for parsing results.\n * * Test: \n * * Output: IActorRdfParseHtmlOutput: An HTML event listeners.\n *\n * @see IActionRdfParseHtml\n * @see IActorRdfParseHtmlOutput\n */\nclass ActorRdfParseHtml extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfParseHtml = ActorRdfParseHtml;\n//# sourceMappingURL=ActorRdfParseHtml.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseHtml\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseHtmlScript = void 0;\nconst bus_rdf_parse_html_1 = require(\"@comunica/bus-rdf-parse-html\");\nconst core_1 = require(\"@comunica/core\");\nconst HtmlScriptListener_1 = require(\"./HtmlScriptListener\");\n/**\n * A HTML script RDF Parse actor that listens on the 'rdf-parse' bus.\n *\n * It is able to extract and parse any RDF serialization from script tags in HTML files\n * and announce the presence of them by media type.\n */\nclass ActorRdfParseHtmlScript extends bus_rdf_parse_html_1.ActorRdfParseHtml {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const supportedTypes = (await this.mediatorRdfParseMediatypes\n .mediate({ context: action.context, mediaTypes: true })).mediaTypes;\n const htmlParseListener = new HtmlScriptListener_1.HtmlScriptListener(this.mediatorRdfParseHandle, action.emit, action.error, action.end, supportedTypes, action.context, action.baseIRI, action.headers);\n return { htmlParseListener };\n }\n}\nexports.ActorRdfParseHtmlScript = ActorRdfParseHtmlScript;\n//# sourceMappingURL=ActorRdfParseHtmlScript.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HtmlScriptListener = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * An HTML parse listeners that detects `.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n };\n Tokenizer.prototype.stateCDATASequence = function (c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n };\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n Tokenizer.prototype.fastForwardTo = function (c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n };\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n Tokenizer.prototype.stateInCommentLike = function (c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n };\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n Tokenizer.prototype.isTagStartChar = function (c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n };\n Tokenizer.prototype.startSpecial = function (sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n };\n Tokenizer.prototype.stateBeforeTagName = function (c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n var lower = c | 0x20;\n this.sectionStart = this.index;\n if (this.xmlMode) {\n this.state = State.InTagName;\n }\n else if (lower === Sequences.ScriptEnd[2]) {\n this.state = State.BeforeSpecialS;\n }\n else if (lower === Sequences.TitleEnd[2]) {\n this.state = State.BeforeSpecialT;\n }\n else {\n this.state = State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n };\n Tokenizer.prototype.stateInTagName = function (c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateBeforeClosingTagName = function (c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInClosingTagName = function (c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n };\n Tokenizer.prototype.stateAfterClosingTagName = function (c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeName = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInSelfClosingTag = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateInAttributeName = function (c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = this.index;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n };\n Tokenizer.prototype.stateAfterAttributeName = function (c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeValue = function (c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n };\n Tokenizer.prototype.handleInAttributeValue = function (c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index + 1);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n };\n Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueSingleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueNoQuotes = function (c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n };\n Tokenizer.prototype.stateBeforeDeclaration = function (c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInDeclaration = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateInProcessingInstruction = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeComment = function (c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. )\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInSpecialComment = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeSpecialS = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.stateBeforeSpecialT = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.TitleEnd[3]) {\n this.startSpecial(Sequences.TitleEnd, 4);\n }\n else if (lower === Sequences.TextareaEnd[3]) {\n this.startSpecial(Sequences.TextareaEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.startEntity = function () {\n this.baseState = this.state;\n this.state = State.InEntity;\n this.entityStart = this.index;\n this.entityDecoder.startEntity(this.xmlMode\n ? decode_js_1.DecodingMode.Strict\n : this.baseState === State.Text ||\n this.baseState === State.InSpecialTag\n ? decode_js_1.DecodingMode.Legacy\n : decode_js_1.DecodingMode.Attribute);\n };\n Tokenizer.prototype.stateInEntity = function () {\n var length = this.entityDecoder.write(this.buffer, this.index - this.offset);\n // If `length` is positive, we are done with the entity.\n if (length >= 0) {\n this.state = this.baseState;\n if (length === 0) {\n this.index = this.entityStart;\n }\n }\n else {\n // Mark buffer as consumed.\n this.index = this.offset + this.buffer.length - 1;\n }\n };\n /**\n * Remove data that has already been consumed from the buffer.\n */\n Tokenizer.prototype.cleanup = function () {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n };\n Tokenizer.prototype.shouldContinue = function () {\n return this.index < this.buffer.length + this.offset && this.running;\n };\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n Tokenizer.prototype.parse = function () {\n while (this.shouldContinue()) {\n var c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.BeforeSpecialT: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InEntity: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n };\n Tokenizer.prototype.finish = function () {\n if (this.state === State.InEntity) {\n this.entityDecoder.end();\n this.state = this.baseState;\n }\n this.handleTrailingData();\n this.cbs.onend();\n };\n /** Handle any trailing data. */\n Tokenizer.prototype.handleTrailingData = function () {\n var endIndex = this.buffer.length + this.offset;\n // If there is no remaining data, we are done.\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n };\n Tokenizer.prototype.emitCodePoint = function (cp, consumed) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n if (this.sectionStart < this.entityStart) {\n this.cbs.onattribdata(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.onattribentity(cp);\n }\n else {\n if (this.sectionStart < this.entityStart) {\n this.cbs.ontext(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.ontextentity(cp, this.sectionStart);\n }\n };\n return Tokenizer;\n}());\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.QuoteType = exports.Tokenizer = exports.createDomStream = exports.createDocumentStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;\nvar Parser_js_1 = require(\"./Parser.js\");\nvar Parser_js_2 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_2.Parser; } });\nvar domhandler_1 = require(\"domhandler\");\nvar domhandler_2 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Old name for DomHandler\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n */\nfunction parseDocument(data, options) {\n var handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\nexports.parseDocument = parseDocument;\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\nexports.parseDOM = parseDOM;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed, with the resulting document.\n * @param options Optional options for the parser and DOM handler.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDocumentStream(callback, options, elementCallback) {\n var handler = new domhandler_1.DomHandler(function (error) { return callback(error, handler.root); }, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDocumentStream = createDocumentStream;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed, with an array of root nodes.\n * @param options Optional options for the parser and DOM handler.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n * @deprecated Use `createDocumentStream` instead.\n */\nfunction createDomStream(callback, options, elementCallback) {\n var handler = new domhandler_1.DomHandler(callback, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDomStream = createDomStream;\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\nObject.defineProperty(exports, \"QuoteType\", { enumerable: true, get: function () { return Tokenizer_js_1.QuoteType; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexports.ElementType = __importStar(require(\"domelementtype\"));\nvar domutils_1 = require(\"domutils\");\nvar domutils_2 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_2.getFeed; } });\nvar parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options) {\n if (options === void 0) { options = parseFeedDefaultOptions; }\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.parseFeed = parseFeed;\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseJsonLd = void 0;\nconst bus_rdf_parse_1 = require(\"@comunica/bus-rdf-parse\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst jsonld_streaming_parser_1 = require(\"jsonld-streaming-parser\");\nconst DocumentLoaderMediated_1 = require(\"./DocumentLoaderMediated\");\n/**\n * A JSON-LD RDF Parse actor that listens on the 'rdf-parse' bus.\n *\n * It is able to parse JSON-LD-based RDF serializations and announce the presence of them by media type.\n */\nclass ActorRdfParseJsonLd extends bus_rdf_parse_1.ActorRdfParseFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/ld+json\": 1.0,\n * \"application/json\": 0.15\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/ld+json\": \"http://www.w3.org/ns/formats/JSON-LD\",\n * \"application/json\": \"http://www.w3.org/ns/formats/JSON-LD\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async testHandle(action, mediaType, context) {\n if (context.has(context_entries_1.KeysRdfParseHtmlScript.processingHtmlScript) && mediaType !== 'application/ld+json') {\n return (0, core_1.failTest)(`JSON-LD in script tags can only have media type 'application/ld+json'`);\n }\n if (!mediaType || !(mediaType in this.mediaTypePriorities || mediaType.endsWith('+json'))) {\n return (0, core_1.failTest)(`Unrecognized media type: ${mediaType}`);\n }\n return await this.testHandleChecked(action);\n }\n async runHandle(action, mediaType, actionContext) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const parser = jsonld_streaming_parser_1.JsonLdParser.fromHttpResponse(action.metadata?.baseIRI ?? '', mediaType, action.headers, {\n dataFactory,\n documentLoader: actionContext.get(context_entries_1.KeysRdfParseJsonLd.documentLoader) ??\n new DocumentLoaderMediated_1.DocumentLoaderMediated(this.mediatorHttp, actionContext),\n strictValues: actionContext.get(context_entries_1.KeysRdfParseJsonLd.strictValues),\n ...actionContext.get(context_entries_1.KeysRdfParseJsonLd.parserOptions),\n });\n const data = parser.import(action.data);\n return { data };\n }\n}\nexports.ActorRdfParseJsonLd = ActorRdfParseJsonLd;\n//# sourceMappingURL=ActorRdfParseJsonLd.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentLoaderMediated = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst stream_to_string_1 = require(\"@jeswr/stream-to-string\");\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * A JSON-LD document loader that fetches over an HTTP bus using a given mediator.\n */\nclass DocumentLoaderMediated extends jsonld_context_parser_1.FetchDocumentLoader {\n constructor(mediatorHttp, context) {\n super(DocumentLoaderMediated.createFetcher(mediatorHttp, context));\n this.mediatorHttp = mediatorHttp;\n this.context = context;\n }\n static createFetcher(mediatorHttp, context) {\n return async (url, init) => {\n const response = await mediatorHttp.mediate({ input: url, init, context });\n response.json = async () => JSON.parse(await (0, stream_to_string_1.stringify)(bus_http_1.ActorHttp.toNodeReadable(response.body)));\n return response;\n };\n }\n}\nexports.DocumentLoaderMediated = DocumentLoaderMediated;\n//# sourceMappingURL=DocumentLoaderMediated.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseJsonLd\"), exports);\n__exportStar(require(\"./DocumentLoaderMediated\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseN3 = void 0;\nconst bus_rdf_parse_1 = require(\"@comunica/bus-rdf-parse\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst n3_1 = require(\"n3\");\n/**\n * An N3 RDF Parse actor that listens on the 'rdf-parse' bus.\n *\n * It is able to parse N3-based RDF serializations and announce the presence of them by media type.\n */\nclass ActorRdfParseN3 extends bus_rdf_parse_1.ActorRdfParseFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/n-quads\": 1.0,\n * \"application/trig\": 0.95,\n * \"application/n-triples\": 0.8,\n * \"text/turtle\": 0.6,\n * \"text/n3\": 0.35\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/n-quads\": \"http://www.w3.org/ns/formats/N-Quads\",\n * \"application/trig\": \"http://www.w3.org/ns/formats/TriG\",\n * \"application/n-triples\": \"http://www.w3.org/ns/formats/N-Triples\",\n * \"text/turtle\": \"http://www.w3.org/ns/formats/Turtle\",\n * \"text/n3\": \"http://www.w3.org/ns/formats/N3\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action, mediaType, _context) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n action.data.on('error', error => data.emit('error', error));\n const data = action.data.pipe(new n3_1.StreamParser({\n factory: dataFactory,\n baseIRI: action.metadata?.baseIRI,\n // Enable RDF-star-mode on all formats, except N3, where this is not supported.\n format: mediaType.endsWith('n3') ? mediaType : `${mediaType}*`,\n }));\n return {\n data,\n metadata: {\n triples: mediaType === 'text/turtle' ||\n mediaType === 'application/n-triples' ||\n mediaType === 'text/n3',\n },\n };\n }\n}\nexports.ActorRdfParseN3 = ActorRdfParseN3;\n//# sourceMappingURL=ActorRdfParseN3.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseN3\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseRdfXml = void 0;\nconst bus_rdf_parse_1 = require(\"@comunica/bus-rdf-parse\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst rdfxml_streaming_parser_1 = require(\"rdfxml-streaming-parser\");\n/**\n * A comunica RDF/XML RDF Parse Actor.\n */\nclass ActorRdfParseRdfXml extends bus_rdf_parse_1.ActorRdfParseFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/rdf+xml\": 1.0\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/rdf+xml\": \"http://www.w3.org/ns/formats/RDF_XML\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n action.data.on('error', error => data.emit('error', error));\n const data = action.data.pipe(new rdfxml_streaming_parser_1.RdfXmlParser({\n dataFactory,\n baseIRI: action.metadata?.baseIRI,\n }));\n return {\n data,\n metadata: { triples: true },\n };\n }\n}\nexports.ActorRdfParseRdfXml = ActorRdfParseRdfXml;\n//# sourceMappingURL=ActorRdfParseRdfXml.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseRdfXml\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseShaclc = void 0;\nconst bus_rdf_parse_1 = require(\"@comunica/bus-rdf-parse\");\nconst stream_to_string_1 = require(\"@jeswr/stream-to-string\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst shaclc_parse_1 = require(\"shaclc-parse\");\nconst PrefixWrappingIterator_1 = require(\"./PrefixWrappingIterator\");\n/**\n * A comunica SHACL Compact Syntax RDF Parse Actor.\n */\nclass ActorRdfParseShaclc extends bus_rdf_parse_1.ActorRdfParseFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"text/shaclc\": 1.0,\n * \"text/shaclc-ext\": 0.5\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"text/shaclc\": \"http://www.w3.org/ns/formats/Shaclc\",\n * \"text/shaclc-ext\": \"http://www.w3.org/ns/formats/ShaclcExtended\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action, mediaType, _context) {\n const prefixIterator = new PrefixWrappingIterator_1.PrefixWrappingIterator(\n // TODO: pass data factory\n (0, stream_to_string_1.stringify)(action.data).then(str => (0, shaclc_parse_1.parse)(str, {\n extendedSyntax: mediaType === 'text/shaclc-ext',\n baseIRI: action.metadata?.baseIRI,\n })));\n const readable = new readable_stream_1.Readable({ objectMode: true });\n prefixIterator.on('prefix', (...args) => readable.emit('prefix', ...args));\n return {\n data: readable.wrap(prefixIterator),\n metadata: { triples: true },\n };\n }\n}\nexports.ActorRdfParseShaclc = ActorRdfParseShaclc;\n//# sourceMappingURL=ActorRdfParseShaclc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PrefixWrappingIterator = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * An iterator that emits prefixes on the first read call where prefixes are available\n */\nclass PrefixWrappingIterator extends asynciterator_1.WrappingIterator {\n constructor(source) {\n super(source?.then((src) => {\n this.prefixes = src.prefixes;\n return src;\n }));\n }\n read() {\n // On the first read where the prefixes are available, emit them\n if (this.prefixes) {\n for (const args of Object.entries(this.prefixes)) {\n this.emit('prefix', ...args);\n }\n delete this.prefixes;\n }\n return super.read();\n }\n}\nexports.PrefixWrappingIterator = PrefixWrappingIterator;\n//# sourceMappingURL=PrefixWrappingIterator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseShaclc\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseXmlRdfa = void 0;\nconst bus_rdf_parse_1 = require(\"@comunica/bus-rdf-parse\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst rdfa_streaming_parser_1 = require(\"rdfa-streaming-parser\");\n/**\n * A comunica XML RDFa RDF Parse Actor.\n */\nclass ActorRdfParseXmlRdfa extends bus_rdf_parse_1.ActorRdfParseFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/xml\": 1.0,\n * \"text/xml\": 1.0,\n * \"image/svg+xml\": 1.0\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/xml\": \"http://www.w3.org/ns/formats/RDFa\",\n * \"text/xml\": \"http://www.w3.org/ns/formats/RDFa\",\n * \"image/svg+xml\": \"http://www.w3.org/ns/formats/RDFa\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action, _mediaType, _context) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const language = (action.headers && action.headers.get('content-language')) ?? undefined;\n action.data.on('error', error => data.emit('error', error));\n const data = action.data.pipe(new rdfa_streaming_parser_1.RdfaParser({\n dataFactory,\n baseIRI: action.metadata?.baseIRI,\n profile: 'xml',\n language,\n }));\n return { data, metadata: { triples: true } };\n }\n}\nexports.ActorRdfParseXmlRdfa = ActorRdfParseXmlRdfa;\n//# sourceMappingURL=ActorRdfParseXmlRdfa.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParseXmlRdfa\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfResolveHypermediaLinksNext = void 0;\nconst bus_rdf_resolve_hypermedia_links_1 = require(\"@comunica/bus-rdf-resolve-hypermedia-links\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica Next RDF Resolve Hypermedia Links Actor.\n */\nclass ActorRdfResolveHypermediaLinksNext extends bus_rdf_resolve_hypermedia_links_1.ActorRdfResolveHypermediaLinks {\n constructor(args) {\n super(args);\n }\n async test(action) {\n if (!action.metadata.next || action.metadata.next.length === 0) {\n return (0, core_1.failTest)(`Actor ${this.name} requires a 'next' metadata entry.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n return { links: action.metadata.next.map((url) => ({ url })) };\n }\n}\nexports.ActorRdfResolveHypermediaLinksNext = ActorRdfResolveHypermediaLinksNext;\n//# sourceMappingURL=ActorRdfResolveHypermediaLinksNext.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfResolveHypermediaLinksNext\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfResolveHypermediaLinksQueueFifo = void 0;\nconst bus_rdf_resolve_hypermedia_links_queue_1 = require(\"@comunica/bus-rdf-resolve-hypermedia-links-queue\");\nconst core_1 = require(\"@comunica/core\");\nconst LinkQueueFifo_1 = require(\"./LinkQueueFifo\");\n/**\n * A comunica FIFO RDF Resolve Hypermedia Links Queue Actor.\n */\nclass ActorRdfResolveHypermediaLinksQueueFifo extends bus_rdf_resolve_hypermedia_links_queue_1.ActorRdfResolveHypermediaLinksQueue {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(_action) {\n return { linkQueue: new LinkQueueFifo_1.LinkQueueFifo() };\n }\n}\nexports.ActorRdfResolveHypermediaLinksQueueFifo = ActorRdfResolveHypermediaLinksQueueFifo;\n//# sourceMappingURL=ActorRdfResolveHypermediaLinksQueueFifo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkQueueFifo = void 0;\n/**\n * A link queue in FIFO (first-in first-out) order.\n */\nclass LinkQueueFifo {\n constructor() {\n this.links = [];\n }\n push(link) {\n this.links.push(link);\n return true;\n }\n getSize() {\n return this.links.length;\n }\n isEmpty() {\n return this.links.length === 0;\n }\n pop() {\n return this.links.shift();\n }\n peek() {\n return this.links[0];\n }\n}\nexports.LinkQueueFifo = LinkQueueFifo;\n//# sourceMappingURL=LinkQueueFifo.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfResolveHypermediaLinksQueueFifo\"), exports);\n__exportStar(require(\"./LinkQueueFifo\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfSerializeJsonLd = void 0;\nconst bus_rdf_serialize_1 = require(\"@comunica/bus-rdf-serialize\");\nconst jsonld_streaming_serializer_1 = require(\"jsonld-streaming-serializer\");\n/**\n * A comunica Jsonld RDF Serialize Actor.\n */\nclass ActorRdfSerializeJsonLd extends bus_rdf_serialize_1.ActorRdfSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/ld+json\": 1.0\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/ld+json\": \"http://www.w3.org/ns/formats/JSON-LD\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action, _mediaType, _context) {\n const writer = new jsonld_streaming_serializer_1.JsonLdSerializer({ space: ' '.repeat(this.jsonStringifyIndentSpaces) });\n let data;\n if ('pipe' in action.quadStream) {\n // Prefer piping if possible, to maintain backpressure\n action.quadStream.on('error', error => writer.emit('error', error));\n data = action.quadStream.pipe(writer);\n }\n else {\n data = writer.import(action.quadStream);\n }\n return { data };\n }\n}\nexports.ActorRdfSerializeJsonLd = ActorRdfSerializeJsonLd;\n//# sourceMappingURL=ActorRdfSerializeJsonLd.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfSerializeJsonLd\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfSerializeN3 = void 0;\nconst bus_rdf_serialize_1 = require(\"@comunica/bus-rdf-serialize\");\nconst n3_1 = require(\"n3\");\n/**\n * A comunica N3 RDF Serialize Actor.\n */\nclass ActorRdfSerializeN3 extends bus_rdf_serialize_1.ActorRdfSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"application/n-quads\": 1.0,\n * \"application/trig\": 0.95,\n * \"application/n-triples\": 0.8,\n * \"text/turtle\": 0.6,\n * \"text/n3\": 0.35\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"application/n-quads\": \"http://www.w3.org/ns/formats/N-Quads\",\n * \"application/trig\": \"http://www.w3.org/ns/formats/TriG\",\n * \"application/n-triples\": \"http://www.w3.org/ns/formats/N-Triples\",\n * \"text/turtle\": \"http://www.w3.org/ns/formats/Turtle\",\n * \"text/n3\": \"http://www.w3.org/ns/formats/N3\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action, mediaType) {\n const writer = new n3_1.StreamWriter({ format: mediaType });\n let data;\n if ('pipe' in action.quadStream) {\n // Prefer piping if possible, to maintain backpressure\n action.quadStream.on('error', error => writer.emit('error', error));\n data = action.quadStream.pipe(writer);\n }\n else {\n data = writer.import(action.quadStream);\n }\n return { data, triples: mediaType === 'text/turtle' ||\n mediaType === 'application/n-triples' ||\n mediaType === 'text/n3' };\n }\n}\nexports.ActorRdfSerializeN3 = ActorRdfSerializeN3;\n//# sourceMappingURL=ActorRdfSerializeN3.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfSerializeN3\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfSerializeShaclc = void 0;\nconst bus_rdf_serialize_1 = require(\"@comunica/bus-rdf-serialize\");\nconst arrayify_stream_1 = require(\"arrayify-stream\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst shaclc_write_1 = require(\"shaclc-write\");\n/**\n * A comunica SHACL Compact Syntax RDF Serialize Actor.\n */\nclass ActorRdfSerializeShaclc extends bus_rdf_serialize_1.ActorRdfSerializeFixedMediaTypes {\n /**\n * @param args -\n * \\ @defaultNested {{\n * \"text/shaclc\": 1.0,\n * \"text/shaclc-ext\": 0.5\n * }} mediaTypePriorities\n * \\ @defaultNested {{\n * \"text/shaclc\": \"http://www.w3.org/ns/formats/Shaclc\",\n * \"text/shaclc-ext\": \"http://www.w3.org/ns/formats/ShaclcExtended\"\n * }} mediaTypeFormats\n */\n constructor(args) {\n super(args);\n }\n async runHandle(action, mediaType) {\n const data = new readable_stream_1.Readable();\n data._read = () => {\n // Do nothing\n };\n try {\n const prefixes = {};\n action.quadStream.on('prefix', (prefix, iri) => {\n prefixes[prefix] = iri;\n });\n const { text } = await (0, shaclc_write_1.write)(await (0, arrayify_stream_1.default)(action.quadStream), { errorOnUnused: true, extendedSyntax: mediaType === 'text/shaclc-ext', prefixes });\n data.push(text);\n data.push(null);\n }\n catch (error) {\n // Push the error into the stream\n data._read = () => {\n data.emit('error', error);\n };\n }\n return {\n data,\n triples: true,\n };\n }\n}\nexports.ActorRdfSerializeShaclc = ActorRdfSerializeShaclc;\n//# sourceMappingURL=ActorRdfSerializeShaclc.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfSerializeShaclc\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction promisifyEventEmitter(event, result) {\n return new Promise((resolve, reject) => {\n event.on('end', () => resolve(result));\n event.on('error', reject);\n });\n}\nfunction arrayifyStream(stream) {\n const array = [];\n return promisifyEventEmitter(stream.on('data', data => array.push(data)), array);\n}\nexports.default = arrayifyStream;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateHypermediaPatchSparqlUpdate = void 0;\nconst bus_rdf_update_hypermedia_1 = require(\"@comunica/bus-rdf-update-hypermedia\");\nconst core_1 = require(\"@comunica/core\");\nconst QuadDestinationPatchSparqlUpdate_1 = require(\"./QuadDestinationPatchSparqlUpdate\");\n/**\n * A comunica Patch SPARQL Update RDF Update Hypermedia Actor.\n */\nclass ActorRdfUpdateHypermediaPatchSparqlUpdate extends bus_rdf_update_hypermedia_1.ActorRdfUpdateHypermedia {\n constructor(args) {\n super(args, 'patchSparqlUpdate');\n }\n async testMetadata(action) {\n if (!action.forceDestinationType && !action.metadata.patchSparqlUpdate) {\n return (0, core_1.failTest)(`Actor ${this.name} could not detect a destination with 'application/sparql-update' as 'Accept-Patch' header.`);\n }\n if (!action.forceDestinationType && !action.exists) {\n return (0, core_1.failTest)(`Actor ${this.name} can only patch a destination that already exists.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n this.logInfo(action.context, `Identified as patchSparqlUpdate destination: ${action.url}`);\n return {\n destination: new QuadDestinationPatchSparqlUpdate_1.QuadDestinationPatchSparqlUpdate(action.url, action.context, this.mediatorHttp),\n };\n }\n}\nexports.ActorRdfUpdateHypermediaPatchSparqlUpdate = ActorRdfUpdateHypermediaPatchSparqlUpdate;\n//# sourceMappingURL=ActorRdfUpdateHypermediaPatchSparqlUpdate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuadDestinationPatchSparqlUpdate = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_string_ttl_1 = require(\"rdf-string-ttl\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A quad destination that represents a resource that is patchable via SPARQL Update.\n */\nclass QuadDestinationPatchSparqlUpdate {\n constructor(url, context, mediatorHttp) {\n this.url = url;\n this.context = context;\n this.mediatorHttp = mediatorHttp;\n }\n async update(quadStreams) {\n // Create combined query stream with quads to insert and delete\n const queryStream = this.createCombinedQuadsQuery(quadStreams.insert, quadStreams.delete);\n await this.wrapSparqlUpdateRequest(queryStream);\n }\n createCombinedQuadsQuery(quadsToInsert, quadsToDelete) {\n return new asynciterator_1.ArrayIterator([], { autoStart: false })\n .append(this.createQuadsQuery('DELETE', quadsToDelete))\n .append(quadsToDelete && quadsToInsert ? [' ;\\n'] : [])\n .append(this.createQuadsQuery('INSERT', quadsToInsert));\n }\n createQuadsQuery(type, quads) {\n if (!quads) {\n return new asynciterator_1.ArrayIterator([], { autoStart: false });\n }\n // Wrap triples in DATA block\n return quads\n .map((quad) => {\n let stringQuad = `${(0, rdf_string_ttl_1.termToString)(quad.subject)} ${(0, rdf_string_ttl_1.termToString)(quad.predicate)} ${(0, rdf_string_ttl_1.termToString)(quad.object)} .`;\n if (quad.graph.termType === 'DefaultGraph') {\n stringQuad = ` ${stringQuad}\\n`;\n }\n else {\n stringQuad = ` GRAPH ${(0, rdf_string_ttl_1.termToString)(quad.graph)} { ${stringQuad} }\\n`;\n }\n return stringQuad;\n })\n .prepend([`${type} DATA {\\n`])\n .append(['}']);\n }\n async wrapSparqlUpdateRequest(queryStream) {\n const readable = new readable_stream_1.Readable();\n readable.wrap(queryStream);\n // Send data in PUT request\n const headers = new Headers({ 'content-type': 'application/sparql-update' });\n const httpResponse = await this.mediatorHttp.mediate({\n context: this.context,\n init: {\n headers,\n method: 'PATCH',\n body: bus_http_1.ActorHttp.toWebReadableStream(readable),\n },\n input: this.url,\n });\n await (0, bus_http_1.validateAndCloseHttpResponse)(this.url, httpResponse);\n }\n async deleteGraphs(_graphs, _requireExistence, _dropGraphs) {\n throw new Error(`Patch-based SPARQL Update destinations don't support named graphs`);\n }\n async createGraphs(_graphs, _requireNonExistence) {\n throw new Error(`Patch-based SPARQL Update destinations don't support named graphs`);\n }\n}\nexports.QuadDestinationPatchSparqlUpdate = QuadDestinationPatchSparqlUpdate;\n//# sourceMappingURL=QuadDestinationPatchSparqlUpdate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateHypermediaPatchSparqlUpdate\"), exports);\n__exportStar(require(\"./QuadDestinationPatchSparqlUpdate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateHypermediaPutLdp = void 0;\nconst bus_rdf_update_hypermedia_1 = require(\"@comunica/bus-rdf-update-hypermedia\");\nconst core_1 = require(\"@comunica/core\");\nconst QuadDestinationPutLdp_1 = require(\"./QuadDestinationPutLdp\");\n/**\n * A comunica Post LDP RDF Update Hypermedia Actor.\n */\nclass ActorRdfUpdateHypermediaPutLdp extends bus_rdf_update_hypermedia_1.ActorRdfUpdateHypermedia {\n constructor(args) {\n super(args, 'putLdp');\n }\n async testMetadata(action) {\n if (!action.forceDestinationType) {\n if (!action.metadata.allowHttpMethods || !action.metadata.allowHttpMethods.includes('PUT')) {\n return (0, core_1.failTest)(`Actor ${this.name} could not detect a destination with 'Allow: PUT' header.`);\n }\n if (action.exists) {\n return (0, core_1.failTest)(`Actor ${this.name} can only put on a destination that does not already exists.`);\n }\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n this.logInfo(action.context, `Identified as putLdp destination: ${action.url}`);\n return {\n destination: new QuadDestinationPutLdp_1.QuadDestinationPutLdp(action.url, action.context, action.metadata.putAccepted || [], this.mediatorHttp, this.mediatorRdfSerializeMediatypes, this.mediatorRdfSerialize),\n };\n }\n}\nexports.ActorRdfUpdateHypermediaPutLdp = ActorRdfUpdateHypermediaPutLdp;\n//# sourceMappingURL=ActorRdfUpdateHypermediaPutLdp.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuadDestinationPutLdp = void 0;\nconst bus_http_1 = require(\"@comunica/bus-http\");\n/**\n * A quad destination that represents a resource that can be PUT.\n */\nclass QuadDestinationPutLdp {\n constructor(url, context, mediaTypes, mediatorHttp, mediatorRdfSerializeMediatypes, mediatorRdfSerialize) {\n this.url = url;\n this.context = context;\n this.mediaTypes = mediaTypes;\n this.mediatorHttp = mediatorHttp;\n this.mediatorRdfSerializeMediatypes = mediatorRdfSerializeMediatypes;\n this.mediatorRdfSerialize = mediatorRdfSerialize;\n }\n async update(quadStreams) {\n if (quadStreams.delete) {\n throw new Error(`Put-based LDP destinations don't support deletions`);\n }\n if (quadStreams.insert) {\n await this.wrapRdfUpdateRequest('INSERT', quadStreams.insert);\n }\n }\n async wrapRdfUpdateRequest(type, quads) {\n // Determine media type for serialization\n const { mediaTypes } = await this.mediatorRdfSerializeMediatypes.mediate({ context: this.context, mediaTypes: true });\n const availableMediaTypes = this.mediaTypes\n .filter(mediaType => mediaType in mediaTypes);\n // Fallback to our own preferred media type\n const mediaType = availableMediaTypes.length > 0 ?\n availableMediaTypes[0] :\n Object.keys(mediaTypes).sort((typeA, typeB) => mediaTypes[typeB] - mediaTypes[typeA])[0];\n // Serialize quads\n const { handle: { data } } = await this.mediatorRdfSerialize.mediate({\n context: this.context,\n handle: { quadStream: quads, context: this.context },\n handleMediaType: mediaType,\n });\n // Send data in (LDP) PUT request\n const headers = new Headers({ 'content-type': mediaType });\n const httpResponse = await this.mediatorHttp.mediate({\n context: this.context,\n init: {\n headers,\n method: 'PUT',\n body: bus_http_1.ActorHttp.toWebReadableStream(data),\n },\n input: this.url,\n });\n await (0, bus_http_1.validateAndCloseHttpResponse)(this.url, httpResponse);\n }\n async deleteGraphs(_graphs, _requireExistence, _dropGraphs) {\n throw new Error(`Put-based LDP destinations don't support named graphs`);\n }\n async createGraphs(_graphs, _requireNonExistence) {\n throw new Error(`Put-based LDP destinations don't support named graphs`);\n }\n}\nexports.QuadDestinationPutLdp = QuadDestinationPutLdp;\n//# sourceMappingURL=QuadDestinationPutLdp.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateHypermediaPutLdp\"), exports);\n__exportStar(require(\"./QuadDestinationPutLdp\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateHypermediaSparql = void 0;\nconst bus_rdf_update_hypermedia_1 = require(\"@comunica/bus-rdf-update-hypermedia\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst QuadDestinationSparql_1 = require(\"./QuadDestinationSparql\");\n/**\n * A comunica SPARQL RDF Update Hypermedia Actor.\n */\nclass ActorRdfUpdateHypermediaSparql extends bus_rdf_update_hypermedia_1.ActorRdfUpdateHypermedia {\n constructor(args) {\n super(args, 'sparql');\n }\n async testMetadata(action) {\n if (!action.forceDestinationType && !action.metadata.sparqlService &&\n !(this.checkUrlSuffixSparql && action.url.endsWith('/sparql')) &&\n !(this.checkUrlSuffixUpdate && action.url.endsWith('/update'))) {\n return (0, core_1.failTest)(`Actor ${this.name} could not detect a SPARQL service description or URL ending on /sparql or /update.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n this.logInfo(action.context, `Identified as sparql destination: ${action.url}`);\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n return {\n destination: new QuadDestinationSparql_1.QuadDestinationSparql(action.metadata.sparqlService || action.url, action.context, this.mediatorHttp, dataFactory),\n };\n }\n}\nexports.ActorRdfUpdateHypermediaSparql = ActorRdfUpdateHypermediaSparql;\n//# sourceMappingURL=ActorRdfUpdateHypermediaSparql.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuadDestinationSparql = void 0;\nconst stream_to_string_1 = require(\"@jeswr/stream-to-string\");\nconst asynciterator_1 = require(\"asynciterator\");\nconst fetch_sparql_endpoint_1 = require(\"fetch-sparql-endpoint\");\nconst rdf_string_ttl_1 = require(\"rdf-string-ttl\");\n/**\n * A quad destination that represents an LDP resource.\n */\nclass QuadDestinationSparql {\n constructor(url, context, mediatorHttp, dataFactory) {\n this.url = url;\n this.context = context;\n this.mediatorHttp = mediatorHttp;\n this.endpointFetcher = new fetch_sparql_endpoint_1.SparqlEndpointFetcher({\n fetch: (input, init) => this.mediatorHttp.mediate({ input, init, context: this.context }),\n prefixVariableQuestionMark: true,\n dataFactory,\n });\n }\n async update(quadStreams) {\n // Create combined query stream with quads to insert and delete\n const queryStream = this.createCombinedQuadsQuery(quadStreams.insert, quadStreams.delete);\n await this.wrapSparqlUpdateRequest(queryStream);\n }\n createCombinedQuadsQuery(quadsToInsert, quadsToDelete) {\n return new asynciterator_1.ArrayIterator([], { autoStart: false })\n .append(this.createQuadsQuery('DELETE', quadsToDelete))\n .append(quadsToDelete && quadsToInsert ? [' ;\\n'] : [])\n .append(this.createQuadsQuery('INSERT', quadsToInsert));\n }\n createQuadsQuery(type, quads) {\n if (!quads) {\n return new asynciterator_1.ArrayIterator([], { autoStart: false });\n }\n return quads\n .map((quad) => {\n let stringQuad = `${(0, rdf_string_ttl_1.termToString)(quad.subject)} ${(0, rdf_string_ttl_1.termToString)(quad.predicate)} ${(0, rdf_string_ttl_1.termToString)(quad.object)} .`;\n if (quad.graph.termType === 'DefaultGraph') {\n stringQuad = ` ${stringQuad}\\n`;\n }\n else {\n stringQuad = ` GRAPH ${(0, rdf_string_ttl_1.termToString)(quad.graph)} { ${stringQuad} }\\n`;\n }\n return stringQuad;\n })\n .prepend([`${type} DATA {\\n`])\n .append(['}']);\n }\n async wrapSparqlUpdateRequest(queryStream) {\n // Serialize query stream to string\n const query = await (0, stream_to_string_1.stringify)(queryStream);\n // Send update query to endpoint\n await this.endpointFetcher.fetchUpdate(this.url, query);\n }\n async deleteGraphs(graphsIn, requireExistence, dropGraphs) {\n const graphs = Array.isArray(graphsIn) ?\n graphsIn :\n [graphsIn];\n const queries = [];\n for (const graph of graphs) {\n let graphValue;\n if (typeof graph === 'string') {\n graphValue = graph;\n }\n else if (graph.termType === 'DefaultGraph') {\n graphValue = 'DEFAULT';\n }\n else {\n graphValue = `GRAPH <${graph.value}>`;\n }\n queries.push(`${dropGraphs ? 'DROP' : 'CLEAR'} ${requireExistence ? '' : 'SILENT '}${graphValue}`);\n }\n await this.endpointFetcher.fetchUpdate(this.url, queries.join('; '));\n }\n async createGraphs(graphs, requireNonExistence) {\n const queries = [];\n for (const graph of graphs) {\n queries.push(`CREATE${requireNonExistence ? '' : ' SILENT'} GRAPH <${graph.value}>`);\n }\n await this.endpointFetcher.fetchUpdate(this.url, queries.join('; '));\n }\n}\nexports.QuadDestinationSparql = QuadDestinationSparql;\n//# sourceMappingURL=QuadDestinationSparql.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateHypermediaSparql\"), exports);\n__exportStar(require(\"./QuadDestinationSparql\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateQuadsHypermedia = void 0;\nconst bus_rdf_update_quads_1 = require(\"@comunica/bus-rdf-update-quads\");\nconst core_1 = require(\"@comunica/core\");\nconst lru_cache_1 = require(\"lru-cache\");\n/**\n * A comunica Hypermedia RDF Update Quads Actor.\n */\nclass ActorRdfUpdateQuadsHypermedia extends bus_rdf_update_quads_1.ActorRdfUpdateQuadsDestination {\n constructor(args) {\n super(args);\n this.cache = this.cacheSize ? new lru_cache_1.LRUCache({ max: this.cacheSize }) : undefined;\n const cache = this.cache;\n if (cache) {\n this.httpInvalidator.addInvalidateListener(({ url }) => url ? cache.delete(url) : cache.clear());\n }\n }\n async test(action) {\n const url = (0, bus_rdf_update_quads_1.getContextDestinationUrl)((0, bus_rdf_update_quads_1.getContextDestination)(action.context));\n if (!url) {\n return (0, core_1.failTest)(`Actor ${this.name} can only update quads against a single destination URL.`);\n }\n return (0, core_1.passTestVoid)();\n }\n getDestination(context) {\n const dataDestination = (0, bus_rdf_update_quads_1.getContextDestination)(context);\n let url = (0, bus_rdf_update_quads_1.getContextDestinationUrl)(dataDestination);\n // Try to read from cache\n if (this.cache && this.cache.has(url)) {\n return this.cache.get(url);\n }\n // Otherwise, call mediators\n const ret = (async () => {\n let metadata;\n let exists;\n try {\n // Dereference destination URL\n const dereferenceRdfOutput = await this.mediatorDereferenceRdf\n .mediate({ context, url, acceptErrors: true });\n exists = dereferenceRdfOutput.exists;\n url = dereferenceRdfOutput.url;\n // Determine the metadata\n const rdfMetadataOuput = await this.mediatorMetadata.mediate({ context, url, quads: dereferenceRdfOutput.data, triples: dereferenceRdfOutput.metadata?.triples });\n metadata = (await this.mediatorMetadataExtract.mediate({\n context,\n url,\n metadata: rdfMetadataOuput.metadata,\n headers: dereferenceRdfOutput.headers,\n requestTime: dereferenceRdfOutput.requestTime,\n })).metadata;\n }\n catch {\n metadata = {};\n exists = false;\n }\n // Obtain destination\n const { destination } = await this.mediatorRdfUpdateHypermedia.mediate({\n context,\n url,\n metadata,\n exists,\n forceDestinationType: (0, bus_rdf_update_quads_1.getDataDestinationType)(dataDestination),\n });\n return destination;\n })();\n if (this.cache) {\n this.cache.set(url, ret);\n }\n return ret;\n }\n}\nexports.ActorRdfUpdateQuadsHypermedia = ActorRdfUpdateQuadsHypermedia;\n//# sourceMappingURL=ActorRdfUpdateQuadsHypermedia.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateQuadsHypermedia\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateQuadsRdfJsStore = void 0;\nconst bus_rdf_update_quads_1 = require(\"@comunica/bus-rdf-update-quads\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst RdfJsQuadDestination_1 = require(\"./RdfJsQuadDestination\");\n/**\n * A comunica RDFJS Store RDF Update Quads Actor.\n */\nclass ActorRdfUpdateQuadsRdfJsStore extends bus_rdf_update_quads_1.ActorRdfUpdateQuadsDestination {\n constructor(args) {\n super(args);\n }\n async test(action) {\n const destination = (0, bus_rdf_update_quads_1.getContextDestination)(action.context);\n if (!destination || typeof destination === 'string' ||\n (!('remove' in destination) && 'value' in destination && !destination.value?.remove)) {\n return (0, core_1.failTest)(`${this.name} received an invalid rdfjsStore.`);\n }\n return (0, core_1.passTestVoid)();\n }\n async getDestination(context) {\n const destination = (0, bus_rdf_update_quads_1.getContextDestination)(context);\n return new RdfJsQuadDestination_1.RdfJsQuadDestination(context.getSafe(context_entries_1.KeysInitQuery.dataFactory), 'remove' in destination ? destination : destination.value);\n }\n}\nexports.ActorRdfUpdateQuadsRdfJsStore = ActorRdfUpdateQuadsRdfJsStore;\n//# sourceMappingURL=ActorRdfUpdateQuadsRdfJsStore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfJsQuadDestination = void 0;\nconst event_emitter_promisify_1 = require(\"event-emitter-promisify\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A quad destination that wraps around an {@link RDF.Store}.\n */\nclass RdfJsQuadDestination {\n constructor(dataFactory, store) {\n this.dataFactory = dataFactory;\n this.store = store;\n }\n async update(quadStreams) {\n if (quadStreams.delete) {\n await (0, event_emitter_promisify_1.promisifyEventEmitter)(this.store.remove(quadStreams.delete));\n }\n if (quadStreams.insert) {\n await (0, event_emitter_promisify_1.promisifyEventEmitter)(this.store.import(quadStreams.insert));\n }\n }\n async deleteGraphs(graphs, _requireExistence, _dropGraphs) {\n switch (graphs) {\n case 'ALL':\n /* eslint-disable no-fallthrough */\n // Remove the default graph\n await (0, event_emitter_promisify_1.promisifyEventEmitter)(this.store.deleteGraph(this.dataFactory.defaultGraph()));\n // Drop through to remove all named graphs\n case 'NAMED':\n /* eslint-enable no-fallthrough */\n // Warning: this is sub-optimal!\n // Query ALL quads to determine all named graphs\n // eslint-disable-next-line no-case-declarations\n const allQuads = this.store.match();\n // eslint-disable-next-line no-case-declarations\n const namedGraphs = {};\n allQuads.on('data', (quad) => {\n if (quad.graph.termType !== 'DefaultGraph') {\n namedGraphs[(0, rdf_string_1.termToString)(quad.graph)] = true;\n }\n });\n await (0, event_emitter_promisify_1.promisifyEventEmitter)(allQuads);\n // Delete all named graphs\n await Promise.all(Object.keys(namedGraphs)\n .map(namedGraph => (0, event_emitter_promisify_1.promisifyEventEmitter)(this.store\n .deleteGraph((0, rdf_string_1.stringToTerm)(namedGraph, this.dataFactory)))));\n break;\n default:\n // Delete the default graph or a named graph\n for (const graph of Array.isArray(graphs) ? graphs : [graphs]) {\n await (0, event_emitter_promisify_1.promisifyEventEmitter)(this.store.deleteGraph(graph));\n }\n }\n }\n async createGraphs(graphs, requireNonExistence) {\n // We don't have to create anything, since RDF/JS stores don't record empty graphs.\n // The only check we have to do is error on existence\n if (requireNonExistence) {\n for (const graph of graphs) {\n const eventEmitter = this.store.match(undefined, undefined, undefined, graph);\n await new Promise((resolve, reject) => {\n eventEmitter.once('data', () => {\n reject(new Error(`Unable to create graph ${graph.value} as it already exists`));\n });\n eventEmitter.on('end', resolve);\n eventEmitter.on('error', reject);\n });\n }\n }\n }\n}\nexports.RdfJsQuadDestination = RdfJsQuadDestination;\n//# sourceMappingURL=RdfJsQuadDestination.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateQuadsRdfJsStore\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorTermComparatorFactoryExpressionEvaluator = void 0;\nconst InternalEvaluator_1 = require(\"@comunica/actor-expression-evaluator-factory-default/lib/InternalEvaluator\");\nconst bus_term_comparator_factory_1 = require(\"@comunica/bus-term-comparator-factory\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_bindings_factory_1 = require(\"@comunica/utils-bindings-factory\");\nconst Eval = require(\"@comunica/utils-expression-evaluator\");\nconst TermComparatorExpressionEvaluator_1 = require(\"./TermComparatorExpressionEvaluator\");\n/**\n * A comunica Expression Evaluator Based Term Comparator Factory Actor.\n */\nclass ActorTermComparatorFactoryExpressionEvaluator extends bus_term_comparator_factory_1.ActorTermComparatorFactory {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n /**\n * Context item superTypeProvider can be expected here\n * @param context IActionTermComparatorFactory\n * @param context.context IActionContext\n */\n async run({ context }) {\n context = Eval.prepareEvaluatorActionContext(context);\n return new TermComparatorExpressionEvaluator_1.TermComparatorExpressionEvaluator(new InternalEvaluator_1.InternalEvaluator(context, this.mediatorFunctionFactory, this.mediatorQueryOperation, await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, context.getSafe(context_entries_1.KeysInitQuery.dataFactory))), await this.mediatorFunctionFactory\n .mediate({ functionName: Eval.SparqlOperator.EQUAL, context, requireTermExpression: true }), await this.mediatorFunctionFactory\n .mediate({ functionName: Eval.SparqlOperator.LT, context, requireTermExpression: true }));\n }\n}\nexports.ActorTermComparatorFactoryExpressionEvaluator = ActorTermComparatorFactoryExpressionEvaluator;\n//# sourceMappingURL=ActorTermComparatorFactoryExpressionEvaluator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermComparatorExpressionEvaluator = void 0;\nclass TermComparatorExpressionEvaluator {\n constructor(internalEvaluator, equalityFunction, lessThanFunction) {\n this.internalEvaluator = internalEvaluator;\n this.equalityFunction = equalityFunction;\n this.lessThanFunction = lessThanFunction;\n // SPARQL specifies that blankNode < namedNode < literal. Sparql star expands with < quads and we say < defaultGraph\n this._TERM_ORDERING_PRIORITY = {\n Variable: 0,\n BlankNode: 1,\n NamedNode: 2,\n Literal: 3,\n Quad: 4,\n DefaultGraph: 5,\n };\n }\n // Determine the relative numerical order of the two given terms.\n // In accordance with https://www.w3.org/TR/sparql11-query/#modOrderBy\n orderTypes(termA, termB) {\n // Check if terms are the same by reference\n if (termA === termB) {\n return 0;\n }\n // We handle undefined that is lower than everything else.\n if (termA === undefined) {\n return -1;\n }\n if (termB === undefined) {\n return 1;\n }\n //\n if (termA.termType !== termB.termType) {\n return this._TERM_ORDERING_PRIORITY[termA.termType] < this._TERM_ORDERING_PRIORITY[termB.termType] ? -1 : 1;\n }\n // Check exact term equality\n if (termA.equals(termB)) {\n return 0;\n }\n // Handle quoted triples\n if (termA.termType === 'Quad' && termB.termType === 'Quad') {\n const orderSubject = this.orderTypes(termA.subject, termB.subject);\n if (orderSubject !== 0) {\n return orderSubject;\n }\n const orderPredicate = this.orderTypes(termA.predicate, termB.predicate);\n if (orderPredicate !== 0) {\n return orderPredicate;\n }\n const orderObject = this.orderTypes(termA.object, termB.object);\n if (orderObject !== 0) {\n return orderObject;\n }\n return this.orderTypes(termA.graph, termB.graph);\n }\n // Handle literals\n if (termA.termType === 'Literal') {\n return this.orderLiteralTypes(termA, termB);\n }\n return this.comparePrimitives(termA.value, termB.value);\n }\n orderLiteralTypes(litA, litB) {\n const myLitA = this.internalEvaluator.transformer.transformLiteral(litA);\n const myLitB = this.internalEvaluator.transformer.transformLiteral(litB);\n try {\n if (this.equalityFunction.applyOnTerms([myLitA, myLitB], this.internalEvaluator)\n .typedValue) {\n return 0;\n }\n if (this.lessThanFunction.applyOnTerms([myLitA, myLitB], this.internalEvaluator)\n .typedValue) {\n return -1;\n }\n return 1;\n }\n catch {\n // Fallback to string-based comparison\n const compareType = this.comparePrimitives(myLitA.dataType, myLitB.dataType);\n if (compareType !== 0) {\n return compareType;\n }\n return this.comparePrimitives(myLitA.str(), myLitB.str());\n }\n }\n comparePrimitives(valueA, valueB) {\n return valueA === valueB ? 0 : (valueA < valueB ? -1 : 1);\n }\n}\nexports.TermComparatorExpressionEvaluator = TermComparatorExpressionEvaluator;\n//# sourceMappingURL=TermComparatorExpressionEvaluator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorTermComparatorFactoryExpressionEvaluator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorBindingsAggregatorFactory = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for creating Binding-Aggregator-factories.\n *\n * Actor types:\n * * Input: IActionBindingsAggregatorFactory: A SPARQL expression and a factory for an expression evaluator.\n * * Test: \n * * Output: IActorBindingsAggregatorFactoryOutput: An aggregator of RDF bindings.\n *\n * @see IActionBindingsAggregatorFactory\n * @see IActorBindingsAggregatorFactoryOutput\n */\nclass ActorBindingsAggregatorFactory extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n this.mediatorExpressionEvaluatorFactory = args.mediatorExpressionEvaluatorFactory;\n }\n}\nexports.ActorBindingsAggregatorFactory = ActorBindingsAggregatorFactory;\n//# sourceMappingURL=ActorBindingsAggregatorFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AggregateEvaluator = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst Eval = require(\"@comunica/utils-expression-evaluator\");\nconst RdfString = require(\"rdf-string\");\n/**\n * This is the base class for all aggregators.\n * NOTE: The wildcard count aggregator significantly differs from the others and overloads parts of this class.\n */\nclass AggregateEvaluator {\n constructor(evaluator, distinct, throwError = false) {\n this.evaluator = evaluator;\n this.distinct = distinct;\n this.throwError = throwError;\n this.errorOccurred = false;\n this.errorOccurred = false;\n this.superTypeProvider = evaluator.context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider);\n this.termTransformer = new Eval.TermTransformer(this.superTypeProvider);\n this.variableValues = new Set();\n }\n emptyValueTerm() {\n return undefined;\n }\n /**\n * The spec says to throw an error when a set function is called on an empty\n * set (unless explicitly mentioned otherwise like COUNT).\n * However, aggregate error handling says to not bind the result in case of an\n * error. So to simplify logic in the caller, we return undefined by default.\n */\n emptyValue() {\n const val = this.emptyValueTerm();\n if (val === undefined && this.throwError) {\n throw new Eval.EmptyAggregateError();\n }\n return val;\n }\n /**\n * Base implementation of putBindings, that evaluates to a term and then calls putTerm.\n * The WildcardCountAggregator will completely discard this implementation.\n * @param bindings\n */\n async putBindings(bindings) {\n if (this.errorOccurred) {\n return;\n }\n try {\n const term = await this.evaluator.evaluate(bindings);\n if (!term || this.errorOccurred) {\n return;\n }\n // Handle DISTINCT before putting the term\n if (!this.distinct || !this.variableValues.has(RdfString.termToString(term))) {\n this.putTerm(term);\n if (this.distinct) {\n this.variableValues.add(RdfString.termToString(term));\n }\n }\n }\n catch (error) {\n this.safeThrow(error);\n }\n }\n async result() {\n if (this.errorOccurred) {\n return undefined;\n }\n return this.termResult();\n }\n safeThrow(err) {\n if (this.throwError) {\n throw err;\n }\n else {\n this.errorOccurred = true;\n }\n }\n termToNumericOrError(term) {\n if (term.termType !== 'Literal') {\n throw new Error(`Term with value ${term.value} has type ${term.termType} and is not a numeric literal`);\n }\n else if (!Eval.isSubTypeOf(term.datatype.value, Eval.TypeAlias.SPARQL_NUMERIC, this.superTypeProvider)) {\n throw new Error(`Term datatype ${term.datatype.value} with value ${term.value} has type ${term.termType} and is not a numeric literal`);\n }\n return this.termTransformer.transformLiteral(term);\n }\n}\nexports.AggregateEvaluator = AggregateEvaluator;\n//# sourceMappingURL=AggregateEvaluator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorBindingsAggregatorFactory\"), exports);\n__exportStar(require(\"./AggregateEvaluator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorContextPreprocess = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for context-preprocess events.\n *\n * Actor types:\n * * Input: IAction: A context that will be processed.\n * * Test: \n * * Output: IActorContextPreprocessOutput: The resulting context.\n *\n * @see IActionContextPreprocess\n * @see IActorContextPreprocessOutput\n */\nclass ActorContextPreprocess extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Context preprocessing failed} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorContextPreprocess = ActorContextPreprocess;\n//# sourceMappingURL=ActorContextPreprocess.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorContextPreprocess\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceRdf = void 0;\nconst bus_dereference_1 = require(\"@comunica/bus-dereference\");\n/**\n * A base actor for dereferencing URLs to quad streams.\n *\n * Actor types:\n * * Input: IActionDereferenceRdf: A URL.\n * * Test: \n * * Output: IActorDereferenceRdfOutput: A quad stream.\n *\n * @see IActionDereferenceRdf\n * @see IActorDereferenceRdfOutput\n */\nclass ActorDereferenceRdf extends bus_dereference_1.ActorDereferenceParse {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF dereferencing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorDereferenceRdf = ActorDereferenceRdf;\n//# sourceMappingURL=ActorDereferenceRdf.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorDereferenceRdf\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereference = void 0;\nconst ActorDereferenceBase_1 = require(\"./ActorDereferenceBase\");\n/**\n * A base actor for dereferencing URLs to (generic) streams.\n *\n * Actor types:\n * * Input: IActionDereference: A URL.\n * * Test: \n * * Output: IActorDereferenceOutput: A Readable stream\n *\n * @see IActionDereference\n * @see IActorDereferenceOutput\n */\nclass ActorDereference extends ActorDereferenceBase_1.ActorDereferenceBase {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Dereferencing failed: none of the configured actors were able to handle ${action.url}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n /**\n * Handle the given error as a rejection or delegate it to the logger,\n * depending on whether or not hard errors are enabled.\n * @param {IActionDereference} action A dereference action.\n * @param {Error} error An error that has occurred.\n * @param headers Optional HTTP headers to pass.\n * @param {number} requestTime The time it took to request the page in milliseconds.\n * @return {Promise} A promise that rejects or resolves to an empty output.\n */\n async handleDereferenceErrors(action, error, headers, requestTime = 0) {\n return this.dereferenceErrorHandler(action, error, { url: action.url, exists: false, headers, requestTime });\n }\n}\nexports.ActorDereference = ActorDereference;\n//# sourceMappingURL=ActorDereference.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceBase = exports.isHardError = exports.emptyReadable = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst readable_stream_1 = require(\"readable-stream\");\nfunction emptyReadable() {\n const data = new readable_stream_1.Readable();\n data.push(null);\n return data;\n}\nexports.emptyReadable = emptyReadable;\n/**\n * Check if hard errors should occur on HTTP or parse errors.\n * @param {IActionContext} context An action context.\n * @return {boolean} If hard errors are enabled.\n */\nfunction isHardError(context) {\n return !context.get(context_entries_1.KeysInitQuery.lenient);\n}\nexports.isHardError = isHardError;\n/**\n * A base actor for dereferencing URLs to (generic) streams.\n *\n * Actor types:\n * * Input: IActionDereference: A URL.\n * * Test: \n * * Output: IActorDereferenceOutput: A Readable stream\n *\n * @see IActionDereference\n * @see IActorDereferenceOutput\n */\nclass ActorDereferenceBase extends core_1.Actor {\n constructor(args) {\n super(args);\n }\n /**\n * Handle the given error as a rejection or delegate it to the logger,\n * depending on whether or not hard errors are enabled.\n * @param {I} action An action.\n * @param {Error} error An error that has occurred.\n * @param {N} output Data to add to the output\n */\n async dereferenceErrorHandler(action, error, output) {\n if (isHardError(action.context)) {\n throw error;\n }\n this.logWarn(action.context, error.message);\n return { ...output, data: emptyReadable() };\n }\n}\nexports.ActorDereferenceBase = ActorDereferenceBase;\n//# sourceMappingURL=ActorDereferenceBase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorDereferenceParse = exports.getMediaTypeFromExtension = void 0;\nconst core_1 = require(\"@comunica/core\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst ActorDereferenceBase_1 = require(\"./ActorDereferenceBase\");\n/**\n * Get the media type based on the extension of the given path,\n * which can be an URL or file path.\n * @param {string} path A path.\n * @param {Record} mediaMappings A collection of mappings,\n * mapping file extensions to their corresponding media type.\n * @return {string} A media type or the empty string.\n */\nfunction getMediaTypeFromExtension(path, mediaMappings) {\n const dotIndex = path.lastIndexOf('.');\n // Get extension after last dot and map to media\n // eslint-disable-next-line ts/prefer-nullish-coalescing\n return (dotIndex >= 0 && mediaMappings?.[path.slice(dotIndex + 1)]) || '';\n}\nexports.getMediaTypeFromExtension = getMediaTypeFromExtension;\n/**\n * An abstract actor that handles dereference and parse actions.\n *\n * Actor types:\n * Input: IActionDereferenceParse: A URL.\n * Test: \n * Output: IActorDereferenceParseOutput: A data stream of type output by the Parser.\n *\n */\nclass ActorDereferenceParse extends ActorDereferenceBase_1.ActorDereferenceBase {\n constructor(args) {\n super(args);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n /**\n * If hard errors are disabled, modify the given stream so that errors are delegated to the logger.\n * @param {IActionDereferenceParse} action A dereference action.\n * @param {Readable} data A data stream.\n * @return {Readable} The resulting data stream.\n */\n handleDereferenceStreamErrors(action, data) {\n // If we don't emit hard errors, make parsing error events log instead, and silence them downstream.\n if (!(0, ActorDereferenceBase_1.isHardError)(action.context)) {\n data.on('error', (error) => {\n this.logWarn(action.context, error.message, () => ({ url: action.url }));\n // Make sure the errored stream is ended.\n data.push(null);\n });\n data = data.pipe(new readable_stream_1.PassThrough({ objectMode: true }));\n }\n return data;\n }\n async run(action) {\n const { context } = action;\n const dereference = await this.mediatorDereference.mediate({\n ...action,\n mediaTypes: async () => (await this.mediatorParseMediatypes?.mediate({ context, mediaTypes: true }))?.mediaTypes,\n });\n let result;\n try {\n result = (await this.mediatorParse.mediate({\n context,\n handle: { context, ...dereference, metadata: await this.getMetadata(dereference) },\n // eslint-disable-next-line ts/prefer-nullish-coalescing\n handleMediaType: (dereference.mediaType ||\n getMediaTypeFromExtension(dereference.url, this.mediaMappings)) ||\n action.mediaType,\n })).handle;\n result.data = this.handleDereferenceStreamErrors(action, result.data);\n }\n catch (error) {\n // Close the body, to avoid process to hang\n await dereference.data.close?.();\n result = await this.dereferenceErrorHandler(action, error, {});\n }\n // Return the parsed stream and any metadata\n return { ...dereference, ...result };\n }\n}\nexports.ActorDereferenceParse = ActorDereferenceParse;\n//# sourceMappingURL=ActorDereferenceParse.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorDereference\"), exports);\n__exportStar(require(\"./ActorDereferenceParse\"), exports);\n__exportStar(require(\"./ActorDereferenceBase\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorExpressionEvaluatorFactory = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for utils-expression-evaluator-factory events.\n *\n * Actor types:\n * * Input: IActionExpressionEvaluatorFactory: The Query Operation and Function factory mediators.\n * * Test: \n * * Output: IActorExpressionEvaluatorFactoryOutput: TODO: fill in.\n *\n * @see IActionExpressionEvaluatorFactory\n * @see IActorExpressionEvaluatorFactoryOutput\n */\nclass ActorExpressionEvaluatorFactory extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Creation of Expression Evaluator failed} busFailMessage\n */\n constructor(args) {\n super(args);\n this.mediatorQueryOperation = args.mediatorQueryOperation;\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n this.mediatorMergeBindingsContext = args.mediatorMergeBindingsContext;\n }\n}\nexports.ActorExpressionEvaluatorFactory = ActorExpressionEvaluatorFactory;\n//# sourceMappingURL=ActorExpressionEvaluatorFactory.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorExpressionEvaluatorFactory\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorFunctionFactory = exports.ActorFunctionFactory = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for function factory events.\n *\n * Actor types:\n * * Input: IActionFunctions: A request to receive a function implementation for a given function name\n * and potentially the function arguments.\n * * Test: \n * * Output: IActorFunctionsOutput: A function implementation.\n *\n * @see IActionFunctionFactory\n * @see IActorFunctionFactoryOutput\n */\nclass ActorFunctionFactory extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorFunctionFactory = ActorFunctionFactory;\nclass MediatorFunctionFactory extends core_1.Mediator {\n}\nexports.MediatorFunctionFactory = MediatorFunctionFactory;\n//# sourceMappingURL=ActorFunctionFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorFunctionFactoryDedicated = void 0;\nconst core_1 = require(\"@comunica/core\");\nconst ActorFunctionFactory_1 = require(\"./ActorFunctionFactory\");\n/**\n * A base implementation for function factory actors for a dedicated operator.\n */\nclass ActorFunctionFactoryDedicated extends ActorFunctionFactory_1.ActorFunctionFactory {\n constructor(args) {\n super(args);\n }\n async test(action) {\n // Name must match, if this is a term function, all is fine, if not, look whether term-function is not requested.\n if (this.functionNames.includes(action.functionName) && (this.termFunction || !action.requireTermExpression)) {\n return (0, core_1.passTestVoid)();\n }\n return (0, core_1.failTest)(`Actor ${this.name} can not provide implementation for \"${action.functionName}\", only for ${this.termFunction ? '' : 'non-termExpression '}${this.functionNames.join(' and ')}.`);\n }\n}\nexports.ActorFunctionFactoryDedicated = ActorFunctionFactoryDedicated;\n//# sourceMappingURL=ActorFunctionFactoryDedicated.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BusFunctionFactory = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * Bus inspired by BusIndexed but specific for function factory.\n *\n * The implementation differs. In BusIndexed, each actor is indexed only once.\n * Here, a single actor can be indexed multiple times (max 2).\n */\nclass BusFunctionFactory extends core_1.BusIndexed {\n constructor(args) {\n super({\n ...args,\n actorIdentifierFields: ['functionNames'],\n actionIdentifierFields: ['functionName'],\n });\n }\n}\nexports.BusFunctionFactory = BusFunctionFactory;\n//# sourceMappingURL=BusFunctionFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermFunctionBase = exports.ExpressionFunctionBase = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst utils_expression_evaluator_1 = require(\"@comunica/utils-expression-evaluator\");\nclass ExpressionFunctionBase {\n constructor({ arity, operator, apply }) {\n this.arity = arity;\n this.operator = operator;\n this.apply = apply;\n }\n checkArity(args) {\n if (Array.isArray(this.arity)) {\n return this.arity.includes(args.length);\n }\n if (this.arity === Number.POSITIVE_INFINITY) {\n // Infinity is used to represent var-args, so it's always correct.\n return true;\n }\n return args.length === this.arity;\n }\n}\nexports.ExpressionFunctionBase = ExpressionFunctionBase;\n/**\n * Varying kinds of functions take arguments of different types on which the\n * specific behaviour is dependant. Although their behaviour is often varying,\n * it is always relatively simple, and better suited for synced behaviour.\n * The types of their arguments are always terms, but might differ in\n * their term-type (eg: iri, literal),\n * their specific literal type (eg: string, integer),\n * their arity (see BNODE),\n * or even their specific numeric type (eg: integer, float).\n *\n * Examples include:\n * - Arithmetic operations such as: *, -, /, +\n * - Bool operators such as: =, !=, <=, <, ...\n * - Functions such as: str, IRI\n *\n * See also: https://www.w3.org/TR/definitionTypesparql11-query/#func-rdfTerms\n * and https://www.w3.org/TR/sparql11-query/#OperatorMapping\n */\nclass TermFunctionBase extends ExpressionFunctionBase {\n constructor({ arity, operator, overloads }) {\n super({\n arity,\n operator,\n apply: async ({ args, exprEval, mapping }) => this.applyOnTerms(await Promise.all(args.map(arg => exprEval.evaluatorExpressionEvaluation(arg, mapping))), exprEval),\n });\n this.supportsTermExpressions = true;\n this.overloads = overloads;\n }\n applyOnTerms(args, exprEval) {\n const concreteFunction = this.overloads.search(args, exprEval.context.getSafe(context_entries_1.KeysExpressionEvaluator.superTypeProvider), exprEval.context.getSafe(context_entries_1.KeysInitQuery.functionArgumentsCache)) ?? this.handleInvalidTypes(args);\n return concreteFunction(exprEval)(args);\n }\n handleInvalidTypes(args) {\n throw new utils_expression_evaluator_1.InvalidArgumentTypes(args, this.operator);\n }\n}\nexports.TermFunctionBase = TermFunctionBase;\n//# sourceMappingURL=Core.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorFunctionFactory\"), exports);\n__exportStar(require(\"./ActorFunctionFactoryDedicated\"), exports);\n__exportStar(require(\"./BusFunctionFactory\"), exports);\n__exportStar(require(\"./implementation/Core\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHashBindings = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for hash-bindings events.\n *\n * Actor types:\n * * Input: IActionHashBindings: Metadata for selecting a hash function.\n * * Test: IActorTest:\n * * Output: IActorHashBindingsOutput: The resulting hash function.\n *\n * @see IActionHashBindings\n * @see IActorHashBindingsTest\n * @see IActorHashBindingsOutput\n */\nclass ActorHashBindings extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Failed to obtaining hash functions for bindings} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorHashBindings = ActorHashBindings;\n//# sourceMappingURL=ActorHashBindings.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHashBindings\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHashQuads = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for hash-quads events.\n *\n * Actor types:\n * * Input: IActionHashQuads: Metadata for selecting a hash function.\n * * Test: \n * * Output: IActorHashQuadsOutput: The resulting hash function.\n *\n * @see IActionHashQuads\n * @see IActorHashQuadsOutput\n */\nclass ActorHashQuads extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Failed to obtaining hash functions for quads} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorHashQuads = ActorHashQuads;\n//# sourceMappingURL=ActorHashQuads.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHashQuads\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttpInvalidate = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for http-invalidate events.\n *\n * Actor types:\n * * Input: IActionHttpInvalidate: An action for invalidating the cached contents of given URL.\n * * Test: \n * * Output: IActorHttpInvalidateOutput: An empty response.\n *\n * @see IActionHttpInvalidate\n * @see IActorHttpInvalidateOutput\n */\nclass ActorHttpInvalidate extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorHttpInvalidate = ActorHttpInvalidate;\n//# sourceMappingURL=ActorHttpInvalidate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttpInvalidateListenable = void 0;\nconst core_1 = require(\"@comunica/core\");\nconst ActorHttpInvalidate_1 = require(\"./ActorHttpInvalidate\");\n/**\n * An ActorHttpInvalidate actor that allows listeners to be attached.\n *\n * @see ActorHttpInvalidate\n */\nclass ActorHttpInvalidateListenable extends ActorHttpInvalidate_1.ActorHttpInvalidate {\n constructor(args) {\n super(args);\n this.invalidateListeners = [];\n this.invalidateListeners = [];\n }\n addInvalidateListener(listener) {\n this.invalidateListeners.push(listener);\n }\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n for (const listener of this.invalidateListeners) {\n listener(action);\n }\n return {};\n }\n}\nexports.ActorHttpInvalidateListenable = ActorHttpInvalidateListenable;\n//# sourceMappingURL=ActorHttpInvalidateListenable.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHttpInvalidate\"), exports);\n__exportStar(require(\"./ActorHttpInvalidateListenable\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorHttp = void 0;\nconst core_1 = require(\"@comunica/core\");\nconst readable_from_web_1 = require(\"readable-from-web\");\nconst isStream = require('is-stream');\nconst toWebReadableStream = require('readable-stream-node-to-web');\n/**\n * A base actor for listening to HTTP events.\n *\n * Actor types:\n * * Input: IActionHttp: The HTTP request.\n * * Test: IActorHttpTest: An estimate for the response time.\n * * Output: IActorHttpOutput: The HTTP response.\n *\n * @see IActionHttp\n * @see IActorHttpTest\n * @see IActorHttpOutput\n */\nclass ActorHttp extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {HTTP request failed: none of the configured actors were able to handle ${action.input}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n /**\n * Converts WhatWG streams to Node streams if required.\n * Returns the input in case the stream already is a Node stream.\n * @param {ReadableStream} body\n * @returns {NodeJS.ReadableStream} A node stream.\n */\n static toNodeReadable(body) {\n return isStream(body) || body === null ?\n body :\n (0, readable_from_web_1.readableFromWeb)(body);\n }\n /**\n * Converts Node streams to WhatWG streams.\n * @param {NodeJS.ReadableStream} body\n * @returns {ReadableStream} A web stream.\n */\n static toWebReadableStream(body) {\n return toWebReadableStream(body);\n }\n /**\n * Convert the given headers object into a raw hash.\n * @param headers A headers object.\n */\n static headersToHash(headers) {\n const hash = {};\n // eslint-disable-next-line unicorn/no-array-for-each\n headers.forEach((value, key) => {\n hash[key] = value;\n });\n return hash;\n }\n /**\n * Extract the requested URL from the action input.\n * @param {RequestInfo | URL} input The request input.\n * @returns {URL} The extracted URL.\n */\n static getInputUrl(input) {\n return new URL(input instanceof Request ? input.url : input);\n }\n /**\n * Creates an appropriate User-Agent header string for Node.js or other environments.\n * Within browsers, returns undefined, because the value should not be overridden due to potential CORS issues.\n */\n static createUserAgent(actorName, actorVersion) {\n if (!ActorHttp.isBrowser()) {\n const versions = [\n `Comunica/${actorVersion.split('.')[0]}.0`,\n `${actorName}/${actorVersion}`,\n ];\n if (typeof globalThis.navigator === 'object' && typeof globalThis.navigator.userAgent === 'string') {\n // Most runtimes like Node.js 21+, Deno and Bun implement navigator.userAgent\n versions.push(globalThis.navigator.userAgent);\n }\n else if (typeof globalThis.process === 'object' &&\n typeof globalThis.process.versions === 'object' &&\n typeof globalThis.process.versions.node === 'string') {\n // TODO: remove this entire 'else if' when support for Node.js 20 is dropped, this only exists for that one\n versions.push(`Node.js/${globalThis.process.versions.node.split('.')[0]}`);\n }\n if (typeof globalThis.process === 'object' &&\n typeof globalThis.process.platform === 'string' &&\n typeof globalThis.process.arch === 'string') {\n versions.splice(1, 0, `(${globalThis.process.platform}; ${globalThis.process.arch})`);\n }\n return versions.join(' ');\n }\n }\n /**\n * Attempts to determine whether the current environment is a browser or not.\n * @returns {boolean} True for browsers and web workers, false for other runtimes.\n */\n static isBrowser() {\n return (\n // The window global and the document are available in browsers, but not in web workers\n // https://developer.mozilla.org/en-US/docs/Glossary/Global_object\n (typeof globalThis.window === 'object' && typeof globalThis.window.document === 'object') ||\n // The importScripts function is only available in Web Workers\n // https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/importScripts\n (typeof globalThis.importScripts === 'function'));\n }\n}\nexports.ActorHttp = ActorHttp;\n//# sourceMappingURL=ActorHttp.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorHttp\"), exports);\n__exportStar(require(\"./utils\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateAndCloseHttpResponse = void 0;\nconst stream_to_string_1 = require(\"@jeswr/stream-to-string\");\nconst ActorHttp_1 = require(\"./ActorHttp\");\n/**\n * Check if the http response is valid, and throw an error if not.\n * @param url The original URL that was to be updated.\n * @param httpResponse The update response.\n */\nasync function validateAndCloseHttpResponse(url, httpResponse) {\n // Check if update was successful\n if (httpResponse.status >= 400) {\n // Consume the body, to avoid process to hang\n let bodyString = 'empty response';\n if (httpResponse.body) {\n const responseStream = ActorHttp_1.ActorHttp.toNodeReadable(httpResponse.body);\n bodyString = await (0, stream_to_string_1.stringify)(responseStream);\n }\n throw new Error(`Could not update ${url} (HTTP status ${httpResponse.status}):\\n${bodyString}`);\n }\n // Close response body, as we don't need it\n await httpResponse.body?.cancel();\n}\nexports.validateAndCloseHttpResponse = validateAndCloseHttpResponse;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorInit = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A base actor for listening to init events.\n *\n * Actor types:\n * * Input: IActionInit: Contains process information\n * such as the list of arguments,\n * environment variables and input stream.\n * * Test: \n * * Output: IActorOutputInit: Contains process output streams.\n *\n * @see IActionInit\n */\nclass ActorInit extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Initialization failed: none of the configured actors were to initialize} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorInit = ActorInit;\n//# sourceMappingURL=ActorInit.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorInit\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorOptimizeQueryOperation = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for optimize-query-operation events.\n *\n * Actor types:\n * * Input: IActionOptimizeQueryOperation: An incoming SPARQL operation.\n * * Test: \n * * Output: IActorOptimizeQueryOperationOutput: A (possibly optimized) outgoing SPARQL operation.\n *\n * @see IActionOptimizeQueryOperation\n * @see IActorOptimizeQueryOperationOutput\n */\nclass ActorOptimizeQueryOperation extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query optimization failed: none of the configured actors were able to optimize} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorOptimizeQueryOperation = ActorOptimizeQueryOperation;\n//# sourceMappingURL=ActorOptimizeQueryOperation.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorOptimizeQueryOperation\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperation = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for query-operation events.\n *\n * Actor types:\n * * Input: IActionQueryOperation: A SPARQL Algebra operation.\n * * Test: \n * * Output: IActorQueryOperationOutput: A bindings stream.\n *\n * @see IActionQueryOperation\n * @see IQueryOperationResult\n */\nclass ActorQueryOperation extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorQueryOperation = ActorQueryOperation;\n//# sourceMappingURL=ActorQueryOperation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationTyped = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst ActorQueryOperation_1 = require(\"./ActorQueryOperation\");\n/**\n * A base implementation for query operation actors for a specific operation type.\n */\nclass ActorQueryOperationTyped extends ActorQueryOperation_1.ActorQueryOperation {\n constructor(args, operationName) {\n super({ ...args, operationName });\n if (!this.operationName) {\n throw new Error('A valid \"operationName\" argument must be provided.');\n }\n }\n async test(action) {\n if (!action.operation) {\n return (0, core_1.failTest)('Missing field \\'operation\\' in a query operation action.');\n }\n if (action.operation.type !== this.operationName) {\n return (0, core_1.failTest)(`Actor ${this.name} only supports ${this.operationName} operations, but got ${action.operation.type}`);\n }\n const operation = action.operation;\n return this.testOperation(operation, action.context);\n }\n async run(action, sideData) {\n // Log to physical plan\n const physicalQueryPlanLogger = action.context\n .get(context_entries_1.KeysInitQuery.physicalQueryPlanLogger);\n if (physicalQueryPlanLogger) {\n physicalQueryPlanLogger.logOperation(action.operation.type, undefined, action.operation, action.context.get(context_entries_1.KeysInitQuery.physicalQueryPlanNode), this.name, {});\n action.context = action.context.set(context_entries_1.KeysInitQuery.physicalQueryPlanNode, action.operation);\n }\n const operation = action.operation;\n const subContext = action.context.set(context_entries_1.KeysQueryOperation.operation, operation);\n const output = await this.runOperation(operation, subContext, sideData);\n if ('metadata' in output) {\n output.metadata = (0, utils_metadata_1.cachifyMetadata)(output.metadata);\n }\n return output;\n }\n}\nexports.ActorQueryOperationTyped = ActorQueryOperationTyped;\n//# sourceMappingURL=ActorQueryOperationTyped.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryOperationTypedMediated = void 0;\nconst ActorQueryOperationTyped_1 = require(\"./ActorQueryOperationTyped\");\n/**\n * A base implementation for query operation actors for a specific operation type that have a query operation mediator.\n */\nclass ActorQueryOperationTypedMediated extends ActorQueryOperationTyped_1.ActorQueryOperationTyped {\n constructor(args, operationName) {\n super(args, operationName);\n }\n}\nexports.ActorQueryOperationTypedMediated = ActorQueryOperationTypedMediated;\n//# sourceMappingURL=ActorQueryOperationTypedMediated.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BusQueryOperation = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * Indexed bus for query operations.\n */\nclass BusQueryOperation extends core_1.BusIndexed {\n constructor(args) {\n super({\n ...args,\n actorIdentifierFields: ['operationName'],\n actionIdentifierFields: ['operation', 'type'],\n });\n }\n}\nexports.BusQueryOperation = BusQueryOperation;\n//# sourceMappingURL=BusQueryOperation.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryOperation\"), exports);\n__exportStar(require(\"./ActorQueryOperationTyped\"), exports);\n__exportStar(require(\"./ActorQueryOperationTypedMediated\"), exports);\n__exportStar(require(\"./BusQueryOperation\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryParse = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for query-parse events.\n *\n * Actor types:\n * * Input: IActionSparqlParse: A SPARQL query string.\n * * Test: \n * * Output: IActorSparqlParseOutput: A parsed query in SPARQL query algebra.\n *\n * @see IActionQueryParse\n * @see IActorQueryParseOutput\n */\nclass ActorQueryParse extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query parsing failed: none of the configured parsers were able to the query \"${action.query}\"} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorQueryParse = ActorQueryParse;\n//# sourceMappingURL=ActorQueryParse.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryParse\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryProcess = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for query-process events.\n *\n * Actor types:\n * * Input: IActionQueryProcess: The input query to process.\n * * Test: \n * * Output: IActorQueryProcessOutput: Output of the query processing.\n *\n * @see IActionQueryProcess\n * @see IActorQueryProcessOutput\n */\nclass ActorQueryProcess extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query processing failed: none of the configured actor were process to the query \"${action.query}\"} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorQueryProcess = ActorQueryProcess;\n//# sourceMappingURL=ActorQueryProcess.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryProcess\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerialize = void 0;\nconst actor_abstract_mediatyped_1 = require(\"@comunica/actor-abstract-mediatyped\");\n/**\n * A comunica actor for query-result-serialize events.\n *\n * Actor types:\n * * Input: IActionSparqlSerialize: SPARQL bindings or a quad stream.\n * * Test: \n * * Output: IActorQueryResultSerializeOutput: A text stream.\n *\n * @see IActionSparqlSerialize\n * @see IActorQueryResultSerializeOutput\n */\nclass ActorQueryResultSerialize extends actor_abstract_mediatyped_1.ActorAbstractMediaTyped {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorQueryResultSerialize = ActorQueryResultSerialize;\n//# sourceMappingURL=ActorQueryResultSerialize.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQueryResultSerializeFixedMediaTypes = void 0;\nconst actor_abstract_mediatyped_1 = require(\"@comunica/actor-abstract-mediatyped\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A base actor for listening to SPARQL serialize events that has fixed media types.\n *\n * Actor types:\n * * Input: IActionSparqlSerializeOrMediaType: A serialize input or a media type input.\n * * Test: \n * * Output: IActorQueryResultSerializeOutputOrMediaType: The serialized quads.\n *\n * @see IActionInit\n */\nclass ActorQueryResultSerializeFixedMediaTypes extends actor_abstract_mediatyped_1.ActorAbstractMediaTypedFixed {\n /* eslint-disable max-len */\n /**\n * TODO: rm this (and eslint-disable) once we remove the abstract media typed actor\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n /* eslint-enable max-len */\n async testHandleChecked(_action, _context) {\n return (0, core_1.passTestVoid)();\n }\n}\nexports.ActorQueryResultSerializeFixedMediaTypes = ActorQueryResultSerializeFixedMediaTypes;\n//# sourceMappingURL=ActorQueryResultSerializeFixedMediaTypes.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQueryResultSerialize\"), exports);\n__exportStar(require(\"./ActorQueryResultSerializeFixedMediaTypes\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentifyHypermedia = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for query-source-identify-hypermedia events.\n *\n * Actor types:\n * * Input: IActionQuerySourceIdentifyHypermedia: The metadata in the document and a query operation.\n * * Test: \n * * Output: IActorQuerySourceIdentifyHypermediaOutput: A query source.\n *\n * @see IActionQuerySourceIdentifyHypermedia\n * @see IActorQuerySourceIdentifyHypermediaOutput\n */\nclass ActorQuerySourceIdentifyHypermedia extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}} busFailMessage\n * @param sourceType The source type.\n */\n /* eslint-enable max-len */\n constructor(args, sourceType) {\n super(args);\n this.sourceType = sourceType;\n }\n async test(action) {\n if (action.forceSourceType && this.sourceType !== action.forceSourceType) {\n return (0, core_1.failTest)(`Actor ${this.name} is not able to handle source type ${action.forceSourceType}.`);\n }\n return this.testMetadata(action);\n }\n}\nexports.ActorQuerySourceIdentifyHypermedia = ActorQuerySourceIdentifyHypermedia;\n//# sourceMappingURL=ActorQuerySourceIdentifyHypermedia.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentifyHypermedia\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorQuerySourceIdentify = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for query-source-identify events.\n *\n * Actor types:\n * * Input: IActionQuerySourceIdentify: An unidentified query source.\n * * Test: \n * * Output: IActorQuerySourceIdentifyOutput: An identified query source.\n *\n * @see IActionQuerySourceIdentify\n * @see IActorQuerySourceIdentifyOutput\n */\nclass ActorQuerySourceIdentify extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorQuerySourceIdentify = ActorQuerySourceIdentify;\n//# sourceMappingURL=ActorQuerySourceIdentify.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filterMatchingQuotedQuads = exports.quadsOrderToBindingsOrder = exports.quadsMetadataToBindingsMetadata = exports.setMetadata = exports.getDuplicateElementLinks = exports.getVariables = exports.isTermVariable = exports.quadsToBindings = void 0;\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst QuadTermUtil_1 = require(\"rdf-terms/lib/QuadTermUtil\");\n/**\n * Convert an iterator of quads to an iterator of bindings.\n * @param quads The quads to convert.\n * @param pattern The pattern to get variables from to determine bindings.\n * All quads are also assumed to match the pattern.\n * @param dataFactory The data factory.\n * @param bindingsFactory The factory for creating bindings.\n * @param unionDefaultGraph If union default graph mode is enabled.\n * If true, variable graphs will match all graphs, including the default graph.\n * If false, variable graphs will only match named graphs, and not the default graph.\n */\nfunction quadsToBindings(quads, pattern, dataFactory, bindingsFactory, unionDefaultGraph) {\n const variables = getVariables(pattern);\n // If non-default-graph triples need to be filtered out\n const filterNonDefaultQuads = pattern.graph.termType === 'Variable' && !unionDefaultGraph;\n // Detect duplicate variables in the pattern\n const duplicateElementLinks = getDuplicateElementLinks(pattern);\n // Convenience datastructure for mapping quad elements to variables\n const elementVariables = (0, rdf_terms_1.reduceTermsNested)(pattern, (acc, term, keys) => {\n if (term.termType === 'Variable') {\n acc[keys.join('_')] = term.value;\n }\n return acc;\n }, {});\n // Optionally filter, and construct bindings\n let filteredOutput = quads;\n // SPARQL query semantics allow graph variables to only match with named graphs, excluding the default graph\n // But this is not the case when using union default graph semantics\n if (filterNonDefaultQuads) {\n filteredOutput = filteredOutput.filter(quad => quad.graph.termType !== 'DefaultGraph');\n }\n // If there are duplicate variables in the search pattern,\n // make sure that we filter out the triples that don't have equal values for those triple elements,\n // as the rdf-resolve-quad-pattern bus ignores variable names.\n if (duplicateElementLinks) {\n filteredOutput = filteredOutput.filter((quad) => {\n for (const keyLeft in duplicateElementLinks) {\n const keysLeft = keyLeft.split('_');\n const valueLeft = (0, rdf_terms_1.getValueNestedPath)(quad, keysLeft);\n for (const keysRight of duplicateElementLinks[keyLeft]) {\n if (!valueLeft.equals((0, rdf_terms_1.getValueNestedPath)(quad, keysRight))) {\n return false;\n }\n }\n }\n return true;\n });\n }\n // Wrap it in a ClosableIterator, so we can propagate destroy calls\n const it = new utils_iterator_1.ClosableIterator(filteredOutput.map(quad => bindingsFactory\n .bindings(Object.keys(elementVariables).map((key) => {\n const keys = key.split('_');\n const variable = elementVariables[key];\n const term = (0, rdf_terms_1.getValueNestedPath)(quad, keys);\n return [dataFactory.variable(variable), term];\n }))), {\n onClose: () => quads.destroy(),\n });\n // Set the metadata property\n setMetadata(dataFactory, it, quads, elementVariables, variables, filterNonDefaultQuads || Boolean(duplicateElementLinks));\n return it;\n}\nexports.quadsToBindings = quadsToBindings;\n/**\n * Check if a term is a variable.\n * @param {RDF.Term} term An RDF term.\n * @return {any} If the term is a variable or blank node.\n */\nfunction isTermVariable(term) {\n return term.termType === 'Variable';\n}\nexports.isTermVariable = isTermVariable;\n/**\n * Get all variables in the given pattern.\n * No duplicates are returned.\n * @param {RDF.BaseQuad} pattern A quad pattern.\n */\nfunction getVariables(pattern) {\n return (0, rdf_terms_1.uniqTerms)((0, rdf_terms_1.getTermsNested)(pattern).filter(isTermVariable));\n}\nexports.getVariables = getVariables;\n/**\n * A helper function to find a hash with quad elements that have duplicate variables.\n *\n * @param {RDF.Quad} pattern A quad pattern.\n *\n * @return {{[p: string]: string[]}} If no equal variable names are present in the four terms, this returns undefined.\n * Otherwise, this maps quad elements paths (['subject'], ['predicate'], ['object'],\n * ['graph'])\n * to the list of quad elements it shares a variable name with.\n * For quoted triples, paths such as ['subject', 'object'] may occur.\n * If no links for a certain element exist, this element will\n * not be included in the hash.\n * Note 1: Quad elements will never have a link to themselves.\n * So this can never occur: { subject: [[ 'subject']] },\n * instead 'null' would be returned.\n * Note 2: Links only exist in one direction,\n * this means that { subject: [[ 'predicate']], predicate: [[ 'subject' ]] }\n * will not occur, instead only { subject: [[ 'predicate']] }\n * will be returned.\n * Note 3: Keys can also be paths, but they are delimited by '_', such as:\n * { subject_object_subject: [[ 'predicate']] }\n */\nfunction getDuplicateElementLinks(pattern) {\n // Collect a variable to quad elements mapping.\n const variableElements = {};\n let duplicateVariables = false;\n (0, rdf_terms_1.forEachTermsNested)(pattern, (value, keys) => {\n if (value.termType === 'Variable') {\n const val = (0, rdf_string_1.termToString)(value);\n const length = (variableElements[val] || (variableElements[val] = [])).push(keys);\n duplicateVariables = duplicateVariables || length > 1;\n }\n });\n if (!duplicateVariables) {\n return;\n }\n // Collect quad element to elements with equal variables mapping.\n const duplicateElementLinks = {};\n for (const variable in variableElements) {\n const elements = variableElements[variable];\n const remainingElements = elements.slice(1);\n // Only store the elements that have at least one equal element.\n if (remainingElements.length > 0) {\n duplicateElementLinks[elements[0].join('_')] = remainingElements;\n }\n }\n return duplicateElementLinks;\n}\nexports.getDuplicateElementLinks = getDuplicateElementLinks;\n/**\n * Set the metadata of the bindings stream derived from the metadata of the quads stream.\n * @param dataFactory The data factory.\n * @param {BindingsStream} bindings The bindings stream that will receive the metadata property.\n * @param {AsyncIterator} quads The quads stream that is guaranteed to emit the metadata property.\n * @param elementVariables Mapping of quad term name to variable name.\n * @param variables Variables to include in the metadata\n * @param forceEstimateCardinality Set the cardinality to estimate\n * @return {() => Promise<{[p: string]: any}>} A lazy promise behind a callback resolving to a metadata object.\n */\nfunction setMetadata(dataFactory, bindings, quads, elementVariables, variables, forceEstimateCardinality) {\n const getMetadataCb = (metadataRaw) => {\n if (forceEstimateCardinality) {\n metadataRaw.cardinality.type = 'estimate';\n }\n bindings.setProperty('metadata', quadsMetadataToBindingsMetadata(dataFactory, (0, utils_metadata_1.validateMetadataQuads)(metadataRaw), elementVariables, variables));\n // Propagate metadata invalidations\n if (metadataRaw.state) {\n metadataRaw.state.addInvalidateListener(() => {\n setMetadata(dataFactory, bindings, quads, elementVariables, variables, forceEstimateCardinality);\n });\n }\n };\n const metadata = quads.getProperty('metadata');\n if (metadata) {\n // This is to enforce sync metadata setting, because AsyncIterator will always call it async,\n // even if the property was already defined.\n getMetadataCb(metadata);\n }\n else {\n quads.getProperty('metadata', getMetadataCb);\n }\n}\nexports.setMetadata = setMetadata;\n/**\n * Convert the metadata of quads to the metadata of bindings.\n * @param dataFactory The data factory.\n * @param metadataQuads Quads metadata.\n * @param elementVariables A mapping from quad elements to variables.\n * @param variables The variables in the bindings.\n */\nfunction quadsMetadataToBindingsMetadata(dataFactory, metadataQuads, elementVariables, variables) {\n return {\n ...metadataQuads,\n order: metadataQuads.order ?\n quadsOrderToBindingsOrder(dataFactory, metadataQuads.order, elementVariables) :\n undefined,\n availableOrders: metadataQuads.availableOrders ?\n metadataQuads.availableOrders.map(orderDef => ({\n cost: orderDef.cost,\n terms: quadsOrderToBindingsOrder(dataFactory, orderDef.terms, elementVariables),\n })) :\n undefined,\n variables: variables.map(variable => ({ variable, canBeUndef: false })),\n };\n}\nexports.quadsMetadataToBindingsMetadata = quadsMetadataToBindingsMetadata;\n/**\n * Convert the quads order metadata element to a bindings order metadata element.\n * @param dataFactory The data factory.\n * @param quadsOrder Quads order.\n * @param elementVariables A mapping from quad elements to variables.\n */\nfunction quadsOrderToBindingsOrder(dataFactory, quadsOrder, elementVariables) {\n const mappedVariables = {};\n return quadsOrder.map((entry) => {\n // Omit entries that do not map to a variable\n const variableName = elementVariables[entry.term];\n if (!variableName) {\n // eslint-disable-next-line array-callback-return\n return;\n }\n // Omit entries that have been mapped already\n if (mappedVariables[variableName]) {\n // eslint-disable-next-line array-callback-return\n return;\n }\n mappedVariables[variableName] = true;\n return {\n term: dataFactory.variable(variableName),\n direction: entry.direction,\n };\n }).filter(Boolean);\n}\nexports.quadsOrderToBindingsOrder = quadsOrderToBindingsOrder;\n/**\n * Perform post-match-filtering if the source does not support quoted triple filtering,\n * but we have a variable inside a quoted triple.\n * @param pattern The current quad pattern operation.\n * @param it The iterator to filter.\n */\nfunction filterMatchingQuotedQuads(pattern, it) {\n if ((0, rdf_terms_1.someTerms)(pattern, term => term.termType === 'Quad')) {\n it = it.filter(quad => (0, QuadTermUtil_1.matchPatternMappings)(quad, pattern));\n }\n return it;\n}\nexports.filterMatchingQuotedQuads = filterMatchingQuotedQuads;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorQuerySourceIdentify\"), exports);\n__exportStar(require(\"./Utils\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinEntriesSort = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-join-entries-sort events.\n *\n * Actor types:\n * * Input: IActionRdfJoinEntriesSort: Join entries.\n * * Test: IActorTest: Test result.\n * * Output: IActorRdfJoinEntriesSortOutput: The sorted join entries.\n *\n * @see IActionRdfJoinEntriesSort\n * @see IActorTest\n * @see IActorRdfJoinEntriesSortOutput\n */\nclass ActorRdfJoinEntriesSort extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Sorting join entries failed: none of the configured actors were able to sort} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfJoinEntriesSort = ActorRdfJoinEntriesSort;\n//# sourceMappingURL=ActorRdfJoinEntriesSort.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinEntriesSort\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoinSelectivity = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-join-selectivity events.\n *\n * Actor types:\n * * Input: IActionRdfJoinSelectivity: Join entries.\n * * Test: IMediatorTypeAccuracy: The accuracy of the selectivity calculator.\n * * Output: IActorRdfJoinSelectivityOutput: The calculated join selectivity.\n *\n * @see IActionRdfJoinSelectivity\n * @see IActorRdfJoinSelectivityTest\n * @see IActorRdfJoinSelectivityOutput\n */\nclass ActorRdfJoinSelectivity extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Determining join selectivity failed: none of the configured actors were able to calculate selectivities} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfJoinSelectivity = ActorRdfJoinSelectivity;\n//# sourceMappingURL=ActorRdfJoinSelectivity.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoinSelectivity\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfJoin = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst utils_iterator_1 = require(\"@comunica/utils-iterator\");\nconst utils_metadata_1 = require(\"@comunica/utils-metadata\");\n/**\n * A comunica actor for joining 2 binding streams.\n *\n * Actor types:\n * * Input: IActionRdfJoin: The streams that need to be joined.\n * * Test: IMediatorTypeJoinCoefficients: Join coefficients.\n * * Output: IActorRdfJoinOutput: The resulting joined stream.\n *\n * @see IActionRdfJoin\n * @see IActorQueryOperationOutput\n */\nclass ActorRdfJoin extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF joining failed: none of the configured actors were able to handle the join type ${action.type}} busFailMessage\n * @param options - Actor-specific join options.\n */\n /* eslint-enable max-len */\n constructor(args, options) {\n super(args);\n /**\n * If this actor will be logged in the debugger and physical query plan logger\n */\n this.includeInLogs = true;\n this.logicalType = options.logicalType;\n this.physicalName = options.physicalName;\n this.limitEntries = options.limitEntries ?? Number.POSITIVE_INFINITY;\n this.limitEntriesMin = options.limitEntriesMin ?? false;\n this.canHandleUndefs = options.canHandleUndefs ?? false;\n this.isLeaf = options.isLeaf ?? true;\n this.requiresVariableOverlap = options.requiresVariableOverlap ?? false;\n }\n /**\n * Returns an array containing all the variable names that occur in all bindings streams.\n * @param {MetadataBindings[]} metadatas An array of optional metadata objects for the entries.\n * @returns {RDF.Variable[]} An array of variables.\n */\n static overlappingVariables(metadatas) {\n const variablesIndexed = {};\n for (const metadata of metadatas) {\n for (const variable of metadata.variables) {\n if (!variablesIndexed[variable.variable.value]) {\n variablesIndexed[variable.variable.value] = {\n variable: variable.variable,\n canBeUndef: variable.canBeUndef,\n occurrences: 0,\n };\n }\n const entry = variablesIndexed[variable.variable.value];\n entry.canBeUndef = entry.canBeUndef || variable.canBeUndef;\n entry.occurrences++;\n }\n }\n return Object.values(variablesIndexed)\n .filter(entry => entry.occurrences === metadatas.length)\n .map(entry => ({ variable: entry.variable, canBeUndef: entry.canBeUndef }));\n }\n /**\n * Returns the variables that will occur in the joined bindings.\n * @param dataFactory The data factory.\n * @param {MetadataBindings[]} metadatas An array of metadata objects for the entries.\n * @param optional If an optional join is being performed.\n * @returns {RDF.Variable[]} An array of joined variables.\n */\n static joinVariables(dataFactory, metadatas, optional = false) {\n const variablesIndexed = {};\n let first = true;\n for (const metadata of metadatas) {\n for (const variable of metadata.variables) {\n variablesIndexed[variable.variable.value] = variablesIndexed[variable.variable.value] || variable.canBeUndef ||\n (!first && optional && !(variable.variable.value in variablesIndexed));\n }\n first = false;\n }\n return Object.entries(variablesIndexed)\n .map(([variableLabel, canBeUndef]) => ({ variable: dataFactory.variable(variableLabel), canBeUndef }));\n }\n /**\n * Returns the result of joining bindings, or `null` if no join is possible.\n * @param {Bindings[]} bindings\n * @returns {Bindings}\n */\n static joinBindings(...bindings) {\n if (bindings.length === 0) {\n return null;\n }\n if (bindings.length === 1) {\n return bindings[0];\n }\n let acc = bindings[0];\n for (const binding of bindings.slice(1)) {\n const merged = acc.merge(binding);\n if (!merged) {\n return null;\n }\n acc = merged;\n }\n return acc;\n }\n /**\n * Get the estimated number of items from the given metadata.\n * @param {Record} metadata A metadata object.\n * @return {number} The estimated number of items, or `Infinity` if cardinality is falsy.\n */\n static getCardinality(metadata) {\n return metadata.cardinality;\n }\n /**\n * Obtain the metadata from all given join entries.\n * @param entries Join entries.\n */\n static async getMetadatas(entries) {\n return await Promise.all(entries.map(entry => entry.output.metadata()));\n }\n /**\n * Obtain the join entries witt metadata from all given join entries.\n * @param entries Join entries.\n */\n static async getEntriesWithMetadatas(entries) {\n const metadatas = await ActorRdfJoin.getMetadatas(entries);\n return entries.map((entry, i) => ({ ...entry, metadata: metadatas[i] }));\n }\n /**\n * Calculate the time to initiate a request for the given metadata entries.\n * @param metadatas An array of checked metadata.\n */\n static getRequestInitialTimes(metadatas) {\n return metadatas.map(metadata => metadata.pageSize ? 0 : metadata.requestTime ?? 0);\n }\n /**\n * Calculate the time to receive a single item for the given metadata entries.\n * @param metadatas An array of checked metadata.\n */\n static getRequestItemTimes(metadatas) {\n return metadatas\n .map(metadata => metadata.pageSize ? (metadata.requestTime ?? 0) / metadata.pageSize : 0);\n }\n /**\n * Construct a metadata validation state for the given metadata entries.\n * @param metadatas An array of checked metadata.\n */\n constructState(metadatas) {\n // Propagate metadata invalidations\n const state = new utils_metadata_1.MetadataValidationState();\n const invalidateListener = () => state.invalidate();\n for (const metadata of metadatas) {\n metadata.state.addInvalidateListener(invalidateListener);\n }\n return state;\n }\n /**\n * Helper function to create a new metadata object for the join result.\n * For required metadata entries that are not provided, sane defaults are calculated.\n * @param entries Join entries.\n * @param metadatas Metadata of the join entries.\n * @param context The action context.\n * @param partialMetadata Partial metadata entries.\n * @param optional If metadata for an optional operation must be calculated.\n */\n async constructResultMetadata(entries, metadatas, context, partialMetadata = {}, optional = false) {\n let cardinalityJoined;\n if (partialMetadata.cardinality) {\n cardinalityJoined = partialMetadata.cardinality;\n }\n else {\n cardinalityJoined = metadatas\n .reduce((acc, metadata) => {\n const cardinalityThis = ActorRdfJoin.getCardinality(metadata);\n return {\n type: cardinalityThis.type === 'estimate' ? 'estimate' : acc.type,\n value: acc.value * (optional ? Math.max(1, cardinalityThis.value) : cardinalityThis.value),\n };\n }, { type: 'exact', value: 1 });\n cardinalityJoined.value *= (await this.mediatorJoinSelectivity.mediate({ entries, context })).selectivity;\n }\n return {\n state: this.constructState(metadatas),\n ...partialMetadata,\n cardinality: {\n type: cardinalityJoined.type,\n value: cardinalityJoined.value,\n },\n variables: ActorRdfJoin.joinVariables(context.getSafe(context_entries_1.KeysInitQuery.dataFactory), metadatas, optional),\n };\n }\n /**\n * Order the given join entries using the join-entries-sort bus.\n * @param {MediatorRdfJoinEntriesSort} mediatorJoinEntriesSort A mediator for sorting join entries.\n * @param {IJoinEntryWithMetadata[]} entries An array of join entries.\n * @param context The action context.\n * @return {IJoinEntryWithMetadata[]} The sorted join entries.\n */\n static async sortJoinEntries(mediatorJoinEntriesSort, entries, context) {\n // If there is a stream that can contain undefs, we don't modify the join order.\n const hasUndefVars = entries.some(entry => entry.metadata.variables.some(variable => variable.canBeUndef));\n if (hasUndefVars) {\n return (0, core_1.passTest)(entries);\n }\n // Calculate number of occurrences of each variable\n const variableOccurrences = {};\n for (const entry of entries) {\n for (const variable of entry.metadata.variables) {\n let counter = variableOccurrences[variable.variable.value];\n if (!counter) {\n counter = 0;\n }\n variableOccurrences[variable.variable.value] = ++counter;\n }\n }\n // Determine variables that occur in at least two join entries\n const multiOccurrenceVariables = [];\n for (const [variable, count] of Object.entries(variableOccurrences)) {\n if (count >= 2) {\n multiOccurrenceVariables.push(variable);\n }\n }\n // Reject if no entries have common variables\n if (multiOccurrenceVariables.length === 0) {\n return (0, core_1.failTest)(`Bind join can only join entries with at least one common variable`);\n }\n // Determine entries without common variables\n // These will be placed in the back of the sorted array\n const entriesWithoutCommonVariables = [];\n for (const entry of entries) {\n let hasCommon = false;\n for (const variable of entry.metadata.variables) {\n if (multiOccurrenceVariables.includes(variable.variable.value)) {\n hasCommon = true;\n break;\n }\n }\n if (!hasCommon) {\n entriesWithoutCommonVariables.push(entry);\n }\n }\n return (0, core_1.passTest)((await mediatorJoinEntriesSort.mediate({ entries, context })).entries\n .sort((entryLeft, entryRight) => {\n // Sort to make sure that entries without common variables come last in the array.\n // For all other entries, the original order is kept.\n const leftWithoutCommonVariables = entriesWithoutCommonVariables.includes(entryLeft);\n const rightWithoutCommonVariables = entriesWithoutCommonVariables.includes(entryRight);\n if (leftWithoutCommonVariables === rightWithoutCommonVariables) {\n return 0;\n }\n return leftWithoutCommonVariables ?\n 1 :\n -1;\n }));\n }\n /**\n * Default test function for join actors.\n * Checks whether all iterators have metadata.\n * If yes: call the abstract getIterations method, if not: return Infinity.\n * @param {IActionRdfJoin} action The input action containing the relevant iterators\n * @returns {Promise} The join coefficients.\n */\n async test(action) {\n // Validate logical join type\n if (action.type !== this.logicalType) {\n return (0, core_1.failTest)(`${this.name} can only handle logical joins of type '${this.logicalType}', while '${action.type}' was given.`);\n }\n // Don't allow joining of one or zero streams\n if (action.entries.length <= 1) {\n return (0, core_1.failTest)(`${this.name} requires at least two join entries.`);\n }\n // Check if this actor can handle the given number of streams\n if (this.limitEntriesMin ? action.entries.length < this.limitEntries : action.entries.length > this.limitEntries) {\n return (0, core_1.failTest)(`${this.name} requires ${this.limitEntries} join entries at ${this.limitEntriesMin ? 'least' : 'most'}. The input contained ${action.entries.length}.`);\n }\n // Check if all streams are bindings streams\n for (const entry of action.entries) {\n if (entry.output.type !== 'bindings') {\n // eslint-disable-next-line ts/restrict-template-expressions\n return (0, core_1.failTest)(`Invalid type of a join entry: Expected 'bindings' but got '${entry.output.type}'`);\n }\n }\n const metadatas = await ActorRdfJoin.getMetadatas(action.entries);\n // Check if this actor can handle undefs (for overlapping variables)\n let overlappingVariables;\n if (!this.canHandleUndefs) {\n overlappingVariables = ActorRdfJoin.overlappingVariables(metadatas);\n if (overlappingVariables.some(variable => variable.canBeUndef)) {\n return (0, core_1.failTest)(`Actor ${this.name} can not join streams containing undefs`);\n }\n }\n // This actor only works with common variables\n if (this.requiresVariableOverlap &&\n (overlappingVariables ?? ActorRdfJoin.overlappingVariables(metadatas)).length === 0) {\n return (0, core_1.failTest)(`Actor ${this.name} can only join entries with at least one common variable`);\n }\n return await this.getJoinCoefficients(action, { metadatas });\n }\n /**\n * Returns default input for 0 or 1 entries. Calls the getOutput function otherwise\n * @param {IActionRdfJoin} action\n * @param sideData Side data from the test method\n * @returns {Promise} A bindings result.\n */\n async run(action, sideData) {\n // Prepare logging to physical plan\n // This must be called before getOutput, because we need to override the plan node in the context\n let parentPhysicalQueryPlanNode;\n if (action.context.has(context_entries_1.KeysInitQuery.physicalQueryPlanLogger)) {\n parentPhysicalQueryPlanNode = action.context.get(context_entries_1.KeysInitQuery.physicalQueryPlanNode);\n action.context = action.context.set(context_entries_1.KeysInitQuery.physicalQueryPlanNode, action);\n }\n // Log to physical plan\n const physicalQueryPlanLogger = action.context.get(context_entries_1.KeysInitQuery\n .physicalQueryPlanLogger);\n let planMetadata;\n if (this.includeInLogs && physicalQueryPlanLogger) {\n planMetadata = {};\n // Stash non-join children, as they will be unstashed later in sub-joins.\n physicalQueryPlanLogger.stashChildren(parentPhysicalQueryPlanNode, node => node.logicalOperator.startsWith('join'));\n physicalQueryPlanLogger.logOperation(`join-${this.logicalType}`, this.physicalName, action, parentPhysicalQueryPlanNode, this.name, planMetadata);\n }\n // Get action output\n const { result, physicalPlanMetadata } = await this.getOutput(action, sideData);\n // Fill in the physical plan metadata after determining action output\n if (planMetadata) {\n // eslint-disable-next-line ts/no-floating-promises\n (0, utils_iterator_1.instrumentIterator)(result.bindingsStream)\n .then((counters) => {\n physicalQueryPlanLogger.appendMetadata(action, {\n cardinalityReal: counters.count,\n timeSelf: counters.timeSelf,\n timeLife: counters.timeLife,\n });\n });\n Object.assign(planMetadata, physicalPlanMetadata);\n const cardinalities = sideData.metadatas.map(ActorRdfJoin.getCardinality);\n planMetadata.cardinalities = cardinalities;\n planMetadata.joinCoefficients = (await this.getJoinCoefficients(action, sideData)).getOrThrow();\n // If this is a leaf operation, include join entries in plan metadata.\n if (this.isLeaf) {\n for (let i = 0; i < action.entries.length; i++) {\n const entry = action.entries[i];\n physicalQueryPlanLogger.unstashChild(entry.operation, action);\n physicalQueryPlanLogger.appendMetadata(entry.operation, { cardinality: cardinalities[i] });\n }\n }\n }\n // Cache metadata\n result.metadata = (0, utils_metadata_1.cachifyMetadata)(result.metadata);\n return result;\n }\n}\nexports.ActorRdfJoin = ActorRdfJoin;\n//# sourceMappingURL=ActorRdfJoin.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfJoin\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataAccumulate = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-metadata-accumulate events.\n *\n * Actor types:\n * * Input: IActionRdfMetadataAccumulate: The metadata objects to accumulate,\n * or a trigger for initializing a new value.\n * * Test: \n * * Output: IActorRdfMetadataAccumulateOutput: The accumulated metadata object.\n *\n * @see IActionRdfMetadataAccumulate\n * @see IActorRdfMetadataAccumulateOutput\n */\nclass ActorRdfMetadataAccumulate extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfMetadataAccumulate = ActorRdfMetadataAccumulate;\n//# sourceMappingURL=ActorRdfMetadataAccumulate.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataAccumulate\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadataExtract = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-metadata-extract events.\n *\n * Actor types:\n * * Input: IActionRdfMetadataExtract: A metadata quad stream\n * * Test: \n * * Output: IActorRdfMetadataExtractOutput: A metadata hash.\n *\n * @see IActionDereferenceRdf\n * @see IActorDereferenceRdfOutput\n */\nclass ActorRdfMetadataExtract extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfMetadataExtract = ActorRdfMetadataExtract;\n//# sourceMappingURL=ActorRdfMetadataExtract.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadataExtract\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfMetadata = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-metadata events.\n *\n * Actor types:\n * * Input: IActionRdfMetadata: An RDF quad stream.\n * * Test: \n * * Output: IActorRdfMetadataOutput: An RDF quad data stream and RDF quad metadata stream.\n *\n * @see IActionDereferenceRdf\n * @see IActorDereferenceRdfOutput\n */\nclass ActorRdfMetadata extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfMetadata = ActorRdfMetadata;\n//# sourceMappingURL=ActorRdfMetadata.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfMetadata\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParse = void 0;\nconst actor_abstract_mediatyped_1 = require(\"@comunica/actor-abstract-mediatyped\");\n/**\n * A base actor for listening to RDF parse events.\n *\n * Actor types:\n * * Input: IActionRdfParseOrMediaType: A parse input or a media type input.\n * * Test: \n * * Output: IActorOutputRdfParseOrMediaType: The parsed quads.\n *\n * @see IActionInit\n */\nclass ActorRdfParse extends actor_abstract_mediatyped_1.ActorAbstractMediaTyped {\n /**\n * @param args - @defaultNested { a } bus\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfParse = ActorRdfParse;\n//# sourceMappingURL=ActorRdfParse.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfParseFixedMediaTypes = void 0;\nconst actor_abstract_mediatyped_1 = require(\"@comunica/actor-abstract-mediatyped\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A base actor for listening to RDF parse events that has fixed media types.\n *\n * Actor types:\n * * Input: IActionRdfParseOrMediaType: A parse input or a media type input.\n * * Test: \n * * Output: IActorOutputRdfParseOrMediaType: The parsed quads.\n *\n * @see IActionInit\n */\nclass ActorRdfParseFixedMediaTypes extends actor_abstract_mediatyped_1.ActorAbstractMediaTypedFixed {\n /* eslint-disable max-len */\n /**\n * TODO: rm this (and eslint-disable) once we remove the abstract media typed actor\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n /* eslint-enable max-len */\n async testHandleChecked(_action) {\n return (0, core_1.passTestVoid)();\n }\n}\nexports.ActorRdfParseFixedMediaTypes = ActorRdfParseFixedMediaTypes;\n//# sourceMappingURL=ActorRdfParseFixedMediaTypes.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfParse\"), exports);\n__exportStar(require(\"./ActorRdfParseFixedMediaTypes\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfResolveHypermediaLinksQueue = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-resolve-hypermedia-links-queue events.\n *\n * Actor types:\n * * Input: IActionRdfResolveHypermediaLinksQueue: Creates a new {@link ILinkQueue} for the given seed URL.\n * * Test: \n * * Output: IActorRdfResolveHypermediaLinksQueueOutput: The created {@link ILinkQueue}.\n *\n * @see IActionRdfResolveHypermediaLinksQueue\n * @see IActorRdfResolveHypermediaLinksQueueOutput\n */\nclass ActorRdfResolveHypermediaLinksQueue extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Link queue creation failed: none of the configured actors were able to create a link queue starting from ${action.firstUrl}} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfResolveHypermediaLinksQueue = ActorRdfResolveHypermediaLinksQueue;\n//# sourceMappingURL=ActorRdfResolveHypermediaLinksQueue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ILinkQueue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LinkQueueWrapper = void 0;\n/**\n * A link queue that wraps a given link queue.\n */\nclass LinkQueueWrapper {\n constructor(linkQueue) {\n this.linkQueue = linkQueue;\n }\n push(link, parent) {\n return this.linkQueue.push(link, parent);\n }\n getSize() {\n return this.linkQueue.getSize();\n }\n isEmpty() {\n return this.linkQueue.isEmpty();\n }\n pop() {\n return this.linkQueue.pop();\n }\n peek() {\n return this.linkQueue.peek();\n }\n}\nexports.LinkQueueWrapper = LinkQueueWrapper;\n//# sourceMappingURL=LinkQueueWrapper.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfResolveHypermediaLinksQueue\"), exports);\n__exportStar(require(\"./ILinkQueue\"), exports);\n__exportStar(require(\"./LinkQueueWrapper\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfResolveHypermediaLinks = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-resolve-hypermedia-links events.\n *\n * Actor types:\n * * Input: IActionRdfResolveHypermediaLinks: The metadata from which the links should be extracted.\n * * Test: \n * * Output: IActorRdfResolveHypermediaLinksOutput: The URLs that were detected.\n *\n * @see IActionRdfResolveHypermediaLinks\n * @see IActorRdfResolveHypermediaLinksOutput\n */\nclass ActorRdfResolveHypermediaLinks extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Hypermedia link resolution failed: none of the configured actors were able to resolve links from metadata} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfResolveHypermediaLinks = ActorRdfResolveHypermediaLinks;\n//# sourceMappingURL=ActorRdfResolveHypermediaLinks.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfResolveHypermediaLinks\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfSerialize = void 0;\nconst actor_abstract_mediatyped_1 = require(\"@comunica/actor-abstract-mediatyped\");\n/**\n * A comunica actor for RDF parse events.\n *\n * Actor types:\n * * Input: IActionRdfSerialize: A serialize input or a media type input.\n * * Test: \n * * Output: IActorRdfSerializeOutput: The serialized quads.\n *\n * @see IActionRdfSerialize\n * @see IActorRdfSerializeOutput\n */\nclass ActorRdfSerialize extends actor_abstract_mediatyped_1.ActorAbstractMediaTyped {\n /**\n * @param args - @defaultNested { a } bus\n */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfSerialize = ActorRdfSerialize;\n//# sourceMappingURL=ActorRdfSerialize.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfSerializeFixedMediaTypes = void 0;\nconst actor_abstract_mediatyped_1 = require(\"@comunica/actor-abstract-mediatyped\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A base actor for listening to RDF serialize events that has fixed media types.\n *\n * Actor types:\n * * Input: IActionRdfSerializeOrMediaType: A serialize input or a media type input.\n * * Test: \n * * Output: IActorRdfSerializeOutputOrMediaType: The serialized quads.\n *\n * @see IActionInit\n */\nclass ActorRdfSerializeFixedMediaTypes extends actor_abstract_mediatyped_1.ActorAbstractMediaTypedFixed {\n /* eslint-disable max-len */\n /**\n * TODO: rm this (and eslint-disable) once we remove the abstract media typed actor\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}} busFailMessage\n */\n constructor(args) {\n super(args);\n }\n /* eslint-enable max-len */\n async testHandleChecked() {\n return (0, core_1.passTestVoid)();\n }\n}\nexports.ActorRdfSerializeFixedMediaTypes = ActorRdfSerializeFixedMediaTypes;\n//# sourceMappingURL=ActorRdfSerializeFixedMediaTypes.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfSerialize\"), exports);\n__exportStar(require(\"./ActorRdfSerializeFixedMediaTypes\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateHypermedia = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-update-hypermedia events.\n *\n * Actor types:\n * * Input: IActionRdfUpdateHypermedia: The metadata in the document.\n * * Test: \n * * Output: IActorRdfUpdateHypermediaOutput: An RDF destination.\n *\n * @see IActionRdfUpdateHypermedia\n * @see IActorRdfUpdateHypermediaOutput\n */\nclass ActorRdfUpdateHypermedia extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}} busFailMessage\n * @param destinationType - The destination type.\n */\n /* eslint-enable max-len */\n constructor(args, destinationType) {\n super(args);\n this.destinationType = destinationType;\n }\n async test(action) {\n if (action.forceDestinationType && this.destinationType !== action.forceDestinationType) {\n return (0, core_1.failTest)(`Actor ${this.name} is not able to handle destination type ${action.forceDestinationType}.`);\n }\n return this.testMetadata(action);\n }\n}\nexports.ActorRdfUpdateHypermedia = ActorRdfUpdateHypermedia;\n//# sourceMappingURL=ActorRdfUpdateHypermedia.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateHypermedia\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateQuads = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for rdf-update-quads events.\n *\n * Actor types:\n * * Input: IActionRdfUpdateQuads: Quad insertion and deletion streams.\n * * Test: \n * * Output: IActorRdfUpdateQuadsOutput: A promise resolving when the update operation is done.\n *\n * @see IActionRdfUpdateQuads\n * @see IActorRdfUpdateQuadsOutput\n */\nclass ActorRdfUpdateQuads extends core_1.Actor {\n /* eslint-disable max-len */\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {RDF updating failed: none of the configured actors were able to handle an update} busFailMessage\n */\n /* eslint-enable max-len */\n constructor(args) {\n super(args);\n }\n}\nexports.ActorRdfUpdateQuads = ActorRdfUpdateQuads;\n//# sourceMappingURL=ActorRdfUpdateQuads.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorRdfUpdateQuadsDestination = exports.deskolemize = exports.deskolemizeStream = void 0;\nconst actor_context_preprocess_query_source_skolemize_1 = require(\"@comunica/actor-context-preprocess-query-source-skolemize\");\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\nconst ActorRdfUpdateQuads_1 = require(\"./ActorRdfUpdateQuads\");\nfunction deskolemizeStream(dataFactory, stream, id) {\n return stream?.map(quad => (0, actor_context_preprocess_query_source_skolemize_1.deskolemizeQuad)(dataFactory, quad, id));\n}\nexports.deskolemizeStream = deskolemizeStream;\nfunction deskolemize(action) {\n const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);\n const destination = action.context.get(context_entries_1.KeysRdfUpdateQuads.destination);\n const id = action.context.get(context_entries_1.KeysQuerySourceIdentify.sourceIds)?.get(destination);\n if (!id) {\n return action;\n }\n return {\n ...action,\n quadStreamInsert: deskolemizeStream(dataFactory, action.quadStreamInsert, id),\n quadStreamDelete: deskolemizeStream(dataFactory, action.quadStreamDelete, id),\n };\n}\nexports.deskolemize = deskolemize;\n/**\n * A base implementation for rdf-update-quads events\n * that wraps around an {@link IQuadDestination}.\n *\n * @see IQuadDestination\n */\nclass ActorRdfUpdateQuadsDestination extends ActorRdfUpdateQuads_1.ActorRdfUpdateQuads {\n async test(_action) {\n return (0, core_1.passTestVoid)();\n }\n async run(action) {\n const destination = await this.getDestination(action.context);\n return await this.getOutput(destination, deskolemize(action));\n }\n /**\n * Get the output of the given action on a destination.\n * @param {IQuadDestination} destination A quad destination, possibly lazy.\n * @param {IActionRdfUpdateQuads} action The action.\n */\n async getOutput(destination, action) {\n const execute = async () => {\n await destination.update({ insert: action.quadStreamInsert, delete: action.quadStreamDelete });\n await (action.deleteGraphs ?\n destination.deleteGraphs(action.deleteGraphs.graphs, action.deleteGraphs.requireExistence, action.deleteGraphs.dropGraphs) :\n Promise.resolve());\n await (action.createGraphs ?\n destination.createGraphs(action.createGraphs.graphs, action.createGraphs.requireNonExistence) :\n Promise.resolve());\n };\n return { execute };\n }\n}\nexports.ActorRdfUpdateQuadsDestination = ActorRdfUpdateQuadsDestination;\n//# sourceMappingURL=ActorRdfUpdateQuadsDestination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IQuadDestination.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorRdfUpdateQuads\"), exports);\n__exportStar(require(\"./ActorRdfUpdateQuadsDestination\"), exports);\n__exportStar(require(\"./IQuadDestination\"), exports);\n__exportStar(require(\"./utils\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getContextDestinationUrl = exports.getContextDestination = exports.getDataDestinationContext = exports.getDataDestinationValue = exports.getDataDestinationType = exports.isDataDestinationRawType = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\n/**\n * Check if the given data destination is a string or RDF store.\n * @param dataDestination A data destination.\n */\nfunction isDataDestinationRawType(dataDestination) {\n return typeof dataDestination === 'string' || 'remove' in dataDestination;\n}\nexports.isDataDestinationRawType = isDataDestinationRawType;\n/**\n * Get the data destination type.\n * @param dataDestination A data destination.\n */\nfunction getDataDestinationType(dataDestination) {\n if (typeof dataDestination === 'string') {\n return '';\n }\n return 'remove' in dataDestination ? 'rdfjsStore' : dataDestination.type;\n}\nexports.getDataDestinationType = getDataDestinationType;\n/**\n * Get the data destination value.\n * @param dataDestination A data destination.\n */\nfunction getDataDestinationValue(dataDestination) {\n return isDataDestinationRawType(dataDestination) ? dataDestination : dataDestination.value;\n}\nexports.getDataDestinationValue = getDataDestinationValue;\n/**\n * Get the context of the given destination, merged with the given context.\n * @param dataDestination A data destination.\n * @param context A context to merge with.\n */\nfunction getDataDestinationContext(dataDestination, context) {\n if (typeof dataDestination === 'string' || 'remove' in dataDestination || !dataDestination.context) {\n return context;\n }\n return context.merge(dataDestination.context);\n}\nexports.getDataDestinationContext = getDataDestinationContext;\n/**\n * Get the source destination from the given context.\n * @param {ActionContext} context An optional context.\n * @return {IDataDestination} The destination or undefined.\n */\nfunction getContextDestination(context) {\n return context.get(context_entries_1.KeysRdfUpdateQuads.destination);\n}\nexports.getContextDestination = getContextDestination;\n/**\n * Get the destination's raw URL value from the given context.\n * @param {IDataDestination} destination A destination.\n * @return {string} The URL or undefined.\n */\nfunction getContextDestinationUrl(destination) {\n if (destination) {\n let fileUrl = getDataDestinationValue(destination);\n if (typeof fileUrl === 'string') {\n // Remove hashes from source\n const hashPosition = fileUrl.indexOf('#');\n if (hashPosition >= 0) {\n fileUrl = fileUrl.slice(0, hashPosition);\n }\n return fileUrl;\n }\n }\n}\nexports.getContextDestinationUrl = getContextDestinationUrl;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActorTermComparatorFactory = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica actor for term-comparator-factory events.\n *\n * Actor types:\n * * Input: IActionTermComparatorFactory: the Query Operation Mediator and Function Factory Mediator.\n * * Test: \n * * Output: IActorTermComparatorFactoryOutput: An object that can order RDF terms.\n *\n * @see IActionTermComparatorFactory\n * @see IActorTermComparatorFactoryOutput\n */\nclass ActorTermComparatorFactory extends core_1.Actor {\n /**\n * @param args -\n * \\ @defaultNested { a } bus\n * \\ @defaultNested {Creation of term comparator failed} busFailMessage\n */\n constructor(args) {\n super(args);\n this.mediatorQueryOperation = args.mediatorQueryOperation;\n this.mediatorFunctionFactory = args.mediatorFunctionFactory;\n this.mediatorMergeBindingsContext = args.mediatorMergeBindingsContext;\n }\n}\nexports.ActorTermComparatorFactory = ActorTermComparatorFactory;\n//# sourceMappingURL=ActorTermComparatorFactory.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActorTermComparatorFactory\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeysStatistics = exports.KeysRdfJoin = exports.KeysMergeBindingsContext = exports.KeysRdfUpdateQuads = exports.KeysQuerySourceIdentify = exports.KeysRdfParseHtmlScript = exports.KeysRdfParseJsonLd = exports.KeysQueryOperation = exports.KeysExpressionEvaluator = exports.KeysInitQuery = exports.KeysHttpProxy = exports.KeysHttpMemento = exports.KeysHttpWayback = exports.KeysHttp = exports.KeysCore = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * When adding entries to this file, also add a shortcut for them in the contextKeyShortcuts TSDoc comment in\n * ActorInitQueryBase in @comunica/actor-init-query if it makes sense to use this entry externally.\n * Also, add this shortcut to IQueryContextCommon in @comunica/types.\n */\nexports.KeysCore = {\n // We create the core context keys in @comunica/core to avoid a cyclic dependency\n /**\n * A logger instance.\n */\n log: core_1.CONTEXT_KEY_LOGGER,\n};\nexports.KeysHttp = {\n /**\n * Include credentials flags.\n */\n includeCredentials: new core_1.ActionContextKey('@comunica/bus-http:include-credentials'),\n /**\n * Authentication for a source as a \"username:password\"-pair.\n */\n auth: new core_1.ActionContextKey('@comunica/bus-http:auth'),\n /**\n * Fetch function implementation.\n */\n fetch: new core_1.ActionContextKey('@comunica/bus-http:fetch'),\n /**\n * HTTP request timeout in milliseconds.\n */\n httpTimeout: new core_1.ActionContextKey('@comunica/bus-http:http-timeout'),\n /**\n * Makes the HTTP timeout not only apply until the response starts streaming in\n * but until the response is fully consumed.\n */\n httpBodyTimeout: new core_1.ActionContextKey('@comunica/bus-http:http-body-timeout'),\n /**\n * Number of retries to make on failed network calls. This only takes effect\n * on errors thrown during the initial fetch() call and not while streaming the body.\n */\n httpRetryCount: new core_1.ActionContextKey('@comunica/bus-http:http-retry-count'),\n /**\n * The fallback retry delay in milliseconds. This value is used when a server does not\n * send a delay value in the Retry-After header or if the header value is incorrectly formatted.\n */\n httpRetryDelayFallback: new core_1.ActionContextKey('@comunica/bus-http:http-retry-delay-fallback'),\n /**\n * The upper limit for the retry delay in milliseconds. When a server requests a delay larger than this,\n * the engine will consider it unavailable until the specified timestamp is close enough.\n */\n httpRetryDelayLimit: new core_1.ActionContextKey('@comunica/bus-http:http-retry-delay-limit'),\n /**\n * HTTP status codes that should always trigger a retry, regardless of the default behaviour.\n * This can be used to, for example, force retries on server-side errors in the 500 range.\n */\n httpRetryStatusCodes: new core_1.ActionContextKey('@comunica/bus-http:http-retry-status-codes'),\n};\nexports.KeysHttpWayback = {\n /**\n * Use the WayBack machine to get the most recent representation of a file if a link is broken.\n * @default false\n */\n recoverBrokenLinks: new core_1.ActionContextKey('@comunica/bus-http:recover-broken-links'),\n};\nexports.KeysHttpMemento = {\n /**\n * The desired datetime for Memento datetime-negotiation.\n */\n datetime: new core_1.ActionContextKey('@comunica/actor-http-memento:datetime'),\n};\nexports.KeysHttpProxy = {\n /**\n * Interface.\n */\n httpProxyHandler: new core_1.ActionContextKey('@comunica/actor-http-proxy:httpProxyHandler'),\n};\nexports.KeysInitQuery = {\n /**\n * The unidentified sources to query over.\n */\n querySourcesUnidentified: new core_1.ActionContextKey('@comunica/actor-init-query:querySourcesUnidentified'),\n /**\n * Variables that have to be pre-bound to values in the query.\n */\n initialBindings: new core_1.ActionContextKey('@comunica/actor-init-query:initialBindings'),\n /**\n * The provided query's format.\n * Defaults to { language: 'sparql', version: '1.1' }\n */\n queryFormat: new core_1.ActionContextKey('@comunica/actor-init-query:queryFormat'),\n /**\n * Which GraphQL bindings should be singularized.\n */\n graphqlSingularizeVariables: new core_1.ActionContextKey('@comunica/actor-init-query:singularizeVariables'),\n /**\n * If HTTP and parsing failures are ignored.\n */\n lenient: new core_1.ActionContextKey('@comunica/actor-init-query:lenient'),\n /**\n * The original query string.\n */\n queryString: new core_1.ActionContextKey('@comunica/actor-init-query:queryString'),\n /**\n * The original parsed query.\n */\n query: new core_1.ActionContextKey('@comunica/actor-init-query:query'),\n /**\n * The query's base IRI.\n */\n baseIRI: new core_1.ActionContextKey('@comunica/actor-init-query:baseIRI'),\n /**\n * Object to cache function argument overload resolutions.\n * Defaults to an object that is reused across query executions.\n */\n functionArgumentsCache: new core_1.ActionContextKey('@comunica/actor-init-query:functionArgumentsCache'),\n /**\n * A timestamp representing the current time.\n * This is required for certain SPARQL operations such as NOW().\n */\n queryTimestamp: new core_1.ActionContextKey('@comunica/actor-init-query:queryTimestamp'),\n /**\n * A high resolution timestamp representing the time elapsed since Performance.timeOrigin`.\n * It can be used to precisely measure durations from the start of query execution.\n */\n queryTimestampHighResolution: new core_1.ActionContextKey('@comunica/actor-init-query:queryTimestampHighResolution'),\n /**\n * @range {functionNamedNode: RDF.NamedNode) => ((args: RDF.Term[]) => Promise) | undefined}\n * Extension function creator for a given function IRI.\n * Returned value should be an async function implementation.\n * Undefined may be returned if no implementation exists for the given function IRI.\n *\n * The dictionary-based extensionFunctions context entry may be used instead, but not simultaneously.\n */\n extensionFunctionCreator: new core_1.ActionContextKey('@comunica/actor-init-query:extensionFunctionCreator'),\n /**\n * Dictionary of extension functions.\n * Key is the IRI of the function, and value is the async function implementation.\n *\n * The callback-based extensionFunctionCreator context entry may be used instead, but not simultaneously.\n */\n extensionFunctions: new core_1.ActionContextKey('@comunica/actor-init-query:extensionFunctions'),\n /**\n * Enables manipulation of the CLI arguments and their processing.\n */\n cliArgsHandlers: new core_1.ActionContextKey('@comunica/actor-init-query:cliArgsHandlers'),\n /**\n * Explain mode of the query. Can be 'parsed', 'logical', 'physical', or 'physical-json'.\n */\n explain: new core_1.ActionContextKey('@comunica/actor-init-query:explain'),\n /**\n * Logs the used physical operators\n */\n physicalQueryPlanLogger: new core_1.ActionContextKey('@comunica/actor-init-query:physicalQueryPlanLogger'),\n /**\n * The current physical operator within the query plan.\n * This is used to pass parent-child relationships for invoking the query plan logger.\n */\n physicalQueryPlanNode: new core_1.ActionContextKey('@comunica/actor-init-query:physicalQueryPlanNode'),\n /**\n * A JSON-LD context\n */\n jsonLdContext: new core_1.ActionContextKey('@context'),\n /**\n * A boolean value denoting whether caching is disabled or not.\n */\n invalidateCache: new core_1.ActionContextKey('@comunica/actor-init-query:invalidateCache'),\n /**\n * The data factory for creating terms and quads.\n */\n dataFactory: new core_1.ActionContextKey('@comunica/actor-init-query:dataFactory'),\n /**\n * A boolean value denoting whether results should be deduplicated or not.\n */\n distinctConstruct: new core_1.ActionContextKey('@comunica/actor-init-query:distinctConstruct'),\n};\nexports.KeysExpressionEvaluator = {\n extensionFunctionCreator: new core_1.ActionContextKey('@comunica/utils-expression-evaluator:extensionFunctionCreator'),\n superTypeProvider: new core_1.ActionContextKey('@comunica/utils-expression-evaluator:superTypeProvider'),\n defaultTimeZone: new core_1.ActionContextKey('@comunica/utils-expression-evaluator:defaultTimeZone'),\n actionContext: new core_1.ActionContextKey('@comunica/utils-expression-evaluator:actionContext'),\n};\nexports.KeysQueryOperation = {\n /**\n * Context entry for the current query operation.\n */\n operation: new core_1.ActionContextKey('@comunica/bus-query-operation:operation'),\n /**\n * @type {any} The metadata from the left streams within a join operation.\n */\n joinLeftMetadata: new core_1.ActionContextKey('@comunica/bus-query-operation:joinLeftMetadata'),\n /**\n * An array of metadata from the right streams within a join operation.\n */\n joinRightMetadatas: new core_1.ActionContextKey('@comunica/bus-query-operation:joinRightMetadatas'),\n /**\n * Indicates the bindings that were used to bind the operation.\n */\n joinBindings: new core_1.ActionContextKey('@comunica/bus-query-operation:joinBindings'),\n /**\n * Flag for indicating that only read operations are allowed, defaults to false.\n */\n readOnly: new core_1.ActionContextKey('@comunica/bus-query-operation:readOnly'),\n /**\n * An internal context entry to mark that a property path with arbitrary length and a distinct key is being processed.\n */\n isPathArbitraryLengthDistinctKey: new core_1.ActionContextKey('@comunica/bus-query-operation:isPathArbitraryLengthDistinct'),\n /**\n * An indicator that the stream will be limited to the given number of elements afterwards.\n */\n limitIndicator: new core_1.ActionContextKey('@comunica/bus-query-operation:limitIndicator'),\n /**\n * If the default graph should also contain the union of all named graphs.\n */\n unionDefaultGraph: new core_1.ActionContextKey('@comunica/bus-query-operation:unionDefaultGraph'),\n /**\n * The sources to query over.\n */\n querySources: new core_1.ActionContextKey('@comunica/bus-query-operation:querySources'),\n};\nexports.KeysRdfParseJsonLd = {\n /**\n * @range {IDocumentLoader}\n */\n documentLoader: new core_1.ActionContextKey('@comunica/actor-rdf-parse-jsonld:documentLoader'),\n /**\n * @range {boolean}\n */\n strictValues: new core_1.ActionContextKey('@comunica/actor-rdf-parse-jsonld:strictValues'),\n /**\n * @range {Record}\n */\n parserOptions: new core_1.ActionContextKey('@comunica/actor-rdf-parse-jsonld:parserOptions'),\n};\nexports.KeysRdfParseHtmlScript = {\n /**\n * An internal context flag to determine if the engine is already processing an HTML script tag.\n */\n processingHtmlScript: new core_1.ActionContextKey('@comunica/actor-rdf-parse-html-script:processingHtmlScript'),\n /**\n * If all HTML script tags must be considered.\n */\n extractAllScripts: new core_1.ActionContextKey('extractAllScripts'),\n};\nexports.KeysQuerySourceIdentify = {\n /**\n * A map containing unique IDs for each source\n */\n sourceIds: new core_1.ActionContextKey('@comunica/bus-query-source-identify:sourceIds'),\n /**\n * Hypermedia sources mapping to their aggregated store.\n */\n hypermediaSourcesAggregatedStores: new core_1.ActionContextKey('@comunica/bus-query-source-identify:hypermediaSourcesAggregatedStores'),\n /**\n * If links may be traversed from this source.\n * This means that sources annotated with this flag are considered incomplete until all links have been traversed.\n */\n traverse: new core_1.ActionContextKey('@comunica/bus-query-source-identify:traverse'),\n};\nexports.KeysRdfUpdateQuads = {\n /**\n * A data destination.\n */\n destination: new core_1.ActionContextKey('@comunica/bus-rdf-update-quads:destination'),\n};\nexports.KeysMergeBindingsContext = {\n /**\n * The data sources required to produce the binding\n */\n sourcesBinding: new core_1.ActionContextKey('@comunica/bus-merge-bindings-context:sourcesBinding'),\n};\nexports.KeysRdfJoin = {\n /**\n * The last physical join actor that was executed.\n */\n lastPhysicalJoin: new core_1.ActionContextKey('@comunica/bus-rdf-join:lastPhysicalJoin'),\n};\nexports.KeysStatistics = {\n /**\n * All discovered links during query execution. Not all of them will necessarily be dereferenced.\n */\n discoveredLinks: new core_1.ActionContextKey('@comunica/bus-context-preprocess:discoveredLinks'),\n /**\n * Information about what links are dereferenced and when\n */\n dereferencedLinks: new core_1.ActionContextKey('@comunica/bus-context-preprocess:dereferencedLinks'),\n};\n//# sourceMappingURL=Keys.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Keys\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionContextKey = exports.ActionContext = void 0;\nconst immutable_1 = require(\"immutable\");\n/**\n * Implementation of {@link IActionContext} using Immutable.js.\n */\nclass ActionContext {\n constructor(data = {}) {\n this.map = (0, immutable_1.Map)(data);\n }\n /**\n * Will only set the value if the key is not already set.\n */\n setDefault(key, value) {\n return this.has(key) ? this : this.set(key, value);\n }\n set(key, value) {\n return this.setRaw(key.name, value);\n }\n setRaw(key, value) {\n return new ActionContext(this.map.set(key, value));\n }\n delete(key) {\n return new ActionContext(this.map.delete(key.name));\n }\n get(key) {\n return this.getRaw(key.name);\n }\n getRaw(key) {\n return this.map.get(key);\n }\n getSafe(key) {\n if (!this.has(key)) {\n throw new Error(`Context entry ${key.name} is required but not available`);\n }\n return this.get(key);\n }\n has(key) {\n return this.hasRaw(key.name);\n }\n hasRaw(key) {\n return this.map.has(key);\n }\n merge(...contexts) {\n // eslint-disable-next-line ts/no-this-alias\n let context = this;\n for (const source of contexts) {\n for (const key of source.keys()) {\n context = context.set(key, source.get(key));\n }\n }\n return context;\n }\n keys() {\n return [...this.map.keys()]\n .map(keyName => new ActionContextKey(keyName));\n }\n toJS() {\n return this.map.toJS();\n }\n toString() {\n return `ActionContext(${JSON.stringify(this.map.toJS())})`;\n }\n [Symbol.for('nodejs.util.inspect.custom')]() {\n return `ActionContext(${JSON.stringify(this.map.toJS(), null, ' ')})`;\n }\n /**\n * Convert the given object to an action context object if it is not an action context object yet.\n * If it already is an action context object, return the object as-is.\n * @param maybeActionContext An action context or record.\n * @return {ActionContext} An action context object.\n */\n static ensureActionContext(maybeActionContext) {\n return maybeActionContext instanceof ActionContext ?\n maybeActionContext :\n new ActionContext((0, immutable_1.Map)(maybeActionContext ?? {}));\n }\n}\nexports.ActionContext = ActionContext;\n/**\n * Simple implementation of {@link IActionContextKey}.\n */\nclass ActionContextKey {\n constructor(name) {\n this.name = name;\n }\n}\nexports.ActionContextKey = ActionContextKey;\n//# sourceMappingURL=ActionContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionObserver = void 0;\n/**\n * An ActionObserver can passively listen to {@link Actor#run} inputs and outputs for all actors on a certain bus.\n *\n * ActionObserver should not edit inputs and outputs,\n * they should be considered immutable.\n *\n * @see Actor\n * @see Bus\n *\n * @template I The input type of an actor.\n * @template O The output type of an actor.\n * @template TS The test side data type.\n */\nclass ActionObserver {\n /**\n * All enumerable properties from the `args` object are inherited to this observer.\n *\n * The observer will NOT automatically subscribe to the given bus when this constructor is called.\n *\n * @param {IActionObserverArgs} args Arguments object\n * @throws When required arguments are missing.\n */\n constructor(args) {\n Object.assign(this, args);\n }\n}\nexports.ActionObserver = ActionObserver;\n//# sourceMappingURL=ActionObserver.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Actor = void 0;\nconst ContextEntries_1 = require(\"./ContextEntries\");\n/**\n * An actor can act on messages of certain types and provide output of a certain type.\n *\n * The flow of an actor is as follows:\n * 1. Send a message to {@link Actor#test} to test if an actor can run that action.\n * 2. If the actor can reply to the message, let the actor run the action using {@link Actor#run}.\n *\n * An actor is typically subscribed to a bus,\n * using which the applicability to an action can be tested.\n *\n * @see Bus\n *\n * @template I The input type of an actor.\n * @template T The test type of an actor.\n * @template O The output type of an actor.\n * @template TS The test side data type.\n */\nclass Actor {\n /**\n * All enumerable properties from the `args` object are inherited to this actor.\n *\n * The actor will subscribe to the given bus when this constructor is called.\n *\n * @param {IActorArgs} args Arguments object\n * @param {string} args.name The name for this actor.\n * @param {Bus, I extends IAction, T extends IActorTest, O extends IActorOutput>} args.bus\n * The bus this actor subscribes to.\n * @throws When required arguments are missing.\n */\n constructor(args) {\n this.beforeActors = [];\n Object.assign(this, args);\n this.bus.subscribe(this);\n if (this.beforeActors.length > 0) {\n this.bus.addDependencies(this, this.beforeActors);\n }\n if (args.busFailMessage) {\n this.bus.failMessage = args.busFailMessage;\n }\n }\n /**\n * Get the logger from the given context.\n * @param {ActionContext} context An optional context.\n * @return {Logger} The logger or undefined.\n */\n static getContextLogger(context) {\n return context.get(ContextEntries_1.CONTEXT_KEY_LOGGER);\n }\n /**\n * Run the given action on this actor\n * AND invokes the {@link Bus#onRun} method.\n *\n * @param {I} action The action to run.\n * @return {Promise} A promise that resolves to the run result.\n */\n runObservable(action, sideData) {\n const output = this.run(action, sideData);\n this.bus.onRun(this, action, output);\n return output;\n }\n /* Proxy methods for the (optional) logger that is defined in the context */\n getDefaultLogData(context, data) {\n const dataActual = data ? data() : {};\n dataActual.actor = this.name;\n return dataActual;\n }\n logTrace(context, message, data) {\n const logger = Actor.getContextLogger(context);\n if (logger) {\n logger.trace(message, this.getDefaultLogData(context, data));\n }\n }\n logDebug(context, message, data) {\n const logger = Actor.getContextLogger(context);\n if (logger) {\n logger.debug(message, this.getDefaultLogData(context, data));\n }\n }\n logInfo(context, message, data) {\n const logger = Actor.getContextLogger(context);\n if (logger) {\n logger.info(message, this.getDefaultLogData(context, data));\n }\n }\n logWarn(context, message, data) {\n const logger = Actor.getContextLogger(context);\n if (logger) {\n logger.warn(message, this.getDefaultLogData(context, data));\n }\n }\n logError(context, message, data) {\n const logger = Actor.getContextLogger(context);\n if (logger) {\n logger.error(message, this.getDefaultLogData(context, data));\n }\n }\n logFatal(context, message, data) {\n const logger = Actor.getContextLogger(context);\n if (logger) {\n logger.fatal(message, this.getDefaultLogData(context, data));\n }\n }\n}\nexports.Actor = Actor;\n//# sourceMappingURL=Actor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bus = void 0;\n/**\n * A publish-subscribe bus for sending actions to actors\n * to test whether or not they can run an action.\n *\n * This bus does not run the action itself,\n * for that a {@link Mediator} can be used.\n *\n * @see Actor\n * @see Mediator\n *\n * @template A The actor type that can subscribe to the sub.\n * @template I The input type of an actor.\n * @template T The test type of an actor.\n * @template O The output type of an actor.\n * @template TS The test side data type.\n */\nclass Bus {\n /**\n * All enumerable properties from the `args` object are inherited to this bus.\n *\n * @param {IBusArgs} args Arguments object\n * @param {string} args.name The name for the bus\n * @throws When required arguments are missing.\n */\n constructor(args) {\n this.actors = [];\n this.observers = [];\n // Mapping from dependency (after) to dependents (before)\n this.dependencyLinks = new Map();\n Object.assign(this, args);\n this.failMessage = `All actors over bus ${this.name} failed to handle an action`;\n }\n /**\n * Subscribe the given actor to the bus.\n * After this, the given actor can be unsubscribed from the bus by calling {@link Bus#unsubscribe}.\n *\n * An actor that is subscribed multiple times will exist that amount of times in the bus.\n *\n * @param {A} actor The actor to subscribe.\n */\n subscribe(actor) {\n this.actors.push(actor);\n this.reorderForDependencies();\n }\n /**\n * Subscribe the given observer to the bus.\n * After this, the given observer can be unsubscribed from the bus by calling {@link Bus#unsubscribeObserver}.\n *\n * An observer that is subscribed multiple times will exist that amount of times in the bus.\n *\n * @param {ActionObserver} observer The observer to subscribe.\n */\n subscribeObserver(observer) {\n this.observers.push(observer);\n }\n /**\n * Unsubscribe the given actor from the bus.\n *\n * An actor that is subscribed multiple times will be unsubscribed only once.\n *\n * @param {A} actor The actor to unsubscribe\n * @return {boolean} If the given actor was successfully unsubscribed,\n * otherwise it was not subscribed before.\n */\n unsubscribe(actor) {\n const index = this.actors.indexOf(actor);\n if (index >= 0) {\n this.actors.splice(index, 1);\n return true;\n }\n return false;\n }\n /**\n * Unsubscribe the given observer from the bus.\n *\n * An observer that is subscribed multiple times will be unsubscribed only once.\n *\n * @param {ActionObserver} observer The observer to unsubscribe.\n * @return {boolean} If the given observer was successfully unsubscribed,\n * otherwise it was not subscribed before.\n */\n unsubscribeObserver(observer) {\n const index = this.observers.indexOf(observer);\n if (index >= 0) {\n this.observers.splice(index, 1);\n return true;\n }\n return false;\n }\n /**\n * Publish an action to all actors in the bus to test if they can run the action.\n *\n * @param {I} action An action to publish\n * @return {IActorReply, I extends IAction, T extends IActorTest,\n * O extends IActorOutput>[]}\n * An array of reply objects. Each object contains a reference to the actor,\n * and a promise to its {@link Actor#test} result.\n */\n publish(action) {\n return this.actors.map((actor) => ({ actor, reply: actor.test(action) }));\n }\n /**\n * Invoked when an action was run by an actor.\n *\n * @param actor The action on which the {@link Actor#run} method was invoked.\n * @param {I} action The original action input.\n * @param {Promise} output A promise resolving to the final action output.\n */\n onRun(actor, action, output) {\n for (const observer of this.observers) {\n observer.onRun(actor, action, output);\n }\n }\n /**\n * Indicate that the given actor has the given actor dependencies.\n *\n * This will ensure that the given actor will be present in the bus *before* the given dependencies.\n *\n * @param {A} dependent A dependent actor that will be placed before the given actors.\n * @param {A[]} dependencies Actor dependencies that will be placed after the given actor.\n */\n addDependencies(dependent, dependencies) {\n for (const dependency of dependencies) {\n let existingDependencies = this.dependencyLinks.get(dependency);\n if (!existingDependencies) {\n existingDependencies = [];\n this.dependencyLinks.set(dependency, existingDependencies);\n }\n existingDependencies.push(dependent);\n }\n this.reorderForDependencies();\n }\n /**\n * Reorder the bus based on all present dependencies.\n */\n reorderForDependencies() {\n if (this.dependencyLinks.size > 0) {\n const actorsAfter = [];\n // Temporarily remove all actors that have dependencies\n for (const actorAfter of this.dependencyLinks.keys()) {\n const dependentPos = this.actors.indexOf(actorAfter);\n if (dependentPos >= 0) {\n this.actors.splice(dependentPos, 1);\n actorsAfter.push(actorAfter);\n }\n }\n // Iteratively append actors based on the first dependency link\n // that has all of its dependencies available in the array\n while (actorsAfter.length > 0) {\n // Find the first actor that has all of its dependencies available.\n let activeActorAfterId = -1;\n for (let i = 0; i < actorsAfter.length; i++) {\n let validLink = true;\n for (const dependency of this.dependencyLinks.get(actorsAfter[i])) {\n if (!this.actors.includes(dependency) && actorsAfter.includes(dependency)) {\n validLink = false;\n break;\n }\n }\n if (validLink) {\n activeActorAfterId = i;\n break;\n }\n }\n // If none of the pending links are possible, there must be a cyclic dependency\n if (activeActorAfterId < 0) {\n throw new Error(`Cyclic dependency links detected in bus ${this.name}`);\n }\n // The dependent may not be available (yet), so we don't add it to the array (yet).\n const activeActorAfter = actorsAfter.splice(activeActorAfterId, 1)[0];\n this.actors.push(activeActorAfter);\n }\n }\n }\n}\nexports.Bus = Bus;\n//# sourceMappingURL=Bus.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BusIndexed = void 0;\nconst Bus_1 = require(\"./Bus\");\n/**\n * A bus that indexes identified actors,\n * so that actions with a corresponding identifier can be published more efficiently.\n *\n * Multiple actors with the same identifier can be subscribed.\n *\n * If actors or actions do not have a valid identifier,\n * then this will fallback to the normal bus behaviour.\n *\n * @see Bus\n *\n * @template A The actor type that can subscribe to the sub.\n * @template I The input type of an actor.\n * @template T The test type of an actor.\n * @template O The output type of an actor.\n */\nclass BusIndexed extends Bus_1.Bus {\n /**\n * All enumerable properties from the `args` object are inherited to this bus.\n *\n * @param {IBusIndexedArgs} args Arguments object\n * @param {string} args.name The name for the bus\n * @throws When required arguments are missing.\n */\n constructor(args) {\n super(args);\n this.actorsIndex = {};\n }\n subscribe(actor) {\n const actorIds = this.getActorIdentifiers(actor) ?? ['_undefined_'];\n for (const actorId of actorIds) {\n let actors = this.actorsIndex[actorId];\n if (!actors) {\n actors = this.actorsIndex[actorId] = [];\n }\n actors.push(actor);\n super.subscribe(actor);\n }\n }\n unsubscribe(actor) {\n const actorIds = this.getActorIdentifiers(actor) ?? ['_undefined_'];\n let unsubscribed = false;\n for (const actorId of actorIds) {\n const actors = this.actorsIndex[actorId];\n if (actors) {\n const i = actors.indexOf(actor);\n if (i >= 0) {\n actors.splice(i, 1);\n }\n if (actors.length === 0) {\n delete this.actorsIndex[actorId];\n }\n }\n unsubscribed = unsubscribed || super.unsubscribe(actor);\n }\n return unsubscribed;\n }\n publish(action) {\n const actionId = this.getActionIdentifier(action);\n if (actionId) {\n const actors = [...this.actorsIndex[actionId] || [], ...this.actorsIndex._undefined_ || []];\n return actors.map((actor) => ({ actor, reply: actor.test(action) }));\n }\n return super.publish(action);\n }\n getActorIdentifiers(actor) {\n const identifierValue = this.actorIdentifierFields\n .reduce((object, field) => object[field], actor);\n if (!identifierValue) {\n return;\n }\n return Array.isArray(identifierValue) ? identifierValue : [identifierValue];\n }\n getActionIdentifier(action) {\n return this.actionIdentifierFields.reduce((object, field) => object[field], action);\n }\n}\nexports.BusIndexed = BusIndexed;\n//# sourceMappingURL=BusIndexed.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CONTEXT_KEY_LOGGER = void 0;\nconst ActionContext_1 = require(\"./ActionContext\");\nexports.CONTEXT_KEY_LOGGER = new ActionContext_1.ActionContextKey('@comunica/core:log');\n//# sourceMappingURL=ContextEntries.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mediator = void 0;\n/**\n * A mediator can mediate an action over a bus of actors.\n *\n * It does the following:\n * 1. Accepts an action in {@link Mediator#mediate}.\n * 2. Sends the action to the bus to test its applicability on all actors.\n * 3. It _mediates_ over these test results.\n * 4. It selects the _best_ actor.\n * 5. The action is run by the _best_ actor, and the result if returned.\n *\n * The _mediates_ and _best_ parts are filled in by subclasses of this abstract Mediator class.\n *\n * @template A The type of actor to mediator over.\n * @template I The input type of an actor.\n * @template T The test type of an actor.\n * @template O The output type of an actor.\n */\nclass Mediator {\n /**\n * All enumerable properties from the `args` object are inherited to this mediator.\n *\n * @param {IMediatorArgs, I extends IAction, T extends IActorTest,\n * O extends IActorOutput>} args Arguments object\n * @param {string} args.name The name for this mediator.\n * @param {Bus, I extends IAction, T extends IActorTest, O extends IActorOutput>} args.bus\n * The bus this mediator will mediate over.\n * @throws When required arguments are missing.\n */\n constructor(args) {\n Object.assign(this, args);\n }\n /**\n * Publish the given action in the bus.\n *\n * This will send the test action on all actors in the bus.\n * All actor replies will be returned.\n *\n * @param {I} action The action to mediate for.\n * @return {IActorReply, I extends IAction, T extends IActorTest, O extends IActorOutput>[]}\n * The list of actor replies.\n */\n publish(action) {\n // Test all actors in the bus\n const actors = this.bus.publish(action);\n if (actors.length === 0) {\n throw new Error(`No actors are able to reply to a message in the bus ${this.bus.name}`);\n }\n return actors;\n }\n /**\n * Mediate for the given action to get an actor.\n *\n * This will send the test action on all actors in the bus.\n * The actor that tests _best_ will be returned.\n *\n * @param {I} action The action to mediate for.\n * @return {Promise} A promise that resolves to the _best_ actor.\n */\n async mediateActor(action) {\n // Mediate to one actor and run that actor.\n return await this.mediateWith(action, this.publish(action));\n }\n /**\n * Mediate for the given action.\n *\n * This will send the test action on all actors in the bus.\n * The action will be run on the actor that tests _best_,\n * of which the result will be returned.\n *\n * @param {I} action The action to mediate for.\n * @return {Promise} A promise that resolves to the mediation result.\n */\n async mediateTestable(action) {\n // Mediate to one actor and run the action on it\n const actorResult = await this.mediateActor(action);\n return actorResult.mapAsync((actor, sideData) => actor.runObservable(action, sideData));\n }\n /**\n * Mediate for the given action.\n *\n * This will send the test action on all actors in the bus.\n * The action will be run on the actor that tests _best_,\n * of which the result will be returned.\n *\n * @param {I} action The action to mediate for.\n * @return {Promise} A promise that resolves to the mediation result.\n */\n async mediate(action) {\n const testable = await this.mediateTestable(action);\n return testable.getOrThrow();\n }\n /**\n * Construct a human-friendly failure message that accumulates the given actors's failure messages.\n * @param action The action that was executed.\n * @param actorFailures The failure messages that were collected from actor tests based on the given executed action.\n * @protected\n */\n constructFailureMessage(action, actorFailures) {\n const prefix = `\\n `;\n const failMessage = this.bus.failMessage\n .replaceAll(/\\$\\{(.*?)\\}/gu, (match, key) => Mediator\n .getObjectValue({ action }, key.split('.')) || match);\n return `${failMessage}\\n Error messages of failing actors:${prefix}${actorFailures.join(prefix)}`;\n }\n static getObjectValue(obj, path) {\n if (path.length === 0) {\n return obj;\n }\n if (obj) {\n return Mediator.getObjectValue(obj[path[0]], path.slice(1));\n }\n return undefined;\n }\n}\nexports.Mediator = Mediator;\n//# sourceMappingURL=Mediator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TestResultFailed = exports.TestResultPassed = exports.failTest = exports.passTestVoidWithSideData = exports.passTestWithSideData = exports.passTestVoid = exports.passTest = void 0;\n/**\n * Create a new test result that represents a passed value.\n * @param value The value the test passed with.\n */\nfunction passTest(value) {\n return new TestResultPassed(value, undefined);\n}\nexports.passTest = passTest;\n/**\n * Create a new test result that represents a passed void value.\n */\nfunction passTestVoid() {\n return new TestResultPassed(true, undefined);\n}\nexports.passTestVoid = passTestVoid;\n/**\n * Create a new test result that represents a passed value with side data.\n * @param value The value the test passed with.\n * @param sideData Additional data to pass to the run phase.\n */\nfunction passTestWithSideData(value, sideData) {\n return new TestResultPassed(value, sideData);\n}\nexports.passTestWithSideData = passTestWithSideData;\n/**\n * Create a new test result that represents a passed void value with side data.\n * @param sideData Additional data to pass to the run phase.\n */\nfunction passTestVoidWithSideData(sideData) {\n return new TestResultPassed(true, sideData);\n}\nexports.passTestVoidWithSideData = passTestVoidWithSideData;\n/**\n * Create a new test result that represents a test failure.\n * @param message The error message that describes the failure.\n */\nfunction failTest(message) {\n return new TestResultFailed(message);\n}\nexports.failTest = failTest;\n/**\n * A passed test result.\n * This should not be constructed manually.\n * Instead, `testPass` should be used.\n */\nclass TestResultPassed {\n constructor(passValue, sideData) {\n this.value = passValue;\n this.sideData = sideData;\n }\n /**\n * Check if the test has passed.\n * If true, it will contain a value.\n */\n isPassed() {\n return true;\n }\n /**\n * Check if the test has failed.\n * If true, it will contain a failure message.\n */\n isFailed() {\n return false;\n }\n /**\n * Get the value of the passed test, or undefined if the test failed.\n */\n get() {\n return this.value;\n }\n /**\n * Get the value of the passed test, or throw an error if the test failed.\n */\n getOrThrow() {\n return this.value;\n }\n /**\n * The side data that will be passed to run.\n */\n getSideData() {\n return this.sideData;\n }\n /**\n * Get the failure message callback of the failed test, or undefined if the test passed.\n */\n getFailMessage() {\n return undefined;\n }\n /**\n * For passed tests, map the passed value to another value.\n * Failed tests will remain unchanged.\n *\n * This will not mutate the test result, and instead return a new test result.\n *\n * @param mapper A function that will transform the passed value.\n */\n map(mapper) {\n return new TestResultPassed(mapper(this.value, this.sideData), this.sideData);\n }\n /**\n * For passed tests, asynchronously map the passed value to another value.\n * Failed tests will remain unchanged.\n *\n * This will not mutate the test result, and instead return a new test result.\n *\n * @param mapper A function that will transform the passed value.\n */\n async mapAsync(mapper) {\n return new TestResultPassed(await mapper(this.value, this.sideData), this.sideData);\n }\n}\nexports.TestResultPassed = TestResultPassed;\n/**\n * A failed test result.\n * This should not be constructed manually.\n * Instead, `testFail` should be used.\n */\nclass TestResultFailed {\n constructor(failMessage) {\n this.failMessage = failMessage;\n }\n /**\n * Check if the test has passed.\n * If true, it will contain a value.\n */\n isPassed() {\n return false;\n }\n /**\n * Check if the test has failed.\n * If true, it will contain a failure message.\n */\n isFailed() {\n return true;\n }\n /**\n * Get the value of the passed test, or undefined if the test failed.\n */\n get() {\n return undefined;\n }\n /**\n * Get the value of the passed test, or throw an error if the test failed.\n */\n getOrThrow() {\n throw new Error(this.getFailMessage());\n }\n /**\n * The side data that will be passed to run.\n */\n getSideData() {\n throw new Error(this.getFailMessage());\n }\n /**\n * Get the failure message callback of the failed test, or undefined if the test passed.\n */\n getFailMessage() {\n return this.failMessage;\n }\n /**\n * For passed tests, map the passed value to another value.\n * Failed tests will remain unchanged.\n *\n * This will not mutate the test result, and instead return a new test result.\n */\n map() {\n return this;\n }\n /**\n * For passed tests, asynchronously map the passed value to another value.\n * Failed tests will remain unchanged.\n *\n * This will not mutate the test result, and instead return a new test result.\n */\n async mapAsync() {\n return this;\n }\n}\nexports.TestResultFailed = TestResultFailed;\n//# sourceMappingURL=TestResult.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ActionContext\"), exports);\n__exportStar(require(\"./Bus\"), exports);\n__exportStar(require(\"./BusIndexed\"), exports);\n__exportStar(require(\"./ContextEntries\"), exports);\n__exportStar(require(\"./ActionObserver\"), exports);\n__exportStar(require(\"./Actor\"), exports);\n__exportStar(require(\"./Mediator\"), exports);\n__exportStar(require(\"./TestResult\"), exports);\n//# sourceMappingURL=index.js.map","/**\n * MIT License\n * \n * Copyright (c) 2014-present, Lee Byron and other contributors.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar DELETE = 'delete';\n\n// Constants describing the size of trie nodes.\nvar SHIFT = 5; // Resulted in best performance after ______?\nvar SIZE = 1 << SHIFT;\nvar MASK = SIZE - 1;\n\n// A consistent shared value representing \"not set\" which equals nothing other\n// than itself, and nothing that could be provided externally.\nvar NOT_SET = {};\n\n// Boolean references, Rough equivalent of `bool &`.\nfunction MakeRef() {\n return { value: false };\n}\n\nfunction SetRef(ref) {\n if (ref) {\n ref.value = true;\n }\n}\n\n// A function which returns a value representing an \"owner\" for transient writes\n// to tries. The return value will only ever equal itself, and will not equal\n// the return of any subsequent call of this function.\nfunction OwnerID() {}\n\nfunction ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n}\n\nfunction wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction wholeSlice(begin, end, size) {\n return (\n ((begin === 0 && !isNeg(begin)) ||\n (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size))\n );\n}\n\nfunction resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n}\n\nfunction resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n}\n\nfunction resolveIndex(index, size, defaultIndex) {\n // Sanitize indices using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n return index === undefined\n ? defaultIndex\n : isNeg(index)\n ? size === Infinity\n ? size\n : Math.max(0, size + index) | 0\n : size === undefined || size === index\n ? index\n : Math.min(size, index) | 0;\n}\n\nfunction isNeg(value) {\n // Account for -0 which is negative, but not less than 0.\n return value < 0 || (value === 0 && 1 / value === -Infinity);\n}\n\nvar IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@';\n\nfunction isCollection(maybeCollection) {\n return Boolean(maybeCollection && maybeCollection[IS_COLLECTION_SYMBOL]);\n}\n\nvar IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@';\n\nfunction isKeyed(maybeKeyed) {\n return Boolean(maybeKeyed && maybeKeyed[IS_KEYED_SYMBOL]);\n}\n\nvar IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@';\n\nfunction isIndexed(maybeIndexed) {\n return Boolean(maybeIndexed && maybeIndexed[IS_INDEXED_SYMBOL]);\n}\n\nfunction isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n}\n\nvar Collection = function Collection(value) {\n // eslint-disable-next-line no-constructor-return\n return isCollection(value) ? value : Seq(value);\n};\n\nvar KeyedCollection = /*@__PURE__*/(function (Collection) {\n function KeyedCollection(value) {\n // eslint-disable-next-line no-constructor-return\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n if ( Collection ) KeyedCollection.__proto__ = Collection;\n KeyedCollection.prototype = Object.create( Collection && Collection.prototype );\n KeyedCollection.prototype.constructor = KeyedCollection;\n\n return KeyedCollection;\n}(Collection));\n\nvar IndexedCollection = /*@__PURE__*/(function (Collection) {\n function IndexedCollection(value) {\n // eslint-disable-next-line no-constructor-return\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n if ( Collection ) IndexedCollection.__proto__ = Collection;\n IndexedCollection.prototype = Object.create( Collection && Collection.prototype );\n IndexedCollection.prototype.constructor = IndexedCollection;\n\n return IndexedCollection;\n}(Collection));\n\nvar SetCollection = /*@__PURE__*/(function (Collection) {\n function SetCollection(value) {\n // eslint-disable-next-line no-constructor-return\n return isCollection(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n if ( Collection ) SetCollection.__proto__ = Collection;\n SetCollection.prototype = Object.create( Collection && Collection.prototype );\n SetCollection.prototype.constructor = SetCollection;\n\n return SetCollection;\n}(Collection));\n\nCollection.Keyed = KeyedCollection;\nCollection.Indexed = IndexedCollection;\nCollection.Set = SetCollection;\n\nvar IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@';\n\nfunction isSeq(maybeSeq) {\n return Boolean(maybeSeq && maybeSeq[IS_SEQ_SYMBOL]);\n}\n\nvar IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@';\n\nfunction isRecord(maybeRecord) {\n return Boolean(maybeRecord && maybeRecord[IS_RECORD_SYMBOL]);\n}\n\nfunction isImmutable(maybeImmutable) {\n return isCollection(maybeImmutable) || isRecord(maybeImmutable);\n}\n\nvar IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@';\n\nfunction isOrdered(maybeOrdered) {\n return Boolean(maybeOrdered && maybeOrdered[IS_ORDERED_SYMBOL]);\n}\n\nvar ITERATE_KEYS = 0;\nvar ITERATE_VALUES = 1;\nvar ITERATE_ENTRIES = 2;\n\nvar REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\n\nvar ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\nvar Iterator = function Iterator(next) {\n this.next = next;\n};\n\nIterator.prototype.toString = function toString () {\n return '[Iterator]';\n};\n\nIterator.KEYS = ITERATE_KEYS;\nIterator.VALUES = ITERATE_VALUES;\nIterator.ENTRIES = ITERATE_ENTRIES;\n\nIterator.prototype.inspect = Iterator.prototype.toSource = function () {\n return this.toString();\n};\nIterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n};\n\nfunction iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult\n ? (iteratorResult.value = value)\n : (iteratorResult = {\n value: value,\n done: false,\n });\n return iteratorResult;\n}\n\nfunction iteratorDone() {\n return { value: undefined, done: true };\n}\n\nfunction hasIterator(maybeIterable) {\n if (Array.isArray(maybeIterable)) {\n // IE11 trick as it does not support `Symbol.iterator`\n return true;\n }\n\n return !!getIteratorFn(maybeIterable);\n}\n\nfunction isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n}\n\nfunction getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n}\n\nfunction getIteratorFn(iterable) {\n var iteratorFn =\n iterable &&\n ((REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nfunction isEntriesIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.entries;\n}\n\nfunction isKeysIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.keys;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isArrayLike(value) {\n if (Array.isArray(value) || typeof value === 'string') {\n return true;\n }\n\n return (\n value &&\n typeof value === 'object' &&\n Number.isInteger(value.length) &&\n value.length >= 0 &&\n (value.length === 0\n ? // Only {length: 0} is considered Array-like.\n Object.keys(value).length === 1\n : // An object is only Array-like if it has a property where the last value\n // in the array-like may be found (which could be undefined).\n value.hasOwnProperty(value.length - 1))\n );\n}\n\nvar Seq = /*@__PURE__*/(function (Collection) {\n function Seq(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptySequence()\n : isImmutable(value)\n ? value.toSeq()\n : seqFromValue(value);\n }\n\n if ( Collection ) Seq.__proto__ = Collection;\n Seq.prototype = Object.create( Collection && Collection.prototype );\n Seq.prototype.constructor = Seq;\n\n Seq.prototype.toSeq = function toSeq () {\n return this;\n };\n\n Seq.prototype.toString = function toString () {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function cacheResult () {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function __iterate (fn, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n while (i !== size) {\n var entry = cache[reverse ? size - ++i : i++];\n if (fn(entry[1], entry[0], this) === false) {\n break;\n }\n }\n return i;\n }\n return this.__iterateUncached(fn, reverse);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function __iterator (type, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var entry = cache[reverse ? size - ++i : i++];\n return iteratorValue(type, entry[0], entry[1]);\n });\n }\n return this.__iteratorUncached(type, reverse);\n };\n\n return Seq;\n}(Collection));\n\nvar KeyedSeq = /*@__PURE__*/(function (Seq) {\n function KeyedSeq(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptySequence().toKeyedSeq()\n : isCollection(value)\n ? isKeyed(value)\n ? value.toSeq()\n : value.fromEntrySeq()\n : isRecord(value)\n ? value.toSeq()\n : keyedSeqFromValue(value);\n }\n\n if ( Seq ) KeyedSeq.__proto__ = Seq;\n KeyedSeq.prototype = Object.create( Seq && Seq.prototype );\n KeyedSeq.prototype.constructor = KeyedSeq;\n\n KeyedSeq.prototype.toKeyedSeq = function toKeyedSeq () {\n return this;\n };\n\n return KeyedSeq;\n}(Seq));\n\nvar IndexedSeq = /*@__PURE__*/(function (Seq) {\n function IndexedSeq(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptySequence()\n : isCollection(value)\n ? isKeyed(value)\n ? value.entrySeq()\n : value.toIndexedSeq()\n : isRecord(value)\n ? value.toSeq().entrySeq()\n : indexedSeqFromValue(value);\n }\n\n if ( Seq ) IndexedSeq.__proto__ = Seq;\n IndexedSeq.prototype = Object.create( Seq && Seq.prototype );\n IndexedSeq.prototype.constructor = IndexedSeq;\n\n IndexedSeq.of = function of (/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function toIndexedSeq () {\n return this;\n };\n\n IndexedSeq.prototype.toString = function toString () {\n return this.__toString('Seq [', ']');\n };\n\n return IndexedSeq;\n}(Seq));\n\nvar SetSeq = /*@__PURE__*/(function (Seq) {\n function SetSeq(value) {\n // eslint-disable-next-line no-constructor-return\n return (\n isCollection(value) && !isAssociative(value) ? value : IndexedSeq(value)\n ).toSetSeq();\n }\n\n if ( Seq ) SetSeq.__proto__ = Seq;\n SetSeq.prototype = Object.create( Seq && Seq.prototype );\n SetSeq.prototype.constructor = SetSeq;\n\n SetSeq.of = function of (/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function toSetSeq () {\n return this;\n };\n\n return SetSeq;\n}(Seq));\n\nSeq.isSeq = isSeq;\nSeq.Keyed = KeyedSeq;\nSeq.Set = SetSeq;\nSeq.Indexed = IndexedSeq;\n\nSeq.prototype[IS_SEQ_SYMBOL] = true;\n\n// #pragma Root Sequences\n\nvar ArraySeq = /*@__PURE__*/(function (IndexedSeq) {\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n if ( IndexedSeq ) ArraySeq.__proto__ = IndexedSeq;\n ArraySeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ArraySeq.prototype.constructor = ArraySeq;\n\n ArraySeq.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function __iterate (fn, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n while (i !== size) {\n var ii = reverse ? size - ++i : i++;\n if (fn(array[ii], ii, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ArraySeq.prototype.__iterator = function __iterator (type, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var ii = reverse ? size - ++i : i++;\n return iteratorValue(type, ii, array[ii]);\n });\n };\n\n return ArraySeq;\n}(IndexedSeq));\n\nvar ObjectSeq = /*@__PURE__*/(function (KeyedSeq) {\n function ObjectSeq(object) {\n var keys = Object.keys(object).concat(\n Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : []\n );\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n if ( KeyedSeq ) ObjectSeq.__proto__ = KeyedSeq;\n ObjectSeq.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ObjectSeq.prototype.constructor = ObjectSeq;\n\n ObjectSeq.prototype.get = function get (key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function has (key) {\n return hasOwnProperty.call(this._object, key);\n };\n\n ObjectSeq.prototype.__iterate = function __iterate (fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n while (i !== size) {\n var key = keys[reverse ? size - ++i : i++];\n if (fn(object[key], key, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ObjectSeq.prototype.__iterator = function __iterator (type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var key = keys[reverse ? size - ++i : i++];\n return iteratorValue(type, key, object[key]);\n });\n };\n\n return ObjectSeq;\n}(KeyedSeq));\nObjectSeq.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar CollectionSeq = /*@__PURE__*/(function (IndexedSeq) {\n function CollectionSeq(collection) {\n this._collection = collection;\n this.size = collection.length || collection.size;\n }\n\n if ( IndexedSeq ) CollectionSeq.__proto__ = IndexedSeq;\n CollectionSeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n CollectionSeq.prototype.constructor = CollectionSeq;\n\n CollectionSeq.prototype.__iterateUncached = function __iterateUncached (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n CollectionSeq.prototype.__iteratorUncached = function __iteratorUncached (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n return CollectionSeq;\n}(IndexedSeq));\n\n// # pragma Helper functions\n\nvar EMPTY_SEQ;\n\nfunction emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n}\n\nfunction keyedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq.fromEntrySeq();\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of [k, v] entries, or keyed object: ' +\n value\n );\n}\n\nfunction indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq;\n }\n throw new TypeError(\n 'Expected Array or collection object of values: ' + value\n );\n}\n\nfunction seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return isEntriesIterable(value)\n ? seq.fromEntrySeq()\n : isKeysIterable(value)\n ? seq.toSetSeq()\n : seq;\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of values, or keyed object: ' + value\n );\n}\n\nfunction maybeIndexedSeqFromValue(value) {\n return isArrayLike(value)\n ? new ArraySeq(value)\n : hasIterator(value)\n ? new CollectionSeq(value)\n : undefined;\n}\n\nvar IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@';\n\nfunction isMap(maybeMap) {\n return Boolean(maybeMap && maybeMap[IS_MAP_SYMBOL]);\n}\n\nfunction isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n}\n\nfunction isValueObject(maybeValue) {\n return Boolean(\n maybeValue &&\n typeof maybeValue.equals === 'function' &&\n typeof maybeValue.hashCode === 'function'\n );\n}\n\n/**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections are Value Objects: they implement `equals()`\n * and `hashCode()`.\n */\nfunction is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (\n typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function'\n ) {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n return !!(\n isValueObject(valueA) &&\n isValueObject(valueB) &&\n valueA.equals(valueB)\n );\n}\n\nvar imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2\n ? Math.imul\n : function imul(a, b) {\n a |= 0; // int\n b |= 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0)) | 0; // int\n };\n\n// v8 has an optimization for storing 31-bit signed numbers.\n// Values which have either 00 or 11 as the high order bits qualify.\n// This function drops the highest order bit in a signed number, maintaining\n// the sign bit.\nfunction smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xbfffffff);\n}\n\nvar defaultValueOf = Object.prototype.valueOf;\n\nfunction hash(o) {\n if (o == null) {\n return hashNullish(o);\n }\n\n if (typeof o.hashCode === 'function') {\n // Drop any high bits from accidentally long hash codes.\n return smi(o.hashCode(o));\n }\n\n var v = valueOf(o);\n\n if (v == null) {\n return hashNullish(v);\n }\n\n switch (typeof v) {\n case 'boolean':\n // The hash values for built-in constants are a 1 value for each 5-byte\n // shift region expect for the first, which encodes the value. This\n // reduces the odds of a hash collision for these common values.\n return v ? 0x42108421 : 0x42108420;\n case 'number':\n return hashNumber(v);\n case 'string':\n return v.length > STRING_HASH_CACHE_MIN_STRLEN\n ? cachedHashString(v)\n : hashString(v);\n case 'object':\n case 'function':\n return hashJSObj(v);\n case 'symbol':\n return hashSymbol(v);\n default:\n if (typeof v.toString === 'function') {\n return hashString(v.toString());\n }\n throw new Error('Value type ' + typeof v + ' cannot be hashed.');\n }\n}\n\nfunction hashNullish(nullish) {\n return nullish === null ? 0x42108422 : /* undefined */ 0x42108423;\n}\n\n// Compress arbitrarily large numbers into smi hashes.\nfunction hashNumber(n) {\n if (n !== n || n === Infinity) {\n return 0;\n }\n var hash = n | 0;\n if (hash !== n) {\n hash ^= n * 0xffffffff;\n }\n while (n > 0xffffffff) {\n n /= 0xffffffff;\n hash ^= n;\n }\n return smi(hash);\n}\n\nfunction cachedHashString(string) {\n var hashed = stringHashCache[string];\n if (hashed === undefined) {\n hashed = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hashed;\n }\n return hashed;\n}\n\n// http://jsperf.com/hashing-strings\nfunction hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hashed = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hashed = (31 * hashed + string.charCodeAt(ii)) | 0;\n }\n return smi(hashed);\n}\n\nfunction hashSymbol(sym) {\n var hashed = symbolMap[sym];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = nextHash();\n\n symbolMap[sym] = hashed;\n\n return hashed;\n}\n\nfunction hashJSObj(obj) {\n var hashed;\n if (usingWeakMap) {\n hashed = weakMap.get(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = obj[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n if (!canDefineProperty) {\n hashed = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = getIENodeHash(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = nextHash();\n\n if (usingWeakMap) {\n weakMap.set(obj, hashed);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: hashed,\n });\n } else if (\n obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable\n ) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function () {\n return this.constructor.prototype.propertyIsEnumerable.apply(\n this,\n arguments\n );\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hashed;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hashed;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hashed;\n}\n\n// Get references to ES5 object methods.\nvar isExtensible = Object.isExtensible;\n\n// True if Object.defineProperty works as expected. IE8 fails this test.\nvar canDefineProperty = (function () {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n})();\n\n// IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n// and avoid memory leaks from the IE cloneNode bug.\nfunction getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n}\n\nfunction valueOf(obj) {\n return obj.valueOf !== defaultValueOf && typeof obj.valueOf === 'function'\n ? obj.valueOf(obj)\n : obj;\n}\n\nfunction nextHash() {\n var nextHash = ++_objHashUID;\n if (_objHashUID & 0x40000000) {\n _objHashUID = 0;\n }\n return nextHash;\n}\n\n// If possible, use a WeakMap.\nvar usingWeakMap = typeof WeakMap === 'function';\nvar weakMap;\nif (usingWeakMap) {\n weakMap = new WeakMap();\n}\n\nvar symbolMap = Object.create(null);\n\nvar _objHashUID = 0;\n\nvar UID_HASH_KEY = '__immutablehash__';\nif (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n}\n\nvar STRING_HASH_CACHE_MIN_STRLEN = 16;\nvar STRING_HASH_CACHE_MAX_SIZE = 255;\nvar STRING_HASH_CACHE_SIZE = 0;\nvar stringHashCache = {};\n\nvar ToKeyedSequence = /*@__PURE__*/(function (KeyedSeq) {\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n if ( KeyedSeq ) ToKeyedSequence.__proto__ = KeyedSeq;\n ToKeyedSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ToKeyedSequence.prototype.constructor = ToKeyedSequence;\n\n ToKeyedSequence.prototype.get = function get (key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function has (key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function valueSeq () {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function reverse () {\n var this$1$1 = this;\n\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function () { return this$1$1._iter.toSeq().reverse(); };\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function () { return this$1$1._iter.toSeq().map(mapper, context); };\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v, k) { return fn(v, k, this$1$1); }, reverse);\n };\n\n ToKeyedSequence.prototype.__iterator = function __iterator (type, reverse) {\n return this._iter.__iterator(type, reverse);\n };\n\n return ToKeyedSequence;\n}(KeyedSeq));\nToKeyedSequence.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar ToIndexedSequence = /*@__PURE__*/(function (IndexedSeq) {\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( IndexedSeq ) ToIndexedSequence.__proto__ = IndexedSeq;\n ToIndexedSequence.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ToIndexedSequence.prototype.constructor = ToIndexedSequence;\n\n ToIndexedSequence.prototype.includes = function includes (value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(this);\n return this._iter.__iterate(\n function (v) { return fn(v, reverse ? this$1$1.size - ++i : i++, this$1$1); },\n reverse\n );\n };\n\n ToIndexedSequence.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var i = 0;\n reverse && ensureSize(this);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(\n type,\n reverse ? this$1$1.size - ++i : i++,\n step.value,\n step\n );\n });\n };\n\n return ToIndexedSequence;\n}(IndexedSeq));\n\nvar ToSetSequence = /*@__PURE__*/(function (SetSeq) {\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( SetSeq ) ToSetSequence.__proto__ = SetSeq;\n ToSetSequence.prototype = Object.create( SetSeq && SetSeq.prototype );\n ToSetSequence.prototype.constructor = ToSetSequence;\n\n ToSetSequence.prototype.has = function has (key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v) { return fn(v, v, this$1$1); }, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(type, step.value, step.value, step);\n });\n };\n\n return ToSetSequence;\n}(SetSeq));\n\nvar FromEntriesSequence = /*@__PURE__*/(function (KeyedSeq) {\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n if ( KeyedSeq ) FromEntriesSequence.__proto__ = KeyedSeq;\n FromEntriesSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n FromEntriesSequence.prototype.constructor = FromEntriesSequence;\n\n FromEntriesSequence.prototype.entrySeq = function entrySeq () {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (entry) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return fn(\n indexedCollection ? entry.get(1) : entry[1],\n indexedCollection ? entry.get(0) : entry[0],\n this$1$1\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return iteratorValue(\n type,\n indexedCollection ? entry.get(0) : entry[0],\n indexedCollection ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n return FromEntriesSequence;\n}(KeyedSeq));\n\nToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\nfunction flipFactory(collection) {\n var flipSequence = makeSequence(collection);\n flipSequence._iter = collection;\n flipSequence.size = collection.size;\n flipSequence.flip = function () { return collection; };\n flipSequence.reverse = function () {\n var reversedSequence = collection.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function () { return collection.reverse(); };\n return reversedSequence;\n };\n flipSequence.has = function (key) { return collection.includes(key); };\n flipSequence.includes = function (key) { return collection.has(key); };\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(function (v, k) { return fn(k, v, this$1$1) !== false; }, reverse);\n };\n flipSequence.__iteratorUncached = function (type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = collection.__iterator(type, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return collection.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n };\n return flipSequence;\n}\n\nfunction mapFactory(collection, mapper, context) {\n var mappedSequence = makeSequence(collection);\n mappedSequence.size = collection.size;\n mappedSequence.has = function (key) { return collection.has(key); };\n mappedSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v === NOT_SET\n ? notSetValue\n : mapper.call(context, v, key, collection);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(\n function (v, k, c) { return fn(mapper.call(context, v, k, c), k, this$1$1) !== false; },\n reverse\n );\n };\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, collection),\n step\n );\n });\n };\n return mappedSequence;\n}\n\nfunction reverseFactory(collection, useKeys) {\n var this$1$1 = this;\n\n var reversedSequence = makeSequence(collection);\n reversedSequence._iter = collection;\n reversedSequence.size = collection.size;\n reversedSequence.reverse = function () { return collection; };\n if (collection.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(collection);\n flipSequence.reverse = function () { return collection.flip(); };\n return flipSequence;\n };\n }\n reversedSequence.get = function (key, notSetValue) { return collection.get(useKeys ? key : -1 - key, notSetValue); };\n reversedSequence.has = function (key) { return collection.has(useKeys ? key : -1 - key); };\n reversedSequence.includes = function (value) { return collection.includes(value); };\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(collection);\n return collection.__iterate(\n function (v, k) { return fn(v, useKeys ? k : reverse ? this$1$1.size - ++i : i++, this$1$1); },\n !reverse\n );\n };\n reversedSequence.__iterator = function (type, reverse) {\n var i = 0;\n reverse && ensureSize(collection);\n var iterator = collection.__iterator(ITERATE_ENTRIES, !reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n return iteratorValue(\n type,\n useKeys ? entry[0] : reverse ? this$1$1.size - ++i : i++,\n entry[1],\n step\n );\n });\n };\n return reversedSequence;\n}\n\nfunction filterFactory(collection, predicate, context, useKeys) {\n var filterSequence = makeSequence(collection);\n if (useKeys) {\n filterSequence.has = function (key) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, collection);\n };\n filterSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, collection)\n ? v\n : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, collection)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n };\n return filterSequence;\n}\n\nfunction countByFactory(collection, grouper, context) {\n var groups = Map().asMutable();\n collection.__iterate(function (v, k) {\n groups.update(grouper.call(context, v, k, collection), 0, function (a) { return a + 1; });\n });\n return groups.asImmutable();\n}\n\nfunction groupByFactory(collection, grouper, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = (isOrdered(collection) ? OrderedMap() : Map()).asMutable();\n collection.__iterate(function (v, k) {\n groups.update(\n grouper.call(context, v, k, collection),\n function (a) { return ((a = a || []), a.push(isKeyedIter ? [k, v] : v), a); }\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); }).asImmutable();\n}\n\nfunction partitionFactory(collection, predicate, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = [[], []];\n collection.__iterate(function (v, k) {\n groups[predicate.call(context, v, k, collection) ? 1 : 0].push(\n isKeyedIter ? [k, v] : v\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); });\n}\n\nfunction sliceFactory(collection, begin, end, useKeys) {\n var originalSize = collection.size;\n\n if (wholeSlice(begin, end, originalSize)) {\n return collection;\n }\n\n // begin or end can not be resolved if they were provided as negative numbers and\n // this collection's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (typeof originalSize === 'undefined' && (begin < 0 || end < 0)) {\n return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(collection);\n\n // If collection.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size =\n sliceSize === 0 ? sliceSize : (collection.size && sliceSize) || undefined;\n\n if (!useKeys && isSeq(collection) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize\n ? collection.get(index + resolvedBegin, notSetValue)\n : notSetValue;\n };\n }\n\n sliceSeq.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return (\n fn(v, useKeys ? k : iterations - 1, this$1$1) !== false &&\n iterations !== sliceSize\n );\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function (type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n if (sliceSize === 0) {\n return new Iterator(iteratorDone);\n }\n var iterator = collection.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function () {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES || step.done) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n }\n return iteratorValue(type, iterations - 1, step.value[1], step);\n });\n };\n\n return sliceSeq;\n}\n\nfunction takeWhileFactory(collection, predicate, context) {\n var takeSequence = makeSequence(collection);\n takeSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n collection.__iterate(\n function (v, k, c) { return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$1$1); }\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function () {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$1$1)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n}\n\nfunction skipWhileFactory(collection, predicate, context, useKeys) {\n var skipSequence = makeSequence(collection);\n skipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function () {\n var step;\n var k;\n var v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n }\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$1$1));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n}\n\nfunction concatFactory(collection, values) {\n var isKeyedCollection = isKeyed(collection);\n var iters = [collection]\n .concat(values)\n .map(function (v) {\n if (!isCollection(v)) {\n v = isKeyedCollection\n ? keyedSeqFromValue(v)\n : indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedCollection) {\n v = KeyedCollection(v);\n }\n return v;\n })\n .filter(function (v) { return v.size !== 0; });\n\n if (iters.length === 0) {\n return collection;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (\n singleton === collection ||\n (isKeyedCollection && isKeyed(singleton)) ||\n (isIndexed(collection) && isIndexed(singleton))\n ) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedCollection) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(collection)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(function (sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n }, 0);\n return concatSeq;\n}\n\nfunction flattenFactory(collection, depth, useKeys) {\n var flatSequence = makeSequence(collection);\n flatSequence.__iterateUncached = function (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {\n iter.__iterate(function (v, k) {\n if ((!depth || currentDepth < depth) && isCollection(v)) {\n flatDeep(v, currentDepth + 1);\n } else {\n iterations++;\n if (fn(v, useKeys ? k : iterations - 1, flatSequence) === false) {\n stopped = true;\n }\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(collection, 0);\n return iterations;\n };\n flatSequence.__iteratorUncached = function (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function () {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isCollection(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n };\n return flatSequence;\n}\n\nfunction flatMapFactory(collection, mapper, context) {\n var coerce = collectionClass(collection);\n return collection\n .toSeq()\n .map(function (v, k) { return coerce(mapper.call(context, v, k, collection)); })\n .flatten(true);\n}\n\nfunction interposeFactory(collection, separator) {\n var interposedSequence = makeSequence(collection);\n interposedSequence.size = collection.size && collection.size * 2 - 1;\n interposedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(\n function (v) { return (!iterations || fn(separator, iterations++, this$1$1) !== false) &&\n fn(v, iterations++, this$1$1) !== false; },\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function () {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2\n ? iteratorValue(type, iterations++, separator)\n : iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n}\n\nfunction sortFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedCollection = isKeyed(collection);\n var index = 0;\n var entries = collection\n .toSeq()\n .map(function (v, k) { return [k, v, index++, mapper ? mapper(v, k, collection) : v]; })\n .valueSeq()\n .toArray();\n entries\n .sort(function (a, b) { return comparator(a[3], b[3]) || a[2] - b[2]; })\n .forEach(\n isKeyedCollection\n ? function (v, i) {\n entries[i].length = 2;\n }\n : function (v, i) {\n entries[i] = v[1];\n }\n );\n return isKeyedCollection\n ? KeyedSeq(entries)\n : isIndexed(collection)\n ? IndexedSeq(entries)\n : SetSeq(entries);\n}\n\nfunction maxFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = collection\n .toSeq()\n .map(function (v, k) { return [v, mapper(v, k, collection)]; })\n .reduce(function (a, b) { return (maxCompare(comparator, a[1], b[1]) ? b : a); });\n return entry && entry[0];\n }\n return collection.reduce(function (a, b) { return (maxCompare(comparator, a, b) ? b : a); });\n}\n\nfunction maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (\n (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) ||\n comp > 0\n );\n}\n\nfunction zipWithFactory(keyIter, zipper, iters, zipAll) {\n var zipSequence = makeSequence(keyIter);\n var sizes = new ArraySeq(iters).map(function (i) { return i.size; });\n zipSequence.size = zipAll ? sizes.max() : sizes.min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function (fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function (type, reverse) {\n var iterators = iters.map(\n function (i) { return ((i = Collection(i)), getIterator(reverse ? i.reverse() : i)); }\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function () {\n var steps;\n if (!isDone) {\n steps = iterators.map(function (i) { return i.next(); });\n isDone = zipAll ? steps.every(function (s) { return s.done; }) : steps.some(function (s) { return s.done; });\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(\n null,\n steps.map(function (s) { return s.value; })\n )\n );\n });\n };\n return zipSequence;\n}\n\n// #pragma Helper Functions\n\nfunction reify(iter, seq) {\n return iter === seq ? iter : isSeq(iter) ? seq : iter.constructor(seq);\n}\n\nfunction validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n}\n\nfunction collectionClass(collection) {\n return isKeyed(collection)\n ? KeyedCollection\n : isIndexed(collection)\n ? IndexedCollection\n : SetCollection;\n}\n\nfunction makeSequence(collection) {\n return Object.create(\n (isKeyed(collection)\n ? KeyedSeq\n : isIndexed(collection)\n ? IndexedSeq\n : SetSeq\n ).prototype\n );\n}\n\nfunction cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n }\n return Seq.prototype.cacheResult.call(this);\n}\n\nfunction defaultComparator(a, b) {\n if (a === undefined && b === undefined) {\n return 0;\n }\n\n if (a === undefined) {\n return 1;\n }\n\n if (b === undefined) {\n return -1;\n }\n\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\nfunction arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n}\n\nfunction invariant(condition, error) {\n if (!condition) { throw new Error(error); }\n}\n\nfunction assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n}\n\nfunction coerceKeyPath(keyPath) {\n if (isArrayLike(keyPath) && typeof keyPath !== 'string') {\n return keyPath;\n }\n if (isOrdered(keyPath)) {\n return keyPath.toArray();\n }\n throw new TypeError(\n 'Invalid keyPath: expected Ordered Collection or Array: ' + keyPath\n );\n}\n\nvar toString = Object.prototype.toString;\n\nfunction isPlainObject(value) {\n // The base prototype's toString deals with Argument objects and native namespaces like Math\n if (\n !value ||\n typeof value !== 'object' ||\n toString.call(value) !== '[object Object]'\n ) {\n return false;\n }\n\n var proto = Object.getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n\n // Iteratively going up the prototype chain is needed for cross-realm environments (differing contexts, iframes, etc)\n var parentProto = proto;\n var nextProto = Object.getPrototypeOf(proto);\n while (nextProto !== null) {\n parentProto = nextProto;\n nextProto = Object.getPrototypeOf(parentProto);\n }\n return parentProto === proto;\n}\n\n/**\n * Returns true if the value is a potentially-persistent data structure, either\n * provided by Immutable.js or a plain Array or Object.\n */\nfunction isDataStructure(value) {\n return (\n typeof value === 'object' &&\n (isImmutable(value) || Array.isArray(value) || isPlainObject(value))\n );\n}\n\nfunction quoteString(value) {\n try {\n return typeof value === 'string' ? JSON.stringify(value) : String(value);\n } catch (_ignoreError) {\n return JSON.stringify(value);\n }\n}\n\nfunction has(collection, key) {\n return isImmutable(collection)\n ? collection.has(key)\n : isDataStructure(collection) && hasOwnProperty.call(collection, key);\n}\n\nfunction get(collection, key, notSetValue) {\n return isImmutable(collection)\n ? collection.get(key, notSetValue)\n : !has(collection, key)\n ? notSetValue\n : typeof collection.get === 'function'\n ? collection.get(key)\n : collection[key];\n}\n\nfunction shallowCopy(from) {\n if (Array.isArray(from)) {\n return arrCopy(from);\n }\n var to = {};\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n return to;\n}\n\nfunction remove(collection, key) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.remove) {\n throw new TypeError(\n 'Cannot update immutable value without .remove() method: ' + collection\n );\n }\n return collection.remove(key);\n }\n if (!hasOwnProperty.call(collection, key)) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n if (Array.isArray(collectionCopy)) {\n collectionCopy.splice(key, 1);\n } else {\n delete collectionCopy[key];\n }\n return collectionCopy;\n}\n\nfunction set(collection, key, value) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.set) {\n throw new TypeError(\n 'Cannot update immutable value without .set() method: ' + collection\n );\n }\n return collection.set(key, value);\n }\n if (hasOwnProperty.call(collection, key) && value === collection[key]) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n collectionCopy[key] = value;\n return collectionCopy;\n}\n\nfunction updateIn$1(collection, keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeeply(\n isImmutable(collection),\n collection,\n coerceKeyPath(keyPath),\n 0,\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? notSetValue : updatedValue;\n}\n\nfunction updateInDeeply(\n inImmutable,\n existing,\n keyPath,\n i,\n notSetValue,\n updater\n) {\n var wasNotSet = existing === NOT_SET;\n if (i === keyPath.length) {\n var existingValue = wasNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n if (!wasNotSet && !isDataStructure(existing)) {\n throw new TypeError(\n 'Cannot update within non-data-structure value in path [' +\n keyPath.slice(0, i).map(quoteString) +\n ']: ' +\n existing\n );\n }\n var key = keyPath[i];\n var nextExisting = wasNotSet ? NOT_SET : get(existing, key, NOT_SET);\n var nextUpdated = updateInDeeply(\n nextExisting === NOT_SET ? inImmutable : isImmutable(nextExisting),\n nextExisting,\n keyPath,\n i + 1,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting\n ? existing\n : nextUpdated === NOT_SET\n ? remove(existing, key)\n : set(\n wasNotSet ? (inImmutable ? emptyMap() : {}) : existing,\n key,\n nextUpdated\n );\n}\n\nfunction setIn$1(collection, keyPath, value) {\n return updateIn$1(collection, keyPath, NOT_SET, function () { return value; });\n}\n\nfunction setIn(keyPath, v) {\n return setIn$1(this, keyPath, v);\n}\n\nfunction removeIn(collection, keyPath) {\n return updateIn$1(collection, keyPath, function () { return NOT_SET; });\n}\n\nfunction deleteIn(keyPath) {\n return removeIn(this, keyPath);\n}\n\nfunction update$1(collection, key, notSetValue, updater) {\n return updateIn$1(collection, [key], notSetValue, updater);\n}\n\nfunction update(key, notSetValue, updater) {\n return arguments.length === 1\n ? key(this)\n : update$1(this, key, notSetValue, updater);\n}\n\nfunction updateIn(keyPath, notSetValue, updater) {\n return updateIn$1(this, keyPath, notSetValue, updater);\n}\n\nfunction merge$1() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeIntoKeyedWith(this, iters);\n}\n\nfunction mergeWith$1(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n if (typeof merger !== 'function') {\n throw new TypeError('Invalid merger function: ' + merger);\n }\n return mergeIntoKeyedWith(this, iters, merger);\n}\n\nfunction mergeIntoKeyedWith(collection, collections, merger) {\n var iters = [];\n for (var ii = 0; ii < collections.length; ii++) {\n var collection$1 = KeyedCollection(collections[ii]);\n if (collection$1.size !== 0) {\n iters.push(collection$1);\n }\n }\n if (iters.length === 0) {\n return collection;\n }\n if (\n collection.toSeq().size === 0 &&\n !collection.__ownerID &&\n iters.length === 1\n ) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function (collection) {\n var mergeIntoCollection = merger\n ? function (value, key) {\n update$1(collection, key, NOT_SET, function (oldVal) { return oldVal === NOT_SET ? value : merger(oldVal, value, key); }\n );\n }\n : function (value, key) {\n collection.set(key, value);\n };\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoCollection);\n }\n });\n}\n\nfunction merge(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeWithSources(collection, sources);\n}\n\nfunction mergeWith(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeWithSources(collection, sources, merger);\n}\n\nfunction mergeDeep$1(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(collection, sources);\n}\n\nfunction mergeDeepWith$1(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeDeepWithSources(collection, sources, merger);\n}\n\nfunction mergeDeepWithSources(collection, sources, merger) {\n return mergeWithSources(collection, sources, deepMergerWith(merger));\n}\n\nfunction mergeWithSources(collection, sources, merger) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot merge into non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n return typeof merger === 'function' && collection.mergeWith\n ? collection.mergeWith.apply(collection, [ merger ].concat( sources ))\n : collection.merge\n ? collection.merge.apply(collection, sources)\n : collection.concat.apply(collection, sources);\n }\n var isArray = Array.isArray(collection);\n var merged = collection;\n var Collection = isArray ? IndexedCollection : KeyedCollection;\n var mergeItem = isArray\n ? function (value) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged.push(value);\n }\n : function (value, key) {\n var hasVal = hasOwnProperty.call(merged, key);\n var nextVal =\n hasVal && merger ? merger(merged[key], value, key) : value;\n if (!hasVal || nextVal !== merged[key]) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged[key] = nextVal;\n }\n };\n for (var i = 0; i < sources.length; i++) {\n Collection(sources[i]).forEach(mergeItem);\n }\n return merged;\n}\n\nfunction deepMergerWith(merger) {\n function deepMerger(oldValue, newValue, key) {\n return isDataStructure(oldValue) &&\n isDataStructure(newValue) &&\n areMergeable(oldValue, newValue)\n ? mergeWithSources(oldValue, [newValue], deepMerger)\n : merger\n ? merger(oldValue, newValue, key)\n : newValue;\n }\n return deepMerger;\n}\n\n/**\n * It's unclear what the desired behavior is for merging two collections that\n * fall into separate categories between keyed, indexed, or set-like, so we only\n * consider them mergeable if they fall into the same category.\n */\nfunction areMergeable(oldDataStructure, newDataStructure) {\n var oldSeq = Seq(oldDataStructure);\n var newSeq = Seq(newDataStructure);\n // This logic assumes that a sequence can only fall into one of the three\n // categories mentioned above (since there's no `isSetLike()` method).\n return (\n isIndexed(oldSeq) === isIndexed(newSeq) &&\n isKeyed(oldSeq) === isKeyed(newSeq)\n );\n}\n\nfunction mergeDeep() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeDeepWithSources(this, iters);\n}\n\nfunction mergeDeepWith(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(this, iters, merger);\n}\n\nfunction mergeIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeWithSources(m, iters); });\n}\n\nfunction mergeDeepIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeDeepWithSources(m, iters); }\n );\n}\n\nfunction withMutations(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n}\n\nfunction asMutable() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n}\n\nfunction asImmutable() {\n return this.__ensureOwner();\n}\n\nfunction wasAltered() {\n return this.__altered;\n}\n\nvar Map = /*@__PURE__*/(function (KeyedCollection) {\n function Map(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptyMap()\n : isMap(value) && !isOrdered(value)\n ? value\n : emptyMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( KeyedCollection ) Map.__proto__ = KeyedCollection;\n Map.prototype = Object.create( KeyedCollection && KeyedCollection.prototype );\n Map.prototype.constructor = Map;\n\n Map.of = function of () {\n var keyValues = [], len = arguments.length;\n while ( len-- ) keyValues[ len ] = arguments[ len ];\n\n return emptyMap().withMutations(function (map) {\n for (var i = 0; i < keyValues.length; i += 2) {\n if (i + 1 >= keyValues.length) {\n throw new Error('Missing value for key: ' + keyValues[i]);\n }\n map.set(keyValues[i], keyValues[i + 1]);\n }\n });\n };\n\n Map.prototype.toString = function toString () {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function get (k, notSetValue) {\n return this._root\n ? this._root.get(0, undefined, k, notSetValue)\n : notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function set (k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.remove = function remove (k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteAll = function deleteAll (keys) {\n var collection = Collection(keys);\n\n if (collection.size === 0) {\n return this;\n }\n\n return this.withMutations(function (map) {\n collection.forEach(function (key) { return map.remove(key); });\n });\n };\n\n Map.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n Map.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (map) {\n map.forEach(function (value, key) {\n map.set(key, mapper.call(context, value, key, this$1$1));\n });\n });\n };\n\n // @pragma Mutability\n\n Map.prototype.__iterator = function __iterator (type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n this._root &&\n this._root.iterate(function (entry) {\n iterations++;\n return fn(entry[1], entry[0], this$1$1);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n return Map;\n}(KeyedCollection));\n\nMap.isMap = isMap;\n\nvar MapPrototype = Map.prototype;\nMapPrototype[IS_MAP_SYMBOL] = true;\nMapPrototype[DELETE] = MapPrototype.remove;\nMapPrototype.removeAll = MapPrototype.deleteAll;\nMapPrototype.setIn = setIn;\nMapPrototype.removeIn = MapPrototype.deleteIn = deleteIn;\nMapPrototype.update = update;\nMapPrototype.updateIn = updateIn;\nMapPrototype.merge = MapPrototype.concat = merge$1;\nMapPrototype.mergeWith = mergeWith$1;\nMapPrototype.mergeDeep = mergeDeep;\nMapPrototype.mergeDeepWith = mergeDeepWith;\nMapPrototype.mergeIn = mergeIn;\nMapPrototype.mergeDeepIn = mergeDeepIn;\nMapPrototype.withMutations = withMutations;\nMapPrototype.wasAltered = wasAltered;\nMapPrototype.asImmutable = asImmutable;\nMapPrototype['@@transducer/init'] = MapPrototype.asMutable = asMutable;\nMapPrototype['@@transducer/step'] = function (result, arr) {\n return result.set(arr[0], arr[1]);\n};\nMapPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\n// #pragma Trie Nodes\n\nvar ArrayMapNode = function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n};\n\nArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n};\n\nvar BitmapIndexedNode = function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n};\n\nBitmapIndexedNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK);\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0\n ? notSetValue\n : this.nodes[popCount(bitmap & (bit - 1))].get(\n shift + SHIFT,\n keyHash,\n key,\n notSetValue\n );\n};\n\nBitmapIndexedNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (\n exists &&\n !newNode &&\n nodes.length === 2 &&\n isLeafNode(nodes[idx ^ 1])\n ) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? (newNode ? bitmap : bitmap ^ bit) : bitmap | bit;\n var newNodes = exists\n ? newNode\n ? setAt(nodes, idx, newNode, isEditable)\n : spliceOut(nodes, idx, isEditable)\n : spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n};\n\nvar HashArrayMapNode = function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n};\n\nHashArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node\n ? node.get(shift + SHIFT, keyHash, key, notSetValue)\n : notSetValue;\n};\n\nHashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setAt(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n};\n\nvar HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n};\n\nHashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nHashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n};\n\nvar ValueNode = function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n};\n\nValueNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n};\n\nValueNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n};\n\n// #pragma Iterators\n\nArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate =\n function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n };\n\nBitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate =\n function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n };\n\n// eslint-disable-next-line no-unused-vars\nValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n};\n\nvar MapIterator = /*@__PURE__*/(function (Iterator) {\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n if ( Iterator ) MapIterator.__proto__ = Iterator;\n MapIterator.prototype = Object.create( Iterator && Iterator.prototype );\n MapIterator.prototype.constructor = MapIterator;\n\n MapIterator.prototype.next = function next () {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex = (void 0);\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(\n type,\n node.entries[this._reverse ? maxIndex - index : index]\n );\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n return MapIterator;\n}(Iterator));\n\nfunction mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n}\n\nfunction mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev,\n };\n}\n\nfunction makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_MAP;\nfunction emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n}\n\nfunction updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef();\n var didAlter = MakeRef();\n newRoot = updateNode(\n map._root,\n map.__ownerID,\n 0,\n undefined,\n k,\n v,\n didChangeSize,\n didAlter\n );\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? (v === NOT_SET ? -1 : 1) : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n}\n\nfunction updateNode(\n node,\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n}\n\nfunction isLeafNode(node) {\n return (\n node.constructor === ValueNode || node.constructor === HashCollisionNode\n );\n}\n\nfunction mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes =\n idx1 === idx2\n ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)]\n : ((newNode = new ValueNode(ownerID, keyHash, entry)),\n idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n}\n\nfunction createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n}\n\nfunction packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n}\n\nfunction expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n}\n\nfunction popCount(x) {\n x -= (x >> 1) & 0x55555555;\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x += x >> 8;\n x += x >> 16;\n return x & 0x7f;\n}\n\nfunction setAt(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n}\n\nfunction spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n}\n\nfunction spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n}\n\nvar MAX_ARRAY_MAP_SIZE = SIZE / 4;\nvar MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\nvar MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\nvar IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';\n\nfunction isList(maybeList) {\n return Boolean(maybeList && maybeList[IS_LIST_SYMBOL]);\n}\n\nvar List = /*@__PURE__*/(function (IndexedCollection) {\n function List(value) {\n var empty = emptyList();\n if (value === undefined || value === null) {\n // eslint-disable-next-line no-constructor-return\n return empty;\n }\n if (isList(value)) {\n // eslint-disable-next-line no-constructor-return\n return value;\n }\n var iter = IndexedCollection(value);\n var size = iter.size;\n if (size === 0) {\n // eslint-disable-next-line no-constructor-return\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n // eslint-disable-next-line no-constructor-return\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n // eslint-disable-next-line no-constructor-return\n return empty.withMutations(function (list) {\n list.setSize(size);\n iter.forEach(function (v, i) { return list.set(i, v); });\n });\n }\n\n if ( IndexedCollection ) List.__proto__ = IndexedCollection;\n List.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n List.prototype.constructor = List;\n\n List.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function toString () {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function get (index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function set (index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function remove (index) {\n return !this.has(index)\n ? this\n : index === 0\n ? this.shift()\n : index === this.size - 1\n ? this.pop()\n : this.splice(index, 1);\n };\n\n List.prototype.insert = function insert (index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function push (/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function (list) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function pop () {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function unshift (/*...values*/) {\n var values = arguments;\n return this.withMutations(function (list) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function shift () {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.concat = function concat (/*...collections*/) {\n var arguments$1 = arguments;\n\n var seqs = [];\n for (var i = 0; i < arguments.length; i++) {\n var argument = arguments$1[i];\n var seq = IndexedCollection(\n typeof argument !== 'string' && hasIterator(argument)\n ? argument\n : [argument]\n );\n if (seq.size !== 0) {\n seqs.push(seq);\n }\n }\n if (seqs.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && seqs.length === 1) {\n return this.constructor(seqs[0]);\n }\n return this.withMutations(function (list) {\n seqs.forEach(function (seq) { return seq.forEach(function (value) { return list.push(value); }); });\n });\n };\n\n List.prototype.setSize = function setSize (size) {\n return setListBounds(this, 0, size);\n };\n\n List.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (list) {\n for (var i = 0; i < this$1$1.size; i++) {\n list.set(i, mapper.call(context, list.get(i), i, this$1$1));\n }\n });\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function slice (begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function __iterator (type, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n return new Iterator(function () {\n var value = values();\n return value === DONE\n ? iteratorDone()\n : iteratorValue(type, reverse ? --index : index++, value);\n });\n };\n\n List.prototype.__iterate = function __iterate (fn, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, reverse ? --index : index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyList();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeList(\n this._origin,\n this._capacity,\n this._level,\n this._root,\n this._tail,\n ownerID,\n this.__hash\n );\n };\n\n return List;\n}(IndexedCollection));\n\nList.isList = isList;\n\nvar ListPrototype = List.prototype;\nListPrototype[IS_LIST_SYMBOL] = true;\nListPrototype[DELETE] = ListPrototype.remove;\nListPrototype.merge = ListPrototype.concat;\nListPrototype.setIn = setIn;\nListPrototype.deleteIn = ListPrototype.removeIn = deleteIn;\nListPrototype.update = update;\nListPrototype.updateIn = updateIn;\nListPrototype.mergeIn = mergeIn;\nListPrototype.mergeDeepIn = mergeDeepIn;\nListPrototype.withMutations = withMutations;\nListPrototype.wasAltered = wasAltered;\nListPrototype.asImmutable = asImmutable;\nListPrototype['@@transducer/init'] = ListPrototype.asMutable = asMutable;\nListPrototype['@@transducer/step'] = function (result, arr) {\n return result.push(arr);\n};\nListPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nvar VNode = function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n};\n\n// TODO: seems like these methods are very similar\n\nVNode.prototype.removeBefore = function removeBefore (ownerID, level, index) {\n if (index === level ? 1 << level : this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild =\n oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n};\n\nVNode.prototype.removeAfter = function removeAfter (ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild =\n oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n};\n\nvar DONE = {};\n\nfunction iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0\n ? iterateLeaf(node, offset)\n : iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n while (true) {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx],\n level - SHIFT,\n offset + (idx << level)\n );\n }\n };\n }\n}\n\nfunction makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n}\n\nvar EMPTY_LIST;\nfunction emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n}\n\nfunction updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function (list) {\n index < 0\n ? setListBounds(list, index).set(0, value)\n : setListBounds(list, 0, index + 1).set(index, value);\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef();\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(\n newRoot,\n list.__ownerID,\n list._level,\n index,\n value,\n didAlter\n );\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n}\n\nfunction updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(\n lowerNode,\n ownerID,\n level - SHIFT,\n index,\n value,\n didAlter\n );\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n if (didAlter) {\n SetRef(didAlter);\n }\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n}\n\nfunction editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n}\n\nfunction listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n}\n\nfunction setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin |= 0;\n }\n if (end !== undefined) {\n end |= 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity =\n end === undefined\n ? oldCapacity\n : end < 0\n ? oldCapacity + end\n : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [undefined, newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail =\n newTailOffset < oldTailOffset\n ? listNodeFor(list, newCapacity - 1)\n : newTailOffset > oldTailOffset\n ? new VNode([], owner)\n : oldTail;\n\n // Merge Tail into tree.\n if (\n oldTail &&\n newTailOffset > oldTailOffset &&\n newOrigin < oldCapacity &&\n oldTail.array.length\n ) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if ((beginIndex !== newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(\n owner,\n newLevel,\n newTailOffset - offsetShift\n );\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n}\n\nfunction getTailOffset(size) {\n return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT;\n}\n\nvar OrderedMap = /*@__PURE__*/(function (Map) {\n function OrderedMap(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptyOrderedMap()\n : isOrderedMap(value)\n ? value\n : emptyOrderedMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( Map ) OrderedMap.__proto__ = Map;\n OrderedMap.prototype = Object.create( Map && Map.prototype );\n OrderedMap.prototype.constructor = OrderedMap;\n\n OrderedMap.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function toString () {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function get (k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n this.__altered = true;\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function set (k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function remove (k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._list.__iterate(\n function (entry) { return entry && fn(entry[1], entry[0], this$1$1); },\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function __iterator (type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return emptyOrderedMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n return OrderedMap;\n}(Map));\n\nOrderedMap.isOrderedMap = isOrderedMap;\n\nOrderedMap.prototype[IS_ORDERED_SYMBOL] = true;\nOrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\nfunction makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n omap.__altered = false;\n return omap;\n}\n\nvar EMPTY_ORDERED_MAP;\nfunction emptyOrderedMap() {\n return (\n EMPTY_ORDERED_MAP ||\n (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()))\n );\n}\n\nfunction updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) {\n // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function (entry, idx) { return entry !== undefined && i !== idx; });\n newMap = newList\n .toKeyedSeq()\n .map(function (entry) { return entry[0]; })\n .flip()\n .toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n omap.__altered = true;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n}\n\nvar IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@';\n\nfunction isStack(maybeStack) {\n return Boolean(maybeStack && maybeStack[IS_STACK_SYMBOL]);\n}\n\nvar Stack = /*@__PURE__*/(function (IndexedCollection) {\n function Stack(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptyStack()\n : isStack(value)\n ? value\n : emptyStack().pushAll(value);\n }\n\n if ( IndexedCollection ) Stack.__proto__ = IndexedCollection;\n Stack.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n Stack.prototype.constructor = Stack;\n\n Stack.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function toString () {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function get (index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function peek () {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function push (/*...values*/) {\n var arguments$1 = arguments;\n\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments$1[ii],\n next: head,\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function pushAll (iter) {\n iter = IndexedCollection(iter);\n if (iter.size === 0) {\n return this;\n }\n if (this.size === 0 && isStack(iter)) {\n return iter;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.__iterate(function (value) {\n newSize++;\n head = {\n value: value,\n next: head,\n };\n }, /* reverse */ true);\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function pop () {\n return this.slice(1);\n };\n\n Stack.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyStack();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterate(\n function (v, k) { return fn(v, k, this$1$1); },\n reverse\n );\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function __iterator (type, reverse) {\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterator(type, reverse);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function () {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n return Stack;\n}(IndexedCollection));\n\nStack.isStack = isStack;\n\nvar StackPrototype = Stack.prototype;\nStackPrototype[IS_STACK_SYMBOL] = true;\nStackPrototype.shift = StackPrototype.pop;\nStackPrototype.unshift = StackPrototype.push;\nStackPrototype.unshiftAll = StackPrototype.pushAll;\nStackPrototype.withMutations = withMutations;\nStackPrototype.wasAltered = wasAltered;\nStackPrototype.asImmutable = asImmutable;\nStackPrototype['@@transducer/init'] = StackPrototype.asMutable = asMutable;\nStackPrototype['@@transducer/step'] = function (result, arr) {\n return result.unshift(arr);\n};\nStackPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nfunction makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_STACK;\nfunction emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n}\n\nvar IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@';\n\nfunction isSet(maybeSet) {\n return Boolean(maybeSet && maybeSet[IS_SET_SYMBOL]);\n}\n\nfunction isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n}\n\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isCollection(b) ||\n (a.size !== undefined && b.size !== undefined && a.size !== b.size) ||\n (a.__hash !== undefined &&\n b.__hash !== undefined &&\n a.__hash !== b.__hash) ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return (\n b.every(function (v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done\n );\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function (v, k) {\n if (\n notAssociative\n ? !a.has(v)\n : flipped\n ? !is(v, a.get(k, NOT_SET))\n : !is(a.get(k, NOT_SET), v)\n ) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n}\n\nfunction mixin(ctor, methods) {\n var keyCopier = function (key) {\n ctor.prototype[key] = methods[key];\n };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n}\n\nfunction toJS(value) {\n if (!value || typeof value !== 'object') {\n return value;\n }\n if (!isCollection(value)) {\n if (!isDataStructure(value)) {\n return value;\n }\n value = Seq(value);\n }\n if (isKeyed(value)) {\n var result$1 = {};\n value.__iterate(function (v, k) {\n result$1[k] = toJS(v);\n });\n return result$1;\n }\n var result = [];\n value.__iterate(function (v) {\n result.push(toJS(v));\n });\n return result;\n}\n\nvar Set = /*@__PURE__*/(function (SetCollection) {\n function Set(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptySet()\n : isSet(value) && !isOrdered(value)\n ? value\n : emptySet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( SetCollection ) Set.__proto__ = SetCollection;\n Set.prototype = Object.create( SetCollection && SetCollection.prototype );\n Set.prototype.constructor = Set;\n\n Set.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n Set.intersect = function intersect (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.intersect.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.union = function union (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.union.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.prototype.toString = function toString () {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function has (value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function add (value) {\n return updateSet(this, this._map.set(value, value));\n };\n\n Set.prototype.remove = function remove (value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function clear () {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n // keep track if the set is altered by the map function\n var didChanges = false;\n\n var newMap = updateSet(\n this,\n this._map.mapEntries(function (ref) {\n var v = ref[1];\n\n var mapped = mapper.call(context, v, v, this$1$1);\n\n if (mapped !== v) {\n didChanges = true;\n }\n\n return [mapped, mapped];\n }, context)\n );\n\n return didChanges ? newMap : this;\n };\n\n Set.prototype.union = function union () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n iters = iters.filter(function (x) { return x.size !== 0; });\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function (set) {\n for (var ii = 0; ii < iters.length; ii++) {\n if (typeof iters[ii] === 'string') {\n set.add(iters[ii]);\n } else {\n SetCollection(iters[ii]).forEach(function (value) { return set.add(value); });\n }\n }\n });\n };\n\n Set.prototype.intersect = function intersect () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (!iters.every(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.subtract = function subtract () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (iters.some(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function wasAltered () {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._map.__iterate(function (k) { return fn(k, k, this$1$1); }, reverse);\n };\n\n Set.prototype.__iterator = function __iterator (type, reverse) {\n return this._map.__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return this.__empty();\n }\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n return Set;\n}(SetCollection));\n\nSet.isSet = isSet;\n\nvar SetPrototype = Set.prototype;\nSetPrototype[IS_SET_SYMBOL] = true;\nSetPrototype[DELETE] = SetPrototype.remove;\nSetPrototype.merge = SetPrototype.concat = SetPrototype.union;\nSetPrototype.withMutations = withMutations;\nSetPrototype.asImmutable = asImmutable;\nSetPrototype['@@transducer/init'] = SetPrototype.asMutable = asMutable;\nSetPrototype['@@transducer/step'] = function (result, arr) {\n return result.add(arr);\n};\nSetPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nSetPrototype.__empty = emptySet;\nSetPrototype.__make = makeSet;\n\nfunction updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map\n ? set\n : newMap.size === 0\n ? set.__empty()\n : set.__make(newMap);\n}\n\nfunction makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_SET;\nfunction emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n}\n\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1, and end to\n * infinity. When start is equal to end, returns empty list.\n */\nvar Range = /*@__PURE__*/(function (IndexedSeq) {\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n // eslint-disable-next-line no-constructor-return\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n // eslint-disable-next-line no-constructor-return\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n if ( IndexedSeq ) Range.__proto__ = IndexedSeq;\n Range.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Range.prototype.constructor = Range;\n\n Range.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Range []';\n }\n return (\n 'Range [ ' +\n this._start +\n '...' +\n this._end +\n (this._step !== 1 ? ' by ' + this._step : '') +\n ' ]'\n );\n };\n\n Range.prototype.get = function get (index, notSetValue) {\n return this.has(index)\n ? this._start + wrapIndex(this, index) * this._step\n : notSetValue;\n };\n\n Range.prototype.includes = function includes (searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return (\n possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex)\n );\n };\n\n Range.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(\n this.get(begin, this._end),\n this.get(end, this._end),\n this._step\n );\n };\n\n Range.prototype.indexOf = function indexOf (searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index;\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n while (i !== size) {\n if (fn(value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n value += reverse ? -step : step;\n }\n return i;\n };\n\n Range.prototype.__iterator = function __iterator (type, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var v = value;\n value += reverse ? -step : step;\n return iteratorValue(type, reverse ? size - ++i : i++, v);\n });\n };\n\n Range.prototype.equals = function equals (other) {\n return other instanceof Range\n ? this._start === other._start &&\n this._end === other._end &&\n this._step === other._step\n : deepEqual(this, other);\n };\n\n return Range;\n}(IndexedSeq));\n\nvar EMPTY_RANGE;\n\nfunction getIn$1(collection, searchKeyPath, notSetValue) {\n var keyPath = coerceKeyPath(searchKeyPath);\n var i = 0;\n while (i !== keyPath.length) {\n collection = get(collection, keyPath[i++], NOT_SET);\n if (collection === NOT_SET) {\n return notSetValue;\n }\n }\n return collection;\n}\n\nfunction getIn(searchKeyPath, notSetValue) {\n return getIn$1(this, searchKeyPath, notSetValue);\n}\n\nfunction hasIn$1(collection, keyPath) {\n return getIn$1(collection, keyPath, NOT_SET) !== NOT_SET;\n}\n\nfunction hasIn(searchKeyPath) {\n return hasIn$1(this, searchKeyPath);\n}\n\nfunction toObject() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function (v, k) {\n object[k] = v;\n });\n return object;\n}\n\n// Note: all of these methods are deprecated.\nCollection.isIterable = isCollection;\nCollection.isKeyed = isKeyed;\nCollection.isIndexed = isIndexed;\nCollection.isAssociative = isAssociative;\nCollection.isOrdered = isOrdered;\n\nCollection.Iterator = Iterator;\n\nmixin(Collection, {\n // ### Conversion to other types\n\n toArray: function toArray() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n var useTuples = isKeyed(this);\n var i = 0;\n this.__iterate(function (v, k) {\n // Keyed collections produce an array of tuples.\n array[i++] = useTuples ? [k, v] : v;\n });\n return array;\n },\n\n toIndexedSeq: function toIndexedSeq() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function toJS$1() {\n return toJS(this);\n },\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function toMap() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: toObject,\n\n toOrderedMap: function toOrderedMap() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function toOrderedSet() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function toSet() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function toSetSeq() {\n return new ToSetSequence(this);\n },\n\n toSeq: function toSeq() {\n return isIndexed(this)\n ? this.toIndexedSeq()\n : isKeyed(this)\n ? this.toKeyedSeq()\n : this.toSetSeq();\n },\n\n toStack: function toStack() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function toList() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n // ### Common JavaScript methods and properties\n\n toString: function toString() {\n return '[Collection]';\n },\n\n __toString: function __toString(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return (\n head +\n ' ' +\n this.toSeq().map(this.__toStringMapper).join(', ') +\n ' ' +\n tail\n );\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function concat() {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return reify(this, concatFactory(this, values));\n },\n\n includes: function includes(searchValue) {\n return this.some(function (value) { return is(value, searchValue); });\n },\n\n entries: function entries() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function every(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function (v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n partition: function partition(predicate, context) {\n return partitionFactory(this, predicate, context);\n },\n\n find: function find(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n forEach: function forEach(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function join(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function (v) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function keys() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function map(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function reduce$1(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n false\n );\n },\n\n reduceRight: function reduceRight(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n true\n );\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function some(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = false;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n returnValue = true;\n return false;\n }\n });\n return returnValue;\n },\n\n sort: function sort(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function values() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n // ### More sequential methods\n\n butLast: function butLast() {\n return this.slice(0, -1);\n },\n\n isEmpty: function isEmpty() {\n return this.size !== undefined ? this.size === 0 : !this.some(function () { return true; });\n },\n\n count: function count(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function countBy(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function equals(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function entrySeq() {\n var collection = this;\n if (collection._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(collection._cache);\n }\n var entriesSequence = collection.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function () { return collection.toSeq(); };\n return entriesSequence;\n },\n\n filterNot: function filterNot(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findEntry: function findEntry(predicate, context, notSetValue) {\n var found = notSetValue;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findKey: function findKey(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLast: function findLast(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n findLastEntry: function findLastEntry(predicate, context, notSetValue) {\n return this.toKeyedSeq()\n .reverse()\n .findEntry(predicate, context, notSetValue);\n },\n\n findLastKey: function findLastKey(predicate, context) {\n return this.toKeyedSeq().reverse().findKey(predicate, context);\n },\n\n first: function first(notSetValue) {\n return this.find(returnTrue, null, notSetValue);\n },\n\n flatMap: function flatMap(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function fromEntrySeq() {\n return new FromEntriesSequence(this);\n },\n\n get: function get(searchKey, notSetValue) {\n return this.find(function (_, key) { return is(key, searchKey); }, undefined, notSetValue);\n },\n\n getIn: getIn,\n\n groupBy: function groupBy(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function has(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: hasIn,\n\n isSubset: function isSubset(iter) {\n iter = typeof iter.includes === 'function' ? iter : Collection(iter);\n return this.every(function (value) { return iter.includes(value); });\n },\n\n isSuperset: function isSuperset(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Collection(iter);\n return iter.isSubset(this);\n },\n\n keyOf: function keyOf(searchValue) {\n return this.findKey(function (value) { return is(value, searchValue); });\n },\n\n keySeq: function keySeq() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function last(notSetValue) {\n return this.toSeq().reverse().first(notSetValue);\n },\n\n lastKeyOf: function lastKeyOf(searchValue) {\n return this.toKeyedSeq().reverse().keyOf(searchValue);\n },\n\n max: function max(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function maxBy(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function min(comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator\n );\n },\n\n minBy: function minBy(mapper, comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator,\n mapper\n );\n },\n\n rest: function rest() {\n return this.slice(1);\n },\n\n skip: function skip(amount) {\n return amount === 0 ? this : this.slice(Math.max(0, amount));\n },\n\n skipLast: function skipLast(amount) {\n return amount === 0 ? this : this.slice(0, -Math.max(0, amount));\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function skipUntil(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function sortBy(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function take(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function takeLast(amount) {\n return this.slice(-Math.max(0, amount));\n },\n\n takeWhile: function takeWhile(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function takeUntil(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n update: function update(fn) {\n return fn(this);\n },\n\n valueSeq: function valueSeq() {\n return this.toIndexedSeq();\n },\n\n // ### Hashable Object\n\n hashCode: function hashCode() {\n return this.__hash || (this.__hash = hashCollection(this));\n },\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n});\n\nvar CollectionPrototype = Collection.prototype;\nCollectionPrototype[IS_COLLECTION_SYMBOL] = true;\nCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.values;\nCollectionPrototype.toJSON = CollectionPrototype.toArray;\nCollectionPrototype.__toStringMapper = quoteString;\nCollectionPrototype.inspect = CollectionPrototype.toSource = function () {\n return this.toString();\n};\nCollectionPrototype.chain = CollectionPrototype.flatMap;\nCollectionPrototype.contains = CollectionPrototype.includes;\n\nmixin(KeyedCollection, {\n // ### More sequential methods\n\n flip: function flip() {\n return reify(this, flipFactory(this));\n },\n\n mapEntries: function mapEntries(mapper, context) {\n var this$1$1 = this;\n\n var iterations = 0;\n return reify(\n this,\n this.toSeq()\n .map(function (v, k) { return mapper.call(context, [k, v], iterations++, this$1$1); })\n .fromEntrySeq()\n );\n },\n\n mapKeys: function mapKeys(mapper, context) {\n var this$1$1 = this;\n\n return reify(\n this,\n this.toSeq()\n .flip()\n .map(function (k, v) { return mapper.call(context, k, v, this$1$1); })\n .flip()\n );\n },\n});\n\nvar KeyedCollectionPrototype = KeyedCollection.prototype;\nKeyedCollectionPrototype[IS_KEYED_SYMBOL] = true;\nKeyedCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.entries;\nKeyedCollectionPrototype.toJSON = toObject;\nKeyedCollectionPrototype.__toStringMapper = function (v, k) { return quoteString(k) + ': ' + quoteString(v); };\n\nmixin(IndexedCollection, {\n // ### Conversion to other types\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, false);\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function findIndex(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function indexOf(searchValue) {\n var key = this.keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function lastIndexOf(searchValue) {\n var key = this.lastKeyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function splice(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum || 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1\n ? spliced\n : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n // ### More collection methods\n\n findLastIndex: function findLastIndex(predicate, context) {\n var entry = this.findLastEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n first: function first(notSetValue) {\n return this.get(0, notSetValue);\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function get(index, notSetValue) {\n index = wrapIndex(this, index);\n return index < 0 ||\n this.size === Infinity ||\n (this.size !== undefined && index > this.size)\n ? notSetValue\n : this.find(function (_, key) { return key === index; }, undefined, notSetValue);\n },\n\n has: function has(index) {\n index = wrapIndex(this, index);\n return (\n index >= 0 &&\n (this.size !== undefined\n ? this.size === Infinity || index < this.size\n : this.indexOf(index) !== -1)\n );\n },\n\n interpose: function interpose(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function interleave(/*...collections*/) {\n var collections = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, collections);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * collections.length;\n }\n return reify(this, interleaved);\n },\n\n keySeq: function keySeq() {\n return Range(0, this.size);\n },\n\n last: function last(notSetValue) {\n return this.get(-1, notSetValue);\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function zip(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections));\n },\n\n zipAll: function zipAll(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections, true));\n },\n\n zipWith: function zipWith(zipper /*, ...collections */) {\n var collections = arrCopy(arguments);\n collections[0] = this;\n return reify(this, zipWithFactory(this, zipper, collections));\n },\n});\n\nvar IndexedCollectionPrototype = IndexedCollection.prototype;\nIndexedCollectionPrototype[IS_INDEXED_SYMBOL] = true;\nIndexedCollectionPrototype[IS_ORDERED_SYMBOL] = true;\n\nmixin(SetCollection, {\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function get(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function includes(value) {\n return this.has(value);\n },\n\n // ### More sequential methods\n\n keySeq: function keySeq() {\n return this.valueSeq();\n },\n});\n\nvar SetCollectionPrototype = SetCollection.prototype;\nSetCollectionPrototype.has = CollectionPrototype.includes;\nSetCollectionPrototype.contains = SetCollectionPrototype.includes;\nSetCollectionPrototype.keys = SetCollectionPrototype.values;\n\n// Mixin subclasses\n\nmixin(KeyedSeq, KeyedCollectionPrototype);\nmixin(IndexedSeq, IndexedCollectionPrototype);\nmixin(SetSeq, SetCollectionPrototype);\n\n// #pragma Helper functions\n\nfunction reduce(collection, reducer, reduction, context, useFirst, reverse) {\n assertNotInfinite(collection.size);\n collection.__iterate(function (v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n }, reverse);\n return reduction;\n}\n\nfunction keyMapper(v, k) {\n return k;\n}\n\nfunction entryMapper(v, k) {\n return [k, v];\n}\n\nfunction not(predicate) {\n return function () {\n return !predicate.apply(this, arguments);\n };\n}\n\nfunction neg(predicate) {\n return function () {\n return -predicate.apply(this, arguments);\n };\n}\n\nfunction defaultZipper() {\n return arrCopy(arguments);\n}\n\nfunction defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n}\n\nfunction hashCollection(collection) {\n if (collection.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(collection);\n var keyed = isKeyed(collection);\n var h = ordered ? 1 : 0;\n var size = collection.__iterate(\n keyed\n ? ordered\n ? function (v, k) {\n h = (31 * h + hashMerge(hash(v), hash(k))) | 0;\n }\n : function (v, k) {\n h = (h + hashMerge(hash(v), hash(k))) | 0;\n }\n : ordered\n ? function (v) {\n h = (31 * h + hash(v)) | 0;\n }\n : function (v) {\n h = (h + hash(v)) | 0;\n }\n );\n return murmurHashOfSize(size, h);\n}\n\nfunction murmurHashOfSize(size, h) {\n h = imul(h, 0xcc9e2d51);\n h = imul((h << 15) | (h >>> -15), 0x1b873593);\n h = imul((h << 13) | (h >>> -13), 5);\n h = ((h + 0xe6546b64) | 0) ^ size;\n h = imul(h ^ (h >>> 16), 0x85ebca6b);\n h = imul(h ^ (h >>> 13), 0xc2b2ae35);\n h = smi(h ^ (h >>> 16));\n return h;\n}\n\nfunction hashMerge(a, b) {\n return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0; // int\n}\n\nvar OrderedSet = /*@__PURE__*/(function (Set) {\n function OrderedSet(value) {\n // eslint-disable-next-line no-constructor-return\n return value === undefined || value === null\n ? emptyOrderedSet()\n : isOrderedSet(value)\n ? value\n : emptyOrderedSet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( Set ) OrderedSet.__proto__ = Set;\n OrderedSet.prototype = Object.create( Set && Set.prototype );\n OrderedSet.prototype.constructor = OrderedSet;\n\n OrderedSet.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function toString () {\n return this.__toString('OrderedSet {', '}');\n };\n\n return OrderedSet;\n}(Set));\n\nOrderedSet.isOrderedSet = isOrderedSet;\n\nvar OrderedSetPrototype = OrderedSet.prototype;\nOrderedSetPrototype[IS_ORDERED_SYMBOL] = true;\nOrderedSetPrototype.zip = IndexedCollectionPrototype.zip;\nOrderedSetPrototype.zipWith = IndexedCollectionPrototype.zipWith;\nOrderedSetPrototype.zipAll = IndexedCollectionPrototype.zipAll;\n\nOrderedSetPrototype.__empty = emptyOrderedSet;\nOrderedSetPrototype.__make = makeOrderedSet;\n\nfunction makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_ORDERED_SET;\nfunction emptyOrderedSet() {\n return (\n EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()))\n );\n}\n\nvar PairSorting = {\n LeftThenRight: -1,\n RightThenLeft: +1,\n};\n\nfunction throwOnInvalidDefaultValues(defaultValues) {\n if (isRecord(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.'\n );\n }\n\n if (isImmutable(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.'\n );\n }\n\n if (defaultValues === null || typeof defaultValues !== 'object') {\n throw new Error(\n 'Can not call `Record` with a non-object as default values. Use a plain javascript object instead.'\n );\n }\n}\n\nvar Record = function Record(defaultValues, name) {\n var hasInitialized;\n\n throwOnInvalidDefaultValues(defaultValues);\n\n var RecordType = function Record(values) {\n var this$1$1 = this;\n\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n var indices = (RecordTypePrototype._indices = {});\n // Deprecated: left to attempt not to break any external code which\n // relies on a ._name property existing on record instances.\n // Use Record.getDescriptiveName() instead\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n for (var i = 0; i < keys.length; i++) {\n var propName = keys[i];\n indices[propName] = i;\n if (RecordTypePrototype[propName]) {\n /* eslint-disable no-console */\n typeof console === 'object' &&\n console.warn &&\n console.warn(\n 'Cannot define ' +\n recordName(this) +\n ' with property \"' +\n propName +\n '\" since that property name is part of the Record API.'\n );\n /* eslint-enable no-console */\n } else {\n setProp(RecordTypePrototype, propName);\n }\n }\n }\n this.__ownerID = undefined;\n this._values = List().withMutations(function (l) {\n l.setSize(this$1$1._keys.length);\n KeyedCollection(values).forEach(function (v, k) {\n l.set(this$1$1._indices[k], v === this$1$1._defaultValues[k] ? undefined : v);\n });\n });\n return this;\n };\n\n var RecordTypePrototype = (RecordType.prototype =\n Object.create(RecordPrototype));\n RecordTypePrototype.constructor = RecordType;\n\n if (name) {\n RecordType.displayName = name;\n }\n\n // eslint-disable-next-line no-constructor-return\n return RecordType;\n};\n\nRecord.prototype.toString = function toString () {\n var str = recordName(this) + ' { ';\n var keys = this._keys;\n var k;\n for (var i = 0, l = keys.length; i !== l; i++) {\n k = keys[i];\n str += (i ? ', ' : '') + k + ': ' + quoteString(this.get(k));\n }\n return str + ' }';\n};\n\nRecord.prototype.equals = function equals (other) {\n return (\n this === other ||\n (isRecord(other) && recordSeq(this).equals(recordSeq(other)))\n );\n};\n\nRecord.prototype.hashCode = function hashCode () {\n return recordSeq(this).hashCode();\n};\n\n// @pragma Access\n\nRecord.prototype.has = function has (k) {\n return this._indices.hasOwnProperty(k);\n};\n\nRecord.prototype.get = function get (k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var index = this._indices[k];\n var value = this._values.get(index);\n return value === undefined ? this._defaultValues[k] : value;\n};\n\n// @pragma Modification\n\nRecord.prototype.set = function set (k, v) {\n if (this.has(k)) {\n var newValues = this._values.set(\n this._indices[k],\n v === this._defaultValues[k] ? undefined : v\n );\n if (newValues !== this._values && !this.__ownerID) {\n return makeRecord(this, newValues);\n }\n }\n return this;\n};\n\nRecord.prototype.remove = function remove (k) {\n return this.set(k);\n};\n\nRecord.prototype.clear = function clear () {\n var newValues = this._values.clear().setSize(this._keys.length);\n\n return this.__ownerID ? this : makeRecord(this, newValues);\n};\n\nRecord.prototype.wasAltered = function wasAltered () {\n return this._values.wasAltered();\n};\n\nRecord.prototype.toSeq = function toSeq () {\n return recordSeq(this);\n};\n\nRecord.prototype.toJS = function toJS$1 () {\n return toJS(this);\n};\n\nRecord.prototype.entries = function entries () {\n return this.__iterator(ITERATE_ENTRIES);\n};\n\nRecord.prototype.__iterator = function __iterator (type, reverse) {\n return recordSeq(this).__iterator(type, reverse);\n};\n\nRecord.prototype.__iterate = function __iterate (fn, reverse) {\n return recordSeq(this).__iterate(fn, reverse);\n};\n\nRecord.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newValues = this._values.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._values = newValues;\n return this;\n }\n return makeRecord(this, newValues, ownerID);\n};\n\nRecord.isRecord = isRecord;\nRecord.getDescriptiveName = recordName;\nvar RecordPrototype = Record.prototype;\nRecordPrototype[IS_RECORD_SYMBOL] = true;\nRecordPrototype[DELETE] = RecordPrototype.remove;\nRecordPrototype.deleteIn = RecordPrototype.removeIn = deleteIn;\nRecordPrototype.getIn = getIn;\nRecordPrototype.hasIn = CollectionPrototype.hasIn;\nRecordPrototype.merge = merge$1;\nRecordPrototype.mergeWith = mergeWith$1;\nRecordPrototype.mergeIn = mergeIn;\nRecordPrototype.mergeDeep = mergeDeep;\nRecordPrototype.mergeDeepWith = mergeDeepWith;\nRecordPrototype.mergeDeepIn = mergeDeepIn;\nRecordPrototype.setIn = setIn;\nRecordPrototype.update = update;\nRecordPrototype.updateIn = updateIn;\nRecordPrototype.withMutations = withMutations;\nRecordPrototype.asMutable = asMutable;\nRecordPrototype.asImmutable = asImmutable;\nRecordPrototype[ITERATOR_SYMBOL] = RecordPrototype.entries;\nRecordPrototype.toJSON = RecordPrototype.toObject =\n CollectionPrototype.toObject;\nRecordPrototype.inspect = RecordPrototype.toSource = function () {\n return this.toString();\n};\n\nfunction makeRecord(likeRecord, values, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._values = values;\n record.__ownerID = ownerID;\n return record;\n}\n\nfunction recordName(record) {\n return record.constructor.displayName || record.constructor.name || 'Record';\n}\n\nfunction recordSeq(record) {\n return keyedSeqFromValue(record._keys.map(function (k) { return [k, record.get(k)]; }));\n}\n\nfunction setProp(prototype, name) {\n try {\n Object.defineProperty(prototype, name, {\n get: function () {\n return this.get(name);\n },\n set: function (value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n },\n });\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n}\n\n/**\n * Returns a lazy Seq of `value` repeated `times` times. When `times` is\n * undefined, returns an infinite sequence of `value`.\n */\nvar Repeat = /*@__PURE__*/(function (IndexedSeq) {\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n // eslint-disable-next-line no-constructor-return\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n // eslint-disable-next-line no-constructor-return\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n if ( IndexedSeq ) Repeat.__proto__ = IndexedSeq;\n Repeat.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Repeat.prototype.constructor = Repeat;\n\n Repeat.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function includes (searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function slice (begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size)\n ? this\n : new Repeat(\n this._value,\n resolveEnd(end, size) - resolveBegin(begin, size)\n );\n };\n\n Repeat.prototype.reverse = function reverse () {\n return this;\n };\n\n Repeat.prototype.indexOf = function indexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var i = 0;\n while (i !== size) {\n if (fn(this._value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n }\n return i;\n };\n\n Repeat.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var size = this.size;\n var i = 0;\n return new Iterator(function () { return i === size\n ? iteratorDone()\n : iteratorValue(type, reverse ? size - ++i : i++, this$1$1._value); }\n );\n };\n\n Repeat.prototype.equals = function equals (other) {\n return other instanceof Repeat\n ? is(this._value, other._value)\n : deepEqual(this, other);\n };\n\n return Repeat;\n}(IndexedSeq));\n\nvar EMPTY_REPEAT;\n\nfunction fromJS(value, converter) {\n return fromJSWith(\n [],\n converter || defaultConverter,\n value,\n '',\n converter && converter.length > 2 ? [] : undefined,\n { '': value }\n );\n}\n\nfunction fromJSWith(stack, converter, value, key, keyPath, parentValue) {\n if (\n typeof value !== 'string' &&\n !isImmutable(value) &&\n (isArrayLike(value) || hasIterator(value) || isPlainObject(value))\n ) {\n if (~stack.indexOf(value)) {\n throw new TypeError('Cannot convert circular structure to Immutable');\n }\n stack.push(value);\n keyPath && key !== '' && keyPath.push(key);\n var converted = converter.call(\n parentValue,\n key,\n Seq(value).map(function (v, k) { return fromJSWith(stack, converter, v, k, keyPath, value); }\n ),\n keyPath && keyPath.slice()\n );\n stack.pop();\n keyPath && keyPath.pop();\n return converted;\n }\n return value;\n}\n\nfunction defaultConverter(k, v) {\n // Effectively the opposite of \"Collection.toSeq()\"\n return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet();\n}\n\nvar version = \"4.3.7\";\n\nvar Immutable = {\n version: version,\n\n Collection: Collection,\n // Note: Iterable is deprecated\n Iterable: Collection,\n\n Seq: Seq,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n PairSorting: PairSorting,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS,\n hash: hash,\n\n isImmutable: isImmutable,\n isCollection: isCollection,\n isKeyed: isKeyed,\n isIndexed: isIndexed,\n isAssociative: isAssociative,\n isOrdered: isOrdered,\n isValueObject: isValueObject,\n isPlainObject: isPlainObject,\n isSeq: isSeq,\n isList: isList,\n isMap: isMap,\n isOrderedMap: isOrderedMap,\n isStack: isStack,\n isSet: isSet,\n isOrderedSet: isOrderedSet,\n isRecord: isRecord,\n\n get: get,\n getIn: getIn$1,\n has: has,\n hasIn: hasIn$1,\n merge: merge,\n mergeDeep: mergeDeep$1,\n mergeWith: mergeWith,\n mergeDeepWith: mergeDeepWith$1,\n remove: remove,\n removeIn: removeIn,\n set: set,\n setIn: setIn$1,\n update: update$1,\n updateIn: updateIn$1,\n};\n\n// Note: Iterable is deprecated\nvar Iterable = Collection;\n\nexport default Immutable;\nexport { Collection, Iterable, List, Map, OrderedMap, OrderedSet, PairSorting, Range, Record, Repeat, Seq, Set, Stack, fromJS, get, getIn$1 as getIn, has, hasIn$1 as hasIn, hash, is, isAssociative, isCollection, isImmutable, isIndexed, isKeyed, isList, isMap, isOrdered, isOrderedMap, isOrderedSet, isPlainObject, isRecord, isSeq, isSet, isStack, isValueObject, merge, mergeDeep$1 as mergeDeep, mergeDeepWith$1 as mergeDeepWith, mergeWith, remove, removeIn, set, setIn$1 as setIn, update$1 as update, updateIn$1 as updateIn, version };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoggerPretty = void 0;\nconst types_1 = require(\"@comunica/types\");\n// Use require instead of import for default exports, to be compatible with variants of esModuleInterop in tsconfig.\n// eslint-disable-next-line ts/no-require-imports\nconst objectInspect = require(\"object-inspect\");\nconst process = require('process/');\n/**\n * A logger that pretty-prints everything.\n */\nclass LoggerPretty extends types_1.Logger {\n constructor(args) {\n super();\n this.level = args.level;\n this.levelOrdinal = types_1.Logger.getLevelOrdinal(this.level);\n this.actors = args.actors;\n }\n debug(message, data) {\n this.log('debug', LoggerPretty.COLOR_GRAY, message, data);\n }\n error(message, data) {\n this.log('error', LoggerPretty.COLOR_RED, message, data);\n }\n fatal(message, data) {\n this.log('fatal', LoggerPretty.COLOR_CYAN, message, data);\n }\n info(message, data) {\n this.log('info', LoggerPretty.COLOR_GREEN, message, data);\n }\n trace(message, data) {\n this.log('trace', LoggerPretty.COLOR_BLUE, message, data);\n }\n warn(message, data) {\n this.log('warn', LoggerPretty.COLOR_YELLOW, message, data);\n }\n log(level, color, message, data) {\n if (types_1.Logger.getLevelOrdinal(level) >= this.levelOrdinal &&\n (!data || !('actor' in data) || !this.actors || this.actors[data.actor])) {\n process.stderr.write(LoggerPretty.withColor(`[${new Date().toISOString()}] ${level.toUpperCase()}: ${message} ${objectInspect(data)}\\n`, color));\n }\n }\n /**\n * Return a string in a given color\n * @param str The string that should be printed in\n * @param color A given color\n */\n static withColor(str, color) {\n return `${color}${str}${LoggerPretty.COLOR_RESET}`;\n }\n}\nexports.LoggerPretty = LoggerPretty;\nLoggerPretty.COLOR_RESET = '\\u001B[0m';\nLoggerPretty.COLOR_RED = '\\u001B[31m';\nLoggerPretty.COLOR_GREEN = '\\u001B[32m';\nLoggerPretty.COLOR_YELLOW = '\\u001B[33m';\nLoggerPretty.COLOR_BLUE = '\\u001B[34m';\nLoggerPretty.COLOR_MAGENTA = '\\u001B[35m';\nLoggerPretty.COLOR_CYAN = '\\u001B[36m';\nLoggerPretty.COLOR_GRAY = '\\u001B[90m';\n//# sourceMappingURL=LoggerPretty.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./LoggerPretty\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LoggerVoid = void 0;\nconst types_1 = require(\"@comunica/types\");\n/**\n * A logger that voids everything.\n */\nclass LoggerVoid extends types_1.Logger {\n debug() {\n // Void\n }\n error() {\n // Void\n }\n fatal() {\n // Void\n }\n info() {\n // Void\n }\n trace() {\n // Void\n }\n warn() {\n // Void\n }\n}\nexports.LoggerVoid = LoggerVoid;\n//# sourceMappingURL=LoggerVoid.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./LoggerVoid\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorAll = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica mediator that runs all actors that resolve their test.\n * This mediator will always resolve to the first actor's output.\n */\nclass MediatorAll extends core_1.Mediator {\n constructor(args) {\n super(args);\n }\n async mediate(action) {\n // Collect all actors that resolve their test\n const passedResults = [];\n let testResults;\n try {\n testResults = this.publish(action);\n }\n catch {\n testResults = [];\n }\n for (const testResult of testResults) {\n const reply = await testResult.reply;\n if (reply.isPassed()) {\n passedResults.push({ actor: testResult.actor, sideData: reply.getSideData() });\n }\n }\n // Send action to all valid actors\n const outputs = await Promise.all(passedResults.map(result => result.actor.runObservable(action, result.sideData)));\n return outputs[0];\n }\n async mediateWith() {\n throw new Error('Unsupported operation: MediatorAll#mediateWith');\n }\n}\nexports.MediatorAll = MediatorAll;\n//# sourceMappingURL=MediatorAll.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MediatorAll\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorCombinePipeline = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica mediator that goes over all actors in sequence and forwards I/O.\n * This required the action input and the actor output to be of the same type.\n */\nclass MediatorCombinePipeline extends core_1.Mediator {\n constructor(args) {\n super(args);\n }\n async mediate(action) {\n let testResults;\n try {\n testResults = this.publish(action);\n }\n catch {\n // If no actors are available, just return the input as output\n return action;\n }\n if (this.filterFailures) {\n const _testResults = [];\n for (const result of testResults) {\n const reply = await result.reply;\n if (reply.isPassed()) {\n _testResults.push(result);\n }\n }\n testResults = _testResults;\n }\n // Delegate test errors.\n const sideDatas = [];\n testResults = await Promise.all(testResults\n .map(async ({ actor, reply }, i) => {\n try {\n const awaitedReply = await reply;\n const value = awaitedReply.getOrThrow();\n sideDatas[i] = awaitedReply.getSideData();\n return { actor, reply: value };\n }\n catch (error) {\n throw new Error(this.constructFailureMessage(action, [error.message]));\n }\n }));\n // Order the test results if ordering is enabled\n if (this.order) {\n // A function used to extract an ordering value from a test result\n const getOrder = (elem) => {\n // If there is a field key use it, otherwise use the input\n // element for ordering\n const value = this.field ? elem[this.field] : elem;\n // Check the ordering value is a number\n if (typeof value !== 'number') {\n throw new TypeError('Cannot order elements that are not numbers.');\n }\n return value;\n };\n testResults = testResults.sort((actor1, actor2) => (this.order === 'increasing' ? 1 : -1) *\n (getOrder(actor1.reply) - getOrder(actor2.reply)));\n }\n // Pass action to first actor,\n // and each actor output as input to the following actor.\n let handle = action;\n let i = 0;\n for (const { actor } of testResults) {\n handle = { ...handle, ...await actor.runObservable(handle, sideDatas[i++]) };\n }\n // Return the final actor output\n return handle;\n }\n mediateWith() {\n throw new Error('Method not supported.');\n }\n}\nexports.MediatorCombinePipeline = MediatorCombinePipeline;\n//# sourceMappingURL=MediatorCombinePipeline.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MediatorCombinePipeline\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorCombineUnion = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A comunica mediator that takes the union of all actor results.\n *\n * The actors that are registered first will have priority on setting overlapping fields.\n */\nclass MediatorCombineUnion extends core_1.Mediator {\n constructor(args) {\n super(args);\n this.combiner = this.createCombiner();\n }\n async mediate(action) {\n let testResults;\n try {\n testResults = this.publish(action);\n }\n catch {\n testResults = [];\n }\n if (this.filterFailures) {\n const _testResults = [];\n for (const result of testResults) {\n const reply = await result.reply;\n if (reply.isPassed()) {\n _testResults.push(result);\n }\n }\n testResults = _testResults;\n }\n // Delegate reply errors.\n const sideDatas = [];\n await Promise.all(testResults.map(async ({ reply }, i) => {\n const awaited = (await reply);\n const value = awaited.getOrThrow();\n sideDatas[i] = awaited.getSideData();\n return value;\n }));\n // Run action on all actors.\n const results = await Promise.all(testResults\n .map((result, i) => result.actor.runObservable(action, sideDatas[i])));\n // Return the combined results.\n return this.combiner(results);\n }\n mediateWith() {\n throw new Error('Method not supported.');\n }\n createCombiner() {\n return (results) => {\n const data = {};\n data[this.field] = {};\n // eslint-disable-next-line unicorn/prefer-spread\n [{}].concat(results.map((result) => result[this.field]))\n // eslint-disable-next-line unicorn/no-array-for-each\n .forEach((value) => {\n data[this.field] = { ...value, ...data[this.field] };\n });\n return data;\n };\n }\n}\nexports.MediatorCombineUnion = MediatorCombineUnion;\n//# sourceMappingURL=MediatorCombineUnion.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MediatorCombineUnion\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorJoinCoefficientsFixed = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * A mediator that mediates over actors implementing the Join Coefficients mediator type and assigns fixed weights\n * to calculate an overall score and pick the actor with the lowest score.\n */\nclass MediatorJoinCoefficientsFixed extends core_1.Mediator {\n constructor(args) {\n super(args);\n }\n async mediateWith(action, testResults) {\n // Obtain test results\n const errors = [];\n const promises = testResults.map(({ reply }) => reply);\n const results = (await Promise.all(promises)).map((testResult) => {\n if (testResult.isFailed()) {\n errors.push(testResult.getFailMessage());\n // eslint-disable-next-line array-callback-return\n return;\n }\n return { value: testResult.get(), sideData: testResult.getSideData() };\n });\n // Calculate costs\n let costs = results\n // eslint-disable-next-line array-callback-return\n .map((result) => {\n if (result) {\n return result.value.iterations * this.cpuWeight +\n result.value.persistedItems * this.memoryWeight +\n result.value.blockingItems * this.timeWeight +\n result.value.requestTime * this.ioWeight;\n }\n });\n const maxCost = Math.max(...costs.filter(cost => cost !== undefined));\n // If we have a limit indicator in the context,\n // increase cost of entries that have a number of iterations that is higher than the limit AND block items.\n // In these cases, join operators that produce results early on will be preferred.\n const limitIndicator = action.context.get(context_entries_1.KeysQueryOperation.limitIndicator);\n if (limitIndicator) {\n costs = costs.map((cost, i) => {\n if (cost !== undefined && (results[i]?.value).blockingItems > 0 &&\n (results[i]?.value).iterations > limitIndicator) {\n return cost + maxCost;\n }\n return cost;\n });\n }\n // Determine index with lowest cost\n let minIndex = -1;\n let minValue = Number.POSITIVE_INFINITY;\n for (const [i, cost] of costs.entries()) {\n if (cost !== undefined && (minIndex === -1 || cost < minValue)) {\n minIndex = i;\n minValue = cost;\n }\n }\n // Reject if all actors rejected\n if (minIndex < 0) {\n return (0, core_1.failTest)(this.constructFailureMessage(action, errors));\n }\n // Return actor with lowest cost\n const bestActor = testResults[minIndex].actor;\n // Emit calculations in logger\n if (bestActor.includeInLogs) {\n core_1.Actor.getContextLogger(action.context)?.debug(`Determined physical join operator '${bestActor.logicalType}-${bestActor.physicalName}'`, {\n entries: action.entries.length,\n variables: await Promise.all(action.entries\n .map(async (entry) => (await entry.output.metadata()).variables.map(variable => variable.variable.value))),\n costs: Object.fromEntries(costs.map((coeff, i) => [\n `${testResults[i].actor.logicalType}-${testResults[i].actor.physicalName}`,\n coeff,\n ]).filter(entry => entry[1] !== undefined)),\n coefficients: Object.fromEntries(results.map((result, i) => [\n `${testResults[i].actor.logicalType}-${testResults[i].actor.physicalName}`,\n result?.value,\n ]).filter(entry => entry[1] !== undefined)),\n });\n }\n return (0, core_1.passTestWithSideData)(bestActor, results[minIndex].sideData);\n }\n}\nexports.MediatorJoinCoefficientsFixed = MediatorJoinCoefficientsFixed;\n//# sourceMappingURL=MediatorJoinCoefficientsFixed.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MediatorJoinCoefficientsFixed\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorNumber = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A mediator that can mediate over a single number field.\n *\n * It takes the required 'field' and 'type' parameters.\n * The 'field' parameter represents the field name of the test result field over which must be mediated.\n * The 'type' parameter\n */\nclass MediatorNumber extends core_1.Mediator {\n constructor(args) {\n super(args);\n this.indexPicker = this.createIndexPicker();\n }\n /**\n * @return {(tests: T[]) => number} A function that returns the index of the test result\n * that has been chosen by this mediator.\n */\n createIndexPicker() {\n switch (this.type) {\n case 'min':\n return (tests) => tests.reduce((prev, curr, i) => {\n const val = this.getOrDefault(curr[this.field], Number.POSITIVE_INFINITY);\n return val !== null && (Number.isNaN(prev[0]) || prev[0] > val) ? [val, i] : prev;\n }, [Number.NaN, -1])[1];\n case 'max':\n return (tests) => tests.reduce((prev, curr, i) => {\n const val = this.getOrDefault(curr[this.field], Number.NEGATIVE_INFINITY);\n return val !== null && (Number.isNaN(prev[0]) || prev[0] < val) ? [val, i] : prev;\n }, [Number.NaN, -1])[1];\n default:\n // eslint-disable-next-line ts/restrict-template-expressions\n throw new Error(`No valid \"type\" value was given, must be either 'min' or 'max', but got: ${this.type}`);\n }\n }\n getOrDefault(value, defaultValue) {\n // eslint-disable-next-line ts/prefer-nullish-coalescing\n return value === undefined ? defaultValue : value;\n }\n async mediateWith(action, testResults) {\n let wrappedResults = await Promise.all(testResults.map(({ reply }) => reply));\n // Collect failures if we want to ignore them\n const failures = [];\n if (this.ignoreFailures) {\n const dummy = {};\n dummy[this.field] = null;\n wrappedResults = wrappedResults.map((result) => {\n if (result.isFailed()) {\n failures.push(result.getFailMessage());\n return (0, core_1.passTestWithSideData)(dummy, undefined);\n }\n return result;\n });\n }\n // Resolve values\n const sideDatas = [];\n const results = wrappedResults.map((result, i) => {\n const value = result.getOrThrow();\n sideDatas[i] = result.getSideData();\n return value;\n });\n // Determine one value\n const index = this.indexPicker(results);\n if (index < 0) {\n return (0, core_1.failTest)(this.constructFailureMessage(action, failures));\n }\n return (0, core_1.passTestWithSideData)(testResults[index].actor, sideDatas[index]);\n }\n}\nexports.MediatorNumber = MediatorNumber;\n//# sourceMappingURL=MediatorNumber.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MediatorNumber\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MediatorRace = void 0;\nconst core_1 = require(\"@comunica/core\");\n/**\n * A mediator that picks the first actor that resolves its test.\n */\nclass MediatorRace extends core_1.Mediator {\n constructor(args) {\n super(args);\n }\n mediateWith(action, testResults) {\n return new Promise((resolve, reject) => {\n const errors = [];\n for (const testResult of testResults) {\n testResult.reply.then((reply) => {\n if (reply.isPassed()) {\n resolve((0, core_1.passTestWithSideData)(testResult.actor, reply.getSideData()));\n }\n else {\n errors.push(reply.getFailMessage());\n if (errors.length === testResults.length) {\n resolve((0, core_1.failTest)(this.constructFailureMessage(action, errors)));\n }\n }\n }).catch((error) => {\n reject(error);\n });\n }\n });\n }\n}\nexports.MediatorRace = MediatorRace;\n//# sourceMappingURL=MediatorRace.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MediatorRace\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=Bindings.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ComunicaDataFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpressionType = void 0;\nvar ExpressionType;\n(function (ExpressionType) {\n ExpressionType[\"Aggregate\"] = \"aggregate\";\n ExpressionType[\"Existence\"] = \"existence\";\n ExpressionType[\"Operator\"] = \"operator\";\n ExpressionType[\"Term\"] = \"term\";\n ExpressionType[\"Variable\"] = \"variable\";\n})(ExpressionType || (exports.ExpressionType = ExpressionType = {}));\n//# sourceMappingURL=ExpressionEvaluator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IActionContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IAggregatedStore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ICliArgsHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IDataDestination.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IJoinEntry.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ILink.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IPhysicalQueryPlanLogger.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IProxyHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IQueryContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IQueryEngine.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IQueryOperationResult.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// ----- Examples of FragmentSelectorShapes -----\n// const AF = new Factory();\n// const DF = new DataFactory();\n// const shapeTpf: FragmentSelectorShape = {\n// type: 'operation',\n// operation: { pattern: AF.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o')) },\n// variablesOptional: [\n// DF.variable('s'),\n// DF.variable('p'),\n// DF.variable('o'),\n// ],\n// };\n//\n// const shapeQpf: FragmentSelectorShape = {\n// type: 'operation',\n// operation: { pattern: AF.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o'), DF.variable('g')) },\n// variablesOptional: [\n// DF.variable('s'),\n// DF.variable('p'),\n// DF.variable('o'),\n// DF.variable('g'),\n// ],\n// };\n//\n// const shapeBrTpf: FragmentSelectorShape = {\n// type: 'operation',\n// operation: { pattern: AF.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o')) },\n// variablesOptional: [\n// DF.variable('s'),\n// DF.variable('p'),\n// DF.variable('o'),\n// ],\n// addBindings: true,\n// };\n//\n// const shapeSparqlEp: FragmentSelectorShape = { // Same as SaGe\n// type: 'disjunction',\n// children: [\n// {\n// type: 'operation',\n// operation: { type: Algebra.types.PROJECT },\n// },\n// {\n// type: 'operation',\n// operation: { type: Algebra.types.CONSTRUCT },\n// },\n// {\n// type: 'operation',\n// operation: { type: Algebra.types.DESCRIBE },\n// },\n// {\n// type: 'operation',\n// operation: { type: Algebra.types.ASK },\n// },\n// {\n// type: 'operation',\n// operation: { type: Algebra.types.COMPOSITE_UPDATE },\n// },\n// ],\n// };\n//\n// // Example of request:\n// // Find ?s matching \"?s dbo:country dbr:norway. ?s dbo:award ?o2. ?s dbo:birthDate ?o3.\"\n// const shapeSpf: FragmentSelectorShape = {\n// type: 'operation',\n// operation: { type: Algebra.types.BGP },\n// scopedVariables: [\n// DF.variable('s'),\n// ],\n// children: [\n// {\n// type: 'arity',\n// min: 1,\n// max: Number.POSITIVE_INFINITY,\n// child: {\n// type: 'operation',\n// operation: { pattern: AF.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o')) },\n// variablesOptional: [\n// DF.variable('p'),\n// DF.variable('o'),\n// ],\n// },\n// },\n// ],\n// addBindings: true,\n// };\n//\n// // Example of requests:\n// // - brTPF\n// // - Find all ?s and ?o matching \"?s db:country ?o\"\n// const shapeSmartKg: FragmentSelectorShape = {\n// type: 'disjunction',\n// children: [\n// {\n// type: 'operation',\n// operation: { pattern: AF.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o')) },\n// variablesOptional: [\n// DF.variable('s'),\n// DF.variable('p'),\n// DF.variable('o'),\n// ],\n// addBindings: true,\n// },\n// {\n// type: 'operation',\n// operation: { type: Algebra.types.BGP },\n// children: [\n// {\n// type: 'arity',\n// min: 1,\n// max: Number.POSITIVE_INFINITY,\n// child: {\n// type: 'operation',\n// operation: { pattern: AF.createPattern(DF.variable('s'), DF.variable('p'), DF.variable('o')) },\n// variablesRequired: [\n// DF.variable('p'),\n// ],\n// },\n// },\n// ],\n// },\n// ],\n// };\n//# sourceMappingURL=IQuerySource.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Logger = void 0;\n/**\n * A logger accepts messages from different levels\n * and emits them in a certain way.\n */\nclass Logger {\n /**\n * Convert a string-based logging level to a numerical logging level.\n * @param level A string-based logging level\n * @return The numerical logging level, or undefined.\n */\n static getLevelOrdinal(level) {\n return Logger.LEVELS[level];\n }\n}\nexports.Logger = Logger;\n/**\n * All available logging levels.\n * @type {{trace: number; debug: number; info: number; warn: number; error: number; fatal: number}}\n */\nLogger.LEVELS = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n fatal: 5,\n};\n//# sourceMappingURL=Logger.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Bindings\"), exports);\n__exportStar(require(\"./ComunicaDataFactory\"), exports);\n__exportStar(require(\"./IActionContext\"), exports);\n__exportStar(require(\"./IAggregatedStore\"), exports);\n__exportStar(require(\"./ICliArgsHandler\"), exports);\n__exportStar(require(\"./IDataDestination\"), exports);\n__exportStar(require(\"./IJoinEntry\"), exports);\n__exportStar(require(\"./IMetadata\"), exports);\n__exportStar(require(\"./IPhysicalQueryPlanLogger\"), exports);\n__exportStar(require(\"./IProxyHandler\"), exports);\n__exportStar(require(\"./IQueryContext\"), exports);\n__exportStar(require(\"./IQueryEngine\"), exports);\n__exportStar(require(\"./IQueryOperationResult\"), exports);\n__exportStar(require(\"./IQuerySource\"), exports);\n__exportStar(require(\"./statistics/IStatisticBase\"), exports);\n__exportStar(require(\"./statistics/IDiscoverEventData\"), exports);\n__exportStar(require(\"./ILink\"), exports);\n__exportStar(require(\"./Logger\"), exports);\n__exportStar(require(\"./ExpressionEvaluator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IDiscoverEventData.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IStatisticBase.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bindings = void 0;\nconst core_1 = require(\"@comunica/core\");\nconst immutable_1 = require(\"immutable\");\nconst bindingsToString_1 = require(\"./bindingsToString\");\n/**\n * An immutable.js-based Bindings object.\n */\nclass Bindings {\n constructor(dataFactory, entries, contextHolder) {\n this.type = 'bindings';\n this.dataFactory = dataFactory;\n this.entries = entries;\n this.contextHolder = contextHolder;\n }\n has(key) {\n return this.entries.has(typeof key === 'string' ? key : key.value);\n }\n get(key) {\n return this.entries.get(typeof key === 'string' ? key : key.value);\n }\n set(key, value) {\n return new Bindings(this.dataFactory, this.entries.set(typeof key === 'string' ? key : key.value, value), this.contextHolder);\n }\n delete(key) {\n return new Bindings(this.dataFactory, this.entries.delete(typeof key === 'string' ? key : key.value), this.contextHolder);\n }\n keys() {\n return this.mapIterable(this.iteratorToIterable(this.entries.keys()), key => this.dataFactory.variable(key));\n }\n values() {\n return this.iteratorToIterable(this.entries.values());\n }\n forEach(fn) {\n for (const [key, value] of this.entries.entries()) {\n fn(value, this.dataFactory.variable(key));\n }\n }\n get size() {\n return this.entries.size;\n }\n [Symbol.iterator]() {\n return this.mapIterable(this.iteratorToIterable(this.entries.entries()), ([key, value]) => [this.dataFactory.variable(key), value])[Symbol.iterator]();\n }\n equals(other) {\n if (!other) {\n return false;\n }\n if (this === other) {\n return true;\n }\n // First check if size is equal\n if (this.size !== other.size) {\n return false;\n }\n // Then check if keys and values are equal\n for (const key of this.keys()) {\n if (!this.get(key)?.equals(other.get(key))) {\n return false;\n }\n }\n return true;\n }\n filter(fn) {\n return new Bindings(this.dataFactory, (0, immutable_1.Map)(this.entries\n .filter((value, key) => fn(value, this.dataFactory.variable(key)))), this.contextHolder);\n }\n map(fn) {\n return new Bindings(this.dataFactory, (0, immutable_1.Map)(this.entries\n .map((value, key) => fn(value, this.dataFactory.variable(key)))), this.contextHolder);\n }\n merge(other) {\n if (this.size < other.size && other instanceof Bindings) {\n return other.merge(this);\n }\n let entries = this.entries;\n // Check if other is of type Bindings, in that case we can access entries immediately.\n // This skips the unnecessary conversion from string to variable.\n if (other instanceof Bindings) {\n for (const [variable, right] of other.entries) {\n const left = this.entries.get(variable);\n if (left && !left.equals(right)) {\n return;\n }\n entries = entries.set(variable, right);\n }\n }\n else {\n for (const [variable, right] of other) {\n const left = this.entries.get(variable.value);\n if (left && !left.equals(right)) {\n return;\n }\n entries = entries.set(variable.value, right);\n }\n }\n return this.createBindingsWithContexts(entries, other);\n }\n mergeWith(merger, other) {\n if (this.size < other.size && other instanceof Bindings) {\n return other.mergeWith(merger, this);\n }\n let entries = this.entries;\n // For code comments see Bindings.merge function\n if (other instanceof Bindings) {\n for (const [variable, right] of other.entries) {\n const left = this.entries.get(variable);\n let value;\n if (left && !left.equals(right)) {\n value = merger(left, right, this.dataFactory.variable(variable));\n }\n else {\n value = right;\n }\n entries = entries.set(variable, value);\n }\n }\n else {\n for (const [variable, right] of other) {\n const left = this.entries.get(variable.value);\n let value;\n if (left && !left.equals(right)) {\n value = merger(left, right, variable);\n }\n else {\n value = right;\n }\n entries = entries.set(variable.value, value);\n }\n }\n return this.createBindingsWithContexts(entries, other);\n }\n createBindingsWithContexts(entries, other) {\n // If any context is empty, we skip merging contexts\n if (this.contextHolder && this.contextHolder.context) {\n let mergedContext = this.contextHolder.context;\n // Only merge if the other has a context\n if ('contextHolder' in other && other.contextHolder && other.contextHolder.context) {\n mergedContext = Bindings\n .mergeContext(this.contextHolder.contextMergeHandlers, mergedContext, other.contextHolder.context);\n }\n return new Bindings(this.dataFactory, entries, { contextMergeHandlers: this.contextHolder.contextMergeHandlers, context: mergedContext });\n }\n // Otherwise, use optional context from other\n return new Bindings(this.dataFactory, entries, other.contextHolder);\n }\n static mergeContext(contextMergeHandlers, context, otherContext) {\n // All keys can contain duplicates, we prevent this by checking our built datamap for duplicates\n const allKeys = [...context.keys(), ...otherContext.keys()];\n // Map we build up with merged context values\n const newContextData = {};\n const handledKeys = {};\n // Set of names of keys in other context to allow for constant time lookup\n const keysSetOtherContext = new Set(otherContext.keys().map(key => key.name));\n const keysBothContext = context.keys().filter(key => keysSetOtherContext.has(key.name));\n for (const key of allKeys) {\n // If duplicate key, we continue iterating\n if (handledKeys[key.name] === 1) {\n continue;\n }\n // We've processed this key and shouldn't repeat it\n handledKeys[key.name] = 1;\n // Determine whether this key occurs in both contexts\n const occursInBoth = keysBothContext.some(x => x.name === key.name);\n // If we execute this function, we already check for existence of context merge handlers\n // This if statement is first as the most likely case for non-empty contexts is that we have mergehandlers\n // and both contexts have an entry\n if (contextMergeHandlers[key.name] && occursInBoth) {\n newContextData[key.name] = contextMergeHandlers[key.name]\n .run(context.get(key), otherContext.get(key));\n continue;\n }\n // If we have no merge handler, but both contexts have entries for key, we don't add it to new context\n if (!contextMergeHandlers[key.name] && occursInBoth) {\n continue;\n }\n // If key doesn't occur in own context, it must be in other context\n // (if we get to this point, the key doesn't occur in both)\n if (!context.get(key)) {\n newContextData[key.name] = otherContext.get(key);\n continue;\n }\n // This could likely be else statement, but don't want to risk it\n if (!otherContext.get(key)) {\n newContextData[key.name] = context.get(key);\n }\n }\n return new core_1.ActionContext(newContextData);\n }\n setContextEntry(key, value) {\n return this.setContextEntryRaw(key, value);\n }\n setContextEntryRaw(key, value) {\n if (this.contextHolder && this.contextHolder.context) {\n return new Bindings(this.dataFactory, this.entries, {\n contextMergeHandlers: this.contextHolder.contextMergeHandlers,\n context: this.contextHolder.context.set(key, value),\n });\n }\n return new Bindings(this.dataFactory, this.entries, {\n contextMergeHandlers: this.contextHolder?.contextMergeHandlers ?? {},\n context: new core_1.ActionContext().set(key, value),\n });\n }\n deleteContextEntry(key) {\n return this.deleteContextEntryRaw(key);\n }\n deleteContextEntryRaw(key) {\n if (this.contextHolder) {\n return new Bindings(this.dataFactory, this.entries, {\n contextMergeHandlers: this.contextHolder.contextMergeHandlers,\n context: this.contextHolder.context?.delete(key),\n });\n }\n return new Bindings(this.dataFactory, this.entries);\n }\n getContext() {\n return this.contextHolder?.context;\n }\n getContextEntry(key) {\n return this.getContext()?.get(key);\n }\n toString() {\n return (0, bindingsToString_1.bindingsToString)(this);\n }\n *mapIterable(iterable, callback) {\n for (const x of iterable) {\n yield callback(x);\n }\n }\n iteratorToIterable(iterator) {\n return {\n [Symbol.iterator]: () => iterator,\n };\n }\n}\nexports.Bindings = Bindings;\n//# sourceMappingURL=Bindings.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BindingsFactory = void 0;\nconst immutable_1 = require(\"immutable\");\nconst Bindings_1 = require(\"./Bindings\");\n/**\n * A Bindings factory that provides Bindings backed by immutable.js.\n */\nclass BindingsFactory {\n constructor(dataFactory, contextMergeHandlers) {\n this.dataFactory = dataFactory;\n this.contextMergeHandlers = contextMergeHandlers;\n }\n static async create(mediatorMergeBindingsContext, context, dataFactory) {\n return new BindingsFactory(dataFactory, (await mediatorMergeBindingsContext.mediate({ context })).mergeHandlers);\n }\n bindings(entries = []) {\n return new Bindings_1.Bindings(this.dataFactory, (0, immutable_1.Map)(entries.map(([key, value]) => [key.value, value])), this.contextMergeHandlers ? { contextMergeHandlers: this.contextMergeHandlers } : undefined);\n }\n fromBindings(bindings) {\n return this.bindings([...bindings]);\n }\n fromRecord(record) {\n return this.bindings(Object.entries(record).map(([key, value]) => [this.dataFactory.variable(key), value]));\n }\n}\nexports.BindingsFactory = BindingsFactory;\n//# sourceMappingURL=BindingsFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindingsToCompactString = exports.bindingsToString = void 0;\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * Convert a bindings object to a human-readable string.\n * @param bindings A bindings object.\n */\nfunction bindingsToString(bindings) {\n const raw = {};\n for (const key of bindings.keys()) {\n raw[key.value] = (0, rdf_string_1.termToString)(bindings.get(key));\n }\n return JSON.stringify(raw, null, ' ');\n}\nexports.bindingsToString = bindingsToString;\n/**\n * Convert a bindings object to a compact string.\n * This is mainly useful for internal indexing purposes.\n *\n * This function is guaranteed to not produce clashing bindings for unequal terms.\n *\n * This function will not sort the variables and expects them to be in the same order for every call.\n *\n * @param bindings A bindings object.\n * @param variables The variables to consider when converting the bindings to a string.\n */\nfunction bindingsToCompactString(bindings, variables) {\n return variables\n .map((variable) => {\n const term = bindings.get(variable);\n if (term) {\n return (0, rdf_string_1.termToString)(term);\n }\n return '';\n })\n .join('');\n}\nexports.bindingsToCompactString = bindingsToCompactString;\n//# sourceMappingURL=bindingsToString.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Bindings\"), exports);\n__exportStar(require(\"./BindingsFactory\"), exports);\n__exportStar(require(\"./bindingsToString\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BindingsIndexDef = void 0;\n/**\n * A simple efficient hash-based index for maintaining bindings,\n * and checking whether or not a bindings is contained in this index.\n *\n * This can not handle bindings with undefined values.\n */\nclass BindingsIndexDef {\n constructor(keys, hashFn) {\n this.keys = keys.map(v => v.variable);\n this.hashFn = hashFn;\n this.index = {};\n }\n put(bindings, value) {\n return this.index[this.hashFn(bindings, this.keys)] = value;\n }\n get(bindings) {\n const v = this.getFirst(bindings);\n return v ? [v] : [];\n }\n getFirst(bindings) {\n return this.index[this.hashFn(bindings, this.keys)];\n }\n values() {\n return Object.values(this.index);\n }\n}\nexports.BindingsIndexDef = BindingsIndexDef;\n//# sourceMappingURL=BindingsIndexDef.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BindingsIndexUndef = void 0;\n/**\n * A simple efficient tree-based index for maintaining bindings,\n * and checking whether or not a bindings is contained in this index.\n *\n * This will consider bindings with a variable term or an undefined term\n * as a 'match-all' with other terms.\n */\nclass BindingsIndexUndef {\n constructor(keys, hashFn, allowDisjointDomains) {\n this.data = {};\n this.keys = keys.map(v => v.variable);\n this.hashFn = hashFn;\n this.allowDisjointDomains = allowDisjointDomains && this.keys.length > 0;\n }\n /**\n * Add the given bindings to the index.\n * @param {Bindings} bindings A bindings.\n * @param {V} value The value to put.\n */\n put(bindings, value) {\n if (this.allowDisjointDomains || this.isBindingsValid(bindings)) {\n let dataIt = this.data;\n for (let i = 0; i < this.keys.length; i++) {\n const key = this.keys[i];\n const dataKey = this.hashFn(bindings.get(key));\n let subDataIt = dataIt[dataKey];\n if (!subDataIt) {\n subDataIt = dataIt[dataKey] = i === this.keys.length - 1 ? value : {};\n }\n dataIt = subDataIt;\n }\n }\n return value;\n }\n isBindingsValid(bindings) {\n let validKeys = false;\n for (const key of this.keys) {\n if (bindings.has(key)) {\n validKeys = true;\n break;\n }\n }\n return validKeys;\n }\n /**\n * Get the value of the given bindings is contained in this index.\n * @param {Bindings} bindings A bindings.\n * @return {V[]} The values.\n */\n get(bindings) {\n // Always return empty if the bindings contain none of the expected keys\n if (!(this.allowDisjointDomains || this.isBindingsValid(bindings))) {\n return [];\n }\n return this.getRecursive(bindings, this.keys, [this.data]);\n }\n getRecursive(bindings, keys, dataIndexes) {\n if (keys.length === 0) {\n return dataIndexes;\n }\n let key;\n // eslint-disable-next-line prefer-const\n [key, ...keys] = keys;\n const matchingRecursive = [];\n for (const data of dataIndexes) {\n // If the index contained a variable, all terms will match.\n const dataKey = this.hashFn(bindings?.get(key));\n if (dataKey) {\n // Check the entry for the term, and the variable term.\n const subDatas = [data[dataKey], data['']].filter(Boolean);\n if (subDatas.length === 0) {\n continue;\n }\n matchingRecursive.push(this.getRecursive(bindings, keys, subDatas));\n }\n else {\n // Iterate over all entries\n const subDatas = Object.values(data);\n if (subDatas.length === 0) {\n continue;\n }\n matchingRecursive.push(this.getRecursive(bindings, keys, subDatas));\n }\n }\n return matchingRecursive.flat();\n }\n /**\n * Get the first value of the given bindings is contained in this index.\n * @param {Bindings} bindings A bindings.\n * @param matchUndefsAsWildcard If undefs in the given bindings should match with any existing values.\n * Otherwise, undefs will only match values that were inserted as undefs.\n * @return {V | undefined} The value.\n */\n getFirst(bindings, matchUndefsAsWildcard = true) {\n // Always return undefined if the bindings contain none of the expected keys\n if (!(this.allowDisjointDomains || this.isBindingsValid(bindings))) {\n return undefined;\n }\n return this.getRecursiveFirst(bindings, this.keys, [this.data], matchUndefsAsWildcard);\n }\n getRecursiveFirst(bindings, keys, dataIndexes, matchUndefsAsWildcard) {\n if (keys.length === 0) {\n return dataIndexes[0];\n }\n let key;\n // eslint-disable-next-line prefer-const\n [key, ...keys] = keys;\n for (const data of dataIndexes) {\n // If the index contained a variable, all terms will match.\n const dataKey = this.hashFn(bindings.get(key));\n if (dataKey || !matchUndefsAsWildcard) {\n // Check the entry for the term, and the variable term.\n const subDatas = [data[dataKey], data['']].filter(Boolean);\n if (subDatas.length === 0) {\n continue;\n }\n const ret = this.getRecursiveFirst(bindings, keys, subDatas, matchUndefsAsWildcard);\n if (ret) {\n return ret;\n }\n }\n else {\n // Iterate over all entries\n const subDatas = Object.values(data);\n if (subDatas.length === 0) {\n continue;\n }\n const ret = this.getRecursiveFirst(bindings, keys, subDatas, matchUndefsAsWildcard);\n if (ret) {\n return ret;\n }\n }\n }\n return undefined;\n }\n values() {\n return this.keys.length === 0 ? [] : this.getRecursive(undefined, this.keys, [this.data]);\n }\n}\nexports.BindingsIndexUndef = BindingsIndexUndef;\n//# sourceMappingURL=BindingsIndexUndef.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IBindingsIndex.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./BindingsIndexDef\"), exports);\n__exportStar(require(\"./BindingsIndexUndef\"), exports);\n__exportStar(require(\"./IBindingsIndex\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlankNodeBindingsScoped = void 0;\n/**\n * A blank node that is scoped to a set of bindings.\n */\nclass BlankNodeBindingsScoped {\n constructor(value) {\n this.termType = 'BlankNode';\n this.singleBindingsScope = true;\n this.value = value;\n }\n equals(other) {\n // eslint-disable-next-line no-implicit-coercion\n return !!other && other.termType === 'BlankNode' && other.value === this.value;\n }\n}\nexports.BlankNodeBindingsScoped = BlankNodeBindingsScoped;\n//# sourceMappingURL=BlankNodeBindingsScoped.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlankNodeScoped = void 0;\n/**\n * A blank node that is scoped to a certain source.\n */\nclass BlankNodeScoped {\n constructor(value, skolemized) {\n this.termType = 'BlankNode';\n this.value = value;\n this.skolemized = skolemized;\n }\n equals(other) {\n // eslint-disable-next-line no-implicit-coercion\n return !!other && other.termType === 'BlankNode' && other.value === this.value;\n }\n}\nexports.BlankNodeScoped = BlankNodeScoped;\n//# sourceMappingURL=BlankNodeScoped.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./BlankNodeScoped\"), exports);\n__exportStar(require(\"./BlankNodeBindingsScoped\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Aggregate = void 0;\nconst types_1 = require(\"@comunica/types\");\nclass Aggregate {\n constructor(name, expression) {\n this.name = name;\n this.expression = expression;\n this.expressionType = types_1.ExpressionType.Aggregate;\n }\n}\nexports.Aggregate = Aggregate;\n//# sourceMappingURL=Aggregate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Existence = void 0;\nconst types_1 = require(\"@comunica/types\");\nclass Existence {\n constructor(expression) {\n this.expression = expression;\n this.expressionType = types_1.ExpressionType.Existence;\n }\n}\nexports.Existence = Existence;\n//# sourceMappingURL=Existence.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.asTermType = void 0;\nfunction asTermType(type) {\n if (type === 'namedNode' || type === 'literal' || type === 'blankNode' || type === 'quad') {\n return type;\n }\n return undefined;\n}\nexports.asTermType = asTermType;\n//# sourceMappingURL=Expressions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Operator = void 0;\nconst types_1 = require(\"@comunica/types\");\nclass Operator {\n constructor(name, args, apply) {\n this.name = name;\n this.args = args;\n this.apply = apply;\n this.expressionType = types_1.ExpressionType.Operator;\n }\n}\nexports.Operator = Operator;\n//# sourceMappingURL=Operator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNonLexicalLiteral = exports.NonLexicalLiteral = exports.YearMonthDurationLiteral = exports.DayTimeDurationLiteral = exports.DurationLiteral = exports.DateLiteral = exports.TimeLiteral = exports.DateTimeLiteral = exports.StringLiteral = exports.LangStringLiteral = exports.BooleanLiteral = exports.DoubleLiteral = exports.FloatLiteral = exports.DecimalLiteral = exports.IntegerLiteral = exports.NumericLiteral = exports.Literal = exports.isLiteralTermExpression = exports.DefaultGraph = exports.Quad = exports.BlankNode = exports.NamedNode = exports.Term = void 0;\nconst types_1 = require(\"@comunica/types\");\nconst C = require(\"../util/Consts\");\nconst Consts_1 = require(\"../util/Consts\");\nconst Err = require(\"../util/Errors\");\nconst Serialization_1 = require(\"../util/Serialization\");\nconst TypeHandling_1 = require(\"../util/TypeHandling\");\nclass Term {\n constructor() {\n this.expressionType = types_1.ExpressionType.Term;\n }\n str() {\n throw new Err.InvalidArgumentTypes([this], C.SparqlOperator.STR);\n }\n coerceEBV() {\n throw new Err.EBVCoercionError(this);\n }\n}\nexports.Term = Term;\n// NamedNodes -----------------------------------------------------------------\nclass NamedNode extends Term {\n constructor(value) {\n super();\n this.value = value;\n this.termType = 'namedNode';\n }\n toRDF(dataFactory) {\n return dataFactory.namedNode(this.value);\n }\n str() {\n return this.value;\n }\n}\nexports.NamedNode = NamedNode;\n// BlankNodes -----------------------------------------------------------------\nclass BlankNode extends Term {\n constructor(value) {\n super();\n this.termType = 'blankNode';\n this.value = value;\n }\n toRDF(dataFactory) {\n return typeof this.value === 'string' ? dataFactory.blankNode(this.value) : this.value;\n }\n}\nexports.BlankNode = BlankNode;\n// Quads -----------------------------------------------------------------\nclass Quad extends Term {\n constructor(subject, predicate, object, graph) {\n super();\n this.subject = subject;\n this.predicate = predicate;\n this.object = object;\n this.graph = graph;\n this.termType = 'quad';\n }\n toRDF(dataFactory) {\n return dataFactory.quad(this.subject.toRDF(dataFactory), this.predicate.toRDF(dataFactory), this.object.toRDF(dataFactory), this.graph.toRDF(dataFactory));\n }\n str() {\n return `Quad: [${this.subject.str()}, ${this.predicate.str()}, ${this.object.str()}, ${this.graph.str()}]`;\n }\n}\nexports.Quad = Quad;\nclass DefaultGraph extends Term {\n constructor() {\n super();\n this.termType = 'defaultGraph';\n }\n toRDF(dataFactory) {\n return dataFactory.defaultGraph();\n }\n str() {\n return 'DefaultGraph';\n }\n}\nexports.DefaultGraph = DefaultGraph;\n// Literals-- -----------------------------------------------------------------\nfunction isLiteralTermExpression(expr) {\n if (expr.termType === 'literal') {\n return expr;\n }\n return undefined;\n}\nexports.isLiteralTermExpression = isLiteralTermExpression;\nclass Literal extends Term {\n /**\n * @param typedValue internal representation of this literal's value\n * @param dataType a string representing the datatype. Can be of type @see LiteralTypes or any URI\n * @param strValue the string value of this literal. In other words, the string representing the RDF.literal value.\n * @param language the language, mainly for language enabled strings like RDF_LANG_STRING\n */\n constructor(typedValue, dataType, strValue, language) {\n super();\n this.typedValue = typedValue;\n this.dataType = dataType;\n this.strValue = strValue;\n this.language = language;\n this.termType = 'literal';\n }\n toRDF(dataFactory) {\n return dataFactory.literal(this.strValue ?? this.str(), this.language ?? dataFactory.namedNode(this.dataType));\n }\n str() {\n return this.strValue ?? this.typedValue.toString();\n }\n}\nexports.Literal = Literal;\nclass NumericLiteral extends Literal {\n constructor(typedValue, dataType, strValue, language) {\n super(typedValue, dataType, strValue, language);\n this.typedValue = typedValue;\n this.strValue = strValue;\n this.language = language;\n }\n coerceEBV() {\n return Boolean(this.typedValue);\n }\n toRDF(dataFactory) {\n const term = super.toRDF(dataFactory);\n if (!Number.isFinite(this.typedValue)) {\n term.value = term.value.replace('Infinity', 'INF');\n }\n return term;\n }\n str() {\n return this.strValue ??\n this.specificFormatter(this.typedValue);\n }\n}\nexports.NumericLiteral = NumericLiteral;\nclass IntegerLiteral extends NumericLiteral {\n constructor(typedValue, dataType, strValue, language) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_INTEGER, strValue, language);\n this.typedValue = typedValue;\n this.strValue = strValue;\n this.language = language;\n }\n specificFormatter(val) {\n return val.toFixed(0);\n }\n}\nexports.IntegerLiteral = IntegerLiteral;\nclass DecimalLiteral extends NumericLiteral {\n constructor(typedValue, dataType, strValue, language) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_DECIMAL, strValue, language);\n this.typedValue = typedValue;\n this.strValue = strValue;\n this.language = language;\n }\n specificFormatter(val) {\n return val.toString();\n }\n}\nexports.DecimalLiteral = DecimalLiteral;\nclass FloatLiteral extends NumericLiteral {\n constructor(typedValue, dataType, strValue, language) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_FLOAT, strValue, language);\n this.typedValue = typedValue;\n this.strValue = strValue;\n this.language = language;\n }\n specificFormatter(val) {\n return val.toString();\n }\n}\nexports.FloatLiteral = FloatLiteral;\nclass DoubleLiteral extends NumericLiteral {\n constructor(typedValue, dataType, strValue, language) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_DOUBLE, strValue, language);\n this.typedValue = typedValue;\n this.strValue = strValue;\n this.language = language;\n }\n specificFormatter(val) {\n if (!Number.isFinite(val)) {\n if (val > 0) {\n return 'INF';\n }\n if (val < 0) {\n return '-INF';\n }\n return 'NaN';\n }\n const jsExponential = val.toExponential();\n const [jsMantisse, jsExponent] = jsExponential.split('e');\n // Leading + must be removed for integer\n // https://www.w3.org/TR/xmlschema-2/#integer\n const exponent = jsExponent.replace(/\\+/u, '');\n // SPARQL test suite prefers trailing zero's\n const mantisse = jsMantisse.includes('.') ?\n jsMantisse :\n `${jsMantisse}.0`;\n return `${mantisse}E${exponent}`;\n }\n}\nexports.DoubleLiteral = DoubleLiteral;\nclass BooleanLiteral extends Literal {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_BOOLEAN, strValue);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n coerceEBV() {\n return this.typedValue;\n }\n}\nexports.BooleanLiteral = BooleanLiteral;\nclass LangStringLiteral extends Literal {\n constructor(typedValue, language, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.RDF_LANG_STRING, typedValue, language);\n this.typedValue = typedValue;\n this.language = language;\n }\n coerceEBV() {\n return this.str().length > 0;\n }\n}\nexports.LangStringLiteral = LangStringLiteral;\n// https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-plain-literal\n// https://www.w3.org/TR/sparql11-query/#defn_SimpleLiteral\n// https://www.w3.org/TR/sparql11-query/#func-strings\n// This does not include language tagged literals\nclass StringLiteral extends Literal {\n /**\n * @param typedValue\n * @param dataType Should be type that implements XSD_STRING\n */\n constructor(typedValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_STRING, typedValue);\n this.typedValue = typedValue;\n }\n coerceEBV() {\n return this.str().length > 0;\n }\n}\nexports.StringLiteral = StringLiteral;\nclass DateTimeLiteral extends Literal {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_DATE_TIME, strValue);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n str() {\n return (0, Serialization_1.serializeDateTime)(this.typedValue);\n }\n}\nexports.DateTimeLiteral = DateTimeLiteral;\nclass TimeLiteral extends Literal {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_TIME, strValue);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n str() {\n return (0, Serialization_1.serializeTime)(this.typedValue);\n }\n}\nexports.TimeLiteral = TimeLiteral;\nclass DateLiteral extends Literal {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_DATE, strValue);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n str() {\n return (0, Serialization_1.serializeDate)(this.typedValue);\n }\n}\nexports.DateLiteral = DateLiteral;\nclass DurationLiteral extends Literal {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_DURATION, strValue);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n str() {\n return (0, Serialization_1.serializeDuration)(this.typedValue);\n }\n}\nexports.DurationLiteral = DurationLiteral;\nclass DayTimeDurationLiteral extends DurationLiteral {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, strValue, dataType ?? Consts_1.TypeURL.XSD_DAY_TIME_DURATION);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n}\nexports.DayTimeDurationLiteral = DayTimeDurationLiteral;\nclass YearMonthDurationLiteral extends Literal {\n constructor(typedValue, strValue, dataType) {\n super(typedValue, dataType ?? Consts_1.TypeURL.XSD_YEAR_MONTH_DURATION, strValue);\n this.typedValue = typedValue;\n this.strValue = strValue;\n }\n str() {\n return (0, Serialization_1.serializeDuration)(this.typedValue, 'P0M');\n }\n}\nexports.YearMonthDurationLiteral = YearMonthDurationLiteral;\n/**\n * This class is used when a literal is parsed, and it's value is\n * an invalid lexical form for it's datatype. The spec defines value with\n * invalid lexical form are still valid terms, and as such we can not error\n * immediately. This class makes sure that the typedValue will remain undefined,\n * and the category 'nonlexical'. This way, only when operators apply to the\n * 'nonlexical' category, they will keep working, otherwise they will throw a\n * type error.\n * This seems to match the spec, except maybe for functions that accept\n * non-lexical values for their datatype.\n *\n * See:\n * - https://www.w3.org/TR/xquery/#dt-type-error\n * - https://www.w3.org/TR/rdf-concepts/#section-Literal-Value\n * - https://www.w3.org/TR/xquery/#dt-ebv\n * - ... some other more precise thing i can't find...\n */\nclass NonLexicalLiteral extends Literal {\n constructor(typedValue, dataType, openWorldType, strValue, language) {\n super({ toString: () => 'undefined' }, dataType, strValue, language);\n this.openWorldType = openWorldType;\n }\n coerceEBV() {\n const isNumericOrBool = (0, TypeHandling_1.isSubTypeOf)(this.dataType, Consts_1.TypeURL.XSD_BOOLEAN, this.openWorldType) ||\n (0, TypeHandling_1.isSubTypeOf)(this.dataType, Consts_1.TypeAlias.SPARQL_NUMERIC, this.openWorldType);\n if (isNumericOrBool) {\n return false;\n }\n throw new Err.EBVCoercionError(this);\n }\n toRDF(dataFactory) {\n return dataFactory.literal(this.str(), this.language ?? dataFactory.namedNode(this.dataType));\n }\n str() {\n return this.strValue ?? '';\n }\n}\nexports.NonLexicalLiteral = NonLexicalLiteral;\nfunction isNonLexicalLiteral(lit) {\n if (lit instanceof NonLexicalLiteral) {\n return lit;\n }\n return undefined;\n}\nexports.isNonLexicalLiteral = isNonLexicalLiteral;\n//# sourceMappingURL=Term.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Variable = void 0;\nconst types_1 = require(\"@comunica/types\");\nclass Variable {\n constructor(name) {\n this.expressionType = types_1.ExpressionType.Variable;\n this.name = name;\n }\n}\nexports.Variable = Variable;\n//# sourceMappingURL=Variable.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Expressions\"), exports);\n__exportStar(require(\"./Variable\"), exports);\n__exportStar(require(\"./Term\"), exports);\n__exportStar(require(\"./Operator\"), exports);\n__exportStar(require(\"./Aggregate\"), exports);\n__exportStar(require(\"./Existence\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expressionToVar = exports.dateTime = exports.langString = exports.string = exports.double = exports.float = exports.decimal = exports.integer = exports.bool = exports.Builder = exports.declare = void 0;\n/**\n * These helpers provide a (albeit inflexible) DSL for writing function\n * definitions for the SPARQL functions.\n */\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst E = require(\"../expressions\");\nconst expressions_1 = require(\"../expressions\");\nconst C = require(\"../util/Consts\");\nconst Consts_1 = require(\"../util/Consts\");\nconst Err = require(\"../util/Errors\");\nconst OverloadTree_1 = require(\"./OverloadTree\");\nfunction declare(identifier) {\n return new Builder(identifier);\n}\nexports.declare = declare;\nclass Builder {\n constructor(identifier) {\n this.overloadTree = new OverloadTree_1.OverloadTree(identifier);\n this.collected = false;\n }\n collect() {\n if (this.collected) {\n // Only 1 time allowed because we can't copy a tree. (And we don't need this).\n throw new Error('Builders can only be collected once!');\n }\n this.collected = true;\n return this.overloadTree;\n }\n static wrapInvalidLexicalProtected(func) {\n return (expressionEvaluator) => (args) => {\n for (const [index, arg] of args.entries()) {\n if (arg instanceof expressions_1.NonLexicalLiteral) {\n throw new Err.InvalidLexicalForm(args[index].toRDF(expressionEvaluator.context.getSafe(context_entries_1.KeysInitQuery.dataFactory)));\n }\n }\n return func(expressionEvaluator)(args);\n };\n }\n set(argTypes, func, addInvalidHandling = true) {\n this.overloadTree.addOverload(argTypes, addInvalidHandling ? Builder.wrapInvalidLexicalProtected(func) : func);\n return this;\n }\n copy({ from, to }) {\n const impl = this.overloadTree.getImplementationExact(from);\n if (!impl) {\n throw new Err.UnexpectedError('Tried to copy implementation, but types not found', { from, to });\n }\n return this.set(to, impl);\n }\n onUnary(type, op, addInvalidHandling = true) {\n return this.set([type], expressionEvaluator => ([val]) => op(expressionEvaluator)(val), addInvalidHandling);\n }\n onUnaryTyped(type, op, addInvalidHandling = true) {\n return this.set([type], expressionEvaluator => ([val]) => op(expressionEvaluator)(val.typedValue), addInvalidHandling);\n }\n onBinary(types, op, addInvalidHandling = true) {\n return this.set(types, expressionEvaluator => ([left, right]) => op(expressionEvaluator)(left, right), addInvalidHandling);\n }\n onBinaryTyped(types, op, addInvalidHandling = true) {\n return this.set(types, expressionEvaluator => ([left, right]) => op(expressionEvaluator)(left.typedValue, right.typedValue), addInvalidHandling);\n }\n onTernaryTyped(types, op, addInvalidHandling = true) {\n return this.set(types, expressionEvaluator => ([a1, a2, a3]) => op(expressionEvaluator)(a1.typedValue, a2.typedValue, a3.typedValue), addInvalidHandling);\n }\n onTernary(types, op, addInvalidHandling = true) {\n return this.set(types, expressionEvaluator => ([a1, a2, a3]) => op(expressionEvaluator)(a1, a2, a3), addInvalidHandling);\n }\n onQuaternaryTyped(types, op, addInvalidHandling = true) {\n return this.set(types, expressionEvaluator => ([a1, a2, a3, a4]) => op(expressionEvaluator)(a1.typedValue, a2.typedValue, a3.typedValue, a4.typedValue), addInvalidHandling);\n }\n onTerm1(op, addInvalidHandling = false) {\n return this.set(['term'], expressionEvaluator => ([term]) => op(expressionEvaluator)(term), addInvalidHandling);\n }\n onTerm3(op) {\n return this.set(['term', 'term', 'term'], expressionEvaluator => ([t1, t2, t3]) => op(expressionEvaluator)(t1, t2, t3));\n }\n onQuad1(op) {\n return this.set(['quad'], expressionEvaluator => ([term]) => op(expressionEvaluator)(term));\n }\n onLiteral1(op, addInvalidHandling = true) {\n return this.set(['literal'], expressionEvaluator => ([term]) => op(expressionEvaluator)(term), addInvalidHandling);\n }\n onBoolean1(op, addInvalidHandling = true) {\n return this.set([C.TypeURL.XSD_BOOLEAN], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit), addInvalidHandling);\n }\n onBoolean1Typed(op, addInvalidHandling = true) {\n return this.set([C.TypeURL.XSD_BOOLEAN], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit.typedValue), addInvalidHandling);\n }\n onString1(op, addInvalidHandling = true) {\n return this.set([C.TypeURL.XSD_STRING], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit), addInvalidHandling);\n }\n onString1Typed(op, addInvalidHandling = true) {\n return this.set([C.TypeURL.XSD_STRING], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit.typedValue), addInvalidHandling);\n }\n onLangString1(op, addInvalidHandling = true) {\n return this.set([C.TypeURL.RDF_LANG_STRING], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit), addInvalidHandling);\n }\n onStringly1(op, addInvalidHandling = true) {\n return this.set([C.TypeAlias.SPARQL_STRINGLY], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit), addInvalidHandling);\n }\n onStringly1Typed(op, addInvalidHandling = true) {\n return this.set([C.TypeAlias.SPARQL_STRINGLY], expressionEvaluator => ([lit]) => op(expressionEvaluator)(lit.typedValue), addInvalidHandling);\n }\n onNumeric1(op, addInvalidHandling = true) {\n return this.set([C.TypeAlias.SPARQL_NUMERIC], expressionEvaluator => ([val]) => op(expressionEvaluator)(val), addInvalidHandling);\n }\n onDateTime1(op, addInvalidHandling = true) {\n return this\n .set([C.TypeURL.XSD_DATE_TIME], expressionEvaluator => ([val]) => op(expressionEvaluator)(val), addInvalidHandling);\n }\n /**\n * We return the base types and not the provided types because we don't want to create invalid terms.\n * Providing negative number to a function unary - for example should not\n * return a term of type negative number having a positive value.\n * @param op the numeric operator performed\n * @param addInvalidHandling whether to add invalid handling,\n * whether to add @param op in @see wrapInvalidLexicalProtected\n */\n numericConverter(op, addInvalidHandling = true) {\n const evalHelper = (expressionEvaluator) => (arg) => op(expressionEvaluator)(arg.typedValue);\n return this.onUnary(Consts_1.TypeURL.XSD_INTEGER, expressionEvaluator => arg => integer(evalHelper(expressionEvaluator)(arg)), addInvalidHandling)\n .onUnary(Consts_1.TypeURL.XSD_DECIMAL, expressionEvaluator => arg => decimal(evalHelper(expressionEvaluator)(arg)), addInvalidHandling)\n .onUnary(Consts_1.TypeURL.XSD_FLOAT, expressionEvaluator => arg => float(evalHelper(expressionEvaluator)(arg)), addInvalidHandling)\n .onUnary(Consts_1.TypeURL.XSD_DOUBLE, expressionEvaluator => arg => double(evalHelper(expressionEvaluator)(arg)), addInvalidHandling);\n }\n /**\n * !!! Be aware when using this function, it will create different overloads with different return types !!!\n * Arithmetic operators take 2 numeric arguments, and return a single numerical\n * value. The type of the return value is heavily dependent on the types of the\n * input arguments. In JS everything is a double, but in SPARQL it is not.\n *\n * The different arguments are handled by type promotion and subtype substitution.\n * The way numeric function arguments work is described here:\n * https://www.w3.org/TR/xpath20/#mapping\n * Above url is referenced in the sparql spec: https://www.w3.org/TR/sparql11-query/#OperatorMapping\n */\n arithmetic(op, addInvalidHandling = true) {\n const evalHelper = (expressionEvaluator) => (left, right) => op(expressionEvaluator)(left.typedValue, right.typedValue);\n return this.onBinary([Consts_1.TypeURL.XSD_INTEGER, Consts_1.TypeURL.XSD_INTEGER], expressionEvaluator => (left, right) => integer(evalHelper(expressionEvaluator)(left, right)), addInvalidHandling)\n .onBinary([Consts_1.TypeURL.XSD_DECIMAL, Consts_1.TypeURL.XSD_DECIMAL], expressionEvaluator => (left, right) => decimal(evalHelper(expressionEvaluator)(left, right)), addInvalidHandling)\n .onBinary([Consts_1.TypeURL.XSD_FLOAT, Consts_1.TypeURL.XSD_FLOAT], expressionEvaluator => (left, right) => float(evalHelper(expressionEvaluator)(left, right)), addInvalidHandling)\n .onBinary([Consts_1.TypeURL.XSD_DOUBLE, Consts_1.TypeURL.XSD_DOUBLE], expressionEvaluator => (left, right) => double(evalHelper(expressionEvaluator)(left, right)), addInvalidHandling);\n }\n numberTest(test) {\n return this.numeric(expressionEvaluator => ([left, right]) => {\n const result = test(expressionEvaluator)(left.typedValue, right.typedValue);\n return bool(result);\n });\n }\n stringTest(test, addInvalidHandling = true) {\n return this\n .set([C.TypeURL.XSD_STRING, C.TypeURL.XSD_STRING], expressionEvaluator => ([left, right]) => {\n const result = test(expressionEvaluator)(left.typedValue, right.typedValue);\n return bool(result);\n }, addInvalidHandling);\n }\n booleanTest(test, addInvalidHandling = true) {\n return this\n .set([C.TypeURL.XSD_BOOLEAN, C.TypeURL.XSD_BOOLEAN], expressionEvaluator => ([left, right]) => {\n const result = test(expressionEvaluator)(left.typedValue, right.typedValue);\n return bool(result);\n }, addInvalidHandling);\n }\n dateTimeTest(test, addInvalidHandling = true) {\n return this\n .set([C.TypeURL.XSD_DATE_TIME, C.TypeURL.XSD_DATE_TIME], expressionEvaluator => ([left, right]) => {\n const result = test(expressionEvaluator)(left.typedValue, right.typedValue);\n return bool(result);\n }, addInvalidHandling);\n }\n numeric(op) {\n return this.set([C.TypeAlias.SPARQL_NUMERIC, C.TypeAlias.SPARQL_NUMERIC], op);\n }\n}\nexports.Builder = Builder;\n// ----------------------------------------------------------------------------\n// Literal Construction helpers\n// ----------------------------------------------------------------------------\nfunction bool(val) {\n return new E.BooleanLiteral(val);\n}\nexports.bool = bool;\nfunction integer(num) {\n return new E.IntegerLiteral(num);\n}\nexports.integer = integer;\nfunction decimal(num) {\n return new E.DecimalLiteral(num);\n}\nexports.decimal = decimal;\nfunction float(num) {\n return new E.FloatLiteral(num);\n}\nexports.float = float;\nfunction double(num) {\n return new E.DoubleLiteral(num);\n}\nexports.double = double;\nfunction string(str) {\n return new E.StringLiteral(str);\n}\nexports.string = string;\nfunction langString(str, lang) {\n return new E.LangStringLiteral(str, lang);\n}\nexports.langString = langString;\nfunction dateTime(date, str) {\n return new E.DateTimeLiteral(date, str);\n}\nexports.dateTime = dateTime;\nfunction expressionToVar(dataFactory, variableExpression) {\n return dataFactory.variable(variableExpression.name.slice(1));\n}\nexports.expressionToVar = expressionToVar;\n//# sourceMappingURL=Helpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OverloadTree = void 0;\nconst expressions_1 = require(\"../expressions\");\nconst TypeHandling_1 = require(\"../util/TypeHandling\");\n/**\n * Maps argument types on their specific implementation in a tree like structure.\n * When adding any functionality to this class, make sure you add it to SpecialFunctions as well.\n */\nclass OverloadTree {\n constructor(identifier, depth) {\n this.identifier = identifier;\n this.implementation = undefined;\n this.generalOverloads = Object.create(null);\n this.literalOverLoads = [];\n this.depth = depth ?? 0;\n this.promotionCount = undefined;\n }\n getSubtree(overrideType) {\n const generalType = (0, TypeHandling_1.asGeneralType)(overrideType);\n if (generalType) {\n return this.generalOverloads[generalType];\n }\n for (const [type, overloadTree] of this.literalOverLoads) {\n if (overrideType === type) {\n return overloadTree;\n }\n }\n return undefined;\n }\n /**\n * Get the implementation for the types that exactly match @param args .\n */\n getImplementationExact(args) {\n // eslint-disable-next-line ts/no-this-alias\n let node = this;\n for (const expression of args) {\n node = node.getSubtree(expression);\n if (!node) {\n return undefined;\n }\n }\n return node.implementation;\n }\n /**\n * Searches in a depth first way for the best matching overload. considering this a the tree's root.\n * @param args the arguments to the function.\n * @param superTypeProvider\n * @param functionArgumentsCache\n */\n search(args, superTypeProvider, functionArgumentsCache) {\n let cacheIter = functionArgumentsCache[this.identifier];\n let searchIndex = 0;\n while (searchIndex < args.length && cacheIter?.cache) {\n const term = args[searchIndex];\n const literalExpression = (0, expressions_1.isLiteralTermExpression)(term);\n cacheIter = cacheIter.cache[literalExpression ? literalExpression.dataType : term.termType];\n searchIndex++;\n }\n if (searchIndex === args.length && cacheIter?.func) {\n return cacheIter.func;\n }\n // SearchStack is a stack of all node's that need to be checked for implementation.\n // It provides an easy way to keep order in our search.\n const searchStack = [];\n const startIndex = 0;\n if (args.length === 0) {\n return this.implementation;\n }\n // GetSubTreeWithArg return a SearchStack containing the node's that should be contacted next.\n // We also log the index since there is no other way to remember this index.\n // the provided stack should be pushed on top of our search stack since it also has it's order.\n searchStack.push(...this.getSubTreeWithArg(args[startIndex], superTypeProvider).map(node => ({ node, index: startIndex + 1 })));\n while (searchStack.length > 0) {\n const { index, node } = searchStack.pop();\n // We check the implementation because it would be possible a path is created but not implemented.\n // ex: f(double, double, double) and f(term, term). and calling f(double, double).\n if (index === args.length && node.implementation) {\n this.addToCache(functionArgumentsCache, args, node.implementation);\n return node.implementation;\n }\n searchStack.push(...node.getSubTreeWithArg(args[index], superTypeProvider).map(item => ({ node: item, index: index + 1 })));\n }\n // Calling a function with one argument but finding no implementation should return no implementation.\n // Not even the one with no arguments.\n return undefined;\n }\n addToCache(functionArgumentsCache, args, func) {\n function getDefault(lruCache, key) {\n if (!(key in lruCache)) {\n lruCache[key] = {};\n }\n return lruCache[key];\n }\n let cache = getDefault(functionArgumentsCache, this.identifier);\n for (const term of args) {\n const literalExpression = (0, expressions_1.isLiteralTermExpression)(term);\n const key = literalExpression ? literalExpression.dataType : term.termType;\n cache.cache = cache.cache ?? {};\n cache = getDefault(cache.cache, key);\n }\n cache.func = func;\n }\n /**\n * Adds an overload to the tree structure considering this as the tree's root.\n * @param argumentTypes a list of argumentTypes that would need to be provided in\n * the same order to get the implementation.\n * @param func the implementation for this overload.\n */\n addOverload(argumentTypes, func) {\n this._addOverload([...argumentTypes], func, 0);\n }\n _addOverload(argumentTypes, func, promotionCount) {\n const [argumentType, ..._argumentTypes] = argumentTypes;\n if (!argumentType) {\n if (this.promotionCount === undefined || promotionCount <= this.promotionCount) {\n this.promotionCount = promotionCount;\n this.implementation = func;\n }\n return;\n }\n let nextTree = this.getSubtree(argumentType);\n if (!nextTree) {\n const newNode = new OverloadTree(this.identifier, this.depth + 1);\n const generalType = (0, TypeHandling_1.asGeneralType)(argumentType);\n if (generalType) {\n this.generalOverloads[generalType] = newNode;\n }\n const overrideType = (0, TypeHandling_1.asOverrideType)(argumentType);\n if (overrideType) {\n this.literalOverLoads.push([overrideType, newNode]);\n }\n nextTree = newNode;\n }\n nextTree._addOverload(_argumentTypes, func, promotionCount);\n if (TypeHandling_1.typePromotion[argumentType]) {\n for (const ret of TypeHandling_1.typePromotion[argumentType]) {\n this.addPromotedOverload(ret.typeToPromote, func, ret.conversionFunction, _argumentTypes, promotionCount);\n }\n }\n }\n addPromotedOverload(typeToPromote, func, conversionFunction, argumentTypes, promotionCount) {\n let nextTree = this.getSubtree(typeToPromote);\n if (!nextTree) {\n const newNode = new OverloadTree(this.identifier, this.depth + 1);\n this.literalOverLoads.push([typeToPromote, newNode]);\n nextTree = newNode;\n }\n nextTree._addOverload(argumentTypes, funcConf => args => func(funcConf)([\n ...args.slice(0, this.depth),\n conversionFunction(args[this.depth]),\n ...args.slice(this.depth + 1, args.length),\n ]), promotionCount + 1);\n }\n /**\n * @param arg term to try and match to possible overloads of this node.\n * @param openWorldType interface allowing to discover relations between types.\n * @returns SearchStack a stack with top element the next node that should be asked for implementation or overload.\n */\n getSubTreeWithArg(arg, openWorldType) {\n const res = [];\n const literalExpression = (0, expressions_1.isLiteralTermExpression)(arg);\n // These types refer to Type exported by lib/util/Consts.ts\n if (this.generalOverloads.term) {\n res.push(this.generalOverloads.term);\n }\n // TermTypes are defined in E.TermType.\n if (this.generalOverloads[arg.termType]) {\n res.push(this.generalOverloads[arg.termType]);\n }\n if (literalExpression) {\n // Defending implementation. Mainly the scary sort.\n // This function has cost O(n) + O(m * log(m)) with n = amount of overloads and m = amount of matched overloads\n // We map over each of the overloads, filter only the once that can be used (this is normally 1 or 2).\n // The sort function on an array with 1 or 2 arguments will be negligible.\n const concreteType = (0, TypeHandling_1.asKnownLiteralType)(literalExpression.dataType);\n let subExtensionTable;\n if (concreteType) {\n // Concrete dataType is known by utils-expression-evaluator.\n subExtensionTable = TypeHandling_1.superTypeDictTable[concreteType];\n }\n else {\n // Datatype is a custom datatype\n subExtensionTable = (0, TypeHandling_1.getSuperTypes)(literalExpression.dataType, openWorldType);\n }\n const matches = this.literalOverLoads.filter(([matchType, _]) => matchType in subExtensionTable)\n .map(([matchType, tree]) => [subExtensionTable[matchType], tree]);\n // eslint-disable-next-line unused-imports/no-unused-vars\n matches.sort(([prioA, matchTypeA], [prioB, matchTypeB]) => prioA - prioB);\n res.push(...matches.map(([_, sortedType]) => sortedType));\n }\n return res;\n }\n}\nexports.OverloadTree = OverloadTree;\n//# sourceMappingURL=OverloadTree.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LangStringLiteral = exports.TimeLiteral = exports.DurationLiteral = exports.DateLiteral = exports.DayTimeDurationLiteral = exports.DateTimeLiteral = exports.yearMonthDurationsToMonths = exports.toUTCDate = exports.toDateTimeRepresentation = exports.negateDuration = exports.extractRawTimeZone = exports.defaultedYearMonthDurationRepresentation = exports.defaultedDurationRepresentation = exports.defaultedDayTimeDurationRepresentation = exports.defaultedDateTimeRepresentation = exports.dayTimeDurationsToSeconds = exports.isSubTypeOf = exports.SparqlOperator = exports.TypeAlias = exports.TypeURL = exports.typedLiteral = exports.InvalidArity = exports.InvalidLexicalForm = exports.ExtensionFunctionError = exports.CastError = exports.UnboundVariableError = exports.NoAggregator = exports.InError = exports.CoalesceError = exports.InvalidArgumentTypes = exports.InvalidTimezoneCall = exports.IncompatibleLanguageOperation = exports.RDFEqualTypeError = exports.EmptyAggregateError = exports.isExpressionError = exports.ExpressionError = exports.Builder = exports.expressionToVar = exports.float = exports.decimal = exports.langString = exports.dateTime = exports.integer = exports.double = exports.string = exports.bool = exports.declare = exports.prepareEvaluatorActionContext = exports.OverloadTree = exports.TermTransformer = void 0;\nexports.trimToDayTimeDuration = exports.trimToYearMonthDuration = exports.parseDate = exports.parseXSDFloat = exports.parseXSDDecimal = exports.parseYearMonthDuration = exports.parseTime = exports.parseDuration = exports.parseDayTimeDuration = exports.parseDateTime = exports.elapsedDuration = exports.addDurationToDateTime = exports.isNonLexicalLiteral = exports.StringLiteral = exports.NonLexicalLiteral = exports.FloatLiteral = exports.IntegerLiteral = exports.Literal = exports.Existence = exports.Aggregate = exports.DoubleLiteral = exports.DefaultGraph = exports.DecimalLiteral = exports.BlankNode = exports.BooleanLiteral = exports.NumericLiteral = exports.Variable = exports.NamedNode = exports.Operator = exports.Quad = exports.YearMonthDurationLiteral = exports.Term = void 0;\nvar TermTransformer_1 = require(\"./transformers/TermTransformer\");\nObject.defineProperty(exports, \"TermTransformer\", { enumerable: true, get: function () { return TermTransformer_1.TermTransformer; } });\nvar OverloadTree_1 = require(\"./functions/OverloadTree\");\nObject.defineProperty(exports, \"OverloadTree\", { enumerable: true, get: function () { return OverloadTree_1.OverloadTree; } });\nvar Context_1 = require(\"./util/Context\");\nObject.defineProperty(exports, \"prepareEvaluatorActionContext\", { enumerable: true, get: function () { return Context_1.prepareEvaluatorActionContext; } });\nvar Helpers_1 = require(\"./functions/Helpers\");\nObject.defineProperty(exports, \"declare\", { enumerable: true, get: function () { return Helpers_1.declare; } });\nObject.defineProperty(exports, \"bool\", { enumerable: true, get: function () { return Helpers_1.bool; } });\nObject.defineProperty(exports, \"string\", { enumerable: true, get: function () { return Helpers_1.string; } });\nObject.defineProperty(exports, \"double\", { enumerable: true, get: function () { return Helpers_1.double; } });\nObject.defineProperty(exports, \"integer\", { enumerable: true, get: function () { return Helpers_1.integer; } });\nObject.defineProperty(exports, \"dateTime\", { enumerable: true, get: function () { return Helpers_1.dateTime; } });\nObject.defineProperty(exports, \"langString\", { enumerable: true, get: function () { return Helpers_1.langString; } });\nObject.defineProperty(exports, \"decimal\", { enumerable: true, get: function () { return Helpers_1.decimal; } });\nObject.defineProperty(exports, \"float\", { enumerable: true, get: function () { return Helpers_1.float; } });\nObject.defineProperty(exports, \"expressionToVar\", { enumerable: true, get: function () { return Helpers_1.expressionToVar; } });\nObject.defineProperty(exports, \"Builder\", { enumerable: true, get: function () { return Helpers_1.Builder; } });\nvar Errors_1 = require(\"./util/Errors\");\nObject.defineProperty(exports, \"ExpressionError\", { enumerable: true, get: function () { return Errors_1.ExpressionError; } });\nObject.defineProperty(exports, \"isExpressionError\", { enumerable: true, get: function () { return Errors_1.isExpressionError; } });\nObject.defineProperty(exports, \"EmptyAggregateError\", { enumerable: true, get: function () { return Errors_1.EmptyAggregateError; } });\nObject.defineProperty(exports, \"RDFEqualTypeError\", { enumerable: true, get: function () { return Errors_1.RDFEqualTypeError; } });\nObject.defineProperty(exports, \"IncompatibleLanguageOperation\", { enumerable: true, get: function () { return Errors_1.IncompatibleLanguageOperation; } });\nObject.defineProperty(exports, \"InvalidTimezoneCall\", { enumerable: true, get: function () { return Errors_1.InvalidTimezoneCall; } });\nObject.defineProperty(exports, \"InvalidArgumentTypes\", { enumerable: true, get: function () { return Errors_1.InvalidArgumentTypes; } });\nObject.defineProperty(exports, \"CoalesceError\", { enumerable: true, get: function () { return Errors_1.CoalesceError; } });\nObject.defineProperty(exports, \"InError\", { enumerable: true, get: function () { return Errors_1.InError; } });\nObject.defineProperty(exports, \"NoAggregator\", { enumerable: true, get: function () { return Errors_1.NoAggregator; } });\nObject.defineProperty(exports, \"UnboundVariableError\", { enumerable: true, get: function () { return Errors_1.UnboundVariableError; } });\nObject.defineProperty(exports, \"CastError\", { enumerable: true, get: function () { return Errors_1.CastError; } });\nObject.defineProperty(exports, \"ExtensionFunctionError\", { enumerable: true, get: function () { return Errors_1.ExtensionFunctionError; } });\nObject.defineProperty(exports, \"InvalidLexicalForm\", { enumerable: true, get: function () { return Errors_1.InvalidLexicalForm; } });\nObject.defineProperty(exports, \"InvalidArity\", { enumerable: true, get: function () { return Errors_1.InvalidArity; } });\nvar Consts_1 = require(\"./util/Consts\");\nObject.defineProperty(exports, \"typedLiteral\", { enumerable: true, get: function () { return Consts_1.typedLiteral; } });\nObject.defineProperty(exports, \"TypeURL\", { enumerable: true, get: function () { return Consts_1.TypeURL; } });\nObject.defineProperty(exports, \"TypeAlias\", { enumerable: true, get: function () { return Consts_1.TypeAlias; } });\nObject.defineProperty(exports, \"SparqlOperator\", { enumerable: true, get: function () { return Consts_1.SparqlOperator; } });\nvar TypeHandling_1 = require(\"./util/TypeHandling\");\nObject.defineProperty(exports, \"isSubTypeOf\", { enumerable: true, get: function () { return TypeHandling_1.isSubTypeOf; } });\nvar DateTimeHelpers_1 = require(\"./util/DateTimeHelpers\");\nObject.defineProperty(exports, \"dayTimeDurationsToSeconds\", { enumerable: true, get: function () { return DateTimeHelpers_1.dayTimeDurationsToSeconds; } });\nObject.defineProperty(exports, \"defaultedDateTimeRepresentation\", { enumerable: true, get: function () { return DateTimeHelpers_1.defaultedDateTimeRepresentation; } });\nObject.defineProperty(exports, \"defaultedDayTimeDurationRepresentation\", { enumerable: true, get: function () { return DateTimeHelpers_1.defaultedDayTimeDurationRepresentation; } });\nObject.defineProperty(exports, \"defaultedDurationRepresentation\", { enumerable: true, get: function () { return DateTimeHelpers_1.defaultedDurationRepresentation; } });\nObject.defineProperty(exports, \"defaultedYearMonthDurationRepresentation\", { enumerable: true, get: function () { return DateTimeHelpers_1.defaultedYearMonthDurationRepresentation; } });\nObject.defineProperty(exports, \"extractRawTimeZone\", { enumerable: true, get: function () { return DateTimeHelpers_1.extractRawTimeZone; } });\nObject.defineProperty(exports, \"negateDuration\", { enumerable: true, get: function () { return DateTimeHelpers_1.negateDuration; } });\nObject.defineProperty(exports, \"toDateTimeRepresentation\", { enumerable: true, get: function () { return DateTimeHelpers_1.toDateTimeRepresentation; } });\nObject.defineProperty(exports, \"toUTCDate\", { enumerable: true, get: function () { return DateTimeHelpers_1.toUTCDate; } });\nObject.defineProperty(exports, \"yearMonthDurationsToMonths\", { enumerable: true, get: function () { return DateTimeHelpers_1.yearMonthDurationsToMonths; } });\nvar expressions_1 = require(\"./expressions\");\nObject.defineProperty(exports, \"DateTimeLiteral\", { enumerable: true, get: function () { return expressions_1.DateTimeLiteral; } });\nObject.defineProperty(exports, \"DayTimeDurationLiteral\", { enumerable: true, get: function () { return expressions_1.DayTimeDurationLiteral; } });\nObject.defineProperty(exports, \"DateLiteral\", { enumerable: true, get: function () { return expressions_1.DateLiteral; } });\nObject.defineProperty(exports, \"DurationLiteral\", { enumerable: true, get: function () { return expressions_1.DurationLiteral; } });\nObject.defineProperty(exports, \"TimeLiteral\", { enumerable: true, get: function () { return expressions_1.TimeLiteral; } });\nObject.defineProperty(exports, \"LangStringLiteral\", { enumerable: true, get: function () { return expressions_1.LangStringLiteral; } });\nObject.defineProperty(exports, \"Term\", { enumerable: true, get: function () { return expressions_1.Term; } });\nObject.defineProperty(exports, \"YearMonthDurationLiteral\", { enumerable: true, get: function () { return expressions_1.YearMonthDurationLiteral; } });\nObject.defineProperty(exports, \"Quad\", { enumerable: true, get: function () { return expressions_1.Quad; } });\nObject.defineProperty(exports, \"Operator\", { enumerable: true, get: function () { return expressions_1.Operator; } });\nObject.defineProperty(exports, \"NamedNode\", { enumerable: true, get: function () { return expressions_1.NamedNode; } });\nObject.defineProperty(exports, \"Variable\", { enumerable: true, get: function () { return expressions_1.Variable; } });\nObject.defineProperty(exports, \"NumericLiteral\", { enumerable: true, get: function () { return expressions_1.NumericLiteral; } });\nObject.defineProperty(exports, \"BooleanLiteral\", { enumerable: true, get: function () { return expressions_1.BooleanLiteral; } });\nObject.defineProperty(exports, \"BlankNode\", { enumerable: true, get: function () { return expressions_1.BlankNode; } });\nObject.defineProperty(exports, \"DecimalLiteral\", { enumerable: true, get: function () { return expressions_1.DecimalLiteral; } });\nObject.defineProperty(exports, \"DefaultGraph\", { enumerable: true, get: function () { return expressions_1.DefaultGraph; } });\nObject.defineProperty(exports, \"DoubleLiteral\", { enumerable: true, get: function () { return expressions_1.DoubleLiteral; } });\nObject.defineProperty(exports, \"Aggregate\", { enumerable: true, get: function () { return expressions_1.Aggregate; } });\nObject.defineProperty(exports, \"Existence\", { enumerable: true, get: function () { return expressions_1.Existence; } });\nObject.defineProperty(exports, \"Literal\", { enumerable: true, get: function () { return expressions_1.Literal; } });\nObject.defineProperty(exports, \"IntegerLiteral\", { enumerable: true, get: function () { return expressions_1.IntegerLiteral; } });\nObject.defineProperty(exports, \"FloatLiteral\", { enumerable: true, get: function () { return expressions_1.FloatLiteral; } });\nObject.defineProperty(exports, \"NonLexicalLiteral\", { enumerable: true, get: function () { return expressions_1.NonLexicalLiteral; } });\nObject.defineProperty(exports, \"StringLiteral\", { enumerable: true, get: function () { return expressions_1.StringLiteral; } });\nObject.defineProperty(exports, \"isNonLexicalLiteral\", { enumerable: true, get: function () { return expressions_1.isNonLexicalLiteral; } });\nvar SpecAlgos_1 = require(\"./util/SpecAlgos\");\nObject.defineProperty(exports, \"addDurationToDateTime\", { enumerable: true, get: function () { return SpecAlgos_1.addDurationToDateTime; } });\nObject.defineProperty(exports, \"elapsedDuration\", { enumerable: true, get: function () { return SpecAlgos_1.elapsedDuration; } });\nvar Parsing_1 = require(\"./util/Parsing\");\nObject.defineProperty(exports, \"parseDateTime\", { enumerable: true, get: function () { return Parsing_1.parseDateTime; } });\nObject.defineProperty(exports, \"parseDayTimeDuration\", { enumerable: true, get: function () { return Parsing_1.parseDayTimeDuration; } });\nObject.defineProperty(exports, \"parseDuration\", { enumerable: true, get: function () { return Parsing_1.parseDuration; } });\nObject.defineProperty(exports, \"parseTime\", { enumerable: true, get: function () { return Parsing_1.parseTime; } });\nObject.defineProperty(exports, \"parseYearMonthDuration\", { enumerable: true, get: function () { return Parsing_1.parseYearMonthDuration; } });\nObject.defineProperty(exports, \"parseXSDDecimal\", { enumerable: true, get: function () { return Parsing_1.parseXSDDecimal; } });\nObject.defineProperty(exports, \"parseXSDFloat\", { enumerable: true, get: function () { return Parsing_1.parseXSDFloat; } });\nObject.defineProperty(exports, \"parseDate\", { enumerable: true, get: function () { return Parsing_1.parseDate; } });\nvar DateTimeHelpers_2 = require(\"./util/DateTimeHelpers\");\nObject.defineProperty(exports, \"trimToYearMonthDuration\", { enumerable: true, get: function () { return DateTimeHelpers_2.trimToYearMonthDuration; } });\nObject.defineProperty(exports, \"trimToDayTimeDuration\", { enumerable: true, get: function () { return DateTimeHelpers_2.trimToDayTimeDuration; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermTransformer = void 0;\nconst RDFString = require(\"rdf-string\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\nconst E = require(\"../expressions\");\nconst Consts_1 = require(\"../util/Consts\");\nconst Err = require(\"../util/Errors\");\nconst Errors_1 = require(\"../util/Errors\");\nconst Parsing_1 = require(\"../util/Parsing\");\nconst P = require(\"../util/Parsing\");\nconst TypeHandling_1 = require(\"../util/TypeHandling\");\nclass TermTransformer {\n constructor(superTypeProvider) {\n this.superTypeProvider = superTypeProvider;\n }\n /**\n * Transforms an RDF term to the internal representation of a term,\n * assuming it is not a variable, which would be an expression (internally).\n *\n * @param term RDF term to transform into internal representation of a term\n */\n transformRDFTermUnsafe(term) {\n return this.transformTerm({\n term,\n type: sparqlalgebrajs_1.Algebra.types.EXPRESSION,\n expressionType: sparqlalgebrajs_1.Algebra.expressionTypes.TERM,\n });\n }\n transformTerm(term) {\n if (!term.term) {\n throw new Err.InvalidExpression(term);\n }\n switch (term.term.termType) {\n case 'Variable':\n return new E.Variable(RDFString.termToString(term.term));\n case 'Literal':\n return this.transformLiteral(term.term);\n case 'NamedNode':\n return new E.NamedNode(term.term.value);\n case 'BlankNode':\n return new E.BlankNode(term.term.value);\n case 'Quad':\n return new E.Quad(this.transformRDFTermUnsafe(term.term.subject), this.transformRDFTermUnsafe(term.term.predicate), this.transformRDFTermUnsafe(term.term.object), this.transformRDFTermUnsafe(term.term.graph));\n case 'DefaultGraph':\n return new E.DefaultGraph();\n }\n }\n /**\n * @param lit the rdf literal we want to transform to an internal Literal expression.\n */\n transformLiteral(lit) {\n // Both here and within the switch we transform to LangStringLiteral or StringLiteral.\n // We do this when we detect a simple literal being used.\n // Original issue regarding this behaviour: https://github.com/w3c/sparql-12/issues/112\n if (!lit.datatype || [null, undefined, ''].includes(lit.datatype.value)) {\n return lit.language ?\n new E.LangStringLiteral(lit.value, lit.language) :\n new E.StringLiteral(lit.value);\n }\n const dataType = lit.datatype.value;\n const superTypeDict = (0, TypeHandling_1.getSuperTypeDict)(dataType, this.superTypeProvider);\n // The order of checking matters! Check most specific types first!\n try {\n if (Consts_1.TypeURL.XSD_STRING in superTypeDict) {\n return new E.StringLiteral(lit.value, dataType);\n }\n if (Consts_1.TypeURL.RDF_LANG_STRING in superTypeDict) {\n return new E.LangStringLiteral(lit.value, lit.language);\n }\n if (Consts_1.TypeURL.XSD_YEAR_MONTH_DURATION in superTypeDict) {\n return new E.YearMonthDurationLiteral((0, Parsing_1.parseYearMonthDuration)(lit.value), lit.value, dataType);\n }\n if (Consts_1.TypeURL.XSD_DAY_TIME_DURATION in superTypeDict) {\n return new E.DayTimeDurationLiteral((0, Parsing_1.parseDayTimeDuration)(lit.value), lit.value, dataType);\n }\n if (Consts_1.TypeURL.XSD_DURATION in superTypeDict) {\n return new E.DurationLiteral((0, Parsing_1.parseDuration)(lit.value), lit.value, dataType);\n }\n if (Consts_1.TypeURL.XSD_DATE_TIME in superTypeDict) {\n const dateVal = new Date(lit.value);\n if (Number.isNaN(dateVal.getTime())) {\n return new E.NonLexicalLiteral(undefined, dataType, this.superTypeProvider, lit.value);\n }\n return new E.DateTimeLiteral((0, Parsing_1.parseDateTime)(lit.value), lit.value, dataType);\n }\n if (Consts_1.TypeURL.XSD_DATE in superTypeDict) {\n return new E.DateLiteral((0, Parsing_1.parseDate)(lit.value), lit.value, dataType);\n }\n if (Consts_1.TypeURL.XSD_TIME in superTypeDict) {\n return new E.TimeLiteral((0, Parsing_1.parseTime)(lit.value), lit.value, dataType);\n }\n if (Consts_1.TypeURL.XSD_BOOLEAN in superTypeDict) {\n if (lit.value !== 'true' && lit.value !== 'false' && lit.value !== '1' && lit.value !== '0') {\n return new E.NonLexicalLiteral(undefined, dataType, this.superTypeProvider, lit.value);\n }\n return new E.BooleanLiteral(lit.value === 'true' || lit.value === '1', lit.value);\n }\n if (Consts_1.TypeURL.XSD_DECIMAL in superTypeDict) {\n const intVal = P.parseXSDDecimal(lit.value);\n if (intVal === undefined) {\n return new E.NonLexicalLiteral(undefined, dataType, this.superTypeProvider, lit.value);\n }\n if (Consts_1.TypeURL.XSD_INTEGER in superTypeDict) {\n return new E.IntegerLiteral(intVal, dataType, lit.value);\n }\n // If type is not an integer it's just a decimal.\n return new E.DecimalLiteral(intVal, dataType, lit.value);\n }\n const isFloat = Consts_1.TypeURL.XSD_FLOAT in superTypeDict;\n const isDouble = Consts_1.TypeURL.XSD_DOUBLE in superTypeDict;\n if (isFloat || isDouble) {\n const doubleVal = P.parseXSDFloat(lit.value);\n if (doubleVal === undefined) {\n return new E.NonLexicalLiteral(undefined, dataType, this.superTypeProvider, lit.value);\n }\n if (isFloat) {\n return new E.FloatLiteral(doubleVal, dataType, lit.value);\n }\n return new E.DoubleLiteral(doubleVal, dataType, lit.value);\n }\n return new E.Literal(lit.value, dataType, lit.value);\n }\n catch (error) {\n if ((0, Errors_1.isExpressionError)(error)) {\n return new E.NonLexicalLiteral(undefined, dataType, this.superTypeProvider, lit.value);\n }\n throw error;\n }\n }\n}\nexports.TermTransformer = TermTransformer;\n//# sourceMappingURL=TermTransformer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SparqlOperator = exports.TypeURL = exports.typedLiteral = exports.TypeAlias = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nvar TypeAlias;\n(function (TypeAlias) {\n // Numeric is everything defined in https://www.w3.org/TR/sparql11-query/#operandDataTypes\n TypeAlias[\"SPARQL_NUMERIC\"] = \"SPARQL_NUMERIC\";\n /**\n * Stringly is everything defined in https://www.w3.org/TR/sparql11-query/#func-strings\n * In other words it is a simple literal, a plain literal with language tag, or a literal with datatype xsd:string\n * In other words, since utils-expression-evaluator transforms a simple literal to xsd_string.\n * It is RDF_LANG_STRING or XSD_STRING.\n * Reasons for this are mentioned here: w3c/sparql-12#112\n */\n TypeAlias[\"SPARQL_STRINGLY\"] = \"SPARQL_STRINGLY\";\n})(TypeAlias || (exports.TypeAlias = TypeAlias = {}));\nconst DF = new rdf_data_factory_1.DataFactory();\nfunction typedLiteral(value, type) {\n return DF.literal(value, DF.namedNode(type));\n}\nexports.typedLiteral = typedLiteral;\nvar TypeURL;\n(function (TypeURL) {\n TypeURL[\"XSD_ANY_URI\"] = \"http://www.w3.org/2001/XMLSchema#anyURI\";\n TypeURL[\"XSD_STRING\"] = \"http://www.w3.org/2001/XMLSchema#string\";\n TypeURL[\"RDF_LANG_STRING\"] = \"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\";\n TypeURL[\"XSD_BOOLEAN\"] = \"http://www.w3.org/2001/XMLSchema#boolean\";\n TypeURL[\"XSD_DATE_TIME\"] = \"http://www.w3.org/2001/XMLSchema#dateTime\";\n TypeURL[\"XSD_DATE_TIME_STAMP\"] = \"http://www.w3.org/2001/XMLSchema#dateTimeStamp\";\n TypeURL[\"XSD_DATE\"] = \"http://www.w3.org/2001/XMLSchema#date\";\n TypeURL[\"XSD_G_MONTH\"] = \"http://www.w3.org/2001/XMLSchema#gMonth\";\n TypeURL[\"XSD_G_MONTHDAY\"] = \"http://www.w3.org/2001/XMLSchema#gMonthDay\";\n TypeURL[\"XSD_G_YEAR\"] = \"http://www.w3.org/2001/XMLSchema#gYear\";\n TypeURL[\"XSD_G_YEAR_MONTH\"] = \"http://www.w3.org/2001/XMLSchema#gYearMonth\";\n TypeURL[\"XSD_TIME\"] = \"http://www.w3.org/2001/XMLSchema#time\";\n TypeURL[\"XSD_G_DAY\"] = \"http://www.w3.org/2001/XMLSchema#gDay\";\n // Numeric types\n TypeURL[\"XSD_DECIMAL\"] = \"http://www.w3.org/2001/XMLSchema#decimal\";\n TypeURL[\"XSD_FLOAT\"] = \"http://www.w3.org/2001/XMLSchema#float\";\n TypeURL[\"XSD_DOUBLE\"] = \"http://www.w3.org/2001/XMLSchema#double\";\n // Derived numeric types\n TypeURL[\"XSD_INTEGER\"] = \"http://www.w3.org/2001/XMLSchema#integer\";\n TypeURL[\"XSD_NON_POSITIVE_INTEGER\"] = \"http://www.w3.org/2001/XMLSchema#nonPositiveInteger\";\n TypeURL[\"XSD_NEGATIVE_INTEGER\"] = \"http://www.w3.org/2001/XMLSchema#negativeInteger\";\n TypeURL[\"XSD_LONG\"] = \"http://www.w3.org/2001/XMLSchema#long\";\n TypeURL[\"XSD_INT\"] = \"http://www.w3.org/2001/XMLSchema#int\";\n TypeURL[\"XSD_SHORT\"] = \"http://www.w3.org/2001/XMLSchema#short\";\n TypeURL[\"XSD_BYTE\"] = \"http://www.w3.org/2001/XMLSchema#byte\";\n TypeURL[\"XSD_NON_NEGATIVE_INTEGER\"] = \"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\";\n TypeURL[\"XSD_POSITIVE_INTEGER\"] = \"http://www.w3.org/2001/XMLSchema#positiveInteger\";\n TypeURL[\"XSD_UNSIGNED_LONG\"] = \"http://www.w3.org/2001/XMLSchema#unsignedLong\";\n TypeURL[\"XSD_UNSIGNED_INT\"] = \"http://www.w3.org/2001/XMLSchema#unsignedInt\";\n TypeURL[\"XSD_UNSIGNED_SHORT\"] = \"http://www.w3.org/2001/XMLSchema#unsignedShort\";\n TypeURL[\"XSD_UNSIGNED_BYTE\"] = \"http://www.w3.org/2001/XMLSchema#unsignedByte\";\n // Derived String Type\n TypeURL[\"XSD_NORMALIZED_STRING\"] = \"http://www.w3.org/2001/XMLSchema#normalizedString\";\n TypeURL[\"XSD_TOKEN\"] = \"http://www.w3.org/2001/XMLSchema#token\";\n TypeURL[\"XSD_LANGUAGE\"] = \"http://www.w3.org/2001/XMLSchema#language\";\n TypeURL[\"XSD_NM_TOKEN\"] = \"http://www.w3.org/2001/XMLSchema#NMTOKEN\";\n TypeURL[\"XSD_NAME\"] = \"http://www.w3.org/2001/XMLSchema#name\";\n TypeURL[\"XSD_NC_NAME\"] = \"http://www.w3.org/2001/XMLSchema#NCName\";\n TypeURL[\"XSD_ENTITY\"] = \"http://www.w3.org/2001/XMLSchema#ENTITY\";\n TypeURL[\"XSD_ID\"] = \"http://www.w3.org/2001/XMLSchema#ID\";\n TypeURL[\"XSD_ID_REF\"] = \"http://www.w3.org/2001/XMLSchema#IDREF\";\n // Other types\n TypeURL[\"XSD_DURATION\"] = \"http://www.w3.org/2001/XMLSchema#duration\";\n TypeURL[\"XSD_YEAR_MONTH_DURATION\"] = \"http://www.w3.org/2001/XMLSchema#yearMonthDuration\";\n TypeURL[\"XSD_DAY_TIME_DURATION\"] = \"http://www.w3.org/2001/XMLSchema#dayTimeDuration\";\n})(TypeURL || (exports.TypeURL = TypeURL = {}));\n// TODO: Remove unneeded double typing\nvar SparqlOperator;\n(function (SparqlOperator) {\n // Operator mapping\n // https://www.w3.org/TR/sparql11-query/#OperatorMapping\n SparqlOperator[\"NOT\"] = \"!\";\n SparqlOperator[\"UMINUS\"] = \"uminus\";\n SparqlOperator[\"UPLUS\"] = \"uplus\";\n SparqlOperator[\"LOGICAL_OR\"] = \"||\";\n SparqlOperator[\"LOGICAL_AND\"] = \"&&\";\n SparqlOperator[\"EQUAL\"] = \"=\";\n SparqlOperator[\"NOT_EQUAL\"] = \"!=\";\n SparqlOperator[\"LT\"] = \"<\";\n SparqlOperator[\"GT\"] = \">\";\n SparqlOperator[\"LTE\"] = \"<=\";\n SparqlOperator[\"GTE\"] = \">=\";\n SparqlOperator[\"SAME_TERM\"] = \"sameterm\";\n SparqlOperator[\"IN\"] = \"in\";\n SparqlOperator[\"NOT_IN\"] = \"notin\";\n SparqlOperator[\"MULTIPLICATION\"] = \"*\";\n SparqlOperator[\"DIVISION\"] = \"/\";\n SparqlOperator[\"ADDITION\"] = \"+\";\n SparqlOperator[\"SUBTRACTION\"] = \"-\";\n // Functional Forms\n // https://www.w3.org/TR/sparql11-query/#func-forms\n // See SpecialOperators\n // Functions on RDF Terms\n // https://www.w3.org/TR/sparql11-query/#func-rdfTerms\n SparqlOperator[\"IS_IRI\"] = \"isiri\";\n SparqlOperator[\"IS_URI\"] = \"isuri\";\n SparqlOperator[\"IS_BLANK\"] = \"isblank\";\n SparqlOperator[\"IS_LITERAL\"] = \"isliteral\";\n SparqlOperator[\"IS_NUMERIC\"] = \"isnumeric\";\n SparqlOperator[\"STR\"] = \"str\";\n SparqlOperator[\"LANG\"] = \"lang\";\n SparqlOperator[\"DATATYPE\"] = \"datatype\";\n SparqlOperator[\"IRI\"] = \"iri\";\n SparqlOperator[\"URI\"] = \"uri\";\n SparqlOperator[\"BNODE\"] = \"bnode\";\n SparqlOperator[\"STRDT\"] = \"strdt\";\n SparqlOperator[\"STRLANG\"] = \"strlang\";\n SparqlOperator[\"UUID\"] = \"uuid\";\n SparqlOperator[\"STRUUID\"] = \"struuid\";\n // Functions on strings\n // https://www.w3.org/TR/sparql11-query/#func-strings\n SparqlOperator[\"STRLEN\"] = \"strlen\";\n SparqlOperator[\"SUBSTR\"] = \"substr\";\n SparqlOperator[\"UCASE\"] = \"ucase\";\n SparqlOperator[\"LCASE\"] = \"lcase\";\n SparqlOperator[\"STRSTARTS\"] = \"strstarts\";\n SparqlOperator[\"STRENDS\"] = \"strends\";\n SparqlOperator[\"CONTAINS\"] = \"contains\";\n SparqlOperator[\"STRBEFORE\"] = \"strbefore\";\n SparqlOperator[\"STRAFTER\"] = \"strafter\";\n SparqlOperator[\"ENCODE_FOR_URI\"] = \"encode_for_uri\";\n SparqlOperator[\"CONCAT\"] = \"concat\";\n SparqlOperator[\"LANG_MATCHES\"] = \"langmatches\";\n SparqlOperator[\"REGEX\"] = \"regex\";\n SparqlOperator[\"REPLACE\"] = \"replace\";\n // Functions on numerics\n // https://www.w3.org/TR/sparql11-query/#func-numerics\n SparqlOperator[\"ABS\"] = \"abs\";\n SparqlOperator[\"ROUND\"] = \"round\";\n SparqlOperator[\"CEIL\"] = \"ceil\";\n SparqlOperator[\"FLOOR\"] = \"floor\";\n SparqlOperator[\"RAND\"] = \"rand\";\n // Functions on Dates and Times\n // https://www.w3.org/TR/sparql11-query/#func-date-time\n SparqlOperator[\"NOW\"] = \"now\";\n SparqlOperator[\"YEAR\"] = \"year\";\n SparqlOperator[\"MONTH\"] = \"month\";\n SparqlOperator[\"DAY\"] = \"day\";\n SparqlOperator[\"HOURS\"] = \"hours\";\n SparqlOperator[\"MINUTES\"] = \"minutes\";\n SparqlOperator[\"SECONDS\"] = \"seconds\";\n SparqlOperator[\"TIMEZONE\"] = \"timezone\";\n SparqlOperator[\"TZ\"] = \"tz\";\n // Hash functions\n // https://www.w3.org/TR/sparql11-query/#func-hash\n SparqlOperator[\"MD5\"] = \"md5\";\n SparqlOperator[\"SHA1\"] = \"sha1\";\n SparqlOperator[\"SHA256\"] = \"sha256\";\n SparqlOperator[\"SHA384\"] = \"sha384\";\n SparqlOperator[\"SHA512\"] = \"sha512\";\n // XPath Constructor functions\n // https://www.w3.org/TR/sparql11-query/#FunctionMapping\n // See Named Operators\n // Functions for quoted triples\n // https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#triple-function\n SparqlOperator[\"TRIPLE\"] = \"triple\";\n SparqlOperator[\"SUBJECT\"] = \"subject\";\n SparqlOperator[\"PREDICATE\"] = \"predicate\";\n SparqlOperator[\"OBJECT\"] = \"object\";\n SparqlOperator[\"IS_TRIPLE\"] = \"istriple\";\n // Functional Forms\n // https://www.w3.org/TR/sparql11-query/#func-forms\n SparqlOperator[\"BOUND\"] = \"bound\";\n SparqlOperator[\"IF\"] = \"if\";\n SparqlOperator[\"COALESCE\"] = \"coalesce\";\n})(SparqlOperator || (exports.SparqlOperator = SparqlOperator = {}));\n//# sourceMappingURL=Consts.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepareEvaluatorActionContext = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst lru_cache_1 = require(\"lru-cache\");\nconst DateTimeHelpers_1 = require(\"./DateTimeHelpers\");\nfunction prepareEvaluatorActionContext(orgContext) {\n let context = orgContext;\n // Handle two variants of providing extension functions\n if (context.has(context_entries_1.KeysInitQuery.extensionFunctionCreator) && context.has(context_entries_1.KeysInitQuery.extensionFunctions)) {\n throw new Error('Illegal simultaneous usage of extensionFunctionCreator and extensionFunctions in context');\n }\n if (context.has(context_entries_1.KeysInitQuery.extensionFunctionCreator)) {\n context = context.set(context_entries_1.KeysExpressionEvaluator.extensionFunctionCreator, context.get(context_entries_1.KeysInitQuery.extensionFunctionCreator));\n }\n else if (context.has(context_entries_1.KeysInitQuery.extensionFunctions)) {\n const extensionFunctions = context.getSafe(context_entries_1.KeysInitQuery.extensionFunctions);\n context = context.set(context_entries_1.KeysExpressionEvaluator.extensionFunctionCreator, async (functionNamedNode) => extensionFunctions[functionNamedNode.value]);\n }\n else {\n // eslint-disable-next-line unicorn/no-useless-undefined\n context = context.setDefault(context_entries_1.KeysExpressionEvaluator.extensionFunctionCreator, async () => undefined);\n }\n context = context.setDefault(context_entries_1.KeysExpressionEvaluator.defaultTimeZone, (0, DateTimeHelpers_1.extractTimeZone)(context.getSafe(context_entries_1.KeysInitQuery.queryTimestamp)));\n context = context.setDefault(context_entries_1.KeysExpressionEvaluator.superTypeProvider, {\n cache: new lru_cache_1.LRUCache({ max: 1_000 }),\n discoverer: () => 'term',\n });\n return context;\n}\nexports.prepareEvaluatorActionContext = prepareEvaluatorActionContext;\n//# sourceMappingURL=Context.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extractTimeZone = exports.extractRawTimeZone = exports.dayTimeDurationsToSeconds = exports.yearMonthDurationsToMonths = exports.trimToDayTimeDuration = exports.trimToYearMonthDuration = exports.toUTCDate = exports.toJSDate = exports.negateDuration = exports.toDateTimeRepresentation = exports.defaultedDateTimeRepresentation = exports.simplifyDurationRepresentation = exports.defaultedDurationRepresentation = exports.defaultedYearMonthDurationRepresentation = exports.defaultedDayTimeDurationRepresentation = void 0;\n// Important is to notice JS and XSD datatypes have different defaulted values\n// | Field | Default in JS | Default in XSD_DayTime | Default in XSD_Duration |\n// | Month | 0 | 1 | 0 |\n// | Day | 1 | 1 | 0 |\nfunction defaultedDayTimeDurationRepresentation(rep) {\n return {\n day: rep.day ?? 0,\n hours: rep.hours ?? 0,\n minutes: rep.minutes ?? 0,\n seconds: rep.seconds ?? 0,\n };\n}\nexports.defaultedDayTimeDurationRepresentation = defaultedDayTimeDurationRepresentation;\nfunction defaultedYearMonthDurationRepresentation(rep) {\n return {\n year: rep.year ?? 0,\n month: rep.month ?? 0,\n };\n}\nexports.defaultedYearMonthDurationRepresentation = defaultedYearMonthDurationRepresentation;\nfunction defaultedDurationRepresentation(rep) {\n return {\n ...defaultedDayTimeDurationRepresentation(rep),\n ...defaultedYearMonthDurationRepresentation(rep),\n };\n}\nexports.defaultedDurationRepresentation = defaultedDurationRepresentation;\nfunction simplifyDurationRepresentation(rep) {\n const temp = defaultedDurationRepresentation(rep);\n const res = {};\n // Simplify year part\n const years = temp.year + Math.trunc(temp.month / 12);\n if (years) {\n res.year = years;\n temp.month %= 12;\n }\n if (temp.month) {\n res.month = temp.month;\n }\n // Simplify day part\n const days = temp.day + Math.trunc(temp.hours / 24) +\n Math.trunc(temp.minutes / (24 * 60)) + Math.trunc(temp.seconds / (24 * 60 * 60));\n if (days) {\n res.day = days;\n temp.hours %= 24;\n temp.minutes %= 24 * 60;\n temp.seconds %= 24 * 60 * 60;\n }\n const hours = temp.hours + Math.trunc(temp.minutes / 60) +\n Math.trunc(temp.seconds / (60 * 60));\n if (hours) {\n res.hours = hours;\n temp.minutes %= 60;\n temp.seconds %= 60 * 60;\n }\n const minutes = temp.minutes + Math.trunc(temp.seconds / 60);\n if (minutes) {\n res.minutes = minutes;\n temp.seconds %= 60;\n }\n if (temp.seconds) {\n res.seconds = temp.seconds;\n }\n return res;\n}\nexports.simplifyDurationRepresentation = simplifyDurationRepresentation;\nfunction defaultedDateTimeRepresentation(rep) {\n return {\n ...rep,\n day: rep.day ?? 1,\n hours: rep.hours ?? 0,\n month: rep.month ?? 1,\n year: rep.year ?? 0,\n seconds: rep.seconds ?? 0,\n minutes: rep.minutes ?? 0,\n };\n}\nexports.defaultedDateTimeRepresentation = defaultedDateTimeRepresentation;\nfunction toDateTimeRepresentation({ date, timeZone }) {\n return {\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n hours: date.getHours(),\n minutes: date.getMinutes(),\n seconds: date.getSeconds(),\n zoneHours: timeZone.zoneHours,\n zoneMinutes: timeZone.zoneMinutes,\n };\n}\nexports.toDateTimeRepresentation = toDateTimeRepresentation;\nfunction negateDuration(dur) {\n return {\n year: dur.year === undefined ? undefined : -1 * dur.year,\n month: dur.month === undefined ? undefined : -1 * dur.month,\n day: dur.day === undefined ? undefined : -1 * dur.day,\n hours: dur.hours === undefined ? undefined : -1 * dur.hours,\n minutes: dur.minutes === undefined ? undefined : -1 * dur.minutes,\n seconds: dur.seconds === undefined ? undefined : -1 * dur.seconds,\n };\n}\nexports.negateDuration = negateDuration;\nfunction toJSDate(date) {\n // The given hours will be assumed to be local time.\n const res = new Date(date.year, date.month - 1, date.day, date.hours, date.minutes, Math.trunc(date.seconds), (date.seconds % 1) * 1_000);\n if (date.year >= 0 && date.year < 100) {\n // Special rule of date has gone int action:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date#individual_date_and_time_component_values\n const jumpDeltaOfDate = 1_900;\n res.setFullYear(res.getFullYear() - jumpDeltaOfDate);\n }\n return res;\n}\nexports.toJSDate = toJSDate;\nfunction toUTCDate(date, defaultTimezone) {\n const localTime = toJSDate(defaultedDateTimeRepresentation(date));\n // This date has been constructed in machine local time, now we alter it to become UTC and convert to correct timezone\n // Correction needed from local machine timezone to UTC\n const minutesCorrectionLocal = localTime.getTimezoneOffset();\n // Correction needed from UTC to provided timeZone\n const hourCorrectionUTC = date.zoneHours ?? defaultTimezone.zoneHours;\n const minutesCorrectionUTC = date.zoneMinutes ?? defaultTimezone.zoneMinutes;\n return new Date(localTime.getTime() - (minutesCorrectionLocal + hourCorrectionUTC * 60 + minutesCorrectionUTC) * 60 * 1_000);\n}\nexports.toUTCDate = toUTCDate;\nfunction trimToYearMonthDuration(dur) {\n return {\n year: dur.year,\n month: dur.month,\n };\n}\nexports.trimToYearMonthDuration = trimToYearMonthDuration;\nfunction trimToDayTimeDuration(dur) {\n return {\n day: dur.day,\n hours: dur.hours,\n minutes: dur.minutes,\n seconds: dur.seconds,\n };\n}\nexports.trimToDayTimeDuration = trimToDayTimeDuration;\nfunction yearMonthDurationsToMonths(dur) {\n return dur.year * 12 + dur.month;\n}\nexports.yearMonthDurationsToMonths = yearMonthDurationsToMonths;\nfunction dayTimeDurationsToSeconds(dur) {\n return (((dur.day * 24) + dur.hours) * 60 + dur.minutes) * 60 + dur.seconds;\n}\nexports.dayTimeDurationsToSeconds = dayTimeDurationsToSeconds;\nfunction extractRawTimeZone(zoneContained) {\n const extraction = /(Z|([+-]\\d\\d:\\d\\d))?$/u.exec(zoneContained);\n // It is safe to cast here because the empty string can always match.\n return extraction[0];\n}\nexports.extractRawTimeZone = extractRawTimeZone;\nfunction extractTimeZone(date) {\n return {\n zoneHours: date.getTimezoneOffset() / 60,\n zoneMinutes: date.getTimezoneOffset() % 60,\n };\n}\nexports.extractTimeZone = extractTimeZone;\n//# sourceMappingURL=DateTimeHelpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoAggregator = exports.ExtensionFunctionError = exports.InvalidExpression = exports.InvalidArity = exports.UnexpectedError = exports.ParseError = exports.EmptyAggregateError = exports.IncompatibleLanguageOperation = exports.InvalidTimezoneCall = exports.CastError = exports.InvalidArgumentTypes = exports.InError = exports.CoalesceError = exports.RDFEqualTypeError = exports.EBVCoercionError = exports.UnboundVariableError = exports.InvalidLexicalForm = exports.isExpressionError = exports.ExpressionError = void 0;\n/**\n * This class of error will be thrown when an expression errors.\n * Various reasons this could happen are:\n * - invalid types for the given operator\n * - unbound variables\n * - invalid lexical forms\n * - ...\n *\n * The distinction is made so that one can catch this specific type\n * and handle it accordingly to the SPARQL spec (relevant for e.g. FILTER, EXTEND),\n * while others (programming errors) can be re-thrown.\n *\n * @see isExpressionError\n */\nclass ExpressionError extends Error {\n}\nexports.ExpressionError = ExpressionError;\n/**\n * Checks whether a given error is an {@link ExpressionError}.\n * Also useful for mocking in tests for covering all branches.\n *\n * @see ExpressionError\n */\nfunction isExpressionError(error) {\n return error instanceof ExpressionError;\n}\nexports.isExpressionError = isExpressionError;\n/**\n * A literal has an invalid lexical form for the datatype it is accompanied by.\n * This error is only thrown when the term is as function argument that requires\n * a valid lexical form.\n */\nclass InvalidLexicalForm extends ExpressionError {\n constructor(arg) {\n super(`Invalid lexical form '${pp(arg)}'`);\n this.arg = arg;\n }\n}\nexports.InvalidLexicalForm = InvalidLexicalForm;\n/**\n * A variable in the expression was not bound.\n */\nclass UnboundVariableError extends ExpressionError {\n constructor(variable, bindings) {\n super(`Unbound variable '${pp(variable)}'`);\n this.variable = variable;\n this.bindings = bindings;\n }\n}\nexports.UnboundVariableError = UnboundVariableError;\n/**\n * An invalid term was being coerced to an Effective Boolean Value.\n *\n * See the {@link https://www.w3.org/TR/sparql11-query/#ebv | SPARQL docs}\n * on EBVs.\n */\nclass EBVCoercionError extends ExpressionError {\n constructor(arg) {\n super(`Cannot coerce term to EBV '${pp(arg)}'`);\n this.arg = arg;\n }\n}\nexports.EBVCoercionError = EBVCoercionError;\n/**\n * An equality test was done on literals with unsupported datatypes.\n *\n * See {@link https://www.w3.org/TR/sparql11-query/#func-RDFterm-equal | term equality spec}.\n */\nclass RDFEqualTypeError extends ExpressionError {\n constructor(args) {\n super('Equality test for literals with unsupported datatypes');\n this.args = args;\n }\n}\nexports.RDFEqualTypeError = RDFEqualTypeError;\n/**\n * All the expressions in a COALESCE call threw errors.\n */\nclass CoalesceError extends ExpressionError {\n constructor(errors) {\n super('All COALESCE arguments threw errors');\n this.errors = errors;\n }\n}\nexports.CoalesceError = CoalesceError;\n/**\n * No arguments to an IN call where equal, and at least one threw an error.\n */\nclass InError extends ExpressionError {\n constructor(errors) {\n super(`Some argument to IN errorred and none where equal. ${errors.map(err => `(${err.toString()}) `).join('and ')}`);\n this.errors = errors;\n }\n}\nexports.InError = InError;\n/**\n * Literals were passed to an operator that doesn't support their datatypes.\n */\nclass InvalidArgumentTypes extends ExpressionError {\n constructor(args, op) {\n super(`Argument types not valid for operator: '${pp(op)}' with '${pp(args)}`);\n this.args = args;\n this.op = op;\n }\n}\nexports.InvalidArgumentTypes = InvalidArgumentTypes;\n/**\n * An invalid typecast happened.\n */\nclass CastError extends ExpressionError {\n constructor(arg, cast) {\n super(`Invalid cast: '${pp(arg)}' to '${pp(cast)}'`);\n this.arg = arg;\n }\n}\nexports.CastError = CastError;\nclass InvalidTimezoneCall extends ExpressionError {\n constructor(dateString) {\n super(`TIMEZONE call on ${dateString} which has no timezone`);\n this.dateString = dateString;\n }\n}\nexports.InvalidTimezoneCall = InvalidTimezoneCall;\nclass IncompatibleLanguageOperation extends ExpressionError {\n constructor(arg1, arg2) {\n super(`Operation on incompatible language literals '${pp(arg1)}' and '${pp(arg2)}'`);\n this.arg1 = arg1;\n this.arg2 = arg2;\n }\n}\nexports.IncompatibleLanguageOperation = IncompatibleLanguageOperation;\nclass EmptyAggregateError extends ExpressionError {\n constructor() {\n super('Empty aggregate expression');\n }\n}\nexports.EmptyAggregateError = EmptyAggregateError;\nclass ParseError extends ExpressionError {\n constructor(str, type) {\n super(`Failed to parse \"${str}\" as ${type}.`);\n }\n}\nexports.ParseError = ParseError;\n// Non Expression Errors ------------------------------------------------------\n/**\n * An error that arises when we detect a 'should-be-impossible' state.\n * Given that this error is thrown, it clearly wasn't impossible, and some\n * mistake has been made.\n */\nclass UnexpectedError extends Error {\n constructor(message, payload) {\n super(`Programmer Error '${message}'`);\n this.payload = payload;\n }\n}\nexports.UnexpectedError = UnexpectedError;\nclass InvalidArity extends Error {\n constructor(args, op) {\n super(`The number of args does not match the arity of the operator '${pp(op)}'.`);\n this.args = args;\n this.op = op;\n }\n}\nexports.InvalidArity = InvalidArity;\nclass InvalidExpression extends Error {\n constructor(expr) {\n super(`Invalid SPARQL Expression '${pp(expr)}'`);\n }\n}\nexports.InvalidExpression = InvalidExpression;\nclass ExtensionFunctionError extends Error {\n constructor(name, functionError) {\n if (functionError instanceof Error) {\n super(`Error thrown in ${name}: ${functionError.message}${functionError.stack ? `\\n${functionError.stack}` : ''}`);\n }\n else {\n super(`Error thrown in ${name}`);\n }\n }\n}\nexports.ExtensionFunctionError = ExtensionFunctionError;\nclass NoAggregator extends Error {\n constructor(name) {\n super(`Aggregate expression ${pp(name)} found, but no aggregate hook provided.`);\n }\n}\nexports.NoAggregator = NoAggregator;\nfunction pp(object) {\n return JSON.stringify(object);\n}\n//# sourceMappingURL=Errors.js.map","\"use strict\";\n// TODO: Find a library for this, because this is basically an xsd datatypes parser\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseDayTimeDuration = exports.parseYearMonthDuration = exports.parseDuration = exports.parseTime = exports.parseDate = exports.parseDateTime = exports.parseXSDDecimal = exports.parseXSDFloat = void 0;\nconst DateTimeHelpers_1 = require(\"./DateTimeHelpers\");\nconst Errors_1 = require(\"./Errors\");\nconst SpecAlgos_1 = require(\"./SpecAlgos\");\n/**\n * TODO: Fix decently\n * Parses float datatypes (double, float).\n *\n * All invalid lexical values return undefined.\n *\n * @param value the string to interpret as a number\n */\nfunction parseXSDFloat(value) {\n const numb = Number(value);\n if (Number.isNaN(numb)) {\n if (value === 'NaN') {\n return Number.NaN;\n }\n if (value === 'INF' || value === '+INF') {\n return Number.POSITIVE_INFINITY;\n }\n if (value === '-INF') {\n return Number.NEGATIVE_INFINITY;\n }\n return undefined;\n }\n return numb;\n}\nexports.parseXSDFloat = parseXSDFloat;\n/**\n * Parses decimal datatypes (decimal, int, byte, nonPositiveInteger, etc...).\n *\n * All other values, including NaN, INF, and floating point numbers all\n * return undefined;\n *\n * @param value the string to interpret as a number\n */\nfunction parseXSDDecimal(value) {\n const numb = Number(value);\n return Number.isNaN(numb) ? undefined : numb;\n}\nexports.parseXSDDecimal = parseXSDDecimal;\nfunction parseDateTime(dateTimeStr) {\n // https://www.w3.org/TR/xmlschema-2/#dateTime\n const [date, time] = dateTimeStr.split('T');\n if (time === undefined) {\n throw new Errors_1.ParseError(dateTimeStr, 'dateTime');\n }\n return { ...parseDate(date), ...__parseTime(time) };\n}\nexports.parseDateTime = parseDateTime;\nfunction parseTimeZone(timeZoneStr) {\n // https://www.w3.org/TR/xmlschema-2/#dateTime-timezones\n if (timeZoneStr === '') {\n return { zoneHours: undefined, zoneMinutes: undefined };\n }\n if (timeZoneStr === 'Z') {\n return { zoneHours: 0, zoneMinutes: 0 };\n }\n const timeZoneStrings = timeZoneStr.replaceAll(/^([+|-])(\\d\\d):(\\d\\d)$/gu, '$11!$2!$3').split('!');\n const timeZone = timeZoneStrings.map(Number);\n return {\n zoneHours: timeZone[0] * timeZone[1],\n zoneMinutes: timeZone[0] * timeZone[2],\n };\n}\nfunction parseDate(dateStr) {\n // https://www.w3.org/TR/xmlschema-2/#date-lexical-representation\n const formatted = dateStr.replaceAll(/^(-)?([123456789]*\\d{4})-(\\d\\d)-(\\d\\d)(Z|([+-]\\d\\d:\\d\\d))?$/gu, '$11!$2!$3!$4!$5');\n if (formatted === dateStr) {\n throw new Errors_1.ParseError(dateStr, 'date');\n }\n const dateStrings = formatted.split('!');\n const date = dateStrings.slice(0, -1).map(Number);\n const res = {\n year: date[0] * date[1],\n month: date[2],\n day: date[3],\n ...parseTimeZone(dateStrings[4]),\n };\n if (!(res.month >= 1 && res.month <= 12) || !(res.day >= 1 && res.day <= (0, SpecAlgos_1.maximumDayInMonthFor)(res.year, res.month))) {\n throw new Errors_1.ParseError(dateStr, 'date');\n }\n return res;\n}\nexports.parseDate = parseDate;\nfunction __parseTime(timeStr) {\n // https://www.w3.org/TR/xmlschema-2/#time-lexical-repr\n const formatted = timeStr.replaceAll(/^(\\d\\d):(\\d\\d):(\\d\\d(\\.\\d+)?)(Z|([+-]\\d\\d:\\d\\d))?$/gu, '$1!$2!$3!$5');\n if (formatted === timeStr) {\n throw new Errors_1.ParseError(timeStr, 'time');\n }\n const timeStrings = formatted.split('!');\n const time = timeStrings.slice(0, -1).map(Number);\n const res = {\n hours: time[0],\n minutes: time[1],\n seconds: time[2],\n ...parseTimeZone(timeStrings[3]),\n };\n if (res.seconds >= 60 || res.minutes >= 60 || res.hours > 24 ||\n (res.hours === 24 && (res.minutes !== 0 || res.seconds !== 0))) {\n throw new Errors_1.ParseError(timeStr, 'time');\n }\n return res;\n}\n// We make a separation in internal and external since dateTime will have hour-date rollover,\n// but time just does modulo the time.\nfunction parseTime(timeStr) {\n // https://www.w3.org/TR/xmlschema-2/#time-lexical-repr\n const res = __parseTime(timeStr);\n res.hours %= 24;\n return res;\n}\nexports.parseTime = parseTime;\nfunction parseDuration(durationStr) {\n // https://www.w3.org/TR/xmlschema-2/#duration-lexical-repr\n const [dayNotation, timeNotation] = durationStr.split('T');\n // Handle date part\n const formattedDayDur = dayNotation.replaceAll(/^(-)?P(\\d+Y)?(\\d+M)?(\\d+D)?$/gu, '$11S!$2!$3!$4');\n if (formattedDayDur === dayNotation) {\n throw new Errors_1.ParseError(durationStr, 'duration');\n }\n const durationStrings = formattedDayDur.split('!');\n if (timeNotation !== undefined) {\n const formattedTimeDur = timeNotation.replaceAll(/^(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?$/gu, '$1!$2!$3');\n if (timeNotation === '' || timeNotation === formattedTimeDur) {\n throw new Errors_1.ParseError(durationStr, 'duration');\n }\n durationStrings.push(...formattedTimeDur.split('!'));\n }\n const duration = durationStrings.map(str => str.slice(0, -1));\n if (!duration.slice(1).some(Boolean)) {\n throw new Errors_1.ParseError(durationStr, 'duration');\n }\n const sign = Number(duration[0]);\n return (0, DateTimeHelpers_1.simplifyDurationRepresentation)({\n year: duration[1] ? sign * Number(duration[1]) : undefined,\n month: duration[2] ? sign * Number(duration[2]) : undefined,\n day: duration[3] ? sign * Number(duration[3]) : undefined,\n hours: duration[4] ? sign * Number(duration[4]) : undefined,\n minutes: duration[5] ? sign * Number(duration[5]) : undefined,\n seconds: duration[6] ? sign * Number(duration[6]) : undefined,\n });\n}\nexports.parseDuration = parseDuration;\nfunction parseYearMonthDuration(durationStr) {\n const res = parseDuration(durationStr);\n if (['hours', 'minutes', 'seconds', 'day'].some(key => Boolean(res[key]))) {\n throw new Errors_1.ParseError(durationStr, 'yearMonthDuration');\n }\n return res;\n}\nexports.parseYearMonthDuration = parseYearMonthDuration;\nfunction parseDayTimeDuration(durationStr) {\n const res = parseDuration(durationStr);\n if (['year', 'month'].some(key => Boolean(res[key]))) {\n throw new Errors_1.ParseError(durationStr, 'dayTimeDuration');\n }\n return res;\n}\nexports.parseDayTimeDuration = parseDayTimeDuration;\n//# sourceMappingURL=Parsing.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.serializeDuration = exports.serializeTime = exports.serializeDate = exports.serializeDateTime = void 0;\nfunction numSerializer(num, min = 2) {\n return num.toLocaleString(undefined, { minimumIntegerDigits: min, useGrouping: false });\n}\nfunction serializeDateTime(date) {\n // https://www.w3.org/TR/xmlschema-2/#dateTime\n // Extraction is needed because the date serializer can not add timezone y\n return `${serializeDate({ year: date.year, month: date.month, day: date.day })}T${serializeTime(date)}`;\n}\nexports.serializeDateTime = serializeDateTime;\nfunction serializeTimeZone(tz) {\n // https://www.w3.org/TR/xmlschema-2/#dateTime-timezones\n if (tz.zoneHours === undefined || tz.zoneMinutes === undefined) {\n return '';\n }\n if (tz.zoneHours === 0 && tz.zoneMinutes === 0) {\n return 'Z';\n }\n // SerializeTimeZone({ zoneHours: 5, zoneMinutes: 4 }) returns +05:04\n return `${tz.zoneHours >= 0 ? `+${numSerializer(tz.zoneHours)}` : numSerializer(tz.zoneHours)}:${numSerializer(Math.abs(tz.zoneMinutes))}`;\n}\nfunction serializeDate(date) {\n // https://www.w3.org/TR/xmlschema-2/#date-lexical-representation\n return `${numSerializer(date.year, 4)}-${numSerializer(date.month)}-${numSerializer(date.day)}${serializeTimeZone(date)}`;\n}\nexports.serializeDate = serializeDate;\nfunction serializeTime(time) {\n // https://www.w3.org/TR/xmlschema-2/#time-lexical-repr\n return `${numSerializer(time.hours)}:${numSerializer(time.minutes)}:${numSerializer(time.seconds)}${serializeTimeZone(time)}`;\n}\nexports.serializeTime = serializeTime;\nfunction serializeDuration(dur, zeroString = 'PT0S') {\n // https://www.w3.org/TR/xmlschema-2/#duration-lexical-repr\n if (!Object.values(dur).some(val => (val || 0) !== 0)) {\n return zeroString;\n }\n const sign = Object.values(dur).some(val => (val || 0) < 0) ? '-' : '';\n const year = dur.year ? `${Math.abs(dur.year)}Y` : '';\n const month = dur.month ? `${Math.abs(dur.month)}M` : '';\n const day = dur.day ? `${Math.abs(dur.day)}D` : '';\n const dayNotation = `${sign}P${year}${month}${day}`;\n // eslint-disable-next-line ts/prefer-nullish-coalescing\n if (!(dur.hours || dur.minutes || dur.seconds)) {\n return dayNotation;\n }\n const hour = dur.hours ? `${Math.abs(dur.hours)}H` : '';\n const minute = dur.minutes ? `${Math.abs(dur.minutes)}M` : '';\n const second = dur.seconds ? `${Math.abs(dur.seconds)}S` : '';\n return `${dayNotation}T${hour}${minute}${second}`;\n}\nexports.serializeDuration = serializeDuration;\n//# sourceMappingURL=Serialization.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.elapsedDuration = exports.addDurationToDateTime = exports.maximumDayInMonthFor = void 0;\nconst DateTimeHelpers_1 = require(\"./DateTimeHelpers\");\nfunction fDiv(arg, high, low = 0) {\n // Adds the 4 spec functions into one since they are highly related,\n // and fQuotient and modulo are almost always called in pairs.\n const first = arg - low;\n const second = high - low;\n const intDiv = Math.floor(first / second);\n return { intDiv, remainder: arg - intDiv * second };\n}\nfunction maximumDayInMonthFor(yearValue, monthValue) {\n const { intDiv: additionalYears, remainder: month } = fDiv(monthValue, 13, 1);\n const year = yearValue + additionalYears;\n if ([1, 3, 5, 7, 8, 10, 12].includes(month)) {\n return 31;\n }\n if ([4, 6, 9, 11].includes(month)) {\n return 30;\n }\n if (month === 2 && (fDiv(year, 400).remainder === 0 ||\n (fDiv(year, 100).remainder !== 0 && fDiv(year, 4).remainder === 0))) {\n return 29;\n }\n return 28;\n}\nexports.maximumDayInMonthFor = maximumDayInMonthFor;\n// https://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes\nfunction addDurationToDateTime(date, duration) {\n // Used to cary over optional fields like timezone\n const newDate = { ...date };\n // Month\n let tempDiv = fDiv(date.month + duration.month, 13, 1);\n newDate.month = tempDiv.remainder;\n // Year\n newDate.year = date.year + duration.year + tempDiv.intDiv;\n // Seconds\n tempDiv = fDiv(date.seconds + duration.seconds, 60);\n newDate.seconds = tempDiv.remainder;\n // Minutes\n tempDiv = fDiv(date.minutes + duration.minutes + tempDiv.intDiv, 60);\n newDate.minutes = tempDiv.remainder;\n // Hours\n tempDiv = fDiv(date.hours + duration.hours + tempDiv.intDiv, 24);\n newDate.hours = tempDiv.remainder;\n // We skip a part of the spec code since: Defined spec code can not happen since it would be an invalid literal\n newDate.day = date.day + duration.day + tempDiv.intDiv;\n while (true) {\n let carry;\n if (newDate.day < 1) {\n newDate.day += maximumDayInMonthFor(newDate.year, newDate.month - 1);\n carry = -1;\n }\n else if (newDate.day > maximumDayInMonthFor(newDate.year, newDate.month)) {\n newDate.day -= maximumDayInMonthFor(newDate.year, newDate.month);\n carry = 1;\n }\n else {\n break;\n }\n tempDiv = fDiv(newDate.month + carry, 13, 1);\n newDate.month = tempDiv.remainder;\n newDate.year += tempDiv.intDiv;\n }\n return newDate;\n}\nexports.addDurationToDateTime = addDurationToDateTime;\nfunction elapsedDuration(first, second, defaultTimeZone) {\n const d1 = (0, DateTimeHelpers_1.toUTCDate)(first, defaultTimeZone);\n const d2 = (0, DateTimeHelpers_1.toUTCDate)(second, defaultTimeZone);\n const diff = d1.getTime() - d2.getTime();\n return {\n day: Math.floor(diff / (1_000 * 60 * 60 * 24)),\n hours: Math.floor((diff % (1_000 * 60 * 60 * 24)) / (1_000 * 60 * 60)),\n minutes: Math.floor(diff % (1_000 * 60 * 60) / (1_000 * 60)),\n seconds: diff % (1_000 * 60),\n };\n}\nexports.elapsedDuration = elapsedDuration;\n//# sourceMappingURL=SpecAlgos.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.typePromotion = exports.isSubTypeOf = exports.getSuperTypeDict = exports.isInternalSubType = exports.asGeneralType = exports.asOverrideType = exports.asKnownLiteralType = exports.asTypeAlias = exports.typeAliasCheck = exports.extensionTableInit = exports.getSuperTypes = exports.superTypeDictTable = exports.extensionTableInput = void 0;\nconst expressions_1 = require(\"../expressions\");\nconst Helpers_1 = require(\"../functions/Helpers\");\nconst Consts_1 = require(\"./Consts\");\n/**\n * Types that are not mentioned just map to 'term'.\n * When editing this, make sure type promotion and substitution don't start interfering.\n * e.g. when saying something like string -> stringly -> anyUri -> term.\n * This would make substitution on types that promote to each other possible. We and the specs don't want that!\n * A DAG will be created based on this. Make sure it doesn't have any cycles!\n */\nexports.extensionTableInput = {\n // Datetime types\n [Consts_1.TypeURL.XSD_DATE_TIME_STAMP]: Consts_1.TypeURL.XSD_DATE_TIME,\n // Duration types\n [Consts_1.TypeURL.XSD_DAY_TIME_DURATION]: Consts_1.TypeURL.XSD_DURATION,\n [Consts_1.TypeURL.XSD_YEAR_MONTH_DURATION]: Consts_1.TypeURL.XSD_DURATION,\n // Stringly types\n [Consts_1.TypeURL.RDF_LANG_STRING]: Consts_1.TypeAlias.SPARQL_STRINGLY,\n [Consts_1.TypeURL.XSD_STRING]: Consts_1.TypeAlias.SPARQL_STRINGLY,\n // String types\n [Consts_1.TypeURL.XSD_NORMALIZED_STRING]: Consts_1.TypeURL.XSD_STRING,\n [Consts_1.TypeURL.XSD_TOKEN]: Consts_1.TypeURL.XSD_NORMALIZED_STRING,\n [Consts_1.TypeURL.XSD_LANGUAGE]: Consts_1.TypeURL.XSD_TOKEN,\n [Consts_1.TypeURL.XSD_NM_TOKEN]: Consts_1.TypeURL.XSD_TOKEN,\n [Consts_1.TypeURL.XSD_NAME]: Consts_1.TypeURL.XSD_TOKEN,\n [Consts_1.TypeURL.XSD_NC_NAME]: Consts_1.TypeURL.XSD_NAME,\n [Consts_1.TypeURL.XSD_ENTITY]: Consts_1.TypeURL.XSD_NC_NAME,\n [Consts_1.TypeURL.XSD_ID]: Consts_1.TypeURL.XSD_NC_NAME,\n [Consts_1.TypeURL.XSD_ID_REF]: Consts_1.TypeURL.XSD_NC_NAME,\n // Numeric types\n // https://www.w3.org/TR/sparql11-query/#operandDataTypes\n // > numeric denotes typed literals with datatypes xsd:integer, xsd:decimal, xsd:float, and xsd:double\n [Consts_1.TypeURL.XSD_DOUBLE]: Consts_1.TypeAlias.SPARQL_NUMERIC,\n [Consts_1.TypeURL.XSD_FLOAT]: Consts_1.TypeAlias.SPARQL_NUMERIC,\n [Consts_1.TypeURL.XSD_DECIMAL]: Consts_1.TypeAlias.SPARQL_NUMERIC,\n // Decimal types\n [Consts_1.TypeURL.XSD_INTEGER]: Consts_1.TypeURL.XSD_DECIMAL,\n [Consts_1.TypeURL.XSD_NON_POSITIVE_INTEGER]: Consts_1.TypeURL.XSD_INTEGER,\n [Consts_1.TypeURL.XSD_NEGATIVE_INTEGER]: Consts_1.TypeURL.XSD_NON_POSITIVE_INTEGER,\n [Consts_1.TypeURL.XSD_LONG]: Consts_1.TypeURL.XSD_INTEGER,\n [Consts_1.TypeURL.XSD_INT]: Consts_1.TypeURL.XSD_LONG,\n [Consts_1.TypeURL.XSD_SHORT]: Consts_1.TypeURL.XSD_INT,\n [Consts_1.TypeURL.XSD_BYTE]: Consts_1.TypeURL.XSD_SHORT,\n [Consts_1.TypeURL.XSD_NON_NEGATIVE_INTEGER]: Consts_1.TypeURL.XSD_INTEGER,\n [Consts_1.TypeURL.XSD_POSITIVE_INTEGER]: Consts_1.TypeURL.XSD_NON_NEGATIVE_INTEGER,\n [Consts_1.TypeURL.XSD_UNSIGNED_LONG]: Consts_1.TypeURL.XSD_NON_NEGATIVE_INTEGER,\n [Consts_1.TypeURL.XSD_UNSIGNED_INT]: Consts_1.TypeURL.XSD_UNSIGNED_LONG,\n [Consts_1.TypeURL.XSD_UNSIGNED_SHORT]: Consts_1.TypeURL.XSD_UNSIGNED_INT,\n [Consts_1.TypeURL.XSD_UNSIGNED_BYTE]: Consts_1.TypeURL.XSD_UNSIGNED_SHORT,\n [Consts_1.TypeURL.XSD_DATE_TIME]: 'term',\n [Consts_1.TypeURL.XSD_BOOLEAN]: 'term',\n [Consts_1.TypeURL.XSD_DATE]: 'term',\n [Consts_1.TypeURL.XSD_G_MONTH]: 'term',\n [Consts_1.TypeURL.XSD_G_MONTHDAY]: 'term',\n [Consts_1.TypeURL.XSD_G_YEAR]: 'term',\n [Consts_1.TypeURL.XSD_G_YEAR_MONTH]: 'term',\n [Consts_1.TypeURL.XSD_TIME]: 'term',\n [Consts_1.TypeURL.XSD_G_DAY]: 'term',\n [Consts_1.TypeURL.XSD_DURATION]: 'term',\n [Consts_1.TypeAlias.SPARQL_NUMERIC]: 'term',\n [Consts_1.TypeAlias.SPARQL_STRINGLY]: 'term',\n [Consts_1.TypeURL.XSD_ANY_URI]: 'term',\n};\nexports.superTypeDictTable = Object.create(null);\n/**\n * This will return the super types of a type and cache them.\n * @param type IRI we will decide the super types of.\n * @param openWorldType the enabler that provides a way to find super types.\n */\nfunction getSuperTypes(type, openWorldType) {\n const cached = openWorldType.cache.get(type);\n if (cached) {\n return cached;\n }\n const value = openWorldType.discoverer(type);\n if (value === 'term') {\n const res = Object.create(null);\n res.__depth = 0;\n res[type] = 0;\n openWorldType.cache.set(type, res);\n return res;\n }\n let subExtension;\n const knownValue = asKnownLiteralType(value);\n if (knownValue) {\n subExtension = { ...exports.superTypeDictTable[knownValue] };\n }\n else {\n subExtension = { ...getSuperTypes(value, openWorldType) };\n }\n subExtension.__depth++;\n subExtension[type] = subExtension.__depth;\n openWorldType.cache.set(type, subExtension);\n return subExtension;\n}\nexports.getSuperTypes = getSuperTypes;\n// No circular structure allowed! & No other keys allowed!\nfunction extensionTableInit() {\n for (const [_key, value] of Object.entries(exports.extensionTableInput)) {\n const key = _key;\n if (exports.superTypeDictTable[key]) {\n continue;\n }\n extensionTableBuilderInitKey(key, value, exports.superTypeDictTable);\n }\n}\nexports.extensionTableInit = extensionTableInit;\nextensionTableInit();\nfunction extensionTableBuilderInitKey(key, value, res) {\n if (value === 'term' || value === undefined) {\n const baseRes = Object.create(null);\n baseRes.__depth = 0;\n baseRes[key] = 0;\n res[key] = baseRes;\n return;\n }\n if (!res[value]) {\n extensionTableBuilderInitKey(value, exports.extensionTableInput[value], res);\n }\n res[key] = { ...res[value], [key]: res[value].__depth + 1, __depth: res[value].__depth + 1 };\n}\nexports.typeAliasCheck = Object.create(null);\nfunction initTypeAliasCheck() {\n for (const val of Object.values(Consts_1.TypeAlias)) {\n exports.typeAliasCheck[val] = true;\n }\n}\ninitTypeAliasCheck();\nfunction asTypeAlias(type) {\n if (type in exports.typeAliasCheck) {\n return type;\n }\n return undefined;\n}\nexports.asTypeAlias = asTypeAlias;\nfunction asKnownLiteralType(type) {\n if (type in exports.superTypeDictTable) {\n return type;\n }\n return undefined;\n}\nexports.asKnownLiteralType = asKnownLiteralType;\nfunction asOverrideType(type) {\n if (asKnownLiteralType(type) ?? type === 'term') {\n return type;\n }\n return undefined;\n}\nexports.asOverrideType = asOverrideType;\nfunction asGeneralType(type) {\n if (type === 'term' || (0, expressions_1.asTermType)(type)) {\n return type;\n }\n return undefined;\n}\nexports.asGeneralType = asGeneralType;\n/**\n * Internal type of @see isSubTypeOf This only takes knownTypes but doesn't need an enabler\n */\nfunction isInternalSubType(baseType, argumentType) {\n return baseType !== 'term' &&\n (exports.superTypeDictTable[baseType] && exports.superTypeDictTable[baseType][argumentType] !== undefined);\n}\nexports.isInternalSubType = isInternalSubType;\n/**\n * This function can be used to check the base type is a restriction on a type in the dict.\n * If we want to check if type x is a restriction on string we do this by calling:\n * 'http://www.w3.org/2001/XMLSchema#string' in getSuperTypeDict(X, superTypeProvider)\n * @param baseType\n * @param superTypeProvider\n */\nfunction getSuperTypeDict(baseType, superTypeProvider) {\n const concreteType = asKnownLiteralType(baseType);\n if (concreteType) {\n // Concrete dataType is known by utils-expression-evaluator.\n return exports.superTypeDictTable[concreteType];\n }\n // Datatype is a custom datatype\n return getSuperTypes(baseType, superTypeProvider);\n}\nexports.getSuperTypeDict = getSuperTypeDict;\n/**\n * This function needs to be O(1)! The execution time of this function is vital!\n * We define typeA isSubtypeOf typeA as true.\n * If you find yourself using this function a lot (e.g. in a case) please use getSuperTypeDict instead.\n * @param baseType type you want to provide.\n * @param argumentType type you want to provide @param baseType to.\n * @param superTypeProvider the enabler to discover super types of unknown types.\n */\nfunction isSubTypeOf(baseType, argumentType, superTypeProvider) {\n if (baseType === 'term') {\n return false;\n }\n return getSuperTypeDict(baseType, superTypeProvider)[argumentType] !== undefined;\n}\nexports.isSubTypeOf = isSubTypeOf;\n// Defined by https://www.w3.org/TR/xpath-31/#promotion .\n// e.g. When a function takes a string, it can also accept a XSD_ANY_URI if it's cast first.\nexports.typePromotion = {\n [Consts_1.TypeURL.XSD_STRING]: [\n { typeToPromote: Consts_1.TypeURL.XSD_ANY_URI, conversionFunction: arg => (0, Helpers_1.string)(arg.str()) },\n ],\n [Consts_1.TypeURL.XSD_DOUBLE]: [\n { typeToPromote: Consts_1.TypeURL.XSD_FLOAT, conversionFunction: arg => (0, Helpers_1.double)(arg.typedValue) },\n // TODO: in case of decimal a round needs to happen.\n { typeToPromote: Consts_1.TypeURL.XSD_DECIMAL, conversionFunction: arg => (0, Helpers_1.double)(arg.typedValue) },\n ],\n [Consts_1.TypeURL.XSD_FLOAT]: [\n // TODO: in case of decimal a round needs to happen.\n { typeToPromote: Consts_1.TypeURL.XSD_DECIMAL, conversionFunction: arg => (0, Helpers_1.float)(arg.typedValue) },\n ],\n};\n//# sourceMappingURL=TypeHandling.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChunkedIterator = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * Splits an iterator into chunks based on a given block size.\n */\nclass ChunkedIterator extends asynciterator_1.TransformIterator {\n constructor(source, blockSize, options) {\n super(source, options);\n this.chunk = [];\n this.blockSize = blockSize;\n }\n consumeChunkAsIterator() {\n const it = new asynciterator_1.ArrayIterator(this.chunk, { autoStart: false });\n this.chunk = [];\n return it;\n }\n _transform(item, done, push) {\n this.chunk.push(item);\n if (this.chunk.length >= this.blockSize) {\n push(this.consumeChunkAsIterator());\n }\n done();\n }\n _flush(done) {\n if (this.chunk.length > 0) {\n this._push(this.consumeChunkAsIterator());\n }\n super._flush(done);\n }\n}\nexports.ChunkedIterator = ChunkedIterator;\n//# sourceMappingURL=ChunkedIterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClosableIterator = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * An AsyncIterator with a callback for when this iterator is closed in any way.\n * In contrast to ClosableTransformIterator, this does not add the overhead of a TransformIterator.\n */\nclass ClosableIterator extends asynciterator_1.AsyncIterator {\n constructor(source, options) {\n super();\n this.onClose = options.onClose;\n this._source = source;\n // Wire up the source for reading\n this._source[asynciterator_1.DESTINATION] = this;\n this._source.on('end', destinationClose);\n this._source.on('error', destinationEmitError);\n this._source.on('readable', destinationSetReadable);\n this.readable = this._source.readable;\n }\n read() {\n const ret = this._source.read();\n if (!ret) {\n // Mark as non-readable if ret was null\n this.readable = false;\n // Close this iterator if the source is empty\n if (this._source.done) {\n this.close();\n }\n }\n return ret;\n }\n _end(destroy) {\n this.onClose();\n this._source.removeListener('end', destinationClose);\n this._source.removeListener('error', destinationEmitError);\n this._source.removeListener('readable', destinationSetReadable);\n delete this._source[asynciterator_1.DESTINATION];\n this._source.destroy();\n super._end(destroy);\n }\n}\nexports.ClosableIterator = ClosableIterator;\n// Helpers below are copied from AsyncIterator, as they are not exported from there.\nfunction destinationSetReadable() {\n this[asynciterator_1.DESTINATION].readable = true;\n}\nfunction destinationEmitError(error) {\n this[asynciterator_1.DESTINATION].emit('error', error);\n}\nfunction destinationClose() {\n this[asynciterator_1.DESTINATION].close();\n}\n//# sourceMappingURL=ClosableIterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClosableTransformIterator = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\n/**\n * A TransformIterator with a callback for when this iterator is closed in any way.\n */\nclass ClosableTransformIterator extends asynciterator_1.TransformIterator {\n constructor(source, options) {\n super(source, options);\n this.onClose = options.onClose;\n }\n _end(destroy) {\n this.onClose();\n super._end(destroy);\n }\n}\nexports.ClosableTransformIterator = ClosableTransformIterator;\n//# sourceMappingURL=ClosableTransformIterator.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ChunkedIterator\"), exports);\n__exportStar(require(\"./ClosableIterator\"), exports);\n__exportStar(require(\"./ClosableTransformIterator\"), exports);\n__exportStar(require(\"./instrumentIterator\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.instrumentIterator = void 0;\n/**\n * Profile an iterator by monkey-patching its `_read` and `read` methods.\n * @param iterator\n */\nfunction instrumentIterator(iterator) {\n const counters = {\n count: 0,\n timeSelf: 0,\n timeLife: 0,\n };\n instrumentIteratorInner(iterator, counters, true);\n return new Promise((resolve) => {\n iterator.on('end', () => {\n resolve(counters);\n });\n });\n}\nexports.instrumentIterator = instrumentIterator;\nfunction instrumentIteratorInner(iterator, counter, top) {\n if (!('_profileInstrumented' in iterator)) {\n // Only patch an iterator once.\n iterator._profileInstrumented = true;\n // Patch _read\n if ('_read' in iterator) {\n const readOld = iterator._read;\n iterator._read = (count, done) => {\n const startTime = performance.now();\n readOld.call(iterator, count, () => {\n counter.timeSelf += performance.now() - startTime;\n done();\n });\n };\n }\n // Patch read\n if ('read' in iterator) {\n // eslint-disable-next-line ts/unbound-method\n const readOld = iterator.read;\n iterator.read = () => {\n const startTime = performance.now();\n const ret = readOld.call(iterator);\n if (top && ret) {\n counter.count++;\n }\n counter.timeSelf += performance.now() - startTime;\n return ret;\n };\n }\n // Measure total time\n if (top) {\n const startTime = performance.now();\n iterator.on('end', () => {\n counter.timeLife = performance.now() - startTime;\n });\n }\n // Also patch children\n if ('_source' in iterator) {\n instrumentIteratorInner(iterator._source, counter, false);\n }\n }\n}\n//# sourceMappingURL=instrumentIterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetadataValidationState = void 0;\n/**\n * Reusable implementation for metadata validation states.\n */\nclass MetadataValidationState {\n constructor() {\n this.invalidateListeners = [];\n this.valid = true;\n }\n addInvalidateListener(listener) {\n this.invalidateListeners.push(listener);\n }\n invalidate() {\n if (this.valid) {\n this.valid = false;\n for (const invalidateListener of this.invalidateListeners) {\n invalidateListener();\n }\n }\n }\n}\nexports.MetadataValidationState = MetadataValidationState;\n//# sourceMappingURL=MetadataValidationState.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cachifyMetadata = exports.validateMetadataBindings = exports.validateMetadataQuads = exports.getMetadataBindings = exports.getMetadataQuads = void 0;\n/**\n * Return a cached callback to the metadata from the given quad stream as a promise.\n * @param data A quad stream.\n */\nfunction getMetadataQuads(data) {\n return cachifyMetadata(() => new Promise((resolve, reject) => {\n data.getProperty('metadata', (metadata) => resolve(metadata));\n data.on('error', reject);\n }).then(metadataRaw => validateMetadataQuads(metadataRaw)));\n}\nexports.getMetadataQuads = getMetadataQuads;\n/**\n * Return a cached callback to the metadata from the given bindings stream as a promise.\n * @param data A bindings stream.\n */\nfunction getMetadataBindings(data) {\n return cachifyMetadata(() => new Promise((resolve, reject) => {\n data.getProperty('metadata', (metadata) => resolve(metadata));\n data.on('error', reject);\n }).then(metadataRaw => validateMetadataBindings(metadataRaw)));\n}\nexports.getMetadataBindings = getMetadataBindings;\n/**\n * Ensure that the given raw metadata object contains all required metadata entries.\n * @param metadataRaw A raw metadata object.\n */\nfunction validateMetadataQuads(metadataRaw) {\n for (const key of ['cardinality']) {\n if (!(key in metadataRaw)) {\n throw new Error(`Invalid metadata: missing ${key} in ${JSON.stringify(metadataRaw)}`);\n }\n }\n return metadataRaw;\n}\nexports.validateMetadataQuads = validateMetadataQuads;\n/**\n * Ensure that the given raw metadata object contains all required metadata entries.\n * @param metadataRaw A raw metadata object.\n */\nfunction validateMetadataBindings(metadataRaw) {\n for (const key of ['cardinality', 'variables']) {\n if (!(key in metadataRaw)) {\n throw new Error(`Invalid metadata: missing ${key} in ${JSON.stringify(metadataRaw)}`);\n }\n }\n return metadataRaw;\n}\nexports.validateMetadataBindings = validateMetadataBindings;\n/**\n * Convert a metadata callback to a lazy callback where the response value is cached.\n * @param {() => Promise} metadata A metadata callback\n * @return {() => Promise<{[p: string]: any}>} The callback where the response will be cached.\n */\nfunction cachifyMetadata(metadata) {\n let lastReturn;\n return () => {\n if (!lastReturn) {\n lastReturn = metadata();\n lastReturn\n .then(lastReturnValue => lastReturnValue.state.addInvalidateListener(() => {\n lastReturn = undefined;\n }))\n .catch(() => {\n // Ignore error\n });\n }\n return lastReturn;\n };\n}\nexports.cachifyMetadata = cachifyMetadata;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./MetadataValidationState\"), exports);\n__exportStar(require(\"./Utils\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.doesShapeAcceptOperation = void 0;\n/**\n * Check if the given shape accepts the given query operation.\n * @param shape A shape to test the query operation against.\n * @param operation A query operation to test.\n * @param options Additional options to consider.\n * @param options.joinBindings If additional bindings will be pushed down to the source for joining.\n * @param options.filterBindings If additional bindings will be pushed down to the source for filtering.\n */\nfunction doesShapeAcceptOperation(shape, operation, options) {\n return doesShapeAcceptOperationRecurseShape(shape, shape, operation, options);\n}\nexports.doesShapeAcceptOperation = doesShapeAcceptOperation;\nfunction doesShapeAcceptOperationRecurseShape(shapeTop, shapeActive, operation, options) {\n // Recurse into the shape\n if (shapeActive.type === 'conjunction') {\n return shapeActive.children\n .every(child => doesShapeAcceptOperationRecurseShape(shapeTop, child, operation, options));\n }\n if (shapeActive.type === 'disjunction') {\n return shapeActive.children\n .some(child => doesShapeAcceptOperationRecurseShape(shapeTop, child, operation, options));\n }\n if (shapeActive.type === 'arity') {\n return doesShapeAcceptOperationRecurseShape(shapeTop, shapeActive.child, operation, options);\n }\n // Validate options\n if ((options?.joinBindings && !shapeActive.joinBindings) ??\n (options?.filterBindings && !shapeActive.filterBindings)) {\n return false;\n }\n // Check if the shape's operation matches with the given operation\n const shapeOperation = shapeActive.operation;\n switch (shapeOperation.operationType) {\n case 'type': {\n if (!doesShapeAcceptOperationRecurseOperation(shapeTop, shapeActive, operation, options)) {\n return false;\n }\n return shapeOperation.type === operation.type;\n }\n case 'pattern': {\n if (!doesShapeAcceptOperationRecurseOperation(shapeTop, shapeActive, operation, options)) {\n return false;\n }\n return shapeOperation.pattern.type === operation.type;\n }\n case 'wildcard': {\n return true;\n }\n }\n}\nfunction doesShapeAcceptOperationRecurseOperation(shapeTop, shapeActive, operation, options) {\n // Recurse into the operation, and restart from the top-level shape\n if (operation.input) {\n const inputs = Array.isArray(operation.input) ? operation.input : [operation.input];\n if (!inputs.every(input => doesShapeAcceptOperationRecurseShape(shapeTop, shapeTop, input, options))) {\n return false;\n }\n }\n if (operation.patterns && !operation.patterns\n .every((input) => doesShapeAcceptOperationRecurseShape(shapeTop, shapeTop, input, options))) {\n return false;\n }\n return true;\n}\n//# sourceMappingURL=FragmentSelectorShapes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.materializeOperation = exports.materializeTerm = void 0;\nconst rdf_string_1 = require(\"rdf-string\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst sparqlalgebrajs_1 = require(\"sparqlalgebrajs\");\n/**\n * Materialize a term with the given binding.\n *\n * If the given term is a variable,\n * and that variable exist in the given bindings object,\n * the value of that binding is returned.\n * In all other cases, the term itself is returned.\n *\n * @param {RDF.Term} term A term.\n * @param {Bindings} bindings A bindings object.\n * @return {RDF.Term} The materialized term.\n */\nfunction materializeTerm(term, bindings) {\n if (term.termType === 'Variable') {\n const value = bindings.get(term);\n if (value) {\n return value;\n }\n }\n if (term.termType === 'Quad' && (0, rdf_terms_1.someTermsNested)(term, value => value.termType === 'Variable')) {\n return (0, rdf_terms_1.mapTermsNested)(term, subTerm => materializeTerm(subTerm, bindings));\n }\n return term;\n}\nexports.materializeTerm = materializeTerm;\n/**\n * Materialize the given operation (recursively) with the given bindings.\n * Essentially, the variables in the given operation\n * which don't appear in the projection operation will be replaced\n * by the terms bound to the variables in the given bindings.\n * @param {Algebra.Operation} operation SPARQL algebra operation.\n * And the variables that appear in the projection operation\n * will be added to a new values operation.\n * @param {Bindings} bindings A bindings object.\n * @param algebraFactory The algebra factory.\n * @param bindingsFactory The bindings factory.\n * @param options Options for materializations.\n * @param options.strictTargetVariables If target variable bindings (such as on SELECT or BIND) should not be allowed.\n * @param options.bindFilter If filter expressions should be materialized.\n * @param options.originalBindings The bindings object as it was at the top level call of materializeOperation.\n * @return Algebra.Operation A new operation materialized with the given bindings.\n */\nfunction materializeOperation(operation, bindings, algebraFactory, bindingsFactory, options = {}) {\n options = {\n strictTargetVariables: 'strictTargetVariables' in options ? options.strictTargetVariables : false,\n bindFilter: 'bindFilter' in options ? options.bindFilter : true,\n originalBindings: 'originalBindings' in options ? options.originalBindings : bindings,\n };\n return sparqlalgebrajs_1.Util.mapOperation(operation, {\n path(op, factory) {\n // Materialize variables in a path expression.\n // The predicate expression will be recursed.\n return {\n recurse: false,\n result: Object.assign(factory.createPath(materializeTerm(op.subject, bindings), op.predicate, materializeTerm(op.object, bindings), materializeTerm(op.graph, bindings)), { metadata: op.metadata }),\n };\n },\n pattern(op, factory) {\n // Materialize variables in the quad pattern.\n return {\n recurse: false,\n result: Object.assign(factory.createPattern(materializeTerm(op.subject, bindings), materializeTerm(op.predicate, bindings), materializeTerm(op.object, bindings), materializeTerm(op.graph, bindings)), { metadata: op.metadata }),\n };\n },\n extend(op) {\n // Materialize an extend operation.\n // If strictTargetVariables is true, we throw if the extension target variable is attempted to be bound.\n // Otherwise, we remove the extend operation.\n if (bindings.has(op.variable)) {\n if (options.strictTargetVariables) {\n throw new Error(`Tried to bind variable ${(0, rdf_string_1.termToString)(op.variable)} in a BIND operator.`);\n }\n else {\n return {\n recurse: true,\n result: materializeOperation(op.input, bindings, algebraFactory, bindingsFactory, options),\n };\n }\n }\n return {\n recurse: true,\n result: op,\n };\n },\n group(op, factory) {\n // Materialize a group operation.\n // If strictTargetVariables is true, we throw if the group target variable is attempted to be bound.\n // Otherwise, we just filter out the bound variables.\n if (options.strictTargetVariables) {\n for (const variable of op.variables) {\n if (bindings.has(variable)) {\n throw new Error(`Tried to bind variable ${(0, rdf_string_1.termToString)(variable)} in a GROUP BY operator.`);\n }\n }\n return {\n recurse: true,\n result: op,\n };\n }\n const variables = op.variables.filter(variable => !bindings.has(variable));\n return {\n recurse: true,\n result: factory.createGroup(op.input, variables, op.aggregates),\n };\n },\n filter(op, factory) {\n const originalBindings = options.originalBindings;\n if (op.expression.expressionType !== 'operator' || originalBindings.size === 0) {\n return {\n recurse: false,\n result: op,\n };\n }\n // Make a values clause using all the variables from originalBindings.\n const values = createValuesFromBindings(factory, originalBindings);\n // Recursively materialize the filter expression\n const recursionResultExpression = materializeOperation(op.expression, bindings, algebraFactory, bindingsFactory, options);\n // Recursively materialize the filter input\n let recursionResultInput = materializeOperation(op.input, bindings, algebraFactory, bindingsFactory, options);\n if (values.length > 0) {\n recursionResultInput = factory.createJoin([...values, recursionResultInput]);\n }\n return {\n // Recursion already taken care of above.\n recurse: false,\n result: factory.createFilter(recursionResultInput, recursionResultExpression),\n };\n },\n project(op, factory) {\n // Materialize a project operation.\n // If strictTargetVariables is true, we throw if the project target variable is attempted to be bound.\n // Otherwise, we make a values clause out of the target variable and its value in InitialBindings.\n if (options.strictTargetVariables) {\n for (const variable of op.variables) {\n if (bindings.has(variable)) {\n throw new Error(`Tried to bind variable ${(0, rdf_string_1.termToString)(variable)} in a SELECT operator.`);\n }\n }\n return {\n recurse: true,\n result: op,\n };\n }\n // Only include non-projected variables in the bindings that will be passed down recursively.\n // This will result in non-projected variables being replaced with their InitialBindings values.\n for (const bindingKey of bindings.keys()) {\n for (const curVariable of op.variables) {\n if (curVariable.equals(bindingKey)) {\n bindings = bindings.delete(bindingKey);\n break;\n }\n }\n }\n // Find projected variables which are present in the originalBindings.\n // This will result in projected variables being handled via a values clause.\n const values = createValuesFromBindings(factory, options.originalBindings, op.variables);\n let recursionResult = materializeOperation(op.input, bindings, algebraFactory, bindingsFactory, options);\n if (values.length > 0) {\n recursionResult = factory.createJoin([...values, recursionResult]);\n }\n return {\n recurse: false,\n result: factory.createProject(recursionResult, op.variables),\n };\n },\n values(op, factory) {\n // Materialize a values operation.\n // If strictTargetVariables is true, we throw if the values target variable is attempted to be bound.\n // Otherwise, we just filter out the bound variables and their bindings.\n if (options.strictTargetVariables) {\n for (const variable of op.variables) {\n if (bindings.has(variable)) {\n throw new Error(`Tried to bind variable ${(0, rdf_string_1.termToString)(variable)} in a VALUES operator.`);\n }\n }\n }\n else {\n const variables = op.variables.filter(variable => !bindings.has(variable));\n const valueBindings = op.bindings.map((binding) => {\n const newBinding = { ...binding };\n let valid = true;\n // eslint-disable-next-line unicorn/no-array-for-each\n bindings.forEach((value, key) => {\n const keyString = (0, rdf_string_1.termToString)(key);\n if (keyString in newBinding) {\n if (!value.equals(newBinding[keyString])) {\n // If the value of the binding is not equal, remove this binding completely from the VALUES clause\n valid = false;\n }\n delete newBinding[keyString];\n }\n });\n return valid ? newBinding : undefined;\n }).filter(Boolean);\n return {\n recurse: true,\n result: factory.createValues(variables, valueBindings),\n };\n }\n return {\n recurse: false,\n result: op,\n };\n },\n expression(op, factory) {\n if (!options.bindFilter) {\n return {\n recurse: false,\n result: op,\n };\n }\n if (op.expressionType === 'term') {\n // Materialize a term expression\n return {\n recurse: false,\n result: factory.createTermExpression(materializeTerm(op.term, bindings)),\n };\n }\n if (op.expressionType === 'operator') {\n if (op.operator === 'bound' && op.args.length === 1 && op.args[0].expressionType === 'term' &&\n [...bindings.keys()].some(variable => op.args[0].term.equals(variable))) {\n return {\n recurse: false,\n result: factory.createTermExpression(factory.dataFactory.literal('true', factory.dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#boolean'))),\n };\n }\n return {\n recurse: true,\n result: op,\n };\n }\n if (op.expressionType === 'aggregate' &&\n 'variable' in op &&\n bindings.has(op.variable)) {\n // Materialize a bound aggregate operation.\n // If strictTargetVariables is true, we throw if the expression target variable is attempted to be bound.\n // Otherwise, we ignore this operation.\n if (options.strictTargetVariables) {\n throw new Error(`Tried to bind ${(0, rdf_string_1.termToString)(op.variable)} in a ${op.aggregator} aggregate.`);\n }\n else {\n return {\n recurse: true,\n result: op,\n };\n }\n }\n return {\n recurse: true,\n result: op,\n };\n },\n }, algebraFactory);\n}\nexports.materializeOperation = materializeOperation;\n/**\n * Make a values operation containing the values that are present in `bindings` for variables present in `variables`.\n * If no `variables` argument is given, this method returns a values operation\n * containing every binding from `bindings`.\n * @param {Factory} factory The Factory used to create the values operation.\n * @param {Bindings} bindings A bindings object.\n * @param {Variable[]} variables A list of variables.\n * @returns Algebra.Values A new values operation the given bindings.\n */\nfunction createValuesFromBindings(factory, bindings, variables) {\n const values = [];\n for (const [variable, binding] of bindings) {\n if (!variables || variables.some(v => v.equals(variable))) {\n const newBinding = { [(0, rdf_string_1.termToString)(variable)]: binding };\n values.push(factory.createValues([variable], [newBinding]));\n }\n }\n return values;\n}\n//# sourceMappingURL=MaterializeBindings.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeOperationSource = exports.assignOperationSource = exports.getOperationSource = exports.testReadOnly = exports.validateQueryOutput = exports.getSafeVoid = exports.getSafeBoolean = exports.getSafeQuads = exports.getSafeBindings = void 0;\nconst context_entries_1 = require(\"@comunica/context-entries\");\nconst core_1 = require(\"@comunica/core\");\n/**\n * Safely cast a query operation output to a bindings output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultBindings} A bindings query operation output.\n */\nfunction getSafeBindings(output) {\n validateQueryOutput(output, 'bindings');\n return output;\n}\nexports.getSafeBindings = getSafeBindings;\n/**\n * Safely cast a query operation output to a quads output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultQuads} A quads query operation output.\n */\nfunction getSafeQuads(output) {\n validateQueryOutput(output, 'quads');\n return output;\n}\nexports.getSafeQuads = getSafeQuads;\n/**\n * Safely cast a query operation output to a boolean output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultBoolean} A boolean query operation output.\n */\nfunction getSafeBoolean(output) {\n validateQueryOutput(output, 'boolean');\n return output;\n}\nexports.getSafeBoolean = getSafeBoolean;\n/**\n * Safely cast a query operation output to a void output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultVoid} A void query operation output.\n */\nfunction getSafeVoid(output) {\n validateQueryOutput(output, 'void');\n return output;\n}\nexports.getSafeVoid = getSafeVoid;\n/**\n * Throw an error if the output type does not match the expected type.\n * @param {IQueryOperationResult} output A query operation output.\n * @param {string} expectedType The expected output type.\n */\nfunction validateQueryOutput(output, expectedType) {\n if (output.type !== expectedType) {\n throw new Error(`Invalid query output type: Expected '${expectedType}' but got '${output.type}'`);\n }\n}\nexports.validateQueryOutput = validateQueryOutput;\n/**\n * Test if the context contains the readOnly flag.\n * @param context An action context.\n */\nfunction testReadOnly(context) {\n if (context.get(context_entries_1.KeysQueryOperation.readOnly)) {\n return (0, core_1.failTest)(`Attempted a write operation in read-only mode`);\n }\n return (0, core_1.passTestVoid)();\n}\nexports.testReadOnly = testReadOnly;\n/**\n * Obtain the query source attached to the given operation.\n * @param operation An algebra operation.\n */\nfunction getOperationSource(operation) {\n return operation.metadata?.scopedSource;\n}\nexports.getOperationSource = getOperationSource;\n/**\n * Assign a source wrapper to the given operation.\n * The operation is copied and returned.\n * @param operation An operation.\n * @param source A source wrapper.\n */\nfunction assignOperationSource(operation, source) {\n operation = { ...operation };\n operation.metadata = operation.metadata ? { ...operation.metadata } : {};\n operation.metadata.scopedSource = source;\n return operation;\n}\nexports.assignOperationSource = assignOperationSource;\n/**\n * Remove the source wrapper from the given operation.\n * The operation is mutated.\n * @param operation An operation.\n */\nfunction removeOperationSource(operation) {\n delete operation.metadata?.scopedSource;\n if (operation.metadata && Object.keys(operation.metadata).length === 0) {\n delete operation.metadata;\n }\n}\nexports.removeOperationSource = removeOperationSource;\n//# sourceMappingURL=Utils.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./FragmentSelectorShapes\"), exports);\n__exportStar(require(\"./Utils\"), exports);\n__exportStar(require(\"./MaterializeBindings\"), exports);\n//# sourceMappingURL=index.js.map","!function t(e,r){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=r();else if(\"function\"==typeof define&&define.amd)define([],r);else{var n=r();for(var i in n)(\"object\"==typeof exports?exports:e)[i]=n[i]}}(this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function e(){return t.default}:function e(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=22)}([function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var e=arguments.length,r=Array(e),n=0;n=3){for(var e=arguments.length,r=Array(e),n=0;n=2){for(var e=arguments.length,r=Array(e),n=0;n=1){for(var e=arguments.length,r=Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(s(this,t),!e)throw i.Log.error(\"MetadataService: No settings passed to MetadataService\"),new Error(\"settings\");this._settings=e,this._jsonService=new r([\"application/jwk-set+json\"])}return t.prototype.resetSigningKeys=function t(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function t(){var e=this;return this._settings.metadata?(i.Log.debug(\"MetadataService.getMetadata: Returning metadata from settings\"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug(\"MetadataService.getMetadata: getting metadata from\",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(t){i.Log.debug(\"MetadataService.getMetadata: json received\");var r=e._settings.metadataSeed||{};return e._settings.metadata=Object.assign({},r,t),e._settings.metadata}))):(i.Log.error(\"MetadataService.getMetadata: No authority or metadataUrl configured on settings\"),Promise.reject(new Error(\"No authority or metadataUrl configured on settings\")))},t.prototype.getIssuer=function t(){return this._getMetadataProperty(\"issuer\")},t.prototype.getAuthorizationEndpoint=function t(){return this._getMetadataProperty(\"authorization_endpoint\")},t.prototype.getUserInfoEndpoint=function t(){return this._getMetadataProperty(\"userinfo_endpoint\")},t.prototype.getTokenEndpoint=function t(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty(\"token_endpoint\",e)},t.prototype.getCheckSessionIframe=function t(){return this._getMetadataProperty(\"check_session_iframe\",!0)},t.prototype.getEndSessionEndpoint=function t(){return this._getMetadataProperty(\"end_session_endpoint\",!0)},t.prototype.getRevocationEndpoint=function t(){return this._getMetadataProperty(\"revocation_endpoint\",!0)},t.prototype.getKeysEndpoint=function t(){return this._getMetadataProperty(\"jwks_uri\",!0)},t.prototype._getMetadataProperty=function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug(\"MetadataService.getMetadataProperty for: \"+e),this.getMetadata().then((function(t){if(i.Log.debug(\"MetadataService.getMetadataProperty: metadata recieved\"),void 0===t[e]){if(!0===r)return void i.Log.warn(\"MetadataService.getMetadataProperty: Metadata does not contain optional property \"+e);throw i.Log.error(\"MetadataService.getMetadataProperty: Metadata does not contain property \"+e),new Error(\"Metadata does not contain property \"+e)}return t[e]}))},t.prototype.getSigningKeys=function t(){var e=this;return this._settings.signingKeys?(i.Log.debug(\"MetadataService.getSigningKeys: Returning signingKeys from settings\"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty(\"jwks_uri\").then((function(t){return i.Log.debug(\"MetadataService.getSigningKeys: jwks_uri received\",t),e._jsonService.getJson(t).then((function(t){if(i.Log.debug(\"MetadataService.getSigningKeys: key set received\",t),!t.keys)throw i.Log.error(\"MetadataService.getSigningKeys: Missing keys on keyset\"),new Error(\"Missing keys on keyset\");return e._settings.signingKeys=t.keys,e._settings.signingKeys}))}))},n(t,[{key:\"metadataUrl\",get:function t(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(a)<0&&(\"/\"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+=\"/\"),this._metadataUrl+=a))),this._metadataUrl}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return t.addQueryParam=function t(e,r,n){return e.indexOf(\"?\")<0&&(e+=\"?\"),\"?\"!==e[e.length-1]&&(e+=\"&\"),e+=encodeURIComponent(r),e+=\"=\",e+=encodeURIComponent(n)},t.parseUrlFragment=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#\",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;\"string\"!=typeof e&&(e=o.location.href);var s=e.lastIndexOf(r);s>=0&&(e=e.substr(s+1)),\"?\"===r&&(s=e.indexOf(\"#\"))>=0&&(e=e.substr(0,s));for(var a,u={},c=/([^&=]+)=([^&]*)/g,h=0;a=c.exec(e);)if(u[decodeURIComponent(a[1])]=decodeURIComponent(a[2].replace(/\\+/g,\" \")),h++>50)return n.Log.error(\"UrlUtility.parseUrlFragment: response exceeded expected number of parameters\",e),{error:\"Response exceeded expected number of parameters\"};for(var l in u)return u;return{}},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function o(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OidcClientSettings=void 0;var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,l=e.signingKeys,p=e.metadataSeed,v=e.client_id,y=e.client_secret,m=e.response_type,_=void 0===m?f:m,S=e.scope,b=void 0===S?g:S,w=e.redirect_uri,F=e.post_logout_redirect_uri,E=e.client_authentication,x=void 0===E?d:E,A=e.prompt,k=e.display,P=e.max_age,C=e.ui_locales,T=e.acr_values,R=e.resource,I=e.response_mode,D=e.filterProtocolClaims,L=void 0===D||D,N=e.loadUserInfo,U=void 0===N||N,B=e.staleStateAge,O=void 0===B?900:B,j=e.clockSkew,M=void 0===j?300:j,H=e.clockService,V=void 0===H?new s.ClockService:H,K=e.userInfoJwtIssuer,q=void 0===K?\"OP\":K,J=e.mergeClaims,W=void 0!==J&&J,z=e.stateStore,Y=void 0===z?new a.WebStorageStateStore:z,G=e.ResponseValidatorCtor,X=void 0===G?u.ResponseValidator:G,$=e.MetadataServiceCtor,Q=void 0===$?c.MetadataService:$,Z=e.extraQueryParams,tt=void 0===Z?{}:Z,et=e.extraTokenParams,rt=void 0===et?{}:et;h(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=p,this._signingKeys=l,this._client_id=v,this._client_secret=y,this._response_type=_,this._scope=b,this._redirect_uri=w,this._post_logout_redirect_uri=F,this._client_authentication=x,this._prompt=A,this._display=k,this._max_age=P,this._ui_locales=C,this._acr_values=T,this._resource=R,this._response_mode=I,this._filterProtocolClaims=!!L,this._loadUserInfo=!!U,this._staleStateAge=O,this._clockSkew=M,this._clockService=V,this._userInfoJwtIssuer=q,this._mergeClaims=!!W,this._stateStore=Y,this._validator=new X(this),this._metadataService=new Q(this),this._extraQueryParams=\"object\"===(void 0===tt?\"undefined\":n(tt))?tt:{},this._extraTokenParams=\"object\"===(void 0===rt?\"undefined\":n(rt))?rt:{}}return t.prototype.getEpochTime=function t(){return this._clockService.getEpochTime()},i(t,[{key:\"client_id\",get:function t(){return this._client_id},set:function t(e){if(this._client_id)throw o.Log.error(\"OidcClientSettings.set_client_id: client_id has already been assigned.\"),new Error(\"client_id has already been assigned.\");this._client_id=e}},{key:\"client_secret\",get:function t(){return this._client_secret}},{key:\"response_type\",get:function t(){return this._response_type}},{key:\"scope\",get:function t(){return this._scope}},{key:\"redirect_uri\",get:function t(){return this._redirect_uri}},{key:\"post_logout_redirect_uri\",get:function t(){return this._post_logout_redirect_uri}},{key:\"client_authentication\",get:function t(){return this._client_authentication}},{key:\"prompt\",get:function t(){return this._prompt}},{key:\"display\",get:function t(){return this._display}},{key:\"max_age\",get:function t(){return this._max_age}},{key:\"ui_locales\",get:function t(){return this._ui_locales}},{key:\"acr_values\",get:function t(){return this._acr_values}},{key:\"resource\",get:function t(){return this._resource}},{key:\"response_mode\",get:function t(){return this._response_mode}},{key:\"authority\",get:function t(){return this._authority},set:function t(e){if(this._authority)throw o.Log.error(\"OidcClientSettings.set_authority: authority has already been assigned.\"),new Error(\"authority has already been assigned.\");this._authority=e}},{key:\"metadataUrl\",get:function t(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(l)<0&&(\"/\"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+=\"/\"),this._metadataUrl+=l)),this._metadataUrl}},{key:\"metadata\",get:function t(){return this._metadata},set:function t(e){this._metadata=e}},{key:\"metadataSeed\",get:function t(){return this._metadataSeed},set:function t(e){this._metadataSeed=e}},{key:\"signingKeys\",get:function t(){return this._signingKeys},set:function t(e){this._signingKeys=e}},{key:\"filterProtocolClaims\",get:function t(){return this._filterProtocolClaims}},{key:\"loadUserInfo\",get:function t(){return this._loadUserInfo}},{key:\"staleStateAge\",get:function t(){return this._staleStateAge}},{key:\"clockSkew\",get:function t(){return this._clockSkew}},{key:\"userInfoJwtIssuer\",get:function t(){return this._userInfoJwtIssuer}},{key:\"mergeClaims\",get:function t(){return this._mergeClaims}},{key:\"stateStore\",get:function t(){return this._stateStore}},{key:\"validator\",get:function t(){return this._validator}},{key:\"metadataService\",get:function t(){return this._metadataService}},{key:\"extraQueryParams\",get:function t(){return this._extraQueryParams},set:function t(e){\"object\"===(void 0===e?\"undefined\":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:\"extraTokenParams\",get:function t(){return this._extraTokenParams},set:function t(e){\"object\"===(void 0===e?\"undefined\":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?\"oidc.\":r,s=e.store,a=void 0===s?i.Global.localStorage:s;o(this,t),this._store=a,this._prefix=n}return t.prototype.set=function t(e,r){return n.Log.debug(\"WebStorageStateStore.set\",e),e=this._prefix+e,this._store.setItem(e,r),Promise.resolve()},t.prototype.get=function t(e){n.Log.debug(\"WebStorageStateStore.get\",e),e=this._prefix+e;var r=this._store.getItem(e);return Promise.resolve(r)},t.prototype.remove=function t(e){n.Log.debug(\"WebStorageStateStore.remove\",e),e=this._prefix+e;var r=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(r)},t.prototype.getAllKeys=function t(){n.Log.debug(\"WebStorageStateStore.getAllKeys\");for(var e=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;o(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push(\"application/json\"),n&&this._contentTypes.push(\"application/jwt\"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function t(e,r){var i=this;if(!e)throw n.Log.error(\"JsonService.getJson: No url passed\"),new Error(\"url\");return n.Log.debug(\"JsonService.getJson, url: \",e),new Promise((function(t,o){var s=new i._XMLHttpRequest;s.open(\"GET\",e);var a=i._contentTypes,u=i._jwtHandler;s.onload=function(){if(n.Log.debug(\"JsonService.getJson: HTTP response received, status\",s.status),200===s.status){var r=s.getResponseHeader(\"Content-Type\");if(r){var i=a.find((function(t){if(r.startsWith(t))return!0}));if(\"application/jwt\"==i)return void u(s).then(t,o);if(i)try{return void t(JSON.parse(s.responseText))}catch(t){return n.Log.error(\"JsonService.getJson: Error parsing JSON response\",t.message),void o(t)}}o(Error(\"Invalid response Content-Type: \"+r+\", from URL: \"+e))}else o(Error(s.statusText+\" (\"+s.status+\")\"))},s.onerror=function(){n.Log.error(\"JsonService.getJson: network error\"),o(Error(\"Network Error\"))},r&&(n.Log.debug(\"JsonService.getJson: token passed, setting Authorization header\"),s.setRequestHeader(\"Authorization\",\"Bearer \"+r)),s.send()}))},t.prototype.postForm=function t(e,r,i){var o=this;if(!e)throw n.Log.error(\"JsonService.postForm: No url passed\"),new Error(\"url\");return n.Log.debug(\"JsonService.postForm, url: \",e),new Promise((function(t,s){var a=new o._XMLHttpRequest;a.open(\"POST\",e);var u=o._contentTypes;a.onload=function(){if(n.Log.debug(\"JsonService.postForm: HTTP response received, status\",a.status),200!==a.status){if(400===a.status)if(i=a.getResponseHeader(\"Content-Type\"))if(u.find((function(t){if(i.startsWith(t))return!0})))try{var r=JSON.parse(a.responseText);if(r&&r.error)return n.Log.error(\"JsonService.postForm: Error from server: \",r.error),void s(new Error(r.error))}catch(t){return n.Log.error(\"JsonService.postForm: Error parsing JSON response\",t.message),void s(t)}s(Error(a.statusText+\" (\"+a.status+\")\"))}else{var i;if((i=a.getResponseHeader(\"Content-Type\"))&&u.find((function(t){if(i.startsWith(t))return!0})))try{return void t(JSON.parse(a.responseText))}catch(t){return n.Log.error(\"JsonService.postForm: Error parsing JSON response\",t.message),void s(t)}s(Error(\"Invalid response Content-Type: \"+i+\", from URL: \"+e))}},a.onerror=function(){n.Log.error(\"JsonService.postForm: network error\"),s(Error(\"Network Error\"))};var c=\"\";for(var h in r){var l=r[h];l&&(c.length>0&&(c+=\"&\"),c+=encodeURIComponent(h),c+=\"=\",c+=encodeURIComponent(l))}a.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),void 0!==i&&a.setRequestHeader(\"Authorization\",\"Basic \"+btoa(i)),a.send(c)}))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,b=e.request,w=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function P(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!r)throw n.Log.error(\"SigninRequest.ctor: No url passed\"),new Error(\"url\");if(!s)throw n.Log.error(\"SigninRequest.ctor: No client_id passed\"),new Error(\"client_id\");if(!a)throw n.Log.error(\"SigninRequest.ctor: No redirect_uri passed\"),new Error(\"redirect_uri\");if(!u)throw n.Log.error(\"SigninRequest.ctor: No response_type passed\"),new Error(\"response_type\");if(!c)throw n.Log.error(\"SigninRequest.ctor: No scope passed\"),new Error(\"scope\");if(!h)throw n.Log.error(\"SigninRequest.ctor: No authority passed\"),new Error(\"authority\");var C=t.isOidc(u),T=t.isCode(u);S||(S=t.isCode(u)?\"query\":null),this.state=new o.SigninState({nonce:C,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:T,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,\"client_id\",s),r=i.UrlUtility.addQueryParam(r,\"redirect_uri\",a),r=i.UrlUtility.addQueryParam(r,\"response_type\",u),r=i.UrlUtility.addQueryParam(r,\"scope\",c),r=i.UrlUtility.addQueryParam(r,\"state\",this.state.id),C&&(r=i.UrlUtility.addQueryParam(r,\"nonce\",this.state.nonce)),T&&(r=i.UrlUtility.addQueryParam(r,\"code_challenge\",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,\"code_challenge_method\",\"S256\"));var R={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:b,request_uri:w,response_mode:S};for(var I in R)R[I]&&(r=i.UrlUtility.addQueryParam(r,I,R[I]));for(var D in F)r=i.UrlUtility.addQueryParam(r,D,F[D]);this.url=r}return t.isOidc=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"id_token\"===t}))[0]},t.isOAuth=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"token\"===t}))[0]},t.isCode=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"code\"===t}))[0]},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;a(this,t),this._id=r||(0,o.default)(),this._data=n,this._created=\"number\"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function t(){return i.Log.debug(\"State.toStorageString\"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function e(r){return i.Log.debug(\"State.fromStorageString\"),new t(JSON.parse(r))},t.clearStaleState=function e(r,n){var o=Date.now()/1e3-n;return r.getAllKeys().then((function(e){i.Log.debug(\"State.clearStaleState: got keys\",e);for(var n=[],s=function s(a){var c=e[a];u=r.get(c).then((function(e){var n=!1;if(e)try{var s=t.fromStorageString(e);i.Log.debug(\"State.clearStaleState: got item from key: \",c,s.created),s.created<=o&&(n=!0)}catch(t){i.Log.error(\"State.clearStaleState: Error parsing state for key\",c,t.message),n=!0}else i.Log.debug(\"State.clearStaleState: no item in storage for key: \",c),n=!0;if(n)return i.Log.debug(\"State.clearStaleState: removed item for key: \",c),r.remove(c)})),n.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};g(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.response_type,o=r.scope,s=r.redirect_uri,u=r.data,c=r.state,h=r.prompt,l=r.display,f=r.max_age,g=r.ui_locales,d=r.id_token_hint,p=r.login_hint,v=r.acr_values,y=r.resource,m=r.request,_=r.request_uri,S=r.response_mode,b=r.extraQueryParams,w=r.extraTokenParams,F=r.request_type,E=r.skipUserInfo,x=arguments[1];i.Log.debug(\"OidcClient.createSigninRequest\");var A=this._settings.client_id;n=n||this._settings.response_type,o=o||this._settings.scope,s=s||this._settings.redirect_uri,h=h||this._settings.prompt,l=l||this._settings.display,f=f||this._settings.max_age,g=g||this._settings.ui_locales,v=v||this._settings.acr_values,y=y||this._settings.resource,S=S||this._settings.response_mode,b=b||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var k=this._settings.authority;return a.SigninRequest.isCode(n)&&\"code\"!==n?Promise.reject(new Error(\"OpenID Connect hybrid flow is not supported\")):this._metadataService.getAuthorizationEndpoint().then((function(t){i.Log.debug(\"OidcClient.createSigninRequest: Received authorization endpoint\",t);var r=new a.SigninRequest({url:t,client_id:A,redirect_uri:s,response_type:n,scope:o,data:u||c,authority:k,prompt:h,display:l,max_age:f,ui_locales:g,id_token_hint:d,login_hint:p,acr_values:v,resource:y,request:m,request_uri:_,extraQueryParams:b,extraTokenParams:w,request_type:F,response_mode:S,client_secret:e._settings.client_secret,skipUserInfo:E}),P=r.state;return(x=x||e._stateStore).set(P.id,P.toStorageString()).then((function(){return r}))}))},t.prototype.readSigninResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug(\"OidcClient.readSigninResponseState\");var o=\"query\"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type),s=o?\"?\":\"#\",c=new u.SigninResponse(e,s);if(!c.state)return i.Log.error(\"OidcClient.readSigninResponseState: No state in response\"),Promise.reject(new Error(\"No state in response\"));r=r||this._stateStore;var h=n?r.remove.bind(r):r.get.bind(r);return h(c.state).then((function(t){if(!t)throw i.Log.error(\"OidcClient.readSigninResponseState: No matching state found in storage\"),new Error(\"No matching state found in storage\");return{state:l.SigninState.fromStorageString(t),response:c}}))},t.prototype.processSigninResponse=function t(e,r){var n=this;return i.Log.debug(\"OidcClient.processSigninResponse\"),this.readSigninResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return i.Log.debug(\"OidcClient.processSigninResponse: Received state from storage; validating response\"),n._validator.validateSigninResponse(e,r)}))},t.prototype.createSignoutRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.id_token_hint,o=r.data,s=r.state,a=r.post_logout_redirect_uri,u=r.extraQueryParams,h=r.request_type,l=arguments[1];return i.Log.debug(\"OidcClient.createSignoutRequest\"),a=a||this._settings.post_logout_redirect_uri,u=u||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(t){if(!t)throw i.Log.error(\"OidcClient.createSignoutRequest: No end session endpoint url returned\"),new Error(\"no end session endpoint\");i.Log.debug(\"OidcClient.createSignoutRequest: Received end session endpoint\",t);var r=new c.SignoutRequest({url:t,id_token_hint:n,post_logout_redirect_uri:a,data:o||s,extraQueryParams:u,request_type:h}),f=r.state;return f&&(i.Log.debug(\"OidcClient.createSignoutRequest: Signout request has state to persist\"),(l=l||e._stateStore).set(f.id,f.toStorageString())),r}))},t.prototype.readSignoutResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug(\"OidcClient.readSignoutResponseState\");var o=new h.SignoutResponse(e);if(!o.state)return i.Log.debug(\"OidcClient.readSignoutResponseState: No state in response\"),o.error?(i.Log.warn(\"OidcClient.readSignoutResponseState: Response was error: \",o.error),Promise.reject(new s.ErrorResponse(o))):Promise.resolve({state:void 0,response:o});var a=o.state;r=r||this._stateStore;var u=n?r.remove.bind(r):r.get.bind(r);return u(a).then((function(t){if(!t)throw i.Log.error(\"OidcClient.readSignoutResponseState: No matching state found in storage\"),new Error(\"No matching state found in storage\");return{state:f.State.fromStorageString(t),response:o}}))},t.prototype.processSignoutResponse=function t(e,r){var n=this;return i.Log.debug(\"OidcClient.processSignoutResponse\"),this.readSignoutResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return e?(i.Log.debug(\"OidcClient.processSignoutResponse: Received state from storage; validating response\"),n._validator.validateSignoutResponse(e,r)):(i.Log.debug(\"OidcClient.processSignoutResponse: No state from storage; skipping validating response\"),r)}))},t.prototype.clearStaleState=function t(e){return i.Log.debug(\"OidcClient.clearStaleState\"),e=e||this._stateStore,f.State.clearStaleState(e,this.settings.staleStateAge)},n(t,[{key:\"_stateStore\",get:function t(){return this.settings.stateStore}},{key:\"_validator\",get:function t(){return this.settings.validator}},{key:\"_metadataService\",get:function t(){return this.settings.metadataService}},{key:\"settings\",get:function t(){return this._settings}},{key:\"metadataService\",get:function t(){return this._metadataService}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw o.Log.error(\"TokenClient.ctor: No settings passed\"),new Error(\"settings\");this._settings=e,this._jsonService=new r,this._metadataService=new a(this._settings)}return t.prototype.exchangeCode=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||\"authorization_code\",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret,r.redirect_uri=r.redirect_uri||this._settings.redirect_uri;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.code?r.redirect_uri?r.code_verifier?r.client_id?r.client_secret||\"client_secret_basic\"!=i?(\"client_secret_basic\"==i&&(n=r.client_id+\":\"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug(\"TokenClient.exchangeCode: Received token endpoint\"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug(\"TokenClient.exchangeCode: response received\"),t}))}))):(o.Log.error(\"TokenClient.exchangeCode: No client_secret passed\"),Promise.reject(new Error(\"A client_secret is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No client_id passed\"),Promise.reject(new Error(\"A client_id is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No code_verifier passed\"),Promise.reject(new Error(\"A code_verifier is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No redirect_uri passed\"),Promise.reject(new Error(\"A redirect_uri is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No code passed\"),Promise.reject(new Error(\"A code is required\")))},t.prototype.exchangeRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||\"refresh_token\",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.refresh_token?r.client_id?(\"client_secret_basic\"==i&&(n=r.client_id+\":\"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug(\"TokenClient.exchangeRefreshToken: Received token endpoint\"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug(\"TokenClient.exchangeRefreshToken: response received\"),t}))}))):(o.Log.error(\"TokenClient.exchangeRefreshToken: No client_id passed\"),Promise.reject(new Error(\"A client_id is required\"))):(o.Log.error(\"TokenClient.exchangeRefreshToken: No refresh_token passed\"),Promise.reject(new Error(\"A refresh_token is required\")))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ErrorResponse=void 0;var n=r(0);function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=r.error,a=r.error_description,u=r.error_uri,c=r.state,h=r.session_state;if(i(this,e),!s)throw n.Log.error(\"No error passed to ErrorResponse\"),new Error(\"error\");var l=o(this,t.call(this,a||s));return l.name=\"ErrorResponse\",l.error=s,l.error_description=a,l.error_uri=u,l.state=c,l.session_state=h,l}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,l=r.code_verifier,f=r.response_mode,g=r.client_secret,d=r.scope,p=r.extraTokenParams,v=r.skipUserInfo;c(this,e);var y=h(this,t.call(this,arguments[0]));if(!0===n?y._nonce=(0,a.default)():n&&(y._nonce=n),!0===l?y._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():l&&(y._code_verifier=l),y.code_verifier){var m=s.JoseUtil.hashString(y.code_verifier,\"SHA256\");y._code_challenge=s.JoseUtil.hexToBase64Url(m)}return y._redirect_uri=u,y._authority=i,y._client_id=o,y._response_mode=f,y._client_secret=g,y._scope=d,y._extraTokenParams=p,y._skipUserInfo=v,y}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function t(){return i.Log.debug(\"SigninState.toStorageString\"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function t(r){return i.Log.debug(\"SigninState.fromStorageString\"),new e(JSON.parse(r))},n(e,[{key:\"nonce\",get:function t(){return this._nonce}},{key:\"authority\",get:function t(){return this._authority}},{key:\"client_id\",get:function t(){return this._client_id}},{key:\"redirect_uri\",get:function t(){return this._redirect_uri}},{key:\"code_verifier\",get:function t(){return this._code_verifier}},{key:\"code_challenge\",get:function t(){return this._code_challenge}},{key:\"response_mode\",get:function t(){return this._response_mode}},{key:\"client_secret\",get:function t(){return this._client_secret}},{key:\"scope\",get:function t(){return this._scope}},{key:\"extraTokenParams\",get:function t(){return this._extraTokenParams}},{key:\"skipUserInfo\",get:function t(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function n(){return(\"undefined\"!=i&&null!==i&&void 0!==i.getRandomValues?o:s)().replace(/-/g,\"\")};var i=\"undefined\"!=typeof window?window.crypto||window.msCrypto:null;function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^i.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function s(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:\"expired\",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:\"scopes\",get:function t(){return(this.scope||\"\").split(\" \")}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,s=e.accessTokenExpiringTimer,a=void 0===s?new i.Timer(\"Access token expiring\"):s,u=e.accessTokenExpiredTimer,c=void 0===u?new i.Timer(\"Access token expired\"):u;o(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return t.prototype.load=function t(e){if(e.access_token&&void 0!==e.expires_in){var r=e.expires_in;if(n.Log.debug(\"AccessTokenEvents.load: access token present, remaining duration:\",r),r>0){var i=r-this._accessTokenExpiringNotificationTime;i<=0&&(i=1),n.Log.debug(\"AccessTokenEvents.load: registering expiring timer in:\",i),this._accessTokenExpiring.init(i)}else n.Log.debug(\"AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration.\"),this._accessTokenExpiring.cancel();var o=r+1;n.Log.debug(\"AccessTokenEvents.load: registering expired timer in:\",o),this._accessTokenExpired.init(o)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function t(){n.Log.debug(\"AccessTokenEvents.unload: canceling existing access token timers\"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function t(e){this._accessTokenExpiring.addHandler(e)},t.prototype.removeAccessTokenExpiring=function t(e){this._accessTokenExpiring.removeHandler(e)},t.prototype.addAccessTokenExpired=function t(e){this._accessTokenExpired.addHandler(e)},t.prototype.removeAccessTokenExpired=function t(e){this._accessTokenExpired.removeHandler(e)},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function t(e){this._callbacks.push(e)},t.prototype.removeHandler=function t(e){var r=this._callbacks.findIndex((function(t){return t===e}));r>=0&&this._callbacks.splice(r,1)},t.prototype.raise=function t(){n.Log.debug(\"Event: Raising event: \"+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(a(this,t),!e)throw i.Log.error(\"SessionMonitor.ctor: No user manager passed to SessionMonitor\"),new Error(\"userManager\");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=u,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error(\"SessionMonitor ctor: error from querySessionStatus:\",t.message)}))})).catch((function(t){i.Log.error(\"SessionMonitor ctor: error from getUser:\",t.message)})))}return t.prototype._start=function t(e){var r=this,n=e.session_state;n&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug(\"SessionMonitor._start: session_state:\",n,\", sub:\",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug(\"SessionMonitor._start: session_state:\",n,\", anonymous user\")),this._checkSessionIFrame?this._checkSessionIFrame.start(n):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug(\"SessionMonitor._start: Initializing check session iframe\");var e=r._client_id,o=r._checkSessionInterval,s=r._stopCheckSessionOnError;r._checkSessionIFrame=new r._CheckSessionIFrameCtor(r._callback.bind(r),e,t,o,s),r._checkSessionIFrame.load().then((function(){r._checkSessionIFrame.start(n)}))}else i.Log.warn(\"SessionMonitor._start: No check session iframe found in the metadata\")})).catch((function(t){i.Log.error(\"SessionMonitor._start: Error from getCheckSessionIframe:\",t.message)})))},t.prototype._stop=function t(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug(\"SessionMonitor._stop\"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var r=this._timer.setInterval((function(){e._timer.clearInterval(r),e._userManager.querySessionStatus().then((function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)})).catch((function(t){i.Log.error(\"SessionMonitor: error from querySessionStatus:\",t.message)}))}),1e3)},t.prototype._callback=function t(){var e=this;this._userManager.querySessionStatus().then((function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:\",t.session_state):(i.Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:\",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug(\"SessionMonitor._callback: Different subject signed into OP:\",t.sub):i.Log.debug(\"SessionMonitor._callback: Subject no longer signed into OP\"),r&&(e._sub?(i.Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed out event\"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed in event\"),e._userManager.events._raiseUserSignedIn()))})).catch((function(t){e._sub&&(i.Log.debug(\"SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event\",t.message),e._userManager.events._raiseUserSignedOut())}))},n(t,[{key:\"_settings\",get:function t(){return this._userManager.settings}},{key:\"_metadataService\",get:function t(){return this._userManager.metadataService}},{key:\"_client_id\",get:function t(){return this._settings.client_id}},{key:\"_checkSessionInterval\",get:function t(){return this._settings.checkSessionInterval}},{key:\"_stopCheckSessionOnError\",get:function t(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.CheckSessionIFrame=function(){function t(e,r,n,o){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];i(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=o||2e3,this._stopOnError=s;var a=n.indexOf(\"/\",n.indexOf(\"//\")+2);this._frame_origin=n.substr(0,a),this._frame=window.document.createElement(\"iframe\"),this._frame.style.visibility=\"hidden\",this._frame.style.position=\"absolute\",this._frame.style.display=\"none\",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function t(){var e=this;return new Promise((function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener(\"message\",e._boundMessageEvent,!1)}))},t.prototype._message=function t(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&(\"error\"===e.data?(n.Log.error(\"CheckSessionIFrame: error message from check session op iframe\"),this._stopOnError&&this.stop()):\"changed\"===e.data?(n.Log.debug(\"CheckSessionIFrame: changed message from check session op iframe\"),this.stop(),this._callback()):n.Log.debug(\"CheckSessionIFrame: \"+e.data+\" message from check session op iframe\"))},t.prototype.start=function t(e){var r=this;if(this._session_state!==e){n.Log.debug(\"CheckSessionIFrame.start\"),this.stop(),this._session_state=e;var i=function t(){r._frame.contentWindow.postMessage(r._client_id+\" \"+r._session_state,r._frame_origin)};i(),this._timer=window.setInterval(i,this._interval)}},t.prototype.stop=function t(){this._session_state=null,this._timer&&(n.Log.debug(\"CheckSessionIFrame.stop\"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var a=\"access_token\",u=\"refresh_token\";e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw n.Log.error(\"TokenRevocationClient.ctor: No settings provided\"),new Error(\"No settings provided.\");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new a(this._settings)}return t.prototype.revoke=function t(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"access_token\";if(!e)throw n.Log.error(\"TokenRevocationClient.revoke: No token provided\"),new Error(\"No token provided.\");if(o!==a&&o!=u)throw n.Log.error(\"TokenRevocationClient.revoke: Invalid token type\"),new Error(\"Invalid token type.\");return this._metadataService.getRevocationEndpoint().then((function(t){if(t){n.Log.debug(\"TokenRevocationClient.revoke: Revoking \"+o);var s=i._settings.client_id,a=i._settings.client_secret;return i._revoke(t,s,a,e,o)}if(r)throw n.Log.error(\"TokenRevocationClient.revoke: Revocation not supported\"),new Error(\"Revocation not supported\")}))},t.prototype._revoke=function t(e,r,i,o,s){var a=this;return new Promise((function(t,u){var c=new a._XMLHttpRequestCtor;c.open(\"POST\",e),c.onload=function(){n.Log.debug(\"TokenRevocationClient.revoke: HTTP response received, status\",c.status),200===c.status?t():u(Error(c.statusText+\" (\"+c.status+\")\"))},c.onerror=function(){n.Log.debug(\"TokenRevocationClient.revoke: Network Error.\"),u(\"Network Error\")};var h=\"client_id=\"+encodeURIComponent(r);i&&(h+=\"&client_secret=\"+encodeURIComponent(i)),h+=\"&token_type_hint=\"+encodeURIComponent(s),h+=\"&token=\"+encodeURIComponent(o),c.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),c.send(h)}))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(h(this,t),!e)throw i.Log.error(\"ResponseValidator.ctor: No settings passed to ResponseValidator\"),new Error(\"settings\");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new l(this._settings)}return t.prototype.validateSigninResponse=function t(e,r){var n=this;return i.Log.debug(\"ResponseValidator.validateSigninResponse\"),this._processSigninParams(e,r).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: state processed\"),n._validateTokens(e,t).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: tokens validated\"),n._processClaims(e,t).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: claims processed\"),t}))}))}))},t.prototype.validateSignoutResponse=function t(e,r){return e.id!==r.state?(i.Log.error(\"ResponseValidator.validateSignoutResponse: State does not match\"),Promise.reject(new Error(\"State does not match\"))):(i.Log.debug(\"ResponseValidator.validateSignoutResponse: state validated\"),r.state=e.data,r.error?(i.Log.warn(\"ResponseValidator.validateSignoutResponse: Response was error\",r.error),Promise.reject(new u.ErrorResponse(r))):Promise.resolve(r))},t.prototype._processSigninParams=function t(e,r){if(e.id!==r.state)return i.Log.error(\"ResponseValidator._processSigninParams: State does not match\"),Promise.reject(new Error(\"State does not match\"));if(!e.client_id)return i.Log.error(\"ResponseValidator._processSigninParams: No client_id on state\"),Promise.reject(new Error(\"No client_id on state\"));if(!e.authority)return i.Log.error(\"ResponseValidator._processSigninParams: No authority on state\"),Promise.reject(new Error(\"No authority on state\"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error(\"ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state\"),Promise.reject(new Error(\"authority mismatch on settings vs. signin state\"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error(\"ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state\"),Promise.reject(new Error(\"client_id mismatch on settings vs. signin state\"))}else this._settings.client_id=e.client_id;return i.Log.debug(\"ResponseValidator._processSigninParams: state validated\"),r.state=e.data,r.error?(i.Log.warn(\"ResponseValidator._processSigninParams: Response was error\",r.error),Promise.reject(new u.ErrorResponse(r))):e.nonce&&!r.id_token?(i.Log.error(\"ResponseValidator._processSigninParams: Expecting id_token in response\"),Promise.reject(new Error(\"No id_token in response\"))):!e.nonce&&r.id_token?(i.Log.error(\"ResponseValidator._processSigninParams: Not expecting id_token in response\"),Promise.reject(new Error(\"Unexpected id_token in response\"))):e.code_verifier&&!r.code?(i.Log.error(\"ResponseValidator._processSigninParams: Expecting code in response\"),Promise.reject(new Error(\"No code in response\"))):!e.code_verifier&&r.code?(i.Log.error(\"ResponseValidator._processSigninParams: Not expecting code in response\"),Promise.reject(new Error(\"Unexpected code in response\"))):(r.scope||(r.scope=e.scope),Promise.resolve(r))},t.prototype._processClaims=function t(e,r){var n=this;if(r.isOpenIdConnect){if(i.Log.debug(\"ResponseValidator._processClaims: response is OIDC, processing claims\"),r.profile=this._filterProtocolClaims(r.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&r.access_token)return i.Log.debug(\"ResponseValidator._processClaims: loading user info\"),this._userInfoService.getClaims(r.access_token).then((function(t){return i.Log.debug(\"ResponseValidator._processClaims: user info claims received from user info endpoint\"),t.sub!==r.profile.sub?(i.Log.error(\"ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token\"),Promise.reject(new Error(\"sub from user info endpoint does not match sub in id_token\"))):(r.profile=n._mergeClaims(r.profile,t),i.Log.debug(\"ResponseValidator._processClaims: user info claims received, updated profile:\",r.profile),r)}));i.Log.debug(\"ResponseValidator._processClaims: not loading user info\")}else i.Log.debug(\"ResponseValidator._processClaims: response is not OIDC, not processing claims\");return Promise.resolve(r)},t.prototype._mergeClaims=function t(e,r){var i=Object.assign({},e);for(var o in r){var s=r[o];Array.isArray(s)||(s=[s]);for(var a=0;a1)return i.Log.error(\"ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata\"),Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));o=t[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function t(e){var r=this;return this._getSigningKeyForJwt(e).then((function(t){return t?Promise.resolve(t):(r._metadataService.resetSigningKeys(),r._getSigningKeyForJwt(e))}))},t.prototype._validateIdToken=function t(e,r){var n=this;if(!e.nonce)return i.Log.error(\"ResponseValidator._validateIdToken: No nonce on state\"),Promise.reject(new Error(\"No nonce on state\"));var o=this._joseUtil.parseJwt(r.id_token);return o&&o.header&&o.payload?e.nonce!==o.payload.nonce?(i.Log.error(\"ResponseValidator._validateIdToken: Invalid nonce in id_token\"),Promise.reject(new Error(\"Invalid nonce in id_token\"))):this._metadataService.getIssuer().then((function(t){return i.Log.debug(\"ResponseValidator._validateIdToken: Received issuer\"),n._getSigningKeyForJwtWithSingleRetry(o).then((function(s){if(!s)return i.Log.error(\"ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys\"),Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));var a=e.client_id,u=n._settings.clockSkew;return i.Log.debug(\"ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: \",u),n._joseUtil.validateJwt(r.id_token,s,t,a,u).then((function(){return i.Log.debug(\"ResponseValidator._validateIdToken: JWT validation successful\"),o.payload.sub?(r.profile=o.payload,r):(i.Log.error(\"ResponseValidator._validateIdToken: No sub present in id_token\"),Promise.reject(new Error(\"No sub present in id_token\")))}))}))})):(i.Log.error(\"ResponseValidator._validateIdToken: Failed to parse id_token\",o),Promise.reject(new Error(\"Failed to parse id_token\")))},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith(\"RS\"))n=\"RSA\";else if(r.startsWith(\"PS\"))n=\"PS\";else{if(!r.startsWith(\"ES\"))return i.Log.debug(\"ResponseValidator._filterByAlg: alg not supported: \",r),[];n=\"EC\"}return i.Log.debug(\"ResponseValidator._filterByAlg: Looking for keys that match kty: \",n),e=e.filter((function(t){return t.kty===n})),i.Log.debug(\"ResponseValidator._filterByAlg: Number of keys that match kty: \",n,e.length),e},t.prototype._validateAccessToken=function t(e){if(!e.profile)return i.Log.error(\"ResponseValidator._validateAccessToken: No profile loaded from id_token\"),Promise.reject(new Error(\"No profile loaded from id_token\"));if(!e.profile.at_hash)return i.Log.error(\"ResponseValidator._validateAccessToken: No at_hash in id_token\"),Promise.reject(new Error(\"No at_hash in id_token\"));if(!e.id_token)return i.Log.error(\"ResponseValidator._validateAccessToken: No id_token\"),Promise.reject(new Error(\"No id_token\"));var r=this._joseUtil.parseJwt(e.id_token);if(!r||!r.header)return i.Log.error(\"ResponseValidator._validateAccessToken: Failed to parse id_token\",r),Promise.reject(new Error(\"Failed to parse id_token\"));var n=r.header.alg;if(!n||5!==n.length)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n),Promise.reject(new Error(\"Unsupported alg: \"+n));var o=n.substr(2,3);if(!o)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n,o),Promise.reject(new Error(\"Unsupported alg: \"+n));if(256!==(o=parseInt(o))&&384!==o&&512!==o)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n,o),Promise.reject(new Error(\"Unsupported alg: \"+n));var s=\"sha\"+o,a=this._joseUtil.hashString(e.access_token,s);if(!a)return i.Log.error(\"ResponseValidator._validateAccessToken: access_token hash failed:\",s),Promise.reject(new Error(\"Failed to validate at_hash\"));var u=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(u);return c!==e.profile.at_hash?(i.Log.error(\"ResponseValidator._validateAccessToken: Failed to validate at_hash\",c,e.profile.at_hash),Promise.reject(new Error(\"Failed to validate at_hash\"))):(i.Log.debug(\"ResponseValidator._validateAccessToken: success\"),Promise.resolve(e))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);function a(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(a(this,t),!e)throw o.Log.error(\"UserInfoService.ctor: No settings passed\"),new Error(\"settings\");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new u(this._settings),this._joseUtil=c}return t.prototype.getClaims=function t(e){var r=this;return e?this._metadataService.getUserInfoEndpoint().then((function(t){return o.Log.debug(\"UserInfoService.getClaims: received userinfo url\",t),r._jsonService.getJson(t,e).then((function(t){return o.Log.debug(\"UserInfoService.getClaims: claims received\",t),t}))})):(o.Log.error(\"UserInfoService.getClaims: No token passed\"),Promise.reject(new Error(\"A token is required\")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error(\"UserInfoService._getClaimsFromJwt: Failed to parse JWT\",n),Promise.reject(new Error(\"Failed to parse id_token\"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case\"OP\":s=this._metadataService.getIssuer();break;case\"ANY\":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug(\"UserInfoService._getClaimsFromJwt: Received issuer:\"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No signing keys from metadata\"),Promise.reject(new Error(\"No signing keys from metadata\"));o.Log.debug(\"UserInfoService._getClaimsFromJwt: Received signing keys\");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata\"),Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));a=s[0]}if(!a)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys\"),Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug(\"UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: \",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug(\"UserInfoService._getClaimsFromJwt: JWT validation successful\"),n.payload}))}))}))}catch(t){return o.Log.error(\"UserInfoService._getClaimsFromJwt: Error parsing JWT response\",t.message),void reject(t)}},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith(\"RS\"))n=\"RSA\";else if(r.startsWith(\"PS\"))n=\"PS\";else{if(!r.startsWith(\"ES\"))return o.Log.debug(\"UserInfoService._filterByAlg: alg not supported: \",r),[];n=\"EC\"}return o.Log.debug(\"UserInfoService._filterByAlg: Looking for keys that match kty: \",n),e=e.filter((function(t){return t.kty===n})),o.Log.debug(\"UserInfoService._filterByAlg: Number of keys that match kty: \",n,e.length),e},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=[\"RS256\",\"RS384\",\"RS512\",\"PS256\",\"PS384\",\"PS512\",\"ES256\",\"ES384\",\"ES512\"]},function(t,e,r){\"use strict\";(function(t){Object.defineProperty(e,\"__esModule\",{value:!0});var r,n,i,o,s,a,u,c,h,l,f,g=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},d={userAgent:!1},p={},v=v||(r=Math,i=(n={}).lib={},o=i.Base=function(){function t(){}return{extend:function e(r){t.prototype=this;var n=new t;return r&&n.mixIn(r),n.hasOwnProperty(\"init\")||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function t(){var e=this.extend();return e.init.apply(e,arguments),e},init:function t(){},mixIn:function t(e){for(var r in e)e.hasOwnProperty(r)&&(this[r]=e[r]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function t(){return this.init.prototype.extend(this)}}}(),s=i.WordArray=o.extend({init:function t(e,r){e=this.words=e||[],this.sigBytes=null!=r?r:4*e.length},toString:function t(e){return(e||u).stringify(this)},concat:function t(e){var r=this.words,n=e.words,i=this.sigBytes,o=e.sigBytes;if(this.clamp(),i%4)for(var s=0;s>>2]>>>24-s%4*8&255;r[i+s>>>2]|=a<<24-(i+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function t(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=r.ceil(n/4)},clone:function t(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function t(e){for(var n=[],i=0;i>>2]>>>24-o%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join(\"\")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new s.init(n,r/2)}},c=a.Latin1={stringify:function t(e){for(var r=e.words,n=e.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255;i.push(String.fromCharCode(s))}return i.join(\"\")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new s.init(n,r)}},h=a.Utf8={stringify:function t(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(t){throw new Error(\"Malformed UTF-8 data\")}},parse:function t(e){return c.parse(unescape(encodeURIComponent(e)))}},l=i.BufferedBlockAlgorithm=o.extend({reset:function t(){this._data=new s.init,this._nDataBytes=0},_append:function t(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function t(e){var n=this._data,i=n.words,o=n.sigBytes,a=this.blockSize,u=o/(4*a),c=(u=e?r.ceil(u):r.max((0|u)-this._minBufferSize,0))*a,h=r.min(4*c,o);if(c){for(var l=0;l>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;4>a&&o+.75*a>>6*(3-a)&63));if(r=i.charAt(64))for(;e.length%4;)e.push(r);return e.join(\"\")},parse:function t(r){var n=r.length,i=this._map;(o=i.charAt(64))&&(-1!=(o=r.indexOf(o))&&(n=o));for(var o=[],s=0,a=0;a>>6-a%4*2;o[s>>>2]|=(u|c)<<24-s%4*8,s++}return e.create(o,s)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),function(t){for(var e=v,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function t(e){return 4294967296*(e-(0|e))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function t(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function t(e,r){for(var n=this._hash.words,i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],h=n[5],l=n[6],f=n[7],d=0;64>d;d++){if(16>d)g[d]=0|e[r+d];else{var p=g[d-15],v=g[d-2];g[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+g[d-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+g[d-16]}p=f+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&h^~c&l)+s[d]+g[d],v=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&o^i&a^o&a),f=l,l=h,h=c,c=u+p|0,u=a,a=o,o=i,i=p+v|0}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+u|0,n[4]=n[4]+c|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function e(){var r=this._data,n=r.words,i=8*this._nDataBytes,o=8*r.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=t.floor(i/4294967296),n[15+(o+64>>>9<<4)]=i,r.sigBytes=4*n.length,this._process(),this._hash},clone:function t(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=v,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function t(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function t(e,r){for(var n=(f=this._hash.words)[0],i=f[1],o=f[2],u=f[3],c=f[4],h=f[5],l=f[6],f=f[7],g=n.high,d=n.low,p=i.high,v=i.low,y=o.high,m=o.low,_=u.high,S=u.low,b=c.high,w=c.low,F=h.high,E=h.low,x=l.high,A=l.low,k=f.high,P=f.low,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,B=b,O=w,j=F,M=E,H=x,V=A,K=k,q=P,J=0;80>J;J++){var W=a[J];if(16>J)var z=W.high=0|e[r+2*J],Y=W.low=0|e[r+2*J+1];else{z=((Y=(z=a[J-15]).high)>>>1|(G=z.low)<<31)^(Y>>>8|G<<24)^Y>>>7;var G=(G>>>1|Y<<31)^(G>>>8|Y<<24)^(G>>>7|Y<<25),X=((Y=(X=a[J-2]).high)>>>19|($=X.low)<<13)^(Y<<3|$>>>29)^Y>>>6,$=($>>>19|Y<<13)^($<<3|Y>>>29)^($>>>6|Y<<26),Q=(Y=a[J-7]).high,Z=(tt=a[J-16]).high,tt=tt.low;z=(z=(z=z+Q+((Y=G+Y.low)>>>0>>0?1:0))+X+((Y=Y+$)>>>0<$>>>0?1:0))+Z+((Y=Y+tt)>>>0>>0?1:0);W.high=z,W.low=Y}Q=B&j^~B&H,tt=O&M^~O&V,W=C&R^C&D^R&D;var et=T&I^T&L^I&L,rt=(G=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),X=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),($=s[J]).high),nt=$.low;Z=K+((B>>>14|O<<18)^(B>>>18|O<<14)^(B<<23|O>>>9))+(($=q+((O>>>14|B<<18)^(O>>>18|B<<14)^(O<<23|B>>>9)))>>>0>>0?1:0),K=H,q=V,H=j,V=M,j=B,M=O,B=N+(Z=(Z=(Z=Z+Q+(($=$+tt)>>>0>>0?1:0))+rt+(($=$+nt)>>>0>>0?1:0))+z+(($=$+Y)>>>0>>0?1:0))+((O=U+$|0)>>>0>>0?1:0)|0,N=D,U=L,D=R,L=I,R=C,I=T,C=Z+(W=G+W+((Y=X+et)>>>0>>0?1:0))+((T=$+Y|0)>>>0<$>>>0?1:0)|0}d=n.low=d+T,n.high=g+C+(d>>>0>>0?1:0),v=i.low=v+I,i.high=p+R+(v>>>0>>0?1:0),m=o.low=m+L,o.high=y+D+(m>>>0>>0?1:0),S=u.low=S+U,u.high=_+N+(S>>>0>>0?1:0),w=c.low=w+O,c.high=b+B+(w>>>0>>0?1:0),E=h.low=E+M,h.high=F+j+(E>>>0>>0?1:0),A=l.low=A+V,l.high=x+H+(A>>>0>>0?1:0),P=f.low=P+q,f.high=k+K+(P>>>0>>0?1:0)},_doFinalize:function t(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[30+(i+128>>>10<<5)]=Math.floor(n/4294967296),r[31+(i+128>>>10<<5)]=n,e.sigBytes=4*r.length,this._process(),this._hash.toX32()},clone:function t(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=v,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function t(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function t(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nvar y,m=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";function _(t){var e,r,n=\"\";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=m.charAt(r>>6)+m.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=m.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=m.charAt(r>>2)+m.charAt((3&r)<<4)),\"=\";(3&n.length)>0;)n+=\"=\";return n}function S(t){var e,r,n,i=\"\",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=T(r<<2|n>>4),r=15&n,o=2):2==o?(i+=T(r),i+=T(n>>2),r=3&n,o=3):(i+=T(r<<2|n>>4),i+=T(15&n),o=0));return 1==o&&(i+=T(r<<2)),i}function b(t){var e,r=S(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},y=30):\"Netscape\"!=d.appName?(w.prototype.am=function x(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},y=26):(w.prototype.am=function A(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},y=28),w.prototype.DB=y,w.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function L(t){this.m=t}function N(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function H(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function V(){}function K(t){return t}function q(t){this.r2=F(),this.q3=F(),w.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}L.prototype.convert=function J(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},L.prototype.revert=function W(t){return t},L.prototype.reduce=function z(t){t.divRemTo(this.m,null,t)},L.prototype.mulTo=function Y(t,e,r){t.multiplyTo(e,r),this.reduce(r)},L.prototype.sqrTo=function G(t,e){t.squareTo(e),this.reduce(e)},N.prototype.convert=function X(t){var e=F();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(w.ZERO)>0&&this.m.subTo(e,e),e},N.prototype.revert=function $(t){var e=F();return t.copyTo(e),this.reduce(e),e},N.prototype.reduce=function Q(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},N.prototype.mulTo=function Z(t,e,r){t.multiplyTo(e,r),this.reduce(r)},N.prototype.sqrTo=function tt(t,e){t.squareTo(e),this.reduce(e)},w.prototype.copyTo=function et(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},w.prototype.fromInt=function rt(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},w.prototype.fromString=function nt(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:R(t,n);s<0?\"-\"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},w.prototype.dlShiftTo=function ot(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},w.prototype.drShiftTo=function st(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},w.prototype.rShiftTo=function ut(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},w.prototype.multiplyTo=function ht(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},w.prototype.divRemTo=function ft(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),w.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&w.ZERO.subTo(r,r)}}},w.prototype.invDigit=function gt(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},w.prototype.isEven=function dt(){return 0==(this.t>0?1&this[0]:this.s)},w.prototype.exp=function pt(t,e){if(t>4294967295||t<1)return w.ONE;var r=F(),n=F(),i=e.convert(this),o=D(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},w.prototype.toString=function vt(t){if(this.s<0)return\"-\"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=T(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=T(r));return i?o:\"0\"},w.prototype.negate=function yt(){var t=F();return w.ZERO.subTo(this,t),t},w.prototype.abs=function mt(){return this.s<0?this.negate():this},w.prototype.compareTo=function _t(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},w.prototype.bitLength=function St(){return this.t<=0?0:this.DB*(this.t-1)+D(this[this.t-1]^this.s&this.DM)},w.prototype.mod=function bt(t){var e=F();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(w.ZERO)>0&&t.subTo(e,e),e},w.prototype.modPowInt=function wt(t,e){var r;return r=t<256||e.isEven()?new L(e):new N(e),this.exp(t,r)},w.ZERO=I(0),w.ONE=I(1),V.prototype.convert=K,V.prototype.revert=K,V.prototype.mulTo=function Ft(t,e,r){t.multiplyTo(e,r)},V.prototype.sqrTo=function Et(t,e){t.squareTo(e)},q.prototype.convert=function xt(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=F();return t.copyTo(e),this.reduce(e),e},q.prototype.revert=function At(t){return t},q.prototype.reduce=function kt(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},q.prototype.mulTo=function Pt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},q.prototype.sqrTo=function Ct(t,e){t.squareTo(e),this.reduce(e)};var Tt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Rt=(1<<26)/Tt[Tt.length-1];\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction It(){this.i=0,this.j=0,this.S=new Array}w.prototype.chunkSize=function Dt(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},w.prototype.toRadix=function Lt(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return\"0\";var e=this.chunkSize(t),r=Math.pow(t,e),n=I(r),i=F(),o=F(),s=\"\";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},w.prototype.fromRadix=function Nt(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&w.ZERO.subTo(this,this)},w.prototype.fromNumber=function Ut(t,e,r){if(\"number\"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(w.ONE.shiftLeft(t-1),B,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(w.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},w.prototype.dMultiply=function Mt(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},w.prototype.dAddOffset=function Ht(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},w.prototype.multiplyLowerTo=function Vt(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},w.prototype.millerRabin=function Jt(t){var e=this.subtract(w.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>Tt.length&&(t=Tt.length);for(var i=F(),o=0;o>24},w.prototype.shortValue=function Gt(){return 0==this.t?this.s:this[0]<<16>>16},w.prototype.signum=function Xt(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},w.prototype.toByteArray=function $t(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},w.prototype.equals=function Qt(t){return 0==this.compareTo(t)},w.prototype.min=function Zt(t){return this.compareTo(t)<0?this:t},w.prototype.max=function te(t){return this.compareTo(t)>0?this:t},w.prototype.and=function ee(t){var e=F();return this.bitwiseTo(t,U,e),e},w.prototype.or=function re(t){var e=F();return this.bitwiseTo(t,B,e),e},w.prototype.xor=function ne(t){var e=F();return this.bitwiseTo(t,O,e),e},w.prototype.andNot=function ie(t){var e=F();return this.bitwiseTo(t,j,e),e},w.prototype.not=function oe(){for(var t=F(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=F();for(n.sqrTo(s[1],h);a<=c;)s[a]=F(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=F();for(i=D(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(w.ONE)?w.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},w.prototype.pow=function we(t){return this.exp(t,new V)},w.prototype.gcd=function Fe(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},w.prototype.isProbablePrime=function Ee(t){var e,r=this.abs();if(1==r.t&&r[0]<=Tt[Tt.length-1]){for(e=0;e>8&255,Ce[Te++]^=e>>16&255,Ce[Te++]^=e>>24&255,Te>=256&&(Te-=256)}((new Date).getTime())}if(null==Ce){var Ie;if(Ce=new Array,Te=0,void 0!==p&&(void 0!==p.crypto||void 0!==p.msCrypto)){var De=p.crypto||p.msCrypto;if(De.getRandomValues){var Le=new Uint8Array(32);for(De.getRandomValues(Le),Ie=0;Ie<32;++Ie)Ce[Te++]=Le[Ie]}else if(\"Netscape\"==d.appName&&d.appVersion<\"5\"){var Ne=p.crypto.random(32);for(Ie=0;Ie>>8,Ce[Te++]=255&Ie;Te=0,Re()}function Ue(){if(null==Pe){for(Re(),(Pe=function t(){return new It}()).init(Ce),Te=0;Te>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function Me(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction He(t,e){this.x=e,this.q=t}function Ve(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?w.ONE:n,this.zinv=null}function Ke(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new Ve(this,null,null)}Be.prototype.nextBytes=function qe(t){var e;for(e=0;e0&&e.length>0))throw\"Invalid RSA public key\";this.n=Oe(t,16),this.e=parseInt(e,16)}},Me.prototype.encrypt=function ze(t){var e=function r(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new Be,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new w(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var n=this.doPublic(e);if(null==n)return null;var i=n.toString(16);return 0==(1&i.length)?i:\"0\"+i},Me.prototype.encryptOAEP=function Ye(t,e,r){var n=function i(t,e,r,n){var i=Sr.crypto.MessageDigest,o=Sr.crypto.Util,s=null;if(r||(r=\"sha1\"),\"string\"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function t(e){return Lr(o.hashHex(Nr(e),s))}),t.length+2*n+2>e)throw\"Message too long for RSA\";var a,u=\"\";for(a=0;a>3,e,r);if(null==n)return null;var o=this.doPublic(n);if(null==o)return null;var s=o.toString(16);return 0==(1&s.length)?s:\"0\"+s},Me.prototype.type=\"RSA\",He.prototype.equals=function Ge(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},He.prototype.toBigInteger=function Xe(){return this.x},He.prototype.negate=function $e(){return new He(this.q,this.x.negate().mod(this.q))},He.prototype.add=function Qe(t){return new He(this.q,this.x.add(t.toBigInteger()).mod(this.q))},He.prototype.subtract=function Ze(t){return new He(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},He.prototype.multiply=function tr(t){return new He(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},He.prototype.square=function er(){return new He(this.q,this.x.square().mod(this.q))},He.prototype.divide=function rr(t){return new He(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},Ve.prototype.getX=function nr(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ve.prototype.getY=function ir(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ve.prototype.equals=function or(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(w.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(w.ZERO))},Ve.prototype.isInfinity=function sr(){return null==this.x&&null==this.y||this.z.equals(w.ZERO)&&!this.y.toBigInteger().equals(w.ZERO)},Ve.prototype.negate=function ar(){return new Ve(this.curve,this.x,this.y.negate(),this.z)},Ve.prototype.add=function ur(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(w.ZERO.equals(r))return w.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new w(\"3\"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new Ve(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},Ve.prototype.twice=function cr(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new w(\"3\"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);w.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new Ve(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},Ve.prototype.multiply=function hr(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new w(\"3\")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new w(\"3\")),u=new Ve(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},Ve.prototype.multiplyTwo=function lr(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},Ke.prototype.getQ=function fr(){return this.q},Ke.prototype.getA=function gr(){return this.a},Ke.prototype.getB=function dr(){return this.b},Ke.prototype.equals=function pr(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},Ke.prototype.getInfinity=function vr(){return this.infinity},Ke.prototype.fromBigInteger=function yr(t){return new He(this.q,t)},Ke.prototype.decodePointHex=function mr(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new Ve(this,this.fromBigInteger(new w(r,16)),this.fromBigInteger(new w(n,16)));default:return null}},\n/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib\n */\nHe.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},Ve.prototype.getEncoded=function(t){var e=function t(e,r){var n=e.toByteArrayUnsigned();if(rn.length;)n.unshift(0);return n},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},Ve.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new w(n),s=new w(i);return new Ve(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ve.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new w(n,16),s=new w(i,16);return new Ve(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ve.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ve(this.curve,n,i)},Ve.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(w.valueOf(2)),e=this.curve.fromBigInteger(w.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ve(this.curve,n,i)},Ve.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new w(\"3\")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},Ve.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},Ve.prototype.toString=function(){return\"(\"+this.getX().toBigInteger().toString()+\",\"+this.getY().toBigInteger().toString()+\")\"},Ve.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error(\"Point is at infinity.\");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(w.ONE)<0||e.compareTo(t.subtract(w.ONE))>0)throw new Error(\"x coordinate out of bounds\");if(r.compareTo(w.ONE)<0||r.compareTo(t.subtract(w.ONE))>0)throw new Error(\"y coordinate out of bounds\");if(!this.isOnCurve())throw new Error(\"Point is not on the curve.\");if(this.multiply(t).isInfinity())throw new Error(\"Point is not a scalar multiple of G.\");return!0};\n/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval\n */\nvar _r=function(){var t=new RegExp('(?:false|true|null|[\\\\{\\\\}\\\\[\\\\]]|(?:-?\\\\b(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\\\b)|(?:\"(?:[^\\\\0-\\\\x08\\\\x0a-\\\\x1f\"\\\\\\\\]|\\\\\\\\(?:[\"/\\\\\\\\bfnrt]|u[0-9A-Fa-f]{4}))*\"))',\"g\"),e=new RegExp(\"\\\\\\\\(?:([^u])|u(.{4}))\",\"g\"),r={'\"':'\"',\"/\":\"/\",\"\\\\\":\"\\\\\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\\t\"};function n(t,e,n){return e?r[e]:String.fromCharCode(parseInt(n,16))}var i=new String(\"\"),o=Object.hasOwnProperty;return function(r,s){var a,u,c=r.match(t),h=c[0],l=!1;\"{\"===h?a={}:\"[\"===h?a=[]:(a=[],l=!0);for(var f=[a],d=1-l,p=c.length;d=0;)delete n[i[c]]}return s.call(e,r,n)}({\"\":a},\"\")}return a}}();void 0!==Sr&&Sr||(e.KJUR=Sr={}),void 0!==Sr.asn1&&Sr.asn1||(Sr.asn1={}),Sr.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e=\"0\"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if(\"-\"!=e.substr(0,1))e.length%2==1?e=\"0\"+e:e.match(/^[0-7]/)||(e=\"00\"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n=\"\",i=0;i15)throw\"ASN.1 length too long to represent by 8x: n = \"+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return\"\"},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},Sr.asn1.DERAbstractString=function(t){Sr.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Ir(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},Zr(Sr.asn1.DERAbstractString,Sr.asn1.ASN1Object),Sr.asn1.DERAbstractTime=function(t){Sr.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());\"utc\"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+\".\"+(u=u.replace(/[0]+$/,\"\"))}}return s+\"Z\"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=kr(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},Zr(Sr.asn1.DERAbstractTime,Sr.asn1.ASN1Object),Sr.asn1.DERAbstractStructured=function(t){Sr.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},Zr(Sr.asn1.DERAbstractStructured,Sr.asn1.ASN1Object),Sr.asn1.DERBoolean=function(t){Sr.asn1.DERBoolean.superclass.constructor.call(this),this.hT=\"01\",this.hTLV=0==t?\"010100\":\"0101ff\"},Zr(Sr.asn1.DERBoolean,Sr.asn1.ASN1Object),Sr.asn1.DERInteger=function(t){Sr.asn1.DERInteger.superclass.constructor.call(this),this.hT=\"02\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=Sr.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new w(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},Zr(Sr.asn1.DERInteger,Sr.asn1.ASN1Object),Sr.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=Sr.asn1.ASN1Util.newObject(t.obj);t.hex=\"00\"+e.getEncodedHex()}Sr.asn1.DERBitString.superclass.constructor.call(this),this.hT=\"03\",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,\"::\")).slice(1,-1)}function zr(t){var e=\"malformed hex value\";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Wr(t):t;try{return parseInt(t.substr(0,2),16)+\".\"+parseInt(t.substr(2,2),16)+\".\"+parseInt(t.substr(4,2),16)+\".\"+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Yr(t){return t.match(/.{4}/g).map((function e(t){var e=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2),16);if(0==e&r<128)return String.fromCharCode(r);if(e<8){var n=128|63&r;return Dr((192|(7&e)<<3|(192&r)>>6).toString(16)+n.toString(16))}n=128|(15&e)<<2|(192&r)>>6;var i=128|63&r;return Dr((224|(240&e)>>4).toString(16)+n.toString(16)+i.toString(16))})).join(\"\")}function Gr(t){for(var e=encodeURIComponent(t),r=\"\",n=0;n\"7\"?\"00\"+t:t}Fr.getLblen=function(t,e){if(\"8\"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},Fr.getNthChildIdx=function(t,e,r){return Fr.getChildIdx(t,e)[r]},Fr.getIdxbyList=function(t,e,r,n){var i,o,s=Fr;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},Fr.getIdxbyListEx=function(t,e,r,n){var i,o,s=Fr;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},Fr.getTLVbyListEx=function(t,e,r,n){var i=Fr,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},Fr.getVbyList=function(t,e,r,n,i){var o,s,a=Fr;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},Fr.getVbyListEx=function(t,e,r,n,i){var o,s,a=Fr;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),\"03\"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},Fr.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if(\"02\"!=n&&\"03\"!=n)return r;var i=Fr.getV(t,e);return\"02\"==n?parseInt(i,16):function o(t){try{var e=t.substr(0,2);if(\"00\"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return\"0\"==i&&(i=\"00000000\"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},Fr.getOID=function(t,e,r){null==r&&(r=null);try{return\"06\"!=t.substr(e,2)?r:function n(t){if(!Xr(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+\".\"+a.join(\".\")),c}catch(t){return null}}(Fr.getV(t,e))}catch(t){return r}},Fr.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=Fr.getOID(t,e,r);if(n==r)return r;var i=Sr.asn1.x509.OID.oid2name(n);return\"\"==i?n:i}catch(t){return r}},Fr.getString=function(t,e,r){null==r&&(r=null);try{return Lr(Fr.getV(t,e))}catch(t){return r}},Fr.hextooidstr=function(t){var e=function t(e,r){return e.length>=r?e:new Array(r-e.length+1).join(\"0\")+e},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+\".\"+u.join(\".\")),h},Fr.dump=function(t,e,r,n){var i=Fr,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof Sr.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function t(e,r){return e.length<=2*r?e:e.substr(0,r)+\"..(total \"+e.length/2+\"bytes)..\"+e.substr(e.length-r,r)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n=\"\");var h,l=e.ommit_long_octet;if(\"01\"==(h=u.substr(r,2)))return\"00\"==(f=o(u,r))?n+\"BOOLEAN FALSE\\n\":n+\"BOOLEAN TRUE\\n\";if(\"02\"==h)return n+\"INTEGER \"+c(f=o(u,r),l)+\"\\n\";if(\"03\"==h){var f=o(u,r);if(i.isASN1HEX(f.substr(2))){var g=n+\"BITSTRING, encapsulates\\n\";return g+=s(f.substr(2),e,0,n+\" \")}return n+\"BITSTRING \"+c(f,l)+\"\\n\"}if(\"04\"==h){f=o(u,r);if(i.isASN1HEX(f)){g=n+\"OCTETSTRING, encapsulates\\n\";return g+=s(f,e,0,n+\" \")}return n+\"OCTETSTRING \"+c(f,l)+\"\\n\"}if(\"05\"==h)return n+\"NULL\\n\";if(\"06\"==h){var d=o(u,r),p=Sr.asn1.ASN1Util.oidHexToInt(d),v=Sr.asn1.x509.OID.oid2name(p),y=p.replace(/\\./g,\" \");return\"\"!=v?n+\"ObjectIdentifier \"+v+\" (\"+y+\")\\n\":n+\"ObjectIdentifier (\"+y+\")\\n\"}if(\"0a\"==h)return n+\"ENUMERATED \"+parseInt(o(u,r))+\"\\n\";if(\"0c\"==h)return n+\"UTF8String '\"+Dr(o(u,r))+\"'\\n\";if(\"13\"==h)return n+\"PrintableString '\"+Dr(o(u,r))+\"'\\n\";if(\"14\"==h)return n+\"TeletexString '\"+Dr(o(u,r))+\"'\\n\";if(\"16\"==h)return n+\"IA5String '\"+Dr(o(u,r))+\"'\\n\";if(\"17\"==h)return n+\"UTCTime \"+Dr(o(u,r))+\"\\n\";if(\"18\"==h)return n+\"GeneralizedTime \"+Dr(o(u,r))+\"\\n\";if(\"1a\"==h)return n+\"VisualString '\"+Dr(o(u,r))+\"'\\n\";if(\"1e\"==h)return n+\"BMPString '\"+Yr(o(u,r))+\"'\\n\";if(\"30\"==h){if(\"3000\"==u.substr(r,4))return n+\"SEQUENCE {}\\n\";g=n+\"SEQUENCE\\n\";var m=e;if((2==(b=a(u,r)).length||3==b.length)&&\"06\"==u.substr(b[0],2)&&\"04\"==u.substr(b[b.length-1],2)){v=i.oidname(o(u,b[0]));var _=JSON.parse(JSON.stringify(e));_.x509ExtName=v,m=_}for(var S=0;S31)&&(128==(192&r)&&(31&r)==n))}catch(t){return!1}},Fr.isASN1HEX=function(t){var e=Fr;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},Fr.checkStrictDER=function(t,e,r,n,i){var o=Fr;if(void 0===r){if(\"string\"!=typeof t)throw new Error(\"not hex string\");if(t=t.toLowerCase(),!Sr.lang.String.isHex(t))throw new Error(\"not hex string\");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error(\"L of TLV too long: idx=\"+e);var s=o.getVblen(t,e);if(s>n)throw new Error(\"value of L too long than hex: idx=\"+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error(\"V string length and L's value not the same:\"+u+\"/\"+2*s);if(0===e&&t.length!=a.length)throw new Error(\"total length and TLV length unmatch:\"+t.length+\"!=\"+a.length);var c=t.substr(e,2);if(\"02\"===c){var h=o.getVidx(t,e);if(\"00\"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error(\"not least zeros for DER INTEGER\")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=r?e:new Array(r-e.length+1).join(n)+e};function Zr(t,e){var r=function t(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e)}void 0!==Sr&&Sr||(e.KJUR=Sr={}),void 0!==Sr.crypto&&Sr.crypto||(Sr.crypto={}),Sr.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",ripemd160:\"3021300906052b2403020105000414\"},this.DEFAULTPROVIDER={md5:\"cryptojs\",sha1:\"cryptojs\",sha224:\"cryptojs\",sha256:\"cryptojs\",sha384:\"cryptojs\",sha512:\"cryptojs\",ripemd160:\"cryptojs\",hmacmd5:\"cryptojs\",hmacsha1:\"cryptojs\",hmacsha224:\"cryptojs\",hmacsha256:\"cryptojs\",hmacsha384:\"cryptojs\",hmacsha512:\"cryptojs\",hmacripemd160:\"cryptojs\",MD5withRSA:\"cryptojs/jsrsa\",SHA1withRSA:\"cryptojs/jsrsa\",SHA224withRSA:\"cryptojs/jsrsa\",SHA256withRSA:\"cryptojs/jsrsa\",SHA384withRSA:\"cryptojs/jsrsa\",SHA512withRSA:\"cryptojs/jsrsa\",RIPEMD160withRSA:\"cryptojs/jsrsa\",MD5withECDSA:\"cryptojs/jsrsa\",SHA1withECDSA:\"cryptojs/jsrsa\",SHA224withECDSA:\"cryptojs/jsrsa\",SHA256withECDSA:\"cryptojs/jsrsa\",SHA384withECDSA:\"cryptojs/jsrsa\",SHA512withECDSA:\"cryptojs/jsrsa\",RIPEMD160withECDSA:\"cryptojs/jsrsa\",SHA1withDSA:\"cryptojs/jsrsa\",SHA224withDSA:\"cryptojs/jsrsa\",SHA256withDSA:\"cryptojs/jsrsa\",MD5withRSAandMGF1:\"cryptojs/jsrsa\",SHAwithRSAandMGF1:\"cryptojs/jsrsa\",SHA1withRSAandMGF1:\"cryptojs/jsrsa\",SHA224withRSAandMGF1:\"cryptojs/jsrsa\",SHA256withRSAandMGF1:\"cryptojs/jsrsa\",SHA384withRSAandMGF1:\"cryptojs/jsrsa\",SHA512withRSAandMGF1:\"cryptojs/jsrsa\",RIPEMD160withRSAandMGF1:\"cryptojs/jsrsa\"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:v.algo.MD5,sha1:v.algo.SHA1,sha224:v.algo.SHA224,sha256:v.algo.SHA256,sha384:v.algo.SHA384,sha512:v.algo.SHA512,ripemd160:v.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw\"alg not supported in Util.DIGESTINFOHEAD: \"+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw\"key is too short for SigAlg: keylen=\"+r+\",\"+e;for(var o=\"0001\",s=\"00\"+n,a=\"\",u=i-o.length-s.length,c=0;c=0)return!1;if(n.compareTo(r.ONE)<0||n.compareTo(o)>=0)return!1;var a=n.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error(\"Signature not a valid DERSequence\");if(2!=t[e=2])throw new Error(\"First element in signature must be a DERInteger\");var n=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error(\"Second element in signature must be a DERInteger\");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:r.fromByteArrayUnsigned(n),s:r.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw\"Signature has the wrong length\";var e=t[0]-27;if(e<0||e>7)throw\"Invalid signature type\";var n=this.ecparams.n;return{r:r.fromByteArrayUnsigned(t.slice(1,33)).mod(n),s:r.fromByteArrayUnsigned(t.slice(33,65)).mod(n),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===c(t))throw new Error(\"not ASN.1 hex string\");var e,r,n;try{e=u(t,0,[\"[0]\",0],\"06\"),r=u(t,0,[1],\"04\");try{n=u(t,0,[\"[1]\",0],\"03\")}catch(t){}}catch(t){throw new Error(\"malformed PKCS#1/5 plain ECC private key\")}if(this.curveName=s(e),void 0===this.curveName)throw\"unsupported curve name\";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===c(t))throw new e(\"not ASN.1 hex string\");var r,n,i;try{u(t,0,[1,0],\"06\"),r=u(t,0,[1,1],\"06\"),n=u(t,0,[2,0,1],\"04\");try{i=u(t,0,[2,0,\"[1]\",0],\"03\")}catch(t){}}catch(t){throw new e(\"malformed PKCS#8 plain ECC private key\")}if(this.curveName=s(r),void 0===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===c(t))throw new e(\"not ASN.1 hex string\");var r,n;try{u(t,0,[0,0],\"06\"),r=u(t,0,[0,1],\"06\"),n=u(t,0,[1],\"03\")}catch(t){throw new e(\"malformed PKCS#8 ECC public key\")}if(this.curveName=s(r),null===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===c(t))throw new e(\"not ASN.1 hex string\");var n,i;try{n=u(t,0,[0,5,0,1],\"06\"),i=u(t,0,[0,5,1],\"03\")}catch(t){throw new e(\"malformed X.509 certificate ECC public key\")}if(this.curveName=s(n),null===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName=\"secp256r1\"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},Sr.crypto.ECDSA.parseSigHex=function(t){var e=Sr.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new w(e.r,16),s:new w(e.s,16)}},Sr.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=Fr,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),\"30\"!=t.substr(0,2))throw new Error(\"signature is not a ASN.1 sequence\");var i=r(t,0);if(2!=i.length)throw new Error(\"signature shall have two elements\");var o=i[0],s=i[1];if(\"02\"!=t.substr(o,2))throw new Error(\"1st item not ASN.1 integer\");if(\"02\"!=t.substr(s,2))throw new Error(\"2nd item not ASN.1 integer\");return{r:n(t,o),s:n(t,s)}},Sr.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=Sr.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if(\"00\"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),\"00\"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r=\"00\"+r),n.length%32==30&&(n=\"00\"+n),r.length%32!=0)throw\"unknown ECDSA sig r length error\";if(n.length%32!=0)throw\"unknown ECDSA sig s length error\";return r+n},Sr.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw\"unknown ECDSA concatinated r-s sig length error\";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return Sr.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},Sr.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new w(t,16),n=new w(e,16);return Sr.crypto.ECDSA.biRSSigToASN1Sig(r,n)},Sr.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=Sr.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},Sr.crypto.ECDSA.getName=function(t){return\"2b8104001f\"===t?\"secp192k1\":\"2a8648ce3d030107\"===t?\"secp256r1\":\"2b8104000a\"===t?\"secp256k1\":\"2b81040021\"===t?\"secp224r1\":\"2b81040022\"===t?\"secp384r1\":-1!==\"|secp256r1|NIST P-256|P-256|prime256v1|\".indexOf(t)?\"secp256r1\":-1!==\"|secp256k1|\".indexOf(t)?\"secp256k1\":-1!==\"|secp224r1|NIST P-224|P-224|\".indexOf(t)?\"secp224r1\":-1!==\"|secp384r1|NIST P-384|P-384|\".indexOf(t)?\"secp384r1\":null},void 0!==Sr&&Sr||(e.KJUR=Sr={}),void 0!==Sr.crypto&&Sr.crypto||(Sr.crypto={}),Sr.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new w(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw\"unregistered EC curve name: \"+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new Ke(p,v,y),b=S.decodePointHex(\"04\"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=b,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var w=0;w=2*u)break}var f={};return f.keyhex=c.substr(0,2*i[e].keylen),f.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),f},a=function t(e,r,n,o){var s=v.enc.Base64.parse(e),a=v.enc.Hex.stringify(s);return(0,i[r].proc)(a,n,o)};return{version:\"1.0.0\",parsePKCS5PEM:function t(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function t(e,r,n){return s(e,r,n)},decryptKeyB64:function t(e,r,n,i){return a(e,r,n,i)},getDecryptedKeyHex:function t(e,r){var n=o(e),i=(n.type,n.cipher),u=n.ivsalt,c=n.data,h=s(i,r,u).keyhex;return a(c,i,h,u)},getEncryptedPKCS5PEMFromPrvKeyHex:function t(e,r,n,o,a){var u=\"\";if(void 0!==o&&null!=o||(o=\"AES-256-CBC\"),void 0===i[o])throw new Error(\"KEYUTIL unsupported algorithm: \"+o);void 0!==a&&null!=a||(a=function t(e){var r=v.lib.WordArray.random(e);return v.enc.Hex.stringify(r)}(i[o].ivlen).toUpperCase());var c=function t(e,r,n,o){return(0,i[r].eproc)(e,n,o)}(r,o,s(o,n,a).keyhex,a);u=\"-----BEGIN \"+e+\" PRIVATE KEY-----\\r\\n\";return u+=\"Proc-Type: 4,ENCRYPTED\\r\\n\",u+=\"DEK-Info: \"+o+\",\"+a+\"\\r\\n\",u+=\"\\r\\n\",u+=c.replace(/(.{64})/g,\"$1\\r\\n\"),u+=\"\\r\\n-----END \"+e+\" PRIVATE KEY-----\\r\\n\"},parseHexOfEncryptedPKCS8:function t(e){var r=Fr,n=r.getChildIdx,i=r.getV,o={},s=n(e,0);if(2!=s.length)throw new Error(\"malformed format: SEQUENCE(0).items != 2: \"+s.length);o.ciphertext=i(e,s[1]);var a=n(e,s[0]);if(2!=a.length)throw new Error(\"malformed format: SEQUENCE(0.0).items != 2: \"+a.length);if(\"2a864886f70d01050d\"!=i(e,a[0]))throw new Error(\"this only supports pkcs5PBES2\");var u=n(e,a[1]);if(2!=a.length)throw new Error(\"malformed format: SEQUENCE(0.0.1).items != 2: \"+u.length);var c=n(e,u[1]);if(2!=c.length)throw new Error(\"malformed format: SEQUENCE(0.0.1.1).items != 2: \"+c.length);if(\"2a864886f70d0307\"!=i(e,c[0]))throw\"this only supports TripleDES\";o.encryptionSchemeAlg=\"TripleDES\",o.encryptionSchemeIV=i(e,c[1]);var h=n(e,u[0]);if(2!=h.length)throw new Error(\"malformed format: SEQUENCE(0.0.1.0).items != 2: \"+h.length);if(\"2a864886f70d01050c\"!=i(e,h[0]))throw new Error(\"this only supports pkcs5PBKDF2\");var l=n(e,h[1]);if(l.length<2)throw new Error(\"malformed format: SEQUENCE(0.0.1.0.1).items < 2: \"+l.length);o.pbkdf2Salt=i(e,l[0]);var f=i(e,l[1]);try{o.pbkdf2Iter=parseInt(f,16)}catch(t){throw new Error(\"malformed format pbkdf2Iter: \"+f)}return o},getPBKDF2KeyHexFromParam:function t(e,r){var n=v.enc.Hex.parse(e.pbkdf2Salt),i=e.pbkdf2Iter,o=v.PBKDF2(r,n,{keySize:6,iterations:i});return v.enc.Hex.stringify(o)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function t(e,r){var n=Mr(e,\"ENCRYPTED PRIVATE KEY\"),i=this.parseHexOfEncryptedPKCS8(n),o=tn.getPBKDF2KeyHexFromParam(i,r),s={};s.ciphertext=v.enc.Hex.parse(i.ciphertext);var a=v.enc.Hex.parse(o),u=v.enc.Hex.parse(i.encryptionSchemeIV),c=v.TripleDES.decrypt(s,a,{iv:u});return v.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function t(e,r){var n=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,r);return this.getKeyFromPlainPrivatePKCS8Hex(n)},parsePlainPrivatePKCS8Hex:function t(e){var r=Fr,n=r.getChildIdx,i=r.getV,o={algparam:null};if(\"30\"!=e.substr(0,2))throw new Error(\"malformed plain PKCS8 private key(code:001)\");var s=n(e,0);if(s.length<3)throw new Error(\"malformed plain PKCS8 private key(code:002)\");if(\"30\"!=e.substr(s[1],2))throw new Error(\"malformed PKCS8 private key(code:003)\");var a=n(e,s[1]);if(2!=a.length)throw new Error(\"malformed PKCS8 private key(code:004)\");if(\"06\"!=e.substr(a[0],2))throw new Error(\"malformed PKCS8 private key(code:005)\");if(o.algoid=i(e,a[0]),\"06\"==e.substr(a[1],2)&&(o.algparam=i(e,a[1])),\"04\"!=e.substr(s[2],2))throw new Error(\"malformed PKCS8 private key(code:006)\");return o.keyidx=r.getVidx(e,s[2]),o},getKeyFromPlainPrivatePKCS8PEM:function t(e){var r=Mr(e,\"PRIVATE KEY\");return this.getKeyFromPlainPrivatePKCS8Hex(r)},getKeyFromPlainPrivatePKCS8Hex:function t(e){var r,n=this.parsePlainPrivatePKCS8Hex(e);if(\"2a864886f70d010101\"==n.algoid)r=new Me;else if(\"2a8648ce380401\"==n.algoid)r=new Sr.crypto.DSA;else{if(\"2a8648ce3d0201\"!=n.algoid)throw new Error(\"unsupported private key algorithm\");r=new Sr.crypto.ECDSA}return r.readPKCS8PrvKeyHex(e),r},_getKeyFromPublicPKCS8Hex:function t(e){var r,n=Fr.getVbyList(e,0,[0,0],\"06\");if(\"2a864886f70d010101\"===n)r=new Me;else if(\"2a8648ce380401\"===n)r=new Sr.crypto.DSA;else{if(\"2a8648ce3d0201\"!==n)throw new Error(\"unsupported PKCS#8 public key hex\");r=new Sr.crypto.ECDSA}return r.readPKCS8PubKeyHex(e),r},parsePublicRawRSAKeyHex:function t(e){var r=Fr,n=r.getChildIdx,i=r.getV,o={};if(\"30\"!=e.substr(0,2))throw new Error(\"malformed RSA key(code:001)\");var s=n(e,0);if(2!=s.length)throw new Error(\"malformed RSA key(code:002)\");if(\"02\"!=e.substr(s[0],2))throw new Error(\"malformed RSA key(code:003)\");if(o.n=i(e,s[0]),\"02\"!=e.substr(s[1],2))throw new Error(\"malformed RSA key(code:004)\");return o.e=i(e,s[1]),o},parsePublicPKCS8Hex:function t(e){var r=Fr,n=r.getChildIdx,i=r.getV,o={algparam:null},s=n(e,0);if(2!=s.length)throw new Error(\"outer DERSequence shall have 2 elements: \"+s.length);var a=s[0];if(\"30\"!=e.substr(a,2))throw new Error(\"malformed PKCS8 public key(code:001)\");var u=n(e,a);if(2!=u.length)throw new Error(\"malformed PKCS8 public key(code:002)\");if(\"06\"!=e.substr(u[0],2))throw new Error(\"malformed PKCS8 public key(code:003)\");if(o.algoid=i(e,u[0]),\"06\"==e.substr(u[1],2)?o.algparam=i(e,u[1]):\"30\"==e.substr(u[1],2)&&(o.algparam={},o.algparam.p=r.getVbyList(e,u[1],[0],\"02\"),o.algparam.q=r.getVbyList(e,u[1],[1],\"02\"),o.algparam.g=r.getVbyList(e,u[1],[2],\"02\")),\"03\"!=e.substr(s[1],2))throw new Error(\"malformed PKCS8 public key(code:004)\");return o.key=i(e,s[1]).substr(2),o}}}();tn.getKey=function(t,e,r){var n=(v=Fr).getChildIdx,i=(v.getV,v.getVbyList),o=Sr.crypto,s=o.ECDSA,a=o.DSA,u=Me,c=Mr,h=tn;if(void 0!==u&&t instanceof u)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(t.n,t.e),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(P=new u).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(P=new u).setPrivate(t.n,t.e,t.d),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(P=new a).setPublic(t.p,t.q,t.g,t.y),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(P=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(Rr(t.n),Rr(t.e)),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(P=new u).setPrivateEx(Rr(t.n),Rr(t.e),Rr(t.d),Rr(t.p),Rr(t.q),Rr(t.dp),Rr(t.dq),Rr(t.qi)),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(P=new u).setPrivate(Rr(t.n),Rr(t.e),Rr(t.d)),P;if(\"EC\"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var l=(k=new s({curve:t.crv})).ecparams.keylen/4,f=\"04\"+(\"0000000000\"+Rr(t.x)).slice(-l)+(\"0000000000\"+Rr(t.y)).slice(-l);return k.setPublicKeyHex(f),k}if(\"EC\"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){l=(k=new s({curve:t.crv})).ecparams.keylen/4,f=\"04\"+(\"0000000000\"+Rr(t.x)).slice(-l)+(\"0000000000\"+Rr(t.y)).slice(-l);var g=(\"0000000000\"+Rr(t.d)).slice(-l);return k.setPublicKeyHex(f),k.setPrivateKeyHex(g),k}if(\"pkcs5prv\"===r){var d,p=t,v=Fr;if(9===(d=n(p,0)).length)(P=new u).readPKCS5PrvKeyHex(p);else if(6===d.length)(P=new a).readPKCS5PrvKeyHex(p);else{if(!(d.length>2&&\"04\"===p.substr(d[1],2)))throw new Error(\"unsupported PKCS#1/5 hexadecimal key\");(P=new s).readPKCS5PrvKeyHex(p)}return P}if(\"pkcs8prv\"===r)return P=h.getKeyFromPlainPrivatePKCS8Hex(t);if(\"pkcs8pub\"===r)return h._getKeyFromPublicPKCS8Hex(t);if(\"x509pub\"===r)return on.getPublicKeyFromCertHex(t);if(-1!=t.indexOf(\"-END CERTIFICATE-\",0)||-1!=t.indexOf(\"-END X509 CERTIFICATE-\",0)||-1!=t.indexOf(\"-END TRUSTED CERTIFICATE-\",0))return on.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf(\"-END PUBLIC KEY-\")){var y=Mr(t,\"PUBLIC KEY\");return h._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf(\"-END RSA PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){var m=c(t,\"RSA PRIVATE KEY\");return h.getKey(m,null,\"pkcs5prv\")}if(-1!=t.indexOf(\"-END DSA PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){var _=i(R=c(t,\"DSA PRIVATE KEY\"),0,[1],\"02\"),S=i(R,0,[2],\"02\"),b=i(R,0,[3],\"02\"),F=i(R,0,[4],\"02\"),E=i(R,0,[5],\"02\");return(P=new a).setPrivate(new w(_,16),new w(S,16),new w(b,16),new w(F,16),new w(E,16)),P}if(-1!=t.indexOf(\"-END EC PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){m=c(t,\"EC PRIVATE KEY\");return h.getKey(m,null,\"pkcs5prv\")}if(-1!=t.indexOf(\"-END PRIVATE KEY-\"))return h.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf(\"-END RSA PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var x=h.getDecryptedKeyHex(t,e),A=new Me;return A.readPKCS5PrvKeyHex(x),A}if(-1!=t.indexOf(\"-END EC PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var k,P=i(R=h.getDecryptedKeyHex(t,e),0,[1],\"04\"),C=i(R,0,[2,0],\"06\"),T=i(R,0,[3,0],\"03\").substr(2);if(void 0===Sr.crypto.OID.oidhex2name[C])throw new Error(\"undefined OID(hex) in KJUR.crypto.OID: \"+C);return(k=new s({curve:Sr.crypto.OID.oidhex2name[C]})).setPublicKeyHex(T),k.setPrivateKeyHex(P),k.isPublic=!1,k}if(-1!=t.indexOf(\"-END DSA PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var R;_=i(R=h.getDecryptedKeyHex(t,e),0,[1],\"02\"),S=i(R,0,[2],\"02\"),b=i(R,0,[3],\"02\"),F=i(R,0,[4],\"02\"),E=i(R,0,[5],\"02\");return(P=new a).setPrivate(new w(_,16),new w(S,16),new w(b,16),new w(F,16),new w(E,16)),P}if(-1!=t.indexOf(\"-END ENCRYPTED PRIVATE KEY-\"))return h.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error(\"not supported argument\")},tn.generateKeypair=function(t,e){if(\"RSA\"==t){var r=e;(s=new Me).generate(r,\"10001\"),s.isPrivate=!0,s.isPublic=!0;var n=new Me,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if(\"EC\"==t){var s,a,u=e,c=new Sr.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new Sr.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new Sr.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw new Error(\"unknown algorithm: \"+t)},tn.getPEM=function(t,e,r,n,i,o){var s=Sr,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=Me;function y(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:[\"a0\",!0,{oid:{name:t.curveName}}]},{tag:[\"a1\",!0,{bitstr:{hex:\"00\"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||\"PKCS8PUB\"==e))return jr(F=new l(t).getEncodedHex(),\"PUBLIC KEY\");if(\"PKCS1PRV\"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return jr(F=y(t).getEncodedHex(),\"RSA PRIVATE KEY\");if(\"PKCS1PRV\"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),b=m(t).getEncodedHex(),w=\"\";return w+=jr(S,\"EC PARAMETERS\"),w+=jr(b,\"EC PRIVATE KEY\")}if(\"PKCS1PRV\"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return jr(F=_(t).getEncodedHex(),\"DSA PRIVATE KEY\");if(\"PKCS5PRV\"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=y(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"RSA\",F,r,n,o)}if(\"PKCS5PRV\"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate){F=m(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"EC\",F,r,n,o)}if(\"PKCS5PRV\"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate){F=_(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"DSA\",F,r,n,o)}var E=function t(e,r){var n=x(e,r);return new h({seq:[{seq:[{oid:{name:\"pkcs5PBES2\"}},{seq:[{seq:[{oid:{name:\"pkcs5PBKDF2\"}},{seq:[{octstr:{hex:n.pbkdf2Salt}},{int:n.pbkdf2Iter}]}]},{seq:[{oid:{name:\"des-EDE3-CBC\"}},{octstr:{hex:n.encryptionSchemeIV}}]}]}]},{octstr:{hex:n.ciphertext}}]}).getEncodedHex()},x=function t(e,r){var n=v.lib.WordArray.random(8),i=v.lib.WordArray.random(8),o=v.PBKDF2(r,n,{keySize:6,iterations:100}),s=v.enc.Hex.parse(e),a=v.TripleDES.encrypt(s,o,{iv:i})+\"\",u={};return u.ciphertext=a,u.pbkdf2Salt=v.enc.Hex.stringify(n),u.pbkdf2Iter=100,u.encryptionSchemeAlg=\"DES-EDE3-CBC\",u.encryptionSchemeIV=v.enc.Hex.stringify(i),u};if(\"PKCS8PRV\"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=y(t).getEncodedHex();F=h({seq:[{int:0},{seq:[{oid:{name:\"rsaEncryption\"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?jr(F,\"PRIVATE KEY\"):jr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}if(\"PKCS8PRV\"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate){A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:[\"a1\",!0,{bitstr:{hex:\"00\"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:\"ecPublicKey\"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?jr(F,\"PRIVATE KEY\"):jr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}if(\"PKCS8PRV\"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:\"dsa\"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?jr(F,\"PRIVATE KEY\"):jr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}throw new Error(\"unsupported object nor format\")},tn.getKeyFromCSRPEM=function(t){var e=Mr(t,\"CERTIFICATE REQUEST\");return tn.getKeyFromCSRHex(e)},tn.getKeyFromCSRHex=function(t){var e=tn.parseCSRHex(t);return tn.getKey(e.p8pubkeyhex,null,\"pkcs8pub\")},tn.parseCSRHex=function(t){var e=Fr,r=e.getChildIdx,n=e.getTLV,i={},o=t;if(\"30\"!=o.substr(0,2))throw new Error(\"malformed CSR(code:001)\");var s=r(o,0);if(s.length<1)throw new Error(\"malformed CSR(code:002)\");if(\"30\"!=o.substr(s[0],2))throw new Error(\"malformed CSR(code:003)\");var a=r(o,s[0]);if(a.length<3)throw new Error(\"malformed CSR(code:004)\");return i.p8pubkeyhex=n(o,a[2]),i},tn.getKeyID=function(t){var e=tn,r=Fr;\"string\"==typeof t&&-1!=t.indexOf(\"BEGIN \")&&(t=e.getKey(t));var n=Mr(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return Sr.crypto.Util.hashHex(o,\"sha1\")},tn.getJWKFromKey=function(t){var e={};if(t instanceof Me&&t.isPrivate)return e.kty=\"RSA\",e.n=Tr(t.n.toString(16)),e.e=Tr(t.e.toString(16)),e.d=Tr(t.d.toString(16)),e.p=Tr(t.p.toString(16)),e.q=Tr(t.q.toString(16)),e.dp=Tr(t.dmp1.toString(16)),e.dq=Tr(t.dmq1.toString(16)),e.qi=Tr(t.coeff.toString(16)),e;if(t instanceof Me&&t.isPublic)return e.kty=\"RSA\",e.n=Tr(t.n.toString(16)),e.e=Tr(t.e.toString(16)),e;if(t instanceof Sr.crypto.ECDSA&&t.isPrivate){if(\"P-256\"!==(n=t.getShortNISTPCurveName())&&\"P-384\"!==n)throw new Error(\"unsupported curve name for JWT: \"+n);var r=t.getPublicKeyXYHex();return e.kty=\"EC\",e.crv=n,e.x=Tr(r.x),e.y=Tr(r.y),e.d=Tr(t.prvKeyHex),e}if(t instanceof Sr.crypto.ECDSA&&t.isPublic){var n;if(\"P-256\"!==(n=t.getShortNISTPCurveName())&&\"P-384\"!==n)throw new Error(\"unsupported curve name for JWT: \"+n);r=t.getPublicKeyXYHex();return e.kty=\"EC\",e.crv=n,e.x=Tr(r.x),e.y=Tr(r.y),e}throw new Error(\"not supported key object\")},Me.getPosArrayOfChildrenFromHex=function(t){return Fr.getChildIdx(t,0)},Me.getHexValueArrayOfChildrenFromHex=function(t){var e,r=Fr.getV,n=r(t,(e=Me.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},Me.prototype.readPrivateKeyFromPEMString=function(t){var e=Mr(t),r=Me.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},Me.prototype.readPKCS5PrvKeyHex=function(t){var e=Me.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},Me.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=Fr,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error(\"not ASN.1 hex string\");try{e=h(t,0,[2,0,1],\"02\"),r=h(t,0,[2,0,2],\"02\"),n=h(t,0,[2,0,3],\"02\"),i=h(t,0,[2,0,4],\"02\"),o=h(t,0,[2,0,5],\"02\"),s=h(t,0,[2,0,6],\"02\"),a=h(t,0,[2,0,7],\"02\"),u=h(t,0,[2,0,8],\"02\")}catch(t){throw new Error(\"malformed PKCS#8 plain RSA private key\")}this.setPrivateEx(e,r,n,i,o,s,a,u)},Me.prototype.readPKCS5PubKeyHex=function(t){var e=Fr,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error(\"keyHex is not ASN.1 hex string\");var n=e.getChildIdx(t,0);if(2!==n.length||\"02\"!==t.substr(n[0],2)||\"02\"!==t.substr(n[1],2))throw new Error(\"wrong hex for PKCS#5 public key\");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},Me.prototype.readPKCS8PubKeyHex=function(t){var e=Fr;if(!1===e.isASN1HEX(t))throw new Error(\"not ASN.1 hex string\");if(\"06092a864886f70d010101\"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error(\"not PKCS8 RSA public key\");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},Me.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new on).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};new RegExp(\"[^0-9a-f]\",\"gi\");function en(t,e){for(var r=\"\",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function nn(t){for(var e in Sr.crypto.Util.DIGESTINFOHEAD){var r=Sr.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function on(t){var e,r=Fr,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.getInt,d=r.oidname,p=r.hextooidstr,v=Mr;try{e=Sr.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={\"0c\":\"utf8\",13:\"prn\",16:\"ia5\",\"1a\":\"vis\",\"1e\":\"bmp\"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(null===this.hex||0!==this.version)return this.version;var t=u(this.hex,0,[0,0]);if(\"a0\"==t.substr(0,2)){var e=u(t,0,[0]),r=g(e,0);if(r<0||21){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);\"0101ff\"==c&&(i.reqauth=!0),\"010100\"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=l(this.hex,0,[0,\"[3]\"])&&(t=c(this.hex,0,[0,\"[3]\",0],\"30\")));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new Be).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Lr(u(Nr(\"\\0\\0\\0\\0\\0\\0\\0\\0\"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nn)return!1;var i=this.doPublic(r).toString(16);if(i.length+3!=n/4)return!1;var o=nn(i.replace(/^1f+00/,\"\"));if(0==o.length)return!1;var s=o[0];return o[1]==function t(e){return Sr.crypto.Util.hashString(e,s)}(t)},Me.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=Oe(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,\"\"));if(0==n.length)return!1;n[0];return n[1]==t},Me.prototype.verifyPSS=function(t,e,r,n){var i=function t(e){return Sr.crypto.Util.hashHex(e,r)}(Nr(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},Me.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new w(e,16),s=function t(e){return Sr.crypto.Util.hashHex(e,r)},a=Lr(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error(\"invalid salt length\");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error(\"bits beyond keysize not zero\");var p=rn(g,f.length,s),v=[];for(i=0;i0)&&-1==(\":\"+r.join(\":\")+\":\").indexOf(\":\"+v+\":\"))throw\"algorithm '\"+v+\"' not accepted in the list\";if(\"none\"!=v&&null===e)throw\"key shall be specified to verify.\";if(\"string\"==typeof e&&-1!=e.indexOf(\"-----BEGIN \")&&(e=tn.getKey(e)),!(\"RS\"!=y&&\"PS\"!=y||e instanceof n))throw\"key shall be a RSAKey obj for RS* and PS* algs\";if(\"ES\"==y&&!(e instanceof u))throw\"key shall be a ECDSA obj for ES* algs\";var m=null;if(void 0===o.jwsalg2sigalg[p.alg])throw\"unsupported alg name: \"+v;if(\"none\"==(m=o.jwsalg2sigalg[v]))throw\"not supported\";if(\"Hmac\"==m.substr(0,4)){if(void 0===e)throw\"hexadecimal key shall be specified for HMAC\";var _=new c({alg:m,pass:e});return _.updateString(f),d==_.doFinal()}if(-1!=m.indexOf(\"withECDSA\")){var S,b=null;try{b=u.concatSigToASN1Sig(d)}catch(t){return!1}return(S=new h({alg:m})).init(e),S.updateString(f),S.verify(b)}return(S=new h({alg:m})).init(e),S.updateString(f),S.verify(d)},Sr.jws.JWS.parse=function(t){var e,r,n,i=t.split(\".\"),o={};if(2!=i.length&&3!=i.length)throw\"malformed sJWS: wrong number of '.' splitted elements\";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=Sr.jws.JWS.readSafeJSONString(wr(e)),o.payloadObj=Sr.jws.JWS.readSafeJSONString(wr(r)),o.headerPP=JSON.stringify(o.headerObj,null,\" \"),null==o.payloadObj?o.payloadPP=wr(r):o.payloadPP=JSON.stringify(o.payloadObj,null,\" \"),void 0!==n&&(o.sigHex=Rr(n)),o},Sr.jws.JWS.verifyJWT=function(t,e,r){var n=Sr.jws,i=n.JWS,o=i.readSafeJSONString,s=i.inArray,a=i.includedArray,u=t.split(\".\"),c=u[0],h=u[1],l=(Rr(u[2]),o(wr(c))),f=o(wr(h));if(void 0===l.alg)return!1;if(void 0===r.alg)throw\"acceptField.alg shall be specified\";if(!s(l.alg,r.alg))return!1;if(void 0!==f.iss&&\"object\"===g(r.iss)&&!s(f.iss,r.iss))return!1;if(void 0!==f.sub&&\"object\"===g(r.sub)&&!s(f.sub,r.sub))return!1;if(void 0!==f.aud&&\"object\"===g(r.aud))if(\"string\"==typeof f.aud){if(!s(f.aud,r.aud))return!1}else if(\"object\"==g(f.aud)&&!a(f.aud,r.aud))return!1;var d=n.IntDate.getNow();return void 0!==r.verifyAt&&\"number\"==typeof r.verifyAt&&(d=r.verifyAt),void 0!==r.gracePeriod&&\"number\"==typeof r.gracePeriod||(r.gracePeriod=0),!(void 0!==f.exp&&\"number\"==typeof f.exp&&f.exp+r.gracePeriodr.length&&(n=r.length);for(var i=0;i\n * @license MIT\n */\nvar n=r(30),i=r(31),o=r(32);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+s().toString(16)+\" bytes\");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return K(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return q(t).length;default:if(n)return K(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return I(this,e,r);case\"utf8\":case\"utf-8\":return A(this,e,r);case\"ascii\":return T(this,e,r);case\"latin1\":case\"binary\":return R(this,e,r);case\"base64\":return x(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return D(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function f(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n0&&(r=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(r+=\" ... \")),\"\"},u.prototype.compare=function t(e,r,n,i,o){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError(\"out of range index\");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(i>>>=0),a=(n>>>=0)-(r>>>=0),c=Math.min(s,a),h=this.slice(i,o),l=e.slice(r,n),f=0;fo)&&(n=o),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");for(var s=!1;;)switch(i){case\"hex\":return _(this,e,r,n);case\"utf8\":case\"utf-8\":return S(this,e,r,n);case\"ascii\":return b(this,e,r,n);case\"latin1\":case\"binary\":return w(this,e,r,n);case\"base64\":return F(this,e,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return E(this,e,r,n);default:if(s)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),s=!0}},u.prototype.toJSON=function t(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function T(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",o=e;or)throw new RangeError(\"Trying to access beyond buffer length\")}function N(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function U(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function B(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function O(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function j(t,e,r,n,o){return o||O(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function M(t,e,r,n,o){return o||O(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function t(e,r){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(r=void 0===r?i:~~r)<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(o*=256);)i+=this[e+--r]*o;return i},u.prototype.readUInt8=function t(e,r){return r||L(e,1,this.length),this[e]},u.prototype.readUInt16LE=function t(e,r){return r||L(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function t(e,r){return r||L(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function t(e,r){return r||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function t(e,r){return r||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function t(e,r,n){e|=0,r|=0,n||L(e,r,this.length);for(var i=this[e],o=1,s=0;++s=(o*=128)&&(i-=Math.pow(2,8*r)),i},u.prototype.readIntBE=function t(e,r,n){e|=0,r|=0,n||L(e,r,this.length);for(var i=r,o=1,s=this[e+--i];i>0&&(o*=256);)s+=this[e+--i]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*r)),s},u.prototype.readInt8=function t(e,r){return r||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function t(e,r){r||L(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function t(e,r){r||L(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function t(e,r){return r||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function t(e,r){return r||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function t(e,r){return r||L(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function t(e,r){return r||L(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function t(e,r){return r||L(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function t(e,r){return r||L(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function t(e,r,n,i){(e=+e,r|=0,n|=0,i)||N(this,e,r,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[r]=255&e;++s=0&&(s*=256);)this[r+o]=e/s&255;return r+n},u.prototype.writeUInt8=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},u.prototype.writeUInt16LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},u.prototype.writeUInt16BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},u.prototype.writeUInt32LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):B(this,e,r,!0),r+4},u.prototype.writeUInt32BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):B(this,e,r,!1),r+4},u.prototype.writeIntLE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);N(this,e,r,n,o-1,-o)}var s=0,a=1,u=0;for(this[r]=255&e;++s>0)-u&255;return r+n},u.prototype.writeIntBE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);N(this,e,r,n,o-1,-o)}var s=n-1,a=1,u=0;for(this[r+s]=255&e;--s>=0&&(a*=256);)e<0&&0===u&&0!==this[r+s+1]&&(u=1),this[r+s]=(e/a>>0)-u&255;return r+n},u.prototype.writeInt8=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},u.prototype.writeInt16LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},u.prototype.writeInt16BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},u.prototype.writeInt32LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):B(this,e,r,!0),r+4},u.prototype.writeInt32BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):B(this,e,r,!1),r+4},u.prototype.writeFloatLE=function t(e,r,n){return j(this,e,r,!0,n)},u.prototype.writeFloatBE=function t(e,r,n){return j(this,e,r,!1,n)},u.prototype.writeDoubleLE=function t(e,r,n){return M(this,e,r,!0,n)},u.prototype.writeDoubleBE=function t(e,r,n){return M(this,e,r,!1,n)},u.prototype.copy=function t(e,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError(\"sourceStart out of bounds\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),e.length-r=0;--o)e[o+r]=this[o+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(s=r;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){return n.toByteArray(function e(t){if((t=function e(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}(t).replace(H,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function J(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(r=window)}t.exports=r},function(t,e,r){\"use strict\";e.byteLength=function n(t){var e=f(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function i(t){var e,r,n=f(t),i=n[0],o=n[1],s=new u(function c(t,e,r){return 3*(e+r)/4-r}(0,i,o)),h=0,l=o>0?i-4:i;for(r=0;r>16&255,s[h++]=e>>8&255,s[h++]=255&e;2===o&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,s[h++]=255&e);1===o&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,s[h++]=e>>8&255,s[h++]=255&e);return s},e.fromByteArray=function o(t){for(var e,r=t.length,n=r%3,i=[],o=16383,a=0,u=r-n;au?u:a+o));1===n?(e=t[r-1],i.push(s[e>>2]+s[e<<4&63]+\"==\")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(s[e>>10]+s[e>>4&63]+s[e<<2&63]+\"=\"));return i.join(\"\")};for(var s=[],a=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,c=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",h=0,l=c.length;h0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function g(t,e,r){for(var n,i,o=[],a=e;a>18&63]+s[i>>12&63]+s[i>>6&63]+s[63&i]);return o.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},function(t,e){\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\ne.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==r.call(t)}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function n(t){var e=t.jws,r=t.KeyUtil,n=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return t.parseJwt=function t(r){i.Log.debug(\"JoseUtil.parseJwt\");try{var n=e.JWS.parse(r);return{header:n.headerObj,payload:n.payloadObj}}catch(t){i.Log.error(t)}},t.validateJwt=function e(o,s,u,c,h,l,f){i.Log.debug(\"JoseUtil.validateJwt\");try{if(\"RSA\"===s.kty)if(s.e&&s.n)s=r.getKey(s);else{if(!s.x5c||!s.x5c.length)return i.Log.error(\"JoseUtil.validateJwt: RSA key missing key material\",s),Promise.reject(new Error(\"RSA key missing key material\"));var g=a(s.x5c[0]);s=n.getPublicKeyFromCertHex(g)}else{if(\"EC\"!==s.kty)return i.Log.error(\"JoseUtil.validateJwt: Unsupported key type\",s&&s.kty),Promise.reject(new Error(s.kty));if(!(s.crv&&s.x&&s.y))return i.Log.error(\"JoseUtil.validateJwt: EC key missing key material\",s),Promise.reject(new Error(\"EC key missing key material\"));s=r.getKey(s)}return t._validateJwt(o,s,u,c,h,l,f)}catch(t){return i.Log.error(t&&t.message||t),Promise.reject(\"JWT validation failed\")}},t.validateJwtAttributes=function e(r,n,o,s,a,u){s||(s=0),a||(a=parseInt(Date.now()/1e3));var c=t.parseJwt(r).payload;if(!c.iss)return i.Log.error(\"JoseUtil._validateJwt: issuer was not provided\"),Promise.reject(new Error(\"issuer was not provided\"));if(c.iss!==n)return i.Log.error(\"JoseUtil._validateJwt: Invalid issuer in token\",c.iss),Promise.reject(new Error(\"Invalid issuer in token: \"+c.iss));if(!c.aud)return i.Log.error(\"JoseUtil._validateJwt: aud was not provided\"),Promise.reject(new Error(\"aud was not provided\"));if(!(c.aud===o||Array.isArray(c.aud)&&c.aud.indexOf(o)>=0))return i.Log.error(\"JoseUtil._validateJwt: Invalid audience in token\",c.aud),Promise.reject(new Error(\"Invalid audience in token: \"+c.aud));if(c.azp&&c.azp!==o)return i.Log.error(\"JoseUtil._validateJwt: Invalid azp in token\",c.azp),Promise.reject(new Error(\"Invalid azp in token: \"+c.azp));if(!u){var h=a+s,l=a-s;if(!c.iat)return i.Log.error(\"JoseUtil._validateJwt: iat was not provided\"),Promise.reject(new Error(\"iat was not provided\"));if(h1&&void 0!==arguments[1]?arguments[1]:\"#\";o(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:\"expires_in\",get:function t(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function t(e){var r=parseInt(e);if(\"number\"==typeof r&&r>0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:\"expired\",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:\"scopes\",get:function t(){return(this.scope||\"\").split(\" \")}},{key:\"isOpenIdConnect\",get:function t(){return this.scopes.indexOf(\"openid\")>=0||!!this.id_token}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function l(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!r)throw n.Log.error(\"SignoutRequest.ctor: No url passed\"),new Error(\"url\");for(var f in s&&(r=i.UrlUtility.addQueryParam(r,\"id_token_hint\",s)),a&&(r=i.UrlUtility.addQueryParam(r,\"post_logout_redirect_uri\",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,\"state\",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,f,c[f]);this.url=r}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=n.UrlUtility.parseUrlFragment(e,\"?\");this.error=i.error,this.error_description=i.error_description,this.error_uri=i.error_uri,this.state=i.state}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,y=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;p(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var m=v(this,t.call(this,r));return m._events=new u.UserManagerEvents(r),m._silentRenewService=new n(m),m.settings.automaticSilentRenew&&(i.Log.debug(\"UserManager.ctor: automaticSilentRenew is configured, setting up silent renew\"),m.startSilentRenew()),m.settings.monitorSession&&(i.Log.debug(\"UserManager.ctor: monitorSession is configured, setting up session monitor\"),m._sessionMonitor=new o(m)),m._tokenRevocationClient=new a(m._settings),m._tokenClient=new l(m._settings),m._joseUtil=y,m}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function t(){var e=this;return this._loadUser().then((function(t){return t?(i.Log.info(\"UserManager.getUser: user loaded\"),e._events.load(t,!1),t):(i.Log.info(\"UserManager.getUser: user not found in storage\"),null)}))},e.prototype.removeUser=function t(){var e=this;return this.storeUser(null).then((function(){i.Log.info(\"UserManager.removeUser: user removed from storage\"),e._events.unload()}))},e.prototype.signinRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"si:r\";var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,r).then((function(){i.Log.info(\"UserManager.signinRedirect: successful\")}))},e.prototype.signinRedirectCallback=function t(e){return this._signinEnd(e||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinRedirectCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinRedirectCallback: no sub\"),t}))},e.prototype.signinPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"si:p\";var r=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.display=\"popup\",this._signin(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinPopup: signinPopup successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinPopup: no sub\")),t}))):(i.Log.error(\"UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured\"),Promise.reject(new Error(\"No popup_redirect_uri or redirect_uri configured\")))},e.prototype.signinPopupCallback=function t(e){return this._signinCallback(e,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinPopupCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinPopupCallback: no sub\")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return r=Object.assign({},r),this._loadUser().then((function(t){return t&&t.refresh_token?(r.refresh_token=t.refresh_token,e._useRefreshToken(r)):(r.request_type=\"si:s\",r.id_token_hint=r.id_token_hint||e.settings.includeIdTokenInSilentRenew&&t&&t.id_token,t&&e._settings.validateSubOnSilentRenew&&(i.Log.debug(\"UserManager.signinSilent, subject prior to silent renew: \",t.profile.sub),r.current_sub=t.profile.sub),e._signinSilentIframe(r))}))},e.prototype._useRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(r).then((function(t){return t?t.access_token?e._loadUser().then((function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then((function(){return i.Log.debug(\"UserManager._useRefreshToken: refresh token response success\"),r.id_token=t.id_token||r.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then((function(){return e._events.load(r),r}))}))}return null})):(i.Log.error(\"UserManager._useRefreshToken: No access token returned from token endpoint\"),Promise.reject(\"No access token returned from token endpoint\")):(i.Log.error(\"UserManager._useRefreshToken: No response returned from token endpoint\"),Promise.reject(\"No response returned from token endpoint\"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function t(e,r){var n=this;return this._metadataService.getIssuer().then((function(t){return n.settings.getEpochTime().then((function(o){return n._joseUtil.validateJwtAttributes(r,t,n._settings.client_id,n._settings.clockSkew,o).then((function(t){return t?t.sub!==e.sub?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub\"),Promise.reject(new Error(\"sub in id_token does not match current sub\"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time\"),Promise.reject(new Error(\"auth_time in id_token does not match original auth_time\"))):t.azp&&t.azp!==e.azp?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp\"),Promise.reject(new Error(\"azp in id_token does not match original azp\"))):!t.azp&&e.azp?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token\"),Promise.reject(new Error(\"azp not in id_token, but present in original id_token\"))):void 0:(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token\"),Promise.reject(new Error(\"Failed to validate id_token\")))}))}))}))},e.prototype._signinSilentIframe=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt=e.prompt||\"none\",this._signin(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinSilent: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinSilent: no sub\")),t}))):(i.Log.error(\"UserManager.signinSilent: No silent_redirect_uri configured\"),Promise.reject(new Error(\"No silent_redirect_uri configured\")))},e.prototype.signinSilentCallback=function t(e){return this._signinCallback(e,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinSilentCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinSilentCallback: no sub\")),t}))},e.prototype.signinCallback=function t(e){var r=this;return this.readSigninResponseState(e).then((function(t){var n=t.state;t.response;return\"si:r\"===n.request_type?r.signinRedirectCallback(e):\"si:p\"===n.request_type?r.signinPopupCallback(e):\"si:s\"===n.request_type?r.signinSilentCallback(e):Promise.reject(new Error(\"invalid response_type in state\"))}))},e.prototype.signoutCallback=function t(e,r){var n=this;return this.readSignoutResponseState(e).then((function(t){var i=t.state,o=t.response;return i?\"so:r\"===i.request_type?n.signoutRedirectCallback(e):\"so:p\"===i.request_type?n.signoutPopupCallback(e,r):Promise.reject(new Error(\"invalid response_type in state\")):o}))},e.prototype.querySessionStatus=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).request_type=\"si:s\";var n=r.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return n?(r.redirect_uri=n,r.prompt=\"none\",r.response_type=r.response_type||this.settings.query_status_response_type,r.scope=r.scope||\"openid\",r.skipUserInfo=!0,this._signinStart(r,this._iframeNavigator,{startUrl:n,silentRequestTimeout:r.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return e.processSigninResponse(t.url).then((function(t){if(i.Log.debug(\"UserManager.querySessionStatus: got signin response\"),t.session_state&&t.profile.sub)return i.Log.info(\"UserManager.querySessionStatus: querySessionStatus success for sub: \",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info(\"querySessionStatus successful, user not authenticated\")})).catch((function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&(\"login_required\"==t.message||\"consent_required\"==t.message||\"interaction_required\"==t.message||\"account_selection_required\"==t.message))return i.Log.info(\"UserManager.querySessionStatus: querySessionStatus success for anonymous user\"),{session_state:t.session_state};throw t}))}))):(i.Log.error(\"UserManager.querySessionStatus: No silent_redirect_uri configured\"),Promise.reject(new Error(\"No silent_redirect_uri configured\")))},e.prototype._signin=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,r,i).then((function(t){return n._signinEnd(t.url,e)}))},e.prototype._signinStart=function t(e,r){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.prepare(o).then((function(t){return i.Log.debug(\"UserManager._signinStart: got navigator window handle\"),n.createSigninRequest(e).then((function(e){return i.Log.debug(\"UserManager._signinStart: got signin request\"),o.url=e.url,o.id=e.state.id,t.navigate(o)})).catch((function(e){throw t.close&&(i.Log.debug(\"UserManager._signinStart: Error after preparing navigator, closing navigator window\"),t.close()),e}))}))},e.prototype._signinEnd=function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then((function(t){i.Log.debug(\"UserManager._signinEnd: got signin response\");var e=new a.User(t);if(n.current_sub){if(n.current_sub!==e.profile.sub)return i.Log.debug(\"UserManager._signinEnd: current user does not match user returned from signin. sub from signin: \",e.profile.sub),Promise.reject(new Error(\"login_required\"));i.Log.debug(\"UserManager._signinEnd: current user matches user returned from signin\")}return r.storeUser(e).then((function(){return i.Log.debug(\"UserManager._signinEnd: user stored\"),r._events.load(e),e}))}))},e.prototype._signinCallback=function t(e,r){i.Log.debug(\"UserManager._signinCallback\");var n=\"query\"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?\"?\":\"#\";return r.callback(e,void 0,n)},e.prototype.signoutRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"so:r\";var r=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;r&&(e.post_logout_redirect_uri=r);var n={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,n).then((function(){i.Log.info(\"UserManager.signoutRedirect: successful\")}))},e.prototype.signoutRedirectCallback=function t(e){return this._signoutEnd(e||this._redirectNavigator.url).then((function(t){return i.Log.info(\"UserManager.signoutRedirectCallback: successful\"),t}))},e.prototype.signoutPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"so:p\";var r=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=r,e.display=\"popup\",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info(\"UserManager.signoutPopup: successful\")}))},e.prototype.signoutPopupCallback=function t(e,r){void 0===r&&\"boolean\"==typeof e&&(r=e,e=null);return this._popupNavigator.callback(e,r,\"?\").then((function(){i.Log.info(\"UserManager.signoutPopupCallback: successful\")}))},e.prototype._signout=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,r,i).then((function(t){return n._signoutEnd(t.url)}))},e.prototype._signoutStart=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this,n=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.prepare(o).then((function(t){return i.Log.debug(\"UserManager._signoutStart: got navigator window handle\"),r._loadUser().then((function(n){return i.Log.debug(\"UserManager._signoutStart: loaded current user from storage\"),(r._settings.revokeAccessTokenOnSignout?r._revokeInternal(n):Promise.resolve()).then((function(){var s=e.id_token_hint||n&&n.id_token;return s&&(i.Log.debug(\"UserManager._signoutStart: Setting id_token into signout request\"),e.id_token_hint=s),r.removeUser().then((function(){return i.Log.debug(\"UserManager._signoutStart: user removed, creating signout request\"),r.createSignoutRequest(e).then((function(e){return i.Log.debug(\"UserManager._signoutStart: got signout request\"),o.url=e.url,e.state&&(o.id=e.state.id),t.navigate(o)}))}))}))})).catch((function(e){throw t.close&&(i.Log.debug(\"UserManager._signoutStart: Error after preparing navigator, closing navigator window\"),t.close()),e}))}))},e.prototype._signoutEnd=function t(e){return this.processSignoutResponse(e).then((function(t){return i.Log.debug(\"UserManager._signoutEnd: got signout response\"),t}))},e.prototype.revokeAccessToken=function t(){var e=this;return this._loadUser().then((function(t){return e._revokeInternal(t,!0).then((function(r){if(r)return i.Log.debug(\"UserManager.revokeAccessToken: removing token properties from user and re-storing\"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then((function(){i.Log.debug(\"UserManager.revokeAccessToken: user stored\"),e._events.load(t)}))}))})).then((function(){i.Log.info(\"UserManager.revokeAccessToken: access token revoked successfully\")}))},e.prototype._revokeInternal=function t(e,r){var n=this;if(e){var o=e.access_token,s=e.refresh_token;return this._revokeAccessTokenInternal(o,r).then((function(t){return n._revokeRefreshTokenInternal(s,r).then((function(e){return t||e||i.Log.debug(\"UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format\"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function t(e,r){return!e||e.indexOf(\".\")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,r).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function t(e,r){return e?this._tokenRevocationClient.revoke(e,r,\"refresh_token\").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function t(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function t(){this._silentRenewService.stop()},e.prototype._loadUser=function t(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug(\"UserManager._loadUser: user storageString loaded\"),a.User.fromStorageString(t)):(i.Log.debug(\"UserManager._loadUser: no user storageString\"),null)}))},e.prototype.storeUser=function t(e){if(e){i.Log.debug(\"UserManager.storeUser: storing user\");var r=e.toStorageString();return this._userStore.set(this._userStoreKey,r)}return i.Log.debug(\"storeUser.storeUser: removing user\"),this._userStore.remove(this._userStoreKey)},n(e,[{key:\"_redirectNavigator\",get:function t(){return this.settings.redirectNavigator}},{key:\"_popupNavigator\",get:function t(){return this.settings.popupNavigator}},{key:\"_iframeNavigator\",get:function t(){return this.settings.iframeNavigator}},{key:\"_userStore\",get:function t(){return this.settings.userStore}},{key:\"events\",get:function t(){return this._events}},{key:\"_userStoreKey\",get:function t(){return\"user:\"+this.settings.authority+\":\"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,g=r.popupWindowFeatures,d=r.popupWindowTarget,p=r.silent_redirect_uri,v=r.silentRequestTimeout,y=r.automaticSilentRenew,m=void 0!==y&&y,_=r.validateSubOnSilentRenew,S=void 0!==_&&_,b=r.includeIdTokenInSilentRenew,w=void 0===b||b,F=r.monitorSession,E=void 0===F||F,x=r.monitorAnonymousSession,A=void 0!==x&&x,k=r.checkSessionInterval,P=void 0===k?2e3:k,C=r.stopCheckSessionOnError,T=void 0===C||C,R=r.query_status_response_type,I=r.revokeAccessTokenOnSignout,D=void 0!==I&&I,L=r.accessTokenExpiringNotificationTime,N=void 0===L?60:L,U=r.redirectNavigator,B=void 0===U?new o.RedirectNavigator:U,O=r.popupNavigator,j=void 0===O?new s.PopupNavigator:O,M=r.iframeNavigator,H=void 0===M?new a.IFrameNavigator:M,V=r.userStore,K=void 0===V?new u.WebStorageStateStore({store:c.Global.sessionStorage}):V;l(this,e);var q=f(this,t.call(this,arguments[0]));return q._popup_redirect_uri=n,q._popup_post_logout_redirect_uri=i,q._popupWindowFeatures=g,q._popupWindowTarget=d,q._silent_redirect_uri=p,q._silentRequestTimeout=v,q._automaticSilentRenew=m,q._validateSubOnSilentRenew=S,q._includeIdTokenInSilentRenew=w,q._accessTokenExpiringNotificationTime=N,q._monitorSession=E,q._monitorAnonymousSession=A,q._checkSessionInterval=P,q._stopCheckSessionOnError=T,R?q._query_status_response_type=R:arguments[0]&&arguments[0].response_type?q._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?\"id_token\":\"code\":q._query_status_response_type=\"id_token\",q._revokeAccessTokenOnSignout=D,q._redirectNavigator=B,q._popupNavigator=j,q._iframeNavigator=H,q._userStore=K,q}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:\"popup_redirect_uri\",get:function t(){return this._popup_redirect_uri}},{key:\"popup_post_logout_redirect_uri\",get:function t(){return this._popup_post_logout_redirect_uri}},{key:\"popupWindowFeatures\",get:function t(){return this._popupWindowFeatures}},{key:\"popupWindowTarget\",get:function t(){return this._popupWindowTarget}},{key:\"silent_redirect_uri\",get:function t(){return this._silent_redirect_uri}},{key:\"silentRequestTimeout\",get:function t(){return this._silentRequestTimeout}},{key:\"automaticSilentRenew\",get:function t(){return this._automaticSilentRenew}},{key:\"validateSubOnSilentRenew\",get:function t(){return this._validateSubOnSilentRenew}},{key:\"includeIdTokenInSilentRenew\",get:function t(){return this._includeIdTokenInSilentRenew}},{key:\"accessTokenExpiringNotificationTime\",get:function t(){return this._accessTokenExpiringNotificationTime}},{key:\"monitorSession\",get:function t(){return this._monitorSession}},{key:\"monitorAnonymousSession\",get:function t(){return this._monitorAnonymousSession}},{key:\"checkSessionInterval\",get:function t(){return this._checkSessionInterval}},{key:\"stopCheckSessionOnError\",get:function t(){return this._stopCheckSessionOnError}},{key:\"query_status_response_type\",get:function t(){return this._query_status_response_type}},{key:\"revokeAccessTokenOnSignout\",get:function t(){return this._revokeAccessTokenOnSignout}},{key:\"redirectNavigator\",get:function t(){return this._redirectNavigator}},{key:\"popupNavigator\",get:function t(){return this._popupNavigator}},{key:\"iframeNavigator\",get:function t(){return this._iframeNavigator}},{key:\"userStore\",get:function t(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug(\"UserManagerEvents.load\"),t.prototype.load.call(this,r),i&&this._userLoaded.raise(r)},e.prototype.unload=function e(){n.Log.debug(\"UserManagerEvents.unload\"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function t(e){this._userLoaded.addHandler(e)},e.prototype.removeUserLoaded=function t(e){this._userLoaded.removeHandler(e)},e.prototype.addUserUnloaded=function t(e){this._userUnloaded.addHandler(e)},e.prototype.removeUserUnloaded=function t(e){this._userUnloaded.removeHandler(e)},e.prototype.addSilentRenewError=function t(e){this._silentRenewError.addHandler(e)},e.prototype.removeSilentRenewError=function t(e){this._silentRenewError.removeHandler(e)},e.prototype._raiseSilentRenewError=function t(e){n.Log.debug(\"UserManagerEvents._raiseSilentRenewError\",e.message),this._silentRenewError.raise(e)},e.prototype.addUserSignedIn=function t(e){this._userSignedIn.addHandler(e)},e.prototype.removeUserSignedIn=function t(e){this._userSignedIn.removeHandler(e)},e.prototype._raiseUserSignedIn=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSignedIn\"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function t(e){this._userSignedOut.addHandler(e)},e.prototype.removeUserSignedOut=function t(e){this._userSignedOut.removeHandler(e)},e.prototype._raiseUserSignedOut=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSignedOut\"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function t(e){this._userSessionChanged.addHandler(e)},e.prototype.removeUserSessionChanged=function t(e){this._userSessionChanged.removeHandler(e)},e.prototype._raiseUserSessionChanged=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSessionChanged\"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;a(this,e);var s=u(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function t(e){e<=0&&(e=1),e=parseInt(e);var r=this.now+e;if(this.expiration===r&&this._timerHandle)i.Log.debug(\"Timer.init timer \"+this._name+\" skipping initialization since already initialized for expiration:\",this.expiration);else{this.cancel(),i.Log.debug(\"Timer.init timer \"+this._name+\" for duration:\",e),this._expiration=r;var n=5;e 0) {\n args.push(str.lastIndexOf('/'));\n }\n if (str.lastIndexOf('#') > 0) {\n args.push(str.lastIndexOf('#'));\n }\n const i = Math.max(...args);\n return str.slice(i + 1);\n}\nfunction camelize(str) {\n var _a;\n const res = (_a = str\n .split(/[^a-z0-9]+/ig)\n .filter((s) => s !== '')\n .map((s) => s[0].toUpperCase() + s.slice(1))\n .join('')\n // Make sure the prefix does not start with a number\n .match(/[a-z][a-z0-9]+/ig)) === null || _a === void 0 ? void 0 : _a[0];\n // Include 'v' so we always return something matching the pattern\n // [a-z][a-z0-9]+\n return typeof res === 'undefined' ? undefined : res[0].toLowerCase() + res.slice(1);\n}\nfunction fragment(str) {\n let value = getFragment(str);\n value = value ? camelize(value) : undefined;\n return value || 'v';\n}\nexports.fragment = fragment;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lookupAllPrefixes = exports.prefixToUri = exports.uriToPrefix = void 0;\nconst fragment_1 = require(\"./fragment\");\nconst lookup_1 = require(\"./lookup\");\nfunction uriToPrefix(uri, options) {\n return __awaiter(this, void 0, void 0, function* () {\n let result;\n // Collect the prefix\n try {\n result = yield (0, lookup_1.lookupPrefix)(uri, options);\n }\n catch (_a) {\n if (options === null || options === void 0 ? void 0 : options.mintOnUnknown) {\n // Keep prefixes at most 4 characters long when minting a new one\n result = (0, fragment_1.fragment)(uri).slice(0, 4);\n }\n }\n // If there is a bank of existing prefixes make sure to make a unique one\n // by postfixing a number\n if (typeof result !== 'undefined'\n && typeof (options === null || options === void 0 ? void 0 : options.existingPrefixes) === 'object'\n && result in options.existingPrefixes) {\n let i = 0;\n while (`${result}${i}` in options.existingPrefixes) {\n i += 1;\n }\n result = `${result}${i}`;\n }\n return result;\n });\n}\nexports.uriToPrefix = uriToPrefix;\n/**\n * Lookup the namespace commonly associated with a given prefix\n * @param prefix The prefix to lookup the namespace for\n * @param options You can optionally pass a custom fetch function\n */\nfunction prefixToUri(prefix, options) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // The await needs to be here so that we can return undefined on rejection\n return yield (0, lookup_1.lookupUri)(prefix, options);\n }\n catch (_a) {\n return undefined;\n }\n });\n}\nexports.prefixToUri = prefixToUri;\nvar lookup_2 = require(\"./lookup\");\nObject.defineProperty(exports, \"lookupAllPrefixes\", { enumerable: true, get: function () { return lookup_2.lookupAllPrefixes; } });\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fetchContext = exports.fetchJson = void 0;\n// TODO: Use universal fetch here\nconst cross_fetch_1 = require(\"cross-fetch\");\nfunction fetchJson(url, options) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n // Select the correct fetch function\n const fetchFn = (_a = options === null || options === void 0 ? void 0 : options.fetch) !== null && _a !== void 0 ? _a : cross_fetch_1.fetch;\n return (yield fetchFn(url)).json();\n });\n}\nexports.fetchJson = fetchJson;\nfunction fetchContext(url, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return (yield fetchJson(url, options))['@context'];\n });\n}\nexports.fetchContext = fetchContext;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lookupNamespace\"), exports);\n__exportStar(require(\"./lookupPrefix\"), exports);\n__exportStar(require(\"./lookupAllPrefixes\"), exports);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lookupAllPrefixes = void 0;\nconst fetchContext_1 = require(\"./fetchContext\");\n/**\n * Use prefix.cc to look up all recorded prefixes\n */\nfunction lookupAllPrefixes(options) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, fetchContext_1.fetchContext)('https://prefix.cc/context', options);\n });\n}\nexports.lookupAllPrefixes = lookupAllPrefixes;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lookupUri = void 0;\nconst fetchContext_1 = require(\"./fetchContext\");\n/**\n * Use prefix.cc to look up the namespace associated with a given prefix.\n * Errors if one cannot be found.\n *\n * @param prefix The prefix of which to obtain the namespace\n * @param options Optional fetch function to use\n */\nfunction lookupUri(prefix, options) {\n return __awaiter(this, void 0, void 0, function* () {\n const uri = (yield (0, fetchContext_1.fetchContext)(`https://prefix.cc/${prefix}.file.jsonld`, options))[prefix];\n if (typeof uri !== 'string') {\n throw new Error(`Expected uri to be a string, received: ${uri} of type ${typeof uri}`);\n }\n return uri;\n });\n}\nexports.lookupUri = lookupUri;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lookupPrefix = void 0;\nconst fetchContext_1 = require(\"./fetchContext\");\n/**\n * Use prefix.cc to look up the prefix for a URI namespace, rejects if there is an error in\n * looking up the prefix, or if no prefixes are returned\n *\n * @param uri The URI to obtain a prefix for\n * @param options Optional fetch function to use\n */\nfunction lookupPrefix(uri, options) {\n return __awaiter(this, void 0, void 0, function* () {\n // Create the correct url to lookup including search parameters\n const url = new URL('https://prefix.cc/reverse');\n url.searchParams.append('uri', uri);\n url.searchParams.append('format', 'jsonld');\n const prefixes = Object.keys(yield (0, fetchContext_1.fetchContext)(url, options));\n if (prefixes.length === 0) {\n throw new Error('No prefixes returned');\n }\n return prefixes[0];\n });\n}\nexports.lookupPrefix = lookupPrefix;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringify = stringify;\nconst event_emitter_promisify_1 = require(\"event-emitter-promisify\");\nfunction stringify(ee) {\n return __awaiter(this, void 0, void 0, function* () {\n let str = '';\n ee.on('data', (chunk) => {\n str += chunk;\n });\n yield (0, event_emitter_promisify_1.promisifyEventEmitter)(ee);\n return str;\n });\n}\n","import { OidcClient, WebStorageStateStore } from '@inrupt/oidc-client';\nexport { CordovaIFrameNavigator, CordovaPopupNavigator, InMemoryWebStorage, Log, OidcClient, SessionMonitor, User, UserManager, Version, WebStorageStateStore } from '@inrupt/oidc-client';\nimport { determineSigningAlg, PREFERRED_SIGNING_ALG, getWebidFromTokenPayload, OidcProviderError, InvalidResponseError, generateDpopKeyPair, createDpopHeader, DEFAULT_SCOPES } from '@rubensworks/solid-client-authn-core';\n\nfunction processErrorResponse(responseBody, options) {\r\n var _a, _b, _c, _d;\r\n if (responseBody.error === \"invalid_redirect_uri\") {\r\n throw new Error(`Dynamic client registration failed: the provided redirect uri [${(_a = options.redirectUrl) === null || _a === void 0 ? void 0 : _a.toString()}] is invalid - ${(_b = responseBody.error_description) !== null && _b !== void 0 ? _b : \"\"}`);\r\n }\r\n if (responseBody.error === \"invalid_client_metadata\") {\r\n throw new Error(`Dynamic client registration failed: the provided client metadata ${JSON.stringify(options)} is invalid - ${(_c = responseBody.error_description) !== null && _c !== void 0 ? _c : \"\"}`);\r\n }\r\n throw new Error(`Dynamic client registration failed: ${responseBody.error} - ${(_d = responseBody.error_description) !== null && _d !== void 0 ? _d : \"\"}`);\r\n}\r\nfunction validateRegistrationResponse(responseBody, options) {\r\n if (responseBody.client_id === undefined) {\r\n throw new Error(`Dynamic client registration failed: no client_id has been found on ${JSON.stringify(responseBody)}`);\r\n }\r\n if (options.redirectUrl &&\r\n (responseBody.redirect_uris === undefined ||\r\n responseBody.redirect_uris[0] !== options.redirectUrl.toString())) {\r\n throw new Error(`Dynamic client registration failed: the returned redirect URIs ${JSON.stringify(responseBody.redirect_uris)} don't match the provided ${JSON.stringify([\r\n options.redirectUrl.toString(),\r\n ])}`);\r\n }\r\n}\r\nasync function registerClient(options, issuerConfig) {\r\n var _a;\r\n if (!issuerConfig.registrationEndpoint) {\r\n throw new Error(\"Dynamic Registration could not be completed because the issuer has no registration endpoint.\");\r\n }\r\n if (!Array.isArray(issuerConfig.idTokenSigningAlgValuesSupported)) {\r\n throw new Error(\"The OIDC issuer discovery profile is missing the 'id_token_signing_alg_values_supported' value, which is mandatory.\");\r\n }\r\n const signingAlg = determineSigningAlg(issuerConfig.idTokenSigningAlgValuesSupported, PREFERRED_SIGNING_ALG);\r\n const config = {\r\n client_name: options.clientName,\r\n application_type: \"web\",\r\n redirect_uris: [(_a = options.redirectUrl) === null || _a === void 0 ? void 0 : _a.toString()],\r\n subject_type: \"public\",\r\n token_endpoint_auth_method: \"client_secret_basic\",\r\n id_token_signed_response_alg: signingAlg,\r\n grant_types: [\"authorization_code\", \"refresh_token\"],\r\n };\r\n const headers = {\r\n \"Content-Type\": \"application/json\",\r\n };\r\n const registerResponse = await fetch(issuerConfig.registrationEndpoint.toString(), {\r\n method: \"POST\",\r\n headers,\r\n body: JSON.stringify(config),\r\n });\r\n if (registerResponse.ok) {\r\n const responseBody = await registerResponse.json();\r\n validateRegistrationResponse(responseBody, options);\r\n return {\r\n clientId: responseBody.client_id,\r\n clientSecret: responseBody.client_secret,\r\n idTokenSignedResponseAlg: responseBody.id_token_signed_response_alg,\r\n clientType: \"dynamic\",\r\n };\r\n }\r\n if (registerResponse.status === 400) {\r\n processErrorResponse(await registerResponse.json(), options);\r\n }\r\n throw new Error(`Dynamic client registration failed: the server returned ${registerResponse.status} ${registerResponse.statusText} - ${await registerResponse.text()}`);\r\n}\n\nfunction hasError(value) {\r\n return value.error !== undefined && typeof value.error === \"string\";\r\n}\r\nfunction hasErrorDescription(value) {\r\n return (value.error_description !== undefined &&\r\n typeof value.error_description === \"string\");\r\n}\r\nfunction hasErrorUri(value) {\r\n return value.error_uri !== undefined && typeof value.error_uri === \"string\";\r\n}\r\nfunction hasAccessToken(value) {\r\n return (value.access_token !== undefined && typeof value.access_token === \"string\");\r\n}\r\nfunction hasIdToken(value) {\r\n return value.id_token !== undefined && typeof value.id_token === \"string\";\r\n}\r\nfunction hasRefreshToken(value) {\r\n return (value.refresh_token !== undefined && typeof value.refresh_token === \"string\");\r\n}\r\nfunction hasTokenType(value) {\r\n return value.token_type !== undefined && typeof value.token_type === \"string\";\r\n}\r\nfunction hasExpiresIn(value) {\r\n return value.expires_in === undefined || typeof value.expires_in === \"number\";\r\n}\r\nfunction validatePreconditions(issuer, data) {\r\n if (data.grantType &&\r\n (!issuer.grantTypesSupported ||\r\n !issuer.grantTypesSupported.includes(data.grantType))) {\r\n throw new Error(`The issuer [${issuer.issuer}] does not support the [${data.grantType}] grant`);\r\n }\r\n if (!issuer.tokenEndpoint) {\r\n throw new Error(`This issuer [${issuer.issuer}] does not have a token endpoint`);\r\n }\r\n}\r\nfunction validateTokenEndpointResponse(tokenResponse, dpop) {\r\n if (hasError(tokenResponse)) {\r\n throw new OidcProviderError(`Token endpoint returned error [${tokenResponse.error}]${hasErrorDescription(tokenResponse)\r\n ? `: ${tokenResponse.error_description}`\r\n : \"\"}${hasErrorUri(tokenResponse) ? ` (see ${tokenResponse.error_uri})` : \"\"}`, tokenResponse.error, hasErrorDescription(tokenResponse)\r\n ? tokenResponse.error_description\r\n : undefined);\r\n }\r\n if (!hasAccessToken(tokenResponse)) {\r\n throw new InvalidResponseError([\"access_token\"]);\r\n }\r\n if (!hasIdToken(tokenResponse)) {\r\n throw new InvalidResponseError([\"id_token\"]);\r\n }\r\n if (!hasTokenType(tokenResponse)) {\r\n throw new InvalidResponseError([\"token_type\"]);\r\n }\r\n if (!hasExpiresIn(tokenResponse)) {\r\n throw new InvalidResponseError([\"expires_in\"]);\r\n }\r\n if (!dpop && tokenResponse.token_type.toLowerCase() !== \"bearer\") {\r\n throw new Error(`Invalid token endpoint response: requested a [Bearer] token, but got a 'token_type' value of [${tokenResponse.token_type}].`);\r\n }\r\n return tokenResponse;\r\n}\r\nasync function getTokens(issuer, client, data, dpop) {\r\n validatePreconditions(issuer, data);\r\n const headers = {\r\n \"content-type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let dpopKey;\r\n if (dpop) {\r\n dpopKey = await generateDpopKeyPair();\r\n headers.DPoP = await createDpopHeader(issuer.tokenEndpoint, \"POST\", dpopKey);\r\n }\r\n if (client.clientSecret) {\r\n headers.Authorization = `Basic ${btoa(`${client.clientId}:${client.clientSecret}`)}`;\r\n }\r\n const requestBody = {\r\n grant_type: data.grantType,\r\n redirect_uri: data.redirectUrl,\r\n code: data.code,\r\n code_verifier: data.codeVerifier,\r\n client_id: client.clientId,\r\n };\r\n const tokenRequestInit = {\r\n method: \"POST\",\r\n headers,\r\n body: new URLSearchParams(requestBody).toString(),\r\n };\r\n const rawTokenResponse = await await fetch(issuer.tokenEndpoint, tokenRequestInit);\r\n const jsonTokenResponse = (await rawTokenResponse.json());\r\n const tokenResponse = validateTokenEndpointResponse(jsonTokenResponse, dpop);\r\n const webId = await getWebidFromTokenPayload(tokenResponse.id_token, issuer.jwksUri, issuer.issuer, client.clientId);\r\n return {\r\n accessToken: tokenResponse.access_token,\r\n idToken: tokenResponse.id_token,\r\n refreshToken: hasRefreshToken(tokenResponse)\r\n ? tokenResponse.refresh_token\r\n : undefined,\r\n webId,\r\n dpopKey,\r\n expiresIn: tokenResponse.expires_in,\r\n };\r\n}\r\nasync function getBearerToken(redirectUrl) {\r\n let signinResponse;\r\n try {\r\n const client = new OidcClient({\r\n response_mode: \"query\",\r\n loadUserInfo: false,\r\n });\r\n signinResponse = await client.processSigninResponse(redirectUrl);\r\n if (client.settings.metadata === undefined) {\r\n throw new Error(\"Cannot retrieve issuer metadata from client information in storage.\");\r\n }\r\n if (client.settings.metadata.jwks_uri === undefined) {\r\n throw new Error(\"Missing some issuer metadata from client information in storage: 'jwks_uri' is undefined\");\r\n }\r\n if (client.settings.metadata.issuer === undefined) {\r\n throw new Error(\"Missing some issuer metadata from client information in storage: 'issuer' is undefined\");\r\n }\r\n if (client.settings.client_id === undefined) {\r\n throw new Error(\"Missing some client information in storage: 'client_id' is undefined\");\r\n }\r\n const webId = await getWebidFromTokenPayload(signinResponse.id_token, client.settings.metadata.jwks_uri, client.settings.metadata.issuer, client.settings.client_id);\r\n return {\r\n accessToken: signinResponse.access_token,\r\n idToken: signinResponse.id_token,\r\n webId,\r\n refreshToken: signinResponse.refresh_token,\r\n };\r\n }\r\n catch (err) {\r\n throw new Error(`Problem handling Auth Code Grant (Flow) redirect - URL [${redirectUrl}]: ${err}`);\r\n }\r\n}\r\nasync function getDpopToken(issuer, client, data) {\r\n return getTokens(issuer, client, data, true);\r\n}\n\nconst isValidUrl = (url) => {\r\n try {\r\n new URL(url);\r\n return true;\r\n }\r\n catch (_a) {\r\n return false;\r\n }\r\n};\r\nasync function refresh(refreshToken, issuer, client, dpopKey) {\r\n if (client.clientId === undefined) {\r\n throw new Error(\"No client ID available when trying to refresh the access token.\");\r\n }\r\n const requestBody = {\r\n grant_type: \"refresh_token\",\r\n refresh_token: refreshToken,\r\n scope: DEFAULT_SCOPES,\r\n };\r\n let dpopHeader = {};\r\n if (dpopKey !== undefined) {\r\n dpopHeader = {\r\n DPoP: await createDpopHeader(issuer.tokenEndpoint, \"POST\", dpopKey),\r\n };\r\n }\r\n let authHeader = {};\r\n if (client.clientSecret !== undefined) {\r\n authHeader = {\r\n Authorization: `Basic ${btoa(`${client.clientId}:${client.clientSecret}`)}`,\r\n };\r\n }\r\n else if (isValidUrl(client.clientId)) {\r\n requestBody.client_id = client.clientId;\r\n }\r\n const rawResponse = await fetch(issuer.tokenEndpoint, {\r\n method: \"POST\",\r\n body: new URLSearchParams(requestBody).toString(),\r\n headers: {\r\n ...dpopHeader,\r\n ...authHeader,\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n });\r\n let response;\r\n try {\r\n response = await rawResponse.json();\r\n }\r\n catch (e) {\r\n throw new Error(`The token endpoint of issuer ${issuer.issuer} returned a malformed response.`);\r\n }\r\n const validatedResponse = validateTokenEndpointResponse(response, dpopKey !== undefined);\r\n const webId = await getWebidFromTokenPayload(validatedResponse.id_token, issuer.jwksUri, issuer.issuer, client.clientId);\r\n return {\r\n accessToken: validatedResponse.access_token,\r\n idToken: validatedResponse.id_token,\r\n refreshToken: typeof validatedResponse.refresh_token === \"string\"\r\n ? validatedResponse.refresh_token\r\n : undefined,\r\n webId,\r\n dpopKey,\r\n expiresIn: validatedResponse.expires_in,\r\n };\r\n}\n\nfunction removeOidcQueryParam(redirectUrl) {\r\n const cleanedUrl = new URL(redirectUrl);\r\n cleanedUrl.searchParams.delete(\"code\");\r\n cleanedUrl.searchParams.delete(\"state\");\r\n cleanedUrl.hash = \"\";\r\n return cleanedUrl.toString();\r\n}\r\nasync function clearOidcPersistentStorage() {\r\n const client = new OidcClient({\r\n response_mode: \"query\",\r\n });\r\n await client.clearStaleState(new WebStorageStateStore({}));\r\n const myStorage = window.localStorage;\r\n const itemsToRemove = [];\r\n for (let i = 0; i <= myStorage.length; i += 1) {\r\n const key = myStorage.key(i);\r\n if (key &&\r\n (key.match(/^oidc\\..+$/) ||\r\n key.match(/^solidClientAuthenticationUser:.+$/))) {\r\n itemsToRemove.push(key);\r\n }\r\n }\r\n itemsToRemove.forEach((key) => myStorage.removeItem(key));\r\n}\n\nexport { clearOidcPersistentStorage, getBearerToken, getDpopToken, refresh, registerClient, removeOidcQueryParam };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SaxesParser = exports.EVENTS = void 0;\nconst ed5 = require(\"xmlchars/xml/1.0/ed5\");\nconst ed2 = require(\"xmlchars/xml/1.1/ed2\");\nconst NSed3 = require(\"xmlchars/xmlns/1.0/ed3\");\nvar isS = ed5.isS;\nvar isChar10 = ed5.isChar;\nvar isNameStartChar = ed5.isNameStartChar;\nvar isNameChar = ed5.isNameChar;\nvar S_LIST = ed5.S_LIST;\nvar NAME_RE = ed5.NAME_RE;\nvar isChar11 = ed2.isChar;\nvar isNCNameStartChar = NSed3.isNCNameStartChar;\nvar isNCNameChar = NSed3.isNCNameChar;\nvar NC_NAME_RE = NSed3.NC_NAME_RE;\nconst XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\nconst XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\nconst rootNS = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment\n __proto__: null,\n xml: XML_NAMESPACE,\n xmlns: XMLNS_NAMESPACE,\n};\nconst XML_ENTITIES = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment\n __proto__: null,\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: \"\\\"\",\n apos: \"'\",\n};\n// EOC: end-of-chunk\nconst EOC = -1;\nconst NL_LIKE = -2;\nconst S_BEGIN = 0; // Initial state.\nconst S_BEGIN_WHITESPACE = 1; // leading whitespace\nconst S_DOCTYPE = 2; // \nconst TAB = 9;\nconst NL = 0xA;\nconst CR = 0xD;\nconst SPACE = 0x20;\nconst BANG = 0x21;\nconst DQUOTE = 0x22;\nconst AMP = 0x26;\nconst SQUOTE = 0x27;\nconst MINUS = 0x2D;\nconst FORWARD_SLASH = 0x2F;\nconst SEMICOLON = 0x3B;\nconst LESS = 0x3C;\nconst EQUAL = 0x3D;\nconst GREATER = 0x3E;\nconst QUESTION = 0x3F;\nconst OPEN_BRACKET = 0x5B;\nconst CLOSE_BRACKET = 0x5D;\nconst NEL = 0x85;\nconst LS = 0x2028; // Line Separator\nconst isQuote = (c) => c === DQUOTE || c === SQUOTE;\nconst QUOTES = [DQUOTE, SQUOTE];\nconst DOCTYPE_TERMINATOR = [...QUOTES, OPEN_BRACKET, GREATER];\nconst DTD_TERMINATOR = [...QUOTES, LESS, CLOSE_BRACKET];\nconst XML_DECL_NAME_TERMINATOR = [EQUAL, QUESTION, ...S_LIST];\nconst ATTRIB_VALUE_UNQUOTED_TERMINATOR = [...S_LIST, GREATER, AMP, LESS];\nfunction nsPairCheck(parser, prefix, uri) {\n switch (prefix) {\n case \"xml\":\n if (uri !== XML_NAMESPACE) {\n parser.fail(`xml prefix must be bound to ${XML_NAMESPACE}.`);\n }\n break;\n case \"xmlns\":\n if (uri !== XMLNS_NAMESPACE) {\n parser.fail(`xmlns prefix must be bound to ${XMLNS_NAMESPACE}.`);\n }\n break;\n default:\n }\n switch (uri) {\n case XMLNS_NAMESPACE:\n parser.fail(prefix === \"\" ?\n `the default namespace may not be set to ${uri}.` :\n `may not assign a prefix (even \"xmlns\") to the URI \\\n${XMLNS_NAMESPACE}.`);\n break;\n case XML_NAMESPACE:\n switch (prefix) {\n case \"xml\":\n // Assinging the XML namespace to \"xml\" is fine.\n break;\n case \"\":\n parser.fail(`the default namespace may not be set to ${uri}.`);\n break;\n default:\n parser.fail(\"may not assign the xml namespace to another prefix.\");\n }\n break;\n default:\n }\n}\nfunction nsMappingCheck(parser, mapping) {\n for (const local of Object.keys(mapping)) {\n nsPairCheck(parser, local, mapping[local]);\n }\n}\nconst isNCName = (name) => NC_NAME_RE.test(name);\nconst isName = (name) => NAME_RE.test(name);\nconst FORBIDDEN_START = 0;\nconst FORBIDDEN_BRACKET = 1;\nconst FORBIDDEN_BRACKET_BRACKET = 2;\n/**\n * The list of supported events.\n */\nexports.EVENTS = [\n \"xmldecl\",\n \"text\",\n \"processinginstruction\",\n \"doctype\",\n \"comment\",\n \"opentagstart\",\n \"attribute\",\n \"opentag\",\n \"closetag\",\n \"cdata\",\n \"error\",\n \"end\",\n \"ready\",\n];\nconst EVENT_NAME_TO_HANDLER_NAME = {\n xmldecl: \"xmldeclHandler\",\n text: \"textHandler\",\n processinginstruction: \"piHandler\",\n doctype: \"doctypeHandler\",\n comment: \"commentHandler\",\n opentagstart: \"openTagStartHandler\",\n attribute: \"attributeHandler\",\n opentag: \"openTagHandler\",\n closetag: \"closeTagHandler\",\n cdata: \"cdataHandler\",\n error: \"errorHandler\",\n end: \"endHandler\",\n ready: \"readyHandler\",\n};\n// eslint-disable-next-line @typescript-eslint/ban-types\nclass SaxesParser {\n /**\n * Indicates whether or not the parser is closed. If ``true``, wait for\n * the ``ready`` event to write again.\n */\n get closed() {\n return this._closed;\n }\n /**\n * @param opt The parser options.\n */\n constructor(opt) {\n this.opt = opt !== null && opt !== void 0 ? opt : {};\n this.fragmentOpt = !!this.opt.fragment;\n const xmlnsOpt = this.xmlnsOpt = !!this.opt.xmlns;\n this.trackPosition = this.opt.position !== false;\n this.fileName = this.opt.fileName;\n if (xmlnsOpt) {\n // This is the function we use to perform name checks on PIs and entities.\n // When namespaces are used, colons are not allowed in PI target names or\n // entity names. So the check depends on whether namespaces are used. See:\n //\n // https://www.w3.org/XML/xml-names-19990114-errata.html\n // NE08\n //\n this.nameStartCheck = isNCNameStartChar;\n this.nameCheck = isNCNameChar;\n this.isName = isNCName;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.processAttribs = this.processAttribsNS;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.pushAttrib = this.pushAttribNS;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment\n this.ns = Object.assign({ __proto__: null }, rootNS);\n const additional = this.opt.additionalNamespaces;\n if (additional != null) {\n nsMappingCheck(this, additional);\n Object.assign(this.ns, additional);\n }\n }\n else {\n this.nameStartCheck = isNameStartChar;\n this.nameCheck = isNameChar;\n this.isName = isName;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.processAttribs = this.processAttribsPlain;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.pushAttrib = this.pushAttribPlain;\n }\n //\n // The order of the members in this table needs to correspond to the state\n // numbers given to the states that correspond to the methods being recorded\n // here.\n //\n this.stateTable = [\n /* eslint-disable @typescript-eslint/unbound-method */\n this.sBegin,\n this.sBeginWhitespace,\n this.sDoctype,\n this.sDoctypeQuote,\n this.sDTD,\n this.sDTDQuoted,\n this.sDTDOpenWaka,\n this.sDTDOpenWakaBang,\n this.sDTDComment,\n this.sDTDCommentEnding,\n this.sDTDCommentEnded,\n this.sDTDPI,\n this.sDTDPIEnding,\n this.sText,\n this.sEntity,\n this.sOpenWaka,\n this.sOpenWakaBang,\n this.sComment,\n this.sCommentEnding,\n this.sCommentEnded,\n this.sCData,\n this.sCDataEnding,\n this.sCDataEnding2,\n this.sPIFirstChar,\n this.sPIRest,\n this.sPIBody,\n this.sPIEnding,\n this.sXMLDeclNameStart,\n this.sXMLDeclName,\n this.sXMLDeclEq,\n this.sXMLDeclValueStart,\n this.sXMLDeclValue,\n this.sXMLDeclSeparator,\n this.sXMLDeclEnding,\n this.sOpenTag,\n this.sOpenTagSlash,\n this.sAttrib,\n this.sAttribName,\n this.sAttribNameSawWhite,\n this.sAttribValue,\n this.sAttribValueQuoted,\n this.sAttribValueClosed,\n this.sAttribValueUnquoted,\n this.sCloseTag,\n this.sCloseTagSawWhite,\n /* eslint-enable @typescript-eslint/unbound-method */\n ];\n this._init();\n }\n _init() {\n var _a;\n this.openWakaBang = \"\";\n this.text = \"\";\n this.name = \"\";\n this.piTarget = \"\";\n this.entity = \"\";\n this.q = null;\n this.tags = [];\n this.tag = null;\n this.topNS = null;\n this.chunk = \"\";\n this.chunkPosition = 0;\n this.i = 0;\n this.prevI = 0;\n this.carriedFromPrevious = undefined;\n this.forbiddenState = FORBIDDEN_START;\n this.attribList = [];\n // The logic is organized so as to minimize the need to check\n // this.opt.fragment while parsing.\n const { fragmentOpt } = this;\n this.state = fragmentOpt ? S_TEXT : S_BEGIN;\n // We want these to be all true if we are dealing with a fragment.\n this.reportedTextBeforeRoot = this.reportedTextAfterRoot = this.closedRoot =\n this.sawRoot = fragmentOpt;\n // An XML declaration is intially possible only when parsing whole\n // documents.\n this.xmlDeclPossible = !fragmentOpt;\n this.xmlDeclExpects = [\"version\"];\n this.entityReturnState = undefined;\n let { defaultXMLVersion } = this.opt;\n if (defaultXMLVersion === undefined) {\n if (this.opt.forceXMLVersion === true) {\n throw new Error(\"forceXMLVersion set but defaultXMLVersion is not set\");\n }\n defaultXMLVersion = \"1.0\";\n }\n this.setXMLVersion(defaultXMLVersion);\n this.positionAtNewLine = 0;\n this.doctype = false;\n this._closed = false;\n this.xmlDecl = {\n version: undefined,\n encoding: undefined,\n standalone: undefined,\n };\n this.line = 1;\n this.column = 0;\n this.ENTITIES = Object.create(XML_ENTITIES);\n (_a = this.readyHandler) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n /**\n * The stream position the parser is currently looking at. This field is\n * zero-based.\n *\n * This field is not based on counting Unicode characters but is to be\n * interpreted as a plain index into a JavaScript string.\n */\n get position() {\n return this.chunkPosition + this.i;\n }\n /**\n * The column number of the next character to be read by the parser. *\n * This field is zero-based. (The first column in a line is 0.)\n *\n * This field reports the index at which the next character would be in the\n * line if the line were represented as a JavaScript string. Note that this\n * *can* be different to a count based on the number of *Unicode characters*\n * due to how JavaScript handles astral plane characters.\n *\n * See [[column]] for a number that corresponds to a count of Unicode\n * characters.\n */\n get columnIndex() {\n return this.position - this.positionAtNewLine;\n }\n /**\n * Set an event listener on an event. The parser supports one handler per\n * event type. If you try to set an event handler over an existing handler,\n * the old handler is silently overwritten.\n *\n * @param name The event to listen to.\n *\n * @param handler The handler to set.\n */\n on(name, handler) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n this[EVENT_NAME_TO_HANDLER_NAME[name]] = handler;\n }\n /**\n * Unset an event handler.\n *\n * @parma name The event to stop listening to.\n */\n off(name) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n this[EVENT_NAME_TO_HANDLER_NAME[name]] = undefined;\n }\n /**\n * Make an error object. The error object will have a message that contains\n * the ``fileName`` option passed at the creation of the parser. If position\n * tracking was turned on, it will also have line and column number\n * information.\n *\n * @param message The message describing the error to report.\n *\n * @returns An error object with a properly formatted message.\n */\n makeError(message) {\n var _a;\n let msg = (_a = this.fileName) !== null && _a !== void 0 ? _a : \"\";\n if (this.trackPosition) {\n if (msg.length > 0) {\n msg += \":\";\n }\n msg += `${this.line}:${this.column}`;\n }\n if (msg.length > 0) {\n msg += \": \";\n }\n return new Error(msg + message);\n }\n /**\n * Report a parsing error. This method is made public so that client code may\n * check for issues that are outside the scope of this project and can report\n * errors.\n *\n * @param message The error to report.\n *\n * @returns this\n */\n fail(message) {\n const err = this.makeError(message);\n const handler = this.errorHandler;\n if (handler === undefined) {\n throw err;\n }\n else {\n handler(err);\n }\n return this;\n }\n /**\n * Write a XML data to the parser.\n *\n * @param chunk The XML data to write.\n *\n * @returns this\n */\n // We do need object for the type here. Yes, it often causes problems\n // but not in this case.\n write(chunk) {\n if (this.closed) {\n return this.fail(\"cannot write after close; assign an onready handler.\");\n }\n let end = false;\n if (chunk === null) {\n // We cannot return immediately because carriedFromPrevious may need\n // processing.\n end = true;\n chunk = \"\";\n }\n else if (typeof chunk === \"object\") {\n chunk = chunk.toString();\n }\n // We checked if performing a pre-decomposition of the string into an array\n // of single complete characters (``Array.from(chunk)``) would be faster\n // than the current repeated calls to ``charCodeAt``. As of August 2018, it\n // isn't. (There may be Node-specific code that would perform faster than\n // ``Array.from`` but don't want to be dependent on Node.)\n if (this.carriedFromPrevious !== undefined) {\n // The previous chunk had char we must carry over.\n chunk = `${this.carriedFromPrevious}${chunk}`;\n this.carriedFromPrevious = undefined;\n }\n let limit = chunk.length;\n const lastCode = chunk.charCodeAt(limit - 1);\n if (!end &&\n // A trailing CR or surrogate must be carried over to the next\n // chunk.\n (lastCode === CR || (lastCode >= 0xD800 && lastCode <= 0xDBFF))) {\n // The chunk ends with a character that must be carried over. We cannot\n // know how to handle it until we get the next chunk or the end of the\n // stream. So save it for later.\n this.carriedFromPrevious = chunk[limit - 1];\n limit--;\n chunk = chunk.slice(0, limit);\n }\n const { stateTable } = this;\n this.chunk = chunk;\n this.i = 0;\n while (this.i < limit) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument\n stateTable[this.state].call(this);\n }\n this.chunkPosition += limit;\n return end ? this.end() : this;\n }\n /**\n * Close the current stream. Perform final well-formedness checks and reset\n * the parser tstate.\n *\n * @returns this\n */\n close() {\n return this.write(null);\n }\n /**\n * Get a single code point out of the current chunk. This updates the current\n * position if we do position tracking.\n *\n * This is the algorithm to use for XML 1.0.\n *\n * @returns The character read.\n */\n getCode10() {\n const { chunk, i } = this;\n this.prevI = i;\n // Yes, we do this instead of doing this.i++. Doing it this way, we do not\n // read this.i again, which is a bit faster.\n this.i = i + 1;\n if (i >= chunk.length) {\n return EOC;\n }\n // Using charCodeAt and handling the surrogates ourselves is faster\n // than using codePointAt.\n const code = chunk.charCodeAt(i);\n this.column++;\n if (code < 0xD800) {\n if (code >= SPACE || code === TAB) {\n return code;\n }\n switch (code) {\n case NL:\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL;\n case CR:\n // We may get NaN if we read past the end of the chunk, which is fine.\n if (chunk.charCodeAt(i + 1) === NL) {\n // A \\r\\n sequence is converted to \\n so we have to skip over the\n // next character. We already know it has a size of 1 so ++ is fine\n // here.\n this.i = i + 2;\n }\n // Otherwise, a \\r is just converted to \\n, so we don't have to skip\n // ahead.\n // In either case, \\r becomes \\n.\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL_LIKE;\n default:\n // If we get here, then code < SPACE and it is not NL CR or TAB.\n this.fail(\"disallowed character.\");\n return code;\n }\n }\n if (code > 0xDBFF) {\n // This is a specialized version of isChar10 that takes into account\n // that in this context code > 0xDBFF and code <= 0xFFFF. So it does not\n // test cases that don't need testing.\n if (!(code >= 0xE000 && code <= 0xFFFD)) {\n this.fail(\"disallowed character.\");\n }\n return code;\n }\n const final = 0x10000 + ((code - 0xD800) * 0x400) +\n (chunk.charCodeAt(i + 1) - 0xDC00);\n this.i = i + 2;\n // This is a specialized version of isChar10 that takes into account that in\n // this context necessarily final >= 0x10000.\n if (final > 0x10FFFF) {\n this.fail(\"disallowed character.\");\n }\n return final;\n }\n /**\n * Get a single code point out of the current chunk. This updates the current\n * position if we do position tracking.\n *\n * This is the algorithm to use for XML 1.1.\n *\n * @returns {number} The character read.\n */\n getCode11() {\n const { chunk, i } = this;\n this.prevI = i;\n // Yes, we do this instead of doing this.i++. Doing it this way, we do not\n // read this.i again, which is a bit faster.\n this.i = i + 1;\n if (i >= chunk.length) {\n return EOC;\n }\n // Using charCodeAt and handling the surrogates ourselves is faster\n // than using codePointAt.\n const code = chunk.charCodeAt(i);\n this.column++;\n if (code < 0xD800) {\n if ((code > 0x1F && code < 0x7F) || (code > 0x9F && code !== LS) ||\n code === TAB) {\n return code;\n }\n switch (code) {\n case NL: // 0xA\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL;\n case CR: { // 0xD\n // We may get NaN if we read past the end of the chunk, which is\n // fine.\n const next = chunk.charCodeAt(i + 1);\n if (next === NL || next === NEL) {\n // A CR NL or CR NEL sequence is converted to NL so we have to skip\n // over the next character. We already know it has a size of 1.\n this.i = i + 2;\n }\n // Otherwise, a CR is just converted to NL, no skip.\n }\n /* yes, fall through */\n case NEL: // 0x85\n case LS: // Ox2028\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL_LIKE;\n default:\n this.fail(\"disallowed character.\");\n return code;\n }\n }\n if (code > 0xDBFF) {\n // This is a specialized version of isCharAndNotRestricted that takes into\n // account that in this context code > 0xDBFF and code <= 0xFFFF. So it\n // does not test cases that don't need testing.\n if (!(code >= 0xE000 && code <= 0xFFFD)) {\n this.fail(\"disallowed character.\");\n }\n return code;\n }\n const final = 0x10000 + ((code - 0xD800) * 0x400) +\n (chunk.charCodeAt(i + 1) - 0xDC00);\n this.i = i + 2;\n // This is a specialized version of isCharAndNotRestricted that takes into\n // account that in this context necessarily final >= 0x10000.\n if (final > 0x10FFFF) {\n this.fail(\"disallowed character.\");\n }\n return final;\n }\n /**\n * Like ``getCode`` but with the return value normalized so that ``NL`` is\n * returned for ``NL_LIKE``.\n */\n getCodeNorm() {\n const c = this.getCode();\n return c === NL_LIKE ? NL : c;\n }\n unget() {\n this.i = this.prevI;\n this.column--;\n }\n /**\n * Capture characters into a buffer until encountering one of a set of\n * characters.\n *\n * @param chars An array of codepoints. Encountering a character in the array\n * ends the capture. (``chars`` may safely contain ``NL``.)\n *\n * @return The character code that made the capture end, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n captureTo(chars) {\n let { i: start } = this;\n const { chunk } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCode();\n const isNLLike = c === NL_LIKE;\n const final = isNLLike ? NL : c;\n if (final === EOC || chars.includes(final)) {\n this.text += chunk.slice(start, this.prevI);\n return final;\n }\n if (isNLLike) {\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n start = this.i;\n }\n }\n }\n /**\n * Capture characters into a buffer until encountering a character.\n *\n * @param char The codepoint that ends the capture. **NOTE ``char`` MAY NOT\n * CONTAIN ``NL``.** Passing ``NL`` will result in buggy behavior.\n *\n * @return ``true`` if we ran into the character. Otherwise, we ran into the\n * end of the current chunk.\n */\n captureToChar(char) {\n let { i: start } = this;\n const { chunk } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let c = this.getCode();\n switch (c) {\n case NL_LIKE:\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n start = this.i;\n c = NL;\n break;\n case EOC:\n this.text += chunk.slice(start);\n return false;\n default:\n }\n if (c === char) {\n this.text += chunk.slice(start, this.prevI);\n return true;\n }\n }\n }\n /**\n * Capture characters that satisfy ``isNameChar`` into the ``name`` field of\n * this parser.\n *\n * @return The character code that made the test fail, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n captureNameChars() {\n const { chunk, i: start } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCode();\n if (c === EOC) {\n this.name += chunk.slice(start);\n return EOC;\n }\n // NL is not a name char so we don't have to test specifically for it.\n if (!isNameChar(c)) {\n this.name += chunk.slice(start, this.prevI);\n return c === NL_LIKE ? NL : c;\n }\n }\n }\n /**\n * Skip white spaces.\n *\n * @return The character that ended the skip, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n skipSpaces() {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCodeNorm();\n if (c === EOC || !isS(c)) {\n return c;\n }\n }\n }\n setXMLVersion(version) {\n this.currentXMLVersion = version;\n /* eslint-disable @typescript-eslint/unbound-method */\n if (version === \"1.0\") {\n this.isChar = isChar10;\n this.getCode = this.getCode10;\n }\n else {\n this.isChar = isChar11;\n this.getCode = this.getCode11;\n }\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n // STATE ENGINE METHODS\n // This needs to be a state separate from S_BEGIN_WHITESPACE because we want\n // to be sure never to come back to this state later.\n sBegin() {\n // We are essentially peeking at the first character of the chunk. Since\n // S_BEGIN can be in effect only when we start working on the first chunk,\n // the index at which we must look is necessarily 0. Note also that the\n // following test does not depend on decoding surrogates.\n // If the initial character is 0xFEFF, ignore it.\n if (this.chunk.charCodeAt(0) === 0xFEFF) {\n this.i++;\n this.column++;\n }\n this.state = S_BEGIN_WHITESPACE;\n }\n sBeginWhitespace() {\n // We need to know whether we've encountered spaces or not because as soon\n // as we run into a space, an XML declaration is no longer possible. Rather\n // than slow down skipSpaces even in places where we don't care whether it\n // skipped anything or not, we check whether prevI is equal to the value of\n // i from before we skip spaces.\n const iBefore = this.i;\n const c = this.skipSpaces();\n if (this.prevI !== iBefore) {\n this.xmlDeclPossible = false;\n }\n switch (c) {\n case LESS:\n this.state = S_OPEN_WAKA;\n // We could naively call closeText but in this state, it is not normal\n // to have text be filled with any data.\n if (this.text.length !== 0) {\n throw new Error(\"no-empty text at start\");\n }\n break;\n case EOC:\n break;\n default:\n this.unget();\n this.state = S_TEXT;\n this.xmlDeclPossible = false;\n }\n }\n sDoctype() {\n var _a;\n const c = this.captureTo(DOCTYPE_TERMINATOR);\n switch (c) {\n case GREATER: {\n (_a = this.doctypeHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n this.state = S_TEXT;\n this.doctype = true; // just remember that we saw it.\n break;\n }\n case EOC:\n break;\n default:\n this.text += String.fromCodePoint(c);\n if (c === OPEN_BRACKET) {\n this.state = S_DTD;\n }\n else if (isQuote(c)) {\n this.state = S_DOCTYPE_QUOTE;\n this.q = c;\n }\n }\n }\n sDoctypeQuote() {\n const q = this.q;\n if (this.captureToChar(q)) {\n this.text += String.fromCodePoint(q);\n this.q = null;\n this.state = S_DOCTYPE;\n }\n }\n sDTD() {\n const c = this.captureTo(DTD_TERMINATOR);\n if (c === EOC) {\n return;\n }\n this.text += String.fromCodePoint(c);\n if (c === CLOSE_BRACKET) {\n this.state = S_DOCTYPE;\n }\n else if (c === LESS) {\n this.state = S_DTD_OPEN_WAKA;\n }\n else if (isQuote(c)) {\n this.state = S_DTD_QUOTED;\n this.q = c;\n }\n }\n sDTDQuoted() {\n const q = this.q;\n if (this.captureToChar(q)) {\n this.text += String.fromCodePoint(q);\n this.state = S_DTD;\n this.q = null;\n }\n }\n sDTDOpenWaka() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n switch (c) {\n case BANG:\n this.state = S_DTD_OPEN_WAKA_BANG;\n this.openWakaBang = \"\";\n break;\n case QUESTION:\n this.state = S_DTD_PI;\n break;\n default:\n this.state = S_DTD;\n }\n }\n sDTDOpenWakaBang() {\n const char = String.fromCodePoint(this.getCodeNorm());\n const owb = this.openWakaBang += char;\n this.text += char;\n if (owb !== \"-\") {\n this.state = owb === \"--\" ? S_DTD_COMMENT : S_DTD;\n this.openWakaBang = \"\";\n }\n }\n sDTDComment() {\n if (this.captureToChar(MINUS)) {\n this.text += \"-\";\n this.state = S_DTD_COMMENT_ENDING;\n }\n }\n sDTDCommentEnding() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n this.state = c === MINUS ? S_DTD_COMMENT_ENDED : S_DTD_COMMENT;\n }\n sDTDCommentEnded() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n if (c === GREATER) {\n this.state = S_DTD;\n }\n else {\n this.fail(\"malformed comment.\");\n // will be recorded as\n // a comment of \" blah -- bloo \"\n this.state = S_DTD_COMMENT;\n }\n }\n sDTDPI() {\n if (this.captureToChar(QUESTION)) {\n this.text += \"?\";\n this.state = S_DTD_PI_ENDING;\n }\n }\n sDTDPIEnding() {\n const c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n if (c === GREATER) {\n this.state = S_DTD;\n }\n }\n sText() {\n //\n // We did try a version of saxes where the S_TEXT state was split in two\n // states: one for text inside the root element, and one for text\n // outside. This was avoiding having to test this.tags.length to decide\n // what implementation to actually use.\n //\n // Peformance testing on gigabyte-size files did not show any advantage to\n // using the two states solution instead of the current one. Conversely, it\n // made the code a bit more complicated elsewhere. For instance, a comment\n // can appear before the root element so when a comment ended it was\n // necessary to determine whether to return to the S_TEXT state or to the\n // new text-outside-root state.\n //\n if (this.tags.length !== 0) {\n this.handleTextInRoot();\n }\n else {\n this.handleTextOutsideRoot();\n }\n }\n sEntity() {\n // This is essentially a specialized version of captureToChar(SEMICOLON...)\n let { i: start } = this;\n const { chunk } = this;\n // eslint-disable-next-line no-labels, no-restricted-syntax\n loop: \n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case NL_LIKE:\n this.entity += `${chunk.slice(start, this.prevI)}\\n`;\n start = this.i;\n break;\n case SEMICOLON: {\n const { entityReturnState } = this;\n const entity = this.entity + chunk.slice(start, this.prevI);\n this.state = entityReturnState;\n let parsed;\n if (entity === \"\") {\n this.fail(\"empty entity name.\");\n parsed = \"&;\";\n }\n else {\n parsed = this.parseEntity(entity);\n this.entity = \"\";\n }\n if (entityReturnState !== S_TEXT || this.textHandler !== undefined) {\n this.text += parsed;\n }\n // eslint-disable-next-line no-labels\n break loop;\n }\n case EOC:\n this.entity += chunk.slice(start);\n // eslint-disable-next-line no-labels\n break loop;\n default:\n }\n }\n }\n sOpenWaka() {\n // Reminder: a state handler is called with at least one character\n // available in the current chunk. So the first call to get code inside of\n // a state handler cannot return ``EOC``. That's why we don't test\n // for it.\n const c = this.getCode();\n // either a /, ?, !, or text is coming next.\n if (isNameStartChar(c)) {\n this.state = S_OPEN_TAG;\n this.unget();\n this.xmlDeclPossible = false;\n }\n else {\n switch (c) {\n case FORWARD_SLASH:\n this.state = S_CLOSE_TAG;\n this.xmlDeclPossible = false;\n break;\n case BANG:\n this.state = S_OPEN_WAKA_BANG;\n this.openWakaBang = \"\";\n this.xmlDeclPossible = false;\n break;\n case QUESTION:\n this.state = S_PI_FIRST_CHAR;\n break;\n default:\n this.fail(\"disallowed character in tag name\");\n this.state = S_TEXT;\n this.xmlDeclPossible = false;\n }\n }\n }\n sOpenWakaBang() {\n this.openWakaBang += String.fromCodePoint(this.getCodeNorm());\n switch (this.openWakaBang) {\n case \"[CDATA[\":\n if (!this.sawRoot && !this.reportedTextBeforeRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextBeforeRoot = true;\n }\n if (this.closedRoot && !this.reportedTextAfterRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextAfterRoot = true;\n }\n this.state = S_CDATA;\n this.openWakaBang = \"\";\n break;\n case \"--\":\n this.state = S_COMMENT;\n this.openWakaBang = \"\";\n break;\n case \"DOCTYPE\":\n this.state = S_DOCTYPE;\n if (this.doctype || this.sawRoot) {\n this.fail(\"inappropriately located doctype declaration.\");\n }\n this.openWakaBang = \"\";\n break;\n default:\n // 7 happens to be the maximum length of the string that can possibly\n // match one of the cases above.\n if (this.openWakaBang.length >= 7) {\n this.fail(\"incorrect syntax.\");\n }\n }\n }\n sComment() {\n if (this.captureToChar(MINUS)) {\n this.state = S_COMMENT_ENDING;\n }\n }\n sCommentEnding() {\n var _a;\n const c = this.getCodeNorm();\n if (c === MINUS) {\n this.state = S_COMMENT_ENDED;\n (_a = this.commentHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n }\n else {\n this.text += `-${String.fromCodePoint(c)}`;\n this.state = S_COMMENT;\n }\n }\n sCommentEnded() {\n const c = this.getCodeNorm();\n if (c !== GREATER) {\n this.fail(\"malformed comment.\");\n // will be recorded as\n // a comment of \" blah -- bloo \"\n this.text += `--${String.fromCodePoint(c)}`;\n this.state = S_COMMENT;\n }\n else {\n this.state = S_TEXT;\n }\n }\n sCData() {\n if (this.captureToChar(CLOSE_BRACKET)) {\n this.state = S_CDATA_ENDING;\n }\n }\n sCDataEnding() {\n const c = this.getCodeNorm();\n if (c === CLOSE_BRACKET) {\n this.state = S_CDATA_ENDING_2;\n }\n else {\n this.text += `]${String.fromCodePoint(c)}`;\n this.state = S_CDATA;\n }\n }\n sCDataEnding2() {\n var _a;\n const c = this.getCodeNorm();\n switch (c) {\n case GREATER: {\n (_a = this.cdataHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n this.state = S_TEXT;\n break;\n }\n case CLOSE_BRACKET:\n this.text += \"]\";\n break;\n default:\n this.text += `]]${String.fromCodePoint(c)}`;\n this.state = S_CDATA;\n }\n }\n // We need this separate state to check the first character fo the pi target\n // with this.nameStartCheck which allows less characters than this.nameCheck.\n sPIFirstChar() {\n const c = this.getCodeNorm();\n // This is first because in the case where the file is well-formed this is\n // the branch taken. We optimize for well-formedness.\n if (this.nameStartCheck(c)) {\n this.piTarget += String.fromCodePoint(c);\n this.state = S_PI_REST;\n }\n else if (c === QUESTION || isS(c)) {\n this.fail(\"processing instruction without a target.\");\n this.state = c === QUESTION ? S_PI_ENDING : S_PI_BODY;\n }\n else {\n this.fail(\"disallowed character in processing instruction name.\");\n this.piTarget += String.fromCodePoint(c);\n this.state = S_PI_REST;\n }\n }\n sPIRest() {\n // Capture characters into a piTarget while ``this.nameCheck`` run on the\n // character read returns true.\n const { chunk, i: start } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const c = this.getCodeNorm();\n if (c === EOC) {\n this.piTarget += chunk.slice(start);\n return;\n }\n // NL cannot satisfy this.nameCheck so we don't have to test specifically\n // for it.\n if (!this.nameCheck(c)) {\n this.piTarget += chunk.slice(start, this.prevI);\n const isQuestion = c === QUESTION;\n if (isQuestion || isS(c)) {\n if (this.piTarget === \"xml\") {\n if (!this.xmlDeclPossible) {\n this.fail(\"an XML declaration must be at the start of the document.\");\n }\n this.state = isQuestion ? S_XML_DECL_ENDING : S_XML_DECL_NAME_START;\n }\n else {\n this.state = isQuestion ? S_PI_ENDING : S_PI_BODY;\n }\n }\n else {\n this.fail(\"disallowed character in processing instruction name.\");\n this.piTarget += String.fromCodePoint(c);\n }\n break;\n }\n }\n }\n sPIBody() {\n if (this.text.length === 0) {\n const c = this.getCodeNorm();\n if (c === QUESTION) {\n this.state = S_PI_ENDING;\n }\n else if (!isS(c)) {\n this.text = String.fromCodePoint(c);\n }\n }\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n else if (this.captureToChar(QUESTION)) {\n this.state = S_PI_ENDING;\n }\n }\n sPIEnding() {\n var _a;\n const c = this.getCodeNorm();\n if (c === GREATER) {\n const { piTarget } = this;\n if (piTarget.toLowerCase() === \"xml\") {\n this.fail(\"the XML declaration must appear at the start of the document.\");\n }\n (_a = this.piHandler) === null || _a === void 0 ? void 0 : _a.call(this, {\n target: piTarget,\n body: this.text,\n });\n this.piTarget = this.text = \"\";\n this.state = S_TEXT;\n }\n else if (c === QUESTION) {\n // We ran into ?? as part of a processing instruction. We initially took\n // the first ? as a sign that the PI was ending, but it is not. So we have\n // to add it to the body but we take the new ? as a sign that the PI is\n // ending.\n this.text += \"?\";\n }\n else {\n this.text += `?${String.fromCodePoint(c)}`;\n this.state = S_PI_BODY;\n }\n this.xmlDeclPossible = false;\n }\n sXMLDeclNameStart() {\n const c = this.skipSpaces();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n // It is valid to go to S_XML_DECL_ENDING from this state.\n this.state = S_XML_DECL_ENDING;\n return;\n }\n if (c !== EOC) {\n this.state = S_XML_DECL_NAME;\n this.name = String.fromCodePoint(c);\n }\n }\n sXMLDeclName() {\n const c = this.captureTo(XML_DECL_NAME_TERMINATOR);\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.name += this.text;\n this.text = \"\";\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (!(isS(c) || c === EQUAL)) {\n return;\n }\n this.name += this.text;\n this.text = \"\";\n if (!this.xmlDeclExpects.includes(this.name)) {\n switch (this.name.length) {\n case 0:\n this.fail(\"did not expect any more name/value pairs.\");\n break;\n case 1:\n this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);\n break;\n default:\n this.fail(`expected one of ${this.xmlDeclExpects.join(\", \")}`);\n }\n }\n this.state = c === EQUAL ? S_XML_DECL_VALUE_START : S_XML_DECL_EQ;\n }\n sXMLDeclEq() {\n const c = this.getCodeNorm();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (isS(c)) {\n return;\n }\n if (c !== EQUAL) {\n this.fail(\"value required.\");\n }\n this.state = S_XML_DECL_VALUE_START;\n }\n sXMLDeclValueStart() {\n const c = this.getCodeNorm();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (isS(c)) {\n return;\n }\n if (!isQuote(c)) {\n this.fail(\"value must be quoted.\");\n this.q = SPACE;\n }\n else {\n this.q = c;\n }\n this.state = S_XML_DECL_VALUE;\n }\n sXMLDeclValue() {\n const c = this.captureTo([this.q, QUESTION]);\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.text = \"\";\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n if (c === EOC) {\n return;\n }\n const value = this.text;\n this.text = \"\";\n switch (this.name) {\n case \"version\": {\n this.xmlDeclExpects = [\"encoding\", \"standalone\"];\n const version = value;\n this.xmlDecl.version = version;\n // This is the test specified by XML 1.0 but it is fine for XML 1.1.\n if (!/^1\\.[0-9]+$/.test(version)) {\n this.fail(\"version number must match /^1\\\\.[0-9]+$/.\");\n }\n // When forceXMLVersion is set, the XML declaration is ignored.\n else if (!this.opt.forceXMLVersion) {\n this.setXMLVersion(version);\n }\n break;\n }\n case \"encoding\":\n if (!/^[A-Za-z][A-Za-z0-9._-]*$/.test(value)) {\n this.fail(\"encoding value must match \\\n/^[A-Za-z0-9][A-Za-z0-9._-]*$/.\");\n }\n this.xmlDeclExpects = [\"standalone\"];\n this.xmlDecl.encoding = value;\n break;\n case \"standalone\":\n if (value !== \"yes\" && value !== \"no\") {\n this.fail(\"standalone value must match \\\"yes\\\" or \\\"no\\\".\");\n }\n this.xmlDeclExpects = [];\n this.xmlDecl.standalone = value;\n break;\n default:\n // We don't need to raise an error here since we've already raised one\n // when checking what name was expected.\n }\n this.name = \"\";\n this.state = S_XML_DECL_SEPARATOR;\n }\n sXMLDeclSeparator() {\n const c = this.getCodeNorm();\n // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n if (c === QUESTION) {\n // It is valid to go to S_XML_DECL_ENDING from this state.\n this.state = S_XML_DECL_ENDING;\n return;\n }\n if (!isS(c)) {\n this.fail(\"whitespace required.\");\n this.unget();\n }\n this.state = S_XML_DECL_NAME_START;\n }\n sXMLDeclEnding() {\n var _a;\n const c = this.getCodeNorm();\n if (c === GREATER) {\n if (this.piTarget !== \"xml\") {\n this.fail(\"processing instructions are not allowed before root.\");\n }\n else if (this.name !== \"version\" &&\n this.xmlDeclExpects.includes(\"version\")) {\n this.fail(\"XML declaration must contain a version.\");\n }\n (_a = this.xmldeclHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.xmlDecl);\n this.name = \"\";\n this.piTarget = this.text = \"\";\n this.state = S_TEXT;\n }\n else {\n // We got here because the previous character was a ?, but the question\n // mark character is not valid inside any of the XML declaration\n // name/value pairs.\n this.fail(\"The character ? is disallowed anywhere in XML declarations.\");\n }\n this.xmlDeclPossible = false;\n }\n sOpenTag() {\n var _a;\n const c = this.captureNameChars();\n if (c === EOC) {\n return;\n }\n const tag = this.tag = {\n name: this.name,\n attributes: Object.create(null),\n };\n this.name = \"\";\n if (this.xmlnsOpt) {\n this.topNS = tag.ns = Object.create(null);\n }\n (_a = this.openTagStartHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n this.sawRoot = true;\n if (!this.fragmentOpt && this.closedRoot) {\n this.fail(\"documents may contain only one root.\");\n }\n switch (c) {\n case GREATER:\n this.openTag();\n break;\n case FORWARD_SLASH:\n this.state = S_OPEN_TAG_SLASH;\n break;\n default:\n if (!isS(c)) {\n this.fail(\"disallowed character in tag name.\");\n }\n this.state = S_ATTRIB;\n }\n }\n sOpenTagSlash() {\n if (this.getCode() === GREATER) {\n this.openSelfClosingTag();\n }\n else {\n this.fail(\"forward-slash in opening tag not followed by >.\");\n this.state = S_ATTRIB;\n }\n }\n sAttrib() {\n const c = this.skipSpaces();\n if (c === EOC) {\n return;\n }\n if (isNameStartChar(c)) {\n this.unget();\n this.state = S_ATTRIB_NAME;\n }\n else if (c === GREATER) {\n this.openTag();\n }\n else if (c === FORWARD_SLASH) {\n this.state = S_OPEN_TAG_SLASH;\n }\n else {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n sAttribName() {\n const c = this.captureNameChars();\n if (c === EQUAL) {\n this.state = S_ATTRIB_VALUE;\n }\n else if (isS(c)) {\n this.state = S_ATTRIB_NAME_SAW_WHITE;\n }\n else if (c === GREATER) {\n this.fail(\"attribute without value.\");\n this.pushAttrib(this.name, this.name);\n this.name = this.text = \"\";\n this.openTag();\n }\n else if (c !== EOC) {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n sAttribNameSawWhite() {\n const c = this.skipSpaces();\n switch (c) {\n case EOC:\n return;\n case EQUAL:\n this.state = S_ATTRIB_VALUE;\n break;\n default:\n this.fail(\"attribute without value.\");\n // Should we do this???\n // this.tag.attributes[this.name] = \"\";\n this.text = \"\";\n this.name = \"\";\n if (c === GREATER) {\n this.openTag();\n }\n else if (isNameStartChar(c)) {\n this.unget();\n this.state = S_ATTRIB_NAME;\n }\n else {\n this.fail(\"disallowed character in attribute name.\");\n this.state = S_ATTRIB;\n }\n }\n }\n sAttribValue() {\n const c = this.getCodeNorm();\n if (isQuote(c)) {\n this.q = c;\n this.state = S_ATTRIB_VALUE_QUOTED;\n }\n else if (!isS(c)) {\n this.fail(\"unquoted attribute value.\");\n this.state = S_ATTRIB_VALUE_UNQUOTED;\n this.unget();\n }\n }\n sAttribValueQuoted() {\n // We deliberately do not use captureTo here. The specialized code we use\n // here is faster than using captureTo.\n const { q, chunk } = this;\n let { i: start } = this;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case q:\n this.pushAttrib(this.name, this.text + chunk.slice(start, this.prevI));\n this.name = this.text = \"\";\n this.q = null;\n this.state = S_ATTRIB_VALUE_CLOSED;\n return;\n case AMP:\n this.text += chunk.slice(start, this.prevI);\n this.state = S_ENTITY;\n this.entityReturnState = S_ATTRIB_VALUE_QUOTED;\n return;\n case NL:\n case NL_LIKE:\n case TAB:\n this.text += `${chunk.slice(start, this.prevI)} `;\n start = this.i;\n break;\n case LESS:\n this.text += chunk.slice(start, this.prevI);\n this.fail(\"disallowed character.\");\n return;\n case EOC:\n this.text += chunk.slice(start);\n return;\n default:\n }\n }\n }\n sAttribValueClosed() {\n const c = this.getCodeNorm();\n if (isS(c)) {\n this.state = S_ATTRIB;\n }\n else if (c === GREATER) {\n this.openTag();\n }\n else if (c === FORWARD_SLASH) {\n this.state = S_OPEN_TAG_SLASH;\n }\n else if (isNameStartChar(c)) {\n this.fail(\"no whitespace between attributes.\");\n this.unget();\n this.state = S_ATTRIB_NAME;\n }\n else {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n sAttribValueUnquoted() {\n // We don't do anything regarding EOL or space handling for unquoted\n // attributes. We already have failed by the time we get here, and the\n // contract that saxes upholds states that upon failure, it is not safe to\n // rely on the data passed to event handlers (other than\n // ``onerror``). Passing \"bad\" data is not a problem.\n const c = this.captureTo(ATTRIB_VALUE_UNQUOTED_TERMINATOR);\n switch (c) {\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_ATTRIB_VALUE_UNQUOTED;\n break;\n case LESS:\n this.fail(\"disallowed character.\");\n break;\n case EOC:\n break;\n default:\n if (this.text.includes(\"]]>\")) {\n this.fail(\"the string \\\"]]>\\\" is disallowed in char data.\");\n }\n this.pushAttrib(this.name, this.text);\n this.name = this.text = \"\";\n if (c === GREATER) {\n this.openTag();\n }\n else {\n this.state = S_ATTRIB;\n }\n }\n }\n sCloseTag() {\n const c = this.captureNameChars();\n if (c === GREATER) {\n this.closeTag();\n }\n else if (isS(c)) {\n this.state = S_CLOSE_TAG_SAW_WHITE;\n }\n else if (c !== EOC) {\n this.fail(\"disallowed character in closing tag.\");\n }\n }\n sCloseTagSawWhite() {\n switch (this.skipSpaces()) {\n case GREATER:\n this.closeTag();\n break;\n case EOC:\n break;\n default:\n this.fail(\"disallowed character in closing tag.\");\n }\n }\n // END OF STATE ENGINE METHODS\n handleTextInRoot() {\n // This is essentially a specialized version of captureTo which is optimized\n // for performing the ]]> check. A previous version of this code, checked\n // ``this.text`` for the presence of ]]>. It simplified the code but was\n // very costly when character data contained a lot of entities to be parsed.\n //\n // Since we are using a specialized loop, we also keep track of the presence\n // of ]]> in text data. The sequence ]]> is forbidden to appear as-is.\n //\n let { i: start, forbiddenState } = this;\n const { chunk, textHandler: handler } = this;\n // eslint-disable-next-line no-labels, no-restricted-syntax\n scanLoop: \n // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case LESS: {\n this.state = S_OPEN_WAKA;\n if (handler !== undefined) {\n const { text } = this;\n const slice = chunk.slice(start, this.prevI);\n if (text.length !== 0) {\n handler(text + slice);\n this.text = \"\";\n }\n else if (slice.length !== 0) {\n handler(slice);\n }\n }\n forbiddenState = FORBIDDEN_START;\n // eslint-disable-next-line no-labels\n break scanLoop;\n }\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_TEXT;\n if (handler !== undefined) {\n this.text += chunk.slice(start, this.prevI);\n }\n forbiddenState = FORBIDDEN_START;\n // eslint-disable-next-line no-labels\n break scanLoop;\n case CLOSE_BRACKET:\n switch (forbiddenState) {\n case FORBIDDEN_START:\n forbiddenState = FORBIDDEN_BRACKET;\n break;\n case FORBIDDEN_BRACKET:\n forbiddenState = FORBIDDEN_BRACKET_BRACKET;\n break;\n case FORBIDDEN_BRACKET_BRACKET:\n break;\n default:\n throw new Error(\"impossible state\");\n }\n break;\n case GREATER:\n if (forbiddenState === FORBIDDEN_BRACKET_BRACKET) {\n this.fail(\"the string \\\"]]>\\\" is disallowed in char data.\");\n }\n forbiddenState = FORBIDDEN_START;\n break;\n case NL_LIKE:\n if (handler !== undefined) {\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n }\n start = this.i;\n forbiddenState = FORBIDDEN_START;\n break;\n case EOC:\n if (handler !== undefined) {\n this.text += chunk.slice(start);\n }\n // eslint-disable-next-line no-labels\n break scanLoop;\n default:\n forbiddenState = FORBIDDEN_START;\n }\n }\n this.forbiddenState = forbiddenState;\n }\n handleTextOutsideRoot() {\n // This is essentially a specialized version of captureTo which is optimized\n // for a specialized task. We keep track of the presence of non-space\n // characters in the text since these are errors when appearing outside the\n // document root element.\n let { i: start } = this;\n const { chunk, textHandler: handler } = this;\n let nonSpace = false;\n // eslint-disable-next-line no-labels, no-restricted-syntax\n outRootLoop: \n // eslint-disable-next-line no-constant-condition\n while (true) {\n const code = this.getCode();\n switch (code) {\n case LESS: {\n this.state = S_OPEN_WAKA;\n if (handler !== undefined) {\n const { text } = this;\n const slice = chunk.slice(start, this.prevI);\n if (text.length !== 0) {\n handler(text + slice);\n this.text = \"\";\n }\n else if (slice.length !== 0) {\n handler(slice);\n }\n }\n // eslint-disable-next-line no-labels\n break outRootLoop;\n }\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_TEXT;\n if (handler !== undefined) {\n this.text += chunk.slice(start, this.prevI);\n }\n nonSpace = true;\n // eslint-disable-next-line no-labels\n break outRootLoop;\n case NL_LIKE:\n if (handler !== undefined) {\n this.text += `${chunk.slice(start, this.prevI)}\\n`;\n }\n start = this.i;\n break;\n case EOC:\n if (handler !== undefined) {\n this.text += chunk.slice(start);\n }\n // eslint-disable-next-line no-labels\n break outRootLoop;\n default:\n if (!isS(code)) {\n nonSpace = true;\n }\n }\n }\n if (!nonSpace) {\n return;\n }\n // We use the reportedTextBeforeRoot and reportedTextAfterRoot flags\n // to avoid reporting errors for every single character that is out of\n // place.\n if (!this.sawRoot && !this.reportedTextBeforeRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextBeforeRoot = true;\n }\n if (this.closedRoot && !this.reportedTextAfterRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextAfterRoot = true;\n }\n }\n pushAttribNS(name, value) {\n var _a;\n const { prefix, local } = this.qname(name);\n const attr = { name, prefix, local, value };\n this.attribList.push(attr);\n (_a = this.attributeHandler) === null || _a === void 0 ? void 0 : _a.call(this, attr);\n if (prefix === \"xmlns\") {\n const trimmed = value.trim();\n if (this.currentXMLVersion === \"1.0\" && trimmed === \"\") {\n this.fail(\"invalid attempt to undefine prefix in XML 1.0\");\n }\n this.topNS[local] = trimmed;\n nsPairCheck(this, local, trimmed);\n }\n else if (name === \"xmlns\") {\n const trimmed = value.trim();\n this.topNS[\"\"] = trimmed;\n nsPairCheck(this, \"\", trimmed);\n }\n }\n pushAttribPlain(name, value) {\n var _a;\n const attr = { name, value };\n this.attribList.push(attr);\n (_a = this.attributeHandler) === null || _a === void 0 ? void 0 : _a.call(this, attr);\n }\n /**\n * End parsing. This performs final well-formedness checks and resets the\n * parser to a clean state.\n *\n * @returns this\n */\n end() {\n var _a, _b;\n if (!this.sawRoot) {\n this.fail(\"document must contain a root element.\");\n }\n const { tags } = this;\n while (tags.length > 0) {\n const tag = tags.pop();\n this.fail(`unclosed tag: ${tag.name}`);\n }\n if ((this.state !== S_BEGIN) && (this.state !== S_TEXT)) {\n this.fail(\"unexpected end.\");\n }\n const { text } = this;\n if (text.length !== 0) {\n (_a = this.textHandler) === null || _a === void 0 ? void 0 : _a.call(this, text);\n this.text = \"\";\n }\n this._closed = true;\n (_b = this.endHandler) === null || _b === void 0 ? void 0 : _b.call(this);\n this._init();\n return this;\n }\n /**\n * Resolve a namespace prefix.\n *\n * @param prefix The prefix to resolve.\n *\n * @returns The namespace URI or ``undefined`` if the prefix is not defined.\n */\n resolve(prefix) {\n var _a, _b;\n let uri = this.topNS[prefix];\n if (uri !== undefined) {\n return uri;\n }\n const { tags } = this;\n for (let index = tags.length - 1; index >= 0; index--) {\n uri = tags[index].ns[prefix];\n if (uri !== undefined) {\n return uri;\n }\n }\n uri = this.ns[prefix];\n if (uri !== undefined) {\n return uri;\n }\n return (_b = (_a = this.opt).resolvePrefix) === null || _b === void 0 ? void 0 : _b.call(_a, prefix);\n }\n /**\n * Parse a qname into its prefix and local name parts.\n *\n * @param name The name to parse\n *\n * @returns\n */\n qname(name) {\n // This is faster than using name.split(\":\").\n const colon = name.indexOf(\":\");\n if (colon === -1) {\n return { prefix: \"\", local: name };\n }\n const local = name.slice(colon + 1);\n const prefix = name.slice(0, colon);\n if (prefix === \"\" || local === \"\" || local.includes(\":\")) {\n this.fail(`malformed name: ${name}.`);\n }\n return { prefix, local };\n }\n processAttribsNS() {\n var _a;\n const { attribList } = this;\n const tag = this.tag;\n {\n // add namespace info to tag\n const { prefix, local } = this.qname(tag.name);\n tag.prefix = prefix;\n tag.local = local;\n const uri = tag.uri = (_a = this.resolve(prefix)) !== null && _a !== void 0 ? _a : \"\";\n if (prefix !== \"\") {\n if (prefix === \"xmlns\") {\n this.fail(\"tags may not have \\\"xmlns\\\" as prefix.\");\n }\n if (uri === \"\") {\n this.fail(`unbound namespace prefix: ${JSON.stringify(prefix)}.`);\n tag.uri = prefix;\n }\n }\n }\n if (attribList.length === 0) {\n return;\n }\n const { attributes } = tag;\n const seen = new Set();\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (const attr of attribList) {\n const { name, prefix, local } = attr;\n let uri;\n let eqname;\n if (prefix === \"\") {\n uri = name === \"xmlns\" ? XMLNS_NAMESPACE : \"\";\n eqname = name;\n }\n else {\n uri = this.resolve(prefix);\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (uri === undefined) {\n this.fail(`unbound namespace prefix: ${JSON.stringify(prefix)}.`);\n uri = prefix;\n }\n eqname = `{${uri}}${local}`;\n }\n if (seen.has(eqname)) {\n this.fail(`duplicate attribute: ${eqname}.`);\n }\n seen.add(eqname);\n attr.uri = uri;\n attributes[name] = attr;\n }\n this.attribList = [];\n }\n processAttribsPlain() {\n const { attribList } = this;\n // eslint-disable-next-line prefer-destructuring\n const attributes = this.tag.attributes;\n for (const { name, value } of attribList) {\n if (attributes[name] !== undefined) {\n this.fail(`duplicate attribute: ${name}.`);\n }\n attributes[name] = value;\n }\n this.attribList = [];\n }\n /**\n * Handle a complete open tag. This parser code calls this once it has seen\n * the whole tag. This method checks for well-formeness and then emits\n * ``onopentag``.\n */\n openTag() {\n var _a;\n this.processAttribs();\n const { tags } = this;\n const tag = this.tag;\n tag.isSelfClosing = false;\n // There cannot be any pending text here due to the onopentagstart that was\n // necessarily emitted before we get here. So we do not check text.\n (_a = this.openTagHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n tags.push(tag);\n this.state = S_TEXT;\n this.name = \"\";\n }\n /**\n * Handle a complete self-closing tag. This parser code calls this once it has\n * seen the whole tag. This method checks for well-formeness and then emits\n * ``onopentag`` and ``onclosetag``.\n */\n openSelfClosingTag() {\n var _a, _b, _c;\n this.processAttribs();\n const { tags } = this;\n const tag = this.tag;\n tag.isSelfClosing = true;\n // There cannot be any pending text here due to the onopentagstart that was\n // necessarily emitted before we get here. So we do not check text.\n (_a = this.openTagHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n (_b = this.closeTagHandler) === null || _b === void 0 ? void 0 : _b.call(this, tag);\n const top = this.tag = (_c = tags[tags.length - 1]) !== null && _c !== void 0 ? _c : null;\n if (top === null) {\n this.closedRoot = true;\n }\n this.state = S_TEXT;\n this.name = \"\";\n }\n /**\n * Handle a complete close tag. This parser code calls this once it has seen\n * the whole tag. This method checks for well-formeness and then emits\n * ``onclosetag``.\n */\n closeTag() {\n const { tags, name } = this;\n // Our state after this will be S_TEXT, no matter what, and we can clear\n // tagName now.\n this.state = S_TEXT;\n this.name = \"\";\n if (name === \"\") {\n this.fail(\"weird empty close tag.\");\n this.text += \"\";\n return;\n }\n const handler = this.closeTagHandler;\n let l = tags.length;\n while (l-- > 0) {\n const tag = this.tag = tags.pop();\n this.topNS = tag.ns;\n handler === null || handler === void 0 ? void 0 : handler(tag);\n if (tag.name === name) {\n break;\n }\n this.fail(\"unexpected close tag.\");\n }\n if (l === 0) {\n this.closedRoot = true;\n }\n else if (l < 0) {\n this.fail(`unmatched closing tag: ${name}.`);\n this.text += ``;\n }\n }\n /**\n * Resolves an entity. Makes any necessary well-formedness checks.\n *\n * @param entity The entity to resolve.\n *\n * @returns The parsed entity.\n */\n parseEntity(entity) {\n // startsWith would be significantly slower for this test.\n if (entity[0] !== \"#\") {\n const defined = this.ENTITIES[entity];\n if (defined !== undefined) {\n return defined;\n }\n this.fail(this.isName(entity) ? \"undefined entity.\" :\n \"disallowed character in entity name.\");\n return `&${entity};`;\n }\n let num = NaN;\n if (entity[1] === \"x\" && /^#x[0-9a-f]+$/i.test(entity)) {\n num = parseInt(entity.slice(2), 16);\n }\n else if (/^#[0-9]+$/.test(entity)) {\n num = parseInt(entity.slice(1), 10);\n }\n // The character reference is required to match the CHAR production.\n if (!this.isChar(num)) {\n this.fail(\"malformed character entity.\");\n return `&${entity};`;\n }\n return String.fromCodePoint(num);\n }\n}\nexports.SaxesParser = SaxesParser;\n//# sourceMappingURL=saxes.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst oidc_client_ext_1 = require(\"@rubensworks/oidc-client-ext\");\nconst globalFetch = (request, init) => window.fetch(request, init);\nconst headersAuthenticatorDefault = () => Promise.reject(new Error(\"headersAuthenticator is not initialized yet\"));\nclass ClientAuthentication {\n constructor(loginHandler, redirectHandler, logoutHandler, sessionInfoManager, issuerConfigFetcher) {\n this.loginHandler = loginHandler;\n this.redirectHandler = redirectHandler;\n this.logoutHandler = logoutHandler;\n this.sessionInfoManager = sessionInfoManager;\n this.issuerConfigFetcher = issuerConfigFetcher;\n this.login = async (options, eventEmitter) => {\n var _a, _b;\n await this.sessionInfoManager.clear(options.sessionId);\n const redirectUrl = (0, oidc_client_ext_1.removeOidcQueryParam)((_a = options.redirectUrl) !== null && _a !== void 0 ? _a : window.location.href);\n await this.loginHandler.handle({\n ...options,\n redirectUrl,\n clientName: (_b = options.clientName) !== null && _b !== void 0 ? _b : options.clientId,\n eventEmitter,\n });\n };\n this.fetch = globalFetch;\n this.headersAuthenticator = headersAuthenticatorDefault;\n this.logout = async (sessionId) => {\n await this.logoutHandler.handle(sessionId);\n this.fetch = globalFetch;\n this.headersAuthenticator = headersAuthenticatorDefault;\n };\n this.getSessionInfo = async (sessionId) => {\n return this.sessionInfoManager.get(sessionId);\n };\n this.getAllSessionInfo = async () => {\n return this.sessionInfoManager.getAll();\n };\n this.validateCurrentSession = async (currentSessionId) => {\n const sessionInfo = await this.sessionInfoManager.get(currentSessionId);\n if (sessionInfo === undefined ||\n sessionInfo.clientAppId === undefined ||\n sessionInfo.issuer === undefined) {\n return null;\n }\n return sessionInfo;\n };\n this.handleIncomingRedirect = async (url, eventEmitter) => {\n try {\n const redirectInfo = await this.redirectHandler.handle(url, eventEmitter);\n this.fetch = redirectInfo.fetch.bind(window);\n this.headersAuthenticator = redirectInfo.headersAuthenticator;\n this.cleanUrlAfterRedirect(url);\n return {\n isLoggedIn: redirectInfo.isLoggedIn,\n webId: redirectInfo.webId,\n sessionId: redirectInfo.sessionId,\n expirationDate: redirectInfo.expirationDate,\n };\n }\n catch (err) {\n this.cleanUrlAfterRedirect(url);\n eventEmitter.emit(solid_client_authn_core_1.EVENTS.ERROR, \"redirect\", err);\n return undefined;\n }\n };\n }\n cleanUrlAfterRedirect(url) {\n const cleanedUpUrl = new URL(url);\n cleanedUpUrl.searchParams.delete(\"state\");\n cleanedUpUrl.searchParams.delete(\"code\");\n cleanedUpUrl.searchParams.delete(\"id_token\");\n cleanedUpUrl.searchParams.delete(\"access_token\");\n cleanedUpUrl.searchParams.delete(\"error\");\n cleanedUpUrl.searchParams.delete(\"error_description\");\n window.history.replaceState(null, \"\", cleanedUpUrl.toString());\n }\n}\nexports.default = ClientAuthentication;\n//# sourceMappingURL=ClientAuthentication.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Session = exports.silentlyAuthenticate = void 0;\nconst events_1 = require(\"events\");\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst uuid_1 = require(\"uuid\");\nconst dependencies_1 = require(\"./dependencies\");\nconst constant_1 = require(\"./constant\");\nasync function silentlyAuthenticate(sessionId, clientAuthn, session) {\n var _a;\n const storedSessionInfo = await clientAuthn.validateCurrentSession(sessionId);\n if (storedSessionInfo !== null) {\n window.localStorage.setItem(constant_1.KEY_CURRENT_URL, window.location.href);\n await clientAuthn.login({\n sessionId,\n prompt: \"none\",\n oidcIssuer: storedSessionInfo.issuer,\n redirectUrl: storedSessionInfo.redirectUrl,\n clientId: storedSessionInfo.clientAppId,\n clientSecret: storedSessionInfo.clientAppSecret,\n tokenType: (_a = storedSessionInfo.tokenType) !== null && _a !== void 0 ? _a : \"DPoP\",\n }, session);\n return true;\n }\n return false;\n}\nexports.silentlyAuthenticate = silentlyAuthenticate;\nfunction isLoggedIn(sessionInfo) {\n return !!(sessionInfo === null || sessionInfo === void 0 ? void 0 : sessionInfo.isLoggedIn);\n}\nclass Session extends events_1.EventEmitter {\n constructor(sessionOptions = {}, sessionId) {\n super();\n this.tokenRequestInProgress = false;\n this.login = async (options) => {\n var _a;\n await this.clientAuthentication.login({\n sessionId: this.info.sessionId,\n ...options,\n tokenType: (_a = options.tokenType) !== null && _a !== void 0 ? _a : \"DPoP\",\n }, this);\n return new Promise(() => undefined);\n };\n this.fetch = async (url, init) => {\n return this.clientAuthentication.fetch(url, init);\n };\n this.authenticateHeaders = (resource, method, headersUnauthenticated) => {\n return this.clientAuthentication.headersAuthenticator(resource, method, headersUnauthenticated);\n };\n this.internalLogout = async (emitSignal) => {\n window.localStorage.removeItem(constant_1.KEY_CURRENT_SESSION);\n await this.clientAuthentication.logout(this.info.sessionId);\n this.info.isLoggedIn = false;\n if (emitSignal) {\n this.emit(solid_client_authn_core_1.EVENTS.LOGOUT);\n }\n };\n this.logout = async () => this.internalLogout(true);\n this.handleIncomingRedirect = async (inputOptions = {}) => {\n var _a;\n if (this.info.isLoggedIn) {\n return this.info;\n }\n if (this.tokenRequestInProgress) {\n return undefined;\n }\n const options = typeof inputOptions === \"string\" ? { url: inputOptions } : inputOptions;\n const url = (_a = options.url) !== null && _a !== void 0 ? _a : window.location.href;\n this.tokenRequestInProgress = true;\n const sessionInfo = await this.clientAuthentication.handleIncomingRedirect(url, this);\n if (isLoggedIn(sessionInfo)) {\n this.setSessionInfo(sessionInfo);\n const currentUrl = window.localStorage.getItem(constant_1.KEY_CURRENT_URL);\n if (currentUrl === null) {\n this.emit(solid_client_authn_core_1.EVENTS.LOGIN);\n }\n else {\n window.localStorage.removeItem(constant_1.KEY_CURRENT_URL);\n this.emit(solid_client_authn_core_1.EVENTS.SESSION_RESTORED, currentUrl);\n }\n }\n else if (options.restorePreviousSession === true) {\n const storedSessionId = window.localStorage.getItem(constant_1.KEY_CURRENT_SESSION);\n if (storedSessionId !== null) {\n const attemptedSilentAuthentication = await silentlyAuthenticate(storedSessionId, this.clientAuthentication, this);\n if (attemptedSilentAuthentication) {\n return new Promise(() => { });\n }\n }\n }\n this.tokenRequestInProgress = false;\n return sessionInfo;\n };\n if (sessionOptions.clientAuthentication) {\n this.clientAuthentication = sessionOptions.clientAuthentication;\n }\n else if (sessionOptions.secureStorage && sessionOptions.insecureStorage) {\n this.clientAuthentication = (0, dependencies_1.getClientAuthenticationWithDependencies)({\n secureStorage: sessionOptions.secureStorage,\n insecureStorage: sessionOptions.insecureStorage,\n });\n }\n else {\n this.clientAuthentication = (0, dependencies_1.getClientAuthenticationWithDependencies)({});\n }\n if (sessionOptions.sessionInfo) {\n this.info = {\n sessionId: sessionOptions.sessionInfo.sessionId,\n isLoggedIn: false,\n webId: sessionOptions.sessionInfo.webId,\n };\n }\n else {\n this.info = {\n sessionId: sessionId !== null && sessionId !== void 0 ? sessionId : (0, uuid_1.v4)(),\n isLoggedIn: false,\n };\n }\n this.on(solid_client_authn_core_1.EVENTS.LOGIN, () => window.localStorage.setItem(constant_1.KEY_CURRENT_SESSION, this.info.sessionId));\n this.on(solid_client_authn_core_1.EVENTS.SESSION_EXPIRED, () => this.internalLogout(false));\n this.on(solid_client_authn_core_1.EVENTS.ERROR, () => this.internalLogout(false));\n }\n onLogin(callback) {\n this.on(solid_client_authn_core_1.EVENTS.LOGIN, callback);\n }\n onLogout(callback) {\n this.on(solid_client_authn_core_1.EVENTS.LOGOUT, callback);\n }\n onError(callback) {\n this.on(solid_client_authn_core_1.EVENTS.ERROR, callback);\n }\n onSessionRestore(callback) {\n this.on(solid_client_authn_core_1.EVENTS.SESSION_RESTORED, callback);\n }\n onSessionExpiration(callback) {\n this.on(solid_client_authn_core_1.EVENTS.SESSION_EXPIRED, callback);\n }\n setSessionInfo(sessionInfo) {\n this.info.isLoggedIn = sessionInfo.isLoggedIn;\n this.info.webId = sessionInfo.webId;\n this.info.sessionId = sessionInfo.sessionId;\n this.info.expirationDate = sessionInfo.expirationDate;\n this.on(solid_client_authn_core_1.EVENTS.SESSION_EXTENDED, (expiresIn) => {\n this.info.expirationDate = Date.now() + expiresIn * 1000;\n });\n }\n}\nexports.Session = Session;\n//# sourceMappingURL=Session.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KEY_CURRENT_URL = exports.KEY_CURRENT_SESSION = void 0;\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nexports.KEY_CURRENT_SESSION = `${solid_client_authn_core_1.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentSession`;\nexports.KEY_CURRENT_URL = `${solid_client_authn_core_1.SOLID_CLIENT_AUTHN_KEY_PREFIX}currentUrl`;\n//# sourceMappingURL=constant.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onSessionRestore = exports.onLogout = exports.onLogin = exports.handleIncomingRedirect = exports.logout = exports.login = exports.fetch = exports.getDefaultSession = void 0;\nconst Session_1 = require(\"./Session\");\nlet defaultSession;\nfunction getDefaultSession() {\n if (typeof defaultSession === \"undefined\") {\n defaultSession = new Session_1.Session();\n }\n return defaultSession;\n}\nexports.getDefaultSession = getDefaultSession;\nconst fetch = (...args) => {\n const session = getDefaultSession();\n return session.fetch(...args);\n};\nexports.fetch = fetch;\nconst login = (...args) => {\n const session = getDefaultSession();\n return session.login(...args);\n};\nexports.login = login;\nconst logout = (...args) => {\n const session = getDefaultSession();\n return session.logout(...args);\n};\nexports.logout = logout;\nconst handleIncomingRedirect = (...args) => {\n const session = getDefaultSession();\n return session.handleIncomingRedirect(...args);\n};\nexports.handleIncomingRedirect = handleIncomingRedirect;\nconst onLogin = (...args) => {\n const session = getDefaultSession();\n return session.onLogin(...args);\n};\nexports.onLogin = onLogin;\nconst onLogout = (...args) => {\n const session = getDefaultSession();\n return session.onLogout(...args);\n};\nexports.onLogout = onLogout;\nconst onSessionRestore = (...args) => {\n const session = getDefaultSession();\n return session.onSessionRestore(...args);\n};\nexports.onSessionRestore = onSessionRestore;\n//# sourceMappingURL=defaultSession.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getClientAuthenticationWithDependencies = void 0;\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst StorageUtility_1 = __importDefault(require(\"./storage/StorageUtility\"));\nconst ClientAuthentication_1 = __importDefault(require(\"./ClientAuthentication\"));\nconst OidcLoginHandler_1 = __importDefault(require(\"./login/oidc/OidcLoginHandler\"));\nconst AuthorizationCodeWithPkceOidcHandler_1 = __importDefault(require(\"./login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler\"));\nconst IssuerConfigFetcher_1 = __importDefault(require(\"./login/oidc/IssuerConfigFetcher\"));\nconst FallbackRedirectHandler_1 = require(\"./login/oidc/incomingRedirectHandler/FallbackRedirectHandler\");\nconst GeneralLogoutHandler_1 = __importDefault(require(\"./logout/GeneralLogoutHandler\"));\nconst SessionInfoManager_1 = require(\"./sessionInfo/SessionInfoManager\");\nconst AuthCodeRedirectHandler_1 = require(\"./login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler\");\nconst AggregateRedirectHandler_1 = __importDefault(require(\"./login/oidc/AggregateRedirectHandler\"));\nconst BrowserStorage_1 = __importDefault(require(\"./storage/BrowserStorage\"));\nconst Redirector_1 = __importDefault(require(\"./login/oidc/Redirector\"));\nconst ClientRegistrar_1 = __importDefault(require(\"./login/oidc/ClientRegistrar\"));\nconst ErrorOidcHandler_1 = require(\"./login/oidc/incomingRedirectHandler/ErrorOidcHandler\");\nconst TokenRefresher_1 = __importDefault(require(\"./login/oidc/refresh/TokenRefresher\"));\nfunction getClientAuthenticationWithDependencies(dependencies) {\n const inMemoryStorage = new solid_client_authn_core_1.InMemoryStorage();\n const secureStorage = dependencies.secureStorage || inMemoryStorage;\n const insecureStorage = dependencies.insecureStorage || new BrowserStorage_1.default();\n const storageUtility = new StorageUtility_1.default(secureStorage, insecureStorage);\n const issuerConfigFetcher = new IssuerConfigFetcher_1.default(storageUtility);\n const clientRegistrar = new ClientRegistrar_1.default(storageUtility);\n const sessionInfoManager = new SessionInfoManager_1.SessionInfoManager(storageUtility);\n const tokenRefresher = new TokenRefresher_1.default(storageUtility, issuerConfigFetcher, clientRegistrar);\n const loginHandler = new OidcLoginHandler_1.default(storageUtility, new AuthorizationCodeWithPkceOidcHandler_1.default(storageUtility, new Redirector_1.default()), issuerConfigFetcher, clientRegistrar);\n const redirectHandler = new AggregateRedirectHandler_1.default([\n new ErrorOidcHandler_1.ErrorOidcHandler(),\n new AuthCodeRedirectHandler_1.AuthCodeRedirectHandler(storageUtility, sessionInfoManager, issuerConfigFetcher, clientRegistrar, tokenRefresher),\n new FallbackRedirectHandler_1.FallbackRedirectHandler(),\n ]);\n return new ClientAuthentication_1.default(loginHandler, redirectHandler, new GeneralLogoutHandler_1.default(sessionInfoManager), sessionInfoManager, issuerConfigFetcher);\n}\nexports.getClientAuthenticationWithDependencies = getClientAuthenticationWithDependencies;\n//# sourceMappingURL=dependencies.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InMemoryStorage = exports.ConfigurationError = exports.NotImplementedError = exports.getClientAuthenticationWithDependencies = exports.Session = void 0;\nvar Session_1 = require(\"./Session\");\nObject.defineProperty(exports, \"Session\", { enumerable: true, get: function () { return Session_1.Session; } });\nvar dependencies_1 = require(\"./dependencies\");\nObject.defineProperty(exports, \"getClientAuthenticationWithDependencies\", { enumerable: true, get: function () { return dependencies_1.getClientAuthenticationWithDependencies; } });\n__exportStar(require(\"./defaultSession\"), exports);\n__exportStar(require(\"./util/worker/WindowToWorkerHandler\"), exports);\n__exportStar(require(\"./util/worker/WorkerToWindowHandler\"), exports);\nvar solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nObject.defineProperty(exports, \"NotImplementedError\", { enumerable: true, get: function () { return solid_client_authn_core_1.NotImplementedError; } });\nObject.defineProperty(exports, \"ConfigurationError\", { enumerable: true, get: function () { return solid_client_authn_core_1.ConfigurationError; } });\nObject.defineProperty(exports, \"InMemoryStorage\", { enumerable: true, get: function () { return solid_client_authn_core_1.InMemoryStorage; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nclass AggregateRedirectHandler extends solid_client_authn_core_1.AggregateHandler {\n constructor(redirectHandlers) {\n super(redirectHandlers);\n }\n}\nexports.default = AggregateRedirectHandler;\n//# sourceMappingURL=AggregateRedirectHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst oidc_client_ext_1 = require(\"@rubensworks/oidc-client-ext\");\nclass ClientRegistrar {\n constructor(storageUtility) {\n this.storageUtility = storageUtility;\n }\n async getClient(options, issuerConfig) {\n const [storedClientId, storedClientSecret,] = await Promise.all([\n this.storageUtility.getForUser(options.sessionId, \"clientId\", {\n secure: false,\n }),\n this.storageUtility.getForUser(options.sessionId, \"clientSecret\", {\n secure: false,\n }),\n ]);\n if (storedClientId) {\n return {\n clientId: storedClientId,\n clientSecret: storedClientSecret,\n clientType: \"dynamic\",\n };\n }\n try {\n const registeredClient = await (0, oidc_client_ext_1.registerClient)(options, issuerConfig);\n const infoToSave = {\n clientId: registeredClient.clientId,\n };\n if (registeredClient.clientSecret) {\n infoToSave.clientSecret = registeredClient.clientSecret;\n }\n if (registeredClient.idTokenSignedResponseAlg) {\n infoToSave.idTokenSignedResponseAlg =\n registeredClient.idTokenSignedResponseAlg;\n }\n await this.storageUtility.setForUser(options.sessionId, infoToSave, {\n secure: false,\n });\n return registeredClient;\n }\n catch (error) {\n throw new Error(`Client registration failed: [${error}]`);\n }\n }\n}\nexports.default = ClientRegistrar;\n//# sourceMappingURL=ClientRegistrar.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WELL_KNOWN_OPENID_CONFIG = void 0;\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst urlPath_1 = require(\"../../util/urlPath\");\nexports.WELL_KNOWN_OPENID_CONFIG = \".well-known/openid-configuration\";\nconst issuerConfigKeyMap = {\n issuer: {\n toKey: \"issuer\",\n convertToUrl: true,\n },\n authorization_endpoint: {\n toKey: \"authorizationEndpoint\",\n convertToUrl: true,\n },\n token_endpoint: {\n toKey: \"tokenEndpoint\",\n convertToUrl: true,\n },\n userinfo_endpoint: {\n toKey: \"userinfoEndpoint\",\n convertToUrl: true,\n },\n jwks_uri: {\n toKey: \"jwksUri\",\n convertToUrl: true,\n },\n registration_endpoint: {\n toKey: \"registrationEndpoint\",\n convertToUrl: true,\n },\n scopes_supported: { toKey: \"scopesSupported\" },\n response_types_supported: { toKey: \"responseTypesSupported\" },\n response_modes_supported: { toKey: \"responseModesSupported\" },\n grant_types_supported: { toKey: \"grantTypesSupported\" },\n acr_values_supported: { toKey: \"acrValuesSupported\" },\n subject_types_supported: { toKey: \"subjectTypesSupported\" },\n id_token_signing_alg_values_supported: {\n toKey: \"idTokenSigningAlgValuesSupported\",\n },\n id_token_encryption_alg_values_supported: {\n toKey: \"idTokenEncryptionAlgValuesSupported\",\n },\n id_token_encryption_enc_values_supported: {\n toKey: \"idTokenEncryptionEncValuesSupported\",\n },\n userinfo_signing_alg_values_supported: {\n toKey: \"userinfoSigningAlgValuesSupported\",\n },\n userinfo_encryption_alg_values_supported: {\n toKey: \"userinfoEncryptionAlgValuesSupported\",\n },\n userinfo_encryption_enc_values_supported: {\n toKey: \"userinfoEncryptionEncValuesSupported\",\n },\n request_object_signing_alg_values_supported: {\n toKey: \"requestObjectSigningAlgValuesSupported\",\n },\n request_object_encryption_alg_values_supported: {\n toKey: \"requestObjectEncryptionAlgValuesSupported\",\n },\n request_object_encryption_enc_values_supported: {\n toKey: \"requestObjectEncryptionEncValuesSupported\",\n },\n token_endpoint_auth_methods_supported: {\n toKey: \"tokenEndpointAuthMethodsSupported\",\n },\n token_endpoint_auth_signing_alg_values_supported: {\n toKey: \"tokenEndpointAuthSigningAlgValuesSupported\",\n },\n display_values_supported: { toKey: \"displayValuesSupported\" },\n claim_types_supported: { toKey: \"claimTypesSupported\" },\n claims_supported: { toKey: \"claimsSupported\" },\n service_documentation: { toKey: \"serviceDocumentation\" },\n claims_locales_supported: { toKey: \"claimsLocalesSupported\" },\n ui_locales_supported: { toKey: \"uiLocalesSupported\" },\n claims_parameter_supported: { toKey: \"claimsParameterSupported\" },\n request_parameter_supported: { toKey: \"requestParameterSupported\" },\n request_uri_parameter_supported: { toKey: \"requestUriParameterSupported\" },\n require_request_uri_registration: { toKey: \"requireRequestUriRegistration\" },\n op_policy_uri: {\n toKey: \"opPolicyUri\",\n convertToUrl: true,\n },\n op_tos_uri: {\n toKey: \"opTosUri\",\n convertToUrl: true,\n },\n};\nfunction processConfig(config) {\n const parsedConfig = {};\n Object.keys(config).forEach((key) => {\n if (issuerConfigKeyMap[key]) {\n parsedConfig[issuerConfigKeyMap[key].toKey] = config[key];\n }\n });\n if (!Array.isArray(parsedConfig.scopesSupported)) {\n parsedConfig.scopesSupported = [\"openid\"];\n }\n return parsedConfig;\n}\nclass IssuerConfigFetcher {\n constructor(storageUtility) {\n this.storageUtility = storageUtility;\n }\n static getLocalStorageKey(issuer) {\n return `issuerConfig:${issuer}`;\n }\n async fetchConfig(issuer) {\n let issuerConfig;\n const openIdConfigUrl = (0, urlPath_1.appendToUrlPathname)(issuer, exports.WELL_KNOWN_OPENID_CONFIG);\n const issuerConfigRequestBody = await window.fetch(openIdConfigUrl);\n try {\n issuerConfig = processConfig(await issuerConfigRequestBody.json());\n }\n catch (err) {\n throw new solid_client_authn_core_1.ConfigurationError(`[${issuer.toString()}] has an invalid configuration: ${err.message}`);\n }\n await this.storageUtility.set(IssuerConfigFetcher.getLocalStorageKey(issuer), JSON.stringify(issuerConfig));\n return issuerConfig;\n }\n}\nexports.default = IssuerConfigFetcher;\n//# sourceMappingURL=IssuerConfigFetcher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nfunction hasIssuer(options) {\n return typeof options.oidcIssuer === \"string\";\n}\nfunction hasRedirectUrl(options) {\n return typeof options.redirectUrl === \"string\";\n}\nclass OidcLoginHandler {\n constructor(storageUtility, oidcHandler, issuerConfigFetcher, clientRegistrar) {\n this.storageUtility = storageUtility;\n this.oidcHandler = oidcHandler;\n this.issuerConfigFetcher = issuerConfigFetcher;\n this.clientRegistrar = clientRegistrar;\n }\n async canHandle(options) {\n return hasIssuer(options) && hasRedirectUrl(options);\n }\n async handle(options) {\n if (!hasIssuer(options)) {\n throw new solid_client_authn_core_1.ConfigurationError(`OidcLoginHandler requires an OIDC issuer: missing property 'oidcIssuer' in ${JSON.stringify(options)}`);\n }\n if (!hasRedirectUrl(options)) {\n throw new solid_client_authn_core_1.ConfigurationError(`OidcLoginHandler requires a redirect URL: missing property 'redirectUrl' in ${JSON.stringify(options)}`);\n }\n const issuerConfig = await this.issuerConfigFetcher.fetchConfig(options.oidcIssuer);\n const clientRegistration = await (0, solid_client_authn_core_1.handleRegistration)(options, issuerConfig, this.storageUtility, this.clientRegistrar);\n const OidcOptions = {\n issuer: issuerConfig.issuer,\n dpop: options.tokenType.toLowerCase() === \"dpop\",\n ...options,\n issuerConfiguration: issuerConfig,\n client: clientRegistration,\n };\n return this.oidcHandler.handle(OidcOptions);\n }\n}\nexports.default = OidcLoginHandler;\n//# sourceMappingURL=OidcLoginHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass Redirector {\n redirect(redirectUrl, options) {\n if (options && options.handleRedirect) {\n options.handleRedirect(redirectUrl);\n }\n else if (options && options.redirectByReplacingState) {\n window.history.replaceState({}, \"\", redirectUrl);\n }\n else {\n window.location.href = redirectUrl;\n }\n }\n}\nexports.default = Redirector;\n//# sourceMappingURL=Redirector.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthCodeRedirectHandler = void 0;\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst oidc_client_ext_1 = require(\"@rubensworks/oidc-client-ext\");\nclass AuthCodeRedirectHandler {\n constructor(storageUtility, sessionInfoManager, issuerConfigFetcher, clientRegistrar, tokerRefresher) {\n this.storageUtility = storageUtility;\n this.sessionInfoManager = sessionInfoManager;\n this.issuerConfigFetcher = issuerConfigFetcher;\n this.clientRegistrar = clientRegistrar;\n this.tokerRefresher = tokerRefresher;\n }\n async canHandle(redirectUrl) {\n try {\n const myUrl = new URL(redirectUrl);\n return (myUrl.searchParams.get(\"code\") !== null &&\n myUrl.searchParams.get(\"state\") !== null);\n }\n catch (e) {\n throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);\n }\n }\n async handle(redirectUrl, eventEmitter) {\n if (!(await this.canHandle(redirectUrl))) {\n throw new Error(`AuthCodeRedirectHandler cannot handle [${redirectUrl}]: it is missing one of [code, state].`);\n }\n const url = new URL(redirectUrl);\n const oauthState = url.searchParams.get(\"state\");\n const storedSessionId = (await this.storageUtility.getForUser(oauthState, \"sessionId\", {\n errorIfNull: true,\n }));\n const { issuerConfig, codeVerifier, redirectUrl: storedRedirectIri, dpop: isDpop, } = await (0, solid_client_authn_core_1.loadOidcContextFromStorage)(storedSessionId, this.storageUtility, this.issuerConfigFetcher);\n if (codeVerifier === undefined) {\n throw new Error(`The code verifier for session ${storedSessionId} is missing from storage.`);\n }\n if (storedRedirectIri === undefined) {\n throw new Error(`The redirect URL for session ${storedSessionId} is missing from storage.`);\n }\n const client = await this.clientRegistrar.getClient({ sessionId: storedSessionId }, issuerConfig);\n let tokens;\n const tokenCreatedAt = Date.now();\n if (isDpop) {\n tokens = await (0, oidc_client_ext_1.getDpopToken)(issuerConfig, client, {\n grantType: \"authorization_code\",\n code: url.searchParams.get(\"code\"),\n codeVerifier,\n redirectUrl: storedRedirectIri,\n });\n window.localStorage.removeItem(`oidc.${oauthState}`);\n }\n else {\n tokens = await (0, oidc_client_ext_1.getBearerToken)(url.toString());\n }\n let refreshOptions;\n if (tokens.refreshToken !== undefined) {\n refreshOptions = {\n sessionId: storedSessionId,\n refreshToken: tokens.refreshToken,\n tokenRefresher: this.tokerRefresher,\n };\n }\n const authFetch = await (0, solid_client_authn_core_1.buildAuthenticatedFetch)(fetch, tokens.accessToken, {\n dpopKey: tokens.dpopKey,\n refreshOptions,\n eventEmitter,\n expiresIn: tokens.expiresIn,\n });\n const headersAuthenticator = await (0, solid_client_authn_core_1.buildHeadersAuthenticator)(tokens.accessToken, {\n dpopKey: tokens.dpopKey,\n });\n await this.storageUtility.setForUser(storedSessionId, {\n webId: tokens.webId,\n isLoggedIn: \"true\",\n }, { secure: true });\n url.searchParams.delete(\"code\");\n await this.storageUtility.setForUser(storedSessionId, {\n redirectUrl: url.toString(),\n }, {\n secure: false,\n });\n const sessionInfo = await this.sessionInfoManager.get(storedSessionId);\n if (!sessionInfo) {\n throw new Error(`Could not retrieve session: [${storedSessionId}].`);\n }\n return Object.assign(sessionInfo, {\n fetch: authFetch,\n headersAuthenticator,\n expirationDate: typeof tokens.expiresIn === \"number\"\n ? tokenCreatedAt + tokens.expiresIn * 1000\n : null,\n });\n }\n}\nexports.AuthCodeRedirectHandler = AuthCodeRedirectHandler;\n//# sourceMappingURL=AuthCodeRedirectHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ErrorOidcHandler = void 0;\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst SessionInfoManager_1 = require(\"../../../sessionInfo/SessionInfoManager\");\nclass ErrorOidcHandler {\n async canHandle(redirectUrl) {\n try {\n return new URL(redirectUrl).searchParams.has(\"error\");\n }\n catch (e) {\n throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);\n }\n }\n async handle(redirectUrl, eventEmitter) {\n if (eventEmitter !== undefined) {\n const url = new URL(redirectUrl);\n const errorUrl = url.searchParams.get(\"error\");\n const errorDescriptionUrl = url.searchParams.get(\"error_description\");\n eventEmitter.emit(solid_client_authn_core_1.EVENTS.ERROR, errorUrl, errorDescriptionUrl);\n }\n return (0, SessionInfoManager_1.getUnauthenticatedSession)();\n }\n}\nexports.ErrorOidcHandler = ErrorOidcHandler;\n//# sourceMappingURL=ErrorOidcHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FallbackRedirectHandler = void 0;\nconst SessionInfoManager_1 = require(\"../../../sessionInfo/SessionInfoManager\");\nclass FallbackRedirectHandler {\n async canHandle(redirectUrl) {\n try {\n new URL(redirectUrl);\n return true;\n }\n catch (e) {\n throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);\n }\n }\n async handle(_redirectUrl) {\n return (0, SessionInfoManager_1.getUnauthenticatedSession)();\n }\n}\nexports.FallbackRedirectHandler = FallbackRedirectHandler;\n//# sourceMappingURL=FallbackRedirectHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst oidc_client_ext_1 = require(\"@rubensworks/oidc-client-ext\");\nclass AuthorizationCodeWithPkceOidcHandler {\n constructor(storageUtility, redirector) {\n this.storageUtility = storageUtility;\n this.redirector = redirector;\n }\n async canHandle(oidcLoginOptions) {\n return !!(oidcLoginOptions.issuerConfiguration.grantTypesSupported &&\n oidcLoginOptions.issuerConfiguration.grantTypesSupported.indexOf(\"authorization_code\") > -1);\n }\n async handle(oidcLoginOptions) {\n var _a;\n const oidcOptions = {\n authority: oidcLoginOptions.issuer.toString(),\n client_id: oidcLoginOptions.client.clientId,\n client_secret: oidcLoginOptions.client.clientSecret,\n redirect_uri: oidcLoginOptions.redirectUrl.toString(),\n post_logout_redirect_uri: oidcLoginOptions.redirectUrl.toString(),\n response_type: \"code\",\n scope: solid_client_authn_core_1.DEFAULT_SCOPES,\n filterProtocolClaims: true,\n loadUserInfo: false,\n code_verifier: true,\n prompt: (_a = oidcLoginOptions.prompt) !== null && _a !== void 0 ? _a : \"consent\",\n };\n const oidcClientLibrary = new oidc_client_ext_1.OidcClient(oidcOptions);\n const { redirector } = this;\n const storage = this.storageUtility;\n try {\n const signingRequest = await oidcClientLibrary.createSigninRequest();\n await Promise.all([\n storage.setForUser(signingRequest.state._id, {\n sessionId: oidcLoginOptions.sessionId,\n }),\n storage.setForUser(oidcLoginOptions.sessionId, {\n codeVerifier: signingRequest.state._code_verifier,\n issuer: oidcLoginOptions.issuer.toString(),\n redirectUrl: oidcLoginOptions.redirectUrl,\n dpop: oidcLoginOptions.dpop ? \"true\" : \"false\",\n }),\n ]);\n redirector.redirect(signingRequest.url.toString(), {\n handleRedirect: oidcLoginOptions.handleRedirect,\n });\n }\n catch (err) {\n console.error(err);\n }\n return undefined;\n }\n}\nexports.default = AuthorizationCodeWithPkceOidcHandler;\n//# sourceMappingURL=AuthorizationCodeWithPkceOidcHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst oidc_client_ext_1 = require(\"@rubensworks/oidc-client-ext\");\nclass TokenRefresher {\n constructor(storageUtility, issuerConfigFetcher, clientRegistrar) {\n this.storageUtility = storageUtility;\n this.issuerConfigFetcher = issuerConfigFetcher;\n this.clientRegistrar = clientRegistrar;\n }\n async refresh(sessionId, refreshToken, dpopKey, eventEmitter) {\n const oidcContext = await (0, solid_client_authn_core_1.loadOidcContextFromStorage)(sessionId, this.storageUtility, this.issuerConfigFetcher);\n const clientInfo = await this.clientRegistrar.getClient({ sessionId }, oidcContext.issuerConfig);\n if (refreshToken === undefined) {\n throw new Error(`Session [${sessionId}] has no refresh token to allow it to refresh its access token.`);\n }\n if (oidcContext.dpop && dpopKey === undefined) {\n throw new Error(`For session [${sessionId}], the key bound to the DPoP access token must be provided to refresh said access token.`);\n }\n const tokenSet = await (0, oidc_client_ext_1.refresh)(refreshToken, oidcContext.issuerConfig, clientInfo, dpopKey);\n if (tokenSet.refreshToken !== undefined) {\n eventEmitter === null || eventEmitter === void 0 ? void 0 : eventEmitter.emit(solid_client_authn_core_1.EVENTS.NEW_REFRESH_TOKEN, tokenSet.refreshToken);\n await this.storageUtility.setForUser(sessionId, {\n refreshToken: tokenSet.refreshToken,\n });\n }\n return tokenSet;\n }\n}\nexports.default = TokenRefresher;\n//# sourceMappingURL=TokenRefresher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass GeneralLogoutHandler {\n constructor(sessionInfoManager) {\n this.sessionInfoManager = sessionInfoManager;\n }\n async canHandle() {\n return true;\n }\n async handle(userId) {\n await this.sessionInfoManager.clear(userId);\n }\n}\nexports.default = GeneralLogoutHandler;\n//# sourceMappingURL=GeneralLogoutHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionInfoManager = exports.clear = exports.getUnauthenticatedSession = void 0;\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nconst uuid_1 = require(\"uuid\");\nconst oidc_client_ext_1 = require(\"@rubensworks/oidc-client-ext\");\nfunction getUnauthenticatedSession() {\n return {\n isLoggedIn: false,\n sessionId: (0, uuid_1.v4)(),\n fetch,\n headersAuthenticator: async (resource, method, headers) => headers,\n };\n}\nexports.getUnauthenticatedSession = getUnauthenticatedSession;\nasync function clear(sessionId, storage) {\n await Promise.all([\n storage.deleteAllUserData(sessionId, { secure: false }),\n storage.deleteAllUserData(sessionId, { secure: true }),\n storage.delete(\"clientKey\", { secure: false }),\n ]);\n await (0, oidc_client_ext_1.clearOidcPersistentStorage)();\n}\nexports.clear = clear;\nclass SessionInfoManager {\n constructor(storageUtility) {\n this.storageUtility = storageUtility;\n }\n update(_sessionId, _options) {\n throw new Error(\"Not Implemented\");\n }\n async get(sessionId) {\n var _a;\n const isLoggedIn = await this.storageUtility.getForUser(sessionId, \"isLoggedIn\", {\n secure: true,\n });\n const webId = await this.storageUtility.getForUser(sessionId, \"webId\", {\n secure: true,\n });\n const clientId = await this.storageUtility.getForUser(sessionId, \"clientId\", {\n secure: false,\n });\n const clientSecret = await this.storageUtility.getForUser(sessionId, \"clientSecret\", {\n secure: false,\n });\n const redirectUrl = await this.storageUtility.getForUser(sessionId, \"redirectUrl\", {\n secure: false,\n });\n const refreshToken = await this.storageUtility.getForUser(sessionId, \"refreshToken\", {\n secure: true,\n });\n const issuer = await this.storageUtility.getForUser(sessionId, \"issuer\", {\n secure: false,\n });\n const tokenType = (_a = (await this.storageUtility.getForUser(sessionId, \"tokenType\", {\n secure: false,\n }))) !== null && _a !== void 0 ? _a : \"DPoP\";\n if (!(0, solid_client_authn_core_1.isSupportedTokenType)(tokenType)) {\n throw new Error(`Tokens of type [${tokenType}] are not supported.`);\n }\n if (clientId === undefined &&\n isLoggedIn === undefined &&\n webId === undefined &&\n refreshToken === undefined) {\n return undefined;\n }\n return {\n sessionId,\n webId,\n isLoggedIn: isLoggedIn === \"true\",\n redirectUrl,\n refreshToken,\n issuer,\n clientAppId: clientId,\n clientAppSecret: clientSecret,\n tokenType,\n };\n }\n async getAll() {\n throw new Error(\"Not implemented\");\n }\n async clear(sessionId) {\n return clear(sessionId, this.storageUtility);\n }\n async register(_sessionId) {\n throw new Error(\"Not implemented\");\n }\n async getRegisteredSessionIdAll() {\n throw new Error(\"Not implemented\");\n }\n async clearAll() {\n throw new Error(\"Not implemented\");\n }\n}\nexports.SessionInfoManager = SessionInfoManager;\n//# sourceMappingURL=SessionInfoManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass BrowserStorage {\n get storage() {\n return window.localStorage;\n }\n async get(key) {\n return this.storage.getItem(key) || undefined;\n }\n async set(key, value) {\n this.storage.setItem(key, value);\n }\n async delete(key) {\n this.storage.removeItem(key);\n }\n}\nexports.default = BrowserStorage;\n//# sourceMappingURL=BrowserStorage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst solid_client_authn_core_1 = require(\"@rubensworks/solid-client-authn-core\");\nclass StorageUtilityBrowser extends solid_client_authn_core_1.StorageUtility {\n constructor(secureStorage, insecureStorage) {\n super(secureStorage, insecureStorage);\n }\n}\nexports.default = StorageUtilityBrowser;\n//# sourceMappingURL=StorageUtility.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.appendToUrlPathname = void 0;\nfunction appendToUrlPathname(url, append) {\n const parsedUrl = new URL(url);\n const path = parsedUrl.pathname;\n parsedUrl.pathname = `${path}${path.endsWith(\"/\") ? \"\" : \"/\"}${append.startsWith(\"/\") ? append.substring(1) : append}`;\n return parsedUrl.toString();\n}\nexports.appendToUrlPathname = appendToUrlPathname;\n//# sourceMappingURL=urlPath.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WindowToWorkerHandler = void 0;\nconst WorkerToWindowHandler_1 = require(\"./WorkerToWindowHandler\");\nclass WindowToWorkerHandler {\n constructor(windowSelf, worker, session) {\n this.windowSelf = windowSelf;\n this.worker = worker;\n this.session = session;\n }\n onmessage(messageEvent) {\n if (typeof messageEvent.data === \"object\" &&\n WorkerToWindowHandler_1.WorkerToWindowHandler.MESSAGE_KEY_POST in messageEvent.data) {\n const message = messageEvent.data[WorkerToWindowHandler_1.WorkerToWindowHandler.MESSAGE_KEY_POST];\n this.session\n .authenticateHeaders(message.resource, message.method, new Headers(message.headersUnauthenticatedRaw))\n .then((headersAuthenticated) => {\n const messageResponse = {\n messageId: message.messageId,\n headersAuthenticatedRaw: [...headersAuthenticated.entries()],\n };\n this.worker.postMessage({\n [WorkerToWindowHandler_1.WorkerToWindowHandler.MESSAGE_KEY_RESPONSE]: messageResponse,\n });\n })\n .catch((error) => {\n const messageResponse = {\n messageId: message.messageId,\n errorMessage: error.message,\n };\n this.worker.postMessage({\n [WorkerToWindowHandler_1.WorkerToWindowHandler.MESSAGE_KEY_RESPONSE]: messageResponse,\n });\n });\n return true;\n }\n return false;\n }\n}\nexports.WindowToWorkerHandler = WindowToWorkerHandler;\n//# sourceMappingURL=WindowToWorkerHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WorkerToWindowHandler = void 0;\nclass WorkerToWindowHandler {\n constructor(workerSelf) {\n this.workerSelf = workerSelf;\n this.messageCounter = 0;\n this.messageReceiveCallbackBuffer = {};\n }\n onmessage(messageEvent) {\n if (typeof messageEvent.data === \"object\" &&\n WorkerToWindowHandler.MESSAGE_KEY_RESPONSE in messageEvent.data) {\n const message = messageEvent.data[WorkerToWindowHandler.MESSAGE_KEY_RESPONSE];\n const callback = this.messageReceiveCallbackBuffer[message.messageId];\n if (!callback) {\n throw new Error(`Received unexpected authenticated headers response for id ${message.messageId}`);\n }\n if (message.errorMessage) {\n callback.reject(new Error(message.errorMessage));\n }\n else {\n callback.resolve(new Headers(message.headersAuthenticatedRaw));\n }\n delete this.messageReceiveCallbackBuffer[message.messageId];\n return true;\n }\n return false;\n }\n buildAuthenticatedFetch() {\n return async (input, init) => {\n const inputRaw = typeof input === \"string\";\n const inputURL = input instanceof URL;\n const headersAuthenticated = await this.authenticateHeaders(inputRaw ? input : inputURL ? input.toString() : input.url, (inputRaw || inputURL ? init === null || init === void 0 ? void 0 : init.method : input.method) || \"get\", new Headers(inputURL || inputRaw || !input.headers ? init === null || init === void 0 ? void 0 : init.headers : input.headers));\n if (typeof input !== \"string\") {\n return global.fetch({ ...input, headers: headersAuthenticated }, { ...init });\n }\n return global.fetch(input, { ...init, headers: headersAuthenticated });\n };\n }\n authenticateHeaders(resource, method, headers) {\n const messageId = this.messageCounter;\n const promise = new Promise((resolve, reject) => {\n this.messageReceiveCallbackBuffer[messageId] = { resolve, reject };\n });\n this.messageCounter += 1;\n const message = {\n messageId,\n resource,\n method,\n headersUnauthenticatedRaw: [...headers.entries()],\n };\n this.workerSelf.postMessage({\n [WorkerToWindowHandler.MESSAGE_KEY_POST]: message,\n });\n return promise;\n }\n}\nexports.WorkerToWindowHandler = WorkerToWindowHandler;\nWorkerToWindowHandler.MESSAGE_KEY_POST = \"solid-client-authn-js.requestUnauthenticated\";\nWorkerToWindowHandler.MESSAGE_KEY_RESPONSE = \"solid-client-authn-js.headersAuthenticated\";\n//# sourceMappingURL=WorkerToWindowHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateDpopKeyPair = exports.createDpopHeader = void 0;\nconst jose_1 = require(\"jose\");\nconst uuid_1 = require(\"uuid\");\nconst constant_1 = require(\"../constant\");\nfunction normalizeHTU(audience) {\n const audienceUrl = new URL(audience);\n return new URL(audienceUrl.pathname, audienceUrl.origin).toString();\n}\nasync function createDpopHeader(audience, method, dpopKey) {\n return new jose_1.SignJWT({\n htu: normalizeHTU(audience),\n htm: method.toUpperCase(),\n jti: (0, uuid_1.v4)(),\n })\n .setProtectedHeader({\n alg: constant_1.PREFERRED_SIGNING_ALG[0],\n jwk: dpopKey.publicKey,\n typ: \"dpop+jwt\",\n })\n .setIssuedAt()\n .sign(dpopKey.privateKey, {});\n}\nexports.createDpopHeader = createDpopHeader;\nasync function generateDpopKeyPair() {\n const { privateKey, publicKey } = await (0, jose_1.generateKeyPair)(constant_1.PREFERRED_SIGNING_ALG[0]);\n const dpopKeyPair = {\n privateKey,\n publicKey: await (0, jose_1.exportJWK)(publicKey),\n };\n [dpopKeyPair.publicKey.alg] = constant_1.PREFERRED_SIGNING_ALG;\n return dpopKeyPair;\n}\nexports.generateDpopKeyPair = generateDpopKeyPair;\n//# sourceMappingURL=dpopUtils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildHeadersAuthenticator = exports.buildAuthenticatedFetch = exports.DEFAULT_EXPIRATION_TIME_SECONDS = void 0;\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst constant_1 = require(\"../constant\");\nconst dpopUtils_1 = require(\"./dpopUtils\");\nconst OidcProviderError_1 = require(\"../errors/OidcProviderError\");\nconst InvalidResponseError_1 = require(\"../errors/InvalidResponseError\");\nexports.DEFAULT_EXPIRATION_TIME_SECONDS = 600;\nfunction isExpectedAuthError(statusCode) {\n return [401, 403].includes(statusCode);\n}\nasync function buildDpopFetchOptions(targetUrl, authToken, dpopKey, defaultOptions) {\n var _a;\n const headers = new cross_fetch_1.Headers(defaultOptions === null || defaultOptions === void 0 ? void 0 : defaultOptions.headers);\n headers.set(\"Authorization\", `DPoP ${authToken}`);\n headers.set(\"DPoP\", await (0, dpopUtils_1.createDpopHeader)(targetUrl, (_a = defaultOptions === null || defaultOptions === void 0 ? void 0 : defaultOptions.method) !== null && _a !== void 0 ? _a : \"get\", dpopKey));\n return {\n ...defaultOptions,\n headers,\n };\n}\nasync function buildAuthenticatedHeaders(targetUrl, authToken, dpopKey, defaultOptions) {\n if (dpopKey !== undefined) {\n return buildDpopFetchOptions(targetUrl, authToken, dpopKey, defaultOptions);\n }\n const headers = new cross_fetch_1.Headers(defaultOptions === null || defaultOptions === void 0 ? void 0 : defaultOptions.headers);\n headers.set(\"Authorization\", `Bearer ${authToken}`);\n return {\n ...defaultOptions,\n headers,\n };\n}\nasync function makeAuthenticatedRequest(unauthFetch, accessToken, url, defaultRequestInit, dpopKey) {\n return unauthFetch(url, await buildAuthenticatedHeaders(url.toString(), accessToken, dpopKey, defaultRequestInit));\n}\nasync function refreshAccessToken(refreshOptions, dpopKey, eventEmitter) {\n var _a;\n const tokenSet = await refreshOptions.tokenRefresher.refresh(refreshOptions.sessionId, refreshOptions.refreshToken, dpopKey);\n eventEmitter === null || eventEmitter === void 0 ? void 0 : eventEmitter.emit(constant_1.EVENTS.SESSION_EXTENDED, (_a = tokenSet.expiresIn) !== null && _a !== void 0 ? _a : exports.DEFAULT_EXPIRATION_TIME_SECONDS);\n if (typeof tokenSet.refreshToken === \"string\") {\n eventEmitter === null || eventEmitter === void 0 ? void 0 : eventEmitter.emit(constant_1.EVENTS.NEW_REFRESH_TOKEN, tokenSet.refreshToken);\n }\n return {\n accessToken: tokenSet.accessToken,\n refreshToken: tokenSet.refreshToken,\n expiresIn: tokenSet.expiresIn,\n };\n}\nconst computeRefreshDelay = (expiresIn) => {\n if (expiresIn !== undefined) {\n return expiresIn - constant_1.REFRESH_BEFORE_EXPIRATION_SECONDS > 0\n ?\n expiresIn - constant_1.REFRESH_BEFORE_EXPIRATION_SECONDS\n : expiresIn;\n }\n return exports.DEFAULT_EXPIRATION_TIME_SECONDS;\n};\nasync function buildAuthenticatedFetch(unauthFetch, accessToken, options) {\n var _a;\n let currentAccessToken = accessToken;\n let latestTimeout;\n const currentRefreshOptions = options === null || options === void 0 ? void 0 : options.refreshOptions;\n if (currentRefreshOptions !== undefined) {\n const proactivelyRefreshToken = async () => {\n var _a, _b, _c, _d;\n try {\n const { accessToken: refreshedAccessToken, refreshToken, expiresIn, } = await refreshAccessToken(currentRefreshOptions, options.dpopKey, options.eventEmitter);\n currentAccessToken = refreshedAccessToken;\n if (refreshToken !== undefined) {\n currentRefreshOptions.refreshToken = refreshToken;\n }\n clearTimeout(latestTimeout);\n latestTimeout = setTimeout(proactivelyRefreshToken, computeRefreshDelay(expiresIn) * 1000);\n (_a = options.eventEmitter) === null || _a === void 0 ? void 0 : _a.emit(constant_1.EVENTS.TIMEOUT_SET, latestTimeout);\n }\n catch (e) {\n if (e instanceof OidcProviderError_1.OidcProviderError) {\n (_b = options === null || options === void 0 ? void 0 : options.eventEmitter) === null || _b === void 0 ? void 0 : _b.emit(constant_1.EVENTS.ERROR, e.error, e.errorDescription);\n (_c = options === null || options === void 0 ? void 0 : options.eventEmitter) === null || _c === void 0 ? void 0 : _c.emit(constant_1.EVENTS.SESSION_EXPIRED);\n }\n if (e instanceof InvalidResponseError_1.InvalidResponseError &&\n e.missingFields.includes(\"access_token\")) {\n (_d = options === null || options === void 0 ? void 0 : options.eventEmitter) === null || _d === void 0 ? void 0 : _d.emit(constant_1.EVENTS.SESSION_EXPIRED);\n }\n }\n };\n latestTimeout = setTimeout(proactivelyRefreshToken, computeRefreshDelay(options.expiresIn) * 1000);\n (_a = options.eventEmitter) === null || _a === void 0 ? void 0 : _a.emit(constant_1.EVENTS.TIMEOUT_SET, latestTimeout);\n }\n else if (options !== undefined && options.eventEmitter !== undefined) {\n const expirationTimeout = setTimeout(() => {\n options.eventEmitter.emit(constant_1.EVENTS.SESSION_EXPIRED);\n }, computeRefreshDelay(options.expiresIn) * 1000);\n options.eventEmitter.emit(constant_1.EVENTS.TIMEOUT_SET, expirationTimeout);\n }\n return async (url, requestInit) => {\n let response = await makeAuthenticatedRequest(unauthFetch, currentAccessToken, url, requestInit, options === null || options === void 0 ? void 0 : options.dpopKey);\n const failedButNotExpectedAuthError = !response.ok && !isExpectedAuthError(response.status);\n if (response.ok || failedButNotExpectedAuthError) {\n return response;\n }\n const hasBeenRedirected = response.url !== url;\n if (hasBeenRedirected && (options === null || options === void 0 ? void 0 : options.dpopKey) !== undefined) {\n response = await makeAuthenticatedRequest(unauthFetch, currentAccessToken, response.url, requestInit, options.dpopKey);\n }\n return response;\n };\n}\nexports.buildAuthenticatedFetch = buildAuthenticatedFetch;\nasync function buildHeadersAuthenticator(accessToken, options) {\n return async (resource, method, headersUnauthenticated) => {\n const headersAuthenticated = new cross_fetch_1.Headers((await buildAuthenticatedHeaders(resource.toString(), accessToken, options === null || options === void 0 ? void 0 : options.dpopKey, { method })).headers);\n headersUnauthenticated.forEach((value, key) => {\n if (!headersAuthenticated.has(key)) {\n headersAuthenticated.set(key, value);\n }\n });\n return headersAuthenticated;\n };\n}\nexports.buildHeadersAuthenticator = buildHeadersAuthenticator;\n//# sourceMappingURL=fetchFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_SCOPES = exports.REFRESH_BEFORE_EXPIRATION_SECONDS = exports.EVENTS = exports.PREFERRED_SIGNING_ALG = exports.SOLID_CLIENT_AUTHN_KEY_PREFIX = void 0;\nexports.SOLID_CLIENT_AUTHN_KEY_PREFIX = \"solidClientAuthn:\";\nexports.PREFERRED_SIGNING_ALG = [\"ES256\", \"RS256\"];\nexports.EVENTS = {\n ERROR: \"error\",\n LOGIN: \"login\",\n LOGOUT: \"logout\",\n NEW_REFRESH_TOKEN: \"newRefreshToken\",\n SESSION_EXPIRED: \"sessionExpired\",\n SESSION_EXTENDED: \"sessionExtended\",\n SESSION_RESTORED: \"sessionRestore\",\n TIMEOUT_SET: \"timeoutSet\",\n};\nexports.REFRESH_BEFORE_EXPIRATION_SECONDS = 5;\nconst SCOPE_OPENID = \"openid\";\nconst SCOPE_OFFLINE = \"offline_access\";\nconst SCOPE_WEBID = \"webid\";\nexports.DEFAULT_SCOPES = [SCOPE_OPENID, SCOPE_OFFLINE, SCOPE_WEBID].join(\" \");\n//# sourceMappingURL=constant.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass ConfigurationError extends Error {\n constructor(message) {\n super(message);\n }\n}\nexports.default = ConfigurationError;\n//# sourceMappingURL=ConfigurationError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass InruptError extends Error {\n constructor(messageOrIri, messageParams, appendErrorIri = true) {\n super(typeof messageOrIri === \"string\"\n ? InruptError.substituteParams(messageOrIri, messageParams)\n : InruptError.appendErrorIri(InruptError.lookupErrorIri(messageOrIri, messageParams), messageOrIri, appendErrorIri));\n }\n httpResponse(httpErrorResponse, appendHttpDetails = true) {\n this.message = InruptError.appendHttpResponseDetails(this.message, httpErrorResponse, appendHttpDetails);\n this.httpErrorResponse = httpErrorResponse;\n return this;\n }\n hasHttpResponse() {\n return this.httpErrorResponse !== undefined;\n }\n getHttpResponse() {\n return this.httpErrorResponse;\n }\n getHttpStatusCode() {\n if (this.httpErrorResponse === undefined) {\n throw new InruptError(\"This InruptError was not provided with a HTTP response - so we can't get its HTTP Status Code.\");\n }\n return this.httpErrorResponse.status;\n }\n getHttpStatusText() {\n if (this.httpErrorResponse === undefined) {\n throw new InruptError(\"This InruptError was not provided with a HTTP response - so we can't get its HTTP Status Text!\");\n }\n return this.httpErrorResponse.statusText;\n }\n static determineIfVocabTerm(value) {\n if (value.strict !== undefined) {\n return true;\n }\n return false;\n }\n static lookupErrorIri(iri, messageParams) {\n if (InruptError.determineIfVocabTerm(iri)) {\n const message = messageParams === undefined\n ? iri.message\n : iri.messageParams(...messageParams);\n return message === undefined\n ? `Looked up error message IRI [${iri.value}], but found no message value.`\n : message;\n }\n return `Error message looked up at: [${iri.value}]${messageParams === undefined\n ? \"\"\n : `, with params [${messageParams.toString()}]`}`;\n }\n static appendHttpResponseDetails(message, response, append) {\n if (append && typeof response !== \"undefined\") {\n return `${message} HTTP details: status code [${response.status}], status text [${response.statusText}].`;\n }\n return message;\n }\n static appendErrorIri(message, iri, append) {\n return append ? `${message} Error IRI: [${iri.value}].` : message;\n }\n static substituteParams(message, params) {\n let fullMessage = message;\n if (params !== undefined) {\n const paramsRequired = message.split(\"{{\").length - 1;\n if (paramsRequired !== params.length) {\n throw new Error(`Setting parameters on message [${message}], but it requires [${paramsRequired}] params and we received [${params.length}].`);\n }\n for (let i = 0; i < params.length; i += 1) {\n const marker = `{{${i}}}`;\n fullMessage = fullMessage.replace(marker, params[i]);\n }\n }\n return fullMessage;\n }\n}\nexports.default = InruptError;\n//# sourceMappingURL=InruptError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidResponseError = void 0;\nclass InvalidResponseError extends Error {\n constructor(missingFields) {\n super(`Invalid response from OIDC provider: missing fields ${missingFields}`);\n this.missingFields = missingFields;\n }\n}\nexports.InvalidResponseError = InvalidResponseError;\n//# sourceMappingURL=InvalidResponseError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass NotImplementedError extends Error {\n constructor(methodName) {\n super(`[${methodName}] is not implemented`);\n }\n}\nexports.default = NotImplementedError;\n//# sourceMappingURL=NotImplementedError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OidcProviderError = void 0;\nclass OidcProviderError extends Error {\n constructor(message, error, errorDescription) {\n super(message);\n this.error = error;\n this.errorDescription = errorDescription;\n }\n}\nexports.OidcProviderError = OidcProviderError;\n//# sourceMappingURL=OidcProviderError.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StorageUtilityGetResponse = exports.StorageUtilityMock = exports.mockStorageUtility = exports.mockStorage = exports.buildHeadersAuthenticator = exports.buildAuthenticatedFetch = exports.generateDpopKeyPair = exports.createDpopHeader = exports.OidcProviderError = exports.InvalidResponseError = exports.NotImplementedError = exports.ConfigurationError = exports.InMemoryStorage = exports.getSessionIdFromOauthState = exports.saveSessionInfoToStorage = exports.loadOidcContextFromStorage = exports.StorageUtility = exports.determineSigningAlg = exports.handleRegistration = exports.USER_SESSION_PREFIX = exports.isSupportedTokenType = exports.fetchJwks = exports.getWebidFromTokenPayload = exports.AggregateHandler = void 0;\n__exportStar(require(\"./constant\"), exports);\nvar AggregateHandler_1 = require(\"./util/handlerPattern/AggregateHandler\");\nObject.defineProperty(exports, \"AggregateHandler\", { enumerable: true, get: function () { return __importDefault(AggregateHandler_1).default; } });\nvar token_1 = require(\"./util/token\");\nObject.defineProperty(exports, \"getWebidFromTokenPayload\", { enumerable: true, get: function () { return token_1.getWebidFromTokenPayload; } });\nObject.defineProperty(exports, \"fetchJwks\", { enumerable: true, get: function () { return token_1.fetchJwks; } });\nvar ISessionInfo_1 = require(\"./sessionInfo/ISessionInfo\");\nObject.defineProperty(exports, \"isSupportedTokenType\", { enumerable: true, get: function () { return ISessionInfo_1.isSupportedTokenType; } });\nvar ISessionInfoManager_1 = require(\"./sessionInfo/ISessionInfoManager\");\nObject.defineProperty(exports, \"USER_SESSION_PREFIX\", { enumerable: true, get: function () { return ISessionInfoManager_1.USER_SESSION_PREFIX; } });\nvar IClientRegistrar_1 = require(\"./login/oidc/IClientRegistrar\");\nObject.defineProperty(exports, \"handleRegistration\", { enumerable: true, get: function () { return IClientRegistrar_1.handleRegistration; } });\nObject.defineProperty(exports, \"determineSigningAlg\", { enumerable: true, get: function () { return IClientRegistrar_1.determineSigningAlg; } });\nvar StorageUtility_1 = require(\"./storage/StorageUtility\");\nObject.defineProperty(exports, \"StorageUtility\", { enumerable: true, get: function () { return __importDefault(StorageUtility_1).default; } });\nObject.defineProperty(exports, \"loadOidcContextFromStorage\", { enumerable: true, get: function () { return StorageUtility_1.loadOidcContextFromStorage; } });\nObject.defineProperty(exports, \"saveSessionInfoToStorage\", { enumerable: true, get: function () { return StorageUtility_1.saveSessionInfoToStorage; } });\nObject.defineProperty(exports, \"getSessionIdFromOauthState\", { enumerable: true, get: function () { return StorageUtility_1.getSessionIdFromOauthState; } });\nvar InMemoryStorage_1 = require(\"./storage/InMemoryStorage\");\nObject.defineProperty(exports, \"InMemoryStorage\", { enumerable: true, get: function () { return __importDefault(InMemoryStorage_1).default; } });\nvar ConfigurationError_1 = require(\"./errors/ConfigurationError\");\nObject.defineProperty(exports, \"ConfigurationError\", { enumerable: true, get: function () { return __importDefault(ConfigurationError_1).default; } });\nvar NotImplementedError_1 = require(\"./errors/NotImplementedError\");\nObject.defineProperty(exports, \"NotImplementedError\", { enumerable: true, get: function () { return __importDefault(NotImplementedError_1).default; } });\nvar InvalidResponseError_1 = require(\"./errors/InvalidResponseError\");\nObject.defineProperty(exports, \"InvalidResponseError\", { enumerable: true, get: function () { return InvalidResponseError_1.InvalidResponseError; } });\nvar OidcProviderError_1 = require(\"./errors/OidcProviderError\");\nObject.defineProperty(exports, \"OidcProviderError\", { enumerable: true, get: function () { return OidcProviderError_1.OidcProviderError; } });\nvar dpopUtils_1 = require(\"./authenticatedFetch/dpopUtils\");\nObject.defineProperty(exports, \"createDpopHeader\", { enumerable: true, get: function () { return dpopUtils_1.createDpopHeader; } });\nObject.defineProperty(exports, \"generateDpopKeyPair\", { enumerable: true, get: function () { return dpopUtils_1.generateDpopKeyPair; } });\nvar fetchFactory_1 = require(\"./authenticatedFetch/fetchFactory\");\nObject.defineProperty(exports, \"buildAuthenticatedFetch\", { enumerable: true, get: function () { return fetchFactory_1.buildAuthenticatedFetch; } });\nObject.defineProperty(exports, \"buildHeadersAuthenticator\", { enumerable: true, get: function () { return fetchFactory_1.buildHeadersAuthenticator; } });\nvar StorageUtility_2 = require(\"./storage/__mocks__/StorageUtility\");\nObject.defineProperty(exports, \"mockStorage\", { enumerable: true, get: function () { return StorageUtility_2.mockStorage; } });\nObject.defineProperty(exports, \"mockStorageUtility\", { enumerable: true, get: function () { return StorageUtility_2.mockStorageUtility; } });\nObject.defineProperty(exports, \"StorageUtilityMock\", { enumerable: true, get: function () { return StorageUtility_2.StorageUtilityMock; } });\nObject.defineProperty(exports, \"StorageUtilityGetResponse\", { enumerable: true, get: function () { return StorageUtility_2.StorageUtilityGetResponse; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handleRegistration = exports.determineSigningAlg = void 0;\nfunction isValidUrl(url) {\n try {\n new URL(url);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction determineSigningAlg(supported, preferred) {\n var _a;\n return ((_a = preferred.find((signingAlg) => {\n return supported.includes(signingAlg);\n })) !== null && _a !== void 0 ? _a : null);\n}\nexports.determineSigningAlg = determineSigningAlg;\nfunction determineClientType(options, issuerConfig) {\n if (options.clientId !== undefined && !isValidUrl(options.clientId)) {\n return \"static\";\n }\n if (issuerConfig.scopesSupported.includes(\"webid\") &&\n options.clientId !== undefined &&\n isValidUrl(options.clientId)) {\n return \"solid-oidc\";\n }\n return \"dynamic\";\n}\nasync function handleRegistration(options, issuerConfig, storageUtility, clientRegistrar) {\n const clientType = determineClientType(options, issuerConfig);\n if (clientType === \"dynamic\") {\n return clientRegistrar.getClient({\n sessionId: options.sessionId,\n clientName: options.clientName,\n redirectUrl: options.redirectUrl,\n }, issuerConfig);\n }\n await storageUtility.setForUser(options.sessionId, {\n clientId: options.clientId,\n });\n if (options.clientSecret) {\n await storageUtility.setForUser(options.sessionId, {\n clientSecret: options.clientSecret,\n });\n }\n if (options.clientName) {\n await storageUtility.setForUser(options.sessionId, {\n clientName: options.clientName,\n });\n }\n return {\n clientId: options.clientId,\n clientSecret: options.clientSecret,\n clientName: options.clientName,\n clientType,\n };\n}\nexports.handleRegistration = handleRegistration;\n//# sourceMappingURL=IClientRegistrar.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSupportedTokenType = void 0;\nfunction isSupportedTokenType(token) {\n return typeof token === \"string\" && [\"DPoP\", \"Bearer\"].includes(token);\n}\nexports.isSupportedTokenType = isSupportedTokenType;\n//# sourceMappingURL=ISessionInfo.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.USER_SESSION_PREFIX = void 0;\nexports.USER_SESSION_PREFIX = \"solidClientAuthenticationUser\";\n//# sourceMappingURL=ISessionInfoManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass InMemoryStorage {\n constructor() {\n this.map = {};\n }\n async get(key) {\n return this.map[key] || undefined;\n }\n async set(key, value) {\n this.map[key] = value;\n }\n async delete(key) {\n delete this.map[key];\n }\n}\nexports.default = InMemoryStorage;\n//# sourceMappingURL=InMemoryStorage.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.saveSessionInfoToStorage = exports.loadOidcContextFromStorage = exports.getSessionIdFromOauthState = void 0;\nconst jose_1 = require(\"jose\");\nconst InruptError_1 = __importDefault(require(\"../errors/InruptError\"));\nasync function getSessionIdFromOauthState(storageUtility, oauthState) {\n return storageUtility.getForUser(oauthState, \"sessionId\");\n}\nexports.getSessionIdFromOauthState = getSessionIdFromOauthState;\nasync function loadOidcContextFromStorage(sessionId, storageUtility, configFetcher) {\n try {\n const [issuerIri, codeVerifier, storedRedirectIri, dpop] = await Promise.all([\n storageUtility.getForUser(sessionId, \"issuer\", {\n errorIfNull: true,\n }),\n storageUtility.getForUser(sessionId, \"codeVerifier\"),\n storageUtility.getForUser(sessionId, \"redirectUrl\"),\n storageUtility.getForUser(sessionId, \"dpop\", { errorIfNull: true }),\n ]);\n await storageUtility.deleteForUser(sessionId, \"codeVerifier\");\n const issuerConfig = await configFetcher.fetchConfig(issuerIri);\n return {\n codeVerifier,\n redirectUrl: storedRedirectIri,\n issuerConfig,\n dpop: dpop === \"true\",\n };\n }\n catch (e) {\n throw new Error(`Failed to retrieve OIDC context from storage associated with session [${sessionId}]: ${e}`);\n }\n}\nexports.loadOidcContextFromStorage = loadOidcContextFromStorage;\nasync function saveSessionInfoToStorage(storageUtility, sessionId, webId, isLoggedIn, refreshToken, secure, dpopKey) {\n if (refreshToken !== undefined) {\n await storageUtility.setForUser(sessionId, { refreshToken }, { secure });\n }\n if (webId !== undefined) {\n await storageUtility.setForUser(sessionId, { webId }, { secure });\n }\n if (isLoggedIn !== undefined) {\n await storageUtility.setForUser(sessionId, { isLoggedIn }, { secure });\n }\n if (dpopKey !== undefined) {\n await storageUtility.setForUser(sessionId, {\n publicKey: JSON.stringify(dpopKey.publicKey),\n privateKey: JSON.stringify(await (0, jose_1.exportJWK)(dpopKey.privateKey)),\n }, { secure });\n }\n}\nexports.saveSessionInfoToStorage = saveSessionInfoToStorage;\nclass StorageUtility {\n constructor(secureStorage, insecureStorage) {\n this.secureStorage = secureStorage;\n this.insecureStorage = insecureStorage;\n }\n getKey(userId) {\n return `solidClientAuthenticationUser:${userId}`;\n }\n async getUserData(userId, secure) {\n const stored = await (secure\n ? this.secureStorage\n : this.insecureStorage).get(this.getKey(userId));\n if (stored === undefined) {\n return {};\n }\n try {\n return JSON.parse(stored);\n }\n catch (err) {\n throw new InruptError_1.default(`Data for user [${userId}] in [${secure ? \"secure\" : \"unsecure\"}] storage is corrupted - expected valid JSON, but got: ${stored}`);\n }\n }\n async setUserData(userId, data, secure) {\n await (secure ? this.secureStorage : this.insecureStorage).set(this.getKey(userId), JSON.stringify(data));\n }\n async get(key, options) {\n const value = await ((options === null || options === void 0 ? void 0 : options.secure)\n ? this.secureStorage\n : this.insecureStorage).get(key);\n if (value === undefined && (options === null || options === void 0 ? void 0 : options.errorIfNull)) {\n throw new InruptError_1.default(`[${key}] is not stored`);\n }\n return value;\n }\n async set(key, value, options) {\n return ((options === null || options === void 0 ? void 0 : options.secure) ? this.secureStorage : this.insecureStorage).set(key, value);\n }\n async delete(key, options) {\n return ((options === null || options === void 0 ? void 0 : options.secure) ? this.secureStorage : this.insecureStorage).delete(key);\n }\n async getForUser(userId, key, options) {\n const userData = await this.getUserData(userId, options === null || options === void 0 ? void 0 : options.secure);\n let value;\n if (!userData || !userData[key]) {\n value = undefined;\n }\n value = userData[key];\n if (value === undefined && (options === null || options === void 0 ? void 0 : options.errorIfNull)) {\n throw new InruptError_1.default(`Field [${key}] for user [${userId}] is not stored`);\n }\n return value || undefined;\n }\n async setForUser(userId, values, options) {\n let userData;\n try {\n userData = await this.getUserData(userId, options === null || options === void 0 ? void 0 : options.secure);\n }\n catch (_a) {\n userData = {};\n }\n await this.setUserData(userId, { ...userData, ...values }, options === null || options === void 0 ? void 0 : options.secure);\n }\n async deleteForUser(userId, key, options) {\n const userData = await this.getUserData(userId, options === null || options === void 0 ? void 0 : options.secure);\n delete userData[key];\n await this.setUserData(userId, userData, options === null || options === void 0 ? void 0 : options.secure);\n }\n async deleteAllUserData(userId, options) {\n await ((options === null || options === void 0 ? void 0 : options.secure) ? this.secureStorage : this.insecureStorage).delete(this.getKey(userId));\n }\n}\nexports.default = StorageUtility;\n//# sourceMappingURL=StorageUtility.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mockStorageUtility = exports.mockStorage = exports.StorageUtilityMock = exports.StorageUtilityGetResponse = void 0;\nconst StorageUtility_1 = __importDefault(require(\"../StorageUtility\"));\nexports.StorageUtilityGetResponse = \"getResponse\";\nexports.StorageUtilityMock = {\n get: async (key, options) => exports.StorageUtilityGetResponse,\n set: async (key, value) => {\n },\n delete: async (key) => {\n },\n getForUser: async (userId, key, options) => exports.StorageUtilityGetResponse,\n setForUser: async (userId, values, options) => {\n },\n deleteForUser: async (userId, key, options) => {\n },\n deleteAllUserData: async (userId, options) => {\n },\n};\nconst mockStorage = (stored) => {\n const store = stored;\n return {\n get: async (key) => {\n if (store[key] === undefined) {\n return undefined;\n }\n if (typeof store[key] === \"string\") {\n return store[key];\n }\n return JSON.stringify(store[key]);\n },\n set: async (key, value) => {\n store[key] = value;\n },\n delete: async (key) => {\n delete store[key];\n },\n };\n};\nexports.mockStorage = mockStorage;\nconst mockStorageUtility = (stored, isSecure = false) => {\n if (isSecure) {\n return new StorageUtility_1.default((0, exports.mockStorage)(stored), (0, exports.mockStorage)({}));\n }\n return new StorageUtility_1.default((0, exports.mockStorage)({}), (0, exports.mockStorage)(stored));\n};\nexports.mockStorageUtility = mockStorageUtility;\n//# sourceMappingURL=StorageUtility.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst InruptError_1 = __importDefault(require(\"../../errors/InruptError\"));\nclass AggregateHandler {\n constructor(handleables) {\n this.handleables = handleables;\n }\n async getProperHandler(params) {\n const canHandleList = await Promise.all(this.handleables.map((handleable) => handleable.canHandle(...params)));\n for (let i = 0; i < canHandleList.length; i += 1) {\n if (canHandleList[i]) {\n return this.handleables[i];\n }\n }\n return null;\n }\n async canHandle(...params) {\n return (await this.getProperHandler(params)) !== null;\n }\n async handle(...params) {\n const handler = await this.getProperHandler(params);\n if (handler) {\n return handler.handle(...params);\n }\n throw new InruptError_1.default(`[${this.constructor.name}] cannot find a suitable handler for: ${params\n .map((param) => {\n try {\n return JSON.stringify(param);\n }\n catch (err) {\n return param.toString();\n }\n })\n .join(\", \")}`);\n }\n}\nexports.default = AggregateHandler;\n//# sourceMappingURL=AggregateHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWebidFromTokenPayload = exports.fetchJwks = void 0;\nconst cross_fetch_1 = require(\"cross-fetch\");\nconst jose_1 = require(\"jose\");\nasync function fetchJwks(jwksIri, issuerIri) {\n const jwksResponse = await (0, cross_fetch_1.fetch)(jwksIri);\n if (jwksResponse.status !== 200) {\n throw new Error(`Could not fetch JWKS for [${issuerIri}] at [${jwksIri}]: ${jwksResponse.status} ${jwksResponse.statusText}`);\n }\n let jwk;\n try {\n jwk = (await jwksResponse.json()).keys[0];\n }\n catch (e) {\n throw new Error(`Malformed JWKS for [${issuerIri}] at [${jwksIri}]: ${e.message}`);\n }\n return jwk;\n}\nexports.fetchJwks = fetchJwks;\nasync function getWebidFromTokenPayload(idToken, jwksIri, issuerIri, clientId) {\n const jwk = await fetchJwks(jwksIri, issuerIri);\n let payload;\n try {\n const { payload: verifiedPayload } = await (0, jose_1.jwtVerify)(idToken, await (0, jose_1.importJWK)(jwk), {\n issuer: issuerIri,\n audience: clientId,\n });\n payload = verifiedPayload;\n }\n catch (e) {\n throw new Error(`Token verification failed: ${e.stack}`);\n }\n if (typeof payload.webid === \"string\") {\n return payload.webid;\n }\n if (typeof payload.sub !== \"string\") {\n throw new Error(`The token ${JSON.stringify(payload)} is invalid: it has no 'webid' claim and no 'sub' claim.`);\n }\n try {\n new URL(payload.sub);\n return payload.sub;\n }\n catch (e) {\n throw new Error(`The token has no 'webid' claim, and its 'sub' claim of [${payload.sub}] is invalid as a URL - error [${e}].`);\n }\n}\nexports.getWebidFromTokenPayload = getWebidFromTokenPayload;\n//# sourceMappingURL=token.js.map","/*globals self, window */\n\"use strict\"\n\n/*eslint-disable @mysticatea/prettier */\nconst { AbortController, AbortSignal } =\n typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n /* otherwise */ undefined\n/*eslint-enable @mysticatea/prettier */\n\nmodule.exports = AbortController\nmodule.exports.AbortSignal = AbortSignal\nmodule.exports.default = AbortController\n","\nconst DynamicNestedLoopJoin = require('./join/DynamicNestedLoopJoin');\nconst HashJoin = require('./join/HashJoin');\nconst NestedLoopJoin = require('./join/NestedLoopJoin');\nconst SymmetricHashJoin = require('./join/SymmetricHashJoin');\n\nconst MergeStream = require('./util/MergeIterator');\n\nmodule.exports = {\n DynamicNestedLoopJoin,\n HashJoin,\n NestedLoopJoin,\n SymmetricHashJoin,\n\n MergeStream\n};","\nlet AsyncIterator = require('asynciterator');\nlet MultiTransformIterator = AsyncIterator.MultiTransformIterator;\nlet SimpleTransformIterator = AsyncIterator.SimpleTransformIterator;\n\n// Nested Loop Join, but the values of the inner loop are determined by each value of the outer loop, possibly reducing the number of necessary checks\nclass DynamicNestedLoopJoin extends MultiTransformIterator\n{\n constructor (left, funRight, funJoin, options)\n {\n super(left, options);\n\n this.funRight = funRight;\n this.funJoin = funJoin;\n }\n\n _createTransformer (leftItem)\n {\n return new SimpleTransformIterator(this.funRight(leftItem), { transform: (rightItem, done, push) =>\n {\n let result = this.funJoin(leftItem, rightItem);\n if (result !== null)\n push(result);\n done();\n }});\n }\n}\n\nmodule.exports = DynamicNestedLoopJoin;\n","\nlet AsyncIterator = require('asynciterator').AsyncIterator;\n\n// https://en.wikipedia.org/wiki/Hash_join\nclass HashJoin extends AsyncIterator\n{\n constructor (left, right, funHash, funJoin)\n {\n super();\n\n this.addedDataListener = false;\n this.left = left;\n this.right = right;\n this.funHash = funHash;\n this.funJoin = funJoin;\n\n this.leftMap = new Map();\n\n this.match = null;\n this.matches = [];\n this.matchIdx = 0;\n\n this.left.on('error', (error) => this.destroy(error));\n this.right.on('error', (error) => this.destroy(error));\n\n this.readable = false;\n\n this.left.on('end', allowJoining.bind(this));\n\n function allowJoining ()\n {\n this.readable = true;\n this.right.on('readable', () => this.readable = true);\n this.right.on('end', () => { if (!this.hasResults()) this._end(); });\n }\n\n this.on('newListener', (eventName) =>\n {\n if (eventName === 'data')\n {\n this._addDataListenerIfNeeded();\n }\n });\n if (this.left.readable)\n this._addDataListenerIfNeeded();\n this.left.on('readable', () => this._addDataListenerIfNeeded());\n }\n\n hasResults ()\n {\n return !this.right.ended || this.matchIdx < this.matches.length;\n }\n\n _end ()\n {\n super._end();\n this.left.destroy();\n this.right.destroy();\n }\n\n read ()\n {\n this._addDataListenerIfNeeded();\n\n while(true) {\n if (this.ended || !this.readable)\n return null;\n\n while (this.matchIdx < this.matches.length)\n {\n let item = this.matches[this.matchIdx++];\n let result = this.funJoin(item, this.match);\n if (result !== null)\n return result;\n }\n\n if (!this.hasResults())\n this._end();\n\n this.match = this.right.read();\n\n if (this.match === null)\n {\n this.readable = false;\n return null;\n }\n\n let hash = this.funHash(this.match);\n this.matches = this.leftMap.get(hash) || [];\n this.matchIdx = 0;\n }\n }\n\n _addDataListenerIfNeeded() {\n if (!this.addedDataListener)\n {\n this.addedDataListener = true;\n this._addDataListener();\n }\n }\n\n _addDataListener()\n {\n this.left.on('data', addItem.bind(this));\n\n function addItem(item)\n {\n let hash = this.funHash(item);\n let arr = this.leftMap.get(hash);\n if (!arr) {\n arr = [];\n this.leftMap.set(hash, arr);\n }\n arr.push(item);\n }\n }\n}\n\nmodule.exports = HashJoin;\n","\nconst { MultiTransformIterator, SimpleTransformIterator, scheduleTask } = require('asynciterator');\n\n// https://en.wikipedia.org/wiki/Nested_loop_join\nclass NestedLoopJoin extends MultiTransformIterator\n{\n constructor (left, right, funJoin, options)\n {\n super(left, options);\n\n this.right = right;\n this.funJoin = funJoin; // function that joins 2 elements or returns null if join is not possible\n this.on('end', () => this.right.close());\n }\n\n _end ()\n {\n super._end();\n scheduleTask(() => this.right.destroy());\n }\n\n _createTransformer (leftItem)\n {\n return new SimpleTransformIterator(this.right.clone(), { transform: (rightItem, done, push) =>\n {\n let result = this.funJoin(leftItem, rightItem);\n if (result !== null)\n push(result);\n done();\n }});\n }\n}\n\nmodule.exports = NestedLoopJoin;\n","\nlet AsyncIterator = require('asynciterator').AsyncIterator;\n\n// https://en.wikipedia.org/wiki/Symmetric_Hash_Join\nclass SymmetricHashJoin extends AsyncIterator\n{\n constructor (left, right, funHash, funJoin)\n {\n super();\n\n this.left = left;\n this.right = right;\n\n this.funHash = funHash;\n this.funJoin = funJoin;\n\n this.usedLeft = false;\n this.leftMap = new Map();\n this.rightMap = new Map();\n\n this.on('end', () => this._cleanup() );\n\n this.match = null;\n this.matches = [];\n this.matchIdx = 0;\n\n if (this.left.readable || this.right.readable)\n {\n this.readable = true;\n }\n\n this.left.on('error', (error) => this.destroy(error));\n this.right.on('error', (error) => this.destroy(error));\n\n this.left.on('readable', () => this.readable = true);\n this.right.on('readable', () => this.readable = true);\n\n // this needs to be here since it's possible the left/right streams only get ended after there are no more results left\n this.left.on ('end', () => { if (!this.hasResults()) this._end(); });\n this.right.on('end', () => { if (!this.hasResults()) this._end(); });\n }\n\n hasResults()\n {\n // The \"!!this.match\" condition was added as a workaround to race\n // conditions and/or duplicate \"end\" events that may lead to premature\n // cleanups of the \"this.matches\" array.\n // See https://github.com/joachimvh/asyncjoin/issues/7\n return !this.left.ended || !this.right.ended || (!!this.matches && this.matchIdx < this.matches.length);\n }\n\n _cleanup ()\n {\n // motivate garbage collector to remove these\n this.leftMap = null;\n this.rightMap = null;\n this.matches = null;\n }\n\n _end ()\n {\n super._end();\n this.left.destroy();\n this.right.destroy();\n }\n\n read ()\n {\n while(true){\n if (this.ended)\n return null;\n\n while (this.matchIdx < this.matches.length)\n {\n let item = this.matches[this.matchIdx++];\n let result = this.usedLeft ? this.funJoin(this.match, item) : this.funJoin(item, this.match);\n if (result !== null)\n return result;\n }\n\n if (!this.hasResults())\n this._end();\n\n let item = null;\n // try both streams if the first one has no value\n for (let i = 0; i < 2; ++i)\n {\n item = this.usedLeft ? this.right.read() : this.left.read();\n this.usedLeft = !this.usedLeft; // try other stream next time\n\n // found a result, no need to check the other stream this run\n if (item !== null)\n break;\n }\n\n if (this.done || item === null)\n {\n this.readable = false;\n return null;\n }\n\n let hash = this.funHash(item);\n\n if (this.usedLeft && this.right.done) {\n this.leftMap = null;\n } else if (this.left.done) {\n this.rightMap = null;\n } else {\n let map = this.usedLeft ? this.leftMap : this.rightMap;\n if (!map.has(hash))\n map.set(hash, []);\n let arr = map.get(hash);\n if (!arr) {\n arr = [];\n map.set(hash, arr);\n }\n arr.push(item);\n }\n\n this.match = item;\n this.matches = (this.usedLeft ? this.rightMap : this.leftMap).get(hash) || [];\n this.matchIdx = 0;\n }\n }\n}\n\nmodule.exports = SymmetricHashJoin;\n","\nlet AsyncIterator = require('asynciterator').AsyncIterator;\n\n// merges the contents of multiple streams\nclass MergeIterator extends AsyncIterator\n{\n constructor (streams)\n {\n super();\n \n if (!Array.isArray(streams))\n streams = Array.prototype.slice.call(arguments);\n \n this.streams = streams;\n \n for (let stream of streams)\n {\n stream.on('readable', () => this.emit('readable'));\n stream.on('end', () => this._removeStream(stream));\n }\n \n if (this.streams.length === 0)\n this.close();\n \n this.idx = this.streams.length-1;\n }\n \n _removeStream (stream)\n {\n let idx = this.streams.indexOf(stream);\n if (idx < 0)\n return;\n \n this.streams.splice(idx, 1);\n if (this.idx >= this.streams.length)\n --this.idx;\n \n if (this.streams.length === 0)\n this._end();\n }\n \n close ()\n {\n super.close();\n for (let stream of this.streams)\n stream.close();\n }\n \n read ()\n {\n for (let attempts = 0; attempts < this.streams.length; ++attempts)\n {\n this.idx = (this.idx + 1) % this.streams.length;\n let item = this.streams[this.idx].read();\n if (item !== null)\n return item;\n }\n \n return null;\n }\n}\n\nmodule.exports = MergeIterator;","const df_667_1 = new (require('@comunica/logger-void').LoggerVoid)();\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_init__4_0_0_components_ActorInit_jsonld_ActorInit_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-init/^4.0.0/components/ActorInit.jsonld#ActorInit_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-context-preprocess/^4.0.0/components/ActorContextPreprocess.jsonld#ActorContextPreprocess_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_hash_bindings__4_0_0_components_ActorHashBindings_jsonld_ActorHashBindings_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-hash-bindings/^4.0.0/components/ActorHashBindings.jsonld#ActorHashBindings_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_hash_quads__4_0_0_components_ActorHashQuads_jsonld_ActorHashQuads_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-hash-quads/^4.0.0/components/ActorHashQuads.jsonld#ActorHashQuads_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-query-operation/^4.0.0/components/ActorOptimizeQueryOperation.jsonld#ActorOptimizeQueryOperation_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_parse__4_0_0_components_ActorQueryParse_jsonld_ActorQueryParse_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-parse/^4.0.0/components/ActorQueryParse.jsonld#ActorQueryParse_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-result-serialize/^4.0.0/components/ActorQueryResultSerialize.jsonld#ActorQueryResultSerialize_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify_hypermedia__4_0_0_components_ActorQuerySourceIdentifyHypermedia_jsonld_ActorQuerySourceIdentifyHypermedia_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-source-identify-hypermedia/^4.0.0/components/ActorQuerySourceIdentifyHypermedia.jsonld#ActorQuerySourceIdentifyHypermedia_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference__4_0_0_components_ActorDereference_jsonld_ActorDereference_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-dereference/^4.0.0/components/ActorDereference.jsonld#ActorDereference_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference_rdf__4_0_0_components_ActorDereferenceRdf_jsonld_ActorDereferenceRdf_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-dereference-rdf/^4.0.0/components/ActorDereferenceRdf.jsonld#ActorDereferenceRdf_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join_entries_sort__4_0_0_components_ActorRdfJoinEntriesSort_jsonld_ActorRdfJoinEntriesSort_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join-entries-sort/^4.0.0/components/ActorRdfJoinEntriesSort.jsonld#ActorRdfJoinEntriesSort_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join_selectivity__4_0_0_components_ActorRdfJoinSelectivity_jsonld_ActorRdfJoinSelectivity_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join-selectivity/^4.0.0/components/ActorRdfJoinSelectivity.jsonld#ActorRdfJoinSelectivity_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata__4_0_0_components_ActorRdfMetadata_jsonld_ActorRdfMetadata_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata/^4.0.0/components/ActorRdfMetadata.jsonld#ActorRdfMetadata_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_accumulate__4_0_0_components_ActorRdfMetadataAccumulate_jsonld_ActorRdfMetadataAccumulate_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata-accumulate/^4.0.0/components/ActorRdfMetadataAccumulate.jsonld#ActorRdfMetadataAccumulate_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-metadata-extract/^4.0.0/components/ActorRdfMetadataExtract.jsonld#ActorRdfMetadataExtract_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-parse/^4.0.0/components/ActorRdfParse.jsonld#ActorRdfParse_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse_html__4_0_0_components_ActorRdfParseHtml_jsonld_ActorRdfParseHtml_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-parse-html/^4.0.0/components/ActorRdfParseHtml.jsonld#ActorRdfParseHtml_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_resolve_hypermedia_links__4_0_0_components_ActorRdfResolveHypermediaLinks_jsonld_ActorRdfResolveHypermediaLinks_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-resolve-hypermedia-links/^4.0.0/components/ActorRdfResolveHypermediaLinks.jsonld#ActorRdfResolveHypermediaLinks_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_resolve_hypermedia_links_queue__4_0_0_components_ActorRdfResolveHypermediaLinksQueue_jsonld_ActorRdfResolveHypermediaLinksQueue_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-resolve-hypermedia-links-queue/^4.0.0/components/ActorRdfResolveHypermediaLinksQueue.jsonld#ActorRdfResolveHypermediaLinksQueue_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-serialize/^4.0.0/components/ActorRdfSerialize.jsonld#ActorRdfSerialize_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_hypermedia__4_0_0_components_ActorRdfUpdateHypermedia_jsonld_ActorRdfUpdateHypermedia_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-hypermedia/^4.0.0/components/ActorRdfUpdateHypermedia.jsonld#ActorRdfUpdateHypermedia_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_quads__4_0_0_components_ActorRdfUpdateQuads_jsonld_ActorRdfUpdateQuads_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-quads/^4.0.0/components/ActorRdfUpdateQuads.jsonld#ActorRdfUpdateQuads_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-bindings-aggregator-factory/^4.0.0/components/ActorBindingsAggregatorFactory.jsonld#ActorBindingsAggregatorFactory_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_expression_evaluator_factory__4_0_0_components_ActorExpressionEvaluatorFactory_jsonld_ActorExpressionEvaluatorFactory_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-expression-evaluator-factory/^4.0.0/components/ActorExpressionEvaluatorFactory.jsonld#ActorExpressionEvaluatorFactory_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus = new (require('@comunica/bus-function-factory').BusFunctionFactory)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-function-factory/^4.0.0/components/ActorFunctionFactory.jsonld#ActorFunctionFactory_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http/^4.0.0/components/ActorHttp.jsonld#ActorHttp_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_fallback_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http/^4.0.0/components/ActorHttp.jsonld#ActorHttp_fallback_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus = new (require('@comunica/bus-query-operation').BusQueryOperation)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^4.0.0/components/ActorQueryOperation.jsonld#ActorQueryOperation_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_process__4_0_0_components_ActorQueryProcess_jsonld_ActorQueryProcess_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-process/^4.0.0/components/ActorQueryProcess.jsonld#ActorQueryProcess_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify__4_0_0_components_ActorQuerySourceIdentify_jsonld_ActorQuerySourceIdentify_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-source-identify/^4.0.0/components/ActorQuerySourceIdentify.jsonld#ActorQuerySourceIdentify_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-join/^4.0.0/components/ActorRdfJoin.jsonld#ActorRdfJoin_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_term_comparator_factory__4_0_0_components_ActorTermComparatorFactory_jsonld_ActorTermComparatorFactory_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-term-comparator-factory/^4.0.0/components/ActorTermComparatorFactory.jsonld#ActorTermComparatorFactory_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-http-invalidate/^4.0.0/components/ActorHttpInvalidate.jsonld#ActorHttpInvalidate_default_bus'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_merge_bindings_context__4_0_0_components_ActorMergeBindingsContext_jsonld_ActorMergeBindingsContext_default_bus = new (require('@comunica/core').Bus)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-merge-bindings-context/^4.0.0/components/ActorMergeBindingsContext.jsonld#ActorMergeBindingsContext_default_bus'\n});\nconst urn_comunica_default_context_preprocess_actors_convert_shortcuts = new (require('@comunica/actor-context-preprocess-convert-shortcuts').ActorContextPreprocessConvertShortcuts)({\n 'contextKeyShortcuts': {\"baseIRI\":\"@comunica/actor-init-query:baseIRI\",\"dataFactory\":\"@comunica/actor-init-query:dataFactory\",\"datetime\":\"@comunica/actor-http-memento:datetime\",\"destination\":\"@comunica/bus-rdf-update-quads:destination\",\"distinctConstruct\":\"@comunica/actor-init-query:distinctConstruct\",\"explain\":\"@comunica/actor-init-query:explain\",\"extensionFunctionCreator\":\"@comunica/actor-init-query:extensionFunctionCreator\",\"extensionFunctions\":\"@comunica/actor-init-query:extensionFunctions\",\"fetch\":\"@comunica/bus-http:fetch\",\"functionArgumentsCache\":\"@comunica/actor-init-query:functionArgumentsCache\",\"httpAuth\":\"@comunica/bus-http:auth\",\"httpBodyTimeout\":\"@comunica/bus-http:http-body-timeout\",\"httpIncludeCredentials\":\"@comunica/bus-http:include-credentials\",\"httpProxyHandler\":\"@comunica/actor-http-proxy:httpProxyHandler\",\"httpRetryCount\":\"@comunica/bus-http:http-retry-count\",\"httpRetryDelayFallback\":\"@comunica/bus-http:http-retry-delay-fallback\",\"httpRetryDelayLimit\":\"@comunica/bus-http:http-retry-delay-limit\",\"httpTimeout\":\"@comunica/bus-http:http-timeout\",\"initialBindings\":\"@comunica/actor-init-query:initialBindings\",\"invalidateCache\":\"@comunica/actor-init-query:invalidateCache\",\"lenient\":\"@comunica/actor-init-query:lenient\",\"log\":\"@comunica/core:log\",\"queryFormat\":\"@comunica/actor-init-query:queryFormat\",\"queryTimestamp\":\"@comunica/actor-init-query:queryTimestamp\",\"queryTimestampHighResolution\":\"@comunica/actor-init-query:queryTimestampHighResolution\",\"readOnly\":\"@comunica/bus-query-operation:readOnly\",\"recoverBrokenLinks\":\"@comunica/bus-http-wayback:recover-broken-links\",\"sources\":\"@comunica/actor-init-query:querySourcesUnidentified\",\"traverse\":\"@comunica/bus-query-source-identify:traverse\",\"unionDefaultGraph\":\"@comunica/bus-query-operation:unionDefaultGraph\"},\n 'name': 'urn:comunica:default:context-preprocess/actors#convert-shortcuts',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus,\n 'busFailMessage': 'Context preprocessing failed'\n});\nconst urn_comunica_default_context_preprocess_actors_set_defaults = new (require('@comunica/actor-context-preprocess-set-defaults').ActorContextPreprocessSetDefaults)({\n 'logger': df_667_1,\n 'name': 'urn:comunica:default:context-preprocess/actors#set-defaults',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus,\n 'busFailMessage': 'Context preprocessing failed'\n});\nconst urn_comunica_default_context_preprocess_actors_source_to_destination = new (require('@comunica/actor-context-preprocess-source-to-destination').ActorContextPreprocessSourceToDestination)({\n 'name': 'urn:comunica:default:context-preprocess/actors#source-to-destination',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus,\n 'busFailMessage': 'Context preprocessing failed'\n});\nconst urn_comunica_default_context_preprocess_actors_query_source_skolemize = new (require('@comunica/actor-context-preprocess-query-source-skolemize').ActorContextPreprocessQuerySourceSkolemize)({\n 'name': 'urn:comunica:default:context-preprocess/actors#query-source-skolemize',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus,\n 'busFailMessage': 'Context preprocessing failed'\n});\nconst urn_comunica_default_context_preprocess_mediators_main = new (require('@comunica/mediator-combine-pipeline').MediatorCombinePipeline)({\n 'name': 'urn:comunica:default:context-preprocess/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus\n});\nconst urn_comunica_default_hash_bindings_actors_murmur = new (require('@comunica/actor-hash-bindings-murmur').ActorHashBindingsMurmur)({\n 'name': 'urn:comunica:default:hash-bindings/actors#murmur',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_hash_bindings__4_0_0_components_ActorHashBindings_jsonld_ActorHashBindings_default_bus,\n 'busFailMessage': 'Failed to obtaining hash functions for bindings'\n});\nconst urn_comunica_default_hash_bindings_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:hash-bindings/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_hash_bindings__4_0_0_components_ActorHashBindings_jsonld_ActorHashBindings_default_bus\n});\nconst urn_comunica_default_hash_quads_actors_murmur = new (require('@comunica/actor-hash-quads-murmur').ActorHashQuadsMurmur)({\n 'name': 'urn:comunica:default:hash-quads/actors#murmur',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_hash_quads__4_0_0_components_ActorHashQuads_jsonld_ActorHashQuads_default_bus,\n 'busFailMessage': 'Failed to obtaining hash functions for quads'\n});\nconst urn_comunica_default_hash_quads_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:hash-quads/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_hash_quads__4_0_0_components_ActorHashQuads_jsonld_ActorHashQuads_default_bus\n});\nconst urn_comunica_default_optimize_query_operation_actors_rewrite_copy = new (require('@comunica/actor-optimize-query-operation-rewrite-copy').ActorOptimizeQueryOperationRewriteCopy)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#rewrite-copy',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize'\n});\nconst urn_comunica_default_optimize_query_operation_actors_rewrite_move = new (require('@comunica/actor-optimize-query-operation-rewrite-move').ActorOptimizeQueryOperationRewriteMove)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#rewrite-move',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize'\n});\nconst urn_comunica_default_optimize_query_operation_actors_rewrite_add = new (require('@comunica/actor-optimize-query-operation-rewrite-add').ActorOptimizeQueryOperationRewriteAdd)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#rewrite-add',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize'\n});\nconst urn_comunica_default_optimize_query_operation_actors_group_sources = new (require('@comunica/actor-optimize-query-operation-group-sources').ActorOptimizeQueryOperationGroupSources)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#group-sources',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize'\n});\nconst urn_comunica_default_optimize_query_operation_actors_construct_distinct = new (require('@comunica/actor-optimize-query-operation-construct-distinct').ActorOptimizeQueryOperationConstructDistinct)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#construct-distinct',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize'\n});\nconst urn_comunica_default_optimize_query_operation_mediators_main = new (require('@comunica/mediator-combine-pipeline').MediatorCombinePipeline)({\n 'filterFailures': true,\n 'name': 'urn:comunica:default:optimize-query-operation/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus\n});\nconst urn_comunica_default_query_parse_actors_sparql = new (require('@comunica/actor-query-parse-sparql').ActorQueryParseSparql)({\n 'prefixes': {\"dbpedia\":\"http://dbpedia.org/resource/\",\"dbpedia-owl\":\"http://dbpedia.org/ontology/\",\"dbpprop\":\"http://dbpedia.org/property/\",\"dc\":\"http://purl.org/dc/terms/\",\"dc11\":\"http://purl.org/dc/elements/1.1/\",\"dcterms\":\"http://purl.org/dc/terms/\",\"foaf\":\"http://xmlns.com/foaf/0.1/\",\"geo\":\"http://www.w3.org/2003/01/geo/wgs84_pos#\",\"owl\":\"http://www.w3.org/2002/07/owl#\",\"rdf\":\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\"rdfs\":\"http://www.w3.org/2000/01/rdf-schema#\",\"schema\":\"http://schema.org/\",\"skos\":\"http://www.w3.org/2008/05/skos#\",\"xsd\":\"http://www.w3.org/2001/XMLSchema#\"},\n 'name': 'urn:comunica:default:query-parse/actors#sparql',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_parse__4_0_0_components_ActorQueryParse_jsonld_ActorQueryParse_default_bus,\n 'busFailMessage': 'Query parsing failed: none of the configured parsers were able to the query \"${action.query}\"'\n});\nconst urn_comunica_default_query_parse_actors_graphql = new (require('@comunica/actor-query-parse-graphql').ActorQueryParseGraphql)({\n 'name': 'urn:comunica:default:query-parse/actors#graphql',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_parse__4_0_0_components_ActorQueryParse_jsonld_ActorQueryParse_default_bus,\n 'busFailMessage': 'Query parsing failed: none of the configured parsers were able to the query \"${action.query}\"'\n});\nconst urn_comunica_default_query_parse_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:query-parse/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_parse__4_0_0_components_ActorQueryParse_jsonld_ActorQueryParse_default_bus\n});\nconst urn_comunica_default_query_result_serialize_actors_json = new (require('@comunica/actor-query-result-serialize-json').ActorQueryResultSerializeJson)({\n 'mediaTypePriorities': {\"application/json\":1},\n 'mediaTypeFormats': {\"application/json\":\"https://comunica.linkeddatafragments.org/#results_JSON\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#json',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_simple = new (require('@comunica/actor-query-result-serialize-simple').ActorQueryResultSerializeSimple)({\n 'mediaTypePriorities': {\"simple\":0.9},\n 'mediaTypeFormats': {\"simple\":\"https://comunica.linkeddatafragments.org/#results_simple\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#simple',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_csv = new (require('@comunica/actor-query-result-serialize-sparql-csv').ActorQueryResultSerializeSparqlCsv)({\n 'mediaTypePriorities': {\"text/csv\":0.75},\n 'mediaTypeFormats': {\"text/csv\":\"http://www.w3.org/ns/formats/SPARQL_Results_CSV\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#csv',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_sparql_tsv = new (require('@comunica/actor-query-result-serialize-sparql-tsv').ActorQueryResultSerializeSparqlTsv)({\n 'mediaTypePriorities': {\"text/tab-separated-values\":0.75},\n 'mediaTypeFormats': {\"text/tab-separated-values\":\"http://www.w3.org/ns/formats/SPARQL_Results_TSV\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#sparql-tsv',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_sparql_xml = new (require('@comunica/actor-query-result-serialize-sparql-xml').ActorQueryResultSerializeSparqlXml)({\n 'mediaTypePriorities': {\"application/sparql-results+xml\":0.8},\n 'mediaTypeFormats': {\"application/sparql-results+xml\":\"http://www.w3.org/ns/formats/SPARQL_Results_XML\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#sparql-xml',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_table = new (require('@comunica/actor-query-result-serialize-table').ActorQueryResultSerializeTable)({\n 'columnWidth': 50,\n 'mediaTypePriorities': {\"table\":0.6},\n 'mediaTypeFormats': {\"table\":\"https://comunica.linkeddatafragments.org/#results_table\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#table',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_tree = new (require('@comunica/actor-query-result-serialize-tree').ActorQueryResultSerializeTree)({\n 'mediaTypePriorities': {\"tree\":0.5},\n 'mediaTypeFormats': {\"tree\":\"https://comunica.linkeddatafragments.org/#results_tree\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#tree',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_mediators_serialize = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:query-result-serialize/mediators#serialize',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus\n});\nconst urn_comunica_default_query_result_serialize_mediators_mediaType = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'mediaTypes',\n 'name': 'urn:comunica:default:query-result-serialize/mediators#mediaType',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus\n});\nconst urn_comunica_default_query_result_serialize_mediators_mediaTypeFormat = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'mediaTypeFormats',\n 'name': 'urn:comunica:default:query-result-serialize/mediators#mediaTypeFormat',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus\n});\nconst urn_comunica_default_query_source_identify_hypermedia_mediators_main = new (require('@comunica/mediator-number').MediatorNumber)({\n 'field': 'filterFactor',\n 'type': 'max',\n 'ignoreFailures': true,\n 'name': 'urn:comunica:default:query-source-identify-hypermedia/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify_hypermedia__4_0_0_components_ActorQuerySourceIdentifyHypermedia_jsonld_ActorQuerySourceIdentifyHypermedia_default_bus\n});\nconst urn_comunica_default_dereference_actors_fallback = new (require('@comunica/actor-dereference-fallback').ActorDereferenceFallback)({\n 'name': 'urn:comunica:default:dereference/actors#fallback',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference__4_0_0_components_ActorDereference_jsonld_ActorDereference_default_bus,\n 'busFailMessage': 'Dereferencing failed: none of the configured actors were able to handle ${action.url}'\n});\nconst urn_comunica_default_dereference_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:dereference/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference__4_0_0_components_ActorDereference_jsonld_ActorDereference_default_bus\n});\nconst urn_comunica_default_dereference_rdf_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:dereference-rdf/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference_rdf__4_0_0_components_ActorDereferenceRdf_jsonld_ActorDereferenceRdf_default_bus\n});\nconst urn_comunica_default_rdf_join_entries_sort_actors_cardinality = new (require('@comunica/actor-rdf-join-entries-sort-cardinality').ActorRdfJoinEntriesSortCardinality)({\n 'name': 'urn:comunica:default:rdf-join-entries-sort/actors#cardinality',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join_entries_sort__4_0_0_components_ActorRdfJoinEntriesSort_jsonld_ActorRdfJoinEntriesSort_default_bus,\n 'busFailMessage': 'Sorting join entries failed: none of the configured actors were able to sort'\n});\nconst urn_comunica_default_rdf_join_entries_sort_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-join-entries-sort/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join_entries_sort__4_0_0_components_ActorRdfJoinEntriesSort_jsonld_ActorRdfJoinEntriesSort_default_bus\n});\nconst urn_comunica_default_rdf_join_selectivity_actors_variable_counting = new (require('@comunica/actor-rdf-join-selectivity-variable-counting').ActorRdfJoinSelectivityVariableCounting)({\n 'name': 'urn:comunica:default:rdf-join-selectivity/actors#variable-counting',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join_selectivity__4_0_0_components_ActorRdfJoinSelectivity_jsonld_ActorRdfJoinSelectivity_default_bus,\n 'busFailMessage': 'Determining join selectivity failed: none of the configured actors were able to calculate selectivities'\n});\nconst urn_comunica_default_rdf_join_selectivity_mediators_main = new (require('@comunica/mediator-number').MediatorNumber)({\n 'field': 'accuracy',\n 'type': 'max',\n 'ignoreFailures': true,\n 'name': 'urn:comunica:default:rdf-join-selectivity/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join_selectivity__4_0_0_components_ActorRdfJoinSelectivity_jsonld_ActorRdfJoinSelectivity_default_bus\n});\nconst urn_comunica_default_rdf_metadata_actors_primary_topic = new (require('@comunica/actor-rdf-metadata-primary-topic').ActorRdfMetadataPrimaryTopic)({\n 'metadataToData': false,\n 'dataToMetadataOnInvalidMetadataGraph': true,\n 'name': 'urn:comunica:default:rdf-metadata/actors#primary-topic',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata__4_0_0_components_ActorRdfMetadata_jsonld_ActorRdfMetadata_default_bus,\n 'busFailMessage': 'Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_actors_all = new (require('@comunica/actor-rdf-metadata-all').ActorRdfMetadataAll)({\n 'name': 'urn:comunica:default:rdf-metadata/actors#all',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata__4_0_0_components_ActorRdfMetadata_jsonld_ActorRdfMetadata_default_bus,\n 'busFailMessage': 'Metadata splicing failed: none of the configured actors were able to splice metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-metadata/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata__4_0_0_components_ActorRdfMetadata_jsonld_ActorRdfMetadata_default_bus\n});\nconst urn_comunica_default_rdf_metadata_accumulate_actors_cardinality = new (require('@comunica/actor-rdf-metadata-accumulate-cardinality').ActorRdfMetadataAccumulateCardinality)({\n 'name': 'urn:comunica:default:rdf-metadata-accumulate/actors#cardinality',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_accumulate__4_0_0_components_ActorRdfMetadataAccumulate_jsonld_ActorRdfMetadataAccumulate_default_bus,\n 'busFailMessage': 'Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}'\n});\nconst urn_comunica_default_rdf_metadata_accumulate_actors_pagesize = new (require('@comunica/actor-rdf-metadata-accumulate-pagesize').ActorRdfMetadataAccumulatePageSize)({\n 'name': 'urn:comunica:default:rdf-metadata-accumulate/actors#pagesize',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_accumulate__4_0_0_components_ActorRdfMetadataAccumulate_jsonld_ActorRdfMetadataAccumulate_default_bus,\n 'busFailMessage': 'Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}'\n});\nconst urn_comunica_default_rdf_metadata_accumulate_actors_requesttime = new (require('@comunica/actor-rdf-metadata-accumulate-requesttime').ActorRdfMetadataAccumulateRequestTime)({\n 'name': 'urn:comunica:default:rdf-metadata-accumulate/actors#requesttime',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_accumulate__4_0_0_components_ActorRdfMetadataAccumulate_jsonld_ActorRdfMetadataAccumulate_default_bus,\n 'busFailMessage': 'Metadata accumulation failed: none of the configured actors were able to accumulate metadata in mode ${action.mode}'\n});\nconst urn_comunica_default_rdf_metadata_accumulate_mediators_main = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'metadata',\n 'name': 'urn:comunica:default:rdf-metadata-accumulate/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_accumulate__4_0_0_components_ActorRdfMetadataAccumulate_jsonld_ActorRdfMetadataAccumulate_default_bus\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_hydra_controls = new (require('@comunica/actor-rdf-metadata-extract-hydra-controls').ActorRdfMetadataExtractHydraControls)({\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#hydra-controls',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_hydra_count = new (require('@comunica/actor-rdf-metadata-extract-hydra-count').ActorRdfMetadataExtractHydraCount)({\n 'predicates': [\n 'http://www.w3.org/ns/hydra/core#totalItems',\n 'http://rdfs.org/ns/void#triples'\n],\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#hydra-count',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_hydra_pagesize = new (require('@comunica/actor-rdf-metadata-extract-hydra-pagesize').ActorRdfMetadataExtractHydraPagesize)({\n 'predicates': [\n 'http://www.w3.org/ns/hydra/core#itemsPerPage'\n],\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#hydra-pagesize',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_request_time = new (require('@comunica/actor-rdf-metadata-extract-request-time').ActorRdfMetadataExtractRequestTime)({\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#request-time',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_allow_http_methods = new (require('@comunica/actor-rdf-metadata-extract-allow-http-methods').ActorRdfMetadataExtractAllowHttpMethods)({\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#allow-http-methods',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_put_accepted = new (require('@comunica/actor-rdf-metadata-extract-put-accepted').ActorRdfMetadataExtractPutAccepted)({\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#put-accepted',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_patch_sparql_update = new (require('@comunica/actor-rdf-metadata-extract-patch-sparql-update').ActorRdfMetadataExtractPatchSparqlUpdate)({\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#patch-sparql-update',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_actors_sparql_service = new (require('@comunica/actor-rdf-metadata-extract-sparql-service').ActorRdfMetadataExtractSparqlService)({\n 'inferHttpsEndpoint': true,\n 'name': 'urn:comunica:default:rdf-metadata-extract/actors#sparql-service',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus,\n 'busFailMessage': 'Metadata extraction failed: none of the configured actors were able to extract metadata from ${action.url}'\n});\nconst urn_comunica_default_rdf_metadata_extract_mediators_main = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'filterFailures': true,\n 'field': 'metadata',\n 'name': 'urn:comunica:default:rdf-metadata-extract/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_metadata_extract__4_0_0_components_ActorRdfMetadataExtract_jsonld_ActorRdfMetadataExtract_default_bus\n});\nconst urn_comunica_default_rdf_parse_actors_n3 = new (require('@comunica/actor-rdf-parse-n3').ActorRdfParseN3)({\n 'mediaTypePriorities': {\"application/n-quads\":1,\"application/n-triples\":0.8,\"application/trig\":0.95,\"text/n3\":0.35,\"text/turtle\":0.6},\n 'mediaTypeFormats': {\"application/n-quads\":\"http://www.w3.org/ns/formats/N-Quads\",\"application/n-triples\":\"http://www.w3.org/ns/formats/N-Triples\",\"application/trig\":\"http://www.w3.org/ns/formats/TriG\",\"text/n3\":\"http://www.w3.org/ns/formats/N3\",\"text/turtle\":\"http://www.w3.org/ns/formats/Turtle\"},\n 'priorityScale': 1,\n 'name': 'urn:comunica:default:rdf-parse/actors#n3',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus,\n 'busFailMessage': 'RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_parse_actors_rdfxml = new (require('@comunica/actor-rdf-parse-rdfxml').ActorRdfParseRdfXml)({\n 'mediaTypePriorities': {\"application/rdf+xml\":1},\n 'mediaTypeFormats': {\"application/rdf+xml\":\"http://www.w3.org/ns/formats/RDF_XML\"},\n 'priorityScale': 0.5,\n 'name': 'urn:comunica:default:rdf-parse/actors#rdfxml',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus,\n 'busFailMessage': 'RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_parse_actors_xmlrdfa = new (require('@comunica/actor-rdf-parse-xml-rdfa').ActorRdfParseXmlRdfa)({\n 'mediaTypePriorities': {\"application/xml\":1,\"image/svg+xml\":1,\"text/xml\":1},\n 'mediaTypeFormats': {\"application/xml\":\"http://www.w3.org/ns/formats/RDFa\",\"image/svg+xml\":\"http://www.w3.org/ns/formats/RDFa\",\"text/xml\":\"http://www.w3.org/ns/formats/RDFa\"},\n 'priorityScale': 0.3,\n 'name': 'urn:comunica:default:rdf-parse/actors#xmlrdfa',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus,\n 'busFailMessage': 'RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_parse_actors_shaclc = new (require('@comunica/actor-rdf-parse-shaclc').ActorRdfParseShaclc)({\n 'mediaTypePriorities': {\"text/shaclc\":1,\"text/shaclc-ext\":0.5},\n 'mediaTypeFormats': {\"text/shaclc\":\"http://www.w3.org/ns/formats/Shaclc\",\"text/shaclc-ext\":\"http://www.w3.org/ns/formats/ShaclcExtended\"},\n 'priorityScale': 0.1,\n 'name': 'urn:comunica:default:rdf-parse/actors#shaclc',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus,\n 'busFailMessage': 'RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_parse_mediators_parse = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-parse/mediators#parse',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus\n});\nconst urn_comunica_default_rdf_parse_mediators_mediaType = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'mediaTypes',\n 'name': 'urn:comunica:default:rdf-parse/mediators#mediaType',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus\n});\nconst urn_comunica_default_rdf_parse_actors_html = new (require('@comunica/actor-rdf-parse-html').ActorRdfParseHtml)({\n 'busRdfParseHtml': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse_html__4_0_0_components_ActorRdfParseHtml_jsonld_ActorRdfParseHtml_default_bus,\n 'mediaTypePriorities': {\"application/xhtml+xml\":0.9,\"text/html\":1},\n 'mediaTypeFormats': {\"application/xhtml+xml\":\"http://www.w3.org/ns/formats/HTML\",\"text/html\":\"http://www.w3.org/ns/formats/HTML\"},\n 'priorityScale': 0.2,\n 'name': 'urn:comunica:default:rdf-parse/actors#html',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus,\n 'busFailMessage': 'RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_parse_html_actors_microdata = new (require('@comunica/actor-rdf-parse-html-microdata').ActorRdfParseHtmlMicrodata)({\n 'name': 'urn:comunica:default:rdf-parse-html/actors#microdata',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse_html__4_0_0_components_ActorRdfParseHtml_jsonld_ActorRdfParseHtml_default_bus,\n 'busFailMessage': 'RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML'\n});\nconst urn_comunica_default_rdf_parse_html_actors_rdfa = new (require('@comunica/actor-rdf-parse-html-rdfa').ActorRdfParseHtmlRdfa)({\n 'name': 'urn:comunica:default:rdf-parse-html/actors#rdfa',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse_html__4_0_0_components_ActorRdfParseHtml_jsonld_ActorRdfParseHtml_default_bus,\n 'busFailMessage': 'RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML'\n});\nconst urn_comunica_default_rdf_resolve_hypermedia_links_actors_next = new (require('@comunica/actor-rdf-resolve-hypermedia-links-next').ActorRdfResolveHypermediaLinksNext)({\n 'name': 'urn:comunica:default:rdf-resolve-hypermedia-links/actors#next',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_resolve_hypermedia_links__4_0_0_components_ActorRdfResolveHypermediaLinks_jsonld_ActorRdfResolveHypermediaLinks_default_bus,\n 'busFailMessage': 'Hypermedia link resolution failed: none of the configured actors were able to resolve links from metadata'\n});\nconst urn_comunica_default_rdf_resolve_hypermedia_links_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-resolve-hypermedia-links/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_resolve_hypermedia_links__4_0_0_components_ActorRdfResolveHypermediaLinks_jsonld_ActorRdfResolveHypermediaLinks_default_bus\n});\nconst urn_comunica_default_rdf_resolve_hypermedia_links_queue_actors_fifo = new (require('@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo').ActorRdfResolveHypermediaLinksQueueFifo)({\n 'name': 'urn:comunica:default:rdf-resolve-hypermedia-links-queue/actors#fifo',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_resolve_hypermedia_links_queue__4_0_0_components_ActorRdfResolveHypermediaLinksQueue_jsonld_ActorRdfResolveHypermediaLinksQueue_default_bus,\n 'busFailMessage': 'Link queue creation failed: none of the configured actors were able to create a link queue starting from ${action.firstUrl}'\n});\nconst urn_comunica_default_rdf_resolve_hypermedia_links_queue_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-resolve-hypermedia-links-queue/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_resolve_hypermedia_links_queue__4_0_0_components_ActorRdfResolveHypermediaLinksQueue_jsonld_ActorRdfResolveHypermediaLinksQueue_default_bus\n});\nconst urn_comunica_default_rdf_serialize_actors_n3 = new (require('@comunica/actor-rdf-serialize-n3').ActorRdfSerializeN3)({\n 'mediaTypePriorities': {\"application/n-quads\":1,\"application/n-triples\":0.8,\"application/trig\":0.95,\"text/n3\":0.35,\"text/turtle\":0.6},\n 'mediaTypeFormats': {\"application/n-quads\":\"http://www.w3.org/ns/formats/N-Quads\",\"application/n-triples\":\"http://www.w3.org/ns/formats/N-Triples\",\"application/trig\":\"http://www.w3.org/ns/formats/TriG\",\"text/n3\":\"http://www.w3.org/ns/formats/N3\",\"text/turtle\":\"http://www.w3.org/ns/formats/Turtle\"},\n 'name': 'urn:comunica:default:rdf-serialize/actors#n3',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus,\n 'busFailMessage': 'RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}'\n});\nconst urn_comunica_default_rdf_serialize_actors_jsonld = new (require('@comunica/actor-rdf-serialize-jsonld').ActorRdfSerializeJsonLd)({\n 'jsonStringifyIndentSpaces': 2,\n 'mediaTypePriorities': {\"application/ld+json\":1},\n 'mediaTypeFormats': {\"application/ld+json\":\"http://www.w3.org/ns/formats/JSON-LD\"},\n 'priorityScale': 0.9,\n 'name': 'urn:comunica:default:rdf-serialize/actors#jsonld',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus,\n 'busFailMessage': 'RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}'\n});\nconst urn_comunica_default_rdf_serialize_actors_shaclc = new (require('@comunica/actor-rdf-serialize-shaclc').ActorRdfSerializeShaclc)({\n 'mediaTypePriorities': {\"text/shaclc\":1,\"text/shaclc-ext\":0.5},\n 'mediaTypeFormats': {\"text/shaclc\":\"http://www.w3.org/ns/formats/Shaclc\",\"text/shaclc-ext\":\"http://www.w3.org/ns/formats/ShaclcExtended\"},\n 'priorityScale': 0.1,\n 'name': 'urn:comunica:default:rdf-serialize/actors#shaclc',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus,\n 'busFailMessage': 'RDF serialization failed: none of the configured serializers were able to handle media type ${action.handleMediaType}'\n});\nconst urn_comunica_default_rdf_serialize_mediators_serialize = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-serialize/mediators#serialize',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus\n});\nconst urn_comunica_default_rdf_serialize_mediators_mediaType = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'mediaTypes',\n 'name': 'urn:comunica:default:rdf-serialize/mediators#mediaType',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus\n});\nconst urn_comunica_default_rdf_serialize_mediators_mediaTypeFormat = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'mediaTypeFormats',\n 'name': 'urn:comunica:default:rdf-serialize/mediators#mediaTypeFormat',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_serialize__4_0_0_components_ActorRdfSerialize_jsonld_ActorRdfSerialize_default_bus\n});\nconst urn_comunica_default_rdf_update_hypermedia_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-update-hypermedia/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_hypermedia__4_0_0_components_ActorRdfUpdateHypermedia_jsonld_ActorRdfUpdateHypermedia_default_bus\n});\nconst urn_comunica_default_rdf_update_quads_actors_rdfjs_store = new (require('@comunica/actor-rdf-update-quads-rdfjs-store').ActorRdfUpdateQuadsRdfJsStore)({\n 'name': 'urn:comunica:default:rdf-update-quads/actors#rdfjs-store',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_quads__4_0_0_components_ActorRdfUpdateQuads_jsonld_ActorRdfUpdateQuads_default_bus,\n 'busFailMessage': 'RDF updating failed: none of the configured actors were able to handle an update'\n});\nconst urn_comunica_default_rdf_update_quads_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:rdf-update-quads/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_quads__4_0_0_components_ActorRdfUpdateQuads_jsonld_ActorRdfUpdateQuads_default_bus\n});\nconst urn_comunica_default_bindings_aggregator_factory_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:bindings-aggregator-factory/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus\n});\nconst urn_comunica_default_expression_evaluator_factory_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:expression-evaluator-factory/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_expression_evaluator_factory__4_0_0_components_ActorExpressionEvaluatorFactory_jsonld_ActorExpressionEvaluatorFactory_default_bus\n});\nconst urn_comunica_default_function_factory_actors_expression_function_bnode = new (require('@comunica/actor-function-factory-expression-bnode').ActorFunctionFactoryExpressionBnode)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-bnode',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_bound = new (require('@comunica/actor-function-factory-expression-bound').ActorFunctionFactoryExpressionBound)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-bound',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_coalesce = new (require('@comunica/actor-function-factory-expression-coalesce').ActorFunctionFactoryExpressionCoalesce)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-coalesce',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_concat = new (require('@comunica/actor-function-factory-expression-concat').ActorFunctionFactoryExpressionConcat)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-concat',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_extensions = new (require('@comunica/actor-function-factory-expression-extensions').ActorFunctionFactoryExpressionExtensions)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-extensions',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_if = new (require('@comunica/actor-function-factory-expression-if').ActorFunctionFactoryExpressionIf)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-if',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_logical_and = new (require('@comunica/actor-function-factory-expression-logical-and').ActorFunctionFactoryExpressionLogicalAnd)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-logical-and',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_logical_or = new (require('@comunica/actor-function-factory-expression-logical-or').ActorFunctionFactoryExpressionLogicalOr)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-logical-or',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_same_term = new (require('@comunica/actor-function-factory-expression-same-term').ActorFunctionFactoryExpressionSameTerm)({\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-same-term',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_abs = new (require('@comunica/actor-function-factory-term-abs').ActorFunctionFactoryTermAbs)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-abs',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_addition = new (require('@comunica/actor-function-factory-term-addition').ActorFunctionFactoryTermAddition)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-addition',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_ceil = new (require('@comunica/actor-function-factory-term-ceil').ActorFunctionFactoryTermCeil)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-ceil',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_contains = new (require('@comunica/actor-function-factory-term-contains').ActorFunctionFactoryTermContains)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-contains',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_datatype = new (require('@comunica/actor-function-factory-term-datatype').ActorFunctionFactoryTermDatatype)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-datatype',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_day = new (require('@comunica/actor-function-factory-term-day').ActorFunctionFactoryTermDay)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-day',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_division = new (require('@comunica/actor-function-factory-term-division').ActorFunctionFactoryTermDivision)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-division',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_encode_for_uri = new (require('@comunica/actor-function-factory-term-encode-for-uri').ActorFunctionFactoryTermEncodeForUri)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-encode-for-uri',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_equality = new (require('@comunica/actor-function-factory-term-equality').ActorFunctionFactoryTermEquality)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-equality',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_floor = new (require('@comunica/actor-function-factory-term-floor').ActorFunctionFactoryTermFloor)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-floor',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_hours = new (require('@comunica/actor-function-factory-term-hours').ActorFunctionFactoryTermHours)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-hours',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_iri = new (require('@comunica/actor-function-factory-term-iri').ActorFunctionFactoryTermIri)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-iri',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_is_blank = new (require('@comunica/actor-function-factory-term-is-blank').ActorFunctionFactoryTermIsBlank)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-is-blank',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_is_iri = new (require('@comunica/actor-function-factory-term-is-iri').ActorFunctionFactoryTermIsIri)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-is-iri',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_is_literal = new (require('@comunica/actor-function-factory-term-is-literal').ActorFunctionFactoryTermIsLiteral)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-is-literal',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_is_numeric = new (require('@comunica/actor-function-factory-term-is-numeric').ActorFunctionFactoryTermIsNumeric)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-is-numeric',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_is_triple = new (require('@comunica/actor-function-factory-term-is-triple').ActorFunctionFactoryTermIsTriple)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-is-triple',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_lang = new (require('@comunica/actor-function-factory-term-lang').ActorFunctionFactoryTermLang)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-lang',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_langmatches = new (require('@comunica/actor-function-factory-term-langmatches').ActorFunctionFactoryTermLangmatches)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-langmatches',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_lcase = new (require('@comunica/actor-function-factory-term-lcase').ActorFunctionFactoryTermLcase)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-lcase',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_md5 = new (require('@comunica/actor-function-factory-term-md5').ActorFunctionFactoryTermMd5)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-md5',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_minutes = new (require('@comunica/actor-function-factory-term-minutes').ActorFunctionFactoryTermMinutes)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-minutes',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_month = new (require('@comunica/actor-function-factory-term-month').ActorFunctionFactoryTermMonth)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-month',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_multiplication = new (require('@comunica/actor-function-factory-term-multiplication').ActorFunctionFactoryTermMultiplication)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-multiplication',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_not = new (require('@comunica/actor-function-factory-term-not').ActorFunctionFactoryTermNot)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-not',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_now = new (require('@comunica/actor-function-factory-term-now').ActorFunctionFactoryTermNow)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-now',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_object = new (require('@comunica/actor-function-factory-term-object').ActorFunctionFactoryTermObject)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-object',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_predicate = new (require('@comunica/actor-function-factory-term-predicate').ActorFunctionFactoryTermPredicate)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-predicate',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_rand = new (require('@comunica/actor-function-factory-term-rand').ActorFunctionFactoryTermRand)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-rand',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_regex = new (require('@comunica/actor-function-factory-term-regex').ActorFunctionFactoryTermRegex)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-regex',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_replace = new (require('@comunica/actor-function-factory-term-replace').ActorFunctionFactoryTermReplace)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-replace',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_round = new (require('@comunica/actor-function-factory-term-round').ActorFunctionFactoryTermRound)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-round',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_seconds = new (require('@comunica/actor-function-factory-term-seconds').ActorFunctionFactoryTermSeconds)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-seconds',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_sha1 = new (require('@comunica/actor-function-factory-term-sha1').ActorFunctionFactoryTermSha1)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-sha1',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_sha256 = new (require('@comunica/actor-function-factory-term-sha256').ActorFunctionFactoryTermSha256)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-sha256',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_sha384 = new (require('@comunica/actor-function-factory-term-sha384').ActorFunctionFactoryTermSha384)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-sha384',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_sha512 = new (require('@comunica/actor-function-factory-term-sha512').ActorFunctionFactoryTermSha512)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-sha512',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_after = new (require('@comunica/actor-function-factory-term-str-after').ActorFunctionFactoryTermStrAfter)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-after',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_before = new (require('@comunica/actor-function-factory-term-str-before').ActorFunctionFactoryTermStrBefore)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-before',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_dt = new (require('@comunica/actor-function-factory-term-str-dt').ActorFunctionFactoryTermStrDt)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-dt',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_ends = new (require('@comunica/actor-function-factory-term-str-ends').ActorFunctionFactoryTermStrEnds)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-ends',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_lang = new (require('@comunica/actor-function-factory-term-str-lang').ActorFunctionFactoryTermStrLang)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-lang',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_len = new (require('@comunica/actor-function-factory-term-str-len').ActorFunctionFactoryTermStrLen)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-len',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_starts = new (require('@comunica/actor-function-factory-term-str-starts').ActorFunctionFactoryTermStrStarts)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-starts',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str_uuid = new (require('@comunica/actor-function-factory-term-str-uuid').ActorFunctionFactoryTermStrUuid)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str-uuid',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_str = new (require('@comunica/actor-function-factory-term-str').ActorFunctionFactoryTermStr)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-str',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_sub_str = new (require('@comunica/actor-function-factory-term-sub-str').ActorFunctionFactoryTermSubStr)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-sub-str',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_subject = new (require('@comunica/actor-function-factory-term-subject').ActorFunctionFactoryTermSubject)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-subject',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_subtraction = new (require('@comunica/actor-function-factory-term-subtraction').ActorFunctionFactoryTermSubtraction)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-subtraction',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_timezone = new (require('@comunica/actor-function-factory-term-timezone').ActorFunctionFactoryTermTimezone)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-timezone',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_triple = new (require('@comunica/actor-function-factory-term-triple').ActorFunctionFactoryTermTriple)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-triple',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_tz = new (require('@comunica/actor-function-factory-term-tz').ActorFunctionFactoryTermTz)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-tz',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_ucase = new (require('@comunica/actor-function-factory-term-ucase').ActorFunctionFactoryTermUcase)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-ucase',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_unary_minus = new (require('@comunica/actor-function-factory-term-unary-minus').ActorFunctionFactoryTermUnaryMinus)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-unary-minus',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_unary_plus = new (require('@comunica/actor-function-factory-term-unary-plus').ActorFunctionFactoryTermUnaryPlus)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-unary-plus',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_uuid = new (require('@comunica/actor-function-factory-term-uuid').ActorFunctionFactoryTermUuid)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-uuid',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_boolean = new (require('@comunica/actor-function-factory-term-xsd-to-boolean').ActorFunctionFactoryTermXsdToBoolean)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-boolean',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_date = new (require('@comunica/actor-function-factory-term-xsd-to-date').ActorFunctionFactoryTermXsdToDate)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-date',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_datetime = new (require('@comunica/actor-function-factory-term-xsd-to-datetime').ActorFunctionFactoryTermXsdToDatetime)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-datetime',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_day_time_duration = new (require('@comunica/actor-function-factory-term-xsd-to-day-time-duration').ActorFunctionFactoryTermXsdToDayTimeDuration)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-day-time-duration',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_decimal = new (require('@comunica/actor-function-factory-term-xsd-to-decimal').ActorFunctionFactoryTermXsdToDecimal)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-decimal',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_double = new (require('@comunica/actor-function-factory-term-xsd-to-double').ActorFunctionFactoryTermXsdToDouble)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-double',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_duration = new (require('@comunica/actor-function-factory-term-xsd-to-duration').ActorFunctionFactoryTermXsdToDuration)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-duration',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_float = new (require('@comunica/actor-function-factory-term-xsd-to-float').ActorFunctionFactoryTermXsdToFloat)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-float',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_integer = new (require('@comunica/actor-function-factory-term-xsd-to-integer').ActorFunctionFactoryTermXsdToInteger)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-integer',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_string = new (require('@comunica/actor-function-factory-term-xsd-to-string').ActorFunctionFactoryTermXsdToString)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-string',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_time = new (require('@comunica/actor-function-factory-term-xsd-to-time').ActorFunctionFactoryTermXsdToTime)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-time',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_xsd_to_year_month_duration = new (require('@comunica/actor-function-factory-term-xsd-to-year-month-duration').ActorFunctionFactoryTermXsdToYearMonthDuration)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-xsd-to-year-month-duration',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_year = new (require('@comunica/actor-function-factory-term-year').ActorFunctionFactoryTermYear)({\n 'name': 'urn:comunica:default:function-factory/actors#term-function-year',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:function-factory/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus\n});\nconst urn_comunica_default_http_actors_fetch = new (require('@comunica/actor-http-fetch').ActorHttpFetch)({\n 'agentOptions': {\"keepAlive\":true,\"maxSockets\":5},\n 'name': 'urn:comunica:default:http/actors#fetch',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus,\n 'busFailMessage': 'HTTP request failed: none of the configured actors were able to handle ${action.input}'\n});\nconst urn_comunica_default_http_mediators_no_fallback = new (require('@comunica/mediator-number').MediatorNumber)({\n 'field': 'time',\n 'type': 'min',\n 'ignoreFailures': true,\n 'name': 'urn:comunica:default:http/mediators#no-fallback',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus\n});\nconst urn_comunica_default_http_mediators_main = new (require('@comunica/mediator-number').MediatorNumber)({\n 'field': 'time',\n 'type': 'min',\n 'ignoreFailures': true,\n 'name': 'urn:comunica:default:http/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_fallback_bus\n});\nconst urn_comunica_default_query_operation_actors_source = new (require('@comunica/actor-query-operation-source').ActorQueryOperationSource)({\n 'name': 'urn:comunica:default:query-operation/actors#source',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_mediators_main = new (require('@comunica/mediator-number').MediatorNumber)({\n 'field': 'httpRequests',\n 'type': 'min',\n 'ignoreFailures': true,\n 'name': 'urn:comunica:default:query-operation/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus\n});\nconst urn_comunica_default_query_process_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:query-process/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_process__4_0_0_components_ActorQueryProcess_jsonld_ActorQueryProcess_default_bus\n});\nconst urn_comunica_default_query_source_identify_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:query-source-identify/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify__4_0_0_components_ActorQuerySourceIdentify_jsonld_ActorQuerySourceIdentify_default_bus\n});\nconst urn_comunica_default_rdf_join_mediators_main = new (require('@comunica/mediator-join-coefficients-fixed').MediatorJoinCoefficientsFixed)({\n 'cpuWeight': 10,\n 'memoryWeight': 1,\n 'timeWeight': 2,\n 'ioWeight': 10,\n 'name': 'urn:comunica:default:rdf-join/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus\n});\nconst urn_comunica_default_term_comparator_factory_mediators_main = new (require('@comunica/mediator-race').MediatorRace)({\n 'name': 'urn:comunica:default:term-comparator-factory/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_term_comparator_factory__4_0_0_components_ActorTermComparatorFactory_jsonld_ActorTermComparatorFactory_default_bus\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_context_preprocess_query_source_identify__4_0_0_components_ActorContextPreprocessQuerySourceIdentify_jsonld_IActorContextPreprocessQuerySourceIdentifyArgs_default_invalidator = new (require('@comunica/bus-http-invalidate').ActorHttpInvalidateListenable)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-context-preprocess-query-source-identify/^4.0.0/components/ActorContextPreprocessQuerySourceIdentify.jsonld#IActorContextPreprocessQuerySourceIdentifyArgs_default_invalidator',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus,\n 'busFailMessage': 'HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}'\n});\nconst urn_comunica_default_http_invalidate_mediators_main = new (require('@comunica/mediator-all').MediatorAll)({\n 'name': 'urn:comunica:default:http-invalidate/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_rdf_update_quads_hypermedia__4_0_0_components_ActorRdfUpdateQuadsHypermedia_jsonld_IActorRdfUpdateQuadsHypermediaArgs_default_invalidator = new (require('@comunica/bus-http-invalidate').ActorHttpInvalidateListenable)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-rdf-update-quads-hypermedia/^4.0.0/components/ActorRdfUpdateQuadsHypermedia.jsonld#IActorRdfUpdateQuadsHypermediaArgs_default_invalidator',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus,\n 'busFailMessage': 'HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_http_retry__4_0_0_components_ActorHttpRetry_jsonld_IActorHttpQueueArgs_default_invalidator = new (require('@comunica/bus-http-invalidate').ActorHttpInvalidateListenable)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-http-retry/^4.0.0/components/ActorHttpRetry.jsonld#IActorHttpQueueArgs_default_invalidator',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus,\n 'busFailMessage': 'HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_sparql_json__4_0_0_components_ActionObserverHttp_jsonld_IActionObserverHttpArgs_default_invalidator = new (require('@comunica/bus-http-invalidate').ActorHttpInvalidateListenable)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-sparql-json/^4.0.0/components/ActionObserverHttp.jsonld#IActionObserverHttpArgs_default_invalidator',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus,\n 'busFailMessage': 'HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_stats__4_0_0_components_ActionObserverHttp_jsonld_IActionObserverHttpArgs_default_invalidator = new (require('@comunica/bus-http-invalidate').ActorHttpInvalidateListenable)({\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-stats/^4.0.0/components/ActionObserverHttp.jsonld#IActionObserverHttpArgs_default_invalidator',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http_invalidate__4_0_0_components_ActorHttpInvalidate_jsonld_ActorHttpInvalidate_default_bus,\n 'busFailMessage': 'HTTP invalidation failed: none of the configured actors were able to invalidate ${action.url}'\n});\nconst urn_comunica_default_merge_bindings_context_mediators_main = new (require('@comunica/mediator-combine-union').MediatorCombineUnion)({\n 'field': 'mergeHandlers',\n 'name': 'urn:comunica:default:merge-bindings-context/mediators#main',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_merge_bindings_context__4_0_0_components_ActorMergeBindingsContext_jsonld_ActorMergeBindingsContext_default_bus\n});\nconst urn_comunica_default_rdf_join_actors_inner_single = new (require('@comunica/actor-rdf-join-inner-single').ActorRdfJoinSingle)({\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-single',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_multi_empty = new (require('@comunica/actor-rdf-join-inner-multi-empty').ActorRdfJoinMultiEmpty)({\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-multi-empty',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_hash_def = new (require('@comunica/actor-rdf-join-inner-hash').ActorRdfJoinHash)({\n 'mediatorHashBindings': urn_comunica_default_hash_bindings_mediators_main,\n 'canHandleUndefs': false,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-hash-def',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_hash_undef = new (require('@comunica/actor-rdf-join-inner-hash').ActorRdfJoinHash)({\n 'mediatorHashBindings': urn_comunica_default_hash_bindings_mediators_main,\n 'canHandleUndefs': true,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-hash-undef',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_symmetric_hash = new (require('@comunica/actor-rdf-join-inner-symmetrichash').ActorRdfJoinSymmetricHash)({\n 'mediatorHashBindings': urn_comunica_default_hash_bindings_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-symmetric-hash',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_nested_loop = new (require('@comunica/actor-rdf-join-inner-nestedloop').ActorRdfJoinNestedLoop)({\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-nested-loop',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_minus_hash_def = new (require('@comunica/actor-rdf-join-minus-hash').ActorRdfJoinMinusHash)({\n 'canHandleUndefs': false,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#minus-hash-def',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_minus_hash_undef = new (require('@comunica/actor-rdf-join-minus-hash').ActorRdfJoinMinusHash)({\n 'canHandleUndefs': true,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#minus-hash-undef',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_optional_hash_def_nonblocking = new (require('@comunica/actor-rdf-join-optional-hash').ActorRdfJoinOptionalHash)({\n 'canHandleUndefs': false,\n 'blocking': false,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#optional-hash-def-nonblocking',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_optional_hash_def_blocking = new (require('@comunica/actor-rdf-join-optional-hash').ActorRdfJoinOptionalHash)({\n 'canHandleUndefs': false,\n 'blocking': true,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#optional-hash-def-blocking',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_optional_hash_undef_nonblocking = new (require('@comunica/actor-rdf-join-optional-hash').ActorRdfJoinOptionalHash)({\n 'canHandleUndefs': true,\n 'blocking': false,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#optional-hash-undef-nonblocking',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_optional_hash_undef_blocking = new (require('@comunica/actor-rdf-join-optional-hash').ActorRdfJoinOptionalHash)({\n 'canHandleUndefs': true,\n 'blocking': true,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#optional-hash-undef-blocking',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_optional_nested_loop = new (require('@comunica/actor-rdf-join-optional-nestedloop').ActorRdfJoinOptionalNestedLoop)({\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#optional-nested-loop',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_dereference_rdf_actors_parse = new (require('@comunica/actor-dereference-rdf-parse').ActorDereferenceRdfParse)({\n 'mediatorDereference': urn_comunica_default_dereference_mediators_main,\n 'mediatorParse': urn_comunica_default_rdf_parse_mediators_parse,\n 'mediatorParseMediatypes': urn_comunica_default_rdf_parse_mediators_mediaType,\n 'mediaMappings': {\"htm\":\"text/html\",\"html\":\"text/html\",\"json\":\"application/json\",\"jsonld\":\"application/ld+json\",\"n3\":\"text/n3\",\"nq\":\"application/n-quads\",\"nquads\":\"application/n-quads\",\"nt\":\"application/n-triples\",\"ntriples\":\"application/n-triples\",\"owl\":\"application/rdf+xml\",\"rdf\":\"application/rdf+xml\",\"rdfxml\":\"application/rdf+xml\",\"shaclc\":\"text/shaclc\",\"shaclce\":\"text/shaclc-ext\",\"shc\":\"text/shaclc\",\"shce\":\"text/shaclc-ext\",\"svg\":\"image/svg+xml\",\"svgz\":\"image/svg+xml\",\"trig\":\"application/trig\",\"ttl\":\"text/turtle\",\"turtle\":\"text/turtle\",\"xht\":\"application/xhtml+xml\",\"xhtml\":\"application/xhtml+xml\",\"xml\":\"application/xml\"},\n 'name': 'urn:comunica:default:dereference-rdf/actors#parse',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference_rdf__4_0_0_components_ActorDereferenceRdf_jsonld_ActorDereferenceRdf_default_bus,\n 'busFailMessage': 'RDF dereferencing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_parse_html_actors_script = new (require('@comunica/actor-rdf-parse-html-script').ActorRdfParseHtmlScript)({\n 'mediatorRdfParseMediatypes': urn_comunica_default_rdf_parse_mediators_mediaType,\n 'mediatorRdfParseHandle': urn_comunica_default_rdf_parse_mediators_parse,\n 'name': 'urn:comunica:default:rdf-parse-html/actors#script',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse_html__4_0_0_components_ActorRdfParseHtml_jsonld_ActorRdfParseHtml_default_bus,\n 'busFailMessage': 'RDF HTML parsing failed: none of the configured parsers were able to parse RDF in HTML'\n});\nconst urn_comunica_default_query_result_serialize_actors_rdf = new (require('@comunica/actor-query-result-serialize-rdf').ActorQueryResultSerializeRdf)({\n 'mediatorRdfSerialize': urn_comunica_default_rdf_serialize_mediators_serialize,\n 'mediatorMediaTypeCombiner': urn_comunica_default_rdf_serialize_mediators_mediaType,\n 'mediatorMediaTypeFormatCombiner': urn_comunica_default_rdf_serialize_mediators_mediaTypeFormat,\n 'name': 'urn:comunica:default:query-result-serialize/actors#rdf',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_count = new (require('@comunica/actor-bindings-aggregator-factory-count').ActorBindingsAggregatorFactoryCount)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#count',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_group_concat = new (require('@comunica/actor-bindings-aggregator-factory-group-concat').ActorBindingsAggregatorFactoryGroupConcat)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#group-concat',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_sample = new (require('@comunica/actor-bindings-aggregator-factory-sample').ActorBindingsAggregatorFactorySample)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#sample',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_wildcard_count = new (require('@comunica/actor-bindings-aggregator-factory-wildcard-count').ActorBindingsAggregatorFactoryWildcardCount)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#wildcard-count',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_average = new (require('@comunica/actor-bindings-aggregator-factory-average').ActorBindingsAggregatorFactoryAverage)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#average',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_sum = new (require('@comunica/actor-bindings-aggregator-factory-sum').ActorBindingsAggregatorFactorySum)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#sum',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_in = new (require('@comunica/actor-function-factory-expression-in').ActorFunctionFactoryExpressionIn)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-in',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_expression_function_not_in = new (require('@comunica/actor-function-factory-expression-not-in').ActorFunctionFactoryExpressionNotIn)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#expression-function-not-in',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_greater_than_equal = new (require('@comunica/actor-function-factory-term-greater-than-equal').ActorFunctionFactoryTermGreaterThanEqual)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#term-function-greater-than-equal',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_greater_than = new (require('@comunica/actor-function-factory-term-greater-than').ActorFunctionFactoryTermGreaterThan)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#term-function-greater-than',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_inequality = new (require('@comunica/actor-function-factory-term-inequality').ActorFunctionFactoryTermInequality)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#term-function-inequality',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_lesser_than_equal = new (require('@comunica/actor-function-factory-term-lesser-than-equal').ActorFunctionFactoryTermLesserThanEqual)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#term-function-lesser-than-equal',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_function_factory_actors_term_function_lesser_than = new (require('@comunica/actor-function-factory-term-lesser-than').ActorFunctionFactoryTermLesserThan)({\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'name': 'urn:comunica:default:function-factory/actors#term-function-lesser-than',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_function_factory__4_0_0_components_ActorFunctionFactory_jsonld_ActorFunctionFactory_default_bus,\n 'busFailMessage': 'Creation of function evaluator failed: no configured actor was able to evaluate function ${action.functionName}'\n});\nconst urn_comunica_default_http_actors_wayback = new (require('@comunica/actor-http-wayback').ActorHttpWayback)({\n 'mediatorHttp': urn_comunica_default_http_mediators_no_fallback,\n 'name': 'urn:comunica:default:http/actors#wayback',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_fallback_bus,\n 'busFailMessage': 'HTTP request failed: none of the configured actors were able to handle ${action.input}'\n});\nconst urn_comunica_default_rdf_parse_actors_jsonld = new (require('@comunica/actor-rdf-parse-jsonld').ActorRdfParseJsonLd)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'mediaTypePriorities': {\"application/json\":0.15,\"application/ld+json\":1},\n 'mediaTypeFormats': {\"application/json\":\"http://www.w3.org/ns/formats/JSON-LD\",\"application/ld+json\":\"http://www.w3.org/ns/formats/JSON-LD\"},\n 'priorityScale': 0.9,\n 'name': 'urn:comunica:default:rdf-parse/actors#jsonld',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_parse__4_0_0_components_ActorRdfParse_jsonld_ActorRdfParse_default_bus,\n 'busFailMessage': 'RDF parsing failed: none of the configured parsers were able to handle the media type ${action.handle.mediaType} for ${action.handle.url}'\n});\nconst urn_comunica_default_rdf_update_hypermedia_actors_patch_sparql_update = new (require('@comunica/actor-rdf-update-hypermedia-patch-sparql-update').ActorRdfUpdateHypermediaPatchSparqlUpdate)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'name': 'urn:comunica:default:rdf-update-hypermedia/actors#patch-sparql-update',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_hypermedia__4_0_0_components_ActorRdfUpdateHypermedia_jsonld_ActorRdfUpdateHypermedia_default_bus,\n 'busFailMessage': 'RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}'\n});\nconst urn_comunica_default_rdf_update_hypermedia_actors_put_ldp = new (require('@comunica/actor-rdf-update-hypermedia-put-ldp').ActorRdfUpdateHypermediaPutLdp)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'mediatorRdfSerializeMediatypes': urn_comunica_default_rdf_serialize_mediators_mediaType,\n 'mediatorRdfSerialize': urn_comunica_default_rdf_serialize_mediators_serialize,\n 'name': 'urn:comunica:default:rdf-update-hypermedia/actors#put-ldp',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_hypermedia__4_0_0_components_ActorRdfUpdateHypermedia_jsonld_ActorRdfUpdateHypermedia_default_bus,\n 'busFailMessage': 'RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}'\n});\nconst urn_comunica_default_rdf_update_hypermedia_actors_sparql = new (require('@comunica/actor-rdf-update-hypermedia-sparql').ActorRdfUpdateHypermediaSparql)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'checkUrlSuffixSparql': true,\n 'checkUrlSuffixUpdate': true,\n 'name': 'urn:comunica:default:rdf-update-hypermedia/actors#sparql',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_hypermedia__4_0_0_components_ActorRdfUpdateHypermedia_jsonld_ActorRdfUpdateHypermedia_default_bus,\n 'busFailMessage': 'RDF hypermedia updating failed: none of the configured actors were able to handle an update for ${action.url}'\n});\nconst urn_comunica_default_query_operation_actors_ask = new (require('@comunica/actor-query-operation-ask').ActorQueryOperationAsk)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#ask',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_bgp = new (require('@comunica/actor-query-operation-bgp-join').ActorQueryOperationBgpJoin)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#bgp',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_construct = new (require('@comunica/actor-query-operation-construct').ActorQueryOperationConstruct)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#construct',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_distinct = new (require('@comunica/actor-query-operation-distinct-hash').ActorQueryOperationDistinctHash)({\n 'mediatorHashBindings': urn_comunica_default_hash_bindings_mediators_main,\n 'mediatorHashQuads': urn_comunica_default_hash_quads_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#distinct',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_extend = new (require('@comunica/actor-query-operation-extend').ActorQueryOperationExtend)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#extend',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_filter = new (require('@comunica/actor-query-operation-filter').ActorQueryOperationFilter)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#filter',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_from = new (require('@comunica/actor-query-operation-from-quad').ActorQueryOperationFromQuad)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#from',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_project = new (require('@comunica/actor-query-operation-project').ActorQueryOperationProject)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#project',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_reduced = new (require('@comunica/actor-query-operation-reduced-hash').ActorQueryOperationReducedHash)({\n 'mediatorHashBindings': urn_comunica_default_hash_bindings_mediators_main,\n 'cacheSize': 100,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#reduced',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_slice = new (require('@comunica/actor-query-operation-slice').ActorQueryOperationSlice)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#slice',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_union = new (require('@comunica/actor-query-operation-union').ActorQueryOperationUnion)({\n 'mediatorRdfMetadataAccumulate': urn_comunica_default_rdf_metadata_accumulate_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#union',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_alt = new (require('@comunica/actor-query-operation-path-alt').ActorQueryOperationPathAlt)({\n 'mediatorRdfMetadataAccumulate': urn_comunica_default_rdf_metadata_accumulate_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-alt',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_inv = new (require('@comunica/actor-query-operation-path-inv').ActorQueryOperationPathInv)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-inv',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_link = new (require('@comunica/actor-query-operation-path-link').ActorQueryOperationPathLink)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-link',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_nps = new (require('@comunica/actor-query-operation-path-nps').ActorQueryOperationPathNps)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-nps',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_update_clear = new (require('@comunica/actor-query-operation-update-clear').ActorQueryOperationClear)({\n 'mediatorUpdateQuads': urn_comunica_default_rdf_update_quads_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#update-clear',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_update_composite = new (require('@comunica/actor-query-operation-update-compositeupdate').ActorQueryOperationUpdateCompositeUpdate)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#update-composite',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_update_create = new (require('@comunica/actor-query-operation-update-create').ActorQueryOperationCreate)({\n 'mediatorUpdateQuads': urn_comunica_default_rdf_update_quads_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#update-create',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_update_drop = new (require('@comunica/actor-query-operation-update-drop').ActorQueryOperationDrop)({\n 'mediatorUpdateQuads': urn_comunica_default_rdf_update_quads_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#update-drop',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_update_load = new (require('@comunica/actor-query-operation-update-load').ActorQueryOperationLoad)({\n 'mediatorUpdateQuads': urn_comunica_default_rdf_update_quads_mediators_main,\n 'mediatorQuerySourceIdentify': urn_comunica_default_query_source_identify_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#update-load',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_join = new (require('@comunica/actor-query-operation-join').ActorQueryOperationJoin)({\n 'mediatorJoin': urn_comunica_default_rdf_join_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#join',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_leftjoin = new (require('@comunica/actor-query-operation-leftjoin').ActorQueryOperationLeftJoin)({\n 'mediatorJoin': urn_comunica_default_rdf_join_mediators_main,\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#leftjoin',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_minus = new (require('@comunica/actor-query-operation-minus').ActorQueryOperationMinus)({\n 'mediatorJoin': urn_comunica_default_rdf_join_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#minus',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_seq = new (require('@comunica/actor-query-operation-path-seq').ActorQueryOperationPathSeq)({\n 'mediatorJoin': urn_comunica_default_rdf_join_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-seq',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_multi_smallest = new (require('@comunica/actor-rdf-join-inner-multi-smallest').ActorRdfJoinMultiSmallest)({\n 'mediatorJoinEntriesSort': urn_comunica_default_rdf_join_entries_sort_mediators_main,\n 'mediatorJoin': urn_comunica_default_rdf_join_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-multi-smallest',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_max = new (require('@comunica/actor-bindings-aggregator-factory-max').ActorBindingsAggregatorFactoryMax)({\n 'mediatorTermComparatorFactory': urn_comunica_default_term_comparator_factory_mediators_main,\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#max',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_bindings_aggregator_factory_actors_min = new (require('@comunica/actor-bindings-aggregator-factory-min').ActorBindingsAggregatorFactoryMin)({\n 'mediatorTermComparatorFactory': urn_comunica_default_term_comparator_factory_mediators_main,\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'name': 'urn:comunica:default:bindings-aggregator-factory/actors#min',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_bindings_aggregator_factory__4_0_0_components_ActorBindingsAggregatorFactory_jsonld_ActorBindingsAggregatorFactory_default_bus,\n 'busFailMessage': 'Creation of Aggregator failed: none of the configured actors were able to handle ${action.expr.aggregator}'\n});\nconst urn_comunica_default_query_operation_actors_orderby = new (require('@comunica/actor-query-operation-orderby').ActorQueryOperationOrderBy)({\n 'mediatorExpressionEvaluatorFactory': urn_comunica_default_expression_evaluator_factory_mediators_main,\n 'mediatorTermComparatorFactory': urn_comunica_default_term_comparator_factory_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#orderby',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_optimize_query_operation_actors_filter_pushdown = new (require('@comunica/actor-optimize-query-operation-filter-pushdown').ActorOptimizeQueryOperationFilterPushdown)({\n 'aggressivePushdown': false,\n 'maxIterations': 10,\n 'splitConjunctive': true,\n 'mergeConjunctive': true,\n 'pushIntoLeftJoins': true,\n 'pushEqualityIntoPatterns': true,\n 'name': 'urn:comunica:default:optimize-query-operation/actors#filter-pushdown',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_group_sources\n]\n});\nconst urn_comunica_default_dereference_actors_http = new (require('@comunica/actor-dereference-http').ActorDereferenceHttp)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'maxAcceptHeaderLength': 1024,\n 'maxAcceptHeaderLengthBrowser': 128,\n 'name': 'urn:comunica:default:dereference/actors#http',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_dereference__4_0_0_components_ActorDereference_jsonld_ActorDereference_default_bus,\n 'busFailMessage': 'Dereferencing failed: none of the configured actors were able to handle ${action.url}',\n 'beforeActors': [\n urn_comunica_default_dereference_actors_fallback\n]\n});\nconst urn_comunica_default_http_actors_proxy = new (require('@comunica/actor-http-proxy').ActorHttpProxy)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'name': 'urn:comunica:default:http/actors#proxy',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus,\n 'busFailMessage': 'HTTP request failed: none of the configured actors were able to handle ${action.input}',\n 'beforeActors': [\n urn_comunica_default_http_actors_fetch\n]\n});\nconst urn_comunica_default_context_preprocess_actors_query_source_identify = new (require('@comunica/actor-context-preprocess-query-source-identify').ActorContextPreprocessQuerySourceIdentify)({\n 'cacheSize': 100,\n 'httpInvalidator': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_context_preprocess_query_source_identify__4_0_0_components_ActorContextPreprocessQuerySourceIdentify_jsonld_IActorContextPreprocessQuerySourceIdentifyArgs_default_invalidator,\n 'mediatorQuerySourceIdentify': urn_comunica_default_query_source_identify_mediators_main,\n 'mediatorContextPreprocess': urn_comunica_default_context_preprocess_mediators_main,\n 'name': 'urn:comunica:default:context-preprocess/actors#query-source-identify',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_context_preprocess__4_0_0_components_ActorContextPreprocess_jsonld_ActorContextPreprocess_default_bus,\n 'busFailMessage': 'Context preprocessing failed',\n 'beforeActors': [\n urn_comunica_default_context_preprocess_actors_query_source_skolemize\n]\n});\nconst urn_comunica_default_init_actors_query = new (require('@comunica/actor-init-query').ActorInitQuery)({\n 'mediatorQueryProcess': urn_comunica_default_query_process_mediators_main,\n 'mediatorQueryResultSerialize': urn_comunica_default_query_result_serialize_mediators_serialize,\n 'mediatorQueryResultSerializeMediaTypeCombiner': urn_comunica_default_query_result_serialize_mediators_mediaType,\n 'mediatorQueryResultSerializeMediaTypeFormatCombiner': urn_comunica_default_query_result_serialize_mediators_mediaTypeFormat,\n 'mediatorHttpInvalidate': urn_comunica_default_http_invalidate_mediators_main,\n 'defaultQueryInputFormat': 'sparql',\n 'allowNoSources': false,\n 'name': 'urn:comunica:default:init/actors#query',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_init__4_0_0_components_ActorInit_jsonld_ActorInit_default_bus,\n 'busFailMessage': 'Initialization failed: none of the configured actors were to initialize'\n});\nconst urn_comunica_default_rdf_update_quads_actors_hypermedia = new (require('@comunica/actor-rdf-update-quads-hypermedia').ActorRdfUpdateQuadsHypermedia)({\n 'cacheSize': 100,\n 'httpInvalidator': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_rdf_update_quads_hypermedia__4_0_0_components_ActorRdfUpdateQuadsHypermedia_jsonld_IActorRdfUpdateQuadsHypermediaArgs_default_invalidator,\n 'mediatorDereferenceRdf': urn_comunica_default_dereference_rdf_mediators_main,\n 'mediatorMetadata': urn_comunica_default_rdf_metadata_mediators_main,\n 'mediatorMetadataExtract': urn_comunica_default_rdf_metadata_extract_mediators_main,\n 'mediatorRdfUpdateHypermedia': urn_comunica_default_rdf_update_hypermedia_mediators_main,\n 'name': 'urn:comunica:default:rdf-update-quads/actors#hypermedia',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_update_quads__4_0_0_components_ActorRdfUpdateQuads_jsonld_ActorRdfUpdateQuads_default_bus,\n 'busFailMessage': 'RDF updating failed: none of the configured actors were able to handle an update'\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_sparql_json__4_0_0_components_ActorQueryResultSerializeSparqlJson_jsonld_ActorQueryResultSerializeSparqlJson_default_observer = new (require('@comunica/actor-query-result-serialize-sparql-json').ActionObserverHttp)({\n 'httpInvalidator': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_sparql_json__4_0_0_components_ActionObserverHttp_jsonld_IActionObserverHttpArgs_default_invalidator,\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-sparql-json/^4.0.0/components/ActorQueryResultSerializeSparqlJson.jsonld#ActorQueryResultSerializeSparqlJson_default_observer',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus\n});\nconst https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_stats__4_0_0_components_ActorQueryResultSerializeStats_jsonld_ActorQueryResultSerializeStats_default_observer = new (require('@comunica/actor-query-result-serialize-stats').ActionObserverHttp)({\n 'httpInvalidator': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_stats__4_0_0_components_ActionObserverHttp_jsonld_IActionObserverHttpArgs_default_invalidator,\n 'name': 'https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-result-serialize-stats/^4.0.0/components/ActorQueryResultSerializeStats.jsonld#ActorQueryResultSerializeStats_default_observer',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus\n});\nconst urn_comunica_default_query_source_identify_hypermedia_actors_qpf = new (require('@comunica/actor-query-source-identify-hypermedia-qpf').ActorQuerySourceIdentifyHypermediaQpf)({\n 'mediatorMetadata': urn_comunica_default_rdf_metadata_mediators_main,\n 'mediatorMetadataExtract': urn_comunica_default_rdf_metadata_extract_mediators_main,\n 'mediatorDereferenceRdf': urn_comunica_default_dereference_rdf_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'subjectUri': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#subject',\n 'predicateUri': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate',\n 'objectUri': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#object',\n 'graphUri': 'http://www.w3.org/ns/sparql-service-description#graph',\n 'name': 'urn:comunica:default:query-source-identify-hypermedia/actors#qpf',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify_hypermedia__4_0_0_components_ActorQuerySourceIdentifyHypermedia_jsonld_ActorQuerySourceIdentifyHypermedia_default_bus,\n 'busFailMessage': 'Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}'\n});\nconst urn_comunica_default_rdf_resolve_quad_pattern_actors_sparql = new (require('@comunica/actor-query-source-identify-hypermedia-sparql').ActorQuerySourceIdentifyHypermediaSparql)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'checkUrlSuffix': true,\n 'forceHttpGet': false,\n 'cacheSize': 1024,\n 'bindMethod': 'values',\n 'countTimeout': 3000,\n 'name': 'urn:comunica:default:rdf-resolve-quad-pattern/actors#sparql',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify_hypermedia__4_0_0_components_ActorQuerySourceIdentifyHypermedia_jsonld_ActorQuerySourceIdentifyHypermedia_default_bus,\n 'busFailMessage': 'Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}'\n});\nconst urn_comunica_default_query_source_identify_hypermedia_actors_none = new (require('@comunica/actor-query-source-identify-hypermedia-none').ActorQuerySourceIdentifyHypermediaNone)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:query-source-identify-hypermedia/actors#none',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify_hypermedia__4_0_0_components_ActorQuerySourceIdentifyHypermedia_jsonld_ActorQuerySourceIdentifyHypermedia_default_bus,\n 'busFailMessage': 'Query source hypermedia identification failed: none of the configured actors were able to identify ${action.url}'\n});\nconst urn_comunica_default_expression_evaluator_factory_actors_default = new (require('@comunica/actor-expression-evaluator-factory-default').ActorExpressionEvaluatorFactoryDefault)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:expression-evaluator-factory/actors#default',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_expression_evaluator_factory__4_0_0_components_ActorExpressionEvaluatorFactory_jsonld_ActorExpressionEvaluatorFactory_default_bus,\n 'busFailMessage': 'Creation of Expression Evaluator failed'\n});\nconst urn_comunica_default_query_operation_actors_group = new (require('@comunica/actor-query-operation-group').ActorQueryOperationGroup)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorBindingsAggregatorFactory': urn_comunica_default_bindings_aggregator_factory_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#group',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_nop = new (require('@comunica/actor-query-operation-nop').ActorQueryOperationNop)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#nop',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_service = new (require('@comunica/actor-query-operation-service').ActorQueryOperationService)({\n 'forceSparqlEndpoint': false,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorQuerySourceIdentify': urn_comunica_default_query_source_identify_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#service',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_values = new (require('@comunica/actor-query-operation-values').ActorQueryOperationValues)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#values',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_one_or_more = new (require('@comunica/actor-query-operation-path-one-or-more').ActorQueryOperationPathOneOrMore)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-one-or-more',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_zero_or_more = new (require('@comunica/actor-query-operation-path-zero-or-more').ActorQueryOperationPathZeroOrMore)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-zero-or-more',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_path_zero_or_one = new (require('@comunica/actor-query-operation-path-zero-or-one').ActorQueryOperationPathZeroOrOne)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#path-zero-or-one',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_operation_actors_update_delete_insert = new (require('@comunica/actor-query-operation-update-deleteinsert').ActorQueryOperationUpdateDeleteInsert)({\n 'mediatorUpdateQuads': urn_comunica_default_rdf_update_quads_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'name': 'urn:comunica:default:query-operation/actors#update-delete-insert',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_operation__4_0_0_components_ActorQueryOperation_jsonld_ActorQueryOperation_default_bus,\n 'busFailMessage': 'Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}'\n});\nconst urn_comunica_default_query_process_actors_sequential = new (require('@comunica/actor-query-process-sequential').ActorQueryProcessSequential)({\n 'mediatorContextPreprocess': urn_comunica_default_context_preprocess_mediators_main,\n 'mediatorQueryParse': urn_comunica_default_query_parse_mediators_main,\n 'mediatorOptimizeQueryOperation': urn_comunica_default_optimize_query_operation_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:query-process/actors#sequential',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_process__4_0_0_components_ActorQueryProcess_jsonld_ActorQueryProcess_default_bus,\n 'busFailMessage': 'Query processing failed: none of the configured actor were process to the query \"${action.query}\"'\n});\nconst urn_comunica_default_query_source_identify_actors_hypermedia = new (require('@comunica/actor-query-source-identify-hypermedia').ActorQuerySourceIdentifyHypermedia)({\n 'cacheSize': 100,\n 'maxIterators': 64,\n 'aggregateTraversalStore': true,\n 'mediatorDereferenceRdf': urn_comunica_default_dereference_rdf_mediators_main,\n 'mediatorMetadata': urn_comunica_default_rdf_metadata_mediators_main,\n 'mediatorMetadataExtract': urn_comunica_default_rdf_metadata_extract_mediators_main,\n 'mediatorMetadataAccumulate': urn_comunica_default_rdf_metadata_accumulate_mediators_main,\n 'mediatorQuerySourceIdentifyHypermedia': urn_comunica_default_query_source_identify_hypermedia_mediators_main,\n 'mediatorRdfResolveHypermediaLinks': urn_comunica_default_rdf_resolve_hypermedia_links_mediators_main,\n 'mediatorRdfResolveHypermediaLinksQueue': urn_comunica_default_rdf_resolve_hypermedia_links_queue_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:query-source-identify/actors#hypermedia',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify__4_0_0_components_ActorQuerySourceIdentify_jsonld_ActorQuerySourceIdentify_default_bus,\n 'busFailMessage': 'Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}'\n});\nconst urn_comunica_default_rdf_join_actors_inner_none = new (require('@comunica/actor-rdf-join-inner-none').ActorRdfJoinNone)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-none',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_rdf_join_actors_optional_bind = new (require('@comunica/actor-rdf-join-optional-bind').ActorRdfJoinOptionalBind)({\n 'bindOrder': 'depth-first',\n 'selectivityModifier': 0.000001,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#optional-bind',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}'\n});\nconst urn_comunica_default_term_comparator_factory_actors_expression_evaluator = new (require('@comunica/actor-term-comparator-factory-expression-evaluator').ActorTermComparatorFactoryExpressionEvaluator)({\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'mediatorFunctionFactory': urn_comunica_default_function_factory_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:term-comparator-factory/actors#expression-evaluator',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_term_comparator_factory__4_0_0_components_ActorTermComparatorFactory_jsonld_ActorTermComparatorFactory_default_bus,\n 'busFailMessage': 'Creation of term comparator failed'\n});\nconst urn_comunica_default_rdf_join_actors_inner_multi_bind = new (require('@comunica/actor-rdf-join-inner-multi-bind').ActorRdfJoinMultiBind)({\n 'bindOrder': 'depth-first',\n 'selectivityModifier': 0.0001,\n 'minMaxCardinalityRatio': 60,\n 'mediatorJoinEntriesSort': urn_comunica_default_rdf_join_entries_sort_mediators_main,\n 'mediatorQueryOperation': urn_comunica_default_query_operation_mediators_main,\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-multi-bind',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}',\n 'beforeActors': [\n urn_comunica_default_rdf_join_actors_inner_multi_smallest,\n urn_comunica_default_rdf_join_actors_inner_hash_def,\n urn_comunica_default_rdf_join_actors_inner_hash_undef,\n urn_comunica_default_rdf_join_actors_inner_symmetric_hash,\n urn_comunica_default_rdf_join_actors_inner_nested_loop\n]\n});\nconst urn_comunica_default_rdf_join_actors_inner_multi_smallest_filter_bindings = new (require('@comunica/actor-rdf-join-inner-multi-smallest-filter-bindings').ActorRdfJoinMultiSmallestFilterBindings)({\n 'selectivityModifier': 0.0001,\n 'blockSize': 64,\n 'mediatorJoinEntriesSort': urn_comunica_default_rdf_join_entries_sort_mediators_main,\n 'mediatorJoin': urn_comunica_default_rdf_join_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-multi-smallest-filter-bindings',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}',\n 'beforeActors': [\n urn_comunica_default_rdf_join_actors_inner_multi_smallest,\n urn_comunica_default_rdf_join_actors_inner_hash_def,\n urn_comunica_default_rdf_join_actors_inner_hash_undef,\n urn_comunica_default_rdf_join_actors_inner_symmetric_hash,\n urn_comunica_default_rdf_join_actors_inner_nested_loop\n]\n});\nconst urn_comunica_default_query_result_serialize_actors_sparql_json = new (require('@comunica/actor-query-result-serialize-sparql-json').ActorQueryResultSerializeSparqlJson)({\n 'emitMetadata': true,\n 'httpObserver': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_sparql_json__4_0_0_components_ActorQueryResultSerializeSparqlJson_jsonld_ActorQueryResultSerializeSparqlJson_default_observer,\n 'mediaTypePriorities': {\"application/sparql-results+json\":0.8},\n 'mediaTypeFormats': {\"application/sparql-results+json\":\"http://www.w3.org/ns/formats/SPARQL_Results_JSON\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#sparql-json',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_result_serialize_actors_stats = new (require('@comunica/actor-query-result-serialize-stats').ActorQueryResultSerializeStats)({\n 'httpObserver': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_query_result_serialize_stats__4_0_0_components_ActorQueryResultSerializeStats_jsonld_ActorQueryResultSerializeStats_default_observer,\n 'mediaTypePriorities': {\"stats\":0.5},\n 'mediaTypeFormats': {\"stats\":\"https://comunica.linkeddatafragments.org/#results_stats\"},\n 'name': 'urn:comunica:default:query-result-serialize/actors#stats',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_result_serialize__4_0_0_components_ActorQueryResultSerialize_jsonld_ActorQueryResultSerialize_default_bus,\n 'busFailMessage': 'Query result serialization failed: none of the configured actors were able to serialize for type ${action.handle.type}'\n});\nconst urn_comunica_default_query_process_actors_explain_parsed = new (require('@comunica/actor-query-process-explain-parsed').ActorQueryProcessExplainParsed)({\n 'queryProcessor': urn_comunica_default_query_process_actors_sequential,\n 'name': 'urn:comunica:default:query-process/actors#explain-parsed',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_process__4_0_0_components_ActorQueryProcess_jsonld_ActorQueryProcess_default_bus,\n 'busFailMessage': 'Query processing failed: none of the configured actor were process to the query \"${action.query}\"'\n});\nconst urn_comunica_default_query_process_actors_explain_logical = new (require('@comunica/actor-query-process-explain-logical').ActorQueryProcessExplainLogical)({\n 'queryProcessor': urn_comunica_default_query_process_actors_sequential,\n 'name': 'urn:comunica:default:query-process/actors#explain-logical',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_process__4_0_0_components_ActorQueryProcess_jsonld_ActorQueryProcess_default_bus,\n 'busFailMessage': 'Query processing failed: none of the configured actor were process to the query \"${action.query}\"'\n});\nconst urn_comunica_default_query_process_actors_explain_physical = new (require('@comunica/actor-query-process-explain-physical').ActorQueryProcessExplainPhysical)({\n 'queryProcessor': urn_comunica_default_query_process_actors_sequential,\n 'name': 'urn:comunica:default:query-process/actors#explain-physical',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_process__4_0_0_components_ActorQueryProcess_jsonld_ActorQueryProcess_default_bus,\n 'busFailMessage': 'Query processing failed: none of the configured actor were process to the query \"${action.query}\"'\n});\nconst urn_comunica_default_optimize_query_operation_actors_prune_empty_source_operations = new (require('@comunica/actor-optimize-query-operation-prune-empty-source-operations').ActorOptimizeQueryOperationPruneEmptySourceOperations)({\n 'useAskIfSupported': false,\n 'name': 'urn:comunica:default:optimize-query-operation/actors#prune-empty-source-operations',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_filter_pushdown\n]\n});\nconst urn_comunica_default_http_actors_retry = new (require('@comunica/actor-http-retry').ActorHttpRetry)({\n 'mediatorHttp': urn_comunica_default_http_mediators_main,\n 'httpInvalidator': https___linkedsoftwaredependencies_org_bundles_npm__comunica_actor_http_retry__4_0_0_components_ActorHttpRetry_jsonld_IActorHttpQueueArgs_default_invalidator,\n 'name': 'urn:comunica:default:http/actors#retry',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_http__4_0_0_components_ActorHttp_jsonld_ActorHttp_default_bus,\n 'busFailMessage': 'HTTP request failed: none of the configured actors were able to handle ${action.input}',\n 'beforeActors': [\n urn_comunica_default_http_actors_proxy\n]\n});\nconst urn_comunica_default_query_source_identify_actors_rdfjs = new (require('@comunica/actor-query-source-identify-rdfjs').ActorQuerySourceIdentifyRdfJs)({\n 'mediatorMergeBindingsContext': urn_comunica_default_merge_bindings_context_mediators_main,\n 'name': 'urn:comunica:default:query-source-identify/actors#rdfjs',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify__4_0_0_components_ActorQuerySourceIdentify_jsonld_ActorQuerySourceIdentify_default_bus,\n 'busFailMessage': 'Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}',\n 'beforeActors': [\n urn_comunica_default_query_source_identify_actors_hypermedia\n]\n});\nconst urn_comunica_default_query_source_identify_actors_serialized = new (require('@comunica/actor-query-source-identify-serialized').ActorQuerySourceIdentifySerialized)({\n 'mediatorRdfParse': urn_comunica_default_rdf_parse_mediators_parse,\n 'mediatorQuerySourceIdentify': urn_comunica_default_query_source_identify_mediators_main,\n 'name': 'urn:comunica:default:query-source-identify/actors#serialized',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_query_source_identify__4_0_0_components_ActorQuerySourceIdentify_jsonld_ActorQuerySourceIdentify_default_bus,\n 'busFailMessage': 'Query source identification failed: none of the configured actors were able to identify ${action.querySourceUnidentified.value}',\n 'beforeActors': [\n urn_comunica_default_query_source_identify_actors_hypermedia\n]\n});\nconst urn_comunica_default_rdf_join_actors_inner_multi_bind_source = new (require('@comunica/actor-rdf-join-inner-multi-bind-source').ActorRdfJoinMultiBindSource)({\n 'selectivityModifier': 0.0001,\n 'blockSize': 16,\n 'mediatorJoinEntriesSort': urn_comunica_default_rdf_join_entries_sort_mediators_main,\n 'mediatorJoinSelectivity': urn_comunica_default_rdf_join_selectivity_mediators_main,\n 'name': 'urn:comunica:default:rdf-join/actors#inner-multi-bind-source',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_rdf_join__4_0_0_components_ActorRdfJoin_jsonld_ActorRdfJoin_default_bus,\n 'busFailMessage': 'RDF joining failed: none of the configured actors were able to handle the join type ${action.type}',\n 'beforeActors': [\n urn_comunica_default_rdf_join_actors_inner_multi_smallest,\n urn_comunica_default_rdf_join_actors_inner_multi_bind,\n urn_comunica_default_rdf_join_actors_inner_hash_def,\n urn_comunica_default_rdf_join_actors_inner_hash_undef,\n urn_comunica_default_rdf_join_actors_inner_symmetric_hash,\n urn_comunica_default_rdf_join_actors_inner_nested_loop\n]\n});\nconst urn_comunica_default_optimize_query_operation_actors_join_connected = new (require('@comunica/actor-optimize-query-operation-join-connected').ActorOptimizeQueryOperationJoinConnected)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#join-connected',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_prune_empty_source_operations\n]\n});\nconst urn_comunica_default_optimize_query_operation_actors_bgp_to_join = new (require('@comunica/actor-optimize-query-operation-bgp-to-join').ActorOptimizeQueryOperationBgpToJoin)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#bgp-to-join',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_join_connected\n]\n});\nconst urn_comunica_default_optimize_query_operation_actors_join_bgp = new (require('@comunica/actor-optimize-query-operation-join-bgp').ActorOptimizeQueryOperationJoinBgp)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#join-bgp',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_bgp_to_join\n]\n});\nconst urn_comunica_default_optimize_query_operation_actors_assign_sources_exhaustive = new (require('@comunica/actor-optimize-query-operation-assign-sources-exhaustive').ActorOptimizeQueryOperationAssignSourcesExhaustive)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#assign-sources-exhaustive',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_join_bgp\n]\n});\nconst urn_comunica_default_optimize_query_operation_actors_describe_to_constructs_subject = new (require('@comunica/actor-optimize-query-operation-describe-to-constructs-subject').ActorOptimizeQueryOperationDescribeToConstructsSubject)({\n 'name': 'urn:comunica:default:optimize-query-operation/actors#describe-to-constructs-subject',\n 'bus': https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_optimize_query_operation__4_0_0_components_ActorOptimizeQueryOperation_jsonld_ActorOptimizeQueryOperation_default_bus,\n 'busFailMessage': 'Query optimization failed: none of the configured actors were able to optimize',\n 'beforeActors': [\n urn_comunica_default_optimize_query_operation_actors_assign_sources_exhaustive\n]\n});\nconst urn_comunica_default_Runner = (https___linkedsoftwaredependencies_org_bundles_npm__comunica_bus_init__4_0_0_components_ActorInit_jsonld_ActorInit_default_bus, [\n urn_comunica_default_context_preprocess_actors_convert_shortcuts,\n urn_comunica_default_context_preprocess_actors_set_defaults,\n urn_comunica_default_context_preprocess_actors_source_to_destination,\n urn_comunica_default_context_preprocess_actors_query_source_identify,\n urn_comunica_default_context_preprocess_actors_query_source_skolemize,\n urn_comunica_default_hash_bindings_actors_murmur,\n urn_comunica_default_hash_quads_actors_murmur,\n urn_comunica_default_init_actors_query,\n urn_comunica_default_optimize_query_operation_actors_rewrite_copy,\n urn_comunica_default_optimize_query_operation_actors_rewrite_move,\n urn_comunica_default_optimize_query_operation_actors_rewrite_add,\n urn_comunica_default_optimize_query_operation_actors_describe_to_constructs_subject,\n urn_comunica_default_optimize_query_operation_actors_assign_sources_exhaustive,\n urn_comunica_default_optimize_query_operation_actors_join_bgp,\n urn_comunica_default_optimize_query_operation_actors_bgp_to_join,\n urn_comunica_default_optimize_query_operation_actors_join_connected,\n urn_comunica_default_optimize_query_operation_actors_prune_empty_source_operations,\n urn_comunica_default_optimize_query_operation_actors_filter_pushdown,\n urn_comunica_default_optimize_query_operation_actors_group_sources,\n urn_comunica_default_optimize_query_operation_actors_construct_distinct,\n urn_comunica_default_query_parse_actors_sparql,\n urn_comunica_default_query_parse_actors_graphql,\n urn_comunica_default_query_result_serialize_actors_json,\n urn_comunica_default_query_result_serialize_actors_rdf,\n urn_comunica_default_query_result_serialize_actors_simple,\n urn_comunica_default_query_result_serialize_actors_csv,\n urn_comunica_default_query_result_serialize_actors_sparql_json,\n urn_comunica_default_query_result_serialize_actors_sparql_tsv,\n urn_comunica_default_query_result_serialize_actors_sparql_xml,\n urn_comunica_default_query_result_serialize_actors_stats,\n urn_comunica_default_query_result_serialize_actors_table,\n urn_comunica_default_query_result_serialize_actors_tree,\n urn_comunica_default_query_source_identify_hypermedia_actors_qpf,\n urn_comunica_default_rdf_resolve_quad_pattern_actors_sparql,\n urn_comunica_default_query_source_identify_hypermedia_actors_none,\n urn_comunica_default_dereference_actors_http,\n urn_comunica_default_dereference_actors_fallback,\n urn_comunica_default_dereference_rdf_actors_parse,\n urn_comunica_default_rdf_join_entries_sort_actors_cardinality,\n urn_comunica_default_rdf_join_selectivity_actors_variable_counting,\n urn_comunica_default_rdf_metadata_actors_primary_topic,\n urn_comunica_default_rdf_metadata_actors_all,\n urn_comunica_default_rdf_metadata_accumulate_actors_cardinality,\n urn_comunica_default_rdf_metadata_accumulate_actors_pagesize,\n urn_comunica_default_rdf_metadata_accumulate_actors_requesttime,\n urn_comunica_default_rdf_metadata_extract_actors_hydra_controls,\n urn_comunica_default_rdf_metadata_extract_actors_hydra_count,\n urn_comunica_default_rdf_metadata_extract_actors_hydra_pagesize,\n urn_comunica_default_rdf_metadata_extract_actors_request_time,\n urn_comunica_default_rdf_metadata_extract_actors_allow_http_methods,\n urn_comunica_default_rdf_metadata_extract_actors_put_accepted,\n urn_comunica_default_rdf_metadata_extract_actors_patch_sparql_update,\n urn_comunica_default_rdf_metadata_extract_actors_sparql_service,\n urn_comunica_default_rdf_parse_actors_n3,\n urn_comunica_default_rdf_parse_actors_jsonld,\n urn_comunica_default_rdf_parse_actors_rdfxml,\n urn_comunica_default_rdf_parse_actors_xmlrdfa,\n urn_comunica_default_rdf_parse_actors_html,\n urn_comunica_default_rdf_parse_actors_shaclc,\n urn_comunica_default_rdf_parse_html_actors_microdata,\n urn_comunica_default_rdf_parse_html_actors_rdfa,\n urn_comunica_default_rdf_parse_html_actors_script,\n urn_comunica_default_rdf_resolve_hypermedia_links_actors_next,\n urn_comunica_default_rdf_resolve_hypermedia_links_queue_actors_fifo,\n urn_comunica_default_rdf_serialize_actors_n3,\n urn_comunica_default_rdf_serialize_actors_jsonld,\n urn_comunica_default_rdf_serialize_actors_shaclc,\n urn_comunica_default_rdf_update_hypermedia_actors_patch_sparql_update,\n urn_comunica_default_rdf_update_hypermedia_actors_put_ldp,\n urn_comunica_default_rdf_update_hypermedia_actors_sparql,\n urn_comunica_default_rdf_update_quads_actors_hypermedia,\n urn_comunica_default_rdf_update_quads_actors_rdfjs_store,\n urn_comunica_default_bindings_aggregator_factory_actors_average,\n urn_comunica_default_bindings_aggregator_factory_actors_count,\n urn_comunica_default_bindings_aggregator_factory_actors_group_concat,\n urn_comunica_default_bindings_aggregator_factory_actors_max,\n urn_comunica_default_bindings_aggregator_factory_actors_min,\n urn_comunica_default_bindings_aggregator_factory_actors_sample,\n urn_comunica_default_bindings_aggregator_factory_actors_sum,\n urn_comunica_default_bindings_aggregator_factory_actors_wildcard_count,\n urn_comunica_default_expression_evaluator_factory_actors_default,\n urn_comunica_default_function_factory_actors_expression_function_bnode,\n urn_comunica_default_function_factory_actors_expression_function_bound,\n urn_comunica_default_function_factory_actors_expression_function_coalesce,\n urn_comunica_default_function_factory_actors_expression_function_concat,\n urn_comunica_default_function_factory_actors_expression_function_extensions,\n urn_comunica_default_function_factory_actors_expression_function_if,\n urn_comunica_default_function_factory_actors_expression_function_in,\n urn_comunica_default_function_factory_actors_expression_function_logical_and,\n urn_comunica_default_function_factory_actors_expression_function_logical_or,\n urn_comunica_default_function_factory_actors_expression_function_not_in,\n urn_comunica_default_function_factory_actors_expression_function_same_term,\n urn_comunica_default_function_factory_actors_term_function_abs,\n urn_comunica_default_function_factory_actors_term_function_addition,\n urn_comunica_default_function_factory_actors_term_function_ceil,\n urn_comunica_default_function_factory_actors_term_function_contains,\n urn_comunica_default_function_factory_actors_term_function_datatype,\n urn_comunica_default_function_factory_actors_term_function_day,\n urn_comunica_default_function_factory_actors_term_function_division,\n urn_comunica_default_function_factory_actors_term_function_encode_for_uri,\n urn_comunica_default_function_factory_actors_term_function_equality,\n urn_comunica_default_function_factory_actors_term_function_floor,\n urn_comunica_default_function_factory_actors_term_function_greater_than_equal,\n urn_comunica_default_function_factory_actors_term_function_greater_than,\n urn_comunica_default_function_factory_actors_term_function_hours,\n urn_comunica_default_function_factory_actors_term_function_inequality,\n urn_comunica_default_function_factory_actors_term_function_iri,\n urn_comunica_default_function_factory_actors_term_function_is_blank,\n urn_comunica_default_function_factory_actors_term_function_is_iri,\n urn_comunica_default_function_factory_actors_term_function_is_literal,\n urn_comunica_default_function_factory_actors_term_function_is_numeric,\n urn_comunica_default_function_factory_actors_term_function_is_triple,\n urn_comunica_default_function_factory_actors_term_function_lang,\n urn_comunica_default_function_factory_actors_term_function_langmatches,\n urn_comunica_default_function_factory_actors_term_function_lcase,\n urn_comunica_default_function_factory_actors_term_function_lesser_than_equal,\n urn_comunica_default_function_factory_actors_term_function_lesser_than,\n urn_comunica_default_function_factory_actors_term_function_md5,\n urn_comunica_default_function_factory_actors_term_function_minutes,\n urn_comunica_default_function_factory_actors_term_function_month,\n urn_comunica_default_function_factory_actors_term_function_multiplication,\n urn_comunica_default_function_factory_actors_term_function_not,\n urn_comunica_default_function_factory_actors_term_function_now,\n urn_comunica_default_function_factory_actors_term_function_object,\n urn_comunica_default_function_factory_actors_term_function_predicate,\n urn_comunica_default_function_factory_actors_term_function_rand,\n urn_comunica_default_function_factory_actors_term_function_regex,\n urn_comunica_default_function_factory_actors_term_function_replace,\n urn_comunica_default_function_factory_actors_term_function_round,\n urn_comunica_default_function_factory_actors_term_function_seconds,\n urn_comunica_default_function_factory_actors_term_function_sha1,\n urn_comunica_default_function_factory_actors_term_function_sha256,\n urn_comunica_default_function_factory_actors_term_function_sha384,\n urn_comunica_default_function_factory_actors_term_function_sha512,\n urn_comunica_default_function_factory_actors_term_function_str_after,\n urn_comunica_default_function_factory_actors_term_function_str_before,\n urn_comunica_default_function_factory_actors_term_function_str_dt,\n urn_comunica_default_function_factory_actors_term_function_str_ends,\n urn_comunica_default_function_factory_actors_term_function_str_lang,\n urn_comunica_default_function_factory_actors_term_function_str_len,\n urn_comunica_default_function_factory_actors_term_function_str_starts,\n urn_comunica_default_function_factory_actors_term_function_str_uuid,\n urn_comunica_default_function_factory_actors_term_function_str,\n urn_comunica_default_function_factory_actors_term_function_sub_str,\n urn_comunica_default_function_factory_actors_term_function_subject,\n urn_comunica_default_function_factory_actors_term_function_subtraction,\n urn_comunica_default_function_factory_actors_term_function_timezone,\n urn_comunica_default_function_factory_actors_term_function_triple,\n urn_comunica_default_function_factory_actors_term_function_tz,\n urn_comunica_default_function_factory_actors_term_function_ucase,\n urn_comunica_default_function_factory_actors_term_function_unary_minus,\n urn_comunica_default_function_factory_actors_term_function_unary_plus,\n urn_comunica_default_function_factory_actors_term_function_uuid,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_boolean,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_date,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_datetime,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_day_time_duration,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_decimal,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_double,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_duration,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_float,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_integer,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_string,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_time,\n urn_comunica_default_function_factory_actors_term_function_xsd_to_year_month_duration,\n urn_comunica_default_function_factory_actors_term_function_year,\n urn_comunica_default_http_actors_retry,\n urn_comunica_default_http_actors_proxy,\n urn_comunica_default_http_actors_fetch,\n urn_comunica_default_http_actors_wayback,\n urn_comunica_default_query_operation_actors_ask,\n urn_comunica_default_query_operation_actors_bgp,\n urn_comunica_default_query_operation_actors_construct,\n urn_comunica_default_query_operation_actors_distinct,\n urn_comunica_default_query_operation_actors_extend,\n urn_comunica_default_query_operation_actors_filter,\n urn_comunica_default_query_operation_actors_from,\n urn_comunica_default_query_operation_actors_group,\n urn_comunica_default_query_operation_actors_join,\n urn_comunica_default_query_operation_actors_leftjoin,\n urn_comunica_default_query_operation_actors_minus,\n urn_comunica_default_query_operation_actors_nop,\n urn_comunica_default_query_operation_actors_orderby,\n urn_comunica_default_query_operation_actors_project,\n urn_comunica_default_query_operation_actors_reduced,\n urn_comunica_default_query_operation_actors_service,\n urn_comunica_default_query_operation_actors_slice,\n urn_comunica_default_query_operation_actors_source,\n urn_comunica_default_query_operation_actors_union,\n urn_comunica_default_query_operation_actors_values,\n urn_comunica_default_query_operation_actors_path_alt,\n urn_comunica_default_query_operation_actors_path_inv,\n urn_comunica_default_query_operation_actors_path_link,\n urn_comunica_default_query_operation_actors_path_nps,\n urn_comunica_default_query_operation_actors_path_one_or_more,\n urn_comunica_default_query_operation_actors_path_seq,\n urn_comunica_default_query_operation_actors_path_zero_or_more,\n urn_comunica_default_query_operation_actors_path_zero_or_one,\n urn_comunica_default_query_operation_actors_update_clear,\n urn_comunica_default_query_operation_actors_update_composite,\n urn_comunica_default_query_operation_actors_update_create,\n urn_comunica_default_query_operation_actors_update_delete_insert,\n urn_comunica_default_query_operation_actors_update_drop,\n urn_comunica_default_query_operation_actors_update_load,\n urn_comunica_default_query_process_actors_sequential,\n urn_comunica_default_query_process_actors_explain_parsed,\n urn_comunica_default_query_process_actors_explain_logical,\n urn_comunica_default_query_process_actors_explain_physical,\n urn_comunica_default_query_source_identify_actors_hypermedia,\n urn_comunica_default_query_source_identify_actors_rdfjs,\n urn_comunica_default_query_source_identify_actors_serialized,\n urn_comunica_default_rdf_join_actors_inner_none,\n urn_comunica_default_rdf_join_actors_inner_single,\n urn_comunica_default_rdf_join_actors_inner_multi_empty,\n urn_comunica_default_rdf_join_actors_inner_multi_bind_source,\n urn_comunica_default_rdf_join_actors_inner_multi_bind,\n urn_comunica_default_rdf_join_actors_inner_hash_def,\n urn_comunica_default_rdf_join_actors_inner_hash_undef,\n urn_comunica_default_rdf_join_actors_inner_symmetric_hash,\n urn_comunica_default_rdf_join_actors_inner_nested_loop,\n urn_comunica_default_rdf_join_actors_inner_multi_smallest,\n urn_comunica_default_rdf_join_actors_inner_multi_smallest_filter_bindings,\n urn_comunica_default_rdf_join_actors_minus_hash_def,\n urn_comunica_default_rdf_join_actors_minus_hash_undef,\n urn_comunica_default_rdf_join_actors_optional_bind,\n urn_comunica_default_rdf_join_actors_optional_hash_def_nonblocking,\n urn_comunica_default_rdf_join_actors_optional_hash_def_blocking,\n urn_comunica_default_rdf_join_actors_optional_hash_undef_nonblocking,\n urn_comunica_default_rdf_join_actors_optional_hash_undef_blocking,\n urn_comunica_default_rdf_join_actors_optional_nested_loop,\n urn_comunica_default_term_comparator_factory_actors_expression_evaluator\n]);\nmodule.exports = urn_comunica_default_init_actors_query;\n\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n",";(function (globalObject) {\r\n 'use strict';\r\n\r\n/*\r\n * bignumber.js v9.1.2\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\n var BigNumber,\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n /*\r\n * Create and return a BigNumber constructor.\r\n */\r\n function clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, -1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n // If any number is NaN, return NaN.\r\n function maxOrMin(args, n) {\r\n var k, y,\r\n i = 1,\r\n x = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n y = new BigNumber(args[i]);\r\n if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = mathfloor(n / pows10[d - j - 1] % 10);\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) {\r\n zc = xc;\r\n xc = yc;\r\n yc = zc;\r\n i = xcL;\r\n xcL = ycL;\r\n ycL = i;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n b = a;\r\n }\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) {\r\n i = g1;\r\n g1 = g2;\r\n g2 = i;\r\n len -= i;\r\n }\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n }\r\n\r\n\r\n // PRIVATE HELPER FUNCTIONS\r\n\r\n // These functions don't need access to variables,\r\n // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\n function bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n }\r\n\r\n\r\n // Return a coefficient array as a string of base 10 digits.\r\n function coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n }\r\n\r\n\r\n // Compare the value of BigNumbers x and y.\r\n function compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n }\r\n\r\n\r\n /*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\n function intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n }\r\n\r\n\r\n // Assumes finite n.\r\n function isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n }\r\n\r\n\r\n function toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n }\r\n\r\n\r\n function toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // EXPORT\r\n\r\n\r\n BigNumber = clone();\r\n BigNumber['default'] = BigNumber.BigNumber = BigNumber;\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () { return BigNumber; });\r\n\r\n // Node.js and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = BigNumber;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalObject) {\r\n globalObject = typeof self != 'undefined' && self ? self : window;\r\n }\r\n\r\n globalObject.BigNumber = BigNumber;\r\n }\r\n})(this);\r\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","/* jshint esversion: 6 */\n/* jslint node: true */\n'use strict';\n\nmodule.exports = function serialize (object) {\n if (object === null || typeof object !== 'object' || object.toJSON != null) {\n return JSON.stringify(object);\n }\n\n if (Array.isArray(object)) {\n return '[' + object.reduce((t, cv, ci) => {\n const comma = ci === 0 ? '' : ',';\n const value = cv === undefined || typeof cv === 'symbol' ? null : cv;\n return t + comma + serialize(value);\n }, '') + ']';\n }\n\n return '{' + Object.keys(object).sort().reduce((t, cv, ci) => {\n if (object[cv] === undefined ||\n typeof object[cv] === 'symbol') {\n return t;\n }\n const comma = t.length === 0 ? '' : ',';\n return t + comma + serialize(cv) + ':' + serialize(object[cv]);\n }, '') + '}';\n};\n","(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(typeof self !== 'undefined' ? self : this);\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\nexports.attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.render = void 0;\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_js_1 = require(\"./foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? entities_1.encodeXML\n : entities_1.escapeAttribute;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return \"\".concat(key, \"=\\\"\").concat(encode(value), \"\\\"\");\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.render = render;\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\".concat(elem.name);\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \".concat(attribs);\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"\");\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\".concat(elem.data, \">\");\n}\nfunction renderText(elem, opts) {\n var _a;\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? (0, entities_1.encodeXML)(data)\n : (0, entities_1.escapeText)(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"\");\n}\nfunction renderComment(elem) {\n return \"\");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for `.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n };\n Tokenizer.prototype.stateCDATASequence = function (c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n };\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n Tokenizer.prototype.fastForwardTo = function (c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n };\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n Tokenizer.prototype.stateInCommentLike = function (c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n };\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n Tokenizer.prototype.isTagStartChar = function (c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n };\n Tokenizer.prototype.startSpecial = function (sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n };\n Tokenizer.prototype.stateBeforeTagName = function (c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n var lower = c | 0x20;\n this.sectionStart = this.index;\n if (!this.xmlMode && lower === Sequences.TitleEnd[2]) {\n this.startSpecial(Sequences.TitleEnd, 3);\n }\n else {\n this.state =\n !this.xmlMode && lower === Sequences.ScriptEnd[2]\n ? State.BeforeSpecialS\n : State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n };\n Tokenizer.prototype.stateInTagName = function (c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateBeforeClosingTagName = function (c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInClosingTagName = function (c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n };\n Tokenizer.prototype.stateAfterClosingTagName = function (c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeName = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.baseState = this.state;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInSelfClosingTag = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateInAttributeName = function (c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n };\n Tokenizer.prototype.stateAfterAttributeName = function (c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeValue = function (c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n };\n Tokenizer.prototype.handleInAttributeValue = function (c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueSingleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueNoQuotes = function (c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateBeforeDeclaration = function (c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInDeclaration = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateInProcessingInstruction = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeComment = function (c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. )\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInSpecialComment = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeSpecialS = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.stateBeforeEntity = function (c) {\n // Start excess with 1 to include the '&'\n this.entityExcess = 1;\n this.entityResult = 0;\n if (c === CharCodes.Number) {\n this.state = State.BeforeNumericEntity;\n }\n else if (c === CharCodes.Amp) {\n // We have two `&` characters in a row. Stay in the current state.\n }\n else {\n this.trieIndex = 0;\n this.trieCurrent = this.entityTrie[0];\n this.state = State.InNamedEntity;\n this.stateInNamedEntity(c);\n }\n };\n Tokenizer.prototype.stateInNamedEntity = function (c) {\n this.entityExcess += 1;\n this.trieIndex = (0, decode_js_1.determineBranch)(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c);\n if (this.trieIndex < 0) {\n this.emitNamedEntity();\n this.index--;\n return;\n }\n this.trieCurrent = this.entityTrie[this.trieIndex];\n var masked = this.trieCurrent & decode_js_1.BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (masked >> 14) - 1;\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!this.allowLegacyEntity() && c !== CharCodes.Semi) {\n this.trieIndex += valueLength;\n }\n else {\n // Add 1 as we have already incremented the excess\n var entityStart = this.index - this.entityExcess + 1;\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n // If this is a surrogate pair, consume the next two bytes\n this.entityResult = this.trieIndex;\n this.trieIndex += valueLength;\n this.entityExcess = 0;\n this.sectionStart = this.index + 1;\n if (valueLength === 0) {\n this.emitNamedEntity();\n }\n }\n }\n };\n Tokenizer.prototype.emitNamedEntity = function () {\n this.state = this.baseState;\n if (this.entityResult === 0) {\n return;\n }\n var valueLength = (this.entityTrie[this.entityResult] & decode_js_1.BinTrieFlags.VALUE_LENGTH) >>\n 14;\n switch (valueLength) {\n case 1: {\n this.emitCodePoint(this.entityTrie[this.entityResult] &\n ~decode_js_1.BinTrieFlags.VALUE_LENGTH);\n break;\n }\n case 2: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n break;\n }\n case 3: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n this.emitCodePoint(this.entityTrie[this.entityResult + 2]);\n }\n }\n };\n Tokenizer.prototype.stateBeforeNumericEntity = function (c) {\n if ((c | 0x20) === CharCodes.LowerX) {\n this.entityExcess++;\n this.state = State.InHexEntity;\n }\n else {\n this.state = State.InNumericEntity;\n this.stateInNumericEntity(c);\n }\n };\n Tokenizer.prototype.emitNumericEntity = function (strict) {\n var entityStart = this.index - this.entityExcess - 1;\n var numberStart = entityStart + 2 + Number(this.state === State.InHexEntity);\n if (numberStart !== this.index) {\n // Emit leading data if any\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n this.sectionStart = this.index + Number(strict);\n this.emitCodePoint((0, decode_js_1.replaceCodePoint)(this.entityResult));\n }\n this.state = this.baseState;\n };\n Tokenizer.prototype.stateInNumericEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.stateInHexEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else if (isHexDigit(c)) {\n this.entityResult =\n this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.allowLegacyEntity = function () {\n return (!this.xmlMode &&\n (this.baseState === State.Text ||\n this.baseState === State.InSpecialTag));\n };\n /**\n * Remove data that has already been consumed from the buffer.\n */\n Tokenizer.prototype.cleanup = function () {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n };\n Tokenizer.prototype.shouldContinue = function () {\n return this.index < this.buffer.length + this.offset && this.running;\n };\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n Tokenizer.prototype.parse = function () {\n while (this.shouldContinue()) {\n var c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InNamedEntity: {\n this.stateInNamedEntity(c);\n break;\n }\n case State.BeforeEntity: {\n this.stateBeforeEntity(c);\n break;\n }\n case State.InHexEntity: {\n this.stateInHexEntity(c);\n break;\n }\n case State.InNumericEntity: {\n this.stateInNumericEntity(c);\n break;\n }\n default: {\n // `this._state === State.BeforeNumericEntity`\n this.stateBeforeNumericEntity(c);\n }\n }\n this.index++;\n }\n this.cleanup();\n };\n Tokenizer.prototype.finish = function () {\n if (this.state === State.InNamedEntity) {\n this.emitNamedEntity();\n }\n // If there is remaining data, emit it in a reasonable way\n if (this.sectionStart < this.index) {\n this.handleTrailingData();\n }\n this.cbs.onend();\n };\n /** Handle any trailing data. */\n Tokenizer.prototype.handleTrailingData = function () {\n var endIndex = this.buffer.length + this.offset;\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InNumericEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InHexEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n };\n Tokenizer.prototype.emitPartial = function (start, endIndex) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribdata(start, endIndex);\n }\n else {\n this.cbs.ontext(start, endIndex);\n }\n };\n Tokenizer.prototype.emitCodePoint = function (cp) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribentity(cp);\n }\n else {\n this.cbs.ontextentity(cp);\n }\n };\n return Tokenizer;\n}());\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;\nvar Parser_js_1 = require(\"./Parser.js\");\nvar Parser_js_2 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_2.Parser; } });\nvar domhandler_1 = require(\"domhandler\");\nvar domhandler_2 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Old name for DomHandler\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nfunction parseDocument(data, options) {\n var handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\nexports.parseDocument = parseDocument;\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\nexports.parseDOM = parseDOM;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDomStream(callback, options, elementCallback) {\n var handler = new domhandler_1.DomHandler(callback, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDomStream = createDomStream;\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexports.ElementType = __importStar(require(\"domelementtype\"));\nvar domutils_1 = require(\"domutils\");\nvar domutils_2 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_2.getFeed; } });\nvar parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options) {\n if (options === void 0) { options = parseFeedDefaultOptions; }\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.parseFeed = parseFeed;\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","'use strict'\n\nvar COMPATIBLE_ENCODING_PATTERN = /^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i\nvar WS_TRIM_PATTERN = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g\nvar WS_CHAR_PATTERN = /\\s|\\uFEFF|\\xA0/\nvar WS_FOLD_PATTERN = /\\r?\\n[\\x20\\x09]+/g\nvar DELIMITER_PATTERN = /[;,\"]/\nvar WS_DELIMITER_PATTERN = /[;,\"]|\\s/\n\n/**\n * Token character pattern\n * @type {RegExp}\n * @see https://tools.ietf.org/html/rfc7230#section-3.2.6\n */\nvar TOKEN_PATTERN = /^[!#$%&'*+\\-\\.^_`|~\\da-zA-Z]+$/\n\nvar STATE = {\n IDLE: 1 << 0,\n URI: 1 << 1,\n ATTR: 1 << 2,\n}\n\nfunction trim( value ) {\n return value.replace( WS_TRIM_PATTERN, '' )\n}\n\nfunction hasWhitespace( value ) {\n return WS_CHAR_PATTERN.test( value )\n}\n\nfunction skipWhitespace( value, offset ) {\n while( hasWhitespace( value[offset] ) ) {\n offset++\n }\n return offset\n}\n\nfunction needsQuotes( value ) {\n return WS_DELIMITER_PATTERN.test( value ) ||\n !TOKEN_PATTERN.test( value )\n}\n\n/**\n * Shallow compares two objects to check if their properties match.\n * @param {object} object1 First object to compare.\n * @param {object} object2 Second object to compare.\n * @returns {boolean} Do the objects have matching properties.\n */\nfunction shallowCompareObjects( object1, object2 ) {\n return (\n Object.keys( object1 ).length === Object.keys( object2 ).length &&\n Object.keys( object1 ).every(\n ( key ) => key in object2 && object1[ key ] === object2[ key ]\n )\n );\n}\n\nclass Link {\n\n /**\n * Link\n * @constructor\n * @param {String} [value]\n * @returns {Link}\n */\n constructor( value ) {\n\n /** @type {Array} URI references */\n this.refs = []\n\n if( value ) {\n this.parse( value )\n }\n\n }\n\n /**\n * Get refs with given relation type\n * @param {String} value\n * @returns {Array}\n */\n rel( value ) {\n\n var links = []\n var type = value.toLowerCase()\n\n for( var i = 0; i < this.refs.length; i++ ) {\n if( typeof this.refs[ i ].rel === 'string' && this.refs[ i ].rel.toLowerCase() === type ) {\n links.push( this.refs[ i ] )\n }\n }\n\n return links\n\n }\n\n /**\n * Get refs where given attribute has a given value\n * @param {String} attr\n * @param {String} value\n * @returns {Array}\n */\n get( attr, value ) {\n\n attr = attr.toLowerCase()\n value = value.toLowerCase()\n\n var links = []\n\n for( var i = 0; i < this.refs.length; i++ ) {\n if( typeof this.refs[ i ][ attr ] === 'string' && this.refs[ i ][ attr ].toLowerCase() === value ) {\n links.push( this.refs[ i ] )\n }\n }\n\n return links\n\n }\n\n /** Sets a reference. */\n set( link ) {\n this.refs.push( link )\n return this\n }\n\n /**\n * Sets a reference if a reference with similar properties isn’t already set.\n */\n setUnique( link ) {\n\n if( !this.refs.some(( ref ) => shallowCompareObjects( ref, link )) ) {\n this.refs.push( link )\n }\n\n return this\n\n }\n\n has( attr, value ) {\n\n attr = attr.toLowerCase()\n value = value.toLowerCase()\n\n for( var i = 0; i < this.refs.length; i++ ) {\n if( typeof this.refs[ i ][ attr ] === 'string' && this.refs[ i ][ attr ].toLowerCase() === value ) {\n return true\n }\n }\n\n return false\n\n }\n\n parse( value, offset ) {\n\n offset = offset || 0\n value = offset ? value.slice( offset ) : value\n\n // Trim & unfold folded lines\n value = trim( value ).replace( WS_FOLD_PATTERN, '' )\n\n var state = STATE.IDLE\n var length = value.length\n var offset = 0\n var ref = null\n\n while( offset < length ) {\n if( state === STATE.IDLE ) {\n if( hasWhitespace( value[offset] ) ) {\n offset++\n continue\n } else if( value[offset] === '<' ) {\n if( ref != null ) {\n ref.rel != null ?\n this.refs.push( ...Link.expandRelations( ref ) ) :\n this.refs.push( ref )\n }\n var end = value.indexOf( '>', offset )\n if( end === -1 ) throw new Error( 'Expected end of URI delimiter at offset ' + offset )\n ref = { uri: value.slice( offset + 1, end ) }\n // this.refs.push( ref )\n offset = end\n state = STATE.URI\n } else {\n throw new Error( 'Unexpected character \"' + value[offset] + '\" at offset ' + offset )\n }\n offset++\n } else if( state === STATE.URI ) {\n if( hasWhitespace( value[offset] ) ) {\n offset++\n continue\n } else if( value[offset] === ';' ) {\n state = STATE.ATTR\n offset++\n } else if( value[offset] === ',' ) {\n state = STATE.IDLE\n offset++\n } else {\n throw new Error( 'Unexpected character \"' + value[offset] + '\" at offset ' + offset )\n }\n } else if( state === STATE.ATTR ) {\n if( value[offset] ===';' || hasWhitespace( value[offset] ) ) {\n offset++\n continue\n }\n var end = value.indexOf( '=', offset )\n if( end === -1 ) end = value.indexOf( ';', offset )\n if( end === -1 ) end = value.length\n var attr = trim( value.slice( offset, end ) ).toLowerCase()\n var attrValue = ''\n offset = end + 1\n offset = skipWhitespace( value, offset )\n if( value[offset] === '\"' ) {\n offset++\n while( offset < length ) {\n if( value[offset] === '\"' ) {\n offset++; break\n }\n if( value[offset] === '\\\\' ) {\n offset++\n }\n attrValue += value[offset]\n offset++\n }\n } else {\n var end = offset + 1\n while( !DELIMITER_PATTERN.test( value[end] ) && end < length ) {\n end++\n }\n attrValue = value.slice( offset, end )\n offset = end\n }\n if( ref[ attr ] && Link.isSingleOccurenceAttr( attr ) ) {\n // Ignore multiples of attributes which may only appear once\n } else if( attr[ attr.length - 1 ] === '*' ) {\n ref[ attr ] = Link.parseExtendedValue( attrValue )\n } else {\n attrValue = attr === 'type' ?\n attrValue.toLowerCase() : attrValue\n if( ref[ attr ] != null ) {\n if( Array.isArray( ref[ attr ] ) ) {\n ref[ attr ].push( attrValue )\n } else {\n ref[ attr ] = [ ref[ attr ], attrValue ]\n }\n } else {\n ref[ attr ] = attrValue\n }\n }\n switch( value[offset] ) {\n case ',': state = STATE.IDLE; break\n case ';': state = STATE.ATTR; break\n }\n offset++\n } else {\n throw new Error( 'Unknown parser state \"' + state + '\"' )\n }\n }\n\n if( ref != null ) {\n ref.rel != null ?\n this.refs.push( ...Link.expandRelations( ref ) ) :\n this.refs.push( ref )\n }\n\n ref = null\n\n return this\n\n }\n\n toString() {\n\n var refs = []\n var link = ''\n var ref = null\n\n for( var i = 0; i < this.refs.length; i++ ) {\n ref = this.refs[i]\n link = Object.keys( this.refs[i] ).reduce( function( link, attr ) {\n if( attr === 'uri' ) return link\n return link + '; ' + Link.formatAttribute( attr, ref[ attr ] )\n }, '<' + ref.uri + '>' )\n refs.push( link )\n }\n\n return refs.join( ', ' )\n\n }\n\n}\n\n/**\n * Determines whether an encoding can be\n * natively handled with a `Buffer`\n * @param {String} value\n * @returns {Boolean}\n */\nLink.isCompatibleEncoding = function( value ) {\n return COMPATIBLE_ENCODING_PATTERN.test( value )\n}\n\nLink.parse = function( value, offset ) {\n return new Link().parse( value, offset )\n}\n\nLink.isSingleOccurenceAttr = function( attr ) {\n return attr === 'rel' || attr === 'type' || attr === 'media' ||\n attr === 'title' || attr === 'title*'\n}\n\nLink.isTokenAttr = function( attr ) {\n return attr === 'rel' || attr === 'type' || attr === 'anchor'\n}\n\nLink.escapeQuotes = function( value ) {\n return value.replace( /\"/g, '\\\\\"' )\n}\n\nLink.expandRelations = function( ref ) {\n var rels = ref.rel.split( ' ' )\n return rels.map( function( rel ) {\n var value = Object.assign( {}, ref )\n value.rel = rel\n return value\n })\n}\n\n/**\n * Parses an extended value and attempts to decode it\n * @internal\n * @param {String} value\n * @return {Object}\n */\nLink.parseExtendedValue = function( value ) {\n var parts = /([^']+)?(?:'([^']*)')?(.+)/.exec( value )\n return {\n language: parts[2].toLowerCase(),\n encoding: Link.isCompatibleEncoding( parts[1] ) ?\n null : parts[1].toLowerCase(),\n value: Link.isCompatibleEncoding( parts[1] ) ?\n decodeURIComponent( parts[3] ) : parts[3]\n }\n}\n\n/**\n * Format a given extended attribute and it's value\n * @param {String} attr\n * @param {Object} data\n * @return {String}\n */\nLink.formatExtendedAttribute = function( attr, data ) {\n\n var encoding = ( data.encoding || 'utf-8' ).toUpperCase()\n var language = data.language || 'en'\n\n var encodedValue = ''\n\n if( Buffer.isBuffer( data.value ) && Link.isCompatibleEncoding( encoding ) ) {\n encodedValue = data.value.toString( encoding )\n } else if( Buffer.isBuffer( data.value ) ) {\n encodedValue = data.value.toString( 'hex' )\n .replace( /[0-9a-f]{2}/gi, '%$1' )\n } else {\n encodedValue = encodeURIComponent( data.value )\n }\n\n return attr + '=' + encoding + '\\'' +\n language + '\\'' + encodedValue\n\n}\n\n/**\n * Format a given attribute and it's value\n * @param {String} attr\n * @param {String|Object} value\n * @return {String}\n */\nLink.formatAttribute = function( attr, value ) {\n\n if( Array.isArray( value ) ) {\n return value.map(( item ) => {\n return Link.formatAttribute( attr, item )\n }).join( '; ' )\n }\n\n if( attr[ attr.length - 1 ] === '*' || typeof value !== 'string' ) {\n return Link.formatExtendedAttribute( attr, value )\n }\n\n if( Link.isTokenAttr( attr ) ) {\n value = needsQuotes( value ) ?\n '\"' + Link.escapeQuotes( value ) + '\"' :\n Link.escapeQuotes( value )\n } else if( needsQuotes( value ) ) {\n value = encodeURIComponent( value )\n // We don't need to escape <,> <;> within quotes\n value = value\n .replace( /%20/g, ' ' )\n .replace( /%2C/g, ',' )\n .replace( /%3B/g, ';' )\n\n value = '\"' + value + '\"'\n }\n\n return attr + '=' + value\n\n}\n\nmodule.exports = Link\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\n * MIT License\n * \n * Copyright (c) 2014-present, Lee Byron and other contributors.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar DELETE = 'delete';\n\n// Constants describing the size of trie nodes.\nvar SHIFT = 5; // Resulted in best performance after ______?\nvar SIZE = 1 << SHIFT;\nvar MASK = SIZE - 1;\n\n// A consistent shared value representing \"not set\" which equals nothing other\n// than itself, and nothing that could be provided externally.\nvar NOT_SET = {};\n\n// Boolean references, Rough equivalent of `bool &`.\nfunction MakeRef() {\n return { value: false };\n}\n\nfunction SetRef(ref) {\n if (ref) {\n ref.value = true;\n }\n}\n\n// A function which returns a value representing an \"owner\" for transient writes\n// to tries. The return value will only ever equal itself, and will not equal\n// the return of any subsequent call of this function.\nfunction OwnerID() {}\n\nfunction ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n}\n\nfunction wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction wholeSlice(begin, end, size) {\n return (\n ((begin === 0 && !isNeg(begin)) ||\n (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size))\n );\n}\n\nfunction resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n}\n\nfunction resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n}\n\nfunction resolveIndex(index, size, defaultIndex) {\n // Sanitize indices using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n return index === undefined\n ? defaultIndex\n : isNeg(index)\n ? size === Infinity\n ? size\n : Math.max(0, size + index) | 0\n : size === undefined || size === index\n ? index\n : Math.min(size, index) | 0;\n}\n\nfunction isNeg(value) {\n // Account for -0 which is negative, but not less than 0.\n return value < 0 || (value === 0 && 1 / value === -Infinity);\n}\n\nvar IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@';\n\nfunction isCollection(maybeCollection) {\n return Boolean(maybeCollection && maybeCollection[IS_COLLECTION_SYMBOL]);\n}\n\nvar IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@';\n\nfunction isKeyed(maybeKeyed) {\n return Boolean(maybeKeyed && maybeKeyed[IS_KEYED_SYMBOL]);\n}\n\nvar IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@';\n\nfunction isIndexed(maybeIndexed) {\n return Boolean(maybeIndexed && maybeIndexed[IS_INDEXED_SYMBOL]);\n}\n\nfunction isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n}\n\nvar Collection = function Collection(value) {\n return isCollection(value) ? value : Seq(value);\n};\n\nvar KeyedCollection = /*@__PURE__*/(function (Collection) {\n function KeyedCollection(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n if ( Collection ) KeyedCollection.__proto__ = Collection;\n KeyedCollection.prototype = Object.create( Collection && Collection.prototype );\n KeyedCollection.prototype.constructor = KeyedCollection;\n\n return KeyedCollection;\n}(Collection));\n\nvar IndexedCollection = /*@__PURE__*/(function (Collection) {\n function IndexedCollection(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n if ( Collection ) IndexedCollection.__proto__ = Collection;\n IndexedCollection.prototype = Object.create( Collection && Collection.prototype );\n IndexedCollection.prototype.constructor = IndexedCollection;\n\n return IndexedCollection;\n}(Collection));\n\nvar SetCollection = /*@__PURE__*/(function (Collection) {\n function SetCollection(value) {\n return isCollection(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n if ( Collection ) SetCollection.__proto__ = Collection;\n SetCollection.prototype = Object.create( Collection && Collection.prototype );\n SetCollection.prototype.constructor = SetCollection;\n\n return SetCollection;\n}(Collection));\n\nCollection.Keyed = KeyedCollection;\nCollection.Indexed = IndexedCollection;\nCollection.Set = SetCollection;\n\nvar IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@';\n\nfunction isSeq(maybeSeq) {\n return Boolean(maybeSeq && maybeSeq[IS_SEQ_SYMBOL]);\n}\n\nvar IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@';\n\nfunction isRecord(maybeRecord) {\n return Boolean(maybeRecord && maybeRecord[IS_RECORD_SYMBOL]);\n}\n\nfunction isImmutable(maybeImmutable) {\n return isCollection(maybeImmutable) || isRecord(maybeImmutable);\n}\n\nvar IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@';\n\nfunction isOrdered(maybeOrdered) {\n return Boolean(maybeOrdered && maybeOrdered[IS_ORDERED_SYMBOL]);\n}\n\nvar ITERATE_KEYS = 0;\nvar ITERATE_VALUES = 1;\nvar ITERATE_ENTRIES = 2;\n\nvar REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\n\nvar ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\nvar Iterator = function Iterator(next) {\n this.next = next;\n};\n\nIterator.prototype.toString = function toString () {\n return '[Iterator]';\n};\n\nIterator.KEYS = ITERATE_KEYS;\nIterator.VALUES = ITERATE_VALUES;\nIterator.ENTRIES = ITERATE_ENTRIES;\n\nIterator.prototype.inspect = Iterator.prototype.toSource = function () {\n return this.toString();\n};\nIterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n};\n\nfunction iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult\n ? (iteratorResult.value = value)\n : (iteratorResult = {\n value: value,\n done: false,\n });\n return iteratorResult;\n}\n\nfunction iteratorDone() {\n return { value: undefined, done: true };\n}\n\nfunction hasIterator(maybeIterable) {\n if (Array.isArray(maybeIterable)) {\n // IE11 trick as it does not support `Symbol.iterator`\n return true;\n }\n\n return !!getIteratorFn(maybeIterable);\n}\n\nfunction isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n}\n\nfunction getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n}\n\nfunction getIteratorFn(iterable) {\n var iteratorFn =\n iterable &&\n ((REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nfunction isEntriesIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.entries;\n}\n\nfunction isKeysIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.keys;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isArrayLike(value) {\n if (Array.isArray(value) || typeof value === 'string') {\n return true;\n }\n\n return (\n value &&\n typeof value === 'object' &&\n Number.isInteger(value.length) &&\n value.length >= 0 &&\n (value.length === 0\n ? // Only {length: 0} is considered Array-like.\n Object.keys(value).length === 1\n : // An object is only Array-like if it has a property where the last value\n // in the array-like may be found (which could be undefined).\n value.hasOwnProperty(value.length - 1))\n );\n}\n\nvar Seq = /*@__PURE__*/(function (Collection) {\n function Seq(value) {\n return value === undefined || value === null\n ? emptySequence()\n : isImmutable(value)\n ? value.toSeq()\n : seqFromValue(value);\n }\n\n if ( Collection ) Seq.__proto__ = Collection;\n Seq.prototype = Object.create( Collection && Collection.prototype );\n Seq.prototype.constructor = Seq;\n\n Seq.prototype.toSeq = function toSeq () {\n return this;\n };\n\n Seq.prototype.toString = function toString () {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function cacheResult () {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function __iterate (fn, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n while (i !== size) {\n var entry = cache[reverse ? size - ++i : i++];\n if (fn(entry[1], entry[0], this) === false) {\n break;\n }\n }\n return i;\n }\n return this.__iterateUncached(fn, reverse);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function __iterator (type, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var entry = cache[reverse ? size - ++i : i++];\n return iteratorValue(type, entry[0], entry[1]);\n });\n }\n return this.__iteratorUncached(type, reverse);\n };\n\n return Seq;\n}(Collection));\n\nvar KeyedSeq = /*@__PURE__*/(function (Seq) {\n function KeyedSeq(value) {\n return value === undefined || value === null\n ? emptySequence().toKeyedSeq()\n : isCollection(value)\n ? isKeyed(value)\n ? value.toSeq()\n : value.fromEntrySeq()\n : isRecord(value)\n ? value.toSeq()\n : keyedSeqFromValue(value);\n }\n\n if ( Seq ) KeyedSeq.__proto__ = Seq;\n KeyedSeq.prototype = Object.create( Seq && Seq.prototype );\n KeyedSeq.prototype.constructor = KeyedSeq;\n\n KeyedSeq.prototype.toKeyedSeq = function toKeyedSeq () {\n return this;\n };\n\n return KeyedSeq;\n}(Seq));\n\nvar IndexedSeq = /*@__PURE__*/(function (Seq) {\n function IndexedSeq(value) {\n return value === undefined || value === null\n ? emptySequence()\n : isCollection(value)\n ? isKeyed(value)\n ? value.entrySeq()\n : value.toIndexedSeq()\n : isRecord(value)\n ? value.toSeq().entrySeq()\n : indexedSeqFromValue(value);\n }\n\n if ( Seq ) IndexedSeq.__proto__ = Seq;\n IndexedSeq.prototype = Object.create( Seq && Seq.prototype );\n IndexedSeq.prototype.constructor = IndexedSeq;\n\n IndexedSeq.of = function of (/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function toIndexedSeq () {\n return this;\n };\n\n IndexedSeq.prototype.toString = function toString () {\n return this.__toString('Seq [', ']');\n };\n\n return IndexedSeq;\n}(Seq));\n\nvar SetSeq = /*@__PURE__*/(function (Seq) {\n function SetSeq(value) {\n return (\n isCollection(value) && !isAssociative(value) ? value : IndexedSeq(value)\n ).toSetSeq();\n }\n\n if ( Seq ) SetSeq.__proto__ = Seq;\n SetSeq.prototype = Object.create( Seq && Seq.prototype );\n SetSeq.prototype.constructor = SetSeq;\n\n SetSeq.of = function of (/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function toSetSeq () {\n return this;\n };\n\n return SetSeq;\n}(Seq));\n\nSeq.isSeq = isSeq;\nSeq.Keyed = KeyedSeq;\nSeq.Set = SetSeq;\nSeq.Indexed = IndexedSeq;\n\nSeq.prototype[IS_SEQ_SYMBOL] = true;\n\n// #pragma Root Sequences\n\nvar ArraySeq = /*@__PURE__*/(function (IndexedSeq) {\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n if ( IndexedSeq ) ArraySeq.__proto__ = IndexedSeq;\n ArraySeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ArraySeq.prototype.constructor = ArraySeq;\n\n ArraySeq.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function __iterate (fn, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n while (i !== size) {\n var ii = reverse ? size - ++i : i++;\n if (fn(array[ii], ii, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ArraySeq.prototype.__iterator = function __iterator (type, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var ii = reverse ? size - ++i : i++;\n return iteratorValue(type, ii, array[ii]);\n });\n };\n\n return ArraySeq;\n}(IndexedSeq));\n\nvar ObjectSeq = /*@__PURE__*/(function (KeyedSeq) {\n function ObjectSeq(object) {\n var keys = Object.keys(object).concat(\n Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : []\n );\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n if ( KeyedSeq ) ObjectSeq.__proto__ = KeyedSeq;\n ObjectSeq.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ObjectSeq.prototype.constructor = ObjectSeq;\n\n ObjectSeq.prototype.get = function get (key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function has (key) {\n return hasOwnProperty.call(this._object, key);\n };\n\n ObjectSeq.prototype.__iterate = function __iterate (fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n while (i !== size) {\n var key = keys[reverse ? size - ++i : i++];\n if (fn(object[key], key, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ObjectSeq.prototype.__iterator = function __iterator (type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var key = keys[reverse ? size - ++i : i++];\n return iteratorValue(type, key, object[key]);\n });\n };\n\n return ObjectSeq;\n}(KeyedSeq));\nObjectSeq.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar CollectionSeq = /*@__PURE__*/(function (IndexedSeq) {\n function CollectionSeq(collection) {\n this._collection = collection;\n this.size = collection.length || collection.size;\n }\n\n if ( IndexedSeq ) CollectionSeq.__proto__ = IndexedSeq;\n CollectionSeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n CollectionSeq.prototype.constructor = CollectionSeq;\n\n CollectionSeq.prototype.__iterateUncached = function __iterateUncached (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n CollectionSeq.prototype.__iteratorUncached = function __iteratorUncached (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n return CollectionSeq;\n}(IndexedSeq));\n\n// # pragma Helper functions\n\nvar EMPTY_SEQ;\n\nfunction emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n}\n\nfunction keyedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq.fromEntrySeq();\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of [k, v] entries, or keyed object: ' +\n value\n );\n}\n\nfunction indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq;\n }\n throw new TypeError(\n 'Expected Array or collection object of values: ' + value\n );\n}\n\nfunction seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return isEntriesIterable(value)\n ? seq.fromEntrySeq()\n : isKeysIterable(value)\n ? seq.toSetSeq()\n : seq;\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of values, or keyed object: ' + value\n );\n}\n\nfunction maybeIndexedSeqFromValue(value) {\n return isArrayLike(value)\n ? new ArraySeq(value)\n : hasIterator(value)\n ? new CollectionSeq(value)\n : undefined;\n}\n\nvar IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@';\n\nfunction isMap(maybeMap) {\n return Boolean(maybeMap && maybeMap[IS_MAP_SYMBOL]);\n}\n\nfunction isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n}\n\nfunction isValueObject(maybeValue) {\n return Boolean(\n maybeValue &&\n typeof maybeValue.equals === 'function' &&\n typeof maybeValue.hashCode === 'function'\n );\n}\n\n/**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections are Value Objects: they implement `equals()`\n * and `hashCode()`.\n */\nfunction is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (\n typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function'\n ) {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n return !!(\n isValueObject(valueA) &&\n isValueObject(valueB) &&\n valueA.equals(valueB)\n );\n}\n\nvar imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2\n ? Math.imul\n : function imul(a, b) {\n a |= 0; // int\n b |= 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0)) | 0; // int\n };\n\n// v8 has an optimization for storing 31-bit signed numbers.\n// Values which have either 00 or 11 as the high order bits qualify.\n// This function drops the highest order bit in a signed number, maintaining\n// the sign bit.\nfunction smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xbfffffff);\n}\n\nvar defaultValueOf = Object.prototype.valueOf;\n\nfunction hash(o) {\n if (o == null) {\n return hashNullish(o);\n }\n\n if (typeof o.hashCode === 'function') {\n // Drop any high bits from accidentally long hash codes.\n return smi(o.hashCode(o));\n }\n\n var v = valueOf(o);\n\n if (v == null) {\n return hashNullish(v);\n }\n\n switch (typeof v) {\n case 'boolean':\n // The hash values for built-in constants are a 1 value for each 5-byte\n // shift region expect for the first, which encodes the value. This\n // reduces the odds of a hash collision for these common values.\n return v ? 0x42108421 : 0x42108420;\n case 'number':\n return hashNumber(v);\n case 'string':\n return v.length > STRING_HASH_CACHE_MIN_STRLEN\n ? cachedHashString(v)\n : hashString(v);\n case 'object':\n case 'function':\n return hashJSObj(v);\n case 'symbol':\n return hashSymbol(v);\n default:\n if (typeof v.toString === 'function') {\n return hashString(v.toString());\n }\n throw new Error('Value type ' + typeof v + ' cannot be hashed.');\n }\n}\n\nfunction hashNullish(nullish) {\n return nullish === null ? 0x42108422 : /* undefined */ 0x42108423;\n}\n\n// Compress arbitrarily large numbers into smi hashes.\nfunction hashNumber(n) {\n if (n !== n || n === Infinity) {\n return 0;\n }\n var hash = n | 0;\n if (hash !== n) {\n hash ^= n * 0xffffffff;\n }\n while (n > 0xffffffff) {\n n /= 0xffffffff;\n hash ^= n;\n }\n return smi(hash);\n}\n\nfunction cachedHashString(string) {\n var hashed = stringHashCache[string];\n if (hashed === undefined) {\n hashed = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hashed;\n }\n return hashed;\n}\n\n// http://jsperf.com/hashing-strings\nfunction hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hashed = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hashed = (31 * hashed + string.charCodeAt(ii)) | 0;\n }\n return smi(hashed);\n}\n\nfunction hashSymbol(sym) {\n var hashed = symbolMap[sym];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = nextHash();\n\n symbolMap[sym] = hashed;\n\n return hashed;\n}\n\nfunction hashJSObj(obj) {\n var hashed;\n if (usingWeakMap) {\n hashed = weakMap.get(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = obj[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n if (!canDefineProperty) {\n hashed = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = getIENodeHash(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = nextHash();\n\n if (usingWeakMap) {\n weakMap.set(obj, hashed);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: hashed,\n });\n } else if (\n obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable\n ) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function () {\n return this.constructor.prototype.propertyIsEnumerable.apply(\n this,\n arguments\n );\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hashed;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hashed;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hashed;\n}\n\n// Get references to ES5 object methods.\nvar isExtensible = Object.isExtensible;\n\n// True if Object.defineProperty works as expected. IE8 fails this test.\nvar canDefineProperty = (function () {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n})();\n\n// IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n// and avoid memory leaks from the IE cloneNode bug.\nfunction getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n}\n\nfunction valueOf(obj) {\n return obj.valueOf !== defaultValueOf && typeof obj.valueOf === 'function'\n ? obj.valueOf(obj)\n : obj;\n}\n\nfunction nextHash() {\n var nextHash = ++_objHashUID;\n if (_objHashUID & 0x40000000) {\n _objHashUID = 0;\n }\n return nextHash;\n}\n\n// If possible, use a WeakMap.\nvar usingWeakMap = typeof WeakMap === 'function';\nvar weakMap;\nif (usingWeakMap) {\n weakMap = new WeakMap();\n}\n\nvar symbolMap = Object.create(null);\n\nvar _objHashUID = 0;\n\nvar UID_HASH_KEY = '__immutablehash__';\nif (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n}\n\nvar STRING_HASH_CACHE_MIN_STRLEN = 16;\nvar STRING_HASH_CACHE_MAX_SIZE = 255;\nvar STRING_HASH_CACHE_SIZE = 0;\nvar stringHashCache = {};\n\nvar ToKeyedSequence = /*@__PURE__*/(function (KeyedSeq) {\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n if ( KeyedSeq ) ToKeyedSequence.__proto__ = KeyedSeq;\n ToKeyedSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ToKeyedSequence.prototype.constructor = ToKeyedSequence;\n\n ToKeyedSequence.prototype.get = function get (key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function has (key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function valueSeq () {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function reverse () {\n var this$1$1 = this;\n\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function () { return this$1$1._iter.toSeq().reverse(); };\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function () { return this$1$1._iter.toSeq().map(mapper, context); };\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v, k) { return fn(v, k, this$1$1); }, reverse);\n };\n\n ToKeyedSequence.prototype.__iterator = function __iterator (type, reverse) {\n return this._iter.__iterator(type, reverse);\n };\n\n return ToKeyedSequence;\n}(KeyedSeq));\nToKeyedSequence.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar ToIndexedSequence = /*@__PURE__*/(function (IndexedSeq) {\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( IndexedSeq ) ToIndexedSequence.__proto__ = IndexedSeq;\n ToIndexedSequence.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ToIndexedSequence.prototype.constructor = ToIndexedSequence;\n\n ToIndexedSequence.prototype.includes = function includes (value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(this);\n return this._iter.__iterate(\n function (v) { return fn(v, reverse ? this$1$1.size - ++i : i++, this$1$1); },\n reverse\n );\n };\n\n ToIndexedSequence.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var i = 0;\n reverse && ensureSize(this);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(\n type,\n reverse ? this$1$1.size - ++i : i++,\n step.value,\n step\n );\n });\n };\n\n return ToIndexedSequence;\n}(IndexedSeq));\n\nvar ToSetSequence = /*@__PURE__*/(function (SetSeq) {\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( SetSeq ) ToSetSequence.__proto__ = SetSeq;\n ToSetSequence.prototype = Object.create( SetSeq && SetSeq.prototype );\n ToSetSequence.prototype.constructor = ToSetSequence;\n\n ToSetSequence.prototype.has = function has (key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v) { return fn(v, v, this$1$1); }, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(type, step.value, step.value, step);\n });\n };\n\n return ToSetSequence;\n}(SetSeq));\n\nvar FromEntriesSequence = /*@__PURE__*/(function (KeyedSeq) {\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n if ( KeyedSeq ) FromEntriesSequence.__proto__ = KeyedSeq;\n FromEntriesSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n FromEntriesSequence.prototype.constructor = FromEntriesSequence;\n\n FromEntriesSequence.prototype.entrySeq = function entrySeq () {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (entry) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return fn(\n indexedCollection ? entry.get(1) : entry[1],\n indexedCollection ? entry.get(0) : entry[0],\n this$1$1\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return iteratorValue(\n type,\n indexedCollection ? entry.get(0) : entry[0],\n indexedCollection ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n return FromEntriesSequence;\n}(KeyedSeq));\n\nToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\nfunction flipFactory(collection) {\n var flipSequence = makeSequence(collection);\n flipSequence._iter = collection;\n flipSequence.size = collection.size;\n flipSequence.flip = function () { return collection; };\n flipSequence.reverse = function () {\n var reversedSequence = collection.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function () { return collection.reverse(); };\n return reversedSequence;\n };\n flipSequence.has = function (key) { return collection.includes(key); };\n flipSequence.includes = function (key) { return collection.has(key); };\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(function (v, k) { return fn(k, v, this$1$1) !== false; }, reverse);\n };\n flipSequence.__iteratorUncached = function (type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = collection.__iterator(type, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return collection.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n };\n return flipSequence;\n}\n\nfunction mapFactory(collection, mapper, context) {\n var mappedSequence = makeSequence(collection);\n mappedSequence.size = collection.size;\n mappedSequence.has = function (key) { return collection.has(key); };\n mappedSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v === NOT_SET\n ? notSetValue\n : mapper.call(context, v, key, collection);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(\n function (v, k, c) { return fn(mapper.call(context, v, k, c), k, this$1$1) !== false; },\n reverse\n );\n };\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, collection),\n step\n );\n });\n };\n return mappedSequence;\n}\n\nfunction reverseFactory(collection, useKeys) {\n var this$1$1 = this;\n\n var reversedSequence = makeSequence(collection);\n reversedSequence._iter = collection;\n reversedSequence.size = collection.size;\n reversedSequence.reverse = function () { return collection; };\n if (collection.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(collection);\n flipSequence.reverse = function () { return collection.flip(); };\n return flipSequence;\n };\n }\n reversedSequence.get = function (key, notSetValue) { return collection.get(useKeys ? key : -1 - key, notSetValue); };\n reversedSequence.has = function (key) { return collection.has(useKeys ? key : -1 - key); };\n reversedSequence.includes = function (value) { return collection.includes(value); };\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(collection);\n return collection.__iterate(\n function (v, k) { return fn(v, useKeys ? k : reverse ? this$1$1.size - ++i : i++, this$1$1); },\n !reverse\n );\n };\n reversedSequence.__iterator = function (type, reverse) {\n var i = 0;\n reverse && ensureSize(collection);\n var iterator = collection.__iterator(ITERATE_ENTRIES, !reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n return iteratorValue(\n type,\n useKeys ? entry[0] : reverse ? this$1$1.size - ++i : i++,\n entry[1],\n step\n );\n });\n };\n return reversedSequence;\n}\n\nfunction filterFactory(collection, predicate, context, useKeys) {\n var filterSequence = makeSequence(collection);\n if (useKeys) {\n filterSequence.has = function (key) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, collection);\n };\n filterSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, collection)\n ? v\n : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, collection)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n };\n return filterSequence;\n}\n\nfunction countByFactory(collection, grouper, context) {\n var groups = Map().asMutable();\n collection.__iterate(function (v, k) {\n groups.update(grouper.call(context, v, k, collection), 0, function (a) { return a + 1; });\n });\n return groups.asImmutable();\n}\n\nfunction groupByFactory(collection, grouper, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = (isOrdered(collection) ? OrderedMap() : Map()).asMutable();\n collection.__iterate(function (v, k) {\n groups.update(\n grouper.call(context, v, k, collection),\n function (a) { return ((a = a || []), a.push(isKeyedIter ? [k, v] : v), a); }\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); }).asImmutable();\n}\n\nfunction partitionFactory(collection, predicate, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = [[], []];\n collection.__iterate(function (v, k) {\n groups[predicate.call(context, v, k, collection) ? 1 : 0].push(\n isKeyedIter ? [k, v] : v\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); });\n}\n\nfunction sliceFactory(collection, begin, end, useKeys) {\n var originalSize = collection.size;\n\n if (wholeSlice(begin, end, originalSize)) {\n return collection;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this collection's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(collection);\n\n // If collection.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size =\n sliceSize === 0 ? sliceSize : (collection.size && sliceSize) || undefined;\n\n if (!useKeys && isSeq(collection) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize\n ? collection.get(index + resolvedBegin, notSetValue)\n : notSetValue;\n };\n }\n\n sliceSeq.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return (\n fn(v, useKeys ? k : iterations - 1, this$1$1) !== false &&\n iterations !== sliceSize\n );\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function (type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n if (sliceSize === 0) {\n return new Iterator(iteratorDone);\n }\n var iterator = collection.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function () {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES || step.done) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n }\n return iteratorValue(type, iterations - 1, step.value[1], step);\n });\n };\n\n return sliceSeq;\n}\n\nfunction takeWhileFactory(collection, predicate, context) {\n var takeSequence = makeSequence(collection);\n takeSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n collection.__iterate(\n function (v, k, c) { return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$1$1); }\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function () {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$1$1)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n}\n\nfunction skipWhileFactory(collection, predicate, context, useKeys) {\n var skipSequence = makeSequence(collection);\n skipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function () {\n var step;\n var k;\n var v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n }\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$1$1));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n}\n\nfunction concatFactory(collection, values) {\n var isKeyedCollection = isKeyed(collection);\n var iters = [collection]\n .concat(values)\n .map(function (v) {\n if (!isCollection(v)) {\n v = isKeyedCollection\n ? keyedSeqFromValue(v)\n : indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedCollection) {\n v = KeyedCollection(v);\n }\n return v;\n })\n .filter(function (v) { return v.size !== 0; });\n\n if (iters.length === 0) {\n return collection;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (\n singleton === collection ||\n (isKeyedCollection && isKeyed(singleton)) ||\n (isIndexed(collection) && isIndexed(singleton))\n ) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedCollection) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(collection)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(function (sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n }, 0);\n return concatSeq;\n}\n\nfunction flattenFactory(collection, depth, useKeys) {\n var flatSequence = makeSequence(collection);\n flatSequence.__iterateUncached = function (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {\n iter.__iterate(function (v, k) {\n if ((!depth || currentDepth < depth) && isCollection(v)) {\n flatDeep(v, currentDepth + 1);\n } else {\n iterations++;\n if (fn(v, useKeys ? k : iterations - 1, flatSequence) === false) {\n stopped = true;\n }\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(collection, 0);\n return iterations;\n };\n flatSequence.__iteratorUncached = function (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function () {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isCollection(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n };\n return flatSequence;\n}\n\nfunction flatMapFactory(collection, mapper, context) {\n var coerce = collectionClass(collection);\n return collection\n .toSeq()\n .map(function (v, k) { return coerce(mapper.call(context, v, k, collection)); })\n .flatten(true);\n}\n\nfunction interposeFactory(collection, separator) {\n var interposedSequence = makeSequence(collection);\n interposedSequence.size = collection.size && collection.size * 2 - 1;\n interposedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(\n function (v) { return (!iterations || fn(separator, iterations++, this$1$1) !== false) &&\n fn(v, iterations++, this$1$1) !== false; },\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function () {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2\n ? iteratorValue(type, iterations++, separator)\n : iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n}\n\nfunction sortFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedCollection = isKeyed(collection);\n var index = 0;\n var entries = collection\n .toSeq()\n .map(function (v, k) { return [k, v, index++, mapper ? mapper(v, k, collection) : v]; })\n .valueSeq()\n .toArray();\n entries\n .sort(function (a, b) { return comparator(a[3], b[3]) || a[2] - b[2]; })\n .forEach(\n isKeyedCollection\n ? function (v, i) {\n entries[i].length = 2;\n }\n : function (v, i) {\n entries[i] = v[1];\n }\n );\n return isKeyedCollection\n ? KeyedSeq(entries)\n : isIndexed(collection)\n ? IndexedSeq(entries)\n : SetSeq(entries);\n}\n\nfunction maxFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = collection\n .toSeq()\n .map(function (v, k) { return [v, mapper(v, k, collection)]; })\n .reduce(function (a, b) { return (maxCompare(comparator, a[1], b[1]) ? b : a); });\n return entry && entry[0];\n }\n return collection.reduce(function (a, b) { return (maxCompare(comparator, a, b) ? b : a); });\n}\n\nfunction maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (\n (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) ||\n comp > 0\n );\n}\n\nfunction zipWithFactory(keyIter, zipper, iters, zipAll) {\n var zipSequence = makeSequence(keyIter);\n var sizes = new ArraySeq(iters).map(function (i) { return i.size; });\n zipSequence.size = zipAll ? sizes.max() : sizes.min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function (fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function (type, reverse) {\n var iterators = iters.map(\n function (i) { return ((i = Collection(i)), getIterator(reverse ? i.reverse() : i)); }\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function () {\n var steps;\n if (!isDone) {\n steps = iterators.map(function (i) { return i.next(); });\n isDone = zipAll ? steps.every(function (s) { return s.done; }) : steps.some(function (s) { return s.done; });\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(\n null,\n steps.map(function (s) { return s.value; })\n )\n );\n });\n };\n return zipSequence;\n}\n\n// #pragma Helper Functions\n\nfunction reify(iter, seq) {\n return iter === seq ? iter : isSeq(iter) ? seq : iter.constructor(seq);\n}\n\nfunction validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n}\n\nfunction collectionClass(collection) {\n return isKeyed(collection)\n ? KeyedCollection\n : isIndexed(collection)\n ? IndexedCollection\n : SetCollection;\n}\n\nfunction makeSequence(collection) {\n return Object.create(\n (isKeyed(collection)\n ? KeyedSeq\n : isIndexed(collection)\n ? IndexedSeq\n : SetSeq\n ).prototype\n );\n}\n\nfunction cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n }\n return Seq.prototype.cacheResult.call(this);\n}\n\nfunction defaultComparator(a, b) {\n if (a === undefined && b === undefined) {\n return 0;\n }\n\n if (a === undefined) {\n return 1;\n }\n\n if (b === undefined) {\n return -1;\n }\n\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\nfunction arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n}\n\nfunction invariant(condition, error) {\n if (!condition) { throw new Error(error); }\n}\n\nfunction assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n}\n\nfunction coerceKeyPath(keyPath) {\n if (isArrayLike(keyPath) && typeof keyPath !== 'string') {\n return keyPath;\n }\n if (isOrdered(keyPath)) {\n return keyPath.toArray();\n }\n throw new TypeError(\n 'Invalid keyPath: expected Ordered Collection or Array: ' + keyPath\n );\n}\n\nvar toString = Object.prototype.toString;\n\nfunction isPlainObject(value) {\n // The base prototype's toString deals with Argument objects and native namespaces like Math\n if (\n !value ||\n typeof value !== 'object' ||\n toString.call(value) !== '[object Object]'\n ) {\n return false;\n }\n\n var proto = Object.getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n\n // Iteratively going up the prototype chain is needed for cross-realm environments (differing contexts, iframes, etc)\n var parentProto = proto;\n var nextProto = Object.getPrototypeOf(proto);\n while (nextProto !== null) {\n parentProto = nextProto;\n nextProto = Object.getPrototypeOf(parentProto);\n }\n return parentProto === proto;\n}\n\n/**\n * Returns true if the value is a potentially-persistent data structure, either\n * provided by Immutable.js or a plain Array or Object.\n */\nfunction isDataStructure(value) {\n return (\n typeof value === 'object' &&\n (isImmutable(value) || Array.isArray(value) || isPlainObject(value))\n );\n}\n\nfunction quoteString(value) {\n try {\n return typeof value === 'string' ? JSON.stringify(value) : String(value);\n } catch (_ignoreError) {\n return JSON.stringify(value);\n }\n}\n\nfunction has(collection, key) {\n return isImmutable(collection)\n ? collection.has(key)\n : isDataStructure(collection) && hasOwnProperty.call(collection, key);\n}\n\nfunction get(collection, key, notSetValue) {\n return isImmutable(collection)\n ? collection.get(key, notSetValue)\n : !has(collection, key)\n ? notSetValue\n : typeof collection.get === 'function'\n ? collection.get(key)\n : collection[key];\n}\n\nfunction shallowCopy(from) {\n if (Array.isArray(from)) {\n return arrCopy(from);\n }\n var to = {};\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n return to;\n}\n\nfunction remove(collection, key) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.remove) {\n throw new TypeError(\n 'Cannot update immutable value without .remove() method: ' + collection\n );\n }\n return collection.remove(key);\n }\n if (!hasOwnProperty.call(collection, key)) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n if (Array.isArray(collectionCopy)) {\n collectionCopy.splice(key, 1);\n } else {\n delete collectionCopy[key];\n }\n return collectionCopy;\n}\n\nfunction set(collection, key, value) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.set) {\n throw new TypeError(\n 'Cannot update immutable value without .set() method: ' + collection\n );\n }\n return collection.set(key, value);\n }\n if (hasOwnProperty.call(collection, key) && value === collection[key]) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n collectionCopy[key] = value;\n return collectionCopy;\n}\n\nfunction updateIn$1(collection, keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeeply(\n isImmutable(collection),\n collection,\n coerceKeyPath(keyPath),\n 0,\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? notSetValue : updatedValue;\n}\n\nfunction updateInDeeply(\n inImmutable,\n existing,\n keyPath,\n i,\n notSetValue,\n updater\n) {\n var wasNotSet = existing === NOT_SET;\n if (i === keyPath.length) {\n var existingValue = wasNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n if (!wasNotSet && !isDataStructure(existing)) {\n throw new TypeError(\n 'Cannot update within non-data-structure value in path [' +\n keyPath.slice(0, i).map(quoteString) +\n ']: ' +\n existing\n );\n }\n var key = keyPath[i];\n var nextExisting = wasNotSet ? NOT_SET : get(existing, key, NOT_SET);\n var nextUpdated = updateInDeeply(\n nextExisting === NOT_SET ? inImmutable : isImmutable(nextExisting),\n nextExisting,\n keyPath,\n i + 1,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting\n ? existing\n : nextUpdated === NOT_SET\n ? remove(existing, key)\n : set(\n wasNotSet ? (inImmutable ? emptyMap() : {}) : existing,\n key,\n nextUpdated\n );\n}\n\nfunction setIn$1(collection, keyPath, value) {\n return updateIn$1(collection, keyPath, NOT_SET, function () { return value; });\n}\n\nfunction setIn(keyPath, v) {\n return setIn$1(this, keyPath, v);\n}\n\nfunction removeIn(collection, keyPath) {\n return updateIn$1(collection, keyPath, function () { return NOT_SET; });\n}\n\nfunction deleteIn(keyPath) {\n return removeIn(this, keyPath);\n}\n\nfunction update$1(collection, key, notSetValue, updater) {\n return updateIn$1(collection, [key], notSetValue, updater);\n}\n\nfunction update(key, notSetValue, updater) {\n return arguments.length === 1\n ? key(this)\n : update$1(this, key, notSetValue, updater);\n}\n\nfunction updateIn(keyPath, notSetValue, updater) {\n return updateIn$1(this, keyPath, notSetValue, updater);\n}\n\nfunction merge$1() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeIntoKeyedWith(this, iters);\n}\n\nfunction mergeWith$1(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n if (typeof merger !== 'function') {\n throw new TypeError('Invalid merger function: ' + merger);\n }\n return mergeIntoKeyedWith(this, iters, merger);\n}\n\nfunction mergeIntoKeyedWith(collection, collections, merger) {\n var iters = [];\n for (var ii = 0; ii < collections.length; ii++) {\n var collection$1 = KeyedCollection(collections[ii]);\n if (collection$1.size !== 0) {\n iters.push(collection$1);\n }\n }\n if (iters.length === 0) {\n return collection;\n }\n if (\n collection.toSeq().size === 0 &&\n !collection.__ownerID &&\n iters.length === 1\n ) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function (collection) {\n var mergeIntoCollection = merger\n ? function (value, key) {\n update$1(collection, key, NOT_SET, function (oldVal) { return oldVal === NOT_SET ? value : merger(oldVal, value, key); }\n );\n }\n : function (value, key) {\n collection.set(key, value);\n };\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoCollection);\n }\n });\n}\n\nfunction merge(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeWithSources(collection, sources);\n}\n\nfunction mergeWith(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeWithSources(collection, sources, merger);\n}\n\nfunction mergeDeep$1(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(collection, sources);\n}\n\nfunction mergeDeepWith$1(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeDeepWithSources(collection, sources, merger);\n}\n\nfunction mergeDeepWithSources(collection, sources, merger) {\n return mergeWithSources(collection, sources, deepMergerWith(merger));\n}\n\nfunction mergeWithSources(collection, sources, merger) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot merge into non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n return typeof merger === 'function' && collection.mergeWith\n ? collection.mergeWith.apply(collection, [ merger ].concat( sources ))\n : collection.merge\n ? collection.merge.apply(collection, sources)\n : collection.concat.apply(collection, sources);\n }\n var isArray = Array.isArray(collection);\n var merged = collection;\n var Collection = isArray ? IndexedCollection : KeyedCollection;\n var mergeItem = isArray\n ? function (value) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged.push(value);\n }\n : function (value, key) {\n var hasVal = hasOwnProperty.call(merged, key);\n var nextVal =\n hasVal && merger ? merger(merged[key], value, key) : value;\n if (!hasVal || nextVal !== merged[key]) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged[key] = nextVal;\n }\n };\n for (var i = 0; i < sources.length; i++) {\n Collection(sources[i]).forEach(mergeItem);\n }\n return merged;\n}\n\nfunction deepMergerWith(merger) {\n function deepMerger(oldValue, newValue, key) {\n return isDataStructure(oldValue) &&\n isDataStructure(newValue) &&\n areMergeable(oldValue, newValue)\n ? mergeWithSources(oldValue, [newValue], deepMerger)\n : merger\n ? merger(oldValue, newValue, key)\n : newValue;\n }\n return deepMerger;\n}\n\n/**\n * It's unclear what the desired behavior is for merging two collections that\n * fall into separate categories between keyed, indexed, or set-like, so we only\n * consider them mergeable if they fall into the same category.\n */\nfunction areMergeable(oldDataStructure, newDataStructure) {\n var oldSeq = Seq(oldDataStructure);\n var newSeq = Seq(newDataStructure);\n // This logic assumes that a sequence can only fall into one of the three\n // categories mentioned above (since there's no `isSetLike()` method).\n return (\n isIndexed(oldSeq) === isIndexed(newSeq) &&\n isKeyed(oldSeq) === isKeyed(newSeq)\n );\n}\n\nfunction mergeDeep() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeDeepWithSources(this, iters);\n}\n\nfunction mergeDeepWith(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(this, iters, merger);\n}\n\nfunction mergeIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeWithSources(m, iters); });\n}\n\nfunction mergeDeepIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeDeepWithSources(m, iters); }\n );\n}\n\nfunction withMutations(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n}\n\nfunction asMutable() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n}\n\nfunction asImmutable() {\n return this.__ensureOwner();\n}\n\nfunction wasAltered() {\n return this.__altered;\n}\n\nvar Map = /*@__PURE__*/(function (KeyedCollection) {\n function Map(value) {\n return value === undefined || value === null\n ? emptyMap()\n : isMap(value) && !isOrdered(value)\n ? value\n : emptyMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( KeyedCollection ) Map.__proto__ = KeyedCollection;\n Map.prototype = Object.create( KeyedCollection && KeyedCollection.prototype );\n Map.prototype.constructor = Map;\n\n Map.of = function of () {\n var keyValues = [], len = arguments.length;\n while ( len-- ) keyValues[ len ] = arguments[ len ];\n\n return emptyMap().withMutations(function (map) {\n for (var i = 0; i < keyValues.length; i += 2) {\n if (i + 1 >= keyValues.length) {\n throw new Error('Missing value for key: ' + keyValues[i]);\n }\n map.set(keyValues[i], keyValues[i + 1]);\n }\n });\n };\n\n Map.prototype.toString = function toString () {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function get (k, notSetValue) {\n return this._root\n ? this._root.get(0, undefined, k, notSetValue)\n : notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function set (k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.remove = function remove (k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteAll = function deleteAll (keys) {\n var collection = Collection(keys);\n\n if (collection.size === 0) {\n return this;\n }\n\n return this.withMutations(function (map) {\n collection.forEach(function (key) { return map.remove(key); });\n });\n };\n\n Map.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n Map.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (map) {\n map.forEach(function (value, key) {\n map.set(key, mapper.call(context, value, key, this$1$1));\n });\n });\n };\n\n // @pragma Mutability\n\n Map.prototype.__iterator = function __iterator (type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n this._root &&\n this._root.iterate(function (entry) {\n iterations++;\n return fn(entry[1], entry[0], this$1$1);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n return Map;\n}(KeyedCollection));\n\nMap.isMap = isMap;\n\nvar MapPrototype = Map.prototype;\nMapPrototype[IS_MAP_SYMBOL] = true;\nMapPrototype[DELETE] = MapPrototype.remove;\nMapPrototype.removeAll = MapPrototype.deleteAll;\nMapPrototype.setIn = setIn;\nMapPrototype.removeIn = MapPrototype.deleteIn = deleteIn;\nMapPrototype.update = update;\nMapPrototype.updateIn = updateIn;\nMapPrototype.merge = MapPrototype.concat = merge$1;\nMapPrototype.mergeWith = mergeWith$1;\nMapPrototype.mergeDeep = mergeDeep;\nMapPrototype.mergeDeepWith = mergeDeepWith;\nMapPrototype.mergeIn = mergeIn;\nMapPrototype.mergeDeepIn = mergeDeepIn;\nMapPrototype.withMutations = withMutations;\nMapPrototype.wasAltered = wasAltered;\nMapPrototype.asImmutable = asImmutable;\nMapPrototype['@@transducer/init'] = MapPrototype.asMutable = asMutable;\nMapPrototype['@@transducer/step'] = function (result, arr) {\n return result.set(arr[0], arr[1]);\n};\nMapPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\n// #pragma Trie Nodes\n\nvar ArrayMapNode = function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n};\n\nArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n};\n\nvar BitmapIndexedNode = function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n};\n\nBitmapIndexedNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK);\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0\n ? notSetValue\n : this.nodes[popCount(bitmap & (bit - 1))].get(\n shift + SHIFT,\n keyHash,\n key,\n notSetValue\n );\n};\n\nBitmapIndexedNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (\n exists &&\n !newNode &&\n nodes.length === 2 &&\n isLeafNode(nodes[idx ^ 1])\n ) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? (newNode ? bitmap : bitmap ^ bit) : bitmap | bit;\n var newNodes = exists\n ? newNode\n ? setAt(nodes, idx, newNode, isEditable)\n : spliceOut(nodes, idx, isEditable)\n : spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n};\n\nvar HashArrayMapNode = function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n};\n\nHashArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node\n ? node.get(shift + SHIFT, keyHash, key, notSetValue)\n : notSetValue;\n};\n\nHashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setAt(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n};\n\nvar HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n};\n\nHashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nHashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n};\n\nvar ValueNode = function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n};\n\nValueNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n};\n\nValueNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n};\n\n// #pragma Iterators\n\nArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate =\n function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n };\n\nBitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate =\n function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n };\n\n// eslint-disable-next-line no-unused-vars\nValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n};\n\nvar MapIterator = /*@__PURE__*/(function (Iterator) {\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n if ( Iterator ) MapIterator.__proto__ = Iterator;\n MapIterator.prototype = Object.create( Iterator && Iterator.prototype );\n MapIterator.prototype.constructor = MapIterator;\n\n MapIterator.prototype.next = function next () {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex = (void 0);\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(\n type,\n node.entries[this._reverse ? maxIndex - index : index]\n );\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n return MapIterator;\n}(Iterator));\n\nfunction mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n}\n\nfunction mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev,\n };\n}\n\nfunction makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_MAP;\nfunction emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n}\n\nfunction updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef();\n var didAlter = MakeRef();\n newRoot = updateNode(\n map._root,\n map.__ownerID,\n 0,\n undefined,\n k,\n v,\n didChangeSize,\n didAlter\n );\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? (v === NOT_SET ? -1 : 1) : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n}\n\nfunction updateNode(\n node,\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n}\n\nfunction isLeafNode(node) {\n return (\n node.constructor === ValueNode || node.constructor === HashCollisionNode\n );\n}\n\nfunction mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes =\n idx1 === idx2\n ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)]\n : ((newNode = new ValueNode(ownerID, keyHash, entry)),\n idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n}\n\nfunction createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n}\n\nfunction packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n}\n\nfunction expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n}\n\nfunction popCount(x) {\n x -= (x >> 1) & 0x55555555;\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x += x >> 8;\n x += x >> 16;\n return x & 0x7f;\n}\n\nfunction setAt(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n}\n\nfunction spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n}\n\nfunction spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n}\n\nvar MAX_ARRAY_MAP_SIZE = SIZE / 4;\nvar MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\nvar MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\nvar IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';\n\nfunction isList(maybeList) {\n return Boolean(maybeList && maybeList[IS_LIST_SYMBOL]);\n}\n\nvar List = /*@__PURE__*/(function (IndexedCollection) {\n function List(value) {\n var empty = emptyList();\n if (value === undefined || value === null) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedCollection(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function (list) {\n list.setSize(size);\n iter.forEach(function (v, i) { return list.set(i, v); });\n });\n }\n\n if ( IndexedCollection ) List.__proto__ = IndexedCollection;\n List.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n List.prototype.constructor = List;\n\n List.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function toString () {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function get (index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function set (index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function remove (index) {\n return !this.has(index)\n ? this\n : index === 0\n ? this.shift()\n : index === this.size - 1\n ? this.pop()\n : this.splice(index, 1);\n };\n\n List.prototype.insert = function insert (index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function push (/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function (list) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function pop () {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function unshift (/*...values*/) {\n var values = arguments;\n return this.withMutations(function (list) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function shift () {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.concat = function concat (/*...collections*/) {\n var arguments$1 = arguments;\n\n var seqs = [];\n for (var i = 0; i < arguments.length; i++) {\n var argument = arguments$1[i];\n var seq = IndexedCollection(\n typeof argument !== 'string' && hasIterator(argument)\n ? argument\n : [argument]\n );\n if (seq.size !== 0) {\n seqs.push(seq);\n }\n }\n if (seqs.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && seqs.length === 1) {\n return this.constructor(seqs[0]);\n }\n return this.withMutations(function (list) {\n seqs.forEach(function (seq) { return seq.forEach(function (value) { return list.push(value); }); });\n });\n };\n\n List.prototype.setSize = function setSize (size) {\n return setListBounds(this, 0, size);\n };\n\n List.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (list) {\n for (var i = 0; i < this$1$1.size; i++) {\n list.set(i, mapper.call(context, list.get(i), i, this$1$1));\n }\n });\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function slice (begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function __iterator (type, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n return new Iterator(function () {\n var value = values();\n return value === DONE\n ? iteratorDone()\n : iteratorValue(type, reverse ? --index : index++, value);\n });\n };\n\n List.prototype.__iterate = function __iterate (fn, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, reverse ? --index : index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyList();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeList(\n this._origin,\n this._capacity,\n this._level,\n this._root,\n this._tail,\n ownerID,\n this.__hash\n );\n };\n\n return List;\n}(IndexedCollection));\n\nList.isList = isList;\n\nvar ListPrototype = List.prototype;\nListPrototype[IS_LIST_SYMBOL] = true;\nListPrototype[DELETE] = ListPrototype.remove;\nListPrototype.merge = ListPrototype.concat;\nListPrototype.setIn = setIn;\nListPrototype.deleteIn = ListPrototype.removeIn = deleteIn;\nListPrototype.update = update;\nListPrototype.updateIn = updateIn;\nListPrototype.mergeIn = mergeIn;\nListPrototype.mergeDeepIn = mergeDeepIn;\nListPrototype.withMutations = withMutations;\nListPrototype.wasAltered = wasAltered;\nListPrototype.asImmutable = asImmutable;\nListPrototype['@@transducer/init'] = ListPrototype.asMutable = asMutable;\nListPrototype['@@transducer/step'] = function (result, arr) {\n return result.push(arr);\n};\nListPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nvar VNode = function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n};\n\n// TODO: seems like these methods are very similar\n\nVNode.prototype.removeBefore = function removeBefore (ownerID, level, index) {\n if (index === level ? 1 << level : this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild =\n oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n};\n\nVNode.prototype.removeAfter = function removeAfter (ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild =\n oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n};\n\nvar DONE = {};\n\nfunction iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0\n ? iterateLeaf(node, offset)\n : iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n while (true) {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx],\n level - SHIFT,\n offset + (idx << level)\n );\n }\n };\n }\n}\n\nfunction makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n}\n\nvar EMPTY_LIST;\nfunction emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n}\n\nfunction updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function (list) {\n index < 0\n ? setListBounds(list, index).set(0, value)\n : setListBounds(list, 0, index + 1).set(index, value);\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef();\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(\n newRoot,\n list.__ownerID,\n list._level,\n index,\n value,\n didAlter\n );\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n}\n\nfunction updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(\n lowerNode,\n ownerID,\n level - SHIFT,\n index,\n value,\n didAlter\n );\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n if (didAlter) {\n SetRef(didAlter);\n }\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n}\n\nfunction editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n}\n\nfunction listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n}\n\nfunction setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin |= 0;\n }\n if (end !== undefined) {\n end |= 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity =\n end === undefined\n ? oldCapacity\n : end < 0\n ? oldCapacity + end\n : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [undefined, newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail =\n newTailOffset < oldTailOffset\n ? listNodeFor(list, newCapacity - 1)\n : newTailOffset > oldTailOffset\n ? new VNode([], owner)\n : oldTail;\n\n // Merge Tail into tree.\n if (\n oldTail &&\n newTailOffset > oldTailOffset &&\n newOrigin < oldCapacity &&\n oldTail.array.length\n ) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if ((beginIndex !== newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(\n owner,\n newLevel,\n newTailOffset - offsetShift\n );\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n}\n\nfunction getTailOffset(size) {\n return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT;\n}\n\nvar OrderedMap = /*@__PURE__*/(function (Map) {\n function OrderedMap(value) {\n return value === undefined || value === null\n ? emptyOrderedMap()\n : isOrderedMap(value)\n ? value\n : emptyOrderedMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( Map ) OrderedMap.__proto__ = Map;\n OrderedMap.prototype = Object.create( Map && Map.prototype );\n OrderedMap.prototype.constructor = OrderedMap;\n\n OrderedMap.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function toString () {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function get (k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n this.__altered = true;\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function set (k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function remove (k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._list.__iterate(\n function (entry) { return entry && fn(entry[1], entry[0], this$1$1); },\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function __iterator (type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return emptyOrderedMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n return OrderedMap;\n}(Map));\n\nOrderedMap.isOrderedMap = isOrderedMap;\n\nOrderedMap.prototype[IS_ORDERED_SYMBOL] = true;\nOrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\nfunction makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n omap.__altered = false;\n return omap;\n}\n\nvar EMPTY_ORDERED_MAP;\nfunction emptyOrderedMap() {\n return (\n EMPTY_ORDERED_MAP ||\n (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()))\n );\n}\n\nfunction updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) {\n // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function (entry, idx) { return entry !== undefined && i !== idx; });\n newMap = newList\n .toKeyedSeq()\n .map(function (entry) { return entry[0]; })\n .flip()\n .toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n omap.__altered = true;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n}\n\nvar IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@';\n\nfunction isStack(maybeStack) {\n return Boolean(maybeStack && maybeStack[IS_STACK_SYMBOL]);\n}\n\nvar Stack = /*@__PURE__*/(function (IndexedCollection) {\n function Stack(value) {\n return value === undefined || value === null\n ? emptyStack()\n : isStack(value)\n ? value\n : emptyStack().pushAll(value);\n }\n\n if ( IndexedCollection ) Stack.__proto__ = IndexedCollection;\n Stack.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n Stack.prototype.constructor = Stack;\n\n Stack.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function toString () {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function get (index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function peek () {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function push (/*...values*/) {\n var arguments$1 = arguments;\n\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments$1[ii],\n next: head,\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function pushAll (iter) {\n iter = IndexedCollection(iter);\n if (iter.size === 0) {\n return this;\n }\n if (this.size === 0 && isStack(iter)) {\n return iter;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.__iterate(function (value) {\n newSize++;\n head = {\n value: value,\n next: head,\n };\n }, /* reverse */ true);\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function pop () {\n return this.slice(1);\n };\n\n Stack.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyStack();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterate(\n function (v, k) { return fn(v, k, this$1$1); },\n reverse\n );\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function __iterator (type, reverse) {\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterator(type, reverse);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function () {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n return Stack;\n}(IndexedCollection));\n\nStack.isStack = isStack;\n\nvar StackPrototype = Stack.prototype;\nStackPrototype[IS_STACK_SYMBOL] = true;\nStackPrototype.shift = StackPrototype.pop;\nStackPrototype.unshift = StackPrototype.push;\nStackPrototype.unshiftAll = StackPrototype.pushAll;\nStackPrototype.withMutations = withMutations;\nStackPrototype.wasAltered = wasAltered;\nStackPrototype.asImmutable = asImmutable;\nStackPrototype['@@transducer/init'] = StackPrototype.asMutable = asMutable;\nStackPrototype['@@transducer/step'] = function (result, arr) {\n return result.unshift(arr);\n};\nStackPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nfunction makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_STACK;\nfunction emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n}\n\nvar IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@';\n\nfunction isSet(maybeSet) {\n return Boolean(maybeSet && maybeSet[IS_SET_SYMBOL]);\n}\n\nfunction isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n}\n\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isCollection(b) ||\n (a.size !== undefined && b.size !== undefined && a.size !== b.size) ||\n (a.__hash !== undefined &&\n b.__hash !== undefined &&\n a.__hash !== b.__hash) ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return (\n b.every(function (v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done\n );\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function (v, k) {\n if (\n notAssociative\n ? !a.has(v)\n : flipped\n ? !is(v, a.get(k, NOT_SET))\n : !is(a.get(k, NOT_SET), v)\n ) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n}\n\nfunction mixin(ctor, methods) {\n var keyCopier = function (key) {\n ctor.prototype[key] = methods[key];\n };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n}\n\nfunction toJS(value) {\n if (!value || typeof value !== 'object') {\n return value;\n }\n if (!isCollection(value)) {\n if (!isDataStructure(value)) {\n return value;\n }\n value = Seq(value);\n }\n if (isKeyed(value)) {\n var result$1 = {};\n value.__iterate(function (v, k) {\n result$1[k] = toJS(v);\n });\n return result$1;\n }\n var result = [];\n value.__iterate(function (v) {\n result.push(toJS(v));\n });\n return result;\n}\n\nvar Set = /*@__PURE__*/(function (SetCollection) {\n function Set(value) {\n return value === undefined || value === null\n ? emptySet()\n : isSet(value) && !isOrdered(value)\n ? value\n : emptySet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( SetCollection ) Set.__proto__ = SetCollection;\n Set.prototype = Object.create( SetCollection && SetCollection.prototype );\n Set.prototype.constructor = Set;\n\n Set.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n Set.intersect = function intersect (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.intersect.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.union = function union (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.union.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.prototype.toString = function toString () {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function has (value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function add (value) {\n return updateSet(this, this._map.set(value, value));\n };\n\n Set.prototype.remove = function remove (value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function clear () {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n // keep track if the set is altered by the map function\n var didChanges = false;\n\n var newMap = updateSet(\n this,\n this._map.mapEntries(function (ref) {\n var v = ref[1];\n\n var mapped = mapper.call(context, v, v, this$1$1);\n\n if (mapped !== v) {\n didChanges = true;\n }\n\n return [mapped, mapped];\n }, context)\n );\n\n return didChanges ? newMap : this;\n };\n\n Set.prototype.union = function union () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n iters = iters.filter(function (x) { return x.size !== 0; });\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function (set) {\n for (var ii = 0; ii < iters.length; ii++) {\n if (typeof iters[ii] === 'string') {\n set.add(iters[ii]);\n } else {\n SetCollection(iters[ii]).forEach(function (value) { return set.add(value); });\n }\n }\n });\n };\n\n Set.prototype.intersect = function intersect () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (!iters.every(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.subtract = function subtract () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (iters.some(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function wasAltered () {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._map.__iterate(function (k) { return fn(k, k, this$1$1); }, reverse);\n };\n\n Set.prototype.__iterator = function __iterator (type, reverse) {\n return this._map.__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return this.__empty();\n }\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n return Set;\n}(SetCollection));\n\nSet.isSet = isSet;\n\nvar SetPrototype = Set.prototype;\nSetPrototype[IS_SET_SYMBOL] = true;\nSetPrototype[DELETE] = SetPrototype.remove;\nSetPrototype.merge = SetPrototype.concat = SetPrototype.union;\nSetPrototype.withMutations = withMutations;\nSetPrototype.asImmutable = asImmutable;\nSetPrototype['@@transducer/init'] = SetPrototype.asMutable = asMutable;\nSetPrototype['@@transducer/step'] = function (result, arr) {\n return result.add(arr);\n};\nSetPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nSetPrototype.__empty = emptySet;\nSetPrototype.__make = makeSet;\n\nfunction updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map\n ? set\n : newMap.size === 0\n ? set.__empty()\n : set.__make(newMap);\n}\n\nfunction makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_SET;\nfunction emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n}\n\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1, and end to\n * infinity. When start is equal to end, returns empty list.\n */\nvar Range = /*@__PURE__*/(function (IndexedSeq) {\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n if ( IndexedSeq ) Range.__proto__ = IndexedSeq;\n Range.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Range.prototype.constructor = Range;\n\n Range.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Range []';\n }\n return (\n 'Range [ ' +\n this._start +\n '...' +\n this._end +\n (this._step !== 1 ? ' by ' + this._step : '') +\n ' ]'\n );\n };\n\n Range.prototype.get = function get (index, notSetValue) {\n return this.has(index)\n ? this._start + wrapIndex(this, index) * this._step\n : notSetValue;\n };\n\n Range.prototype.includes = function includes (searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return (\n possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex)\n );\n };\n\n Range.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(\n this.get(begin, this._end),\n this.get(end, this._end),\n this._step\n );\n };\n\n Range.prototype.indexOf = function indexOf (searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index;\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n while (i !== size) {\n if (fn(value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n value += reverse ? -step : step;\n }\n return i;\n };\n\n Range.prototype.__iterator = function __iterator (type, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var v = value;\n value += reverse ? -step : step;\n return iteratorValue(type, reverse ? size - ++i : i++, v);\n });\n };\n\n Range.prototype.equals = function equals (other) {\n return other instanceof Range\n ? this._start === other._start &&\n this._end === other._end &&\n this._step === other._step\n : deepEqual(this, other);\n };\n\n return Range;\n}(IndexedSeq));\n\nvar EMPTY_RANGE;\n\nfunction getIn$1(collection, searchKeyPath, notSetValue) {\n var keyPath = coerceKeyPath(searchKeyPath);\n var i = 0;\n while (i !== keyPath.length) {\n collection = get(collection, keyPath[i++], NOT_SET);\n if (collection === NOT_SET) {\n return notSetValue;\n }\n }\n return collection;\n}\n\nfunction getIn(searchKeyPath, notSetValue) {\n return getIn$1(this, searchKeyPath, notSetValue);\n}\n\nfunction hasIn$1(collection, keyPath) {\n return getIn$1(collection, keyPath, NOT_SET) !== NOT_SET;\n}\n\nfunction hasIn(searchKeyPath) {\n return hasIn$1(this, searchKeyPath);\n}\n\nfunction toObject() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function (v, k) {\n object[k] = v;\n });\n return object;\n}\n\n// Note: all of these methods are deprecated.\nCollection.isIterable = isCollection;\nCollection.isKeyed = isKeyed;\nCollection.isIndexed = isIndexed;\nCollection.isAssociative = isAssociative;\nCollection.isOrdered = isOrdered;\n\nCollection.Iterator = Iterator;\n\nmixin(Collection, {\n // ### Conversion to other types\n\n toArray: function toArray() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n var useTuples = isKeyed(this);\n var i = 0;\n this.__iterate(function (v, k) {\n // Keyed collections produce an array of tuples.\n array[i++] = useTuples ? [k, v] : v;\n });\n return array;\n },\n\n toIndexedSeq: function toIndexedSeq() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function toJS$1() {\n return toJS(this);\n },\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function toMap() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: toObject,\n\n toOrderedMap: function toOrderedMap() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function toOrderedSet() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function toSet() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function toSetSeq() {\n return new ToSetSequence(this);\n },\n\n toSeq: function toSeq() {\n return isIndexed(this)\n ? this.toIndexedSeq()\n : isKeyed(this)\n ? this.toKeyedSeq()\n : this.toSetSeq();\n },\n\n toStack: function toStack() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function toList() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n // ### Common JavaScript methods and properties\n\n toString: function toString() {\n return '[Collection]';\n },\n\n __toString: function __toString(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return (\n head +\n ' ' +\n this.toSeq().map(this.__toStringMapper).join(', ') +\n ' ' +\n tail\n );\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function concat() {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return reify(this, concatFactory(this, values));\n },\n\n includes: function includes(searchValue) {\n return this.some(function (value) { return is(value, searchValue); });\n },\n\n entries: function entries() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function every(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function (v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n partition: function partition(predicate, context) {\n return partitionFactory(this, predicate, context);\n },\n\n find: function find(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n forEach: function forEach(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function join(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function (v) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function keys() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function map(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function reduce$1(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n false\n );\n },\n\n reduceRight: function reduceRight(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n true\n );\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function some(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = false;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n returnValue = true;\n return false;\n }\n });\n return returnValue;\n },\n\n sort: function sort(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function values() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n // ### More sequential methods\n\n butLast: function butLast() {\n return this.slice(0, -1);\n },\n\n isEmpty: function isEmpty() {\n return this.size !== undefined ? this.size === 0 : !this.some(function () { return true; });\n },\n\n count: function count(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function countBy(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function equals(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function entrySeq() {\n var collection = this;\n if (collection._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(collection._cache);\n }\n var entriesSequence = collection.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function () { return collection.toSeq(); };\n return entriesSequence;\n },\n\n filterNot: function filterNot(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findEntry: function findEntry(predicate, context, notSetValue) {\n var found = notSetValue;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findKey: function findKey(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLast: function findLast(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n findLastEntry: function findLastEntry(predicate, context, notSetValue) {\n return this.toKeyedSeq()\n .reverse()\n .findEntry(predicate, context, notSetValue);\n },\n\n findLastKey: function findLastKey(predicate, context) {\n return this.toKeyedSeq().reverse().findKey(predicate, context);\n },\n\n first: function first(notSetValue) {\n return this.find(returnTrue, null, notSetValue);\n },\n\n flatMap: function flatMap(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function fromEntrySeq() {\n return new FromEntriesSequence(this);\n },\n\n get: function get(searchKey, notSetValue) {\n return this.find(function (_, key) { return is(key, searchKey); }, undefined, notSetValue);\n },\n\n getIn: getIn,\n\n groupBy: function groupBy(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function has(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: hasIn,\n\n isSubset: function isSubset(iter) {\n iter = typeof iter.includes === 'function' ? iter : Collection(iter);\n return this.every(function (value) { return iter.includes(value); });\n },\n\n isSuperset: function isSuperset(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Collection(iter);\n return iter.isSubset(this);\n },\n\n keyOf: function keyOf(searchValue) {\n return this.findKey(function (value) { return is(value, searchValue); });\n },\n\n keySeq: function keySeq() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function last(notSetValue) {\n return this.toSeq().reverse().first(notSetValue);\n },\n\n lastKeyOf: function lastKeyOf(searchValue) {\n return this.toKeyedSeq().reverse().keyOf(searchValue);\n },\n\n max: function max(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function maxBy(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function min(comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator\n );\n },\n\n minBy: function minBy(mapper, comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator,\n mapper\n );\n },\n\n rest: function rest() {\n return this.slice(1);\n },\n\n skip: function skip(amount) {\n return amount === 0 ? this : this.slice(Math.max(0, amount));\n },\n\n skipLast: function skipLast(amount) {\n return amount === 0 ? this : this.slice(0, -Math.max(0, amount));\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function skipUntil(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function sortBy(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function take(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function takeLast(amount) {\n return this.slice(-Math.max(0, amount));\n },\n\n takeWhile: function takeWhile(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function takeUntil(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n update: function update(fn) {\n return fn(this);\n },\n\n valueSeq: function valueSeq() {\n return this.toIndexedSeq();\n },\n\n // ### Hashable Object\n\n hashCode: function hashCode() {\n return this.__hash || (this.__hash = hashCollection(this));\n },\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n});\n\nvar CollectionPrototype = Collection.prototype;\nCollectionPrototype[IS_COLLECTION_SYMBOL] = true;\nCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.values;\nCollectionPrototype.toJSON = CollectionPrototype.toArray;\nCollectionPrototype.__toStringMapper = quoteString;\nCollectionPrototype.inspect = CollectionPrototype.toSource = function () {\n return this.toString();\n};\nCollectionPrototype.chain = CollectionPrototype.flatMap;\nCollectionPrototype.contains = CollectionPrototype.includes;\n\nmixin(KeyedCollection, {\n // ### More sequential methods\n\n flip: function flip() {\n return reify(this, flipFactory(this));\n },\n\n mapEntries: function mapEntries(mapper, context) {\n var this$1$1 = this;\n\n var iterations = 0;\n return reify(\n this,\n this.toSeq()\n .map(function (v, k) { return mapper.call(context, [k, v], iterations++, this$1$1); })\n .fromEntrySeq()\n );\n },\n\n mapKeys: function mapKeys(mapper, context) {\n var this$1$1 = this;\n\n return reify(\n this,\n this.toSeq()\n .flip()\n .map(function (k, v) { return mapper.call(context, k, v, this$1$1); })\n .flip()\n );\n },\n});\n\nvar KeyedCollectionPrototype = KeyedCollection.prototype;\nKeyedCollectionPrototype[IS_KEYED_SYMBOL] = true;\nKeyedCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.entries;\nKeyedCollectionPrototype.toJSON = toObject;\nKeyedCollectionPrototype.__toStringMapper = function (v, k) { return quoteString(k) + ': ' + quoteString(v); };\n\nmixin(IndexedCollection, {\n // ### Conversion to other types\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, false);\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function findIndex(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function indexOf(searchValue) {\n var key = this.keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function lastIndexOf(searchValue) {\n var key = this.lastKeyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function splice(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum || 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1\n ? spliced\n : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n // ### More collection methods\n\n findLastIndex: function findLastIndex(predicate, context) {\n var entry = this.findLastEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n first: function first(notSetValue) {\n return this.get(0, notSetValue);\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function get(index, notSetValue) {\n index = wrapIndex(this, index);\n return index < 0 ||\n this.size === Infinity ||\n (this.size !== undefined && index > this.size)\n ? notSetValue\n : this.find(function (_, key) { return key === index; }, undefined, notSetValue);\n },\n\n has: function has(index) {\n index = wrapIndex(this, index);\n return (\n index >= 0 &&\n (this.size !== undefined\n ? this.size === Infinity || index < this.size\n : this.indexOf(index) !== -1)\n );\n },\n\n interpose: function interpose(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function interleave(/*...collections*/) {\n var collections = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, collections);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * collections.length;\n }\n return reify(this, interleaved);\n },\n\n keySeq: function keySeq() {\n return Range(0, this.size);\n },\n\n last: function last(notSetValue) {\n return this.get(-1, notSetValue);\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function zip(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections));\n },\n\n zipAll: function zipAll(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections, true));\n },\n\n zipWith: function zipWith(zipper /*, ...collections */) {\n var collections = arrCopy(arguments);\n collections[0] = this;\n return reify(this, zipWithFactory(this, zipper, collections));\n },\n});\n\nvar IndexedCollectionPrototype = IndexedCollection.prototype;\nIndexedCollectionPrototype[IS_INDEXED_SYMBOL] = true;\nIndexedCollectionPrototype[IS_ORDERED_SYMBOL] = true;\n\nmixin(SetCollection, {\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function get(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function includes(value) {\n return this.has(value);\n },\n\n // ### More sequential methods\n\n keySeq: function keySeq() {\n return this.valueSeq();\n },\n});\n\nvar SetCollectionPrototype = SetCollection.prototype;\nSetCollectionPrototype.has = CollectionPrototype.includes;\nSetCollectionPrototype.contains = SetCollectionPrototype.includes;\nSetCollectionPrototype.keys = SetCollectionPrototype.values;\n\n// Mixin subclasses\n\nmixin(KeyedSeq, KeyedCollectionPrototype);\nmixin(IndexedSeq, IndexedCollectionPrototype);\nmixin(SetSeq, SetCollectionPrototype);\n\n// #pragma Helper functions\n\nfunction reduce(collection, reducer, reduction, context, useFirst, reverse) {\n assertNotInfinite(collection.size);\n collection.__iterate(function (v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n }, reverse);\n return reduction;\n}\n\nfunction keyMapper(v, k) {\n return k;\n}\n\nfunction entryMapper(v, k) {\n return [k, v];\n}\n\nfunction not(predicate) {\n return function () {\n return !predicate.apply(this, arguments);\n };\n}\n\nfunction neg(predicate) {\n return function () {\n return -predicate.apply(this, arguments);\n };\n}\n\nfunction defaultZipper() {\n return arrCopy(arguments);\n}\n\nfunction defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n}\n\nfunction hashCollection(collection) {\n if (collection.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(collection);\n var keyed = isKeyed(collection);\n var h = ordered ? 1 : 0;\n var size = collection.__iterate(\n keyed\n ? ordered\n ? function (v, k) {\n h = (31 * h + hashMerge(hash(v), hash(k))) | 0;\n }\n : function (v, k) {\n h = (h + hashMerge(hash(v), hash(k))) | 0;\n }\n : ordered\n ? function (v) {\n h = (31 * h + hash(v)) | 0;\n }\n : function (v) {\n h = (h + hash(v)) | 0;\n }\n );\n return murmurHashOfSize(size, h);\n}\n\nfunction murmurHashOfSize(size, h) {\n h = imul(h, 0xcc9e2d51);\n h = imul((h << 15) | (h >>> -15), 0x1b873593);\n h = imul((h << 13) | (h >>> -13), 5);\n h = ((h + 0xe6546b64) | 0) ^ size;\n h = imul(h ^ (h >>> 16), 0x85ebca6b);\n h = imul(h ^ (h >>> 13), 0xc2b2ae35);\n h = smi(h ^ (h >>> 16));\n return h;\n}\n\nfunction hashMerge(a, b) {\n return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0; // int\n}\n\nvar OrderedSet = /*@__PURE__*/(function (Set) {\n function OrderedSet(value) {\n return value === undefined || value === null\n ? emptyOrderedSet()\n : isOrderedSet(value)\n ? value\n : emptyOrderedSet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( Set ) OrderedSet.__proto__ = Set;\n OrderedSet.prototype = Object.create( Set && Set.prototype );\n OrderedSet.prototype.constructor = OrderedSet;\n\n OrderedSet.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function toString () {\n return this.__toString('OrderedSet {', '}');\n };\n\n return OrderedSet;\n}(Set));\n\nOrderedSet.isOrderedSet = isOrderedSet;\n\nvar OrderedSetPrototype = OrderedSet.prototype;\nOrderedSetPrototype[IS_ORDERED_SYMBOL] = true;\nOrderedSetPrototype.zip = IndexedCollectionPrototype.zip;\nOrderedSetPrototype.zipWith = IndexedCollectionPrototype.zipWith;\nOrderedSetPrototype.zipAll = IndexedCollectionPrototype.zipAll;\n\nOrderedSetPrototype.__empty = emptyOrderedSet;\nOrderedSetPrototype.__make = makeOrderedSet;\n\nfunction makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_ORDERED_SET;\nfunction emptyOrderedSet() {\n return (\n EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()))\n );\n}\n\nvar PairSorting = {\n LeftThenRight: -1,\n RightThenLeft: +1,\n};\n\nfunction throwOnInvalidDefaultValues(defaultValues) {\n if (isRecord(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.'\n );\n }\n\n if (isImmutable(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.'\n );\n }\n\n if (defaultValues === null || typeof defaultValues !== 'object') {\n throw new Error(\n 'Can not call `Record` with a non-object as default values. Use a plain javascript object instead.'\n );\n }\n}\n\nvar Record = function Record(defaultValues, name) {\n var hasInitialized;\n\n throwOnInvalidDefaultValues(defaultValues);\n\n var RecordType = function Record(values) {\n var this$1$1 = this;\n\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n var indices = (RecordTypePrototype._indices = {});\n // Deprecated: left to attempt not to break any external code which\n // relies on a ._name property existing on record instances.\n // Use Record.getDescriptiveName() instead\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n for (var i = 0; i < keys.length; i++) {\n var propName = keys[i];\n indices[propName] = i;\n if (RecordTypePrototype[propName]) {\n /* eslint-disable no-console */\n typeof console === 'object' &&\n console.warn &&\n console.warn(\n 'Cannot define ' +\n recordName(this) +\n ' with property \"' +\n propName +\n '\" since that property name is part of the Record API.'\n );\n /* eslint-enable no-console */\n } else {\n setProp(RecordTypePrototype, propName);\n }\n }\n }\n this.__ownerID = undefined;\n this._values = List().withMutations(function (l) {\n l.setSize(this$1$1._keys.length);\n KeyedCollection(values).forEach(function (v, k) {\n l.set(this$1$1._indices[k], v === this$1$1._defaultValues[k] ? undefined : v);\n });\n });\n return this;\n };\n\n var RecordTypePrototype = (RecordType.prototype =\n Object.create(RecordPrototype));\n RecordTypePrototype.constructor = RecordType;\n\n if (name) {\n RecordType.displayName = name;\n }\n\n return RecordType;\n};\n\nRecord.prototype.toString = function toString () {\n var str = recordName(this) + ' { ';\n var keys = this._keys;\n var k;\n for (var i = 0, l = keys.length; i !== l; i++) {\n k = keys[i];\n str += (i ? ', ' : '') + k + ': ' + quoteString(this.get(k));\n }\n return str + ' }';\n};\n\nRecord.prototype.equals = function equals (other) {\n return (\n this === other ||\n (isRecord(other) && recordSeq(this).equals(recordSeq(other)))\n );\n};\n\nRecord.prototype.hashCode = function hashCode () {\n return recordSeq(this).hashCode();\n};\n\n// @pragma Access\n\nRecord.prototype.has = function has (k) {\n return this._indices.hasOwnProperty(k);\n};\n\nRecord.prototype.get = function get (k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var index = this._indices[k];\n var value = this._values.get(index);\n return value === undefined ? this._defaultValues[k] : value;\n};\n\n// @pragma Modification\n\nRecord.prototype.set = function set (k, v) {\n if (this.has(k)) {\n var newValues = this._values.set(\n this._indices[k],\n v === this._defaultValues[k] ? undefined : v\n );\n if (newValues !== this._values && !this.__ownerID) {\n return makeRecord(this, newValues);\n }\n }\n return this;\n};\n\nRecord.prototype.remove = function remove (k) {\n return this.set(k);\n};\n\nRecord.prototype.clear = function clear () {\n var newValues = this._values.clear().setSize(this._keys.length);\n\n return this.__ownerID ? this : makeRecord(this, newValues);\n};\n\nRecord.prototype.wasAltered = function wasAltered () {\n return this._values.wasAltered();\n};\n\nRecord.prototype.toSeq = function toSeq () {\n return recordSeq(this);\n};\n\nRecord.prototype.toJS = function toJS$1 () {\n return toJS(this);\n};\n\nRecord.prototype.entries = function entries () {\n return this.__iterator(ITERATE_ENTRIES);\n};\n\nRecord.prototype.__iterator = function __iterator (type, reverse) {\n return recordSeq(this).__iterator(type, reverse);\n};\n\nRecord.prototype.__iterate = function __iterate (fn, reverse) {\n return recordSeq(this).__iterate(fn, reverse);\n};\n\nRecord.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newValues = this._values.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._values = newValues;\n return this;\n }\n return makeRecord(this, newValues, ownerID);\n};\n\nRecord.isRecord = isRecord;\nRecord.getDescriptiveName = recordName;\nvar RecordPrototype = Record.prototype;\nRecordPrototype[IS_RECORD_SYMBOL] = true;\nRecordPrototype[DELETE] = RecordPrototype.remove;\nRecordPrototype.deleteIn = RecordPrototype.removeIn = deleteIn;\nRecordPrototype.getIn = getIn;\nRecordPrototype.hasIn = CollectionPrototype.hasIn;\nRecordPrototype.merge = merge$1;\nRecordPrototype.mergeWith = mergeWith$1;\nRecordPrototype.mergeIn = mergeIn;\nRecordPrototype.mergeDeep = mergeDeep;\nRecordPrototype.mergeDeepWith = mergeDeepWith;\nRecordPrototype.mergeDeepIn = mergeDeepIn;\nRecordPrototype.setIn = setIn;\nRecordPrototype.update = update;\nRecordPrototype.updateIn = updateIn;\nRecordPrototype.withMutations = withMutations;\nRecordPrototype.asMutable = asMutable;\nRecordPrototype.asImmutable = asImmutable;\nRecordPrototype[ITERATOR_SYMBOL] = RecordPrototype.entries;\nRecordPrototype.toJSON = RecordPrototype.toObject =\n CollectionPrototype.toObject;\nRecordPrototype.inspect = RecordPrototype.toSource = function () {\n return this.toString();\n};\n\nfunction makeRecord(likeRecord, values, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._values = values;\n record.__ownerID = ownerID;\n return record;\n}\n\nfunction recordName(record) {\n return record.constructor.displayName || record.constructor.name || 'Record';\n}\n\nfunction recordSeq(record) {\n return keyedSeqFromValue(record._keys.map(function (k) { return [k, record.get(k)]; }));\n}\n\nfunction setProp(prototype, name) {\n try {\n Object.defineProperty(prototype, name, {\n get: function () {\n return this.get(name);\n },\n set: function (value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n },\n });\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n}\n\n/**\n * Returns a lazy Seq of `value` repeated `times` times. When `times` is\n * undefined, returns an infinite sequence of `value`.\n */\nvar Repeat = /*@__PURE__*/(function (IndexedSeq) {\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n if ( IndexedSeq ) Repeat.__proto__ = IndexedSeq;\n Repeat.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Repeat.prototype.constructor = Repeat;\n\n Repeat.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function includes (searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function slice (begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size)\n ? this\n : new Repeat(\n this._value,\n resolveEnd(end, size) - resolveBegin(begin, size)\n );\n };\n\n Repeat.prototype.reverse = function reverse () {\n return this;\n };\n\n Repeat.prototype.indexOf = function indexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var i = 0;\n while (i !== size) {\n if (fn(this._value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n }\n return i;\n };\n\n Repeat.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var size = this.size;\n var i = 0;\n return new Iterator(function () { return i === size\n ? iteratorDone()\n : iteratorValue(type, reverse ? size - ++i : i++, this$1$1._value); }\n );\n };\n\n Repeat.prototype.equals = function equals (other) {\n return other instanceof Repeat\n ? is(this._value, other._value)\n : deepEqual(other);\n };\n\n return Repeat;\n}(IndexedSeq));\n\nvar EMPTY_REPEAT;\n\nfunction fromJS(value, converter) {\n return fromJSWith(\n [],\n converter || defaultConverter,\n value,\n '',\n converter && converter.length > 2 ? [] : undefined,\n { '': value }\n );\n}\n\nfunction fromJSWith(stack, converter, value, key, keyPath, parentValue) {\n if (\n typeof value !== 'string' &&\n !isImmutable(value) &&\n (isArrayLike(value) || hasIterator(value) || isPlainObject(value))\n ) {\n if (~stack.indexOf(value)) {\n throw new TypeError('Cannot convert circular structure to Immutable');\n }\n stack.push(value);\n keyPath && key !== '' && keyPath.push(key);\n var converted = converter.call(\n parentValue,\n key,\n Seq(value).map(function (v, k) { return fromJSWith(stack, converter, v, k, keyPath, value); }\n ),\n keyPath && keyPath.slice()\n );\n stack.pop();\n keyPath && keyPath.pop();\n return converted;\n }\n return value;\n}\n\nfunction defaultConverter(k, v) {\n // Effectively the opposite of \"Collection.toSeq()\"\n return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet();\n}\n\nvar version = \"4.3.5\";\n\nvar Immutable = {\n version: version,\n\n Collection: Collection,\n // Note: Iterable is deprecated\n Iterable: Collection,\n\n Seq: Seq,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n PairSorting: PairSorting,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS,\n hash: hash,\n\n isImmutable: isImmutable,\n isCollection: isCollection,\n isKeyed: isKeyed,\n isIndexed: isIndexed,\n isAssociative: isAssociative,\n isOrdered: isOrdered,\n isValueObject: isValueObject,\n isPlainObject: isPlainObject,\n isSeq: isSeq,\n isList: isList,\n isMap: isMap,\n isOrderedMap: isOrderedMap,\n isStack: isStack,\n isSet: isSet,\n isOrderedSet: isOrderedSet,\n isRecord: isRecord,\n\n get: get,\n getIn: getIn$1,\n has: has,\n hasIn: hasIn$1,\n merge: merge,\n mergeDeep: mergeDeep$1,\n mergeWith: mergeWith,\n mergeDeepWith: mergeDeepWith$1,\n remove: remove,\n removeIn: removeIn,\n set: set,\n setIn: setIn$1,\n update: update$1,\n updateIn: updateIn$1,\n};\n\n// Note: Iterable is deprecated\nvar Iterable = Collection;\n\nexport default Immutable;\nexport { Collection, Iterable, List, Map, OrderedMap, OrderedSet, PairSorting, Range, Record, Repeat, Seq, Set, Stack, fromJS, get, getIn$1 as getIn, has, hasIn$1 as hasIn, hash, is, isAssociative, isCollection, isImmutable, isIndexed, isKeyed, isList, isMap, isOrdered, isOrderedMap, isOrderedSet, isPlainObject, isRecord, isSeq, isSet, isStack, isValueObject, merge, mergeDeep$1 as mergeDeep, mergeDeepWith$1 as mergeDeepWith, mergeWith, remove, removeIn, set, setIn$1 as setIn, update$1 as update, updateIn$1 as updateIn, version };\n","/**\n * @preserve\n * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)\n *\n * @author Jens Taylor\n * @see http://github.com/homebrewing/brauhaus-diff\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n */\n(function(){\n var cache;\n\n // Call this function without `new` to use the cached object (good for\n // single-threaded environments), or with `new` to create a new object.\n //\n // @param {string} key A UTF-16 or ASCII string\n // @param {number} seed An optional positive integer\n // @return {object} A MurmurHash3 object for incremental hashing\n function MurmurHash3(key, seed) {\n var m = this instanceof MurmurHash3 ? this : cache;\n m.reset(seed)\n if (typeof key === 'string' && key.length > 0) {\n m.hash(key);\n }\n\n if (m !== this) {\n return m;\n }\n };\n\n // Incrementally add a string to this hash\n //\n // @param {string} key A UTF-16 or ASCII string\n // @return {object} this\n MurmurHash3.prototype.hash = function(key) {\n var h1, k1, i, top, len;\n\n len = key.length;\n this.len += len;\n\n k1 = this.k1;\n i = 0;\n switch (this.rem) {\n case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0;\n case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0;\n case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0;\n case 3:\n k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0;\n k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0;\n }\n\n this.rem = (len + this.rem) & 3; // & 3 is same as % 4\n len -= this.rem;\n if (len > 0) {\n h1 = this.h1;\n while (1) {\n k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff;\n\n h1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff;\n\n if (i >= len) {\n break;\n }\n\n k1 = ((key.charCodeAt(i++) & 0xffff)) ^\n ((key.charCodeAt(i++) & 0xffff) << 8) ^\n ((key.charCodeAt(i++) & 0xffff) << 16);\n top = key.charCodeAt(i++);\n k1 ^= ((top & 0xff) << 24) ^\n ((top & 0xff00) >> 8);\n }\n\n k1 = 0;\n switch (this.rem) {\n case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16;\n case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8;\n case 1: k1 ^= (key.charCodeAt(i) & 0xffff);\n }\n\n this.h1 = h1;\n }\n\n this.k1 = k1;\n return this;\n };\n\n // Get the result of this hash\n //\n // @return {number} The 32-bit hash\n MurmurHash3.prototype.result = function() {\n var k1, h1;\n \n k1 = this.k1;\n h1 = this.h1;\n\n if (k1 > 0) {\n k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff;\n h1 ^= k1;\n }\n\n h1 ^= this.len;\n\n h1 ^= h1 >>> 16;\n h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff;\n h1 ^= h1 >>> 13;\n h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff;\n h1 ^= h1 >>> 16;\n\n return h1 >>> 0;\n };\n\n // Reset the hash object for reuse\n //\n // @param {number} seed An optional positive integer\n MurmurHash3.prototype.reset = function(seed) {\n this.h1 = typeof seed === 'number' ? seed : 0;\n this.rem = this.k1 = this.len = 0;\n return this;\n };\n\n // A cached object to use. This can be safely used if you're in a single-\n // threaded environment, otherwise you need to create new hashes to use.\n cache = new MurmurHash3();\n\n if (typeof(module) != 'undefined') {\n module.exports = MurmurHash3;\n } else {\n this.MurmurHash3 = MurmurHash3;\n }\n}());\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nconst isStream = stream =>\n\tstream !== null &&\n\ttypeof stream === 'object' &&\n\ttypeof stream.pipe === 'function';\n\nisStream.writable = stream =>\n\tisStream(stream) &&\n\tstream.writable !== false &&\n\ttypeof stream._write === 'function' &&\n\ttypeof stream._writableState === 'object';\n\nisStream.readable = stream =>\n\tisStream(stream) &&\n\tstream.readable !== false &&\n\ttypeof stream._read === 'function' &&\n\ttypeof stream._readableState === 'object';\n\nisStream.duplex = stream =>\n\tisStream.writable(stream) &&\n\tisStream.readable(stream);\n\nisStream.transform = stream =>\n\tisStream.duplex(stream) &&\n\ttypeof stream._transform === 'function';\n\nmodule.exports = isStream;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/ContextParser\"), exports);\n__exportStar(require(\"./lib/ErrorCoded\"), exports);\n__exportStar(require(\"./lib/FetchDocumentLoader\"), exports);\n__exportStar(require(\"./lib/IDocumentLoader\"), exports);\n__exportStar(require(\"./lib/JsonLdContext\"), exports);\n__exportStar(require(\"./lib/JsonLdContextNormalized\"), exports);\n__exportStar(require(\"./lib/Util\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContextParser = void 0;\nrequire(\"cross-fetch/polyfill\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst FetchDocumentLoader_1 = require(\"./FetchDocumentLoader\");\nconst JsonLdContextNormalized_1 = require(\"./JsonLdContextNormalized\");\nconst Util_1 = require(\"./Util\");\n/**\n * Parses JSON-LD contexts.\n */\nclass ContextParser {\n constructor(options) {\n options = options || {};\n this.documentLoader = options.documentLoader || new FetchDocumentLoader_1.FetchDocumentLoader();\n this.documentCache = {};\n this.validateContext = !options.skipValidation;\n this.expandContentTypeToBase = !!options.expandContentTypeToBase;\n this.remoteContextsDepthLimit = options.remoteContextsDepthLimit || 32;\n this.redirectSchemaOrgHttps = 'redirectSchemaOrgHttps' in options ? !!options.redirectSchemaOrgHttps : true;\n }\n /**\n * Validate the given @language value.\n * An error will be thrown if it is invalid.\n * @param value An @language value.\n * @param {boolean} strictRange If the string value should be strictly checked against a regex.\n * @param {string} errorCode The error code to emit on errors.\n * @return {boolean} If validation passed.\n * Can only be false if strictRange is false and the string value did not pass the regex.\n */\n static validateLanguage(value, strictRange, errorCode) {\n if (typeof value !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(value)}'`, errorCode);\n }\n if (!Util_1.Util.REGEX_LANGUAGE_TAG.test(value)) {\n if (strictRange) {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(value)}'`, errorCode);\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Validate the given @direction value.\n * An error will be thrown if it is invalid.\n * @param value An @direction value.\n * @param {boolean} strictValues If the string value should be strictly checked against a regex.\n * @return {boolean} If validation passed.\n * Can only be false if strictRange is false and the string value did not pass the regex.\n */\n static validateDirection(value, strictValues) {\n if (typeof value !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_DIRECTION);\n }\n if (!Util_1.Util.REGEX_DIRECTION_TAG.test(value)) {\n if (strictValues) {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_DIRECTION);\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Add an @id term for all @reverse terms.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @return {IJsonLdContextNormalizedRaw} The mutated input context.\n */\n idifyReverseTerms(context) {\n for (const key of Object.keys(context)) {\n let value = context[key];\n if (value && typeof value === 'object') {\n if (value['@reverse'] && !value['@id']) {\n if (typeof value['@reverse'] !== 'string' || Util_1.Util.isValidKeyword(value['@reverse'])) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${value['@reverse']}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n value = context[key] = Object.assign(Object.assign({}, value), { '@id': value['@reverse'] });\n value['@id'] = value['@reverse'];\n if (Util_1.Util.isPotentialKeyword(value['@reverse'])) {\n delete value['@reverse'];\n }\n else {\n value['@reverse'] = true;\n }\n }\n }\n }\n return context;\n }\n /**\n * Expand all prefixed terms in the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {boolean} expandContentTypeToBase If @type inside the context may be expanded\n * via @base if @vocab is set to null.\n * @param {string[]} keys Optional set of keys from the context to expand. If left undefined, all\n * keys in the context will be expanded.\n */\n expandPrefixedTerms(context, expandContentTypeToBase, keys) {\n const contextRaw = context.getContextRaw();\n for (const key of (keys || Object.keys(contextRaw))) {\n // Only expand allowed keys\n if (Util_1.Util.EXPAND_KEYS_BLACKLIST.indexOf(key) < 0 && !Util_1.Util.isReservedInternalKeyword(key)) {\n // Error if we try to alias a keyword to something else.\n const keyValue = contextRaw[key];\n if (Util_1.Util.isPotentialKeyword(key) && Util_1.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(key) >= 0) {\n if (key !== '@type' || typeof contextRaw[key] === 'object'\n && !(contextRaw[key]['@protected'] || contextRaw[key]['@container'] === '@set')) {\n throw new ErrorCoded_1.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${key} to ${JSON.stringify(keyValue)}`, ErrorCoded_1.ERROR_CODES.KEYWORD_REDEFINITION);\n }\n }\n // Error if we try to alias to an illegal keyword\n if (Util_1.Util.ALIAS_RANGE_BLACKLIST.indexOf(Util_1.Util.getContextValueId(keyValue)) >= 0) {\n throw new ErrorCoded_1.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${key} to ${JSON.stringify(keyValue)}`, ErrorCoded_1.ERROR_CODES.INVALID_KEYWORD_ALIAS);\n }\n // Error if this term was marked as prefix as well\n if (keyValue && Util_1.Util.isPotentialKeyword(Util_1.Util.getContextValueId(keyValue))\n && keyValue['@prefix'] === true) {\n throw new ErrorCoded_1.ErrorCoded(`Tried to use keyword aliases as prefix: '${key}': '${JSON.stringify(keyValue)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n // Loop because prefixes might be nested\n while (Util_1.Util.isPrefixValue(contextRaw[key])) {\n const value = contextRaw[key];\n let changed = false;\n if (typeof value === 'string') {\n contextRaw[key] = context.expandTerm(value, true);\n changed = changed || value !== contextRaw[key];\n }\n else {\n const id = value['@id'];\n const type = value['@type'];\n // If @id is missing, don't allow @id to be added if @prefix: true and key not being a valid IRI.\n const canAddIdEntry = !('@prefix' in value) || Util_1.Util.isValidIri(key);\n if ('@id' in value) {\n // Use @id value for expansion\n if (id !== undefined && id !== null && typeof id === 'string') {\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@id': context.expandTerm(id, true) });\n changed = changed || id !== contextRaw[key]['@id'];\n }\n }\n else if (!Util_1.Util.isPotentialKeyword(key) && canAddIdEntry) {\n // Add an explicit @id value based on the expanded key value\n const newId = context.expandTerm(key, true);\n if (newId !== key) {\n // Don't set @id if expansion failed\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@id': newId });\n changed = true;\n }\n }\n if (type && typeof type === 'string' && type !== '@vocab'\n && (!value['@container'] || !value['@container']['@type'])\n && canAddIdEntry) {\n // First check @vocab, then fallback to @base\n let expandedType = context.expandTerm(type, true);\n if (expandContentTypeToBase && type === expandedType) {\n expandedType = context.expandTerm(type, false);\n }\n if (expandedType !== type) {\n changed = true;\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@type': expandedType });\n }\n }\n }\n if (!changed) {\n break;\n }\n }\n }\n }\n }\n /**\n * Normalize the @language entries in the given context to lowercase.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} parseOptions The parsing options.\n */\n normalize(context, { processingMode, normalizeLanguageTags }) {\n // Lowercase language keys in 1.0\n if (normalizeLanguageTags || processingMode === 1.0) {\n for (const key of Object.keys(context)) {\n if (key === '@language' && typeof context[key] === 'string') {\n context[key] = context[key].toLowerCase();\n }\n else {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (typeof value['@language'] === 'string') {\n const lowercase = value['@language'].toLowerCase();\n if (lowercase !== value['@language']) {\n context[key] = Object.assign(Object.assign({}, value), { '@language': lowercase });\n }\n }\n }\n }\n }\n }\n }\n /**\n * Convert all @container strings and array values to hash-based values.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n */\n containersToHash(context) {\n for (const key of Object.keys(context)) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (typeof value['@container'] === 'string') {\n context[key] = Object.assign(Object.assign({}, value), { '@container': { [value['@container']]: true } });\n }\n else if (Array.isArray(value['@container'])) {\n const newValue = {};\n for (const containerValue of value['@container']) {\n newValue[containerValue] = true;\n }\n context[key] = Object.assign(Object.assign({}, value), { '@container': newValue });\n }\n }\n }\n }\n /**\n * Normalize and apply context-level @protected terms onto each term separately.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {number} processingMode The processing mode.\n */\n applyScopedProtected(context, { processingMode }, expandOptions) {\n if (processingMode && processingMode >= 1.1) {\n if (context['@protected']) {\n for (const key of Object.keys(context)) {\n if (Util_1.Util.isReservedInternalKeyword(key)) {\n continue;\n }\n if (!Util_1.Util.isPotentialKeyword(key) && !Util_1.Util.isTermProtected(context, key)) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (!('@protected' in context[key])) {\n // Mark terms with object values as protected if they don't have an @protected: false annotation\n context[key] = Object.assign(Object.assign({}, context[key]), { '@protected': true });\n }\n }\n else {\n // Convert string-based term values to object-based values with @protected: true\n context[key] = {\n '@id': value,\n '@protected': true,\n };\n if (Util_1.Util.isSimpleTermDefinitionPrefix(value, expandOptions)) {\n context[key] = Object.assign(Object.assign({}, context[key]), { '@prefix': true });\n }\n }\n }\n }\n delete context['@protected'];\n }\n }\n }\n /**\n * Check if the given context inheritance does not contain any overrides of protected terms.\n * @param {IJsonLdContextNormalizedRaw} contextBefore The context that may contain some protected terms.\n * @param {IJsonLdContextNormalizedRaw} contextAfter A new context that is being applied on the first one.\n * @param {IExpandOptions} expandOptions Options that are needed for any expansions during this validation.\n * @param {string[]} keys Optional set of keys from the context to validate. If left undefined, all\n * keys defined in contextAfter will be checked.\n */\n validateKeywordRedefinitions(contextBefore, contextAfter, expandOptions, keys) {\n for (const key of (keys !== null && keys !== void 0 ? keys : Object.keys(contextAfter))) {\n if (Util_1.Util.isTermProtected(contextBefore, key)) {\n // The entry in the context before will always be in object-mode\n // If the new entry is in string-mode, convert it to object-mode\n // before checking if it is identical.\n if (typeof contextAfter[key] === 'string') {\n contextAfter[key] = { '@id': contextAfter[key], '@protected': true };\n }\n else {\n // We modify this deliberately,\n // as we need it for the value comparison (they must be identical modulo '@protected')),\n // and for the fact that this new value will override the first one.\n contextAfter[key] = Object.assign(Object.assign({}, contextAfter[key]), { '@protected': true });\n }\n // Error if they are not identical\n if (!Util_1.Util.deepEqual(contextBefore[key], contextAfter[key])) {\n throw new ErrorCoded_1.ErrorCoded(`Attempted to override the protected keyword ${key} from ${JSON.stringify(Util_1.Util.getContextValueId(contextBefore[key]))} to ${JSON.stringify(Util_1.Util.getContextValueId(contextAfter[key]))}`, ErrorCoded_1.ERROR_CODES.PROTECTED_TERM_REDEFINITION);\n }\n }\n }\n }\n /**\n * Validate the entries of the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} options The parse options.\n */\n validate(context, { processingMode }) {\n for (const key of Object.keys(context)) {\n // Ignore reserved internal keywords.\n if (Util_1.Util.isReservedInternalKeyword(key)) {\n continue;\n }\n // Do not allow empty term\n if (key === '') {\n throw new ErrorCoded_1.ErrorCoded(`The empty term is not allowed, got: '${key}': '${JSON.stringify(context[key])}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n const value = context[key];\n const valueType = typeof value;\n // First check if the key is a keyword\n if (Util_1.Util.isPotentialKeyword(key)) {\n switch (key.substr(1)) {\n case 'vocab':\n if (value !== null && valueType !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @vocab IRI: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_VOCAB_MAPPING);\n }\n break;\n case 'base':\n if (value !== null && valueType !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @base IRI: ${context[key]}`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_IRI);\n }\n break;\n case 'language':\n if (value !== null) {\n ContextParser.validateLanguage(value, true, ErrorCoded_1.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);\n }\n break;\n case 'version':\n if (value !== null && valueType !== 'number') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @version number: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_VERSION_VALUE);\n }\n break;\n case 'direction':\n if (value !== null) {\n ContextParser.validateDirection(value, true);\n }\n break;\n case 'propagate':\n if (processingMode === 1.0) {\n throw new ErrorCoded_1.ErrorCoded(`Found an illegal @propagate keyword: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n if (value !== null && valueType !== 'boolean') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @propagate value: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_PROPAGATE_VALUE);\n }\n break;\n }\n // Don't allow keywords to be overridden\n if (Util_1.Util.isValidKeyword(key) && Util_1.Util.isValidKeyword(Util_1.Util.getContextValueId(value))) {\n throw new ErrorCoded_1.ErrorCoded(`Illegal keyword alias in term value, found: '${key}': '${Util_1.Util\n .getContextValueId(value)}'`, ErrorCoded_1.ERROR_CODES.KEYWORD_REDEFINITION);\n }\n continue;\n }\n // Otherwise, consider the key a term\n if (value !== null) {\n switch (valueType) {\n case 'string':\n if (Util_1.Util.getPrefix(value, context) === key) {\n throw new ErrorCoded_1.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${key}': '${JSON\n .stringify(value)}'`, ErrorCoded_1.ERROR_CODES.CYCLIC_IRI_MAPPING);\n }\n if (Util_1.Util.isValidIriWeak(key)) {\n if (value === '@type') {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to @type, found: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n else if (Util_1.Util.isValidIri(value) && value !== new JsonLdContextNormalized_1.JsonLdContextNormalized(context).expandTerm(key)) {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n break;\n case 'object':\n if (!Util_1.Util.isCompactIri(key) && !('@id' in value)\n && (value['@type'] === '@id' ? !context['@base'] : !context['@vocab'])) {\n throw new ErrorCoded_1.ErrorCoded(`Missing @id in context entry: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n for (const objectKey of Object.keys(value)) {\n const objectValue = value[objectKey];\n if (!objectValue) {\n continue;\n }\n switch (objectKey) {\n case '@id':\n if (Util_1.Util.isValidKeyword(objectValue)\n && objectValue !== '@type' && objectValue !== '@id' && objectValue !== '@graph' && objectValue !== '@nest') {\n throw new ErrorCoded_1.ErrorCoded(`Illegal keyword alias in term value, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n if (Util_1.Util.isValidIriWeak(key)) {\n if (objectValue === '@type') {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to @type, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n else if (Util_1.Util.isValidIri(objectValue)\n && objectValue !== new JsonLdContextNormalized_1.JsonLdContextNormalized(context).expandTerm(key)) {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n if (typeof objectValue !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Detected non-string @id in context entry: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n if (Util_1.Util.getPrefix(objectValue, context) === key) {\n throw new ErrorCoded_1.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${key}': '${JSON\n .stringify(value)}'`, ErrorCoded_1.ERROR_CODES.CYCLIC_IRI_MAPPING);\n }\n break;\n case '@type':\n if (value['@container'] === '@type' && objectValue !== '@id' && objectValue !== '@vocab') {\n throw new ErrorCoded_1.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${key}': '${objectValue}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n if (typeof objectValue !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(valueType)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n if (objectValue !== '@id' && objectValue !== '@vocab'\n && (processingMode === 1.0 || objectValue !== '@json')\n && (processingMode === 1.0 || objectValue !== '@none')\n && (objectValue[0] === '_' || !Util_1.Util.isValidIri(objectValue))) {\n throw new ErrorCoded_1.ErrorCoded(`A context @type must be an absolute IRI, found: '${key}': '${objectValue}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n break;\n case '@reverse':\n if (typeof objectValue === 'string' && value['@id'] && value['@id'] !== objectValue) {\n throw new ErrorCoded_1.ErrorCoded(`Found non-matching @id and @reverse term values in '${key}':\\\n'${objectValue}' and '${value['@id']}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n if ('@nest' in value) {\n throw new ErrorCoded_1.ErrorCoded(`@nest is not allowed in the reverse property '${key}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n break;\n case '@container':\n if (processingMode === 1.0) {\n if (Object.keys(objectValue).length > 1\n || Util_1.Util.CONTAINERS_1_0.indexOf(Object.keys(objectValue)[0]) < 0) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid term @container for '${key}' ('${Object.keys(objectValue)}') in 1.0, \\\nmust be only one of ${Util_1.Util.CONTAINERS_1_0.join(', ')}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTAINER_MAPPING);\n }\n }\n for (const containerValue of Object.keys(objectValue)) {\n if (containerValue === '@list' && value['@reverse']) {\n throw new ErrorCoded_1.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${key}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n if (Util_1.Util.CONTAINERS.indexOf(containerValue) < 0) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid term @container for '${key}' ('${containerValue}'), \\\nmust be one of ${Util_1.Util.CONTAINERS.join(', ')}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTAINER_MAPPING);\n }\n }\n break;\n case '@language':\n ContextParser.validateLanguage(objectValue, true, ErrorCoded_1.ERROR_CODES.INVALID_LANGUAGE_MAPPING);\n break;\n case '@direction':\n ContextParser.validateDirection(objectValue, true);\n break;\n case '@prefix':\n if (objectValue !== null && typeof objectValue !== 'boolean') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term @prefix boolean in: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_PREFIX_VALUE);\n }\n if (!('@id' in value) && !Util_1.Util.isValidIri(key)) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid @prefix definition for '${key}' ('${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n break;\n case '@index':\n if (processingMode === 1.0 || !value['@container'] || !value['@container']['@index']) {\n throw new ErrorCoded_1.ErrorCoded(`Attempt to add illegal key to value object: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n break;\n case '@nest':\n if (Util_1.Util.isPotentialKeyword(objectValue) && objectValue !== '@nest') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term @nest value in: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_NEST_VALUE);\n }\n }\n }\n break;\n default:\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term value: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n }\n }\n }\n /**\n * Apply the @base context entry to the given context under certain circumstances.\n * @param context A context.\n * @param options Parsing options.\n * @param inheritFromParent If the @base value from the parent context can be inherited.\n * @return The given context.\n */\n applyBaseEntry(context, options, inheritFromParent) {\n // In some special cases, this can be a string, so ignore those.\n if (typeof context === 'string') {\n return context;\n }\n // Give priority to @base in the parent context\n if (inheritFromParent && !('@base' in context) && options.parentContext\n && typeof options.parentContext === 'object' && '@base' in options.parentContext) {\n context['@base'] = options.parentContext['@base'];\n if (options.parentContext['@__baseDocument']) {\n context['@__baseDocument'] = true;\n }\n }\n // Override the base IRI if provided.\n if (options.baseIRI && !options.external) {\n if (!('@base' in context)) {\n // The context base is the document base\n context['@base'] = options.baseIRI;\n context['@__baseDocument'] = true;\n }\n else if (context['@base'] !== null && typeof context['@base'] === 'string'\n && !Util_1.Util.isValidIri(context['@base'])) {\n // The context base is relative to the document base\n context['@base'] = (0, relative_to_absolute_iri_1.resolve)(context['@base'], options.parentContext && options.parentContext['@base'] || options.baseIRI);\n }\n }\n return context;\n }\n /**\n * Resolve relative context IRIs, or return full IRIs as-is.\n * @param {string} contextIri A context IRI.\n * @param {string} baseIRI A base IRI.\n * @return {string} The normalized context IRI.\n */\n normalizeContextIri(contextIri, baseIRI) {\n if (!Util_1.Util.isValidIri(contextIri)) {\n try {\n contextIri = (0, relative_to_absolute_iri_1.resolve)(contextIri, baseIRI);\n }\n catch (_a) {\n throw new Error(`Invalid context IRI: ${contextIri}`);\n }\n }\n // TODO: Temporary workaround for fixing schema.org CORS issues (https://github.com/schemaorg/schemaorg/issues/2578#issuecomment-652324465)\n if (this.redirectSchemaOrgHttps && contextIri.startsWith('http://schema.org')) {\n contextIri = 'https://schema.org/';\n }\n return contextIri;\n }\n /**\n * Parse scoped contexts in the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} options Parsing options.\n * @return {IJsonLdContextNormalizedRaw} The mutated input context.\n * @param {string[]} keys Optional set of keys from the context to parseInnerContexts of. If left undefined, all\n * keys in the context will be iterated over.\n */\n async parseInnerContexts(context, options, keys) {\n for (const key of (keys !== null && keys !== void 0 ? keys : Object.keys(context))) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if ('@context' in value && value['@context'] !== null && !options.ignoreScopedContexts) {\n // Simulate a processing based on the parent context to check if there are any (potential errors).\n // Honestly, I find it a bit weird to do this here, as the context may be unused,\n // and the final effective context may differ based on any other embedded/scoped contexts.\n // But hey, it's part of the spec, so we have no choice...\n // https://w3c.github.io/json-ld-api/#h-note-10\n if (this.validateContext) {\n try {\n const parentContext = Object.assign(Object.assign({}, context), { [key]: Object.assign({}, context[key]) });\n delete parentContext[key]['@context'];\n await this.parse(value['@context'], Object.assign(Object.assign({}, options), { external: false, parentContext, ignoreProtection: true, ignoreRemoteScopedContexts: true, ignoreScopedContexts: true }));\n }\n catch (e) {\n throw new ErrorCoded_1.ErrorCoded(e.message, ErrorCoded_1.ERROR_CODES.INVALID_SCOPED_CONTEXT);\n }\n }\n context[key] = Object.assign(Object.assign({}, value), { '@context': (await this.parse(value['@context'], Object.assign(Object.assign({}, options), { external: false, minimalProcessing: true, ignoreRemoteScopedContexts: true, parentContext: context })))\n .getContextRaw() });\n }\n }\n }\n return context;\n }\n async parse(context, options = {}, \n // These options are only for internal use on recursive calls and should not be used by\n // libraries consuming this function\n internalOptions = {}) {\n const { baseIRI, parentContext, external, processingMode = ContextParser.DEFAULT_PROCESSING_MODE, normalizeLanguageTags, ignoreProtection, minimalProcessing, } = options;\n const remoteContexts = options.remoteContexts || {};\n // Avoid remote context overflows\n if (Object.keys(remoteContexts).length >= this.remoteContextsDepthLimit) {\n throw new ErrorCoded_1.ErrorCoded('Detected an overflow in remote context inclusions: ' + Object.keys(remoteContexts), ErrorCoded_1.ERROR_CODES.CONTEXT_OVERFLOW);\n }\n if (context === null || context === undefined) {\n // Don't allow context nullification and there are protected terms\n if (!ignoreProtection && parentContext && Util_1.Util.hasProtectedTerms(parentContext)) {\n throw new ErrorCoded_1.ErrorCoded('Illegal context nullification when terms are protected', ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);\n }\n // Context that are explicitly set to null are empty.\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(this.applyBaseEntry({}, options, false));\n }\n else if (typeof context === 'string') {\n const contextIri = this.normalizeContextIri(context, baseIRI);\n const overriddenLoad = this.getOverriddenLoad(contextIri, options);\n if (overriddenLoad) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(overriddenLoad);\n }\n const parsedStringContext = await this.parse(await this.load(contextIri), Object.assign(Object.assign({}, options), { baseIRI: contextIri, external: true, remoteContexts: Object.assign(Object.assign({}, remoteContexts), { [contextIri]: true }) }));\n this.applyBaseEntry(parsedStringContext.getContextRaw(), options, true);\n return parsedStringContext;\n }\n else if (Array.isArray(context)) {\n // As a performance consideration, first load all external contexts in parallel.\n const contextIris = [];\n const contexts = await Promise.all(context.map((subContext, i) => {\n if (typeof subContext === 'string') {\n const contextIri = this.normalizeContextIri(subContext, baseIRI);\n contextIris[i] = contextIri;\n const overriddenLoad = this.getOverriddenLoad(contextIri, options);\n if (overriddenLoad) {\n return overriddenLoad;\n }\n return this.load(contextIri);\n }\n else {\n return subContext;\n }\n }));\n // Don't apply inheritance logic on minimal processing\n if (minimalProcessing) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(contexts);\n }\n const reducedContexts = await contexts.reduce((accContextPromise, contextEntry, i) => accContextPromise\n .then((accContext) => this.parse(contextEntry, Object.assign(Object.assign({}, options), { baseIRI: contextIris[i] || options.baseIRI, external: !!contextIris[i] || options.external, parentContext: accContext.getContextRaw(), remoteContexts: contextIris[i] ? Object.assign(Object.assign({}, remoteContexts), { [contextIris[i]]: true }) : remoteContexts }), \n // @ts-expect-error: This third argument causes a type error because we have hidden it from consumers\n {\n skipValidation: i < contexts.length - 1,\n })), Promise.resolve(new JsonLdContextNormalized_1.JsonLdContextNormalized(parentContext || {})));\n // Override the base IRI if provided.\n this.applyBaseEntry(reducedContexts.getContextRaw(), options, true);\n return reducedContexts;\n }\n else if (typeof context === 'object') {\n if ('@context' in context) {\n return await this.parse(context['@context'], options);\n }\n // Make a deep clone of the given context, to avoid modifying it.\n context = Object.assign({}, context);\n // According to the JSON-LD spec, @base must be ignored from external contexts.\n if (external) {\n delete context['@base'];\n }\n // Override the base IRI if provided.\n this.applyBaseEntry(context, options, true);\n // Hashify container entries\n // Do this before protected term validation as that influences term format\n this.containersToHash(context);\n // Don't perform any other modifications if only minimal processing is needed.\n if (minimalProcessing) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(context);\n }\n // In JSON-LD 1.1, load @import'ed context prior to processing.\n let importContext = {};\n if ('@import' in context) {\n if (processingMode >= 1.1) {\n // Only accept string values\n if (typeof context['@import'] !== 'string') {\n throw new ErrorCoded_1.ErrorCoded('An @import value must be a string, but got ' + typeof context['@import'], ErrorCoded_1.ERROR_CODES.INVALID_IMPORT_VALUE);\n }\n // Load context\n importContext = await this.loadImportContext(this.normalizeContextIri(context['@import'], baseIRI));\n delete context['@import'];\n }\n else {\n throw new ErrorCoded_1.ErrorCoded('Context importing is not supported in JSON-LD 1.0', ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n }\n this.applyScopedProtected(importContext, { processingMode }, JsonLdContextNormalized_1.defaultExpandOptions);\n const newContext = Object.assign(importContext, context);\n // Handle terms (before protection checks)\n this.idifyReverseTerms(newContext);\n this.normalize(newContext, { processingMode, normalizeLanguageTags });\n this.applyScopedProtected(newContext, { processingMode }, JsonLdContextNormalized_1.defaultExpandOptions);\n const keys = Object.keys(newContext);\n const overlappingKeys = [];\n if (typeof parentContext === 'object') {\n // Merge different parts of the final context in order\n for (const key in parentContext) {\n if (key in newContext) {\n overlappingKeys.push(key);\n }\n else {\n newContext[key] = parentContext[key];\n }\n }\n }\n // Parse inner contexts with minimal processing\n await this.parseInnerContexts(newContext, options, keys);\n const newContextWrapped = new JsonLdContextNormalized_1.JsonLdContextNormalized(newContext);\n // In JSON-LD 1.1, @vocab can be relative to @vocab in the parent context, or a compact IRI.\n if ((newContext && newContext['@version'] || ContextParser.DEFAULT_PROCESSING_MODE) >= 1.1\n && ((context['@vocab'] && typeof context['@vocab'] === 'string') || context['@vocab'] === '')) {\n if (parentContext && '@vocab' in parentContext && context['@vocab'].indexOf(':') < 0) {\n newContext['@vocab'] = parentContext['@vocab'] + context['@vocab'];\n }\n else if (Util_1.Util.isCompactIri(context['@vocab']) || context['@vocab'] in newContext) {\n // @vocab is a compact IRI or refers exactly to a prefix\n newContext['@vocab'] = newContextWrapped.expandTerm(context['@vocab'], true);\n }\n }\n this.expandPrefixedTerms(newContextWrapped, this.expandContentTypeToBase, keys);\n // In JSON-LD 1.1, check if we are not redefining any protected keywords\n if (!ignoreProtection && parentContext && processingMode >= 1.1) {\n this.validateKeywordRedefinitions(parentContext, newContext, JsonLdContextNormalized_1.defaultExpandOptions, overlappingKeys);\n }\n if (this.validateContext && !internalOptions.skipValidation) {\n this.validate(newContext, { processingMode });\n }\n return newContextWrapped;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${context}`, ErrorCoded_1.ERROR_CODES.INVALID_LOCAL_CONTEXT);\n }\n }\n /**\n * Fetch the given URL as a raw JSON-LD context.\n * @param url An URL.\n * @return A promise resolving to a raw JSON-LD context.\n */\n async load(url) {\n // First try to retrieve the context from cache\n const cached = this.documentCache[url];\n if (cached) {\n return cached;\n }\n // If not in cache, load it\n let document;\n try {\n document = await this.documentLoader.load(url);\n }\n catch (e) {\n throw new ErrorCoded_1.ErrorCoded(`Failed to load remote context ${url}: ${e.message}`, ErrorCoded_1.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED);\n }\n // Validate the context\n if (!('@context' in document)) {\n throw new ErrorCoded_1.ErrorCoded(`Missing @context in remote context at ${url}`, ErrorCoded_1.ERROR_CODES.INVALID_REMOTE_CONTEXT);\n }\n return this.documentCache[url] = document['@context'];\n }\n /**\n * Override the given context that may be loaded.\n *\n * This will check whether or not the url is recursively being loaded.\n * @param url An URL.\n * @param options Parsing options.\n * @return An overridden context, or null.\n * Optionally an error can be thrown if a cyclic context is detected.\n */\n getOverriddenLoad(url, options) {\n if (url in (options.remoteContexts || {})) {\n if (options.ignoreRemoteScopedContexts) {\n return url;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded('Detected a cyclic context inclusion of ' + url, ErrorCoded_1.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION);\n }\n }\n return null;\n }\n /**\n * Load an @import'ed context.\n * @param importContextIri The full URI of an @import value.\n */\n async loadImportContext(importContextIri) {\n // Load the context - and do a deep clone since we are about to mutate it\n let importContext = await this.load(importContextIri);\n // Require the context to be a non-array object\n if (typeof importContext !== 'object' || Array.isArray(importContext)) {\n throw new ErrorCoded_1.ErrorCoded('An imported context must be a single object: ' + importContextIri, ErrorCoded_1.ERROR_CODES.INVALID_REMOTE_CONTEXT);\n }\n // Error if the context contains another @import\n if ('@import' in importContext) {\n throw new ErrorCoded_1.ErrorCoded('An imported context can not import another context: ' + importContextIri, ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n importContext = Object.assign({}, importContext);\n // Containers have to be converted into hash values the same way as for the importing context\n // Otherwise context validation will fail for container values\n this.containersToHash(importContext);\n return importContext;\n }\n}\nContextParser.DEFAULT_PROCESSING_MODE = 1.1;\nexports.ContextParser = ContextParser;\n//# sourceMappingURL=ContextParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ERROR_CODES = exports.ErrorCoded = void 0;\n/**\n * An error that has a certain error code.\n *\n * The error code can be any string.\n * All standardized error codes are listed in {@link ERROR_CODES}.\n */\nclass ErrorCoded extends Error {\n /* istanbul ignore next */\n constructor(message, code) {\n super(message);\n this.code = code;\n }\n}\nexports.ErrorCoded = ErrorCoded;\n/**\n * All standardized JSON-LD error codes.\n * @see https://w3c.github.io/json-ld-api/#dom-jsonlderrorcode\n */\n// tslint:disable:object-literal-sort-keys\nvar ERROR_CODES;\n(function (ERROR_CODES) {\n ERROR_CODES[\"COLLIDING_KEYWORDS\"] = \"colliding keywords\";\n ERROR_CODES[\"CONFLICTING_INDEXES\"] = \"conflicting indexes\";\n ERROR_CODES[\"CYCLIC_IRI_MAPPING\"] = \"cyclic IRI mapping\";\n ERROR_CODES[\"INVALID_ID_VALUE\"] = \"invalid @id value\";\n ERROR_CODES[\"INVALID_INDEX_VALUE\"] = \"invalid @index value\";\n ERROR_CODES[\"INVALID_NEST_VALUE\"] = \"invalid @nest value\";\n ERROR_CODES[\"INVALID_PREFIX_VALUE\"] = \"invalid @prefix value\";\n ERROR_CODES[\"INVALID_PROPAGATE_VALUE\"] = \"invalid @propagate value\";\n ERROR_CODES[\"INVALID_REVERSE_VALUE\"] = \"invalid @reverse value\";\n ERROR_CODES[\"INVALID_IMPORT_VALUE\"] = \"invalid @import value\";\n ERROR_CODES[\"INVALID_VERSION_VALUE\"] = \"invalid @version value\";\n ERROR_CODES[\"INVALID_BASE_IRI\"] = \"invalid base IRI\";\n ERROR_CODES[\"INVALID_CONTAINER_MAPPING\"] = \"invalid container mapping\";\n ERROR_CODES[\"INVALID_CONTEXT_ENTRY\"] = \"invalid context entry\";\n ERROR_CODES[\"INVALID_CONTEXT_NULLIFICATION\"] = \"invalid context nullification\";\n ERROR_CODES[\"INVALID_DEFAULT_LANGUAGE\"] = \"invalid default language\";\n ERROR_CODES[\"INVALID_INCLUDED_VALUE\"] = \"invalid @included value\";\n ERROR_CODES[\"INVALID_IRI_MAPPING\"] = \"invalid IRI mapping\";\n ERROR_CODES[\"INVALID_JSON_LITERAL\"] = \"invalid JSON literal\";\n ERROR_CODES[\"INVALID_KEYWORD_ALIAS\"] = \"invalid keyword alias\";\n ERROR_CODES[\"INVALID_LANGUAGE_MAP_VALUE\"] = \"invalid language map value\";\n ERROR_CODES[\"INVALID_LANGUAGE_MAPPING\"] = \"invalid language mapping\";\n ERROR_CODES[\"INVALID_LANGUAGE_TAGGED_STRING\"] = \"invalid language-tagged string\";\n ERROR_CODES[\"INVALID_LANGUAGE_TAGGED_VALUE\"] = \"invalid language-tagged value\";\n ERROR_CODES[\"INVALID_LOCAL_CONTEXT\"] = \"invalid local context\";\n ERROR_CODES[\"INVALID_REMOTE_CONTEXT\"] = \"invalid remote context\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY\"] = \"invalid reverse property\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY_MAP\"] = \"invalid reverse property map\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY_VALUE\"] = \"invalid reverse property value\";\n ERROR_CODES[\"INVALID_SCOPED_CONTEXT\"] = \"invalid scoped context\";\n ERROR_CODES[\"INVALID_SCRIPT_ELEMENT\"] = \"invalid script element\";\n ERROR_CODES[\"INVALID_SET_OR_LIST_OBJECT\"] = \"invalid set or list object\";\n ERROR_CODES[\"INVALID_TERM_DEFINITION\"] = \"invalid term definition\";\n ERROR_CODES[\"INVALID_TYPE_MAPPING\"] = \"invalid type mapping\";\n ERROR_CODES[\"INVALID_TYPE_VALUE\"] = \"invalid type value\";\n ERROR_CODES[\"INVALID_TYPED_VALUE\"] = \"invalid typed value\";\n ERROR_CODES[\"INVALID_VALUE_OBJECT\"] = \"invalid value object\";\n ERROR_CODES[\"INVALID_VALUE_OBJECT_VALUE\"] = \"invalid value object value\";\n ERROR_CODES[\"INVALID_VOCAB_MAPPING\"] = \"invalid vocab mapping\";\n ERROR_CODES[\"IRI_CONFUSED_WITH_PREFIX\"] = \"IRI confused with prefix\";\n ERROR_CODES[\"KEYWORD_REDEFINITION\"] = \"keyword redefinition\";\n ERROR_CODES[\"LOADING_DOCUMENT_FAILED\"] = \"loading document failed\";\n ERROR_CODES[\"LOADING_REMOTE_CONTEXT_FAILED\"] = \"loading remote context failed\";\n ERROR_CODES[\"MULTIPLE_CONTEXT_LINK_HEADERS\"] = \"multiple context link headers\";\n ERROR_CODES[\"PROCESSING_MODE_CONFLICT\"] = \"processing mode conflict\";\n ERROR_CODES[\"PROTECTED_TERM_REDEFINITION\"] = \"protected term redefinition\";\n ERROR_CODES[\"CONTEXT_OVERFLOW\"] = \"context overflow\";\n ERROR_CODES[\"INVALID_BASE_DIRECTION\"] = \"invalid base direction\";\n ERROR_CODES[\"RECURSIVE_CONTEXT_INCLUSION\"] = \"recursive context inclusion\";\n ERROR_CODES[\"INVALID_STREAMING_KEY_ORDER\"] = \"invalid streaming key order\";\n /**\n * JSON-LD-star\n */\n ERROR_CODES[\"INVALID_EMBEDDED_NODE\"] = \"invalid embedded node\";\n ERROR_CODES[\"INVALID_ANNOTATION\"] = \"invalid annotation\";\n})(ERROR_CODES = exports.ERROR_CODES || (exports.ERROR_CODES = {}));\n//# sourceMappingURL=ErrorCoded.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FetchDocumentLoader = void 0;\nrequire(\"cross-fetch/polyfill\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst http_link_header_1 = require(\"http-link-header\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * Loads documents via the fetch API.\n */\nclass FetchDocumentLoader {\n constructor(fetcher) {\n this.fetcher = fetcher;\n }\n async load(url) {\n const response = await (this.fetcher || fetch)(url, { headers: new Headers({ accept: 'application/ld+json' }) });\n if (response.ok && response.headers) {\n let mediaType = response.headers.get('Content-Type');\n if (mediaType) {\n const colonPos = mediaType.indexOf(';');\n if (colonPos > 0) {\n mediaType = mediaType.substr(0, colonPos);\n }\n }\n if (mediaType === 'application/ld+json') {\n // Return JSON-LD if proper content type was returned\n return (await response.json());\n }\n else {\n // Check for alternate link for a non-JSON-LD response\n if (response.headers.has('Link')) {\n let alternateUrl;\n response.headers.forEach((value, key) => {\n if (key === 'link') {\n const linkHeader = (0, http_link_header_1.parse)(value);\n for (const link of linkHeader.get('type', 'application/ld+json')) {\n if (link.rel === 'alternate') {\n if (alternateUrl) {\n throw new Error('Multiple JSON-LD alternate links were found on ' + url);\n }\n alternateUrl = (0, relative_to_absolute_iri_1.resolve)(link.uri, url);\n }\n }\n }\n });\n if (alternateUrl) {\n return this.load(alternateUrl);\n }\n }\n throw new ErrorCoded_1.ErrorCoded(`Unsupported JSON-LD media type ${mediaType}`, ErrorCoded_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n }\n else {\n throw new Error(response.statusText || `Status code: ${response.status}`);\n }\n }\n}\nexports.FetchDocumentLoader = FetchDocumentLoader;\n//# sourceMappingURL=FetchDocumentLoader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IDocumentLoader.js.map","\"use strict\";\n// tslint:disable:max-line-length\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=JsonLdContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultExpandOptions = exports.JsonLdContextNormalized = void 0;\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst Util_1 = require(\"./Util\");\n/**\n * A class exposing operations over a normalized JSON-LD context.\n */\nclass JsonLdContextNormalized {\n constructor(contextRaw) {\n this.contextRaw = contextRaw;\n }\n /**\n * @return The raw inner context.\n */\n getContextRaw() {\n return this.contextRaw;\n }\n /**\n * Expand the term or prefix of the given term if it has one,\n * otherwise return the term as-is.\n *\n * This will try to expand the IRI as much as possible.\n *\n * Iff in vocab-mode, then other references to other terms in the context can be used,\n * such as to `myTerm`:\n * ```\n * {\n * \"myTerm\": \"http://example.org/myLongTerm\"\n * }\n * ```\n *\n * @param {string} term A term that is an URL or a prefixed URL.\n * @param {boolean} expandVocab If the term is a predicate or type and should be expanded based on @vocab,\n * otherwise it is considered a regular term that is expanded based on @base.\n * @param {IExpandOptions} options Options that define the way how expansion must be done.\n * @return {string} The expanded term, the term as-is, or null if it was explicitly disabled in the context.\n * @throws If the term is aliased to an invalid value (not a string, IRI or keyword).\n */\n expandTerm(term, expandVocab, options = exports.defaultExpandOptions) {\n const contextValue = this.contextRaw[term];\n // Immediately return if the term was disabled in the context\n if (contextValue === null || (contextValue && contextValue['@id'] === null)) {\n return null;\n }\n // Check the @id\n let validIriMapping = true;\n if (contextValue && expandVocab) {\n const value = Util_1.Util.getContextValueId(contextValue);\n if (value && value !== term) {\n if (typeof value !== 'string' || (!Util_1.Util.isValidIri(value) && !Util_1.Util.isValidKeyword(value))) {\n // Don't mark this mapping as invalid if we have an unknown keyword, but of the correct form.\n if (!Util_1.Util.isPotentialKeyword(value)) {\n validIriMapping = false;\n }\n }\n else {\n return value;\n }\n }\n }\n // Check if the term is prefixed\n const prefix = Util_1.Util.getPrefix(term, this.contextRaw);\n const vocab = this.contextRaw['@vocab'];\n const vocabRelative = (!!vocab || vocab === '') && vocab.indexOf(':') < 0;\n const base = this.contextRaw['@base'];\n const potentialKeyword = Util_1.Util.isPotentialKeyword(term);\n if (prefix) {\n const contextPrefixValue = this.contextRaw[prefix];\n const value = Util_1.Util.getContextValueId(contextPrefixValue);\n if (value) {\n if (typeof contextPrefixValue === 'string' || !options.allowPrefixForcing) {\n // If we have a simple term definition,\n // check the last character of the prefix to determine whether or not it is a prefix.\n // Validate that prefix ends with gen-delim character, unless @prefix is true\n if (!Util_1.Util.isSimpleTermDefinitionPrefix(value, options)) {\n // Treat the term as an absolute IRI\n return term;\n }\n }\n else {\n // If we have an expanded term definition, default to @prefix: false\n if (value[0] !== '_' && !potentialKeyword && !contextPrefixValue['@prefix'] && !(term in this.contextRaw)) {\n // Treat the term as an absolute IRI\n return term;\n }\n }\n return value + term.substr(prefix.length + 1);\n }\n }\n else if (expandVocab && ((vocab || vocab === '') || (options.allowVocabRelativeToBase && (base && vocabRelative)))\n && !potentialKeyword && !Util_1.Util.isCompactIri(term)) {\n if (vocabRelative) {\n if (options.allowVocabRelativeToBase) {\n return ((vocab || base) ? (0, relative_to_absolute_iri_1.resolve)(vocab, base) : '') + term;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Relative vocab expansion for term '${term}' with vocab '${vocab}' is not allowed.`, ErrorCoded_1.ERROR_CODES.INVALID_VOCAB_MAPPING);\n }\n }\n else {\n return vocab + term;\n }\n }\n else if (!expandVocab && base && !potentialKeyword && !Util_1.Util.isCompactIri(term)) {\n return (0, relative_to_absolute_iri_1.resolve)(term, base);\n }\n // Return the term as-is, unless we discovered an invalid IRI mapping for this term in the context earlier.\n if (validIriMapping) {\n return term;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Invalid IRI mapping found for context entry '${term}': '${JSON.stringify(contextValue)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n /**\n * Compact the given term using @base, @vocab, an aliased term, or a prefixed term.\n *\n * This will try to compact the IRI as much as possible.\n *\n * @param {string} iri An IRI to compact.\n * @param {boolean} vocab If the term is a predicate or type and should be compacted based on @vocab,\n * otherwise it is considered a regular term that is compacted based on @base.\n * @return {string} The compacted term or the IRI as-is.\n */\n compactIri(iri, vocab) {\n // Try @vocab compacting\n if (vocab && this.contextRaw['@vocab'] && iri.startsWith(this.contextRaw['@vocab'])) {\n return iri.substr(this.contextRaw['@vocab'].length);\n }\n // Try @base compacting\n if (!vocab && this.contextRaw['@base'] && iri.startsWith(this.contextRaw['@base'])) {\n return iri.substr(this.contextRaw['@base'].length);\n }\n // Loop over all terms in the context\n // This will try to prefix as short as possible.\n // Once a fully compacted alias is found, return immediately, as we can not go any shorter.\n const shortestPrefixing = { prefix: '', suffix: iri };\n for (const key in this.contextRaw) {\n const value = this.contextRaw[key];\n if (value && !Util_1.Util.isPotentialKeyword(key)) {\n const contextIri = Util_1.Util.getContextValueId(value);\n if (iri.startsWith(contextIri)) {\n const suffix = iri.substr(contextIri.length);\n if (!suffix) {\n if (vocab) {\n // Immediately return on compacted alias\n return key;\n }\n }\n else if (suffix.length < shortestPrefixing.suffix.length) {\n // Overwrite the shortest prefix\n shortestPrefixing.prefix = key;\n shortestPrefixing.suffix = suffix;\n }\n }\n }\n }\n // Return the shortest prefix\n if (shortestPrefixing.prefix) {\n return shortestPrefixing.prefix + ':' + shortestPrefixing.suffix;\n }\n return iri;\n }\n}\nexports.JsonLdContextNormalized = JsonLdContextNormalized;\nexports.defaultExpandOptions = {\n allowPrefixForcing: true,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: true,\n};\n//# sourceMappingURL=JsonLdContextNormalized.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nclass Util {\n /**\n * Check if the given term is a valid compact IRI.\n * Otherwise, it may be an IRI.\n * @param {string} term A term.\n * @return {boolean} If it is a compact IRI.\n */\n static isCompactIri(term) {\n return term.indexOf(':') > 0 && !(term && term[0] === '#');\n }\n /**\n * Get the prefix from the given term.\n * @see https://json-ld.org/spec/latest/json-ld/#compact-iris\n * @param {string} term A term that is an URL or a prefixed URL.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @return {string} The prefix or null.\n */\n static getPrefix(term, context) {\n // Do not consider relative IRIs starting with a hash as compact IRIs\n if (term && term[0] === '#') {\n return null;\n }\n const separatorPos = term.indexOf(':');\n if (separatorPos >= 0) {\n // Suffix can not begin with two slashes\n if (term.length > separatorPos + 1\n && term.charAt(separatorPos + 1) === '/'\n && term.charAt(separatorPos + 2) === '/') {\n return null;\n }\n const prefix = term.substr(0, separatorPos);\n // Prefix can not be an underscore (this is a blank node)\n if (prefix === '_') {\n return null;\n }\n // Prefix must match a term in the active context\n if (context[prefix]) {\n return prefix;\n }\n }\n return null;\n }\n /**\n * From a given context entry value, get the string value, or the @id field.\n * @param contextValue A value for a term in a context.\n * @return {string} The id value, or null.\n */\n static getContextValueId(contextValue) {\n if (contextValue === null || typeof contextValue === 'string') {\n return contextValue;\n }\n const id = contextValue['@id'];\n return id ? id : null;\n }\n /**\n * Check if the given simple term definition (string-based value of a context term)\n * should be considered a prefix.\n * @param value A simple term definition value.\n * @param options Options that define the way how expansion must be done.\n */\n static isSimpleTermDefinitionPrefix(value, options) {\n return !Util.isPotentialKeyword(value)\n && (options.allowPrefixNonGenDelims || (typeof value === 'string' && (value[0] === '_' || Util.isPrefixIriEndingWithGenDelim(value))));\n }\n /**\n * Check if the given keyword is of the keyword format \"@\"1*ALPHA.\n * @param {string} keyword A potential keyword.\n * @return {boolean} If the given keyword is of the keyword format.\n */\n static isPotentialKeyword(keyword) {\n return typeof keyword === 'string' && Util.KEYWORD_REGEX.test(keyword);\n }\n /**\n * Check if the given prefix ends with a gen-delim character.\n * @param {string} prefixIri A prefix IRI.\n * @return {boolean} If the given prefix IRI is valid.\n */\n static isPrefixIriEndingWithGenDelim(prefixIri) {\n return Util.ENDS_WITH_GEN_DELIM.test(prefixIri);\n }\n /**\n * Check if the given context value can be a prefix value.\n * @param value A context value.\n * @return {boolean} If it can be a prefix value.\n */\n static isPrefixValue(value) {\n return value && (typeof value === 'string' || (value && typeof value === 'object'));\n }\n /**\n * Check if the given IRI is valid.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIri(iri) {\n return Boolean(iri && Util.IRI_REGEX.test(iri));\n }\n /**\n * Check if the given IRI is valid, this includes the possibility of being a relative IRI.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIriWeak(iri) {\n return !!iri && iri[0] !== ':' && Util.IRI_REGEX_WEAK.test(iri);\n }\n /**\n * Check if the given keyword is a defined according to the JSON-LD specification.\n * @param {string} keyword A potential keyword.\n * @return {boolean} If the given keyword is valid.\n */\n static isValidKeyword(keyword) {\n return Util.VALID_KEYWORDS[keyword];\n }\n /**\n * Check if the given term is protected in the context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {string} key A context term.\n * @return {boolean} If the given term has an @protected flag.\n */\n static isTermProtected(context, key) {\n const value = context[key];\n return !(typeof value === 'string') && value && value['@protected'];\n }\n /**\n * Check if the given context has at least one protected term.\n * @param context A context.\n * @return If the context has a protected term.\n */\n static hasProtectedTerms(context) {\n for (const key of Object.keys(context)) {\n if (Util.isTermProtected(context, key)) {\n return true;\n }\n }\n return false;\n }\n /**\n * Check if the given key is an internal reserved keyword.\n * @param key A context key.\n */\n static isReservedInternalKeyword(key) {\n return key.startsWith('@__');\n }\n /**\n * Check if two objects are deepEqual to on another.\n * @param object1 The first object to test.\n * @param object2 The second object to test.\n */\n static deepEqual(object1, object2) {\n const objKeys1 = Object.keys(object1);\n const objKeys2 = Object.keys(object2);\n if (objKeys1.length !== objKeys2.length)\n return false;\n return objKeys1.every((key) => {\n const value1 = object1[key];\n const value2 = object2[key];\n return (value1 === value2) || (value1 !== null &&\n value2 !== null &&\n typeof value1 === \"object\" &&\n typeof value2 === \"object\" &&\n this.deepEqual(value1, value2));\n });\n }\n ;\n}\n// Regex for valid IRIs\nUtil.IRI_REGEX = /^([A-Za-z][A-Za-z0-9+-.]*|_):[^ \"<>{}|\\\\\\[\\]`#]*(#[^#]*)?$/;\n// Weaker regex for valid IRIs, this includes relative IRIs\nUtil.IRI_REGEX_WEAK = /(?::[^:])|\\//;\n// Regex for keyword form\nUtil.KEYWORD_REGEX = /^@[a-z]+$/i;\n// Regex to see if an IRI ends with a gen-delim character (see RFC 3986)\nUtil.ENDS_WITH_GEN_DELIM = /[:/?#\\[\\]@]$/;\n// Regex for language tags\nUtil.REGEX_LANGUAGE_TAG = /^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/;\n// Regex for base directions\nUtil.REGEX_DIRECTION_TAG = /^(ltr)|(rtl)$/;\n// All known valid JSON-LD keywords\n// @see https://www.w3.org/TR/json-ld11/#keywords\nUtil.VALID_KEYWORDS = {\n '@annotation': true,\n '@base': true,\n '@container': true,\n '@context': true,\n '@direction': true,\n '@graph': true,\n '@id': true,\n '@import': true,\n '@included': true,\n '@index': true,\n '@json': true,\n '@language': true,\n '@list': true,\n '@nest': true,\n '@none': true,\n '@prefix': true,\n '@propagate': true,\n '@protected': true,\n '@reverse': true,\n '@set': true,\n '@type': true,\n '@value': true,\n '@version': true,\n '@vocab': true,\n};\n// Keys in the contexts that will not be expanded based on the base IRI\nUtil.EXPAND_KEYS_BLACKLIST = [\n '@base',\n '@vocab',\n '@language',\n '@version',\n '@direction',\n];\n// Keys in the contexts that may not be aliased from\nUtil.ALIAS_DOMAIN_BLACKLIST = [\n '@container',\n '@graph',\n '@id',\n '@index',\n '@list',\n '@nest',\n '@none',\n '@prefix',\n '@reverse',\n '@set',\n '@type',\n '@value',\n '@version',\n];\n// Keys in the contexts that may not be aliased to\nUtil.ALIAS_RANGE_BLACKLIST = [\n '@context',\n '@preserve',\n];\n// All valid @container values\nUtil.CONTAINERS = [\n '@list',\n '@set',\n '@index',\n '@language',\n '@graph',\n '@id',\n '@type',\n];\n// All valid @container values under processing mode 1.0\nUtil.CONTAINERS_1_0 = [\n '@list',\n '@set',\n '@index',\n];\nexports.Util = Util;\n//# sourceMappingURL=Util.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/JsonLdParser\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContextTree = void 0;\n/**\n * A tree structure that holds all contexts,\n * based on their position in the JSON object.\n *\n * Positions are identified by a path of keys.\n */\nclass ContextTree {\n constructor() {\n this.subTrees = {};\n }\n getContext(keys) {\n if (keys.length > 0) {\n const [head, ...tail] = keys;\n const subTree = this.subTrees[head];\n if (subTree) {\n const subContext = subTree.getContext(tail);\n if (subContext) {\n return subContext.then(({ context, depth }) => ({ context, depth: depth + 1 }));\n }\n }\n }\n return this.context ? this.context.then((context) => ({ context, depth: 0 })) : null;\n }\n setContext(keys, context) {\n if (keys.length === 0) {\n this.context = context;\n }\n else {\n const [head, ...tail] = keys;\n let subTree = this.subTrees[head];\n if (!subTree) {\n subTree = this.subTrees[head] = new ContextTree();\n }\n subTree.setContext(tail, context);\n }\n }\n removeContext(path) {\n this.setContext(path, null);\n }\n}\nexports.ContextTree = ContextTree;\n//# sourceMappingURL=ContextTree.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JsonLdParser = void 0;\n// tslint:disable-next-line:no-var-requires\nconst Parser = require('@bergos/jsonparse');\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst EntryHandlerArrayValue_1 = require(\"./entryhandler/EntryHandlerArrayValue\");\nconst EntryHandlerContainer_1 = require(\"./entryhandler/EntryHandlerContainer\");\nconst EntryHandlerInvalidFallback_1 = require(\"./entryhandler/EntryHandlerInvalidFallback\");\nconst EntryHandlerPredicate_1 = require(\"./entryhandler/EntryHandlerPredicate\");\nconst EntryHandlerKeywordContext_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordContext\");\nconst EntryHandlerKeywordGraph_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordGraph\");\nconst EntryHandlerKeywordId_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordId\");\nconst EntryHandlerKeywordIncluded_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordIncluded\");\nconst EntryHandlerKeywordNest_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordNest\");\nconst EntryHandlerKeywordType_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordType\");\nconst EntryHandlerKeywordUnknownFallback_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordUnknownFallback\");\nconst EntryHandlerKeywordValue_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordValue\");\nconst ParsingContext_1 = require(\"./ParsingContext\");\nconst Util_1 = require(\"./Util\");\nconst http_link_header_1 = require(\"http-link-header\");\nconst EntryHandlerKeywordAnnotation_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordAnnotation\");\n/**\n * A stream transformer that parses JSON-LD (text) streams to an {@link RDF.Stream}.\n */\nclass JsonLdParser extends readable_stream_1.Transform {\n constructor(options) {\n super({ readableObjectMode: true });\n options = options || {};\n this.options = options;\n this.parsingContext = new ParsingContext_1.ParsingContext(Object.assign({ parser: this }, options));\n this.util = new Util_1.Util({ dataFactory: options.dataFactory, parsingContext: this.parsingContext });\n this.jsonParser = new Parser();\n this.contextJobs = [];\n this.typeJobs = [];\n this.contextAwaitingJobs = [];\n this.lastDepth = 0;\n this.lastKeys = [];\n this.lastOnValueJob = Promise.resolve();\n this.attachJsonParserListeners();\n this.on('end', () => {\n if (typeof this.jsonParser.mode !== 'undefined') {\n this.emit('error', new Error('Unclosed document'));\n }\n });\n }\n /**\n * Construct a JsonLdParser from the given HTTP response.\n *\n * This will throw an error if no valid JSON response is received\n * (application/ld+json, application/json, or something+json).\n *\n * For raw JSON responses, exactly one link header pointing to a JSON-LD context is required.\n *\n * This method is not responsible for handling redirects.\n *\n * @param baseIRI The URI of the received response.\n * @param mediaType The received content type.\n * @param headers Optional HTTP headers.\n * @param options Optional parser options.\n */\n static fromHttpResponse(baseIRI, mediaType, headers, options) {\n let context;\n let wellKnownMediaTypes = ['application/activity+json'];\n if (options && options.wellKnownMediaTypes) {\n wellKnownMediaTypes = options.wellKnownMediaTypes;\n }\n // Special cases when receiving something else than the JSON-LD media type or the wellKnownMediaTypes\n if (mediaType !== 'application/ld+json' && !wellKnownMediaTypes.includes(mediaType)) {\n // Only accept JSON or JSON extension types\n if (mediaType !== 'application/json' && !mediaType.endsWith('+json')) {\n throw new jsonld_context_parser_1.ErrorCoded(`Unsupported JSON-LD media type ${mediaType}`, jsonld_context_parser_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n // We need exactly one JSON-LD context in the link header\n if (headers && headers.has('Link')) {\n headers.forEach((value, key) => {\n if (key === 'link') {\n const linkHeader = (0, http_link_header_1.parse)(value);\n for (const link of linkHeader.get('rel', 'http://www.w3.org/ns/json-ld#context')) {\n if (context) {\n throw new jsonld_context_parser_1.ErrorCoded('Multiple JSON-LD context link headers were found on ' + baseIRI, jsonld_context_parser_1.ERROR_CODES.MULTIPLE_CONTEXT_LINK_HEADERS);\n }\n context = link.uri;\n }\n }\n });\n }\n if (!context && !(options === null || options === void 0 ? void 0 : options.ignoreMissingContextLinkHeader)) {\n throw new jsonld_context_parser_1.ErrorCoded(`Missing context link header for media type ${mediaType} on ${baseIRI}`, jsonld_context_parser_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n }\n // Check if the streaming profile is present\n let streamingProfile;\n if (headers && headers.has('Content-Type')) {\n const contentType = headers.get('Content-Type');\n const match = /; *profile=([^\"]*)/.exec(contentType);\n if (match && match[1] === 'http://www.w3.org/ns/json-ld#streaming') {\n streamingProfile = true;\n }\n }\n return new JsonLdParser(Object.assign({ baseIRI,\n context,\n streamingProfile }, options ? options : {}));\n }\n /**\n * Parses the given text stream into a quad stream.\n * @param {NodeJS.EventEmitter} stream A text stream.\n * @return {RDF.Stream} A quad stream.\n */\n import(stream) {\n if ('pipe' in stream) {\n stream.on('error', (error) => parsed.emit('error', error));\n const parsed = stream.pipe(new JsonLdParser(this.options));\n return parsed;\n }\n else {\n const output = new readable_stream_1.PassThrough({ readableObjectMode: true });\n stream.on('error', (error) => parsed.emit('error', error));\n stream.on('data', (data) => output.push(data));\n stream.on('end', () => output.push(null));\n const parsed = output.pipe(new JsonLdParser(this.options));\n return parsed;\n }\n }\n _transform(chunk, encoding, callback) {\n this.jsonParser.write(chunk);\n this.lastOnValueJob\n .then(() => callback(), (error) => callback(error));\n }\n /**\n * Start a new job for parsing the given value.\n *\n * This will let the first valid {@link IEntryHandler} handle the entry.\n *\n * @param {any[]} keys The stack of keys.\n * @param value The value to parse.\n * @param {number} depth The depth to parse at.\n * @param {boolean} lastDepthCheck If the lastDepth check should be done for buffer draining.\n * @return {Promise} A promise resolving when the job is done.\n */\n async newOnValueJob(keys, value, depth, lastDepthCheck) {\n let flushStacks = true;\n // When we go up the stack, emit all unidentified values\n // We need to do this before the new job, because the new job may require determined values from the flushed jobs.\n if (lastDepthCheck && depth < this.lastDepth) {\n // Check if we had any RDF lists that need to be terminated with an rdf:nil\n const listPointer = this.parsingContext.listPointerStack[this.lastDepth];\n if (listPointer) {\n // Terminate the list if the had at least one value\n if (listPointer.value) {\n this.push(this.util.dataFactory.quad(listPointer.value, this.util.rdfRest, this.util.rdfNil, this.util.getDefaultGraph()));\n }\n // Add the list id to the id stack, so it can be used higher up in the stack\n listPointer.listId.listHead = true;\n this.parsingContext.idStack[listPointer.listRootDepth + 1] = [listPointer.listId];\n this.parsingContext.listPointerStack.splice(this.lastDepth, 1);\n }\n // Flush the buffer for lastDepth\n // If the parent key is a special type of container, postpone flushing until that parent is handled.\n if (await EntryHandlerContainer_1.EntryHandlerContainer.isBufferableContainerHandler(this.parsingContext, this.lastKeys, this.lastDepth)) {\n this.parsingContext.pendingContainerFlushBuffers\n .push({ depth: this.lastDepth, keys: this.lastKeys.slice(0, this.lastKeys.length) });\n flushStacks = false;\n }\n else {\n await this.flushBuffer(this.lastDepth, this.lastKeys);\n }\n }\n const key = await this.util.unaliasKeyword(keys[depth], keys, depth);\n const parentKey = await this.util.unaliasKeywordParent(keys, depth);\n this.parsingContext.emittedStack[depth] = true;\n let handleKey = true;\n // Keywords inside @reverse is not allowed apart from @context\n if (jsonld_context_parser_1.Util.isValidKeyword(key) && parentKey === '@reverse' && key !== '@context') {\n this.emit('error', new jsonld_context_parser_1.ErrorCoded(`Found the @id '${value}' inside an @reverse property`, jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_PROPERTY_MAP));\n }\n // Skip further processing if one of the parent nodes are invalid.\n // We use the validationStack to reuse validation results that were produced before with common key stacks.\n let inProperty = false;\n if (this.parsingContext.validationStack.length > 1) {\n inProperty = this.parsingContext.validationStack[this.parsingContext.validationStack.length - 1].property;\n }\n for (let i = Math.max(1, this.parsingContext.validationStack.length - 1); i < keys.length - 1; i++) {\n const validationResult = this.parsingContext.validationStack[i]\n || (this.parsingContext.validationStack[i] = await this.validateKey(keys.slice(0, i + 1), i, inProperty));\n if (!validationResult.valid) {\n this.parsingContext.emittedStack[depth] = false;\n handleKey = false;\n break;\n }\n else if (!inProperty && validationResult.property) {\n inProperty = true;\n }\n }\n // Skip further processing if this node is part of a literal\n if (await this.util.isLiteral(keys, depth)) {\n handleKey = false;\n }\n // Get handler\n if (handleKey) {\n for (const entryHandler of JsonLdParser.ENTRY_HANDLERS) {\n const testResult = await entryHandler.test(this.parsingContext, this.util, key, keys, depth);\n if (testResult) {\n // Pass processing over to the handler\n await entryHandler.handle(this.parsingContext, this.util, key, keys, value, depth, testResult);\n // Flag that this depth is processed\n if (entryHandler.isStackProcessor()) {\n this.parsingContext.processingStack[depth] = true;\n }\n break;\n }\n }\n }\n // Validate value indexes on the root.\n if (depth === 0 && Array.isArray(value)) {\n await this.util.validateValueIndexes(value);\n }\n // When we go up the stack, flush the old stack\n if (flushStacks && depth < this.lastDepth) {\n // Reset our stacks\n this.flushStacks(this.lastDepth);\n }\n this.lastDepth = depth;\n this.lastKeys = keys;\n // Clear the keyword cache at this depth, and everything underneath.\n this.parsingContext.unaliasedKeywordCacheStack.splice(depth - 1);\n }\n /**\n * Flush the processing stacks at the given depth.\n * @param {number} depth A depth.\n */\n flushStacks(depth) {\n this.parsingContext.processingStack.splice(depth, 1);\n this.parsingContext.processingType.splice(depth, 1);\n this.parsingContext.emittedStack.splice(depth, 1);\n this.parsingContext.idStack.splice(depth, 1);\n this.parsingContext.graphStack.splice(depth + 1, 1);\n this.parsingContext.graphContainerTermStack.splice(depth, 1);\n this.parsingContext.jsonLiteralStack.splice(depth, 1);\n this.parsingContext.validationStack.splice(depth - 1, 2);\n this.parsingContext.literalStack.splice(depth, this.parsingContext.literalStack.length - depth);\n this.parsingContext.annotationsBuffer.splice(depth, 1);\n // TODO: just like the literal stack, splice all other stack until the end as well?\n }\n /**\n * Flush buffers for the given depth.\n *\n * This should be called after the last entry at a given depth was processed.\n *\n * @param {number} depth A depth.\n * @param {any[]} keys A stack of keys.\n * @return {Promise} A promise resolving if flushing is done.\n */\n async flushBuffer(depth, keys) {\n let subjects = this.parsingContext.idStack[depth];\n const subjectsWasDefined = !!subjects;\n if (!subjectsWasDefined) {\n subjects = this.parsingContext.idStack[depth] = [this.util.dataFactory.blankNode()];\n }\n // Flush values at this level\n const valueBuffer = this.parsingContext.unidentifiedValuesBuffer[depth];\n if (valueBuffer) {\n for (const subject of subjects) {\n const depthOffsetGraph = await this.util.getDepthOffsetGraph(depth, keys);\n const graphs = (this.parsingContext.graphStack[depth] || depthOffsetGraph >= 0)\n ? this.parsingContext.idStack[depth - depthOffsetGraph - 1]\n : [await this.util.getGraphContainerValue(keys, depth)];\n if (graphs) {\n for (const graph of graphs) {\n // Flush values to stream if the graph @id is known\n this.parsingContext.emittedStack[depth] = true;\n for (const bufferedValue of valueBuffer) {\n this.util.emitQuadChecked(depth, subject, bufferedValue.predicate, bufferedValue.object, graph, bufferedValue.reverse, bufferedValue.isEmbedded);\n }\n }\n }\n else {\n // Place the values in the graphs buffer if the graph @id is not yet known\n const subGraphBuffer = this.parsingContext.getUnidentifiedGraphBufferSafe(depth - await this.util.getDepthOffsetGraph(depth, keys) - 1);\n for (const bufferedValue of valueBuffer) {\n if (bufferedValue.reverse) {\n subGraphBuffer.push({\n object: subject,\n predicate: bufferedValue.predicate,\n subject: bufferedValue.object,\n isEmbedded: bufferedValue.isEmbedded,\n });\n }\n else {\n subGraphBuffer.push({\n object: bufferedValue.object,\n predicate: bufferedValue.predicate,\n subject,\n isEmbedded: bufferedValue.isEmbedded,\n });\n }\n }\n }\n }\n this.parsingContext.unidentifiedValuesBuffer.splice(depth, 1);\n this.parsingContext.literalStack.splice(depth, 1);\n this.parsingContext.jsonLiteralStack.splice(depth, 1);\n }\n // Flush graphs at this level\n const graphBuffer = this.parsingContext.unidentifiedGraphsBuffer[depth];\n if (graphBuffer) {\n for (const subject of subjects) {\n // A @graph statement at the root without @id relates to the default graph,\n // unless there are top-level properties,\n // others relate to blank nodes.\n const graph = depth === 1 && subject.termType === 'BlankNode'\n && !this.parsingContext.topLevelProperties ? this.util.getDefaultGraph() : subject;\n this.parsingContext.emittedStack[depth] = true;\n for (const bufferedValue of graphBuffer) {\n this.parsingContext.emitQuad(depth, this.util.dataFactory.quad(bufferedValue.subject, bufferedValue.predicate, bufferedValue.object, graph));\n }\n }\n this.parsingContext.unidentifiedGraphsBuffer.splice(depth, 1);\n }\n // Push unhandled annotations up the stack as nested annotations\n const annotationsBuffer = this.parsingContext.annotationsBuffer[depth];\n if (annotationsBuffer) {\n // Throw an error if we reach the top, and still have annotations\n if (annotationsBuffer.length > 0 && depth === 1) {\n this.parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Annotations can not be made on top-level nodes`, jsonld_context_parser_1.ERROR_CODES.INVALID_ANNOTATION));\n }\n // Pass the annotations buffer up one level in the stack\n const annotationsBufferParent = this.parsingContext.getAnnotationsBufferSafe(depth - 1);\n for (const annotation of annotationsBuffer) {\n annotationsBufferParent.push(annotation);\n }\n delete this.parsingContext.annotationsBuffer[depth];\n }\n }\n /**\n * Check if at least one {@link IEntryHandler} validates the entry to true.\n * @param {any[]} keys A stack of keys.\n * @param {number} depth A depth.\n * @param {boolean} inProperty If the current depth is part of a valid property node.\n * @return {Promise<{ valid: boolean, property: boolean }>} A promise resolving to true or false.\n */\n async validateKey(keys, depth, inProperty) {\n for (const entryHandler of JsonLdParser.ENTRY_HANDLERS) {\n if (await entryHandler.validate(this.parsingContext, this.util, keys, depth, inProperty)) {\n return { valid: true, property: inProperty || entryHandler.isPropertyHandler() };\n }\n }\n return { valid: false, property: false };\n }\n /**\n * Attach all required listeners to the JSON parser.\n *\n * This should only be called once.\n */\n attachJsonParserListeners() {\n // Listen to json parser events\n this.jsonParser.onValue = (value) => {\n const depth = this.jsonParser.stack.length;\n const keys = (new Array(depth + 1).fill(0)).map((v, i) => {\n return i === depth ? this.jsonParser.key : this.jsonParser.stack[i].key;\n });\n if (!this.isParsingContextInner(depth)) { // Don't parse inner nodes inside @context\n const valueJobCb = () => this.newOnValueJob(keys, value, depth, true);\n if (!this.parsingContext.streamingProfile\n && !this.parsingContext.contextTree.getContext(keys.slice(0, -1))) {\n // If an out-of-order context is allowed,\n // we have to buffer everything.\n // We store jobs for @context's and @type's separately,\n // because at the end, we have to process them first.\n // We also handle @type because these *could* introduce a type-scoped context.\n if (keys[depth] === '@context') {\n let jobs = this.contextJobs[depth];\n if (!jobs) {\n jobs = this.contextJobs[depth] = [];\n }\n jobs.push(valueJobCb);\n }\n else {\n this.contextAwaitingJobs.push({ job: valueJobCb, keys, depth });\n }\n }\n else {\n // Make sure that our value jobs are chained synchronously\n this.lastOnValueJob = this.lastOnValueJob.then(valueJobCb);\n }\n // Execute all buffered jobs on deeper levels\n if (!this.parsingContext.streamingProfile && depth === 0) {\n this.lastOnValueJob = this.lastOnValueJob\n .then(() => this.executeBufferedJobs());\n }\n }\n };\n this.jsonParser.onError = (error) => {\n this.emit('error', error);\n };\n }\n /**\n * Check if the parser is currently parsing an element that is part of an @context entry.\n * @param {number} depth A depth.\n * @return {boolean} A boolean.\n */\n isParsingContextInner(depth) {\n for (let i = depth; i > 0; i--) {\n if (this.jsonParser.stack[i - 1].key === '@context') {\n return true;\n }\n }\n return false;\n }\n /**\n * Execute all buffered jobs.\n * @return {Promise} A promise resolving if all jobs are finished.\n */\n async executeBufferedJobs() {\n // Handle context jobs\n for (const jobs of this.contextJobs) {\n if (jobs) {\n for (const job of jobs) {\n await job();\n }\n }\n }\n // Clear the keyword cache.\n this.parsingContext.unaliasedKeywordCacheStack.splice(0);\n const contextAwaitingJobs = [];\n for (const job of this.contextAwaitingJobs) {\n if ((await this.util.unaliasKeyword(job.keys[job.depth], job.keys, job.depth, true)) === '@type'\n || typeof job.keys[job.depth] === 'number' && (await this.util.unaliasKeyword(job.keys[job.depth - 1], job.keys, job.depth - 1, true)) === '@type') { // Also capture @type with array values\n // Remove @type from keys, because we want it to apply to parent later on\n this.typeJobs.push({ job: job.job, keys: job.keys.slice(0, job.keys.length - 1) });\n }\n else {\n contextAwaitingJobs.push(job);\n }\n }\n // Handle non-context jobs\n for (const job of contextAwaitingJobs) {\n // Check if we have a type (with possible type-scoped context) that should be handled before.\n // We check all possible parent nodes for the current job, from root to leaves.\n if (this.typeJobs.length > 0) {\n // First collect all applicable type jobs\n const applicableTypeJobs = [];\n const applicableTypeJobIds = [];\n for (let i = 0; i < this.typeJobs.length; i++) {\n const typeJob = this.typeJobs[i];\n if (Util_1.Util.isPrefixArray(typeJob.keys, job.keys)) {\n applicableTypeJobs.push(typeJob);\n applicableTypeJobIds.push(i);\n }\n }\n // Next, sort the jobs from short to long key length (to ensure types higher up in the tree to be handled first)\n const sortedTypeJobs = applicableTypeJobs.sort((job1, job2) => job1.keys.length - job2.keys.length);\n // Finally, execute the jobs in order\n for (const typeJob of sortedTypeJobs) {\n await typeJob.job();\n }\n // Remove the executed type jobs\n // Sort first, so we can efficiently splice\n const sortedApplicableTypeJobIds = applicableTypeJobIds.sort().reverse();\n for (const jobId of sortedApplicableTypeJobIds) {\n this.typeJobs.splice(jobId, 1);\n }\n }\n await job.job();\n }\n }\n}\nJsonLdParser.DEFAULT_PROCESSING_MODE = '1.1';\nJsonLdParser.ENTRY_HANDLERS = [\n new EntryHandlerArrayValue_1.EntryHandlerArrayValue(),\n new EntryHandlerKeywordContext_1.EntryHandlerKeywordContext(),\n new EntryHandlerKeywordId_1.EntryHandlerKeywordId(),\n new EntryHandlerKeywordIncluded_1.EntryHandlerKeywordIncluded(),\n new EntryHandlerKeywordGraph_1.EntryHandlerKeywordGraph(),\n new EntryHandlerKeywordNest_1.EntryHandlerKeywordNest(),\n new EntryHandlerKeywordType_1.EntryHandlerKeywordType(),\n new EntryHandlerKeywordValue_1.EntryHandlerKeywordValue(),\n new EntryHandlerKeywordAnnotation_1.EntryHandlerKeywordAnnotation(),\n new EntryHandlerContainer_1.EntryHandlerContainer(),\n new EntryHandlerKeywordUnknownFallback_1.EntryHandlerKeywordUnknownFallback(),\n new EntryHandlerPredicate_1.EntryHandlerPredicate(),\n new EntryHandlerInvalidFallback_1.EntryHandlerInvalidFallback(),\n];\nexports.JsonLdParser = JsonLdParser;\n//# sourceMappingURL=JsonLdParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParsingContext = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst ErrorCoded_1 = require(\"jsonld-context-parser/lib/ErrorCoded\");\nconst ContextTree_1 = require(\"./ContextTree\");\nconst JsonLdParser_1 = require(\"./JsonLdParser\");\n/**\n * Data holder for parsing information.\n */\nclass ParsingContext {\n constructor(options) {\n // Initialize settings\n this.contextParser = new jsonld_context_parser_1.ContextParser({ documentLoader: options.documentLoader, skipValidation: options.skipContextValidation });\n this.streamingProfile = !!options.streamingProfile;\n this.baseIRI = options.baseIRI;\n this.produceGeneralizedRdf = !!options.produceGeneralizedRdf;\n this.allowSubjectList = !!options.allowSubjectList;\n this.processingMode = options.processingMode || JsonLdParser_1.JsonLdParser.DEFAULT_PROCESSING_MODE;\n this.strictValues = !!options.strictValues;\n this.validateValueIndexes = !!options.validateValueIndexes;\n this.defaultGraph = options.defaultGraph;\n this.rdfDirection = options.rdfDirection;\n this.normalizeLanguageTags = options.normalizeLanguageTags;\n this.streamingProfileAllowOutOfOrderPlainType = options.streamingProfileAllowOutOfOrderPlainType;\n this.rdfstar = options.rdfstar !== false;\n this.rdfstarReverseInEmbedded = options.rdfstarReverseInEmbedded;\n this.topLevelProperties = false;\n this.activeProcessingMode = parseFloat(this.processingMode);\n // Initialize stacks\n this.processingStack = [];\n this.processingType = [];\n this.emittedStack = [];\n this.idStack = [];\n this.graphStack = [];\n this.graphContainerTermStack = [];\n this.listPointerStack = [];\n this.contextTree = new ContextTree_1.ContextTree();\n this.literalStack = [];\n this.validationStack = [];\n this.unaliasedKeywordCacheStack = [];\n this.jsonLiteralStack = [];\n this.unidentifiedValuesBuffer = [];\n this.unidentifiedGraphsBuffer = [];\n this.annotationsBuffer = [];\n this.pendingContainerFlushBuffers = [];\n this.parser = options.parser;\n if (options.context) {\n this.rootContext = this.parseContext(options.context);\n this.rootContext.then((context) => this.validateContext(context));\n }\n else {\n this.rootContext = Promise.resolve(new jsonld_context_parser_1.JsonLdContextNormalized(this.baseIRI ? { '@base': this.baseIRI, '@__baseDocument': true } : {}));\n }\n }\n /**\n * Parse the given context with the configured options.\n * @param {JsonLdContext} context A context to parse.\n * @param {JsonLdContextNormalized} parentContext An optional parent context.\n * @param {boolean} ignoreProtection If @protected term checks should be ignored.\n * @return {Promise} A promise resolving to the parsed context.\n */\n async parseContext(context, parentContext, ignoreProtection) {\n return this.contextParser.parse(context, {\n baseIRI: this.baseIRI,\n ignoreProtection,\n normalizeLanguageTags: this.normalizeLanguageTags,\n parentContext,\n processingMode: this.activeProcessingMode,\n });\n }\n /**\n * Check if the given context is valid.\n * If not, an error will be thrown.\n * @param {JsonLdContextNormalized} context A context.\n */\n validateContext(context) {\n const activeVersion = context.getContextRaw()['@version'];\n if (activeVersion) {\n if (this.activeProcessingMode && activeVersion > this.activeProcessingMode) {\n throw new ErrorCoded_1.ErrorCoded(`Unsupported JSON-LD version '${activeVersion}' under active processing mode ${this.activeProcessingMode}.`, ErrorCoded_1.ERROR_CODES.PROCESSING_MODE_CONFLICT);\n }\n else {\n if (this.activeProcessingMode && activeVersion < this.activeProcessingMode) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid JSON-LD version ${activeVersion} under active processing mode ${this.activeProcessingMode}.`, ErrorCoded_1.ERROR_CODES.INVALID_VERSION_VALUE);\n }\n this.activeProcessingMode = activeVersion;\n }\n }\n }\n /**\n * Get the context at the given path.\n * @param {keys} keys The path of keys to get the context at.\n * @param {number} offset The path offset, defaults to 1.\n * @return {Promise} A promise resolving to a context.\n */\n async getContext(keys, offset = 1) {\n const keysOriginal = keys;\n // Ignore array keys at the end\n while (typeof keys[keys.length - 1] === 'number') {\n keys = keys.slice(0, keys.length - 1);\n }\n // Handle offset on keys\n if (offset) {\n keys = keys.slice(0, -offset);\n }\n // Determine the closest context\n const contextData = await this.getContextPropagationAware(keys);\n const context = contextData.context;\n // Process property-scoped contexts (high-to-low)\n let contextRaw = context.getContextRaw();\n for (let i = contextData.depth; i < keysOriginal.length - offset; i++) {\n const key = keysOriginal[i];\n const contextKeyEntry = contextRaw[key];\n if (contextKeyEntry && typeof contextKeyEntry === 'object' && '@context' in contextKeyEntry) {\n const scopedContext = (await this.parseContext(contextKeyEntry, contextRaw, true)).getContextRaw();\n const propagate = !(key in scopedContext)\n || scopedContext[key]['@context']['@propagate']; // Propagation is true by default\n if (propagate !== false || i === keysOriginal.length - 1 - offset) {\n contextRaw = Object.assign({}, scopedContext);\n // Clean up final context\n delete contextRaw['@propagate'];\n contextRaw[key] = Object.assign({}, contextRaw[key]);\n if ('@id' in contextKeyEntry) {\n contextRaw[key]['@id'] = contextKeyEntry['@id'];\n }\n delete contextRaw[key]['@context'];\n if (propagate !== false) {\n this.contextTree.setContext(keysOriginal.slice(0, i + offset), Promise.resolve(new jsonld_context_parser_1.JsonLdContextNormalized(contextRaw)));\n }\n }\n }\n }\n return new jsonld_context_parser_1.JsonLdContextNormalized(contextRaw);\n }\n /**\n * Get the context at the given path.\n * Non-propagating contexts will be skipped,\n * unless the context at that exact depth is retrieved.\n *\n * This ONLY takes into account context propagation logic,\n * so this should usually not be called directly,\n * call {@link #getContext} instead.\n *\n * @param keys The path of keys to get the context at.\n * @return {Promise<{ context: JsonLdContextNormalized, depth: number }>} A context and its depth.\n */\n async getContextPropagationAware(keys) {\n const originalDepth = keys.length;\n let contextData = null;\n let hasApplicablePropertyScopedContext;\n do {\n hasApplicablePropertyScopedContext = false;\n if (contextData && '@__propagateFallback' in contextData.context.getContextRaw()) {\n // If a propagation fallback context has been set,\n // fallback to that context and retry for the same depth.\n contextData.context = new jsonld_context_parser_1.JsonLdContextNormalized(contextData.context.getContextRaw()['@__propagateFallback']);\n }\n else {\n if (contextData) {\n // If we had a previous iteration, jump to the parent of context depth.\n // We must do this because once we get here, last context had propagation disabled,\n // so we check its first parent instead.\n keys = keys.slice(0, contextData.depth - 1);\n }\n contextData = await this.contextTree.getContext(keys) || { context: await this.rootContext, depth: 0 };\n }\n // Allow non-propagating contexts to propagate one level deeper\n // if it defines a property-scoped context that is applicable for the current key.\n // @see https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc012\n const lastKey = keys[keys.length - 1];\n if (lastKey in contextData.context.getContextRaw()) {\n const lastKeyValue = contextData.context.getContextRaw()[lastKey];\n if (lastKeyValue && typeof lastKeyValue === 'object' && '@context' in lastKeyValue) {\n hasApplicablePropertyScopedContext = true;\n }\n }\n } while (contextData.depth > 0 // Root context has a special case\n && contextData.context.getContextRaw()['@propagate'] === false // Stop loop if propagation is true\n && contextData.depth !== originalDepth // Stop loop if requesting exact depth of non-propagating\n && !hasApplicablePropertyScopedContext);\n // Special case for root context that does not allow propagation.\n // Fallback to empty context in that case.\n if (contextData.depth === 0\n && contextData.context.getContextRaw()['@propagate'] === false\n && contextData.depth !== originalDepth) {\n contextData.context = new jsonld_context_parser_1.JsonLdContextNormalized({});\n }\n return contextData;\n }\n /**\n * Start a new job for parsing the given value.\n * @param {any[]} keys The stack of keys.\n * @param value The value to parse.\n * @param {number} depth The depth to parse at.\n * @param {boolean} lastDepthCheck If the lastDepth check should be done for buffer draining.\n * @return {Promise} A promise resolving when the job is done.\n */\n async newOnValueJob(keys, value, depth, lastDepthCheck) {\n await this.parser.newOnValueJob(keys, value, depth, lastDepthCheck);\n }\n /**\n * Flush the pending container flush buffers\n * @return {boolean} If any pending buffers were flushed.\n */\n async handlePendingContainerFlushBuffers() {\n if (this.pendingContainerFlushBuffers.length > 0) {\n for (const pendingFlushBuffer of this.pendingContainerFlushBuffers) {\n await this.parser.flushBuffer(pendingFlushBuffer.depth, pendingFlushBuffer.keys);\n this.parser.flushStacks(pendingFlushBuffer.depth);\n }\n this.pendingContainerFlushBuffers.splice(0, this.pendingContainerFlushBuffers.length);\n return true;\n }\n else {\n return false;\n }\n }\n /**\n * Emit the given quad into the output stream.\n * @param {number} depth The depth the quad was generated at.\n * @param {Quad} quad A quad to emit.\n */\n emitQuad(depth, quad) {\n if (depth === 1) {\n this.topLevelProperties = true;\n }\n this.parser.push(quad);\n }\n /**\n * Emit the given error into the output stream.\n * @param {Error} error An error to emit.\n */\n emitError(error) {\n this.parser.emit('error', error);\n }\n /**\n * Emit the given context into the output stream under the 'context' event.\n * @param {JsonLdContext} context A context to emit.\n */\n emitContext(context) {\n this.parser.emit('context', context);\n }\n /**\n * Safely get or create the depth value of {@link ParsingContext.unidentifiedValuesBuffer}.\n * @param {number} depth A depth.\n * @return {{predicate: Term; object: Term; reverse: boolean}[]} An element of\n * {@link ParsingContext.unidentifiedValuesBuffer}.\n */\n getUnidentifiedValueBufferSafe(depth) {\n let buffer = this.unidentifiedValuesBuffer[depth];\n if (!buffer) {\n buffer = [];\n this.unidentifiedValuesBuffer[depth] = buffer;\n }\n return buffer;\n }\n /**\n * Safely get or create the depth value of {@link ParsingContext.unidentifiedGraphsBuffer}.\n * @param {number} depth A depth.\n * @return {{predicate: Term; object: Term; reverse: boolean}[]} An element of\n * {@link ParsingContext.unidentifiedGraphsBuffer}.\n */\n getUnidentifiedGraphBufferSafe(depth) {\n let buffer = this.unidentifiedGraphsBuffer[depth];\n if (!buffer) {\n buffer = [];\n this.unidentifiedGraphsBuffer[depth] = buffer;\n }\n return buffer;\n }\n /**\n * Safely get or create the depth value of {@link ParsingContext.annotationsBuffer}.\n * @param {number} depth A depth.\n * @return {} An element of {@link ParsingContext.annotationsBuffer}.\n */\n getAnnotationsBufferSafe(depth) {\n let buffer = this.annotationsBuffer[depth];\n if (!buffer) {\n buffer = [];\n this.annotationsBuffer[depth] = buffer;\n }\n return buffer;\n }\n /**\n * @return IExpandOptions The expand options for the active processing mode.\n */\n getExpandOptions() {\n return ParsingContext.EXPAND_OPTIONS[this.activeProcessingMode];\n }\n /**\n * Shift the stack at the given offset to the given depth.\n *\n * This will override anything in the stack at `depth`,\n * and this will remove anything at `depth + depthOffset`\n *\n * @param depth The target depth.\n * @param depthOffset The origin depth, relative to `depth`.\n */\n shiftStack(depth, depthOffset) {\n // Copy the id stack value up one level so that the next job can access the id.\n const deeperIdStack = this.idStack[depth + depthOffset];\n if (deeperIdStack) {\n this.idStack[depth] = deeperIdStack;\n this.emittedStack[depth] = true;\n delete this.idStack[depth + depthOffset];\n }\n // Shorten key stack\n if (this.pendingContainerFlushBuffers.length) {\n for (const buffer of this.pendingContainerFlushBuffers) {\n if (buffer.depth >= depth + depthOffset) {\n buffer.depth -= depthOffset;\n buffer.keys.splice(depth, depthOffset);\n }\n }\n }\n // Splice stacks\n if (this.unidentifiedValuesBuffer[depth + depthOffset]) {\n this.unidentifiedValuesBuffer[depth] = this.unidentifiedValuesBuffer[depth + depthOffset];\n delete this.unidentifiedValuesBuffer[depth + depthOffset];\n }\n if (this.annotationsBuffer[depth + depthOffset - 1]) {\n if (!this.annotationsBuffer[depth - 1]) {\n this.annotationsBuffer[depth - 1] = [];\n }\n this.annotationsBuffer[depth - 1] = [\n ...this.annotationsBuffer[depth - 1],\n ...this.annotationsBuffer[depth + depthOffset - 1],\n ];\n delete this.annotationsBuffer[depth + depthOffset - 1];\n }\n // TODO: also do the same for other stacks\n }\n}\nParsingContext.EXPAND_OPTIONS = {\n 1.0: {\n allowPrefixForcing: false,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: false,\n },\n 1.1: {\n allowPrefixForcing: true,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: true,\n },\n};\nexports.ParsingContext = ParsingContext;\n//# sourceMappingURL=ParsingContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst EntryHandlerContainer_1 = require(\"./entryhandler/EntryHandlerContainer\");\n// tslint:disable-next-line:no-var-requires\nconst canonicalizeJson = require('canonicalize');\n/**\n * Utility functions and methods.\n */\nclass Util {\n constructor(options) {\n this.parsingContext = options.parsingContext;\n this.dataFactory = options.dataFactory || new rdf_data_factory_1.DataFactory();\n this.rdfFirst = this.dataFactory.namedNode(Util.RDF + 'first');\n this.rdfRest = this.dataFactory.namedNode(Util.RDF + 'rest');\n this.rdfNil = this.dataFactory.namedNode(Util.RDF + 'nil');\n this.rdfType = this.dataFactory.namedNode(Util.RDF + 'type');\n this.rdfJson = this.dataFactory.namedNode(Util.RDF + 'JSON');\n }\n /**\n * Helper function to get the value of a context entry,\n * or fallback to a certain value.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} contextKey A pre-defined JSON-LD key in context entries.\n * @param {string} key A context entry key.\n * @param {string} fallback A fallback value for when the given contextKey\n * could not be found in the value with the given key.\n * @return {string} The value of the given contextKey in the entry behind key in the given context,\n * or the given fallback value.\n */\n static getContextValue(context, contextKey, key, fallback) {\n const entry = context.getContextRaw()[key];\n if (!entry) {\n return fallback;\n }\n const type = entry[contextKey];\n return type === undefined ? fallback : type;\n }\n /**\n * Get the container type of the given key in the context.\n *\n * Should any context-scoping bugs should occur related to this in the future,\n * it may be required to increase the offset from the depth at which the context is retrieved by one (to 2).\n * This is because containers act 2 levels deep.\n *\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The container type.\n */\n static getContextValueContainer(context, key) {\n return Util.getContextValue(context, '@container', key, { '@set': true });\n }\n /**\n * Get the value type of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The node type.\n */\n static getContextValueType(context, key) {\n const valueType = Util.getContextValue(context, '@type', key, null);\n if (valueType === '@none') {\n return null;\n }\n return valueType;\n }\n /**\n * Get the language of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The node type.\n */\n static getContextValueLanguage(context, key) {\n return Util.getContextValue(context, '@language', key, context.getContextRaw()['@language'] || null);\n }\n /**\n * Get the direction of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The node type.\n */\n static getContextValueDirection(context, key) {\n return Util.getContextValue(context, '@direction', key, context.getContextRaw()['@direction'] || null);\n }\n /**\n * Check if the given key in the context is a reversed property.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {boolean} If the context value has a @reverse key.\n */\n static isContextValueReverse(context, key) {\n return !!Util.getContextValue(context, '@reverse', key, null);\n }\n /**\n * Get the @index of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The index.\n */\n static getContextValueIndex(context, key) {\n return Util.getContextValue(context, '@index', key, context.getContextRaw()['@index'] || null);\n }\n /**\n * Check if the given key refers to a reversed property.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key The property key.\n * @param {string} parentKey The parent key.\n * @return {boolean} If the property must be reversed.\n */\n static isPropertyReverse(context, key, parentKey) {\n // '!==' is needed because reversed properties in a @reverse container should cancel each other out.\n return parentKey === '@reverse' !== Util.isContextValueReverse(context, key);\n }\n /**\n * Check if the given key exists inside an embedded node as direct child.\n * @param {string} parentKey The parent key.\n * @return {boolean} If the property is embedded.\n */\n static isPropertyInEmbeddedNode(parentKey) {\n return parentKey === '@id';\n }\n /**\n * Check if the given key exists inside an annotation object as direct child.\n * @param {string} parentKey The parent key.\n * @return {boolean} If the property is an annotation.\n */\n static isPropertyInAnnotationObject(parentKey) {\n return parentKey === '@annotation';\n }\n /**\n * Check if the given IRI is valid.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIri(iri) {\n return iri !== null && jsonld_context_parser_1.Util.isValidIri(iri);\n }\n /**\n * Check if the given first array (needle) is a prefix of the given second array (haystack).\n * @param needle An array to check if it is a prefix.\n * @param haystack An array to look in.\n */\n static isPrefixArray(needle, haystack) {\n if (needle.length > haystack.length) {\n return false;\n }\n for (let i = 0; i < needle.length; i++) {\n if (needle[i] !== haystack[i]) {\n return false;\n }\n }\n return true;\n }\n /**\n * Make sure that @id-@index pairs are equal over all array values.\n * Reject otherwise.\n * @param {any[]} value An array value.\n * @return {Promise} A promise rejecting if conflicts are present.\n */\n async validateValueIndexes(value) {\n if (this.parsingContext.validateValueIndexes) {\n const indexHashes = {};\n for (const entry of value) {\n if (entry && typeof entry === 'object') {\n const id = entry['@id'];\n const index = entry['@index'];\n if (id && index) {\n const existingIndexValue = indexHashes[id];\n if (existingIndexValue && existingIndexValue !== index) {\n throw new jsonld_context_parser_1.ErrorCoded(`Conflicting @index value for ${id}`, jsonld_context_parser_1.ERROR_CODES.CONFLICTING_INDEXES);\n }\n indexHashes[id] = index;\n }\n }\n }\n }\n }\n /**\n * Convert a given JSON value to an RDF term.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key The current JSON key.\n * @param value A JSON value.\n * @param {number} depth The depth the value is at.\n * @param {string[]} keys The path of keys.\n * @return {Promise} An RDF term array.\n */\n async valueToTerm(context, key, value, depth, keys) {\n // Skip further processing if we have an @type: @json\n if (Util.getContextValueType(context, key) === '@json') {\n return [this.dataFactory.literal(this.valueToJsonString(value), this.rdfJson)];\n }\n const type = typeof value;\n switch (type) {\n case 'object':\n // Skip if we have a null or undefined object\n if (value === null || value === undefined) {\n return [];\n }\n // Special case for arrays\n if (Array.isArray(value)) {\n // We handle arrays at value level so we can emit earlier, so this is handled already when we get here.\n // Empty context-based lists are emitted at this place, because our streaming algorithm doesn't detect those.\n if ('@list' in Util.getContextValueContainer(context, key)) {\n if (value.length === 0) {\n return [this.rdfNil];\n }\n else {\n return this.parsingContext.idStack[depth + 1] || [];\n }\n }\n await this.validateValueIndexes(value);\n return [];\n }\n // Handle property-scoped contexts\n context = await this.getContextSelfOrPropertyScoped(context, key);\n // Handle local context in the value\n if ('@context' in value) {\n context = await this.parsingContext.parseContext(value['@context'], (await this.parsingContext.getContext(keys, 0)).getContextRaw());\n }\n // In all other cases, we have a hash\n value = await this.unaliasKeywords(value, keys, depth, context); // Un-alias potential keywords in this hash\n if ('@value' in value) {\n let val;\n let valueLanguage;\n let valueDirection;\n let valueType;\n let valueIndex; // We don't use the index, but we need to check its type for spec-compliance\n for (key in value) {\n const subValue = value[key];\n switch (key) {\n case '@value':\n val = subValue;\n break;\n case '@language':\n valueLanguage = subValue;\n break;\n case '@direction':\n valueDirection = subValue;\n break;\n case '@type':\n valueType = subValue;\n break;\n case '@index':\n valueIndex = subValue;\n break;\n case '@annotation':\n // This keyword is allowed, but is processed like normal nodes\n break;\n default:\n throw new jsonld_context_parser_1.ErrorCoded(`Unknown value entry '${key}' in @value: ${JSON.stringify(value)}`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n }\n // Skip further processing if we have an @type: @json\n if (await this.unaliasKeyword(valueType, keys, depth, true, context) === '@json') {\n return [this.dataFactory.literal(this.valueToJsonString(val), this.rdfJson)];\n }\n // Validate @value\n if (val === null) {\n return [];\n }\n if (typeof val === 'object') {\n throw new jsonld_context_parser_1.ErrorCoded(`The value of an '@value' can not be an object, got '${JSON.stringify(val)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT_VALUE);\n }\n // Validate @index\n if (this.parsingContext.validateValueIndexes && valueIndex && typeof valueIndex !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`The value of an '@index' must be a string, got '${JSON.stringify(valueIndex)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INDEX_VALUE);\n }\n // Validate @language and @direction\n if (valueLanguage) {\n if (typeof val !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`When an '@language' is set, the value of '@value' must be a string, got '${JSON.stringify(val)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_LANGUAGE_TAGGED_VALUE);\n }\n if (!jsonld_context_parser_1.ContextParser.validateLanguage(valueLanguage, this.parsingContext.strictValues, jsonld_context_parser_1.ERROR_CODES.INVALID_LANGUAGE_TAGGED_STRING)) {\n return [];\n }\n // Language tags are always normalized to lowercase in 1.0.\n if (this.parsingContext.normalizeLanguageTags || this.parsingContext.activeProcessingMode === 1.0) {\n valueLanguage = valueLanguage.toLowerCase();\n }\n }\n if (valueDirection) {\n if (typeof val !== 'string') {\n throw new Error(`When an '@direction' is set, the value of '@value' must be a string, got '${JSON.stringify(val)}'`);\n }\n if (!jsonld_context_parser_1.ContextParser.validateDirection(valueDirection, this.parsingContext.strictValues)) {\n return [];\n }\n }\n // Check @language and @direction\n if (valueLanguage && valueDirection && this.parsingContext.rdfDirection) {\n if (valueType) {\n throw new jsonld_context_parser_1.ErrorCoded(`Can not have '@language', '@direction' and '@type' in a value: '${JSON\n .stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n return this.nullableTermToArray(this\n .createLanguageDirectionLiteral(depth, val, valueLanguage, valueDirection));\n }\n else if (valueLanguage) { // Check @language\n if (valueType) {\n throw new jsonld_context_parser_1.ErrorCoded(`Can not have both '@language' and '@type' in a value: '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n return [this.dataFactory.literal(val, valueLanguage)];\n }\n else if (valueDirection && this.parsingContext.rdfDirection) { // Check @direction\n if (valueType) {\n throw new jsonld_context_parser_1.ErrorCoded(`Can not have both '@direction' and '@type' in a value: '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n return this.nullableTermToArray(this\n .createLanguageDirectionLiteral(depth, val, valueLanguage, valueDirection));\n }\n else if (valueType) { // Validate @type\n if (typeof valueType !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(valueType)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPED_VALUE);\n }\n const typeTerm = this.createVocabOrBaseTerm(context, valueType);\n if (!typeTerm) {\n throw new jsonld_context_parser_1.ErrorCoded(`Invalid '@type' value, got '${JSON.stringify(valueType)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPED_VALUE);\n }\n if (typeTerm.termType !== 'NamedNode') {\n throw new jsonld_context_parser_1.ErrorCoded(`Illegal value type (${typeTerm.termType}): ${valueType}`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPED_VALUE);\n }\n return [this.dataFactory.literal(val, typeTerm)];\n }\n // We don't pass the context, because context-based things like @language should be ignored\n return await this.valueToTerm(new jsonld_context_parser_1.JsonLdContextNormalized({}), key, val, depth, keys);\n }\n else if ('@set' in value) {\n // No other entries are allow in this value\n if (Object.keys(value).length > 1) {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal neighbouring entries next to @set for key: '${key}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);\n }\n // No need to do anything here, this is handled at the deeper level.\n return [];\n }\n else if ('@list' in value) {\n // No other entries are allowed in this value\n if (Object.keys(value).length > 1) {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${key}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);\n }\n const listValue = value[\"@list\"];\n // We handle lists at value level so we can emit earlier, so this is handled already when we get here.\n // Empty anonymous lists are emitted at this place, because our streaming algorithm doesn't detect those.\n if (Array.isArray(listValue)) {\n if (listValue.length === 0) {\n return [this.rdfNil];\n }\n else {\n return this.parsingContext.idStack[depth + 1] || [];\n }\n }\n else {\n // We only have a single list element here, so emit this directly as single element\n return await this.valueToTerm(await this.parsingContext.getContext(keys), key, listValue, depth - 1, keys.slice(0, -1));\n }\n }\n else if ('@reverse' in value && typeof value['@reverse'] === 'boolean') {\n // We handle reverse properties at value level so we can emit earlier,\n // so this is handled already when we get here.\n return [];\n }\n else if ('@graph' in Util.getContextValueContainer(await this.parsingContext.getContext(keys), key)) {\n // We are processing a graph container\n const graphContainerEntries = this.parsingContext.graphContainerTermStack[depth + 1];\n return graphContainerEntries ? Object.values(graphContainerEntries) : [this.dataFactory.blankNode()];\n }\n else if (\"@id\" in value) {\n // Use deeper context if the value node contains other properties next to @id.\n if (Object.keys(value).length > 1) {\n context = await this.parsingContext.getContext(keys, 0);\n }\n // Handle local context in the value\n if ('@context' in value) {\n context = await this.parsingContext.parseContext(value['@context'], context.getContextRaw());\n }\n if (value[\"@type\"] === '@vocab') {\n return this.nullableTermToArray(this.createVocabOrBaseTerm(context, value[\"@id\"]));\n }\n else {\n const valueId = value[\"@id\"];\n let valueTerm;\n if (typeof valueId === 'object') {\n if (this.parsingContext.rdfstar) {\n valueTerm = this.parsingContext.idStack[depth + 1][0];\n }\n else {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal @id '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_ID_VALUE);\n }\n }\n else {\n valueTerm = this.resourceToTerm(context, valueId);\n }\n return this.nullableTermToArray(valueTerm);\n }\n }\n else {\n // Only make a blank node if at least one triple was emitted at the value's level.\n if (this.parsingContext.emittedStack[depth + 1]\n || (value && typeof value === 'object' && Object.keys(value).length === 0)) {\n return (this.parsingContext.idStack[depth + 1]\n || (this.parsingContext.idStack[depth + 1] = [this.dataFactory.blankNode()]));\n }\n else {\n return [];\n }\n }\n case 'string':\n return this.nullableTermToArray(this.stringValueToTerm(depth, await this.getContextSelfOrPropertyScoped(context, key), key, value, null));\n case 'boolean':\n return this.nullableTermToArray(this.stringValueToTerm(depth, await this.getContextSelfOrPropertyScoped(context, key), key, Boolean(value).toString(), this.dataFactory.namedNode(Util.XSD_BOOLEAN)));\n case 'number':\n return this.nullableTermToArray(this.stringValueToTerm(depth, await this.getContextSelfOrPropertyScoped(context, key), key, value, this.dataFactory.namedNode(value % 1 === 0 && value < 1e21 ? Util.XSD_INTEGER : Util.XSD_DOUBLE)));\n default:\n this.parsingContext.emitError(new Error(`Could not determine the RDF type of a ${type}`));\n return [];\n }\n }\n /**\n * If the context defines a property-scoped context for the given key,\n * that context will be returned.\n * Otherwise, the given context will be returned as-is.\n *\n * This should be used for valueToTerm cases that are not objects.\n * @param context A context.\n * @param key A JSON key.\n */\n async getContextSelfOrPropertyScoped(context, key) {\n const contextKeyEntry = context.getContextRaw()[key];\n if (contextKeyEntry && typeof contextKeyEntry === 'object' && '@context' in contextKeyEntry) {\n context = await this.parsingContext.parseContext(contextKeyEntry, context.getContextRaw(), true);\n }\n return context;\n }\n /**\n * If the given term is null, return an empty array, otherwise return an array with the single given term.\n * @param term A term.\n */\n nullableTermToArray(term) {\n return term ? [term] : [];\n }\n /**\n * Convert a given JSON key to an RDF predicate term,\n * based on @vocab.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param key A JSON key.\n * @return {RDF.NamedNode} An RDF named node.\n */\n predicateToTerm(context, key) {\n const expanded = context.expandTerm(key, true, this.parsingContext.getExpandOptions());\n // Immediately return if the predicate was disabled in the context\n if (!expanded) {\n return null;\n }\n // Check if the predicate is a blank node\n if (expanded[0] === '_' && expanded[1] === ':') {\n if (this.parsingContext.produceGeneralizedRdf) {\n return this.dataFactory.blankNode(expanded.substr(2));\n }\n else {\n return null;\n }\n }\n // Check if the predicate is a valid IRI\n if (Util.isValidIri(expanded)) {\n return this.dataFactory.namedNode(expanded);\n }\n else {\n if (expanded && this.parsingContext.strictValues) {\n this.parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Invalid predicate IRI: ${expanded}`, jsonld_context_parser_1.ERROR_CODES.INVALID_IRI_MAPPING));\n }\n else {\n return null;\n }\n }\n return null;\n }\n /**\n * Convert a given JSON key to an RDF resource term or blank node,\n * based on @base.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param key A JSON key.\n * @return {RDF.NamedNode} An RDF named node or null.\n */\n resourceToTerm(context, key) {\n if (key.startsWith('_:')) {\n return this.dataFactory.blankNode(key.substr(2));\n }\n const iri = context.expandTerm(key, false, this.parsingContext.getExpandOptions());\n if (!Util.isValidIri(iri)) {\n if (iri && this.parsingContext.strictValues) {\n this.parsingContext.emitError(new Error(`Invalid resource IRI: ${iri}`));\n }\n else {\n return null;\n }\n }\n return this.dataFactory.namedNode(iri);\n }\n /**\n * Convert a given JSON key to an RDF resource term.\n * It will do this based on the @vocab,\n * and fallback to @base.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param key A JSON key.\n * @return {RDF.NamedNode} An RDF named node or null.\n */\n createVocabOrBaseTerm(context, key) {\n if (key.startsWith('_:')) {\n return this.dataFactory.blankNode(key.substr(2));\n }\n const expandOptions = this.parsingContext.getExpandOptions();\n let expanded = context.expandTerm(key, true, expandOptions);\n if (expanded === key) {\n expanded = context.expandTerm(key, false, expandOptions);\n }\n if (!Util.isValidIri(expanded)) {\n if (expanded && this.parsingContext.strictValues && !expanded.startsWith('@')) {\n this.parsingContext.emitError(new Error(`Invalid term IRI: ${expanded}`));\n }\n else {\n return null;\n }\n }\n return this.dataFactory.namedNode(expanded);\n }\n /**\n * Ensure that the given value becomes a string.\n * @param {string | number} value A string or number.\n * @param {NamedNode} datatype The intended datatype.\n * @return {string} The returned string.\n */\n intToString(value, datatype) {\n if (typeof value === 'number') {\n if (Number.isFinite(value)) {\n const isInteger = value % 1 === 0;\n if (isInteger && (!datatype || datatype.value !== Util.XSD_DOUBLE)) {\n return Number(value).toString();\n }\n else {\n return value.toExponential(15).replace(/(\\d)0*e\\+?/, '$1E');\n }\n }\n else {\n return value > 0 ? 'INF' : '-INF';\n }\n }\n else {\n return value;\n }\n }\n /**\n * Convert a given JSON string value to an RDF term.\n * @param {number} depth The current stack depth.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key The current JSON key.\n * @param {string} value A JSON value.\n * @param {NamedNode} defaultDatatype The default datatype for the given value.\n * @return {RDF.Term} An RDF term or null.\n */\n stringValueToTerm(depth, context, key, value, defaultDatatype) {\n // Check the datatype from the context\n const contextType = Util.getContextValueType(context, key);\n if (contextType) {\n if (contextType === '@id') {\n if (!defaultDatatype) {\n return this.resourceToTerm(context, this.intToString(value, defaultDatatype));\n }\n }\n else if (contextType === '@vocab') {\n if (!defaultDatatype) {\n return this.createVocabOrBaseTerm(context, this.intToString(value, defaultDatatype));\n }\n }\n else {\n defaultDatatype = this.dataFactory.namedNode(contextType);\n }\n }\n // If we don't find such a datatype, check the language from the context\n if (!defaultDatatype) {\n const contextLanguage = Util.getContextValueLanguage(context, key);\n const contextDirection = Util.getContextValueDirection(context, key);\n if (contextDirection && this.parsingContext.rdfDirection) {\n return this.createLanguageDirectionLiteral(depth, this.intToString(value, defaultDatatype), contextLanguage, contextDirection);\n }\n else {\n return this.dataFactory.literal(this.intToString(value, defaultDatatype), contextLanguage);\n }\n }\n // If all else fails, make a literal based on the default content type\n return this.dataFactory.literal(this.intToString(value, defaultDatatype), defaultDatatype);\n }\n /**\n * Create a literal for the given value with the given language and direction.\n * Auxiliary quads may be emitted.\n * @param {number} depth The current stack depth.\n * @param {string} value A string value.\n * @param {string} language A language tag.\n * @param {string} direction A direction.\n * @return {Term} An RDF term.\n */\n createLanguageDirectionLiteral(depth, value, language, direction) {\n if (this.parsingContext.rdfDirection === 'i18n-datatype') {\n // Create a datatyped literal, by encoding the language and direction into https://www.w3.org/ns/i18n#.\n if (!language) {\n language = '';\n }\n return this.dataFactory.literal(value, this.dataFactory.namedNode(`https://www.w3.org/ns/i18n#${language}_${direction}`));\n }\n else {\n // Reify the literal.\n const valueNode = this.dataFactory.blankNode();\n const graph = this.getDefaultGraph();\n this.parsingContext.emitQuad(depth, this.dataFactory.quad(valueNode, this.dataFactory.namedNode(Util.RDF + 'value'), this.dataFactory.literal(value), graph));\n if (language) {\n this.parsingContext.emitQuad(depth, this.dataFactory.quad(valueNode, this.dataFactory.namedNode(Util.RDF + 'language'), this.dataFactory.literal(language), graph));\n }\n this.parsingContext.emitQuad(depth, this.dataFactory.quad(valueNode, this.dataFactory.namedNode(Util.RDF + 'direction'), this.dataFactory.literal(direction), graph));\n return valueNode;\n }\n }\n /**\n * Stringify the given JSON object to a canonical JSON string.\n * @param value Any valid JSON value.\n * @return {string} A canonical JSON string.\n */\n valueToJsonString(value) {\n return canonicalizeJson(value);\n }\n /**\n * If the key is not a keyword, try to check if it is an alias for a keyword,\n * and if so, un-alias it.\n * @param {string} key A key, can be falsy.\n * @param {string[]} keys The path of keys.\n * @param {number} depth The depth to\n * @param {boolean} disableCache If the cache should be disabled\n * @param {JsonLdContextNormalized} context A context to unalias with,\n * will fallback to retrieving the context for the given keys.\n * @return {Promise} A promise resolving to the key itself, or another key.\n */\n async unaliasKeyword(key, keys, depth, disableCache, context) {\n // Numbers can not be an alias\n if (Number.isInteger(key)) {\n return key;\n }\n // Try to grab from cache if it was already un-aliased before.\n if (!disableCache) {\n const cachedUnaliasedKeyword = this.parsingContext.unaliasedKeywordCacheStack[depth];\n if (cachedUnaliasedKeyword) {\n return cachedUnaliasedKeyword;\n }\n }\n if (!jsonld_context_parser_1.Util.isPotentialKeyword(key)) {\n context = context || await this.parsingContext.getContext(keys);\n let unliased = context.getContextRaw()[key];\n if (unliased && typeof unliased === 'object') {\n unliased = unliased['@id'];\n }\n if (jsonld_context_parser_1.Util.isValidKeyword(unliased)) {\n key = unliased;\n }\n }\n return disableCache ? key : (this.parsingContext.unaliasedKeywordCacheStack[depth] = key);\n }\n /**\n * Unalias the keyword of the parent.\n * This adds a safety check if no parent exist.\n * @param {any[]} keys A stack of keys.\n * @param {number} depth The current depth.\n * @return {Promise} A promise resolving to the parent key, or another key.\n */\n async unaliasKeywordParent(keys, depth) {\n return await this.unaliasKeyword(depth > 0 && keys[depth - 1], keys, depth - 1);\n }\n /**\n * Un-alias all keywords in the given hash.\n * @param {{[p: string]: any}} hash A hash object.\n * @param {string[]} keys The path of keys.\n * @param {number} depth The depth.\n * @param {JsonLdContextNormalized} context A context to unalias with,\n * will fallback to retrieving the context for the given keys.\n * @return {Promise<{[p: string]: any}>} A promise resolving to the new hash.\n */\n async unaliasKeywords(hash, keys, depth, context) {\n const newHash = {};\n for (const key in hash) {\n newHash[await this.unaliasKeyword(key, keys, depth + 1, true, context)] = hash[key];\n }\n return newHash;\n }\n /**\n * Check if we are processing a literal (including JSON literals) at the given depth.\n * This will also check higher levels,\n * because if a parent is a literal,\n * then the deeper levels are definitely a literal as well.\n * @param {any[]} keys The keys.\n * @param {number} depth The depth.\n * @return {boolean} If we are processing a literal.\n */\n async isLiteral(keys, depth) {\n for (let i = depth; i >= 0; i--) {\n if (await this.unaliasKeyword(keys[i], keys, i) === '@annotation') {\n // Literals may have annotations, which require processing of inner nodes.\n return false;\n }\n if (this.parsingContext.literalStack[i] || this.parsingContext.jsonLiteralStack[i]) {\n return true;\n }\n }\n return false;\n }\n /**\n * Check how many parents should be skipped for checking the @graph for the given node.\n *\n * @param {number} depth The depth of the node.\n * @param {any[]} keys An array of keys.\n * @return {number} The graph depth offset.\n */\n async getDepthOffsetGraph(depth, keys) {\n for (let i = depth - 1; i > 0; i--) {\n if (await this.unaliasKeyword(keys[i], keys, i) === '@graph') {\n // Skip further processing if we are already in an @graph-@id or @graph-@index container\n const containers = (await EntryHandlerContainer_1.EntryHandlerContainer.getContainerHandler(this.parsingContext, keys, i)).containers;\n if (EntryHandlerContainer_1.EntryHandlerContainer.isComplexGraphContainer(containers)) {\n return -1;\n }\n return depth - i - 1;\n }\n }\n return -1;\n }\n /**\n * Check if the given subject is of a valid type.\n * This should be called when applying @reverse'd properties.\n * @param {Term} subject A subject.\n */\n validateReverseSubject(subject) {\n if (subject.termType === 'Literal') {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal literal in subject position: ${subject.value}`, jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE);\n }\n }\n /**\n * Get the default graph.\n * @return {Term} An RDF term.\n */\n getDefaultGraph() {\n return this.parsingContext.defaultGraph || this.dataFactory.defaultGraph();\n }\n /**\n * Get the current graph, while taking into account a graph that can be defined via @container: @graph.\n * If not within a graph container, the default graph will be returned.\n * @param keys The current keys.\n * @param depth The current depth.\n */\n async getGraphContainerValue(keys, depth) {\n // Default to default graph\n let graph = this.getDefaultGraph();\n // Check if we are in an @container: @graph.\n const { containers, depth: depthContainer } = await EntryHandlerContainer_1.EntryHandlerContainer\n .getContainerHandler(this.parsingContext, keys, depth);\n if ('@graph' in containers) {\n // Get the graph from the stack.\n const graphContainerIndex = EntryHandlerContainer_1.EntryHandlerContainer.getContainerGraphIndex(containers, depthContainer, keys);\n const entry = this.parsingContext.graphContainerTermStack[depthContainer];\n graph = entry ? entry[graphContainerIndex] : null;\n // Set the graph in the stack if none has been set yet.\n if (!graph) {\n let graphId = null;\n if ('@id' in containers) {\n const keyUnaliased = await this.getContainerKey(keys[depthContainer], keys, depthContainer);\n if (keyUnaliased !== null) {\n graphId = await this.resourceToTerm(await this.parsingContext.getContext(keys), keyUnaliased);\n }\n }\n if (!graphId) {\n graphId = this.dataFactory.blankNode();\n }\n if (!this.parsingContext.graphContainerTermStack[depthContainer]) {\n this.parsingContext.graphContainerTermStack[depthContainer] = {};\n }\n graph = this.parsingContext.graphContainerTermStack[depthContainer][graphContainerIndex] = graphId;\n }\n }\n return graph;\n }\n /**\n * Get the properties depth for retrieving properties.\n *\n * Typically, the properties depth will be identical to the given depth.\n *\n * The following exceptions apply:\n * * When the parent is @reverse, the depth is decremented by one.\n * * When @nest parents are found, the depth is decremented by the number of @nest parents.\n * If in combination with the exceptions above an intermediary array is discovered,\n * the depth is also decremented by this number of arrays.\n *\n * @param keys The current key chain.\n * @param depth The current depth.\n */\n async getPropertiesDepth(keys, depth) {\n let lastValidDepth = depth;\n for (let i = depth - 1; i > 0; i--) {\n if (typeof keys[i] !== 'number') { // Skip array keys\n const parentKey = await this.unaliasKeyword(keys[i], keys, i);\n if (parentKey === '@reverse') {\n return i;\n }\n else if (parentKey === '@nest') {\n lastValidDepth = i;\n }\n else {\n return lastValidDepth;\n }\n }\n }\n return lastValidDepth;\n }\n /**\n * Get the key for the current container entry.\n * @param key A key, can be falsy.\n * @param keys The key chain.\n * @param depth The current depth to get the key from.\n * @return Promise resolving to the key.\n * Null will be returned for @none entries, with aliasing taken into account.\n */\n async getContainerKey(key, keys, depth) {\n const keyUnaliased = await this.unaliasKeyword(key, keys, depth);\n return keyUnaliased === '@none' ? null : keyUnaliased;\n }\n /**\n * Check if no reverse properties are present in embedded nodes.\n * @param key The current key.\n * @param reverse If a reverse property is active.\n * @param isEmbedded If we're in an embedded node.\n */\n validateReverseInEmbeddedNode(key, reverse, isEmbedded) {\n if (isEmbedded && reverse && !this.parsingContext.rdfstarReverseInEmbedded) {\n throw new jsonld_context_parser_1.ErrorCoded(`Illegal reverse property in embedded node in ${key}`, jsonld_context_parser_1.ERROR_CODES.INVALID_EMBEDDED_NODE);\n }\n }\n /**\n * Emit a quad, with checks.\n * @param depth The current depth.\n * @param subject S\n * @param predicate P\n * @param object O\n * @param graph G\n * @param reverse If a reverse property is active.\n * @param isEmbedded If we're in an embedded node.\n */\n emitQuadChecked(depth, subject, predicate, object, graph, reverse, isEmbedded) {\n // Create a quad\n let quad;\n if (reverse) {\n this.validateReverseSubject(object);\n quad = this.dataFactory.quad(object, predicate, subject, graph);\n }\n else {\n quad = this.dataFactory.quad(subject, predicate, object, graph);\n }\n // Emit the quad, unless it was created in an embedded node\n if (isEmbedded) {\n // Embedded nodes don't inherit the active graph\n if (quad.graph.termType !== 'DefaultGraph') {\n quad = this.dataFactory.quad(quad.subject, quad.predicate, quad.object);\n }\n // Multiple embedded nodes are not allowed\n if (this.parsingContext.idStack[depth - 1]) {\n throw new jsonld_context_parser_1.ErrorCoded(`Illegal multiple properties in an embedded node`, jsonld_context_parser_1.ERROR_CODES.INVALID_EMBEDDED_NODE);\n }\n this.parsingContext.idStack[depth - 1] = [quad];\n }\n else {\n this.parsingContext.emitQuad(depth, quad);\n }\n // Flush annotations\n const annotationsBuffer = this.parsingContext.annotationsBuffer[depth];\n if (annotationsBuffer) {\n for (const annotation of annotationsBuffer) {\n this.emitAnnotation(depth, quad, annotation);\n }\n delete this.parsingContext.annotationsBuffer[depth];\n }\n }\n // This is a separate function to enable recursion\n emitAnnotation(depth, quad, annotation) {\n // Construct annotation quad\n let annotationQuad;\n if (annotation.reverse) {\n this.validateReverseSubject(annotation.object);\n annotationQuad = this.dataFactory.quad(annotation.object, annotation.predicate, quad);\n }\n else {\n annotationQuad = this.dataFactory.quad(quad, annotation.predicate, annotation.object);\n }\n // Emit annotated quad\n this.parsingContext.emitQuad(depth, annotationQuad);\n // Also emit nested annotations\n for (const nestedAnnotation of annotation.nestedAnnotations) {\n this.emitAnnotation(depth, annotationQuad, nestedAnnotation);\n }\n }\n}\nUtil.XSD = 'http://www.w3.org/2001/XMLSchema#';\nUtil.XSD_BOOLEAN = Util.XSD + 'boolean';\nUtil.XSD_INTEGER = Util.XSD + 'integer';\nUtil.XSD_DOUBLE = Util.XSD + 'double';\nUtil.RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\nexports.Util = Util;\n//# sourceMappingURL=Util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerIdentifier = void 0;\n/**\n * Container handler for @id.\n *\n * It assumes that the current key is the identifier of the current value.\n * This will add this value to the parent node.\n */\nclass ContainerHandlerIdentifier {\n canCombineWithGraph() {\n return true;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n let id;\n // First check if the child node already has a defined id.\n if (parsingContext.emittedStack[depth + 1] && parsingContext.idStack[depth + 1]) {\n // Use the existing identifier\n id = parsingContext.idStack[depth + 1][0];\n }\n else {\n // Create the identifier\n const keyUnaliased = await util.getContainerKey(keys[depth], keys, depth);\n const maybeId = keyUnaliased !== null\n ? await util.resourceToTerm(await parsingContext.getContext(keys), keys[depth])\n : util.dataFactory.blankNode();\n // Do nothing if the id is invalid\n if (!maybeId) {\n parsingContext.emittedStack[depth] = false; // Don't emit the predicate owning this container.\n return;\n }\n id = maybeId;\n // Insert the id into the stack so that buffered children can make us of it.\n parsingContext.idStack[depth + 1] = [id];\n }\n // Insert the id into the stack so that parents can make use of it.\n // Insert it as an array because multiple id container entries may exist\n let ids = parsingContext.idStack[depth];\n if (!ids) {\n ids = parsingContext.idStack[depth] = [];\n }\n // Only insert the term if it does not exist yet in the array.\n if (!ids.some((term) => term.equals(id))) {\n ids.push(id);\n }\n // Flush any pending flush buffers\n if (!await parsingContext.handlePendingContainerFlushBuffers()) {\n parsingContext.emittedStack[depth] = false; // Don't emit the predicate owning this container.\n }\n }\n}\nexports.ContainerHandlerIdentifier = ContainerHandlerIdentifier;\n//# sourceMappingURL=ContainerHandlerIdentifier.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerIndex = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerPredicate_1 = require(\"../entryhandler/EntryHandlerPredicate\");\nconst Util_1 = require(\"../Util\");\n/**\n * Container handler for @index.\n *\n * This will ignore the current key and add this entry to the parent node.\n */\nclass ContainerHandlerIndex {\n canCombineWithGraph() {\n return true;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n if (!Array.isArray(value)) {\n const graphContainer = '@graph' in containers;\n // Check if the container is a property-based container by checking if there is a valid @index.\n const context = await parsingContext.getContext(keys);\n const indexKey = keys[depth - 1];\n const indexPropertyRaw = Util_1.Util.getContextValueIndex(context, indexKey);\n if (indexPropertyRaw) {\n // Validate the @index value\n if (jsonld_context_parser_1.Util.isPotentialKeyword(indexPropertyRaw)) {\n throw new jsonld_context_parser_1.ErrorCoded(`Keywords can not be used as @index value, got: ${indexPropertyRaw}`, jsonld_context_parser_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n if (typeof indexPropertyRaw !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`@index values must be strings, got: ${indexPropertyRaw}`, jsonld_context_parser_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n // When @index is used, values must be node values, unless @type: @id is defined in the context\n if (typeof value !== 'object') {\n // Error if we don't have @type: @id\n if (Util_1.Util.getContextValueType(context, indexKey) !== '@id') {\n throw new jsonld_context_parser_1.ErrorCoded(`Property-based index containers require nodes as values or strings with @type: @id, but got: ${value}`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n // Add an @id to the stack, so our expanded @index value can make use of it\n const id = util.resourceToTerm(context, value);\n if (id) {\n parsingContext.idStack[depth + 1] = [id];\n }\n }\n // Expand the @index value\n const indexProperty = util.createVocabOrBaseTerm(context, indexPropertyRaw);\n if (indexProperty) {\n const indexValues = await util.valueToTerm(context, indexPropertyRaw, await util.getContainerKey(keys[depth], keys, depth), depth, keys);\n if (graphContainer) {\n // When we're in a graph container, attach the index to the graph identifier\n const graphId = await util.getGraphContainerValue(keys, depth + 1);\n for (const indexValue of indexValues) {\n parsingContext.emitQuad(depth, util.dataFactory.quad(graphId, indexProperty, indexValue, util.getDefaultGraph()));\n }\n }\n else {\n // Otherwise, attach the index to the node identifier\n for (const indexValue of indexValues) {\n await EntryHandlerPredicate_1.EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth + 1, indexProperty, indexValue, false, false, false);\n }\n }\n }\n }\n const depthOffset = graphContainer ? 2 : 1;\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - depthOffset), value, depth - depthOffset, true);\n // Flush any pending flush buffers\n await parsingContext.handlePendingContainerFlushBuffers();\n }\n parsingContext.emittedStack[depth] = false; // We have emitted a level higher\n }\n}\nexports.ContainerHandlerIndex = ContainerHandlerIndex;\n//# sourceMappingURL=ContainerHandlerIndex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerLanguage = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * Container handler for @language.\n *\n * It assumes that the current key is the language of the current value.\n * This will add this value to the parent node.\n */\nclass ContainerHandlerLanguage {\n canCombineWithGraph() {\n return false;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n const language = await util.getContainerKey(keys[depth], keys, depth);\n if (Array.isArray(value)) {\n // No type-checking needed, will be handled on each value when this handler is called recursively.\n value = value.map((subValue) => ({ '@value': subValue, '@language': language }));\n }\n else {\n if (typeof value !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`Got invalid language map value, got '${JSON.stringify(value)}', but expected string`, jsonld_context_parser_1.ERROR_CODES.INVALID_LANGUAGE_MAP_VALUE);\n }\n value = { '@value': value, '@language': language };\n }\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - 1), value, depth - 1, true);\n parsingContext.emittedStack[depth] = false; // We have emitted a level higher\n }\n}\nexports.ContainerHandlerLanguage = ContainerHandlerLanguage;\n//# sourceMappingURL=ContainerHandlerLanguage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerType = void 0;\nconst EntryHandlerPredicate_1 = require(\"../entryhandler/EntryHandlerPredicate\");\nconst Util_1 = require(\"../Util\");\n/**\n * Container handler for @type.\n *\n * This will add this entry to the parent node, and use the current key as an rdf:type value.\n */\nclass ContainerHandlerType {\n canCombineWithGraph() {\n return false;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n if (!Array.isArray(value)) {\n if (typeof value === 'string') {\n // Determine the @type of the container\n const context = await parsingContext.getContext(keys);\n const containerTypeType = Util_1.Util.getContextValueType(context, keys[depth - 1]);\n // String values refer to node references\n const id = containerTypeType === '@vocab'\n ? await util.createVocabOrBaseTerm(context, value)\n : await util.resourceToTerm(context, value);\n if (id) {\n // Handle the value of this node as @id, which will also cause the predicate from above to be emitted.\n const subValue = { '@id': id.termType === 'NamedNode' ? id.value : value };\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - 1), subValue, depth - 1, true);\n // Set the id in the stack so it can be used for the rdf:type handling later on\n parsingContext.idStack[depth + 1] = [id];\n }\n }\n else {\n // Other values are handled by handling them as a proper job\n // Check needed for cases where entries don't have an explicit @id\n const entryHasIdentifier = !!parsingContext.idStack[depth + 1];\n // Handle the value of this node, which will also cause the predicate from above to be emitted.\n if (!entryHasIdentifier) {\n delete parsingContext.idStack[depth]; // Force new (blank node) identifier\n }\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - 1), value, depth - 1, true);\n if (!entryHasIdentifier) {\n parsingContext.idStack[depth + 1] = parsingContext.idStack[depth]; // Copy the id to the child node, for @type\n }\n }\n // Identify the type to emit.\n const keyOriginal = await util.getContainerKey(keys[depth], keys, depth);\n const type = keyOriginal !== null\n ? util.createVocabOrBaseTerm(await parsingContext.getContext(keys), keyOriginal)\n : null;\n if (type) {\n // Push the type to the stack using the rdf:type predicate\n await EntryHandlerPredicate_1.EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth + 1, util.rdfType, type, false, false, false);\n }\n // Flush any pending flush buffers\n await parsingContext.handlePendingContainerFlushBuffers();\n }\n parsingContext.emittedStack[depth] = false; // Don't emit the predicate owning this container.\n }\n}\nexports.ContainerHandlerType = ContainerHandlerType;\n//# sourceMappingURL=ContainerHandlerType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerArrayValue = void 0;\nconst Util_1 = require(\"../Util\");\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * Handles values that are part of an array.\n */\nclass EntryHandlerArrayValue {\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return this.test(parsingContext, util, null, keys, depth);\n }\n async test(parsingContext, util, key, keys, depth) {\n return typeof keys[depth] === 'number';\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n let parentKey = await util.unaliasKeywordParent(keys, depth);\n // Check if we have an anonymous list\n if (parentKey === '@list') {\n // Our value is part of an array\n // Determine the list root key\n let listRootKey = null;\n let listRootDepth = 0;\n for (let i = depth - 2; i > 0; i--) {\n const keyOption = keys[i];\n if (typeof keyOption === 'string' || typeof keyOption === 'number') {\n listRootDepth = i;\n listRootKey = keyOption;\n break;\n }\n }\n if (listRootKey !== null) {\n // Emit the given objects as list elements\n const values = await util.valueToTerm(await parsingContext.getContext(keys), listRootKey, value, depth, keys);\n for (const object of values) {\n await this.handleListElement(parsingContext, util, object, value, depth, keys.slice(0, listRootDepth), listRootDepth);\n }\n // If no values were found, emit a falsy list element to force an empty RDF list to be emitted.\n if (values.length === 0) {\n await this.handleListElement(parsingContext, util, null, value, depth, keys.slice(0, listRootDepth), listRootDepth);\n }\n }\n }\n else if (parentKey === '@set') {\n // Our value is part of a set, so we just add it to the parent-parent\n await parsingContext.newOnValueJob(keys.slice(0, -2), value, depth - 2, false);\n }\n else if (parentKey !== undefined && parentKey !== '@type') {\n // Buffer our value using the parent key as predicate\n // Determine the first parent key that is *not* an array key\n // This is needed in case we have an @list container with nested arrays,\n // where each of them should produce nested RDF lists.\n for (let i = depth - 1; i > 0; i--) {\n if (typeof keys[i] !== 'number') {\n parentKey = await util.unaliasKeyword(keys[i], keys, i);\n break;\n }\n }\n // Check if the predicate is marked as an @list in the context\n const parentContext = await parsingContext.getContext(keys.slice(0, -1));\n if ('@list' in Util_1.Util.getContextValueContainer(parentContext, parentKey)) {\n // Our value is part of an array\n // Emit the given objects as list elements\n parsingContext.emittedStack[depth + 1] = true; // Ensure the creation of bnodes for empty nodes\n const values = await util.valueToTerm(await parsingContext.getContext(keys), parentKey, value, depth, keys);\n for (const object of values) {\n await this.handleListElement(parsingContext, util, object, value, depth, keys.slice(0, -1), depth - 1);\n }\n // If no values were found, emit a falsy list element to force an empty RDF list to be emitted.\n if (values.length === 0) {\n await this.handleListElement(parsingContext, util, null, value, depth, keys.slice(0, -1), depth - 1);\n }\n }\n else {\n // Copy the stack values up one level so that the next job can access them.\n parsingContext.shiftStack(depth, 1);\n // Execute the job one level higher\n await parsingContext.newOnValueJob(keys.slice(0, -1), value, depth - 1, false);\n // Remove any defined contexts at this level to avoid it to propagate to the next array element.\n parsingContext.contextTree.removeContext(keys.slice(0, -1));\n }\n }\n }\n async handleListElement(parsingContext, util, value, valueOriginal, depth, listRootKeys, listRootDepth) {\n // Buffer our value as an RDF list using the listRootKey as predicate\n let listPointer = parsingContext.listPointerStack[depth];\n if (valueOriginal !== null && (await util.unaliasKeywords(valueOriginal, listRootKeys, depth))['@value'] !== null) {\n if (!listPointer || !listPointer.value) {\n const linkTerm = util.dataFactory.blankNode();\n listPointer = { value: linkTerm, listRootDepth, listId: linkTerm };\n }\n else {\n // rdf:rest links are always emitted before the next element,\n // as the blank node identifier is only created at that point.\n // Because of this reason, the final rdf:nil is emitted when the stack depth is decreased.\n const newLinkTerm = util.dataFactory.blankNode();\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer.value, util.rdfRest, newLinkTerm, util.getDefaultGraph()));\n // Update the list pointer for the next element\n listPointer.value = newLinkTerm;\n }\n // Emit a list element for the current value\n // Omit rdf:first if the value is invalid\n if (value) {\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer.value, util.rdfFirst, value, util.getDefaultGraph()));\n }\n }\n else {\n // A falsy list element if found.\n // Mark it as an rdf:nil list until another valid list element comes in\n if (!listPointer) {\n listPointer = { listRootDepth, listId: util.rdfNil };\n }\n }\n parsingContext.listPointerStack[depth] = listPointer;\n // Error if an annotation was defined\n if (parsingContext.rdfstar && parsingContext.annotationsBuffer[depth]) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal annotation inside a list`, jsonld_context_parser_1.ERROR_CODES.INVALID_ANNOTATION));\n }\n }\n}\nexports.EntryHandlerArrayValue = EntryHandlerArrayValue;\n//# sourceMappingURL=EntryHandlerArrayValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerContainer = void 0;\nconst ContainerHandlerIdentifier_1 = require(\"../containerhandler/ContainerHandlerIdentifier\");\nconst ContainerHandlerIndex_1 = require(\"../containerhandler/ContainerHandlerIndex\");\nconst ContainerHandlerLanguage_1 = require(\"../containerhandler/ContainerHandlerLanguage\");\nconst ContainerHandlerType_1 = require(\"../containerhandler/ContainerHandlerType\");\nconst Util_1 = require(\"../Util\");\n/**\n * Handles values that are part of a container type (like @index),\n * as specified by {@link IContainerHandler}.\n */\nclass EntryHandlerContainer {\n /**\n * Check fit the given container is a simple @graph container.\n * Concretely, it will check if no @index or @id is active as well.\n * @param containers A container hash.\n */\n static isSimpleGraphContainer(containers) {\n return '@graph' in containers\n && (('@set' in containers && Object.keys(containers).length === 2) || Object.keys(containers).length === 1);\n }\n /**\n * Check fit the given container is a complex @graph container.\n * Concretely, it will check if @index or @id is active as well next to @graph.\n * @param containers A container hash.\n */\n static isComplexGraphContainer(containers) {\n return '@graph' in containers\n && (('@set' in containers && Object.keys(containers).length > 2)\n || (!('@set' in containers) && Object.keys(containers).length > 1));\n }\n /**\n * Create an graph container index that can be used for identifying a graph term inside the graphContainerTermStack.\n * @param containers The applicable containers.\n * @param depth The container depth.\n * @param keys The array of keys.\n * @return The graph index.\n */\n static getContainerGraphIndex(containers, depth, keys) {\n let isSimpleGraphContainer = EntryHandlerContainer.isSimpleGraphContainer(containers);\n let index = '';\n for (let i = depth; i < keys.length; i++) {\n if (!isSimpleGraphContainer || typeof keys[i] === 'number') {\n index += ':' + keys[i];\n }\n // Only allow a second 'real' key if in a non-simple graph container.\n if (!isSimpleGraphContainer && typeof keys[i] !== 'number') {\n isSimpleGraphContainer = true;\n }\n }\n return index;\n }\n /**\n * Return the applicable container type at the given depth.\n *\n * This will ignore any arrays in the key chain.\n *\n * @param {ParsingContext} parsingContext A parsing context.\n * @param {any[]} keys The array of keys.\n * @param {number} depth The current depth.\n * @return {Promise<{ containers: {[typeName: string]: boolean}, depth: number, fallback: boolean }>}\n * All applicable containers for the given depth,\n * the `depth` of the container root (can change when arrays are in the key chain),\n * and the `fallback` flag that indicates if the default container type was returned\n * (i.e., no dedicated container type is defined).\n */\n static async getContainerHandler(parsingContext, keys, depth) {\n const fallback = {\n containers: { '@set': true },\n depth,\n fallback: true,\n };\n // A flag that is enabled when @graph container should be tested in next iteration\n let checkGraphContainer = false;\n // Iterate from deeper to higher\n const context = await parsingContext.getContext(keys, 2);\n for (let i = depth - 1; i >= 0; i--) {\n if (typeof keys[i] !== 'number') { // Skip array keys\n // @graph containers without any other types are one level less deep, and require special handling\n const containersSelf = Util_1.Util.getContextValue(context, '@container', keys[i], false);\n if (containersSelf && EntryHandlerContainer.isSimpleGraphContainer(containersSelf)) {\n return {\n containers: containersSelf,\n depth: i + 1,\n fallback: false,\n };\n }\n const containersParent = Util_1.Util.getContextValue(context, '@container', keys[i - 1], false);\n if (!containersParent) { // If we have the fallback container value\n if (checkGraphContainer) {\n // Return false if we were already expecting a @graph-@id of @graph-@index container\n return fallback;\n }\n // Check parent-parent, we may be in a @graph-@id of @graph-@index container, which have two levels\n checkGraphContainer = true;\n }\n else {\n // We had an invalid container next iteration, so we now have to check if we were in an @graph container\n const graphContainer = '@graph' in containersParent;\n // We're in a regular container\n for (const containerHandleName in EntryHandlerContainer.CONTAINER_HANDLERS) {\n if (containersParent[containerHandleName]) {\n if (graphContainer) {\n // Only accept graph containers if their combined handlers can handle them.\n if (EntryHandlerContainer.CONTAINER_HANDLERS[containerHandleName].canCombineWithGraph()) {\n return {\n containers: containersParent,\n depth: i,\n fallback: false,\n };\n }\n else {\n return fallback;\n }\n }\n else {\n // Only accept if we were not expecting a @graph-@id of @graph-@index container\n if (checkGraphContainer) {\n return fallback;\n }\n else {\n return {\n containers: containersParent,\n depth: i,\n fallback: false,\n };\n }\n }\n }\n }\n // Fail if no valid container handlers were found\n return fallback;\n }\n }\n }\n return fallback;\n }\n /**\n * Check if we are handling a value at the given depth\n * that is part of something that should be handled as a container,\n * AND if this container should be buffered, so that it can be handled by a dedicated container handler.\n *\n * For instance, any container with @graph will NOT be buffered.\n *\n * This will ignore any arrays in the key chain.\n *\n * @param {ParsingContext} parsingContext A parsing context.\n * @param {any[]} keys The array of keys.\n * @param {number} depth The current depth.\n * @return {Promise} If we are in the scope of a container handler.\n */\n static async isBufferableContainerHandler(parsingContext, keys, depth) {\n const handler = await EntryHandlerContainer.getContainerHandler(parsingContext, keys, depth);\n return !handler.fallback && !('@graph' in handler.containers);\n }\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return !!await this.test(parsingContext, util, null, keys, depth);\n }\n async test(parsingContext, util, key, keys, depth) {\n const containers = Util_1.Util.getContextValueContainer(await parsingContext.getContext(keys, 2), keys[depth - 1]);\n for (const containerName in EntryHandlerContainer.CONTAINER_HANDLERS) {\n if (containers[containerName]) {\n return {\n containers,\n handler: EntryHandlerContainer.CONTAINER_HANDLERS[containerName],\n };\n }\n }\n return null;\n }\n async handle(parsingContext, util, key, keys, value, depth, testResult) {\n return testResult.handler.handle(testResult.containers, parsingContext, util, keys, value, depth);\n }\n}\nEntryHandlerContainer.CONTAINER_HANDLERS = {\n '@id': new ContainerHandlerIdentifier_1.ContainerHandlerIdentifier(),\n '@index': new ContainerHandlerIndex_1.ContainerHandlerIndex(),\n '@language': new ContainerHandlerLanguage_1.ContainerHandlerLanguage(),\n '@type': new ContainerHandlerType_1.ContainerHandlerType(),\n};\nexports.EntryHandlerContainer = EntryHandlerContainer;\n//# sourceMappingURL=EntryHandlerContainer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerInvalidFallback = void 0;\n/**\n * A catch-all for properties, that will either emit an error or ignore,\n * depending on whether or not the `strictValues` property is set.\n */\nclass EntryHandlerInvalidFallback {\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return true;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerInvalidFallback = EntryHandlerInvalidFallback;\n//# sourceMappingURL=EntryHandlerInvalidFallback.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerPredicate = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst Util_1 = require(\"../Util\");\n/**\n * Interprets keys as predicates.\n * The most common case in JSON-LD processing.\n */\nclass EntryHandlerPredicate {\n /**\n * Handle the given predicate-object by either emitting it,\n * or by placing it in the appropriate stack for later emission when no @graph and/or @id has been defined.\n * @param {ParsingContext} parsingContext A parsing context.\n * @param {Util} util A utility instance.\n * @param {any[]} keys A stack of keys.\n * @param {number} depth The current depth.\n * @param {Term} predicate The predicate.\n * @param {Term} object The object.\n * @param {boolean} reverse If the property is reversed.\n * @param {boolean} isEmbedded If the property exists in an embedded node as direct child.\n * @param {boolean} isAnnotation If the property exists in an annotation object.\n * @return {Promise} A promise resolving when handling is done.\n */\n static async handlePredicateObject(parsingContext, util, keys, depth, predicate, object, reverse, isEmbedded, isAnnotation) {\n const depthProperties = await util.getPropertiesDepth(keys, depth);\n const depthOffsetGraph = await util.getDepthOffsetGraph(depth, keys);\n const depthPropertiesGraph = depth - depthOffsetGraph;\n const subjects = parsingContext.idStack[depthProperties];\n if (subjects && !isAnnotation) {\n // Emit directly if the @id was already defined\n for (const subject of subjects) {\n // Check if we're in a @graph context\n const atGraph = depthOffsetGraph >= 0;\n if (atGraph) {\n const graphs = parsingContext.idStack[depthPropertiesGraph - 1];\n if (graphs) {\n for (const graph of graphs) {\n // Emit our quad if graph @id is known\n util.emitQuadChecked(depth, subject, predicate, object, graph, reverse, isEmbedded);\n }\n }\n else {\n // Buffer our triple if graph @id is not known yet.\n if (reverse) {\n util.validateReverseSubject(object);\n parsingContext.getUnidentifiedGraphBufferSafe(depthPropertiesGraph - 1).push({ subject: object, predicate, object: subject, isEmbedded });\n }\n else {\n parsingContext.getUnidentifiedGraphBufferSafe(depthPropertiesGraph - 1)\n .push({ subject, predicate, object, isEmbedded });\n }\n }\n }\n else {\n // Emit if no @graph was applicable\n const graph = await util.getGraphContainerValue(keys, depthProperties);\n util.emitQuadChecked(depth, subject, predicate, object, graph, reverse, isEmbedded);\n }\n }\n }\n else {\n // Buffer until our @id becomes known, or we go up the stack\n if (reverse) {\n util.validateReverseSubject(object);\n }\n // Either push to the annotations or the actual value buffer\n if (isAnnotation) {\n // Only add to buffer if rdfstar is enabled\n if (parsingContext.rdfstar) {\n // Error if an @id was defined\n if (parsingContext.idStack[depth]) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal @id inside an annotation: ${parsingContext.idStack[depth][0].value}`, jsonld_context_parser_1.ERROR_CODES.INVALID_ANNOTATION));\n }\n // Error if we're in an embedded node\n for (let i = 0; i < depth; i++) {\n if (await util.unaliasKeyword(keys[i], keys, i) === '@id') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal annotation inside an embedded node`, jsonld_context_parser_1.ERROR_CODES.INVALID_ANNOTATION));\n }\n }\n // Store new annotation in the buffer\n const annotationsBuffer = parsingContext.getAnnotationsBufferSafe(depthProperties);\n const newAnnotation = { predicate, object, reverse, nestedAnnotations: [], depth: depthProperties };\n annotationsBuffer.push(newAnnotation);\n // Check in the buffer if any annotations were defined at a deeper depth,\n // if so, they are considered nested annotations.\n for (let i = annotationsBuffer.length - 2; i >= 0; i--) {\n // We iterate in reverse order, to enable easy item removal from the back.\n const existingAnnotation = annotationsBuffer[i];\n if (existingAnnotation.depth > depthProperties) {\n newAnnotation.nestedAnnotations.push(existingAnnotation);\n annotationsBuffer.splice(i, 1);\n }\n }\n }\n }\n else {\n parsingContext.getUnidentifiedValueBufferSafe(depthProperties).push({ predicate, object, reverse, isEmbedded });\n }\n }\n }\n isPropertyHandler() {\n return true;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n const key = keys[depth];\n if (key) {\n const context = await parsingContext.getContext(keys);\n if (!parsingContext.jsonLiteralStack[depth] && await util.predicateToTerm(context, keys[depth])) {\n // If this valid predicate is of type @json, mark it so in the stack so that no deeper handling of nodes occurs.\n if (Util_1.Util.getContextValueType(context, key) === '@json') {\n parsingContext.jsonLiteralStack[depth + 1] = true;\n }\n return true;\n }\n }\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return keys[depth];\n }\n async handle(parsingContext, util, key, keys, value, depth, testResult) {\n const keyOriginal = keys[depth];\n const context = await parsingContext.getContext(keys);\n const predicate = await util.predicateToTerm(context, key);\n if (predicate) {\n const objects = await util.valueToTerm(context, key, value, depth, keys);\n if (objects.length) {\n for (let object of objects) {\n // Based on parent key, check if reverse, embedded, and annotation.\n let parentKey = await util.unaliasKeywordParent(keys, depth);\n const reverse = Util_1.Util.isPropertyReverse(context, keyOriginal, parentKey);\n let parentDepthOffset = 0;\n while (parentKey === '@reverse' || typeof parentKey === 'number') {\n // Check parent of parent when checking while we're in an array or in @reverse\n if (typeof parentKey === 'number') {\n parentDepthOffset++;\n }\n else {\n depth--;\n }\n parentKey = await util.unaliasKeywordParent(keys, depth - parentDepthOffset);\n }\n const isEmbedded = Util_1.Util.isPropertyInEmbeddedNode(parentKey);\n util.validateReverseInEmbeddedNode(key, reverse, isEmbedded);\n const isAnnotation = Util_1.Util.isPropertyInAnnotationObject(parentKey);\n if (value) {\n // Special case if our term was defined as an @list, but does not occur in an array,\n // In that case we just emit it as an RDF list with a single element.\n const listValueContainer = '@list' in Util_1.Util.getContextValueContainer(context, key);\n if (listValueContainer || value['@list']) {\n if (((listValueContainer && !Array.isArray(value) && !value['@list'])\n || (value['@list'] && !Array.isArray(value['@list'])))\n && object !== util.rdfNil) {\n const listPointer = util.dataFactory.blankNode();\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer, util.rdfRest, util.rdfNil, util.getDefaultGraph()));\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer, util.rdfFirst, object, util.getDefaultGraph()));\n object = listPointer;\n }\n // Lists are not allowed in @reverse'd properties\n if (reverse && !parsingContext.allowSubjectList) {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal list value in subject position at ${key}`, jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE);\n }\n }\n }\n await EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth, predicate, object, reverse, isEmbedded, isAnnotation);\n }\n }\n }\n }\n}\nexports.EntryHandlerPredicate = EntryHandlerPredicate;\n//# sourceMappingURL=EntryHandlerPredicate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeyword = void 0;\n/**\n * An abstract keyword entry handler.\n */\nclass EntryHandlerKeyword {\n constructor(keyword) {\n this.keyword = keyword;\n }\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return key === this.keyword;\n }\n}\nexports.EntryHandlerKeyword = EntryHandlerKeyword;\n//# sourceMappingURL=EntryHandlerKeyword.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordAnnotation = void 0;\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * Handles @annotation entries.\n */\nclass EntryHandlerKeywordAnnotation extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@annotation');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // Validate value\n if (typeof value === 'string' || (typeof value === 'object' && value['@value'])) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal annotation value: ${JSON.stringify(value)}`, jsonld_context_parser_1.ERROR_CODES.INVALID_ANNOTATION));\n }\n // Rest of the processing is done as regular nodes\n }\n}\nexports.EntryHandlerKeywordAnnotation = EntryHandlerKeywordAnnotation;\n//# sourceMappingURL=EntryHandlerKeywordAnnotation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordContext = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @context entries.\n */\nclass EntryHandlerKeywordContext extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@context');\n }\n isStackProcessor() {\n return false;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // Error if an out-of-order context was found when support is not enabled.\n if (parsingContext.streamingProfile\n && (parsingContext.processingStack[depth]\n || parsingContext.processingType[depth]\n || parsingContext.idStack[depth] !== undefined)) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded('Found an out-of-order context, while streaming is enabled.' +\n '(disable `streamingProfile`)', jsonld_context_parser_1.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));\n }\n // Find the parent context to inherit from.\n // We actually request a context for the current depth (with fallback to parent)\n // because we want to take into account any property-scoped contexts that are defined for this depth.\n const parentContext = parsingContext.getContext(keys);\n // Set the context for this scope\n const context = parsingContext.parseContext(value, (await parentContext).getContextRaw());\n parsingContext.contextTree.setContext(keys.slice(0, -1), context);\n parsingContext.emitContext(value);\n await parsingContext.validateContext(await context);\n }\n}\nexports.EntryHandlerKeywordContext = EntryHandlerKeywordContext;\n//# sourceMappingURL=EntryHandlerKeywordContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordGraph = void 0;\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @graph entries.\n */\nclass EntryHandlerKeywordGraph extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@graph');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // The current identifier identifies a graph for the deeper level.\n parsingContext.graphStack[depth + 1] = true;\n }\n}\nexports.EntryHandlerKeywordGraph = EntryHandlerKeywordGraph;\n//# sourceMappingURL=EntryHandlerKeywordGraph.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordId = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @id entries.\n */\nclass EntryHandlerKeywordId extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@id');\n }\n isStackProcessor() {\n return false;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n if (typeof value !== 'string') {\n // JSON-LD-star allows @id object values\n if (parsingContext.rdfstar && typeof value === 'object') {\n const valueKeys = Object.keys(value);\n if (valueKeys.length === 1 && valueKeys[0] === '@id') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Invalid embedded node without property with @id ${value['@id']}`, jsonld_context_parser_1.ERROR_CODES.INVALID_EMBEDDED_NODE));\n }\n }\n else {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal @id '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_ID_VALUE));\n }\n return;\n }\n // Determine the canonical place for this id.\n // For example, @nest parents should be ignored.\n const depthProperties = await util.getPropertiesDepth(keys, depth);\n // Error if an @id for this node already existed.\n if (parsingContext.idStack[depthProperties] !== undefined) {\n if (parsingContext.idStack[depthProperties][0].listHead) {\n // Error if an @list was already defined for this node\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${keys[depth - 1]}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT));\n }\n else {\n // Otherwise, the previous id was just because of an @id entry.\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found duplicate @ids '${parsingContext\n .idStack[depthProperties][0].value}' and '${value}'`, jsonld_context_parser_1.ERROR_CODES.COLLIDING_KEYWORDS));\n }\n }\n // Error if an annotation was defined\n if (parsingContext.rdfstar && parsingContext.annotationsBuffer[depth]) {\n for (const annotation of parsingContext.annotationsBuffer[depth]) {\n if (annotation.depth === depth) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal @id inside an annotation: ${value}`, jsonld_context_parser_1.ERROR_CODES.INVALID_ANNOTATION));\n }\n }\n }\n // Save our @id on the stack\n parsingContext.idStack[depthProperties] = util.nullableTermToArray(await util.resourceToTerm(await parsingContext.getContext(keys), value));\n }\n}\nexports.EntryHandlerKeywordId = EntryHandlerKeywordId;\n//# sourceMappingURL=EntryHandlerKeywordId.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordIncluded = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @included entries.\n */\nclass EntryHandlerKeywordIncluded extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@included');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n if (typeof value !== 'object') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal @included '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INCLUDED_VALUE));\n }\n const valueUnliased = await util.unaliasKeywords(value, keys, depth, await parsingContext.getContext(keys));\n if ('@value' in valueUnliased) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal @included @value node '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INCLUDED_VALUE));\n }\n if ('@list' in valueUnliased) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal @included @list node '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INCLUDED_VALUE));\n }\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordIncluded = EntryHandlerKeywordIncluded;\n//# sourceMappingURL=EntryHandlerKeywordIncluded.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordNest = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @nest entries.\n */\nclass EntryHandlerKeywordNest extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@nest');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n if (typeof value !== 'object') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found invalid @nest entry for '${key}': '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_NEST_VALUE));\n }\n if ('@value' in await util.unaliasKeywords(value, keys, depth, await parsingContext.getContext(keys))) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an invalid @value node for '${key}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_NEST_VALUE));\n }\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordNest = EntryHandlerKeywordNest;\n//# sourceMappingURL=EntryHandlerKeywordNest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordType = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst Util_1 = require(\"../../Util\");\nconst EntryHandlerPredicate_1 = require(\"../EntryHandlerPredicate\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @graph entries.\n */\nclass EntryHandlerKeywordType extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@type');\n }\n isStackProcessor() {\n return false;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n const keyOriginal = keys[depth];\n // The current identifier identifies an rdf:type predicate.\n // But we only emit it once the node closes,\n // as it's possible that the @type is used to identify the datatype of a literal, which we ignore here.\n const context = await parsingContext.getContext(keys);\n const predicate = util.rdfType;\n const parentKey = await util.unaliasKeywordParent(keys, depth);\n const reverse = Util_1.Util.isPropertyReverse(context, keyOriginal, parentKey);\n const isEmbedded = Util_1.Util.isPropertyInEmbeddedNode(parentKey);\n util.validateReverseInEmbeddedNode(key, reverse, isEmbedded);\n const isAnnotation = Util_1.Util.isPropertyInAnnotationObject(parentKey);\n // Handle multiple values if the value is an array\n const elements = Array.isArray(value) ? value : [value];\n for (const element of elements) {\n if (typeof element !== 'string') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal @type '${element}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPE_VALUE));\n }\n const type = util.createVocabOrBaseTerm(context, element);\n if (type) {\n await EntryHandlerPredicate_1.EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth, predicate, type, reverse, isEmbedded, isAnnotation);\n }\n }\n // Collect type-scoped contexts if they exist\n let scopedContext = Promise.resolve(context);\n let hasTypedScopedContext = false;\n for (const element of elements.sort()) { // Spec requires lexicographical ordering\n const typeContext = Util_1.Util.getContextValue(context, '@context', element, null);\n if (typeContext) {\n hasTypedScopedContext = true;\n scopedContext = scopedContext.then((c) => parsingContext.parseContext(typeContext, c.getContextRaw()));\n }\n }\n // Error if an out-of-order type-scoped context was found when support is not enabled.\n if (parsingContext.streamingProfile\n && (hasTypedScopedContext || !parsingContext.streamingProfileAllowOutOfOrderPlainType)\n && (parsingContext.processingStack[depth] || parsingContext.idStack[depth])) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded('Found an out-of-order type-scoped context, while streaming is enabled.' +\n '(disable `streamingProfile`)', jsonld_context_parser_1.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));\n }\n // If at least least one type-scoped context applies, set them in the tree.\n if (hasTypedScopedContext) {\n // Do not propagate by default\n scopedContext = scopedContext.then((c) => {\n // Set the original context at this depth as a fallback\n // This is needed when a context was already defined at the given depth,\n // and this context needs to remain accessible from child nodes when propagation is disabled.\n if (c.getContextRaw()['@propagate'] !== true) {\n return new jsonld_context_parser_1.JsonLdContextNormalized(Object.assign(Object.assign({}, c.getContextRaw()), { '@propagate': false, '@__propagateFallback': context.getContextRaw() }));\n }\n return c;\n });\n // Set the new context in the context tree\n parsingContext.contextTree.setContext(keys.slice(0, keys.length - 1), scopedContext);\n }\n // Flag that type has been processed at this depth\n parsingContext.processingType[depth] = true;\n }\n}\nexports.EntryHandlerKeywordType = EntryHandlerKeywordType;\n//# sourceMappingURL=EntryHandlerKeywordType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordUnknownFallback = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * A catch-all for keywords, that will either emit an error or ignore,\n * depending on whether or not the `strictValues` property is set.\n */\nclass EntryHandlerKeywordUnknownFallback {\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n const key = await util.unaliasKeyword(keys[depth], keys, depth);\n if (jsonld_context_parser_1.Util.isPotentialKeyword(key)) {\n // Don't emit anything inside free-floating lists\n if (!inProperty) {\n if (key === '@list') {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return jsonld_context_parser_1.Util.isPotentialKeyword(key);\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n const keywordType = EntryHandlerKeywordUnknownFallback.VALID_KEYWORDS_TYPES[key];\n if (keywordType !== undefined) {\n if (keywordType && typeof value !== keywordType.type) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Invalid value type for '${key}' with value '${value}'`, keywordType.errorCode));\n }\n }\n else if (parsingContext.strictValues) {\n parsingContext.emitError(new Error(`Unknown keyword '${key}' with value '${value}'`));\n }\n parsingContext.emittedStack[depth] = false;\n }\n}\nEntryHandlerKeywordUnknownFallback.VALID_KEYWORDS_TYPES = {\n '@index': { type: 'string', errorCode: jsonld_context_parser_1.ERROR_CODES.INVALID_INDEX_VALUE },\n '@list': null,\n '@reverse': { type: 'object', errorCode: jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_VALUE },\n '@set': null,\n '@value': null,\n};\nexports.EntryHandlerKeywordUnknownFallback = EntryHandlerKeywordUnknownFallback;\n//# sourceMappingURL=EntryHandlerKeywordUnknownFallback.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordValue = void 0;\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @value entries.\n */\nclass EntryHandlerKeywordValue extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@value');\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n // If this is @value, mark it so in the stack so that no deeper handling of nodes occurs.\n const key = keys[depth];\n if (key && !parsingContext.literalStack[depth] && await this.test(parsingContext, util, key, keys, depth)) {\n parsingContext.literalStack[depth] = true;\n }\n return super.validate(parsingContext, util, keys, depth, inProperty);\n }\n async test(parsingContext, util, key, keys, depth) {\n return await util.unaliasKeyword(keys[depth], keys.slice(0, keys.length - 1), depth - 1, true) === '@value';\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // If the value is valid, indicate that we are processing a literal.\n // The actual value will be determined at the parent level when the @value is part of an object,\n // because we may want to take into account additional entries such as @language.\n // See {@link Util.valueToTerm}\n // Indicate that we are processing a literal, and that no later predicates should be parsed at this depth.\n parsingContext.literalStack[depth] = true;\n // Void any buffers that we may have accumulated up until now\n delete parsingContext.unidentifiedValuesBuffer[depth];\n delete parsingContext.unidentifiedGraphsBuffer[depth];\n // Indicate that we have not emitted at this depth\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordValue = EntryHandlerKeywordValue;\n//# sourceMappingURL=EntryHandlerKeywordValue.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/ContextParser\"), exports);\n__exportStar(require(\"./lib/ErrorCoded\"), exports);\n__exportStar(require(\"./lib/FetchDocumentLoader\"), exports);\n__exportStar(require(\"./lib/IDocumentLoader\"), exports);\n__exportStar(require(\"./lib/JsonLdContext\"), exports);\n__exportStar(require(\"./lib/JsonLdContextNormalized\"), exports);\n__exportStar(require(\"./lib/Util\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContextParser = void 0;\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst FetchDocumentLoader_1 = require(\"./FetchDocumentLoader\");\nconst JsonLdContextNormalized_1 = require(\"./JsonLdContextNormalized\");\nconst Util_1 = require(\"./Util\");\n/**\n * Parses JSON-LD contexts.\n */\nclass ContextParser {\n constructor(options) {\n options = options || {};\n this.documentLoader = options.documentLoader || new FetchDocumentLoader_1.FetchDocumentLoader();\n this.documentCache = {};\n this.validateContext = !options.skipValidation;\n this.expandContentTypeToBase = !!options.expandContentTypeToBase;\n this.remoteContextsDepthLimit = options.remoteContextsDepthLimit || 32;\n this.redirectSchemaOrgHttps = 'redirectSchemaOrgHttps' in options ? !!options.redirectSchemaOrgHttps : true;\n }\n /**\n * Validate the given @language value.\n * An error will be thrown if it is invalid.\n * @param value An @language value.\n * @param {boolean} strictRange If the string value should be strictly checked against a regex.\n * @param {string} errorCode The error code to emit on errors.\n * @return {boolean} If validation passed.\n * Can only be false if strictRange is false and the string value did not pass the regex.\n */\n static validateLanguage(value, strictRange, errorCode) {\n if (typeof value !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(value)}'`, errorCode);\n }\n if (!Util_1.Util.REGEX_LANGUAGE_TAG.test(value)) {\n if (strictRange) {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(value)}'`, errorCode);\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Validate the given @direction value.\n * An error will be thrown if it is invalid.\n * @param value An @direction value.\n * @param {boolean} strictValues If the string value should be strictly checked against a regex.\n * @return {boolean} If validation passed.\n * Can only be false if strictRange is false and the string value did not pass the regex.\n */\n static validateDirection(value, strictValues) {\n if (typeof value !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_DIRECTION);\n }\n if (!Util_1.Util.REGEX_DIRECTION_TAG.test(value)) {\n if (strictValues) {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_DIRECTION);\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Add an @id term for all @reverse terms.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @return {IJsonLdContextNormalizedRaw} The mutated input context.\n */\n idifyReverseTerms(context) {\n for (const key of Object.keys(context)) {\n let value = context[key];\n if (value && typeof value === 'object') {\n if (value['@reverse'] && !value['@id']) {\n if (typeof value['@reverse'] !== 'string' || Util_1.Util.isValidKeyword(value['@reverse'])) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${value['@reverse']}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n value = context[key] = Object.assign(Object.assign({}, value), { '@id': value['@reverse'] });\n value['@id'] = value['@reverse'];\n if (Util_1.Util.isPotentialKeyword(value['@reverse'])) {\n delete value['@reverse'];\n }\n else {\n value['@reverse'] = true;\n }\n }\n }\n }\n return context;\n }\n /**\n * Expand all prefixed terms in the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {boolean} expandContentTypeToBase If @type inside the context may be expanded\n * via @base if @vocab is set to null.\n * @param {string[]} keys Optional set of keys from the context to expand. If left undefined, all\n * keys in the context will be expanded.\n */\n expandPrefixedTerms(context, expandContentTypeToBase, keys) {\n const contextRaw = context.getContextRaw();\n for (const key of (keys || Object.keys(contextRaw))) {\n // Only expand allowed keys\n if (Util_1.Util.EXPAND_KEYS_BLACKLIST.indexOf(key) < 0 && !Util_1.Util.isReservedInternalKeyword(key)) {\n // Error if we try to alias a keyword to something else.\n const keyValue = contextRaw[key];\n if (Util_1.Util.isPotentialKeyword(key) && Util_1.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(key) >= 0) {\n if (key !== '@type' || typeof contextRaw[key] === 'object'\n && !(contextRaw[key]['@protected'] || contextRaw[key]['@container'] === '@set')) {\n throw new ErrorCoded_1.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${key} to ${JSON.stringify(keyValue)}`, ErrorCoded_1.ERROR_CODES.KEYWORD_REDEFINITION);\n }\n }\n // Error if we try to alias to an illegal keyword\n if (Util_1.Util.ALIAS_RANGE_BLACKLIST.indexOf(Util_1.Util.getContextValueId(keyValue)) >= 0) {\n throw new ErrorCoded_1.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${key} to ${JSON.stringify(keyValue)}`, ErrorCoded_1.ERROR_CODES.INVALID_KEYWORD_ALIAS);\n }\n // Error if this term was marked as prefix as well\n if (keyValue && Util_1.Util.isPotentialKeyword(Util_1.Util.getContextValueId(keyValue))\n && keyValue['@prefix'] === true) {\n throw new ErrorCoded_1.ErrorCoded(`Tried to use keyword aliases as prefix: '${key}': '${JSON.stringify(keyValue)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n // Loop because prefixes might be nested\n while (Util_1.Util.isPrefixValue(contextRaw[key])) {\n const value = contextRaw[key];\n let changed = false;\n if (typeof value === 'string') {\n contextRaw[key] = context.expandTerm(value, true);\n changed = changed || value !== contextRaw[key];\n }\n else {\n const id = value['@id'];\n const type = value['@type'];\n // If @id is missing, don't allow @id to be added if @prefix: true and key not being a valid IRI.\n const canAddIdEntry = !('@prefix' in value) || Util_1.Util.isValidIri(key);\n if ('@id' in value) {\n // Use @id value for expansion\n if (id !== undefined && id !== null && typeof id === 'string') {\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@id': context.expandTerm(id, true) });\n changed = changed || id !== contextRaw[key]['@id'];\n }\n }\n else if (!Util_1.Util.isPotentialKeyword(key) && canAddIdEntry) {\n // Add an explicit @id value based on the expanded key value\n const newId = context.expandTerm(key, true);\n if (newId !== key) {\n // Don't set @id if expansion failed\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@id': newId });\n changed = true;\n }\n }\n if (type && typeof type === 'string' && type !== '@vocab'\n && (!value['@container'] || !value['@container']['@type'])\n && canAddIdEntry) {\n // First check @vocab, then fallback to @base\n let expandedType = context.expandTerm(type, true);\n if (expandContentTypeToBase && type === expandedType) {\n expandedType = context.expandTerm(type, false);\n }\n if (expandedType !== type) {\n changed = true;\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@type': expandedType });\n }\n }\n }\n if (!changed) {\n break;\n }\n }\n }\n }\n }\n /**\n * Normalize the @language entries in the given context to lowercase.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} parseOptions The parsing options.\n */\n normalize(context, { processingMode, normalizeLanguageTags }) {\n // Lowercase language keys in 1.0\n if (normalizeLanguageTags || processingMode === 1.0) {\n for (const key of Object.keys(context)) {\n if (key === '@language' && typeof context[key] === 'string') {\n context[key] = context[key].toLowerCase();\n }\n else {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (typeof value['@language'] === 'string') {\n const lowercase = value['@language'].toLowerCase();\n if (lowercase !== value['@language']) {\n context[key] = Object.assign(Object.assign({}, value), { '@language': lowercase });\n }\n }\n }\n }\n }\n }\n }\n /**\n * Convert all @container strings and array values to hash-based values.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n */\n containersToHash(context) {\n for (const key of Object.keys(context)) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (typeof value['@container'] === 'string') {\n context[key] = Object.assign(Object.assign({}, value), { '@container': { [value['@container']]: true } });\n }\n else if (Array.isArray(value['@container'])) {\n const newValue = {};\n for (const containerValue of value['@container']) {\n newValue[containerValue] = true;\n }\n context[key] = Object.assign(Object.assign({}, value), { '@container': newValue });\n }\n }\n }\n }\n /**\n * Normalize and apply context-level @protected terms onto each term separately.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {number} processingMode The processing mode.\n */\n applyScopedProtected(context, { processingMode }, expandOptions) {\n if (processingMode && processingMode >= 1.1) {\n if (context['@protected']) {\n for (const key of Object.keys(context)) {\n if (Util_1.Util.isReservedInternalKeyword(key)) {\n continue;\n }\n if (!Util_1.Util.isPotentialKeyword(key) && !Util_1.Util.isTermProtected(context, key)) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (!('@protected' in context[key])) {\n // Mark terms with object values as protected if they don't have an @protected: false annotation\n context[key] = Object.assign(Object.assign({}, context[key]), { '@protected': true });\n }\n }\n else {\n // Convert string-based term values to object-based values with @protected: true\n context[key] = {\n '@id': value,\n '@protected': true,\n };\n if (Util_1.Util.isSimpleTermDefinitionPrefix(value, expandOptions)) {\n context[key] = Object.assign(Object.assign({}, context[key]), { '@prefix': true });\n }\n }\n }\n }\n delete context['@protected'];\n }\n }\n }\n /**\n * Check if the given context inheritance does not contain any overrides of protected terms.\n * @param {IJsonLdContextNormalizedRaw} contextBefore The context that may contain some protected terms.\n * @param {IJsonLdContextNormalizedRaw} contextAfter A new context that is being applied on the first one.\n * @param {IExpandOptions} expandOptions Options that are needed for any expansions during this validation.\n * @param {string[]} keys Optional set of keys from the context to validate. If left undefined, all\n * keys defined in contextAfter will be checked.\n */\n validateKeywordRedefinitions(contextBefore, contextAfter, expandOptions, keys) {\n for (const key of (keys !== null && keys !== void 0 ? keys : Object.keys(contextAfter))) {\n if (Util_1.Util.isTermProtected(contextBefore, key)) {\n // The entry in the context before will always be in object-mode\n // If the new entry is in string-mode, convert it to object-mode\n // before checking if it is identical.\n if (typeof contextAfter[key] === 'string') {\n contextAfter[key] = { '@id': contextAfter[key], '@protected': true };\n }\n else {\n // We modify this deliberately,\n // as we need it for the value comparison (they must be identical modulo '@protected')),\n // and for the fact that this new value will override the first one.\n contextAfter[key] = Object.assign(Object.assign({}, contextAfter[key]), { '@protected': true });\n }\n // Error if they are not identical\n if (!Util_1.Util.deepEqual(contextBefore[key], contextAfter[key])) {\n throw new ErrorCoded_1.ErrorCoded(`Attempted to override the protected keyword ${key} from ${JSON.stringify(Util_1.Util.getContextValueId(contextBefore[key]))} to ${JSON.stringify(Util_1.Util.getContextValueId(contextAfter[key]))}`, ErrorCoded_1.ERROR_CODES.PROTECTED_TERM_REDEFINITION);\n }\n }\n }\n }\n /**\n * Validate the entries of the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} options The parse options.\n */\n validate(context, { processingMode }) {\n for (const key of Object.keys(context)) {\n // Ignore reserved internal keywords.\n if (Util_1.Util.isReservedInternalKeyword(key)) {\n continue;\n }\n // Do not allow empty term\n if (key === '') {\n throw new ErrorCoded_1.ErrorCoded(`The empty term is not allowed, got: '${key}': '${JSON.stringify(context[key])}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n const value = context[key];\n const valueType = typeof value;\n // First check if the key is a keyword\n if (Util_1.Util.isPotentialKeyword(key)) {\n switch (key.substr(1)) {\n case 'vocab':\n if (value !== null && valueType !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @vocab IRI: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_VOCAB_MAPPING);\n }\n break;\n case 'base':\n if (value !== null && valueType !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @base IRI: ${context[key]}`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_IRI);\n }\n break;\n case 'language':\n if (value !== null) {\n ContextParser.validateLanguage(value, true, ErrorCoded_1.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);\n }\n break;\n case 'version':\n if (value !== null && valueType !== 'number') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @version number: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_VERSION_VALUE);\n }\n break;\n case 'direction':\n if (value !== null) {\n ContextParser.validateDirection(value, true);\n }\n break;\n case 'propagate':\n if (processingMode === 1.0) {\n throw new ErrorCoded_1.ErrorCoded(`Found an illegal @propagate keyword: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n if (value !== null && valueType !== 'boolean') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @propagate value: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_PROPAGATE_VALUE);\n }\n break;\n }\n // Don't allow keywords to be overridden\n if (Util_1.Util.isValidKeyword(key) && Util_1.Util.isValidKeyword(Util_1.Util.getContextValueId(value))) {\n throw new ErrorCoded_1.ErrorCoded(`Illegal keyword alias in term value, found: '${key}': '${Util_1.Util\n .getContextValueId(value)}'`, ErrorCoded_1.ERROR_CODES.KEYWORD_REDEFINITION);\n }\n continue;\n }\n // Otherwise, consider the key a term\n if (value !== null) {\n switch (valueType) {\n case 'string':\n if (Util_1.Util.getPrefix(value, context) === key) {\n throw new ErrorCoded_1.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${key}': '${JSON\n .stringify(value)}'`, ErrorCoded_1.ERROR_CODES.CYCLIC_IRI_MAPPING);\n }\n if (Util_1.Util.isValidIriWeak(key)) {\n if (value === '@type') {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to @type, found: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n else if (Util_1.Util.isValidIri(value) && value !== new JsonLdContextNormalized_1.JsonLdContextNormalized(context).expandTerm(key)) {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n break;\n case 'object':\n if (!Util_1.Util.isCompactIri(key) && !('@id' in value)\n && (value['@type'] === '@id' ? !context['@base'] : !context['@vocab'])) {\n throw new ErrorCoded_1.ErrorCoded(`Missing @id in context entry: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n for (const objectKey of Object.keys(value)) {\n const objectValue = value[objectKey];\n if (!objectValue) {\n continue;\n }\n switch (objectKey) {\n case '@id':\n if (Util_1.Util.isValidKeyword(objectValue)\n && objectValue !== '@type' && objectValue !== '@id' && objectValue !== '@graph' && objectValue !== '@nest') {\n throw new ErrorCoded_1.ErrorCoded(`Illegal keyword alias in term value, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n if (Util_1.Util.isValidIriWeak(key)) {\n if (objectValue === '@type') {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to @type, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n else if (Util_1.Util.isValidIri(objectValue)\n && objectValue !== new JsonLdContextNormalized_1.JsonLdContextNormalized(context).expandTerm(key)) {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n if (typeof objectValue !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Detected non-string @id in context entry: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n if (Util_1.Util.getPrefix(objectValue, context) === key) {\n throw new ErrorCoded_1.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${key}': '${JSON\n .stringify(value)}'`, ErrorCoded_1.ERROR_CODES.CYCLIC_IRI_MAPPING);\n }\n break;\n case '@type':\n if (value['@container'] === '@type' && objectValue !== '@id' && objectValue !== '@vocab') {\n throw new ErrorCoded_1.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${key}': '${objectValue}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n if (typeof objectValue !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(valueType)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n if (objectValue !== '@id' && objectValue !== '@vocab'\n && (processingMode === 1.0 || objectValue !== '@json')\n && (processingMode === 1.0 || objectValue !== '@none')\n && (objectValue[0] === '_' || !Util_1.Util.isValidIri(objectValue))) {\n throw new ErrorCoded_1.ErrorCoded(`A context @type must be an absolute IRI, found: '${key}': '${objectValue}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n break;\n case '@reverse':\n if (typeof objectValue === 'string' && value['@id'] && value['@id'] !== objectValue) {\n throw new ErrorCoded_1.ErrorCoded(`Found non-matching @id and @reverse term values in '${key}':\\\n'${objectValue}' and '${value['@id']}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n if ('@nest' in value) {\n throw new ErrorCoded_1.ErrorCoded(`@nest is not allowed in the reverse property '${key}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n break;\n case '@container':\n if (processingMode === 1.0) {\n if (Object.keys(objectValue).length > 1\n || Util_1.Util.CONTAINERS_1_0.indexOf(Object.keys(objectValue)[0]) < 0) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid term @container for '${key}' ('${Object.keys(objectValue)}') in 1.0, \\\nmust be only one of ${Util_1.Util.CONTAINERS_1_0.join(', ')}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTAINER_MAPPING);\n }\n }\n for (const containerValue of Object.keys(objectValue)) {\n if (containerValue === '@list' && value['@reverse']) {\n throw new ErrorCoded_1.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${key}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n if (Util_1.Util.CONTAINERS.indexOf(containerValue) < 0) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid term @container for '${key}' ('${containerValue}'), \\\nmust be one of ${Util_1.Util.CONTAINERS.join(', ')}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTAINER_MAPPING);\n }\n }\n break;\n case '@language':\n ContextParser.validateLanguage(objectValue, true, ErrorCoded_1.ERROR_CODES.INVALID_LANGUAGE_MAPPING);\n break;\n case '@direction':\n ContextParser.validateDirection(objectValue, true);\n break;\n case '@prefix':\n if (objectValue !== null && typeof objectValue !== 'boolean') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term @prefix boolean in: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_PREFIX_VALUE);\n }\n if (!('@id' in value) && !Util_1.Util.isValidIri(key)) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid @prefix definition for '${key}' ('${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n break;\n case '@index':\n if (processingMode === 1.0 || !value['@container'] || !value['@container']['@index']) {\n throw new ErrorCoded_1.ErrorCoded(`Attempt to add illegal key to value object: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n break;\n case '@nest':\n if (Util_1.Util.isPotentialKeyword(objectValue) && objectValue !== '@nest') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term @nest value in: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_NEST_VALUE);\n }\n }\n }\n break;\n default:\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term value: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n }\n }\n }\n /**\n * Apply the @base context entry to the given context under certain circumstances.\n * @param context A context.\n * @param options Parsing options.\n * @param inheritFromParent If the @base value from the parent context can be inherited.\n * @return The given context.\n */\n applyBaseEntry(context, options, inheritFromParent) {\n // In some special cases, this can be a string, so ignore those.\n if (typeof context === 'string') {\n return context;\n }\n // Give priority to @base in the parent context\n if (inheritFromParent && !('@base' in context) && options.parentContext\n && typeof options.parentContext === 'object' && '@base' in options.parentContext) {\n context['@base'] = options.parentContext['@base'];\n if (options.parentContext['@__baseDocument']) {\n context['@__baseDocument'] = true;\n }\n }\n // Override the base IRI if provided.\n if (options.baseIRI && !options.external) {\n if (!('@base' in context)) {\n // The context base is the document base\n context['@base'] = options.baseIRI;\n context['@__baseDocument'] = true;\n }\n else if (context['@base'] !== null && typeof context['@base'] === 'string'\n && !Util_1.Util.isValidIri(context['@base'])) {\n // The context base is relative to the document base\n context['@base'] = (0, relative_to_absolute_iri_1.resolve)(context['@base'], options.parentContext && options.parentContext['@base'] || options.baseIRI);\n }\n }\n return context;\n }\n /**\n * Resolve relative context IRIs, or return full IRIs as-is.\n * @param {string} contextIri A context IRI.\n * @param {string} baseIRI A base IRI.\n * @return {string} The normalized context IRI.\n */\n normalizeContextIri(contextIri, baseIRI) {\n if (!Util_1.Util.isValidIri(contextIri)) {\n try {\n contextIri = (0, relative_to_absolute_iri_1.resolve)(contextIri, baseIRI);\n }\n catch (_a) {\n throw new Error(`Invalid context IRI: ${contextIri}`);\n }\n }\n // TODO: Temporary workaround for fixing schema.org CORS issues (https://github.com/schemaorg/schemaorg/issues/2578#issuecomment-652324465)\n if (this.redirectSchemaOrgHttps && contextIri.startsWith('http://schema.org')) {\n contextIri = 'https://schema.org/';\n }\n return contextIri;\n }\n /**\n * Parse scoped contexts in the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} options Parsing options.\n * @return {IJsonLdContextNormalizedRaw} The mutated input context.\n * @param {string[]} keys Optional set of keys from the context to parseInnerContexts of. If left undefined, all\n * keys in the context will be iterated over.\n */\n async parseInnerContexts(context, options, keys) {\n for (const key of (keys !== null && keys !== void 0 ? keys : Object.keys(context))) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if ('@context' in value && value['@context'] !== null && !options.ignoreScopedContexts) {\n // Simulate a processing based on the parent context to check if there are any (potential errors).\n // Honestly, I find it a bit weird to do this here, as the context may be unused,\n // and the final effective context may differ based on any other embedded/scoped contexts.\n // But hey, it's part of the spec, so we have no choice...\n // https://w3c.github.io/json-ld-api/#h-note-10\n if (this.validateContext) {\n try {\n const parentContext = Object.assign(Object.assign({}, context), { [key]: Object.assign({}, context[key]) });\n delete parentContext[key]['@context'];\n await this.parse(value['@context'], Object.assign(Object.assign({}, options), { external: false, parentContext, ignoreProtection: true, ignoreRemoteScopedContexts: true, ignoreScopedContexts: true }));\n }\n catch (e) {\n throw new ErrorCoded_1.ErrorCoded(e.message, ErrorCoded_1.ERROR_CODES.INVALID_SCOPED_CONTEXT);\n }\n }\n context[key] = Object.assign(Object.assign({}, value), { '@context': (await this.parse(value['@context'], Object.assign(Object.assign({}, options), { external: false, minimalProcessing: true, ignoreRemoteScopedContexts: true, parentContext: context })))\n .getContextRaw() });\n }\n }\n }\n return context;\n }\n async parse(context, options = {}, \n // These options are only for internal use on recursive calls and should not be used by\n // libraries consuming this function\n internalOptions = {}) {\n const { baseIRI, parentContext, external, processingMode = ContextParser.DEFAULT_PROCESSING_MODE, normalizeLanguageTags, ignoreProtection, minimalProcessing, } = options;\n const remoteContexts = options.remoteContexts || {};\n // Avoid remote context overflows\n if (Object.keys(remoteContexts).length >= this.remoteContextsDepthLimit) {\n throw new ErrorCoded_1.ErrorCoded('Detected an overflow in remote context inclusions: ' + Object.keys(remoteContexts), ErrorCoded_1.ERROR_CODES.CONTEXT_OVERFLOW);\n }\n if (context === null || context === undefined) {\n // Don't allow context nullification and there are protected terms\n if (!ignoreProtection && parentContext && Util_1.Util.hasProtectedTerms(parentContext)) {\n throw new ErrorCoded_1.ErrorCoded('Illegal context nullification when terms are protected', ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);\n }\n // Context that are explicitly set to null are empty.\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(this.applyBaseEntry({}, options, false));\n }\n else if (typeof context === 'string') {\n const contextIri = this.normalizeContextIri(context, baseIRI);\n const overriddenLoad = this.getOverriddenLoad(contextIri, options);\n if (overriddenLoad) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(overriddenLoad);\n }\n const parsedStringContext = await this.parse(await this.load(contextIri), Object.assign(Object.assign({}, options), { baseIRI: contextIri, external: true, remoteContexts: Object.assign(Object.assign({}, remoteContexts), { [contextIri]: true }) }));\n this.applyBaseEntry(parsedStringContext.getContextRaw(), options, true);\n return parsedStringContext;\n }\n else if (Array.isArray(context)) {\n // As a performance consideration, first load all external contexts in parallel.\n const contextIris = [];\n const contexts = await Promise.all(context.map((subContext, i) => {\n if (typeof subContext === 'string') {\n const contextIri = this.normalizeContextIri(subContext, baseIRI);\n contextIris[i] = contextIri;\n const overriddenLoad = this.getOverriddenLoad(contextIri, options);\n if (overriddenLoad) {\n return overriddenLoad;\n }\n return this.load(contextIri);\n }\n else {\n return subContext;\n }\n }));\n // Don't apply inheritance logic on minimal processing\n if (minimalProcessing) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(contexts);\n }\n const reducedContexts = await contexts.reduce((accContextPromise, contextEntry, i) => accContextPromise\n .then((accContext) => this.parse(contextEntry, Object.assign(Object.assign({}, options), { baseIRI: contextIris[i] || options.baseIRI, external: !!contextIris[i] || options.external, parentContext: accContext.getContextRaw(), remoteContexts: contextIris[i] ? Object.assign(Object.assign({}, remoteContexts), { [contextIris[i]]: true }) : remoteContexts }), \n // @ts-expect-error: This third argument causes a type error because we have hidden it from consumers\n {\n skipValidation: i < contexts.length - 1,\n })), Promise.resolve(new JsonLdContextNormalized_1.JsonLdContextNormalized(parentContext || {})));\n // Override the base IRI if provided.\n this.applyBaseEntry(reducedContexts.getContextRaw(), options, true);\n return reducedContexts;\n }\n else if (typeof context === 'object') {\n if ('@context' in context) {\n return await this.parse(context['@context'], options);\n }\n // Make a deep clone of the given context, to avoid modifying it.\n context = Object.assign({}, context);\n // According to the JSON-LD spec, @base must be ignored from external contexts.\n if (external) {\n delete context['@base'];\n }\n // Override the base IRI if provided.\n this.applyBaseEntry(context, options, true);\n // Hashify container entries\n // Do this before protected term validation as that influences term format\n this.containersToHash(context);\n // Don't perform any other modifications if only minimal processing is needed.\n if (minimalProcessing) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(context);\n }\n // In JSON-LD 1.1, load @import'ed context prior to processing.\n let importContext = {};\n if ('@import' in context) {\n if (processingMode >= 1.1) {\n // Only accept string values\n if (typeof context['@import'] !== 'string') {\n throw new ErrorCoded_1.ErrorCoded('An @import value must be a string, but got ' + typeof context['@import'], ErrorCoded_1.ERROR_CODES.INVALID_IMPORT_VALUE);\n }\n // Load context\n importContext = await this.loadImportContext(this.normalizeContextIri(context['@import'], baseIRI));\n delete context['@import'];\n }\n else {\n throw new ErrorCoded_1.ErrorCoded('Context importing is not supported in JSON-LD 1.0', ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n }\n this.applyScopedProtected(importContext, { processingMode }, JsonLdContextNormalized_1.defaultExpandOptions);\n const newContext = Object.assign(importContext, context);\n // Handle terms (before protection checks)\n this.idifyReverseTerms(newContext);\n this.normalize(newContext, { processingMode, normalizeLanguageTags });\n this.applyScopedProtected(newContext, { processingMode }, JsonLdContextNormalized_1.defaultExpandOptions);\n const keys = Object.keys(newContext);\n const overlappingKeys = [];\n if (typeof parentContext === 'object') {\n // Merge different parts of the final context in order\n for (const key in parentContext) {\n if (key in newContext) {\n overlappingKeys.push(key);\n }\n else {\n newContext[key] = parentContext[key];\n }\n }\n }\n // Parse inner contexts with minimal processing\n await this.parseInnerContexts(newContext, options, keys);\n const newContextWrapped = new JsonLdContextNormalized_1.JsonLdContextNormalized(newContext);\n // In JSON-LD 1.1, @vocab can be relative to @vocab in the parent context, or a compact IRI.\n if ((newContext && newContext['@version'] || ContextParser.DEFAULT_PROCESSING_MODE) >= 1.1\n && ((context['@vocab'] && typeof context['@vocab'] === 'string') || context['@vocab'] === '')) {\n if (parentContext && '@vocab' in parentContext && context['@vocab'].indexOf(':') < 0) {\n newContext['@vocab'] = parentContext['@vocab'] + context['@vocab'];\n }\n else if (Util_1.Util.isCompactIri(context['@vocab']) || context['@vocab'] in newContext) {\n // @vocab is a compact IRI or refers exactly to a prefix\n newContext['@vocab'] = newContextWrapped.expandTerm(context['@vocab'], true);\n }\n }\n this.expandPrefixedTerms(newContextWrapped, this.expandContentTypeToBase, keys);\n // In JSON-LD 1.1, check if we are not redefining any protected keywords\n if (!ignoreProtection && parentContext && processingMode >= 1.1) {\n this.validateKeywordRedefinitions(parentContext, newContext, JsonLdContextNormalized_1.defaultExpandOptions, overlappingKeys);\n }\n if (this.validateContext && !internalOptions.skipValidation) {\n this.validate(newContext, { processingMode });\n }\n return newContextWrapped;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${context}`, ErrorCoded_1.ERROR_CODES.INVALID_LOCAL_CONTEXT);\n }\n }\n /**\n * Fetch the given URL as a raw JSON-LD context.\n * @param url An URL.\n * @return A promise resolving to a raw JSON-LD context.\n */\n async load(url) {\n // First try to retrieve the context from cache\n const cached = this.documentCache[url];\n if (cached) {\n return cached;\n }\n // If not in cache, load it\n let document;\n try {\n document = await this.documentLoader.load(url);\n }\n catch (e) {\n throw new ErrorCoded_1.ErrorCoded(`Failed to load remote context ${url}: ${e.message}`, ErrorCoded_1.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED);\n }\n // Validate the context\n if (!('@context' in document)) {\n throw new ErrorCoded_1.ErrorCoded(`Missing @context in remote context at ${url}`, ErrorCoded_1.ERROR_CODES.INVALID_REMOTE_CONTEXT);\n }\n return this.documentCache[url] = document['@context'];\n }\n /**\n * Override the given context that may be loaded.\n *\n * This will check whether or not the url is recursively being loaded.\n * @param url An URL.\n * @param options Parsing options.\n * @return An overridden context, or null.\n * Optionally an error can be thrown if a cyclic context is detected.\n */\n getOverriddenLoad(url, options) {\n if (url in (options.remoteContexts || {})) {\n if (options.ignoreRemoteScopedContexts) {\n return url;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded('Detected a cyclic context inclusion of ' + url, ErrorCoded_1.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION);\n }\n }\n return null;\n }\n /**\n * Load an @import'ed context.\n * @param importContextIri The full URI of an @import value.\n */\n async loadImportContext(importContextIri) {\n // Load the context - and do a deep clone since we are about to mutate it\n let importContext = await this.load(importContextIri);\n // Require the context to be a non-array object\n if (typeof importContext !== 'object' || Array.isArray(importContext)) {\n throw new ErrorCoded_1.ErrorCoded('An imported context must be a single object: ' + importContextIri, ErrorCoded_1.ERROR_CODES.INVALID_REMOTE_CONTEXT);\n }\n // Error if the context contains another @import\n if ('@import' in importContext) {\n throw new ErrorCoded_1.ErrorCoded('An imported context can not import another context: ' + importContextIri, ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n importContext = Object.assign({}, importContext);\n // Containers have to be converted into hash values the same way as for the importing context\n // Otherwise context validation will fail for container values\n this.containersToHash(importContext);\n return importContext;\n }\n}\nContextParser.DEFAULT_PROCESSING_MODE = 1.1;\nexports.ContextParser = ContextParser;\n//# sourceMappingURL=ContextParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ERROR_CODES = exports.ErrorCoded = void 0;\n/**\n * An error that has a certain error code.\n *\n * The error code can be any string.\n * All standardized error codes are listed in {@link ERROR_CODES}.\n */\nclass ErrorCoded extends Error {\n /* istanbul ignore next */\n constructor(message, code) {\n super(message);\n this.code = code;\n }\n}\nexports.ErrorCoded = ErrorCoded;\n/**\n * All standardized JSON-LD error codes.\n * @see https://w3c.github.io/json-ld-api/#dom-jsonlderrorcode\n */\n// tslint:disable:object-literal-sort-keys\nvar ERROR_CODES;\n(function (ERROR_CODES) {\n ERROR_CODES[\"COLLIDING_KEYWORDS\"] = \"colliding keywords\";\n ERROR_CODES[\"CONFLICTING_INDEXES\"] = \"conflicting indexes\";\n ERROR_CODES[\"CYCLIC_IRI_MAPPING\"] = \"cyclic IRI mapping\";\n ERROR_CODES[\"INVALID_ID_VALUE\"] = \"invalid @id value\";\n ERROR_CODES[\"INVALID_INDEX_VALUE\"] = \"invalid @index value\";\n ERROR_CODES[\"INVALID_NEST_VALUE\"] = \"invalid @nest value\";\n ERROR_CODES[\"INVALID_PREFIX_VALUE\"] = \"invalid @prefix value\";\n ERROR_CODES[\"INVALID_PROPAGATE_VALUE\"] = \"invalid @propagate value\";\n ERROR_CODES[\"INVALID_REVERSE_VALUE\"] = \"invalid @reverse value\";\n ERROR_CODES[\"INVALID_IMPORT_VALUE\"] = \"invalid @import value\";\n ERROR_CODES[\"INVALID_VERSION_VALUE\"] = \"invalid @version value\";\n ERROR_CODES[\"INVALID_BASE_IRI\"] = \"invalid base IRI\";\n ERROR_CODES[\"INVALID_CONTAINER_MAPPING\"] = \"invalid container mapping\";\n ERROR_CODES[\"INVALID_CONTEXT_ENTRY\"] = \"invalid context entry\";\n ERROR_CODES[\"INVALID_CONTEXT_NULLIFICATION\"] = \"invalid context nullification\";\n ERROR_CODES[\"INVALID_DEFAULT_LANGUAGE\"] = \"invalid default language\";\n ERROR_CODES[\"INVALID_INCLUDED_VALUE\"] = \"invalid @included value\";\n ERROR_CODES[\"INVALID_IRI_MAPPING\"] = \"invalid IRI mapping\";\n ERROR_CODES[\"INVALID_JSON_LITERAL\"] = \"invalid JSON literal\";\n ERROR_CODES[\"INVALID_KEYWORD_ALIAS\"] = \"invalid keyword alias\";\n ERROR_CODES[\"INVALID_LANGUAGE_MAP_VALUE\"] = \"invalid language map value\";\n ERROR_CODES[\"INVALID_LANGUAGE_MAPPING\"] = \"invalid language mapping\";\n ERROR_CODES[\"INVALID_LANGUAGE_TAGGED_STRING\"] = \"invalid language-tagged string\";\n ERROR_CODES[\"INVALID_LANGUAGE_TAGGED_VALUE\"] = \"invalid language-tagged value\";\n ERROR_CODES[\"INVALID_LOCAL_CONTEXT\"] = \"invalid local context\";\n ERROR_CODES[\"INVALID_REMOTE_CONTEXT\"] = \"invalid remote context\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY\"] = \"invalid reverse property\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY_MAP\"] = \"invalid reverse property map\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY_VALUE\"] = \"invalid reverse property value\";\n ERROR_CODES[\"INVALID_SCOPED_CONTEXT\"] = \"invalid scoped context\";\n ERROR_CODES[\"INVALID_SCRIPT_ELEMENT\"] = \"invalid script element\";\n ERROR_CODES[\"INVALID_SET_OR_LIST_OBJECT\"] = \"invalid set or list object\";\n ERROR_CODES[\"INVALID_TERM_DEFINITION\"] = \"invalid term definition\";\n ERROR_CODES[\"INVALID_TYPE_MAPPING\"] = \"invalid type mapping\";\n ERROR_CODES[\"INVALID_TYPE_VALUE\"] = \"invalid type value\";\n ERROR_CODES[\"INVALID_TYPED_VALUE\"] = \"invalid typed value\";\n ERROR_CODES[\"INVALID_VALUE_OBJECT\"] = \"invalid value object\";\n ERROR_CODES[\"INVALID_VALUE_OBJECT_VALUE\"] = \"invalid value object value\";\n ERROR_CODES[\"INVALID_VOCAB_MAPPING\"] = \"invalid vocab mapping\";\n ERROR_CODES[\"IRI_CONFUSED_WITH_PREFIX\"] = \"IRI confused with prefix\";\n ERROR_CODES[\"KEYWORD_REDEFINITION\"] = \"keyword redefinition\";\n ERROR_CODES[\"LOADING_DOCUMENT_FAILED\"] = \"loading document failed\";\n ERROR_CODES[\"LOADING_REMOTE_CONTEXT_FAILED\"] = \"loading remote context failed\";\n ERROR_CODES[\"MULTIPLE_CONTEXT_LINK_HEADERS\"] = \"multiple context link headers\";\n ERROR_CODES[\"PROCESSING_MODE_CONFLICT\"] = \"processing mode conflict\";\n ERROR_CODES[\"PROTECTED_TERM_REDEFINITION\"] = \"protected term redefinition\";\n ERROR_CODES[\"CONTEXT_OVERFLOW\"] = \"context overflow\";\n ERROR_CODES[\"INVALID_BASE_DIRECTION\"] = \"invalid base direction\";\n ERROR_CODES[\"RECURSIVE_CONTEXT_INCLUSION\"] = \"recursive context inclusion\";\n ERROR_CODES[\"INVALID_STREAMING_KEY_ORDER\"] = \"invalid streaming key order\";\n /**\n * JSON-LD-star\n */\n ERROR_CODES[\"INVALID_EMBEDDED_NODE\"] = \"invalid embedded node\";\n ERROR_CODES[\"INVALID_ANNOTATION\"] = \"invalid annotation\";\n})(ERROR_CODES = exports.ERROR_CODES || (exports.ERROR_CODES = {}));\n//# sourceMappingURL=ErrorCoded.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FetchDocumentLoader = void 0;\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst http_link_header_1 = require(\"http-link-header\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * Loads documents via the fetch API.\n */\nclass FetchDocumentLoader {\n constructor(fetcher) {\n this.fetcher = fetcher;\n }\n async load(url) {\n const response = await (this.fetcher || fetch)(url, { headers: new Headers({ accept: 'application/ld+json' }) });\n if (response.ok && response.headers) {\n let mediaType = response.headers.get('Content-Type');\n if (mediaType) {\n const colonPos = mediaType.indexOf(';');\n if (colonPos > 0) {\n mediaType = mediaType.substr(0, colonPos);\n }\n }\n if (mediaType === 'application/ld+json') {\n // Return JSON-LD if proper content type was returned\n return (await response.json());\n }\n else {\n // Check for alternate link for a non-JSON-LD response\n if (response.headers.has('Link')) {\n let alternateUrl;\n response.headers.forEach((value, key) => {\n if (key === 'link') {\n const linkHeader = (0, http_link_header_1.parse)(value);\n for (const link of linkHeader.get('type', 'application/ld+json')) {\n if (link.rel === 'alternate') {\n if (alternateUrl) {\n throw new Error('Multiple JSON-LD alternate links were found on ' + url);\n }\n alternateUrl = (0, relative_to_absolute_iri_1.resolve)(link.uri, url);\n }\n }\n }\n });\n if (alternateUrl) {\n return this.load(alternateUrl);\n }\n }\n throw new ErrorCoded_1.ErrorCoded(`Unsupported JSON-LD media type ${mediaType}`, ErrorCoded_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n }\n else {\n throw new Error(response.statusText || `Status code: ${response.status}`);\n }\n }\n}\nexports.FetchDocumentLoader = FetchDocumentLoader;\n//# sourceMappingURL=FetchDocumentLoader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IDocumentLoader.js.map","\"use strict\";\n// tslint:disable:max-line-length\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=JsonLdContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultExpandOptions = exports.JsonLdContextNormalized = void 0;\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst Util_1 = require(\"./Util\");\n/**\n * A class exposing operations over a normalized JSON-LD context.\n */\nclass JsonLdContextNormalized {\n constructor(contextRaw) {\n this.contextRaw = contextRaw;\n }\n /**\n * @return The raw inner context.\n */\n getContextRaw() {\n return this.contextRaw;\n }\n /**\n * Expand the term or prefix of the given term if it has one,\n * otherwise return the term as-is.\n *\n * This will try to expand the IRI as much as possible.\n *\n * Iff in vocab-mode, then other references to other terms in the context can be used,\n * such as to `myTerm`:\n * ```\n * {\n * \"myTerm\": \"http://example.org/myLongTerm\"\n * }\n * ```\n *\n * @param {string} term A term that is an URL or a prefixed URL.\n * @param {boolean} expandVocab If the term is a predicate or type and should be expanded based on @vocab,\n * otherwise it is considered a regular term that is expanded based on @base.\n * @param {IExpandOptions} options Options that define the way how expansion must be done.\n * @return {string} The expanded term, the term as-is, or null if it was explicitly disabled in the context.\n * @throws If the term is aliased to an invalid value (not a string, IRI or keyword).\n */\n expandTerm(term, expandVocab, options = exports.defaultExpandOptions) {\n const contextValue = this.contextRaw[term];\n // Immediately return if the term was disabled in the context\n if (contextValue === null || (contextValue && contextValue['@id'] === null)) {\n return null;\n }\n // Check the @id\n let validIriMapping = true;\n if (contextValue && expandVocab) {\n const value = Util_1.Util.getContextValueId(contextValue);\n if (value && value !== term) {\n if (typeof value !== 'string' || (!Util_1.Util.isValidIri(value) && !Util_1.Util.isValidKeyword(value))) {\n // Don't mark this mapping as invalid if we have an unknown keyword, but of the correct form.\n if (!Util_1.Util.isPotentialKeyword(value)) {\n validIriMapping = false;\n }\n }\n else {\n return value;\n }\n }\n }\n // Check if the term is prefixed\n const prefix = Util_1.Util.getPrefix(term, this.contextRaw);\n const vocab = this.contextRaw['@vocab'];\n const vocabRelative = (!!vocab || vocab === '') && vocab.indexOf(':') < 0;\n const base = this.contextRaw['@base'];\n const potentialKeyword = Util_1.Util.isPotentialKeyword(term);\n if (prefix) {\n const contextPrefixValue = this.contextRaw[prefix];\n const value = Util_1.Util.getContextValueId(contextPrefixValue);\n if (value) {\n if (typeof contextPrefixValue === 'string' || !options.allowPrefixForcing) {\n // If we have a simple term definition,\n // check the last character of the prefix to determine whether or not it is a prefix.\n // Validate that prefix ends with gen-delim character, unless @prefix is true\n if (!Util_1.Util.isSimpleTermDefinitionPrefix(value, options)) {\n // Treat the term as an absolute IRI\n return term;\n }\n }\n else {\n // If we have an expanded term definition, default to @prefix: false\n if (value[0] !== '_' && !potentialKeyword && !contextPrefixValue['@prefix'] && !(term in this.contextRaw)) {\n // Treat the term as an absolute IRI\n return term;\n }\n }\n return value + term.substr(prefix.length + 1);\n }\n }\n else if (expandVocab && ((vocab || vocab === '') || (options.allowVocabRelativeToBase && (base && vocabRelative)))\n && !potentialKeyword && !Util_1.Util.isCompactIri(term)) {\n if (vocabRelative) {\n if (options.allowVocabRelativeToBase) {\n return ((vocab || base) ? (0, relative_to_absolute_iri_1.resolve)(vocab, base) : '') + term;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Relative vocab expansion for term '${term}' with vocab '${vocab}' is not allowed.`, ErrorCoded_1.ERROR_CODES.INVALID_VOCAB_MAPPING);\n }\n }\n else {\n return vocab + term;\n }\n }\n else if (!expandVocab && base && !potentialKeyword && !Util_1.Util.isCompactIri(term)) {\n return (0, relative_to_absolute_iri_1.resolve)(term, base);\n }\n // Return the term as-is, unless we discovered an invalid IRI mapping for this term in the context earlier.\n if (validIriMapping) {\n return term;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Invalid IRI mapping found for context entry '${term}': '${JSON.stringify(contextValue)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n /**\n * Compact the given term using @base, @vocab, an aliased term, or a prefixed term.\n *\n * This will try to compact the IRI as much as possible.\n *\n * @param {string} iri An IRI to compact.\n * @param {boolean} vocab If the term is a predicate or type and should be compacted based on @vocab,\n * otherwise it is considered a regular term that is compacted based on @base.\n * @return {string} The compacted term or the IRI as-is.\n */\n compactIri(iri, vocab) {\n // Try @vocab compacting\n if (vocab && this.contextRaw['@vocab'] && iri.startsWith(this.contextRaw['@vocab'])) {\n return iri.substr(this.contextRaw['@vocab'].length);\n }\n // Try @base compacting\n if (!vocab && this.contextRaw['@base'] && iri.startsWith(this.contextRaw['@base'])) {\n return iri.substr(this.contextRaw['@base'].length);\n }\n // Loop over all terms in the context\n // This will try to prefix as short as possible.\n // Once a fully compacted alias is found, return immediately, as we can not go any shorter.\n const shortestPrefixing = { prefix: '', suffix: iri };\n for (const key in this.contextRaw) {\n const value = this.contextRaw[key];\n if (value && !Util_1.Util.isPotentialKeyword(key)) {\n const contextIri = Util_1.Util.getContextValueId(value);\n if (iri.startsWith(contextIri)) {\n const suffix = iri.substr(contextIri.length);\n if (!suffix) {\n if (vocab) {\n // Immediately return on compacted alias\n return key;\n }\n }\n else if (suffix.length < shortestPrefixing.suffix.length) {\n // Overwrite the shortest prefix\n shortestPrefixing.prefix = key;\n shortestPrefixing.suffix = suffix;\n }\n }\n }\n }\n // Return the shortest prefix\n if (shortestPrefixing.prefix) {\n return shortestPrefixing.prefix + ':' + shortestPrefixing.suffix;\n }\n return iri;\n }\n}\nexports.JsonLdContextNormalized = JsonLdContextNormalized;\nexports.defaultExpandOptions = {\n allowPrefixForcing: true,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: true,\n};\n//# sourceMappingURL=JsonLdContextNormalized.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nclass Util {\n /**\n * Check if the given term is a valid compact IRI.\n * Otherwise, it may be an IRI.\n * @param {string} term A term.\n * @return {boolean} If it is a compact IRI.\n */\n static isCompactIri(term) {\n return term.indexOf(':') > 0 && !(term && term[0] === '#');\n }\n /**\n * Get the prefix from the given term.\n * @see https://json-ld.org/spec/latest/json-ld/#compact-iris\n * @param {string} term A term that is an URL or a prefixed URL.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @return {string} The prefix or null.\n */\n static getPrefix(term, context) {\n // Do not consider relative IRIs starting with a hash as compact IRIs\n if (term && term[0] === '#') {\n return null;\n }\n const separatorPos = term.indexOf(':');\n if (separatorPos >= 0) {\n // Suffix can not begin with two slashes\n if (term.length > separatorPos + 1\n && term.charAt(separatorPos + 1) === '/'\n && term.charAt(separatorPos + 2) === '/') {\n return null;\n }\n const prefix = term.substr(0, separatorPos);\n // Prefix can not be an underscore (this is a blank node)\n if (prefix === '_') {\n return null;\n }\n // Prefix must match a term in the active context\n if (context[prefix]) {\n return prefix;\n }\n }\n return null;\n }\n /**\n * From a given context entry value, get the string value, or the @id field.\n * @param contextValue A value for a term in a context.\n * @return {string} The id value, or null.\n */\n static getContextValueId(contextValue) {\n if (contextValue === null || typeof contextValue === 'string') {\n return contextValue;\n }\n const id = contextValue['@id'];\n return id ? id : null;\n }\n /**\n * Check if the given simple term definition (string-based value of a context term)\n * should be considered a prefix.\n * @param value A simple term definition value.\n * @param options Options that define the way how expansion must be done.\n */\n static isSimpleTermDefinitionPrefix(value, options) {\n return !Util.isPotentialKeyword(value)\n && (options.allowPrefixNonGenDelims || (typeof value === 'string' && (value[0] === '_' || Util.isPrefixIriEndingWithGenDelim(value))));\n }\n /**\n * Check if the given keyword is of the keyword format \"@\"1*ALPHA.\n * @param {string} keyword A potential keyword.\n * @return {boolean} If the given keyword is of the keyword format.\n */\n static isPotentialKeyword(keyword) {\n return typeof keyword === 'string' && Util.KEYWORD_REGEX.test(keyword);\n }\n /**\n * Check if the given prefix ends with a gen-delim character.\n * @param {string} prefixIri A prefix IRI.\n * @return {boolean} If the given prefix IRI is valid.\n */\n static isPrefixIriEndingWithGenDelim(prefixIri) {\n return Util.ENDS_WITH_GEN_DELIM.test(prefixIri);\n }\n /**\n * Check if the given context value can be a prefix value.\n * @param value A context value.\n * @return {boolean} If it can be a prefix value.\n */\n static isPrefixValue(value) {\n return value && (typeof value === 'string' || (value && typeof value === 'object'));\n }\n /**\n * Check if the given IRI is valid.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIri(iri) {\n return Boolean(iri && Util.IRI_REGEX.test(iri));\n }\n /**\n * Check if the given IRI is valid, this includes the possibility of being a relative IRI.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIriWeak(iri) {\n return !!iri && iri[0] !== ':' && Util.IRI_REGEX_WEAK.test(iri);\n }\n /**\n * Check if the given keyword is a defined according to the JSON-LD specification.\n * @param {string} keyword A potential keyword.\n * @return {boolean} If the given keyword is valid.\n */\n static isValidKeyword(keyword) {\n return Util.VALID_KEYWORDS[keyword];\n }\n /**\n * Check if the given term is protected in the context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {string} key A context term.\n * @return {boolean} If the given term has an @protected flag.\n */\n static isTermProtected(context, key) {\n const value = context[key];\n return !(typeof value === 'string') && value && value['@protected'];\n }\n /**\n * Check if the given context has at least one protected term.\n * @param context A context.\n * @return If the context has a protected term.\n */\n static hasProtectedTerms(context) {\n for (const key of Object.keys(context)) {\n if (Util.isTermProtected(context, key)) {\n return true;\n }\n }\n return false;\n }\n /**\n * Check if the given key is an internal reserved keyword.\n * @param key A context key.\n */\n static isReservedInternalKeyword(key) {\n return key.startsWith('@__');\n }\n /**\n * Check if two objects are deepEqual to on another.\n * @param object1 The first object to test.\n * @param object2 The second object to test.\n */\n static deepEqual(object1, object2) {\n const objKeys1 = Object.keys(object1);\n const objKeys2 = Object.keys(object2);\n if (objKeys1.length !== objKeys2.length)\n return false;\n return objKeys1.every((key) => {\n const value1 = object1[key];\n const value2 = object2[key];\n return (value1 === value2) || (value1 !== null &&\n value2 !== null &&\n typeof value1 === \"object\" &&\n typeof value2 === \"object\" &&\n this.deepEqual(value1, value2));\n });\n }\n ;\n}\n// Regex for valid IRIs\nUtil.IRI_REGEX = /^([A-Za-z][A-Za-z0-9+-.]*|_):[^ \"<>{}|\\\\\\[\\]`#]*(#[^#]*)?$/;\n// Weaker regex for valid IRIs, this includes relative IRIs\nUtil.IRI_REGEX_WEAK = /(?::[^:])|\\//;\n// Regex for keyword form\nUtil.KEYWORD_REGEX = /^@[a-z]+$/i;\n// Regex to see if an IRI ends with a gen-delim character (see RFC 3986)\nUtil.ENDS_WITH_GEN_DELIM = /[:/?#\\[\\]@]$/;\n// Regex for language tags\nUtil.REGEX_LANGUAGE_TAG = /^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/;\n// Regex for base directions\nUtil.REGEX_DIRECTION_TAG = /^(ltr)|(rtl)$/;\n// All known valid JSON-LD keywords\n// @see https://www.w3.org/TR/json-ld11/#keywords\nUtil.VALID_KEYWORDS = {\n '@annotation': true,\n '@base': true,\n '@container': true,\n '@context': true,\n '@direction': true,\n '@graph': true,\n '@id': true,\n '@import': true,\n '@included': true,\n '@index': true,\n '@json': true,\n '@language': true,\n '@list': true,\n '@nest': true,\n '@none': true,\n '@prefix': true,\n '@propagate': true,\n '@protected': true,\n '@reverse': true,\n '@set': true,\n '@type': true,\n '@value': true,\n '@version': true,\n '@vocab': true,\n};\n// Keys in the contexts that will not be expanded based on the base IRI\nUtil.EXPAND_KEYS_BLACKLIST = [\n '@base',\n '@vocab',\n '@language',\n '@version',\n '@direction',\n];\n// Keys in the contexts that may not be aliased from\nUtil.ALIAS_DOMAIN_BLACKLIST = [\n '@container',\n '@graph',\n '@id',\n '@index',\n '@list',\n '@nest',\n '@none',\n '@prefix',\n '@reverse',\n '@set',\n '@type',\n '@value',\n '@version',\n];\n// Keys in the contexts that may not be aliased to\nUtil.ALIAS_RANGE_BLACKLIST = [\n '@context',\n '@preserve',\n];\n// All valid @container values\nUtil.CONTAINERS = [\n '@list',\n '@set',\n '@index',\n '@language',\n '@graph',\n '@id',\n '@type',\n];\n// All valid @container values under processing mode 1.0\nUtil.CONTAINERS_1_0 = [\n '@list',\n '@set',\n '@index',\n];\nexports.Util = Util;\n//# sourceMappingURL=Util.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/JsonLdSerializer\"), exports);\n__exportStar(require(\"./lib/Util\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JsonLdSerializer = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst SeparatorType_1 = require(\"./SeparatorType\");\nconst Util_1 = require(\"./Util\");\nconst readable_stream_1 = require(\"readable-stream\");\n/**\n * A stream transformer that transforms an {@link RDF.Stream} into a JSON-LD (text) stream.\n */\nclass JsonLdSerializer extends readable_stream_1.Transform {\n constructor(options = {}) {\n super({ objectMode: true });\n this.indentation = 0;\n this.options = options;\n // Parse the context\n if (this.options.baseIRI && !this.options.context) {\n this.options.context = { '@base': this.options.baseIRI };\n }\n if (this.options.context) {\n this.originalContext = this.options.context;\n this.context = new jsonld_context_parser_1.ContextParser().parse(this.options.context, { baseIRI: this.options.baseIRI });\n }\n else {\n this.context = Promise.resolve(new jsonld_context_parser_1.JsonLdContextNormalized({}));\n }\n }\n /**\n * Parses the given text stream into a quad stream.\n * @param {NodeJS.EventEmitter} stream A text stream.\n * @return {NodeJS.EventEmitter} A quad stream.\n */\n import(stream) {\n const output = new readable_stream_1.PassThrough({ objectMode: true });\n stream.on('error', (error) => parsed.emit('error', error));\n stream.on('data', (data) => output.push(data));\n stream.on('end', () => output.push(null));\n const parsed = output.pipe(new JsonLdSerializer(this.options));\n return parsed;\n }\n /**\n * Transforms a quad into the text stream.\n * @param {Quad} quad An RDF quad.\n * @param {string} encoding An (ignored) encoding.\n * @param {module:stream.internal.TransformCallback} callback Callback that is invoked when the transformation is done\n * @private\n */\n _transform(quad, encoding, callback) {\n this.context.then((context) => {\n this.transformQuad(quad, context);\n callback();\n }).catch(callback);\n }\n /**\n * Construct a list in an RDF.Term object that can be used\n * inside a quad's object to write into the serializer\n * as a list using the @list keyword.\n * @param {RDF.Quad_Object[]} values A list of values, can be empty.\n * @return {RDF.Quad_Object} A term that should be used in the object position of the quad that is written to the serializer.\n */\n async list(values) {\n const context = await this.context;\n return {\n '@list': values.map((value) => Util_1.Util.termToValue(value, context, this.options)),\n };\n }\n /**\n * Called when the incoming stream is closed.\n * @param {module:stream.internal.TransformCallback} callback Callback that is invoked when the flushing is done.\n * @private\n */\n _flush(callback) {\n // If the stream was empty, ensure that we push the opening array\n if (!this.opened) {\n this.pushDocumentStart();\n }\n if (this.lastPredicate) {\n this.endPredicate();\n }\n if (this.lastSubject) {\n this.endSubject();\n }\n if (this.lastGraph && this.lastGraph.termType !== 'DefaultGraph') {\n this.endGraph();\n }\n this.endDocument();\n return callback(null, null);\n }\n /**\n * Transforms a quad into the text stream.\n * @param {Quad} quad An RDF quad.\n * @param {JsonLdContextNormalized} context A context for compacting.\n */\n transformQuad(quad, context) {\n // Open the array before the first quad\n if (!this.opened) {\n this.pushDocumentStart();\n }\n // Check if the subject equals the last named graph\n // In that case, we can reuse the already-existing @id node\n const lastGraphMatchesSubject = this.lastGraph && this.lastGraph.termType !== 'DefaultGraph'\n && this.lastGraph.equals(quad.subject);\n // Write graph\n if (!lastGraphMatchesSubject && (!this.lastGraph || !quad.graph.equals(this.lastGraph))) {\n // Check if the named graph equals the last subject\n // In that case, we can reuse the already-existing @id node\n let lastSubjectMatchesGraph = quad.graph.termType !== 'DefaultGraph'\n && this.lastSubject && this.lastSubject.equals(quad.graph);\n if (this.lastGraph) {\n if (this.lastGraph.termType !== 'DefaultGraph') {\n // The last graph was named\n this.endPredicate();\n this.endSubject();\n this.endGraph(true);\n lastSubjectMatchesGraph = false; // Special-case to avoid deeper nesting\n }\n else {\n // The last graph was default\n if (!lastSubjectMatchesGraph) {\n this.endPredicate();\n this.endSubject(true);\n }\n else {\n this.endPredicate(true);\n this.lastSubject = null;\n }\n }\n }\n // Push the graph\n if (quad.graph.termType !== 'DefaultGraph') {\n if (!lastSubjectMatchesGraph) {\n this.pushId(quad.graph, true, context);\n }\n this.pushSeparator(this.options.space\n ? SeparatorType_1.SeparatorType.GRAPH_FIELD_NONCOMPACT : SeparatorType_1.SeparatorType.GRAPH_FIELD_COMPACT);\n this.indentation++;\n }\n this.lastGraph = quad.graph;\n }\n // Write subject\n if (!this.lastSubject || !quad.subject.equals(this.lastSubject)) {\n if (lastGraphMatchesSubject) {\n this.endPredicate();\n this.endSubject();\n this.indentation--;\n this.pushSeparator(SeparatorType_1.SeparatorType.ARRAY_END_COMMA);\n this.lastGraph = quad.graph;\n }\n else {\n if (this.lastSubject) {\n this.endPredicate();\n this.endSubject(true);\n }\n // Open a new node for the new subject\n this.pushId(quad.subject, true, context);\n }\n this.lastSubject = quad.subject;\n }\n // Write predicate\n if (!this.lastPredicate || !quad.predicate.equals(this.lastPredicate)) {\n if (this.lastPredicate) {\n this.endPredicate(true);\n }\n // Open a new array for the new predicate\n this.pushPredicate(quad.predicate, context);\n }\n // Write the object value\n this.pushObject(quad.object, context);\n }\n pushDocumentStart() {\n this.opened = true;\n if (this.originalContext && !this.options.excludeContext) {\n this.pushSeparator(SeparatorType_1.SeparatorType.OBJECT_START);\n this.indentation++;\n this.pushSeparator(SeparatorType_1.SeparatorType.CONTEXT_FIELD);\n this.pushIndented(JSON.stringify(this.originalContext, null, this.options.space) + ',');\n this.pushSeparator(this.options.space\n ? SeparatorType_1.SeparatorType.GRAPH_FIELD_NONCOMPACT : SeparatorType_1.SeparatorType.GRAPH_FIELD_COMPACT);\n this.indentation++;\n }\n else {\n this.pushSeparator(SeparatorType_1.SeparatorType.ARRAY_START);\n this.indentation++;\n }\n }\n /**\n * Push the given term as an @id field.\n * @param {Term} term An RDF term.\n * @param startOnNewLine If `{` should start on a new line\n * @param {JsonLdContextNormalized} context The context.\n */\n pushId(term, startOnNewLine, context) {\n if (term.termType === 'Quad') {\n this.pushNestedQuad(term, true, context);\n }\n else {\n const subjectValue = term.termType === 'BlankNode'\n ? '_:' + term.value : context.compactIri(term.value, false);\n if (startOnNewLine) {\n this.pushSeparator(SeparatorType_1.SeparatorType.OBJECT_START);\n }\n else {\n this.push(SeparatorType_1.SeparatorType.OBJECT_START.label);\n if (this.options.space) {\n this.push('\\n');\n }\n }\n this.indentation++;\n this.pushIndented(this.options.space ? `\"@id\": \"${subjectValue}\",` : `\"@id\":\"${subjectValue}\",`);\n }\n }\n /**\n * Push the given predicate field.\n * @param {Term} predicate An RDF term.\n * @param {JsonLdContextNormalized} context The context.\n */\n pushPredicate(predicate, context) {\n let property = predicate.value;\n // Convert rdf:type into @type if not disabled.\n if (!this.options.useRdfType && property === Util_1.Util.RDF_TYPE) {\n property = '@type';\n this.objectOptions = Object.assign(Object.assign({}, this.options), { compactIds: true, vocab: true });\n }\n // Open array for following objects\n const compactedProperty = context.compactIri(property, true);\n this.pushIndented(this.options.space ? `\"${compactedProperty}\": [` : `\"${compactedProperty}\":[`);\n this.indentation++;\n this.lastPredicate = predicate;\n }\n /**\n * Push the given object value.\n * @param {Term} object An RDF term.\n * @param {JsonLdContextNormalized} context The context.\n */\n pushObject(object, context) {\n // Add a comma if we already had an object for this predicate\n if (!this.hadObjectForPredicate) {\n this.hadObjectForPredicate = true;\n }\n else {\n this.pushSeparator(SeparatorType_1.SeparatorType.COMMA);\n }\n // Handle nested quad\n if (object.termType === 'Quad') {\n const lastLastSubject = this.lastSubject;\n const lastLastPredicate = this.lastPredicate;\n this.hadObjectForPredicate = false;\n this.pushNestedQuad(object, false, context);\n this.endSubject(false); // Terminate identifier node of nested quad again, since we won't attach additional information to it.\n this.hadObjectForPredicate = true;\n this.lastPredicate = lastLastPredicate;\n this.lastSubject = lastLastSubject;\n return;\n }\n // Convert the object into a value and push it\n let value;\n try {\n if (object['@list']) {\n value = object;\n }\n else {\n value = Util_1.Util.termToValue(object, context, this.objectOptions || this.options);\n }\n }\n catch (e) {\n return this.emit('error', e);\n }\n this.pushIndented(JSON.stringify(value, null, this.options.space));\n }\n pushNestedQuad(nestedQuad, commaAfterSubject, context) {\n // Start a nested quad\n this.pushSeparator(SeparatorType_1.SeparatorType.OBJECT_START);\n this.indentation++;\n this.pushIndented(this.options.space ? `\"@id\": ` : `\"@id\":`, false);\n // Print the nested quad\n if (nestedQuad.graph.termType !== 'DefaultGraph') {\n this.emit('error', new Error(`Found a nested quad with the non-default graph: ${nestedQuad.graph.value}`));\n }\n this.pushId(nestedQuad.subject, false, context);\n this.pushPredicate(nestedQuad.predicate, context);\n this.pushObject(nestedQuad.object, context);\n this.endPredicate(false);\n this.endSubject(commaAfterSubject);\n }\n endDocument() {\n this.opened = false;\n if (this.originalContext && !this.options.excludeContext) {\n this.indentation--;\n this.pushSeparator(SeparatorType_1.SeparatorType.ARRAY_END);\n this.indentation--;\n this.pushSeparator(SeparatorType_1.SeparatorType.OBJECT_END);\n }\n else {\n this.indentation--;\n this.pushSeparator(SeparatorType_1.SeparatorType.ARRAY_END);\n }\n }\n /**\n * Push the end of a predicate and reset the buffers.\n * @param {boolean} comma If a comma should be appended.\n */\n endPredicate(comma) {\n // Close the predicate array\n this.indentation--;\n this.pushSeparator(comma ? SeparatorType_1.SeparatorType.ARRAY_END_COMMA : SeparatorType_1.SeparatorType.ARRAY_END);\n // Reset object buffer\n this.hadObjectForPredicate = false;\n this.objectOptions = null;\n // Reset predicate buffer\n this.lastPredicate = null;\n }\n /**\n * Push the end of a subject and reset the buffers.\n * @param {boolean} comma If a comma should be appended.\n */\n endSubject(comma) {\n // Close the last subject's node;\n this.indentation--;\n this.pushSeparator(comma ? SeparatorType_1.SeparatorType.OBJECT_END_COMMA : SeparatorType_1.SeparatorType.OBJECT_END);\n // Reset subject buffer\n this.lastSubject = null;\n }\n /**\n * Push the end of a graph and reset the buffers.\n * @param {boolean} comma If a comma should be appended.\n */\n endGraph(comma) {\n // Close the graph array\n this.indentation--;\n this.pushSeparator(SeparatorType_1.SeparatorType.ARRAY_END);\n // Close the graph id node\n this.indentation--;\n this.pushSeparator(comma ? SeparatorType_1.SeparatorType.OBJECT_END_COMMA : SeparatorType_1.SeparatorType.OBJECT_END);\n // Reset graph buffer\n this.lastGraph = null;\n }\n /**\n * Puh the given separator.\n * @param {SeparatorType} type A type of separator.\n */\n pushSeparator(type) {\n this.pushIndented(type.label);\n }\n /**\n * An indentation-aware variant of {@link #push}.\n * All strings that are pushed here will be prefixed by {@link #indentation} amount of spaces.\n * @param {string} data A string.\n * @param pushNewLine If a newline should be pushed afterwards.\n */\n pushIndented(data, pushNewLine = true) {\n const prefix = this.getIndentPrefix();\n const lines = data.split('\\n').map((line) => prefix + line).join('\\n');\n this.push(lines);\n if (this.options.space && pushNewLine) {\n this.push('\\n');\n }\n }\n /**\n * @return {string} Get the current indentation prefix based on {@link #indentation}.\n */\n getIndentPrefix() {\n return this.options.space ? this.options.space.repeat(this.indentation) : '';\n }\n}\nexports.JsonLdSerializer = JsonLdSerializer;\n//# sourceMappingURL=JsonLdSerializer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeparatorType = void 0;\n/**\n * A type of JSON separator.\n */\nclass SeparatorType {\n constructor(label) {\n this.label = label;\n }\n}\nexports.SeparatorType = SeparatorType;\nSeparatorType.COMMA = new SeparatorType(',');\nSeparatorType.OBJECT_START = new SeparatorType('{');\nSeparatorType.OBJECT_END = new SeparatorType('}');\nSeparatorType.OBJECT_END_COMMA = new SeparatorType('},');\nSeparatorType.ARRAY_START = new SeparatorType('[');\nSeparatorType.ARRAY_END = new SeparatorType(']');\nSeparatorType.ARRAY_END_COMMA = new SeparatorType('],');\nSeparatorType.GRAPH_FIELD_NONCOMPACT = new SeparatorType('\"@graph\": [');\nSeparatorType.GRAPH_FIELD_COMPACT = new SeparatorType('\"@graph\":[');\nSeparatorType.CONTEXT_FIELD = new SeparatorType('\"@context\":');\n//# sourceMappingURL=SeparatorType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * Utility functions and methods.\n */\nclass Util {\n /**\n * Convert an RDF term to a JSON value.\n * @param {Term} term An RDF term.\n * @param {JsonLdContextNormalized} context The context.\n * @param {ITermToValueOptions} options Conversion options.\n * @return {any} A JSON value.\n */\n static termToValue(term, context, options = {\n compactIds: false,\n useNativeTypes: false,\n }) {\n switch (term.termType) {\n case 'NamedNode':\n const compacted = context.compactIri(term.value, options.vocab);\n return options.compactIds ? compacted : { '@id': compacted };\n case 'DefaultGraph':\n return options.compactIds ? term.value : { '@id': term.value };\n case 'BlankNode':\n const id = `_:${term.value}`;\n return options.compactIds ? id : { '@id': id };\n case 'Literal':\n // Handle JSON datatype\n if (term.datatype.value === Util.RDF_JSON) {\n let parsedJson;\n try {\n parsedJson = JSON.parse(term.value);\n }\n catch (e) {\n throw new jsonld_context_parser_1.ErrorCoded('Invalid JSON literal: ' + e.message, jsonld_context_parser_1.ERROR_CODES.INVALID_JSON_LITERAL);\n }\n return {\n '@value': parsedJson,\n '@type': '@json',\n };\n }\n // Handle rdfDirection: i18n-datatype\n if (options.rdfDirection === 'i18n-datatype' && term.datatype.value.startsWith(Util.I18N)) {\n const [language, direction] = term.datatype.value\n .substr(Util.I18N.length, term.datatype.value.length)\n .split('_');\n return Object.assign(Object.assign({ '@value': term.value }, language ? { '@language': language } : {}), direction ? { '@direction': direction } : {});\n }\n const stringType = term.datatype.value === Util.XSD_STRING;\n const rawValue = {\n '@value': !stringType && options.useNativeTypes\n ? Util.stringToNativeType(term.value, term.datatype.value) : term.value,\n };\n if (term.language) {\n return Object.assign(Object.assign({}, rawValue), { '@language': term.language });\n }\n else if (!stringType && typeof rawValue['@value'] === 'string') {\n return Object.assign(Object.assign({}, rawValue), { '@type': term.datatype.value });\n }\n else {\n return rawValue;\n }\n }\n }\n /**\n * Convert a string term to a native type.\n * If no conversion is possible, the original string will be returned.\n * @param {string} value An RDF term's string value.\n * @param {string} type\n * @return {any}\n */\n static stringToNativeType(value, type) {\n if (type.startsWith(Util.XSD)) {\n const xsdType = type.substr(Util.XSD.length);\n switch (xsdType) {\n case 'boolean':\n if (value === 'true') {\n return true;\n }\n else if (value === 'false') {\n return false;\n }\n throw new Error(`Invalid xsd:boolean value '${value}'`);\n case 'integer':\n case 'number':\n case 'int':\n case 'byte':\n case 'long':\n const parsedInt = parseInt(value, 10);\n if (isNaN(parsedInt)) {\n throw new Error(`Invalid xsd:integer value '${value}'`);\n }\n return parsedInt;\n case 'float':\n case 'double':\n const parsedFloat = parseFloat(value);\n if (isNaN(parsedFloat)) {\n throw new Error(`Invalid xsd:float value '${value}'`);\n }\n return parsedFloat;\n }\n }\n return value;\n }\n}\nexports.Util = Util;\nUtil.XSD = 'http://www.w3.org/2001/XMLSchema#';\nUtil.XSD_STRING = Util.XSD + 'string';\nUtil.RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\nUtil.RDF_TYPE = Util.RDF + 'type';\nUtil.RDF_JSON = Util.RDF + 'JSON';\nUtil.I18N = 'https://www.w3.org/ns/i18n#';\n//# sourceMappingURL=Util.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/ContextParser\"), exports);\n__exportStar(require(\"./lib/ErrorCoded\"), exports);\n__exportStar(require(\"./lib/FetchDocumentLoader\"), exports);\n__exportStar(require(\"./lib/IDocumentLoader\"), exports);\n__exportStar(require(\"./lib/JsonLdContext\"), exports);\n__exportStar(require(\"./lib/JsonLdContextNormalized\"), exports);\n__exportStar(require(\"./lib/Util\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContextParser = void 0;\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst FetchDocumentLoader_1 = require(\"./FetchDocumentLoader\");\nconst JsonLdContextNormalized_1 = require(\"./JsonLdContextNormalized\");\nconst Util_1 = require(\"./Util\");\n/**\n * Parses JSON-LD contexts.\n */\nclass ContextParser {\n constructor(options) {\n options = options || {};\n this.documentLoader = options.documentLoader || new FetchDocumentLoader_1.FetchDocumentLoader();\n this.documentCache = {};\n this.validateContext = !options.skipValidation;\n this.expandContentTypeToBase = !!options.expandContentTypeToBase;\n this.remoteContextsDepthLimit = options.remoteContextsDepthLimit || 32;\n this.redirectSchemaOrgHttps = 'redirectSchemaOrgHttps' in options ? !!options.redirectSchemaOrgHttps : true;\n }\n /**\n * Validate the given @language value.\n * An error will be thrown if it is invalid.\n * @param value An @language value.\n * @param {boolean} strictRange If the string value should be strictly checked against a regex.\n * @param {string} errorCode The error code to emit on errors.\n * @return {boolean} If validation passed.\n * Can only be false if strictRange is false and the string value did not pass the regex.\n */\n static validateLanguage(value, strictRange, errorCode) {\n if (typeof value !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(value)}'`, errorCode);\n }\n if (!Util_1.Util.REGEX_LANGUAGE_TAG.test(value)) {\n if (strictRange) {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(value)}'`, errorCode);\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Validate the given @direction value.\n * An error will be thrown if it is invalid.\n * @param value An @direction value.\n * @param {boolean} strictValues If the string value should be strictly checked against a regex.\n * @return {boolean} If validation passed.\n * Can only be false if strictRange is false and the string value did not pass the regex.\n */\n static validateDirection(value, strictValues) {\n if (typeof value !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_DIRECTION);\n }\n if (!Util_1.Util.REGEX_DIRECTION_TAG.test(value)) {\n if (strictValues) {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_DIRECTION);\n }\n else {\n return false;\n }\n }\n return true;\n }\n /**\n * Add an @id term for all @reverse terms.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @return {IJsonLdContextNormalizedRaw} The mutated input context.\n */\n idifyReverseTerms(context) {\n for (const key of Object.keys(context)) {\n let value = context[key];\n if (value && typeof value === 'object') {\n if (value['@reverse'] && !value['@id']) {\n if (typeof value['@reverse'] !== 'string' || Util_1.Util.isValidKeyword(value['@reverse'])) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${value['@reverse']}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n value = context[key] = Object.assign(Object.assign({}, value), { '@id': value['@reverse'] });\n value['@id'] = value['@reverse'];\n if (Util_1.Util.isPotentialKeyword(value['@reverse'])) {\n delete value['@reverse'];\n }\n else {\n value['@reverse'] = true;\n }\n }\n }\n }\n return context;\n }\n /**\n * Expand all prefixed terms in the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {boolean} expandContentTypeToBase If @type inside the context may be expanded\n * via @base if @vocab is set to null.\n * @param {string[]} keys Optional set of keys from the context to expand. If left undefined, all\n * keys in the context will be expanded.\n */\n expandPrefixedTerms(context, expandContentTypeToBase, keys) {\n const contextRaw = context.getContextRaw();\n for (const key of (keys || Object.keys(contextRaw))) {\n // Only expand allowed keys\n if (Util_1.Util.EXPAND_KEYS_BLACKLIST.indexOf(key) < 0 && !Util_1.Util.isReservedInternalKeyword(key)) {\n // Error if we try to alias a keyword to something else.\n const keyValue = contextRaw[key];\n if (Util_1.Util.isPotentialKeyword(key) && Util_1.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(key) >= 0) {\n if (key !== '@type' || typeof contextRaw[key] === 'object'\n && !(contextRaw[key]['@protected'] || contextRaw[key]['@container'] === '@set')) {\n throw new ErrorCoded_1.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${key} to ${JSON.stringify(keyValue)}`, ErrorCoded_1.ERROR_CODES.KEYWORD_REDEFINITION);\n }\n }\n // Error if we try to alias to an illegal keyword\n if (Util_1.Util.ALIAS_RANGE_BLACKLIST.indexOf(Util_1.Util.getContextValueId(keyValue)) >= 0) {\n throw new ErrorCoded_1.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${key} to ${JSON.stringify(keyValue)}`, ErrorCoded_1.ERROR_CODES.INVALID_KEYWORD_ALIAS);\n }\n // Error if this term was marked as prefix as well\n if (keyValue && Util_1.Util.isPotentialKeyword(Util_1.Util.getContextValueId(keyValue))\n && keyValue['@prefix'] === true) {\n throw new ErrorCoded_1.ErrorCoded(`Tried to use keyword aliases as prefix: '${key}': '${JSON.stringify(keyValue)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n // Loop because prefixes might be nested\n while (Util_1.Util.isPrefixValue(contextRaw[key])) {\n const value = contextRaw[key];\n let changed = false;\n if (typeof value === 'string') {\n contextRaw[key] = context.expandTerm(value, true);\n changed = changed || value !== contextRaw[key];\n }\n else {\n const id = value['@id'];\n const type = value['@type'];\n // If @id is missing, don't allow @id to be added if @prefix: true and key not being a valid IRI.\n const canAddIdEntry = !('@prefix' in value) || Util_1.Util.isValidIri(key);\n if ('@id' in value) {\n // Use @id value for expansion\n if (id !== undefined && id !== null && typeof id === 'string') {\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@id': context.expandTerm(id, true) });\n changed = changed || id !== contextRaw[key]['@id'];\n }\n }\n else if (!Util_1.Util.isPotentialKeyword(key) && canAddIdEntry) {\n // Add an explicit @id value based on the expanded key value\n const newId = context.expandTerm(key, true);\n if (newId !== key) {\n // Don't set @id if expansion failed\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@id': newId });\n changed = true;\n }\n }\n if (type && typeof type === 'string' && type !== '@vocab'\n && (!value['@container'] || !value['@container']['@type'])\n && canAddIdEntry) {\n // First check @vocab, then fallback to @base\n let expandedType = context.expandTerm(type, true);\n if (expandContentTypeToBase && type === expandedType) {\n expandedType = context.expandTerm(type, false);\n }\n if (expandedType !== type) {\n changed = true;\n contextRaw[key] = Object.assign(Object.assign({}, contextRaw[key]), { '@type': expandedType });\n }\n }\n }\n if (!changed) {\n break;\n }\n }\n }\n }\n }\n /**\n * Normalize the @language entries in the given context to lowercase.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} parseOptions The parsing options.\n */\n normalize(context, { processingMode, normalizeLanguageTags }) {\n // Lowercase language keys in 1.0\n if (normalizeLanguageTags || processingMode === 1.0) {\n for (const key of Object.keys(context)) {\n if (key === '@language' && typeof context[key] === 'string') {\n context[key] = context[key].toLowerCase();\n }\n else {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (typeof value['@language'] === 'string') {\n const lowercase = value['@language'].toLowerCase();\n if (lowercase !== value['@language']) {\n context[key] = Object.assign(Object.assign({}, value), { '@language': lowercase });\n }\n }\n }\n }\n }\n }\n }\n /**\n * Convert all @container strings and array values to hash-based values.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n */\n containersToHash(context) {\n for (const key of Object.keys(context)) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (typeof value['@container'] === 'string') {\n context[key] = Object.assign(Object.assign({}, value), { '@container': { [value['@container']]: true } });\n }\n else if (Array.isArray(value['@container'])) {\n const newValue = {};\n for (const containerValue of value['@container']) {\n newValue[containerValue] = true;\n }\n context[key] = Object.assign(Object.assign({}, value), { '@container': newValue });\n }\n }\n }\n }\n /**\n * Normalize and apply context-level @protected terms onto each term separately.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {number} processingMode The processing mode.\n */\n applyScopedProtected(context, { processingMode }, expandOptions) {\n if (processingMode && processingMode >= 1.1) {\n if (context['@protected']) {\n for (const key of Object.keys(context)) {\n if (Util_1.Util.isReservedInternalKeyword(key)) {\n continue;\n }\n if (!Util_1.Util.isPotentialKeyword(key) && !Util_1.Util.isTermProtected(context, key)) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if (!('@protected' in context[key])) {\n // Mark terms with object values as protected if they don't have an @protected: false annotation\n context[key] = Object.assign(Object.assign({}, context[key]), { '@protected': true });\n }\n }\n else {\n // Convert string-based term values to object-based values with @protected: true\n context[key] = {\n '@id': value,\n '@protected': true,\n };\n if (Util_1.Util.isSimpleTermDefinitionPrefix(value, expandOptions)) {\n context[key] = Object.assign(Object.assign({}, context[key]), { '@prefix': true });\n }\n }\n }\n }\n delete context['@protected'];\n }\n }\n }\n /**\n * Check if the given context inheritance does not contain any overrides of protected terms.\n * @param {IJsonLdContextNormalizedRaw} contextBefore The context that may contain some protected terms.\n * @param {IJsonLdContextNormalizedRaw} contextAfter A new context that is being applied on the first one.\n * @param {IExpandOptions} expandOptions Options that are needed for any expansions during this validation.\n * @param {string[]} keys Optional set of keys from the context to validate. If left undefined, all\n * keys defined in contextAfter will be checked.\n */\n validateKeywordRedefinitions(contextBefore, contextAfter, expandOptions, keys) {\n for (const key of (keys !== null && keys !== void 0 ? keys : Object.keys(contextAfter))) {\n if (Util_1.Util.isTermProtected(contextBefore, key)) {\n // The entry in the context before will always be in object-mode\n // If the new entry is in string-mode, convert it to object-mode\n // before checking if it is identical.\n if (typeof contextAfter[key] === 'string') {\n contextAfter[key] = { '@id': contextAfter[key], '@protected': true };\n }\n else {\n // We modify this deliberately,\n // as we need it for the value comparison (they must be identical modulo '@protected')),\n // and for the fact that this new value will override the first one.\n contextAfter[key] = Object.assign(Object.assign({}, contextAfter[key]), { '@protected': true });\n }\n // Error if they are not identical\n if (!Util_1.Util.deepEqual(contextBefore[key], contextAfter[key])) {\n throw new ErrorCoded_1.ErrorCoded(`Attempted to override the protected keyword ${key} from ${JSON.stringify(Util_1.Util.getContextValueId(contextBefore[key]))} to ${JSON.stringify(Util_1.Util.getContextValueId(contextAfter[key]))}`, ErrorCoded_1.ERROR_CODES.PROTECTED_TERM_REDEFINITION);\n }\n }\n }\n }\n /**\n * Validate the entries of the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} options The parse options.\n */\n validate(context, { processingMode }) {\n for (const key of Object.keys(context)) {\n // Ignore reserved internal keywords.\n if (Util_1.Util.isReservedInternalKeyword(key)) {\n continue;\n }\n // Do not allow empty term\n if (key === '') {\n throw new ErrorCoded_1.ErrorCoded(`The empty term is not allowed, got: '${key}': '${JSON.stringify(context[key])}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n const value = context[key];\n const valueType = typeof value;\n // First check if the key is a keyword\n if (Util_1.Util.isPotentialKeyword(key)) {\n switch (key.substr(1)) {\n case 'vocab':\n if (value !== null && valueType !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @vocab IRI: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_VOCAB_MAPPING);\n }\n break;\n case 'base':\n if (value !== null && valueType !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @base IRI: ${context[key]}`, ErrorCoded_1.ERROR_CODES.INVALID_BASE_IRI);\n }\n break;\n case 'language':\n if (value !== null) {\n ContextParser.validateLanguage(value, true, ErrorCoded_1.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);\n }\n break;\n case 'version':\n if (value !== null && valueType !== 'number') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @version number: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_VERSION_VALUE);\n }\n break;\n case 'direction':\n if (value !== null) {\n ContextParser.validateDirection(value, true);\n }\n break;\n case 'propagate':\n if (processingMode === 1.0) {\n throw new ErrorCoded_1.ErrorCoded(`Found an illegal @propagate keyword: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n if (value !== null && valueType !== 'boolean') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid @propagate value: ${value}`, ErrorCoded_1.ERROR_CODES.INVALID_PROPAGATE_VALUE);\n }\n break;\n }\n // Don't allow keywords to be overridden\n if (Util_1.Util.isValidKeyword(key) && Util_1.Util.isValidKeyword(Util_1.Util.getContextValueId(value))) {\n throw new ErrorCoded_1.ErrorCoded(`Illegal keyword alias in term value, found: '${key}': '${Util_1.Util\n .getContextValueId(value)}'`, ErrorCoded_1.ERROR_CODES.KEYWORD_REDEFINITION);\n }\n continue;\n }\n // Otherwise, consider the key a term\n if (value !== null) {\n switch (valueType) {\n case 'string':\n if (Util_1.Util.getPrefix(value, context) === key) {\n throw new ErrorCoded_1.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${key}': '${JSON\n .stringify(value)}'`, ErrorCoded_1.ERROR_CODES.CYCLIC_IRI_MAPPING);\n }\n if (Util_1.Util.isValidIriWeak(key)) {\n if (value === '@type') {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to @type, found: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n else if (Util_1.Util.isValidIri(value) && value !== new JsonLdContextNormalized_1.JsonLdContextNormalized(context).expandTerm(key)) {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n break;\n case 'object':\n if (!Util_1.Util.isCompactIri(key) && !('@id' in value)\n && (value['@type'] === '@id' ? !context['@base'] : !context['@vocab'])) {\n throw new ErrorCoded_1.ErrorCoded(`Missing @id in context entry: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n for (const objectKey of Object.keys(value)) {\n const objectValue = value[objectKey];\n if (!objectValue) {\n continue;\n }\n switch (objectKey) {\n case '@id':\n if (Util_1.Util.isValidKeyword(objectValue)\n && objectValue !== '@type' && objectValue !== '@id' && objectValue !== '@graph' && objectValue !== '@nest') {\n throw new ErrorCoded_1.ErrorCoded(`Illegal keyword alias in term value, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n if (Util_1.Util.isValidIriWeak(key)) {\n if (objectValue === '@type') {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to @type, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n else if (Util_1.Util.isValidIri(objectValue)\n && objectValue !== new JsonLdContextNormalized_1.JsonLdContextNormalized(context).expandTerm(key)) {\n throw new ErrorCoded_1.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n if (typeof objectValue !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`Detected non-string @id in context entry: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n if (Util_1.Util.getPrefix(objectValue, context) === key) {\n throw new ErrorCoded_1.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${key}': '${JSON\n .stringify(value)}'`, ErrorCoded_1.ERROR_CODES.CYCLIC_IRI_MAPPING);\n }\n break;\n case '@type':\n if (value['@container'] === '@type' && objectValue !== '@id' && objectValue !== '@vocab') {\n throw new ErrorCoded_1.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${key}': '${objectValue}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n if (typeof objectValue !== 'string') {\n throw new ErrorCoded_1.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(valueType)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n if (objectValue !== '@id' && objectValue !== '@vocab'\n && (processingMode === 1.0 || objectValue !== '@json')\n && (processingMode === 1.0 || objectValue !== '@none')\n && (objectValue[0] === '_' || !Util_1.Util.isValidIri(objectValue))) {\n throw new ErrorCoded_1.ErrorCoded(`A context @type must be an absolute IRI, found: '${key}': '${objectValue}'`, ErrorCoded_1.ERROR_CODES.INVALID_TYPE_MAPPING);\n }\n break;\n case '@reverse':\n if (typeof objectValue === 'string' && value['@id'] && value['@id'] !== objectValue) {\n throw new ErrorCoded_1.ErrorCoded(`Found non-matching @id and @reverse term values in '${key}':\\\n'${objectValue}' and '${value['@id']}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n if ('@nest' in value) {\n throw new ErrorCoded_1.ErrorCoded(`@nest is not allowed in the reverse property '${key}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n break;\n case '@container':\n if (processingMode === 1.0) {\n if (Object.keys(objectValue).length > 1\n || Util_1.Util.CONTAINERS_1_0.indexOf(Object.keys(objectValue)[0]) < 0) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid term @container for '${key}' ('${Object.keys(objectValue)}') in 1.0, \\\nmust be only one of ${Util_1.Util.CONTAINERS_1_0.join(', ')}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTAINER_MAPPING);\n }\n }\n for (const containerValue of Object.keys(objectValue)) {\n if (containerValue === '@list' && value['@reverse']) {\n throw new ErrorCoded_1.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${key}'`, ErrorCoded_1.ERROR_CODES.INVALID_REVERSE_PROPERTY);\n }\n if (Util_1.Util.CONTAINERS.indexOf(containerValue) < 0) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid term @container for '${key}' ('${containerValue}'), \\\nmust be one of ${Util_1.Util.CONTAINERS.join(', ')}`, ErrorCoded_1.ERROR_CODES.INVALID_CONTAINER_MAPPING);\n }\n }\n break;\n case '@language':\n ContextParser.validateLanguage(objectValue, true, ErrorCoded_1.ERROR_CODES.INVALID_LANGUAGE_MAPPING);\n break;\n case '@direction':\n ContextParser.validateDirection(objectValue, true);\n break;\n case '@prefix':\n if (objectValue !== null && typeof objectValue !== 'boolean') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term @prefix boolean in: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_PREFIX_VALUE);\n }\n if (!('@id' in value) && !Util_1.Util.isValidIri(key)) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid @prefix definition for '${key}' ('${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n break;\n case '@index':\n if (processingMode === 1.0 || !value['@container'] || !value['@container']['@index']) {\n throw new ErrorCoded_1.ErrorCoded(`Attempt to add illegal key to value object: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n break;\n case '@nest':\n if (Util_1.Util.isPotentialKeyword(objectValue) && objectValue !== '@nest') {\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term @nest value in: '${key}': '${JSON.stringify(value)}'`, ErrorCoded_1.ERROR_CODES.INVALID_NEST_VALUE);\n }\n }\n }\n break;\n default:\n throw new ErrorCoded_1.ErrorCoded(`Found an invalid term value: '${key}': '${value}'`, ErrorCoded_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n }\n }\n }\n /**\n * Apply the @base context entry to the given context under certain circumstances.\n * @param context A context.\n * @param options Parsing options.\n * @param inheritFromParent If the @base value from the parent context can be inherited.\n * @return The given context.\n */\n applyBaseEntry(context, options, inheritFromParent) {\n // In some special cases, this can be a string, so ignore those.\n if (typeof context === 'string') {\n return context;\n }\n // Give priority to @base in the parent context\n if (inheritFromParent && !('@base' in context) && options.parentContext\n && typeof options.parentContext === 'object' && '@base' in options.parentContext) {\n context['@base'] = options.parentContext['@base'];\n if (options.parentContext['@__baseDocument']) {\n context['@__baseDocument'] = true;\n }\n }\n // Override the base IRI if provided.\n if (options.baseIRI && !options.external) {\n if (!('@base' in context)) {\n // The context base is the document base\n context['@base'] = options.baseIRI;\n context['@__baseDocument'] = true;\n }\n else if (context['@base'] !== null && typeof context['@base'] === 'string'\n && !Util_1.Util.isValidIri(context['@base'])) {\n // The context base is relative to the document base\n context['@base'] = (0, relative_to_absolute_iri_1.resolve)(context['@base'], options.parentContext && options.parentContext['@base'] || options.baseIRI);\n }\n }\n return context;\n }\n /**\n * Resolve relative context IRIs, or return full IRIs as-is.\n * @param {string} contextIri A context IRI.\n * @param {string} baseIRI A base IRI.\n * @return {string} The normalized context IRI.\n */\n normalizeContextIri(contextIri, baseIRI) {\n if (!Util_1.Util.isValidIri(contextIri)) {\n try {\n contextIri = (0, relative_to_absolute_iri_1.resolve)(contextIri, baseIRI);\n }\n catch (_a) {\n throw new Error(`Invalid context IRI: ${contextIri}`);\n }\n }\n // TODO: Temporary workaround for fixing schema.org CORS issues (https://github.com/schemaorg/schemaorg/issues/2578#issuecomment-652324465)\n if (this.redirectSchemaOrgHttps && contextIri.startsWith('http://schema.org')) {\n contextIri = 'https://schema.org/';\n }\n return contextIri;\n }\n /**\n * Parse scoped contexts in the given context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {IParseOptions} options Parsing options.\n * @return {IJsonLdContextNormalizedRaw} The mutated input context.\n * @param {string[]} keys Optional set of keys from the context to parseInnerContexts of. If left undefined, all\n * keys in the context will be iterated over.\n */\n async parseInnerContexts(context, options, keys) {\n for (const key of (keys !== null && keys !== void 0 ? keys : Object.keys(context))) {\n const value = context[key];\n if (value && typeof value === 'object') {\n if ('@context' in value && value['@context'] !== null && !options.ignoreScopedContexts) {\n // Simulate a processing based on the parent context to check if there are any (potential errors).\n // Honestly, I find it a bit weird to do this here, as the context may be unused,\n // and the final effective context may differ based on any other embedded/scoped contexts.\n // But hey, it's part of the spec, so we have no choice...\n // https://w3c.github.io/json-ld-api/#h-note-10\n if (this.validateContext) {\n try {\n const parentContext = Object.assign(Object.assign({}, context), { [key]: Object.assign({}, context[key]) });\n delete parentContext[key]['@context'];\n await this.parse(value['@context'], Object.assign(Object.assign({}, options), { external: false, parentContext, ignoreProtection: true, ignoreRemoteScopedContexts: true, ignoreScopedContexts: true }));\n }\n catch (e) {\n throw new ErrorCoded_1.ErrorCoded(e.message, ErrorCoded_1.ERROR_CODES.INVALID_SCOPED_CONTEXT);\n }\n }\n context[key] = Object.assign(Object.assign({}, value), { '@context': (await this.parse(value['@context'], Object.assign(Object.assign({}, options), { external: false, minimalProcessing: true, ignoreRemoteScopedContexts: true, parentContext: context })))\n .getContextRaw() });\n }\n }\n }\n return context;\n }\n async parse(context, options = {}, \n // These options are only for internal use on recursive calls and should not be used by\n // libraries consuming this function\n internalOptions = {}) {\n const { baseIRI, parentContext, external, processingMode = ContextParser.DEFAULT_PROCESSING_MODE, normalizeLanguageTags, ignoreProtection, minimalProcessing, } = options;\n const remoteContexts = options.remoteContexts || {};\n // Avoid remote context overflows\n if (Object.keys(remoteContexts).length >= this.remoteContextsDepthLimit) {\n throw new ErrorCoded_1.ErrorCoded('Detected an overflow in remote context inclusions: ' + Object.keys(remoteContexts), ErrorCoded_1.ERROR_CODES.CONTEXT_OVERFLOW);\n }\n if (context === null || context === undefined) {\n // Don't allow context nullification and there are protected terms\n if (!ignoreProtection && parentContext && Util_1.Util.hasProtectedTerms(parentContext)) {\n throw new ErrorCoded_1.ErrorCoded('Illegal context nullification when terms are protected', ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);\n }\n // Context that are explicitly set to null are empty.\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(this.applyBaseEntry({}, options, false));\n }\n else if (typeof context === 'string') {\n const contextIri = this.normalizeContextIri(context, baseIRI);\n const overriddenLoad = this.getOverriddenLoad(contextIri, options);\n if (overriddenLoad) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(overriddenLoad);\n }\n const parsedStringContext = await this.parse(await this.load(contextIri), Object.assign(Object.assign({}, options), { baseIRI: contextIri, external: true, remoteContexts: Object.assign(Object.assign({}, remoteContexts), { [contextIri]: true }) }));\n this.applyBaseEntry(parsedStringContext.getContextRaw(), options, true);\n return parsedStringContext;\n }\n else if (Array.isArray(context)) {\n // As a performance consideration, first load all external contexts in parallel.\n const contextIris = [];\n const contexts = await Promise.all(context.map((subContext, i) => {\n if (typeof subContext === 'string') {\n const contextIri = this.normalizeContextIri(subContext, baseIRI);\n contextIris[i] = contextIri;\n const overriddenLoad = this.getOverriddenLoad(contextIri, options);\n if (overriddenLoad) {\n return overriddenLoad;\n }\n return this.load(contextIri);\n }\n else {\n return subContext;\n }\n }));\n // Don't apply inheritance logic on minimal processing\n if (minimalProcessing) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(contexts);\n }\n const reducedContexts = await contexts.reduce((accContextPromise, contextEntry, i) => accContextPromise\n .then((accContext) => this.parse(contextEntry, Object.assign(Object.assign({}, options), { baseIRI: contextIris[i] || options.baseIRI, external: !!contextIris[i] || options.external, parentContext: accContext.getContextRaw(), remoteContexts: contextIris[i] ? Object.assign(Object.assign({}, remoteContexts), { [contextIris[i]]: true }) : remoteContexts }), \n // @ts-expect-error: This third argument causes a type error because we have hidden it from consumers\n {\n skipValidation: i < contexts.length - 1,\n })), Promise.resolve(new JsonLdContextNormalized_1.JsonLdContextNormalized(parentContext || {})));\n // Override the base IRI if provided.\n this.applyBaseEntry(reducedContexts.getContextRaw(), options, true);\n return reducedContexts;\n }\n else if (typeof context === 'object') {\n if ('@context' in context) {\n return await this.parse(context['@context'], options);\n }\n // Make a deep clone of the given context, to avoid modifying it.\n context = Object.assign({}, context);\n // According to the JSON-LD spec, @base must be ignored from external contexts.\n if (external) {\n delete context['@base'];\n }\n // Override the base IRI if provided.\n this.applyBaseEntry(context, options, true);\n // Hashify container entries\n // Do this before protected term validation as that influences term format\n this.containersToHash(context);\n // Don't perform any other modifications if only minimal processing is needed.\n if (minimalProcessing) {\n return new JsonLdContextNormalized_1.JsonLdContextNormalized(context);\n }\n // In JSON-LD 1.1, load @import'ed context prior to processing.\n let importContext = {};\n if ('@import' in context) {\n if (processingMode >= 1.1) {\n // Only accept string values\n if (typeof context['@import'] !== 'string') {\n throw new ErrorCoded_1.ErrorCoded('An @import value must be a string, but got ' + typeof context['@import'], ErrorCoded_1.ERROR_CODES.INVALID_IMPORT_VALUE);\n }\n // Load context\n importContext = await this.loadImportContext(this.normalizeContextIri(context['@import'], baseIRI));\n delete context['@import'];\n }\n else {\n throw new ErrorCoded_1.ErrorCoded('Context importing is not supported in JSON-LD 1.0', ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n }\n this.applyScopedProtected(importContext, { processingMode }, JsonLdContextNormalized_1.defaultExpandOptions);\n const newContext = Object.assign(importContext, context);\n // Handle terms (before protection checks)\n this.idifyReverseTerms(newContext);\n this.normalize(newContext, { processingMode, normalizeLanguageTags });\n this.applyScopedProtected(newContext, { processingMode }, JsonLdContextNormalized_1.defaultExpandOptions);\n const keys = Object.keys(newContext);\n const overlappingKeys = [];\n if (typeof parentContext === 'object') {\n // Merge different parts of the final context in order\n for (const key in parentContext) {\n if (key in newContext) {\n overlappingKeys.push(key);\n }\n else {\n newContext[key] = parentContext[key];\n }\n }\n }\n // Parse inner contexts with minimal processing\n await this.parseInnerContexts(newContext, options, keys);\n const newContextWrapped = new JsonLdContextNormalized_1.JsonLdContextNormalized(newContext);\n // In JSON-LD 1.1, @vocab can be relative to @vocab in the parent context, or a compact IRI.\n if ((newContext && newContext['@version'] || ContextParser.DEFAULT_PROCESSING_MODE) >= 1.1\n && ((context['@vocab'] && typeof context['@vocab'] === 'string') || context['@vocab'] === '')) {\n if (parentContext && '@vocab' in parentContext && context['@vocab'].indexOf(':') < 0) {\n newContext['@vocab'] = parentContext['@vocab'] + context['@vocab'];\n }\n else if (Util_1.Util.isCompactIri(context['@vocab']) || context['@vocab'] in newContext) {\n // @vocab is a compact IRI or refers exactly to a prefix\n newContext['@vocab'] = newContextWrapped.expandTerm(context['@vocab'], true);\n }\n }\n this.expandPrefixedTerms(newContextWrapped, this.expandContentTypeToBase, keys);\n // In JSON-LD 1.1, check if we are not redefining any protected keywords\n if (!ignoreProtection && parentContext && processingMode >= 1.1) {\n this.validateKeywordRedefinitions(parentContext, newContext, JsonLdContextNormalized_1.defaultExpandOptions, overlappingKeys);\n }\n if (this.validateContext && !internalOptions.skipValidation) {\n this.validate(newContext, { processingMode });\n }\n return newContextWrapped;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${context}`, ErrorCoded_1.ERROR_CODES.INVALID_LOCAL_CONTEXT);\n }\n }\n /**\n * Fetch the given URL as a raw JSON-LD context.\n * @param url An URL.\n * @return A promise resolving to a raw JSON-LD context.\n */\n async load(url) {\n // First try to retrieve the context from cache\n const cached = this.documentCache[url];\n if (cached) {\n return cached;\n }\n // If not in cache, load it\n let document;\n try {\n document = await this.documentLoader.load(url);\n }\n catch (e) {\n throw new ErrorCoded_1.ErrorCoded(`Failed to load remote context ${url}: ${e.message}`, ErrorCoded_1.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED);\n }\n // Validate the context\n if (!('@context' in document)) {\n throw new ErrorCoded_1.ErrorCoded(`Missing @context in remote context at ${url}`, ErrorCoded_1.ERROR_CODES.INVALID_REMOTE_CONTEXT);\n }\n return this.documentCache[url] = document['@context'];\n }\n /**\n * Override the given context that may be loaded.\n *\n * This will check whether or not the url is recursively being loaded.\n * @param url An URL.\n * @param options Parsing options.\n * @return An overridden context, or null.\n * Optionally an error can be thrown if a cyclic context is detected.\n */\n getOverriddenLoad(url, options) {\n if (url in (options.remoteContexts || {})) {\n if (options.ignoreRemoteScopedContexts) {\n return url;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded('Detected a cyclic context inclusion of ' + url, ErrorCoded_1.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION);\n }\n }\n return null;\n }\n /**\n * Load an @import'ed context.\n * @param importContextIri The full URI of an @import value.\n */\n async loadImportContext(importContextIri) {\n // Load the context - and do a deep clone since we are about to mutate it\n let importContext = await this.load(importContextIri);\n // Require the context to be a non-array object\n if (typeof importContext !== 'object' || Array.isArray(importContext)) {\n throw new ErrorCoded_1.ErrorCoded('An imported context must be a single object: ' + importContextIri, ErrorCoded_1.ERROR_CODES.INVALID_REMOTE_CONTEXT);\n }\n // Error if the context contains another @import\n if ('@import' in importContext) {\n throw new ErrorCoded_1.ErrorCoded('An imported context can not import another context: ' + importContextIri, ErrorCoded_1.ERROR_CODES.INVALID_CONTEXT_ENTRY);\n }\n importContext = Object.assign({}, importContext);\n // Containers have to be converted into hash values the same way as for the importing context\n // Otherwise context validation will fail for container values\n this.containersToHash(importContext);\n return importContext;\n }\n}\nContextParser.DEFAULT_PROCESSING_MODE = 1.1;\nexports.ContextParser = ContextParser;\n//# sourceMappingURL=ContextParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ERROR_CODES = exports.ErrorCoded = void 0;\n/**\n * An error that has a certain error code.\n *\n * The error code can be any string.\n * All standardized error codes are listed in {@link ERROR_CODES}.\n */\nclass ErrorCoded extends Error {\n /* istanbul ignore next */\n constructor(message, code) {\n super(message);\n this.code = code;\n }\n}\nexports.ErrorCoded = ErrorCoded;\n/**\n * All standardized JSON-LD error codes.\n * @see https://w3c.github.io/json-ld-api/#dom-jsonlderrorcode\n */\n// tslint:disable:object-literal-sort-keys\nvar ERROR_CODES;\n(function (ERROR_CODES) {\n ERROR_CODES[\"COLLIDING_KEYWORDS\"] = \"colliding keywords\";\n ERROR_CODES[\"CONFLICTING_INDEXES\"] = \"conflicting indexes\";\n ERROR_CODES[\"CYCLIC_IRI_MAPPING\"] = \"cyclic IRI mapping\";\n ERROR_CODES[\"INVALID_ID_VALUE\"] = \"invalid @id value\";\n ERROR_CODES[\"INVALID_INDEX_VALUE\"] = \"invalid @index value\";\n ERROR_CODES[\"INVALID_NEST_VALUE\"] = \"invalid @nest value\";\n ERROR_CODES[\"INVALID_PREFIX_VALUE\"] = \"invalid @prefix value\";\n ERROR_CODES[\"INVALID_PROPAGATE_VALUE\"] = \"invalid @propagate value\";\n ERROR_CODES[\"INVALID_REVERSE_VALUE\"] = \"invalid @reverse value\";\n ERROR_CODES[\"INVALID_IMPORT_VALUE\"] = \"invalid @import value\";\n ERROR_CODES[\"INVALID_VERSION_VALUE\"] = \"invalid @version value\";\n ERROR_CODES[\"INVALID_BASE_IRI\"] = \"invalid base IRI\";\n ERROR_CODES[\"INVALID_CONTAINER_MAPPING\"] = \"invalid container mapping\";\n ERROR_CODES[\"INVALID_CONTEXT_ENTRY\"] = \"invalid context entry\";\n ERROR_CODES[\"INVALID_CONTEXT_NULLIFICATION\"] = \"invalid context nullification\";\n ERROR_CODES[\"INVALID_DEFAULT_LANGUAGE\"] = \"invalid default language\";\n ERROR_CODES[\"INVALID_INCLUDED_VALUE\"] = \"invalid @included value\";\n ERROR_CODES[\"INVALID_IRI_MAPPING\"] = \"invalid IRI mapping\";\n ERROR_CODES[\"INVALID_JSON_LITERAL\"] = \"invalid JSON literal\";\n ERROR_CODES[\"INVALID_KEYWORD_ALIAS\"] = \"invalid keyword alias\";\n ERROR_CODES[\"INVALID_LANGUAGE_MAP_VALUE\"] = \"invalid language map value\";\n ERROR_CODES[\"INVALID_LANGUAGE_MAPPING\"] = \"invalid language mapping\";\n ERROR_CODES[\"INVALID_LANGUAGE_TAGGED_STRING\"] = \"invalid language-tagged string\";\n ERROR_CODES[\"INVALID_LANGUAGE_TAGGED_VALUE\"] = \"invalid language-tagged value\";\n ERROR_CODES[\"INVALID_LOCAL_CONTEXT\"] = \"invalid local context\";\n ERROR_CODES[\"INVALID_REMOTE_CONTEXT\"] = \"invalid remote context\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY\"] = \"invalid reverse property\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY_MAP\"] = \"invalid reverse property map\";\n ERROR_CODES[\"INVALID_REVERSE_PROPERTY_VALUE\"] = \"invalid reverse property value\";\n ERROR_CODES[\"INVALID_SCOPED_CONTEXT\"] = \"invalid scoped context\";\n ERROR_CODES[\"INVALID_SCRIPT_ELEMENT\"] = \"invalid script element\";\n ERROR_CODES[\"INVALID_SET_OR_LIST_OBJECT\"] = \"invalid set or list object\";\n ERROR_CODES[\"INVALID_TERM_DEFINITION\"] = \"invalid term definition\";\n ERROR_CODES[\"INVALID_TYPE_MAPPING\"] = \"invalid type mapping\";\n ERROR_CODES[\"INVALID_TYPE_VALUE\"] = \"invalid type value\";\n ERROR_CODES[\"INVALID_TYPED_VALUE\"] = \"invalid typed value\";\n ERROR_CODES[\"INVALID_VALUE_OBJECT\"] = \"invalid value object\";\n ERROR_CODES[\"INVALID_VALUE_OBJECT_VALUE\"] = \"invalid value object value\";\n ERROR_CODES[\"INVALID_VOCAB_MAPPING\"] = \"invalid vocab mapping\";\n ERROR_CODES[\"IRI_CONFUSED_WITH_PREFIX\"] = \"IRI confused with prefix\";\n ERROR_CODES[\"KEYWORD_REDEFINITION\"] = \"keyword redefinition\";\n ERROR_CODES[\"LOADING_DOCUMENT_FAILED\"] = \"loading document failed\";\n ERROR_CODES[\"LOADING_REMOTE_CONTEXT_FAILED\"] = \"loading remote context failed\";\n ERROR_CODES[\"MULTIPLE_CONTEXT_LINK_HEADERS\"] = \"multiple context link headers\";\n ERROR_CODES[\"PROCESSING_MODE_CONFLICT\"] = \"processing mode conflict\";\n ERROR_CODES[\"PROTECTED_TERM_REDEFINITION\"] = \"protected term redefinition\";\n ERROR_CODES[\"CONTEXT_OVERFLOW\"] = \"context overflow\";\n ERROR_CODES[\"INVALID_BASE_DIRECTION\"] = \"invalid base direction\";\n ERROR_CODES[\"RECURSIVE_CONTEXT_INCLUSION\"] = \"recursive context inclusion\";\n ERROR_CODES[\"INVALID_STREAMING_KEY_ORDER\"] = \"invalid streaming key order\";\n /**\n * JSON-LD-star\n */\n ERROR_CODES[\"INVALID_EMBEDDED_NODE\"] = \"invalid embedded node\";\n ERROR_CODES[\"INVALID_ANNOTATION\"] = \"invalid annotation\";\n})(ERROR_CODES = exports.ERROR_CODES || (exports.ERROR_CODES = {}));\n//# sourceMappingURL=ErrorCoded.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FetchDocumentLoader = void 0;\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst http_link_header_1 = require(\"http-link-header\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * Loads documents via the fetch API.\n */\nclass FetchDocumentLoader {\n constructor(fetcher) {\n this.fetcher = fetcher;\n }\n async load(url) {\n const response = await (this.fetcher || fetch)(url, { headers: new Headers({ accept: 'application/ld+json' }) });\n if (response.ok && response.headers) {\n let mediaType = response.headers.get('Content-Type');\n if (mediaType) {\n const colonPos = mediaType.indexOf(';');\n if (colonPos > 0) {\n mediaType = mediaType.substr(0, colonPos);\n }\n }\n if (mediaType === 'application/ld+json') {\n // Return JSON-LD if proper content type was returned\n return (await response.json());\n }\n else {\n // Check for alternate link for a non-JSON-LD response\n if (response.headers.has('Link')) {\n let alternateUrl;\n response.headers.forEach((value, key) => {\n if (key === 'link') {\n const linkHeader = (0, http_link_header_1.parse)(value);\n for (const link of linkHeader.get('type', 'application/ld+json')) {\n if (link.rel === 'alternate') {\n if (alternateUrl) {\n throw new Error('Multiple JSON-LD alternate links were found on ' + url);\n }\n alternateUrl = (0, relative_to_absolute_iri_1.resolve)(link.uri, url);\n }\n }\n }\n });\n if (alternateUrl) {\n return this.load(alternateUrl);\n }\n }\n throw new ErrorCoded_1.ErrorCoded(`Unsupported JSON-LD media type ${mediaType}`, ErrorCoded_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n }\n else {\n throw new Error(response.statusText || `Status code: ${response.status}`);\n }\n }\n}\nexports.FetchDocumentLoader = FetchDocumentLoader;\n//# sourceMappingURL=FetchDocumentLoader.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IDocumentLoader.js.map","\"use strict\";\n// tslint:disable:max-line-length\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=JsonLdContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultExpandOptions = exports.JsonLdContextNormalized = void 0;\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\nconst ErrorCoded_1 = require(\"./ErrorCoded\");\nconst Util_1 = require(\"./Util\");\n/**\n * A class exposing operations over a normalized JSON-LD context.\n */\nclass JsonLdContextNormalized {\n constructor(contextRaw) {\n this.contextRaw = contextRaw;\n }\n /**\n * @return The raw inner context.\n */\n getContextRaw() {\n return this.contextRaw;\n }\n /**\n * Expand the term or prefix of the given term if it has one,\n * otherwise return the term as-is.\n *\n * This will try to expand the IRI as much as possible.\n *\n * Iff in vocab-mode, then other references to other terms in the context can be used,\n * such as to `myTerm`:\n * ```\n * {\n * \"myTerm\": \"http://example.org/myLongTerm\"\n * }\n * ```\n *\n * @param {string} term A term that is an URL or a prefixed URL.\n * @param {boolean} expandVocab If the term is a predicate or type and should be expanded based on @vocab,\n * otherwise it is considered a regular term that is expanded based on @base.\n * @param {IExpandOptions} options Options that define the way how expansion must be done.\n * @return {string} The expanded term, the term as-is, or null if it was explicitly disabled in the context.\n * @throws If the term is aliased to an invalid value (not a string, IRI or keyword).\n */\n expandTerm(term, expandVocab, options = exports.defaultExpandOptions) {\n const contextValue = this.contextRaw[term];\n // Immediately return if the term was disabled in the context\n if (contextValue === null || (contextValue && contextValue['@id'] === null)) {\n return null;\n }\n // Check the @id\n let validIriMapping = true;\n if (contextValue && expandVocab) {\n const value = Util_1.Util.getContextValueId(contextValue);\n if (value && value !== term) {\n if (typeof value !== 'string' || (!Util_1.Util.isValidIri(value) && !Util_1.Util.isValidKeyword(value))) {\n // Don't mark this mapping as invalid if we have an unknown keyword, but of the correct form.\n if (!Util_1.Util.isPotentialKeyword(value)) {\n validIriMapping = false;\n }\n }\n else {\n return value;\n }\n }\n }\n // Check if the term is prefixed\n const prefix = Util_1.Util.getPrefix(term, this.contextRaw);\n const vocab = this.contextRaw['@vocab'];\n const vocabRelative = (!!vocab || vocab === '') && vocab.indexOf(':') < 0;\n const base = this.contextRaw['@base'];\n const potentialKeyword = Util_1.Util.isPotentialKeyword(term);\n if (prefix) {\n const contextPrefixValue = this.contextRaw[prefix];\n const value = Util_1.Util.getContextValueId(contextPrefixValue);\n if (value) {\n if (typeof contextPrefixValue === 'string' || !options.allowPrefixForcing) {\n // If we have a simple term definition,\n // check the last character of the prefix to determine whether or not it is a prefix.\n // Validate that prefix ends with gen-delim character, unless @prefix is true\n if (!Util_1.Util.isSimpleTermDefinitionPrefix(value, options)) {\n // Treat the term as an absolute IRI\n return term;\n }\n }\n else {\n // If we have an expanded term definition, default to @prefix: false\n if (value[0] !== '_' && !potentialKeyword && !contextPrefixValue['@prefix'] && !(term in this.contextRaw)) {\n // Treat the term as an absolute IRI\n return term;\n }\n }\n return value + term.substr(prefix.length + 1);\n }\n }\n else if (expandVocab && ((vocab || vocab === '') || (options.allowVocabRelativeToBase && (base && vocabRelative)))\n && !potentialKeyword && !Util_1.Util.isCompactIri(term)) {\n if (vocabRelative) {\n if (options.allowVocabRelativeToBase) {\n return ((vocab || base) ? (0, relative_to_absolute_iri_1.resolve)(vocab, base) : '') + term;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Relative vocab expansion for term '${term}' with vocab '${vocab}' is not allowed.`, ErrorCoded_1.ERROR_CODES.INVALID_VOCAB_MAPPING);\n }\n }\n else {\n return vocab + term;\n }\n }\n else if (!expandVocab && base && !potentialKeyword && !Util_1.Util.isCompactIri(term)) {\n return (0, relative_to_absolute_iri_1.resolve)(term, base);\n }\n // Return the term as-is, unless we discovered an invalid IRI mapping for this term in the context earlier.\n if (validIriMapping) {\n return term;\n }\n else {\n throw new ErrorCoded_1.ErrorCoded(`Invalid IRI mapping found for context entry '${term}': '${JSON.stringify(contextValue)}'`, ErrorCoded_1.ERROR_CODES.INVALID_IRI_MAPPING);\n }\n }\n /**\n * Compact the given term using @base, @vocab, an aliased term, or a prefixed term.\n *\n * This will try to compact the IRI as much as possible.\n *\n * @param {string} iri An IRI to compact.\n * @param {boolean} vocab If the term is a predicate or type and should be compacted based on @vocab,\n * otherwise it is considered a regular term that is compacted based on @base.\n * @return {string} The compacted term or the IRI as-is.\n */\n compactIri(iri, vocab) {\n // Try @vocab compacting\n if (vocab && this.contextRaw['@vocab'] && iri.startsWith(this.contextRaw['@vocab'])) {\n return iri.substr(this.contextRaw['@vocab'].length);\n }\n // Try @base compacting\n if (!vocab && this.contextRaw['@base'] && iri.startsWith(this.contextRaw['@base'])) {\n return iri.substr(this.contextRaw['@base'].length);\n }\n // Loop over all terms in the context\n // This will try to prefix as short as possible.\n // Once a fully compacted alias is found, return immediately, as we can not go any shorter.\n const shortestPrefixing = { prefix: '', suffix: iri };\n for (const key in this.contextRaw) {\n const value = this.contextRaw[key];\n if (value && !Util_1.Util.isPotentialKeyword(key)) {\n const contextIri = Util_1.Util.getContextValueId(value);\n if (iri.startsWith(contextIri)) {\n const suffix = iri.substr(contextIri.length);\n if (!suffix) {\n if (vocab) {\n // Immediately return on compacted alias\n return key;\n }\n }\n else if (suffix.length < shortestPrefixing.suffix.length) {\n // Overwrite the shortest prefix\n shortestPrefixing.prefix = key;\n shortestPrefixing.suffix = suffix;\n }\n }\n }\n }\n // Return the shortest prefix\n if (shortestPrefixing.prefix) {\n return shortestPrefixing.prefix + ':' + shortestPrefixing.suffix;\n }\n return iri;\n }\n}\nexports.JsonLdContextNormalized = JsonLdContextNormalized;\nexports.defaultExpandOptions = {\n allowPrefixForcing: true,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: true,\n};\n//# sourceMappingURL=JsonLdContextNormalized.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nclass Util {\n /**\n * Check if the given term is a valid compact IRI.\n * Otherwise, it may be an IRI.\n * @param {string} term A term.\n * @return {boolean} If it is a compact IRI.\n */\n static isCompactIri(term) {\n return term.indexOf(':') > 0 && !(term && term[0] === '#');\n }\n /**\n * Get the prefix from the given term.\n * @see https://json-ld.org/spec/latest/json-ld/#compact-iris\n * @param {string} term A term that is an URL or a prefixed URL.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @return {string} The prefix or null.\n */\n static getPrefix(term, context) {\n // Do not consider relative IRIs starting with a hash as compact IRIs\n if (term && term[0] === '#') {\n return null;\n }\n const separatorPos = term.indexOf(':');\n if (separatorPos >= 0) {\n // Suffix can not begin with two slashes\n if (term.length > separatorPos + 1\n && term.charAt(separatorPos + 1) === '/'\n && term.charAt(separatorPos + 2) === '/') {\n return null;\n }\n const prefix = term.substr(0, separatorPos);\n // Prefix can not be an underscore (this is a blank node)\n if (prefix === '_') {\n return null;\n }\n // Prefix must match a term in the active context\n if (context[prefix]) {\n return prefix;\n }\n }\n return null;\n }\n /**\n * From a given context entry value, get the string value, or the @id field.\n * @param contextValue A value for a term in a context.\n * @return {string} The id value, or null.\n */\n static getContextValueId(contextValue) {\n if (contextValue === null || typeof contextValue === 'string') {\n return contextValue;\n }\n const id = contextValue['@id'];\n return id ? id : null;\n }\n /**\n * Check if the given simple term definition (string-based value of a context term)\n * should be considered a prefix.\n * @param value A simple term definition value.\n * @param options Options that define the way how expansion must be done.\n */\n static isSimpleTermDefinitionPrefix(value, options) {\n return !Util.isPotentialKeyword(value)\n && (options.allowPrefixNonGenDelims || (typeof value === 'string' && (value[0] === '_' || Util.isPrefixIriEndingWithGenDelim(value))));\n }\n /**\n * Check if the given keyword is of the keyword format \"@\"1*ALPHA.\n * @param {string} keyword A potential keyword.\n * @return {boolean} If the given keyword is of the keyword format.\n */\n static isPotentialKeyword(keyword) {\n return typeof keyword === 'string' && Util.KEYWORD_REGEX.test(keyword);\n }\n /**\n * Check if the given prefix ends with a gen-delim character.\n * @param {string} prefixIri A prefix IRI.\n * @return {boolean} If the given prefix IRI is valid.\n */\n static isPrefixIriEndingWithGenDelim(prefixIri) {\n return Util.ENDS_WITH_GEN_DELIM.test(prefixIri);\n }\n /**\n * Check if the given context value can be a prefix value.\n * @param value A context value.\n * @return {boolean} If it can be a prefix value.\n */\n static isPrefixValue(value) {\n return value && (typeof value === 'string' || (value && typeof value === 'object'));\n }\n /**\n * Check if the given IRI is valid.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIri(iri) {\n return Boolean(iri && Util.IRI_REGEX.test(iri));\n }\n /**\n * Check if the given IRI is valid, this includes the possibility of being a relative IRI.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIriWeak(iri) {\n return !!iri && iri[0] !== ':' && Util.IRI_REGEX_WEAK.test(iri);\n }\n /**\n * Check if the given keyword is a defined according to the JSON-LD specification.\n * @param {string} keyword A potential keyword.\n * @return {boolean} If the given keyword is valid.\n */\n static isValidKeyword(keyword) {\n return Util.VALID_KEYWORDS[keyword];\n }\n /**\n * Check if the given term is protected in the context.\n * @param {IJsonLdContextNormalizedRaw} context A context.\n * @param {string} key A context term.\n * @return {boolean} If the given term has an @protected flag.\n */\n static isTermProtected(context, key) {\n const value = context[key];\n return !(typeof value === 'string') && value && value['@protected'];\n }\n /**\n * Check if the given context has at least one protected term.\n * @param context A context.\n * @return If the context has a protected term.\n */\n static hasProtectedTerms(context) {\n for (const key of Object.keys(context)) {\n if (Util.isTermProtected(context, key)) {\n return true;\n }\n }\n return false;\n }\n /**\n * Check if the given key is an internal reserved keyword.\n * @param key A context key.\n */\n static isReservedInternalKeyword(key) {\n return key.startsWith('@__');\n }\n /**\n * Check if two objects are deepEqual to on another.\n * @param object1 The first object to test.\n * @param object2 The second object to test.\n */\n static deepEqual(object1, object2) {\n const objKeys1 = Object.keys(object1);\n const objKeys2 = Object.keys(object2);\n if (objKeys1.length !== objKeys2.length)\n return false;\n return objKeys1.every((key) => {\n const value1 = object1[key];\n const value2 = object2[key];\n return (value1 === value2) || (value1 !== null &&\n value2 !== null &&\n typeof value1 === \"object\" &&\n typeof value2 === \"object\" &&\n this.deepEqual(value1, value2));\n });\n }\n ;\n}\n// Regex for valid IRIs\nUtil.IRI_REGEX = /^([A-Za-z][A-Za-z0-9+-.]*|_):[^ \"<>{}|\\\\\\[\\]`#]*(#[^#]*)?$/;\n// Weaker regex for valid IRIs, this includes relative IRIs\nUtil.IRI_REGEX_WEAK = /(?::[^:])|\\//;\n// Regex for keyword form\nUtil.KEYWORD_REGEX = /^@[a-z]+$/i;\n// Regex to see if an IRI ends with a gen-delim character (see RFC 3986)\nUtil.ENDS_WITH_GEN_DELIM = /[:/?#\\[\\]@]$/;\n// Regex for language tags\nUtil.REGEX_LANGUAGE_TAG = /^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/;\n// Regex for base directions\nUtil.REGEX_DIRECTION_TAG = /^(ltr)|(rtl)$/;\n// All known valid JSON-LD keywords\n// @see https://www.w3.org/TR/json-ld11/#keywords\nUtil.VALID_KEYWORDS = {\n '@annotation': true,\n '@base': true,\n '@container': true,\n '@context': true,\n '@direction': true,\n '@graph': true,\n '@id': true,\n '@import': true,\n '@included': true,\n '@index': true,\n '@json': true,\n '@language': true,\n '@list': true,\n '@nest': true,\n '@none': true,\n '@prefix': true,\n '@propagate': true,\n '@protected': true,\n '@reverse': true,\n '@set': true,\n '@type': true,\n '@value': true,\n '@version': true,\n '@vocab': true,\n};\n// Keys in the contexts that will not be expanded based on the base IRI\nUtil.EXPAND_KEYS_BLACKLIST = [\n '@base',\n '@vocab',\n '@language',\n '@version',\n '@direction',\n];\n// Keys in the contexts that may not be aliased from\nUtil.ALIAS_DOMAIN_BLACKLIST = [\n '@container',\n '@graph',\n '@id',\n '@index',\n '@list',\n '@nest',\n '@none',\n '@prefix',\n '@reverse',\n '@set',\n '@type',\n '@value',\n '@version',\n];\n// Keys in the contexts that may not be aliased to\nUtil.ALIAS_RANGE_BLACKLIST = [\n '@context',\n '@preserve',\n];\n// All valid @container values\nUtil.CONTAINERS = [\n '@list',\n '@set',\n '@index',\n '@language',\n '@graph',\n '@id',\n '@type',\n];\n// All valid @container values under processing mode 1.0\nUtil.CONTAINERS_1_0 = [\n '@list',\n '@set',\n '@index',\n];\nexports.Util = Util;\n//# sourceMappingURL=Util.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/propertyhandler/IItemPropertyHandler\"), exports);\n__exportStar(require(\"./lib/propertyhandler/ItemPropertyHandlerContent\"), exports);\n__exportStar(require(\"./lib/propertyhandler/ItemPropertyHandlerNumber\"), exports);\n__exportStar(require(\"./lib/propertyhandler/ItemPropertyHandlerTime\"), exports);\n__exportStar(require(\"./lib/propertyhandler/ItemPropertyHandlerUrl\"), exports);\n__exportStar(require(\"./lib/IHtmlParseListener\"), exports);\n__exportStar(require(\"./lib/IItemScope\"), exports);\n__exportStar(require(\"./lib/IVocabRegistry\"), exports);\n__exportStar(require(\"./lib/MicrodataRdfParser\"), exports);\n__exportStar(require(\"./lib/Util\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IHtmlParseListener.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IItemScope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IVocabRegistry.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MicrodataRdfParser = void 0;\nconst htmlparser2_1 = require(\"htmlparser2\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst ItemPropertyHandlerContent_1 = require(\"./propertyhandler/ItemPropertyHandlerContent\");\nconst ItemPropertyHandlerNumber_1 = require(\"./propertyhandler/ItemPropertyHandlerNumber\");\nconst ItemPropertyHandlerTime_1 = require(\"./propertyhandler/ItemPropertyHandlerTime\");\nconst ItemPropertyHandlerUrl_1 = require(\"./propertyhandler/ItemPropertyHandlerUrl\");\nconst Util_1 = require(\"./Util\");\nconst VOCAB_REGISTRY_DEFAULT = require(\"./vocab-registry-default.json\");\n/**\n * A stream transformer that parses Microdata (text) streams to an {@link RDF.Stream}.\n */\nclass MicrodataRdfParser extends readable_stream_1.Transform {\n constructor(options) {\n super({ readableObjectMode: true });\n // Stacks, where the key is the current depth.\n this.itemScopeStack = [];\n this.textBufferStack = [];\n // Variables for managing itemrefs.\n this.isEmittingReferences = false;\n this.pendingItemRefsDomain = {};\n this.pendingItemRefsRangeFinalized = {};\n // eslint-disable-next-line lines-between-class-members\n this.pendingItemRefsRangeCollecting = {};\n options = options || {};\n this.options = options;\n this.util = new Util_1.Util(options.dataFactory, options.baseIRI);\n this.defaultGraph = options.defaultGraph || this.util.dataFactory.defaultGraph();\n this.htmlParseListener = options.htmlParseListener;\n this.vocabRegistry = options.vocabRegistry || VOCAB_REGISTRY_DEFAULT;\n this.parser = this.initializeParser(!!options.xmlMode);\n }\n /**\n * Parses the given text stream into a quad stream.\n * @param {NodeJS.EventEmitter} stream A text stream.\n * @return {RDF.Stream} A quad stream.\n */\n import(stream) {\n const output = new readable_stream_1.PassThrough({ readableObjectMode: true });\n stream.on('error', (error) => parsed.emit('error', error));\n stream.on('data', (data) => output.push(data));\n stream.on('end', () => output.push(null));\n const parsed = output.pipe(new MicrodataRdfParser(this.options));\n return parsed;\n }\n _transform(chunk, encoding, callback) {\n this.parser.write(chunk.toString());\n callback();\n }\n _flush(callback) {\n this.parser.end();\n callback();\n }\n /**\n * Get the current item scope for the current depth.\n * This will skip all undefined item scopes.\n * @param parent If we should start looking one level higher in the stack.\n */\n getItemScope(parent) {\n let parentTagI = this.itemScopeStack.length - (parent ? 2 : 1);\n while (parentTagI > 0 && !this.itemScopeStack[parentTagI]) {\n parentTagI--;\n }\n return this.itemScopeStack[parentTagI];\n }\n /**\n * Get the current stack depth.\n */\n getDepth() {\n return this.itemScopeStack.length;\n }\n onTagOpen(name, attributes) {\n if (!this.isEmittingReferences) {\n // If the tag has an 'id', start collecting the whole stack in the item reference buffer\n if ('id' in attributes) {\n const id = attributes.id;\n this.pendingItemRefsRangeCollecting[id] = {\n events: [],\n counter: 0,\n ids: [],\n };\n }\n // Store this event in all collecting item reference buffers\n for (const buffer of Object.values(this.pendingItemRefsRangeCollecting)) {\n buffer.counter++;\n buffer.events.push({ type: 'open', name, attributes });\n }\n }\n // Ensure the text buffer stack is in line with the stack depth\n this.textBufferStack.push(undefined);\n // Processing steps based on https://w3c.github.io/microdata-rdf/#rdf-conversion-algorithm\n // 1. Determine the current item scope\n let itemScope;\n if ('itemscope' in attributes) {\n // Create a new item scope\n let subject;\n if (this.emittingReferencesItemScopeIdGenerator) {\n subject = this.emittingReferencesItemScopeIdGenerator();\n }\n else {\n subject = 'itemid' in attributes && this.util.createSubject(attributes.itemid) ||\n this.util.dataFactory.blankNode();\n // Store the genererated id in all collecting item reference buffers\n for (const buffer of Object.values(this.pendingItemRefsRangeCollecting)) {\n buffer.ids.push(subject);\n }\n }\n itemScope = { subject };\n // If the id was reused from a reference, block any new triples to be generated from it\n if (this.isEmittingReferences) {\n itemScope.blockEmission = true;\n }\n // Inherit vocab from parent item scope\n const parentItemScope = this.getItemScope();\n if (parentItemScope && parentItemScope.vocab) {\n itemScope.vocab = parentItemScope.vocab;\n }\n // 2. Push any changes to the item scope to the stack\n this.itemScopeStack.push(itemScope);\n }\n else {\n // Determine the parent item scope\n itemScope = this.getItemScope();\n // 2. Push any changes to the item scope to the stack\n this.itemScopeStack.push(undefined);\n }\n // If we have a valid item scope, process the current node\n if (itemScope) {\n // 3. Handle item types\n if ('itemtype' in attributes) {\n for (const type of this.util.createVocabIris(attributes.itemtype, itemScope, false)) {\n // 4. Vocab identifier is the first valid item\n if (!itemScope.vocab) {\n // 5. Modify vocab based on registry\n itemScope.vocab = this.util.deriveVocab(type.value, this.vocabRegistry);\n }\n // Emit item type\n if (!itemScope.blockEmission) {\n this.emitTriple(itemScope.subject, this.util.dataFactory.namedNode(`${Util_1.Util.RDF}type`), type);\n }\n }\n }\n // Save language in item scope\n if ('lang' in attributes) {\n itemScope.language = attributes.lang;\n }\n if ('xml:lang' in attributes) {\n itemScope.language = attributes['xml:lang'];\n }\n // Handle itemrefs (only if we also had an itemscope)\n // If we have an itemref, store it in our domain buffer.\n if ('itemscope' in attributes &&\n !this.isEmittingReferences && 'itemref' in attributes) {\n for (const reference of attributes.itemref.split(/\\s+/u)) {\n if (!(reference in this.pendingItemRefsDomain)) {\n this.pendingItemRefsDomain[reference] = [];\n }\n this.pendingItemRefsDomain[reference].push(itemScope);\n this.tryToEmitReferences(reference, itemScope);\n }\n }\n }\n // 6. Handle item properties\n if ('itemprop' in attributes) {\n this.handleItemProperties(attributes.itemprop, false, itemScope, name, attributes);\n }\n // Handle reverse item properties\n // https://w3c.github.io/microdata-rdf/#reverse-itemprop\n if ('itemprop-reverse' in attributes) {\n this.handleItemProperties(attributes['itemprop-reverse'], true, itemScope, name, attributes);\n }\n }\n onText(data) {\n // Store this event in all collecting item reference buffers\n if (!this.isEmittingReferences) {\n for (const buffer of Object.values(this.pendingItemRefsRangeCollecting)) {\n buffer.events.push({ type: 'text', data });\n }\n }\n // Save the text inside all item scopes that need to collect text\n for (const textBuffer of this.textBufferStack) {\n if (textBuffer) {\n textBuffer.push(data);\n }\n }\n }\n onTagClose() {\n // Store this event in all collecting item reference buffers\n if (!this.isEmittingReferences) {\n for (const [reference, buffer] of Object.entries(this.pendingItemRefsRangeCollecting)) {\n buffer.counter--;\n buffer.events.push({ type: 'close' });\n // Once the counter becomes zero, the tag is fully buffered, so we finalize it.\n if (buffer.counter === 0) {\n this.pendingItemRefsRangeFinalized[reference] = buffer;\n delete this.pendingItemRefsRangeCollecting[reference];\n // Try to emit this reference with buffered domain items\n this.tryToEmitReferences(reference);\n }\n }\n }\n // Emit all triples that were determined in the active tag\n const itemScope = this.getItemScope(true);\n if (itemScope) {\n const depth = this.getDepth();\n if (itemScope.predicates && depth in itemScope.predicates) {\n for (const [predicateKey, predicates] of Object.entries(itemScope.predicates[depth])) {\n // First check if we have a child item scope, otherwise get the text content\n // Safely cast textBufferStack, as it is always defined when itemScope.predicates is defined.\n const object = this.util.createLiteral(this.textBufferStack[depth].join(''), itemScope);\n this.emitPredicateTriples(itemScope, predicates, object, predicateKey === 'reverse');\n delete itemScope.predicates[depth][predicateKey];\n }\n }\n }\n // Remove the active tag from the stack\n this.itemScopeStack.pop();\n this.textBufferStack.pop();\n }\n onEnd() {\n // Nothing important should happen here.\n }\n /**\n * Initialize a new HtmlParser.\n * @param xmlMode If the parser should be setup in strict mode.\n */\n initializeParser(xmlMode) {\n return new htmlparser2_1.Parser({\n onclosetag: () => {\n try {\n this.onTagClose();\n if (this.htmlParseListener) {\n this.htmlParseListener.onTagClose();\n }\n }\n catch (error) {\n this.emit('error', error);\n }\n },\n onend: () => {\n try {\n this.onEnd();\n if (this.htmlParseListener) {\n this.htmlParseListener.onEnd();\n }\n }\n catch (error) {\n this.emit('error', error);\n }\n },\n onopentag: (name, attributes) => {\n try {\n this.onTagOpen(name, attributes);\n if (this.htmlParseListener) {\n this.htmlParseListener.onTagOpen(name, attributes);\n }\n }\n catch (error) {\n this.emit('error', error);\n }\n },\n ontext: (data) => {\n try {\n this.onText(data);\n if (this.htmlParseListener) {\n this.htmlParseListener.onText(data);\n }\n }\n catch (error) {\n this.emit('error', error);\n }\n },\n }, {\n decodeEntities: true,\n recognizeSelfClosing: true,\n xmlMode,\n });\n }\n /**\n * Handle the given item properties.\n * @param itempropValue The value of itemprop or itemprop-reverse.\n * @param reverse If the item properties are reversed (itemprop-reverse).\n * @param itemScope The current item scope.\n * @param tagName The current tag name.\n * @param tagAttributes The current tag attributes.\n */\n handleItemProperties(itempropValue, reverse, itemScope, tagName, tagAttributes) {\n const parentItemScope = this.getItemScope(true);\n if (parentItemScope) {\n // Set predicates in the scope, and handle them on tag close.\n const depth = this.getDepth();\n const predicates = this.util.createVocabIris(itempropValue, parentItemScope, true);\n if (!parentItemScope.predicates) {\n parentItemScope.predicates = {};\n }\n if (!parentItemScope.predicates[depth]) {\n parentItemScope.predicates[depth] = {};\n }\n const predicatesKey = reverse ? 'reverse' : 'forward';\n parentItemScope.predicates[depth][predicatesKey] = predicates;\n // Append rdf:type predicate if vocabulary expansion applies\n for (const vocabularyExpansionType of this.util.getVocabularyExpansionType(itempropValue, parentItemScope, this.vocabRegistry)) {\n predicates.push(vocabularyExpansionType);\n }\n // Check if a property handler that applies, forcefully use that as predicate value.\n // But DON'T call handlers in this prop is a direct (nested) itemscope.\n if (itemScope && 'itemscope' in tagAttributes) {\n this.emitPredicateTriples(parentItemScope, predicates, itemScope.subject, reverse);\n // Finalize the predicates, so text values do not apply to them.\n delete parentItemScope.predicates[depth][predicatesKey];\n }\n else {\n for (const handler of MicrodataRdfParser.ITEM_PROPERTY_HANDLERS) {\n if (handler.canHandle(tagName, tagAttributes)) {\n const object = handler.getObject(tagAttributes, this.util, parentItemScope);\n this.emitPredicateTriples(parentItemScope, predicates, object, reverse);\n // Finalize the predicates, so text values do not apply to them.\n delete parentItemScope.predicates[depth][predicatesKey];\n }\n }\n }\n // If no valid handler was found, indicate that we should collect text at this depth.\n if (parentItemScope.predicates[depth][predicatesKey]) {\n this.textBufferStack[depth] = [];\n }\n }\n }\n /**\n * Emit the given object for the given predicates.\n * @param itemScope The current item scope.\n * @param predicates An array of predicates.\n * @param object An object.\n * @param reverse If the triples should be reversed.\n */\n emitPredicateTriples(itemScope, predicates, object, reverse) {\n if (!itemScope.blockEmission) {\n for (const predicate of predicates) {\n if (reverse) {\n // Literals can not exist in subject position, so they must be ignored.\n if (object.termType !== 'Literal') {\n this.emitTriple(object, predicate, itemScope.subject);\n }\n }\n else {\n this.emitTriple(itemScope.subject, predicate, object);\n }\n }\n }\n }\n /**\n * Emit the given triple to the stream.\n * @param {Quad_Subject} subject A subject term.\n * @param {Quad_Predicate} predicate A predicate term.\n * @param {Quad_Object} object An object term.\n */\n emitTriple(subject, predicate, object) {\n this.push(this.util.dataFactory.quad(subject, predicate, object, this.defaultGraph));\n }\n /**\n * Attempt to emit all pending itemrefs for the given reference.\n * @param reference An item reference id.\n * @param itemScopeDomain An optional item scope. If defined, only refs from this scope will be emitted.\n */\n tryToEmitReferences(reference, itemScopeDomain) {\n const range = this.pendingItemRefsRangeFinalized[reference];\n if (range) {\n // Determine the item scope domains to emit\n let applicableItemScopes;\n if (itemScopeDomain) {\n applicableItemScopes = [itemScopeDomain];\n // Remove the item from the pending array\n // Element is guaranteed to exist in buffer\n const itemScopeDomainIndex = this.pendingItemRefsDomain[reference].indexOf(itemScopeDomain);\n this.pendingItemRefsDomain[reference].splice(itemScopeDomainIndex, 1);\n }\n else {\n applicableItemScopes = this.pendingItemRefsDomain[reference];\n // Remove all items from the pending array\n delete this.pendingItemRefsDomain[reference];\n }\n if (applicableItemScopes) {\n // Save the stack state\n const itemScopeStackOld = this.itemScopeStack;\n const textBufferStackOld = this.textBufferStack;\n this.isEmittingReferences = true;\n // For all applicable item scopes, emit the buffered events.\n for (const itemScope of applicableItemScopes) {\n this.itemScopeStack = [itemScope];\n this.textBufferStack = [undefined];\n const pendingIds = [...range.ids];\n this.emittingReferencesItemScopeIdGenerator = () => pendingIds.shift();\n for (const event of range.events) {\n switch (event.type) {\n case 'open':\n this.onTagOpen(event.name, event.attributes);\n break;\n case 'text':\n this.onText(event.data);\n break;\n case 'close':\n this.onTagClose();\n break;\n }\n }\n }\n // Restore the stack state\n this.emittingReferencesItemScopeIdGenerator = undefined;\n this.itemScopeStack = itemScopeStackOld;\n this.textBufferStack = textBufferStackOld;\n this.isEmittingReferences = false;\n }\n }\n }\n}\nexports.MicrodataRdfParser = MicrodataRdfParser;\nMicrodataRdfParser.ITEM_PROPERTY_HANDLERS = [\n new ItemPropertyHandlerContent_1.ItemPropertyHandlerContent(),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('a', 'href'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('area', 'href'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('audio', 'src'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('embed', 'src'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('iframe', 'src'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('img', 'src'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('link', 'href'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('object', 'data'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('source', 'src'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('track', 'src'),\n new ItemPropertyHandlerUrl_1.ItemPropertyHandlerUrl('video', 'src'),\n new ItemPropertyHandlerNumber_1.ItemPropertyHandlerNumber('data', 'value'),\n new ItemPropertyHandlerNumber_1.ItemPropertyHandlerNumber('meter', 'value'),\n new ItemPropertyHandlerTime_1.ItemPropertyHandlerTime(),\n];\n//# sourceMappingURL=MicrodataRdfParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * A collection of utility functions.\n */\nclass Util {\n constructor(dataFactory, baseIRI) {\n this.dataFactory = dataFactory || new rdf_data_factory_1.DataFactory();\n this.baseIRI = baseIRI || '';\n }\n /**\n * Check if the given IRI is valid.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIri(iri) {\n return Util.IRI_REGEX.test(iri);\n }\n /**\n * Create vocab terms for the given terms attribute.\n *\n * Relative IRIs will be based on the active vocab or baseIRI if `allowRelativeIris` is true.\n *\n * @param {string} terms An attribute value.\n * @param {IItemScope} itemScope The active item scope.\n * @param {boolean} allowRelativeIris If relative IRIs are allowed.\n * @return {Term[]} The IRI terms.\n */\n createVocabIris(terms, itemScope, allowRelativeIris) {\n return terms.split(/\\s+/u)\n .filter(term => !!term)\n .map(property => {\n if (!Util.isValidIri(property)) {\n if (!allowRelativeIris) {\n return;\n }\n property = `${itemScope.vocab || `${this.baseIRI}#`}${property}`;\n }\n return this.dataFactory.namedNode(property);\n })\n .filter(term => !!term);\n }\n /**\n * Get the predicates for which the given itemprop value should cause vocabulary expansion.\n * @param terms An attribute value.\n * @param itemScope The active item scope.\n * @param vocabRegistry The active vocabulary registry.\n */\n getVocabularyExpansionType(terms, itemScope, vocabRegistry) {\n // Check the presence of subPropertyOf or equivalentProperty\n const parts = terms.split(/\\s+/u);\n if (parts.includes('subPropertyOf') || parts.includes('equivalentProperty')) {\n return [this.dataFactory.namedNode(`${Util.RDF}type`)];\n }\n // Check in the item scope's vocab\n if (itemScope.vocab && itemScope.vocab in vocabRegistry && vocabRegistry[itemScope.vocab].properties) {\n let predicates = [];\n for (const [property, expansions] of Object\n .entries(vocabRegistry[itemScope.vocab].properties)) {\n if (parts.includes(property)) {\n predicates = [...Object.values(expansions).map(iri => this.dataFactory.namedNode(iri))];\n }\n }\n return predicates;\n }\n return [];\n }\n /**\n * Create a named node for the given term, which can be relative to the document base.\n * @param {string} iri A term string.\n * @return {Term} An RDF term, or undefined if invalid.\n */\n createSubject(iri) {\n if (!Util.isValidIri(iri)) {\n try {\n iri = (0, relative_to_absolute_iri_1.resolve)(iri, this.baseIRI);\n }\n catch (_a) {\n return;\n }\n }\n return this.dataFactory.namedNode(iri);\n }\n /**\n * Create a new literal node.\n * @param {string} literal The literal value.\n * @param {IActiveTag} activeTag The current active tag.\n * @return {Literal} A new literal node.\n */\n createLiteral(literal, activeTag) {\n return this.dataFactory.literal(literal, activeTag.language);\n }\n /**\n * Determine the vocab IRI from a given type IRI.\n * @link https://w3c.github.io/microdata-rdf/#property-uri-generation\n * @param typeIri A type IRI.\n * @param vocabRegistry The active vocabulary registry.\n */\n deriveVocab(typeIri, vocabRegistry) {\n let vocab;\n // First check if we find a prefix in the vocab registry\n for (const uriPrefix in vocabRegistry) {\n if (typeIri.startsWith(uriPrefix)) {\n vocab = uriPrefix;\n // Append fragment if prefix does not end with a slash\n if (!vocab.endsWith('/')) {\n vocab += '#';\n }\n break;\n }\n }\n // If no match was found, remove the last path segment from the URI\n if (!vocab) {\n const hashPos = typeIri.indexOf('#');\n if (hashPos > 0) {\n vocab = typeIri.slice(0, hashPos + 1);\n }\n else {\n vocab = (0, relative_to_absolute_iri_1.resolve)('.', typeIri);\n }\n }\n return vocab;\n }\n}\nexports.Util = Util;\nUtil.RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\nUtil.XSD = 'http://www.w3.org/2001/XMLSchema#';\nUtil.RDFA = 'http://www.w3.org/ns/rdfa#';\nUtil.IRI_REGEX = /^([A-Za-z][\\d+-.A-Za-z]*|_):[^ \"<>[\\\\\\]`{|}]*$/u;\n//# sourceMappingURL=Util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IItemPropertyHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ItemPropertyHandlerContent = void 0;\n/**\n * Handler for an item property with the 'content' attribute.\n */\nclass ItemPropertyHandlerContent {\n canHandle(tagName, attributes) {\n return 'content' in attributes;\n }\n getObject(attributes, util, itemScope) {\n return util.createLiteral(attributes.content, itemScope);\n }\n}\nexports.ItemPropertyHandlerContent = ItemPropertyHandlerContent;\n//# sourceMappingURL=ItemPropertyHandlerContent.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ItemPropertyHandlerNumber = void 0;\nconst Util_1 = require(\"../Util\");\n/**\n * Handler for an item property with a number attribute.\n */\nclass ItemPropertyHandlerNumber {\n constructor(tagName, attributeName) {\n this.tagName = tagName;\n this.attributeName = attributeName;\n }\n canHandle(tagName, attributes) {\n return this.tagName === tagName && this.attributeName in attributes;\n }\n getObject(attributes, util, itemScope) {\n const value = attributes[this.attributeName];\n let datatype;\n if (!Number.isNaN(Number.parseInt(value, 10)) && !value.includes('.')) {\n datatype = `${Util_1.Util.XSD}integer`;\n }\n else if (!Number.isNaN(Number.parseFloat(value))) {\n datatype = `${Util_1.Util.XSD}double`;\n }\n return util.dataFactory.literal(value, datatype && util.dataFactory.namedNode(datatype));\n }\n}\nexports.ItemPropertyHandlerNumber = ItemPropertyHandlerNumber;\n//# sourceMappingURL=ItemPropertyHandlerNumber.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ItemPropertyHandlerTime = void 0;\nconst Util_1 = require(\"../Util\");\n/**\n * Handler for an item property for time tags.\n */\nclass ItemPropertyHandlerTime {\n canHandle(tagName, attributes) {\n return tagName === 'time' && 'datetime' in attributes;\n }\n getObject(attributes, util, itemScope) {\n const value = attributes.datetime;\n let datatype;\n for (const entry of ItemPropertyHandlerTime.TIME_REGEXES) {\n if (entry.regex.test(value)) {\n datatype = util.dataFactory.namedNode(Util_1.Util.XSD + entry.type);\n break;\n }\n }\n return util.dataFactory.literal(value, datatype);\n }\n}\nexports.ItemPropertyHandlerTime = ItemPropertyHandlerTime;\nItemPropertyHandlerTime.TIME_REGEXES = [\n {\n regex: /^-?P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d)?S)?)?$/u,\n type: 'duration',\n },\n {\n regex: /^\\d+-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d((Z?)|([+-]\\d\\d:\\d\\d))$/u,\n type: 'dateTime',\n },\n { regex: /^\\d+-\\d\\d-\\d\\dZ?$/u, type: 'date' },\n { regex: /^\\d\\d:\\d\\d:\\d\\d((Z?)|([+-]\\d\\d:\\d\\d))$/u, type: 'time' },\n { regex: /^\\d+-\\d\\d$/u, type: 'gYearMonth' },\n { regex: /^\\d+$/u, type: 'gYear' },\n];\n//# sourceMappingURL=ItemPropertyHandlerTime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ItemPropertyHandlerUrl = void 0;\nconst relative_to_absolute_iri_1 = require(\"relative-to-absolute-iri\");\n/**\n * Handler for an item property with a URL attribute.\n */\nclass ItemPropertyHandlerUrl {\n constructor(tagName, attributeName) {\n this.tagName = tagName;\n this.attributeName = attributeName;\n }\n canHandle(tagName, attributes) {\n return this.tagName === tagName && this.attributeName in attributes;\n }\n getObject(attributes, util, itemScope) {\n return util.dataFactory.namedNode((0, relative_to_absolute_iri_1.resolve)(attributes[this.attributeName], util.baseIRI));\n }\n}\nexports.ItemPropertyHandlerUrl = ItemPropertyHandlerUrl;\n//# sourceMappingURL=ItemPropertyHandlerUrl.js.map","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","const RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n XSD = 'http://www.w3.org/2001/XMLSchema#',\n SWAP = 'http://www.w3.org/2000/10/swap/';\n\nexport default {\n xsd: {\n decimal: `${XSD}decimal`,\n boolean: `${XSD}boolean`,\n double: `${XSD}double`,\n integer: `${XSD}integer`,\n string: `${XSD}string`,\n },\n rdf: {\n type: `${RDF}type`,\n nil: `${RDF}nil`,\n first: `${RDF}first`,\n rest: `${RDF}rest`,\n langString: `${RDF}langString`,\n },\n owl: {\n sameAs: 'http://www.w3.org/2002/07/owl#sameAs',\n },\n r: {\n forSome: `${SWAP}reify#forSome`,\n forAll: `${SWAP}reify#forAll`,\n },\n log: {\n implies: `${SWAP}log#implies`,\n },\n};\n","// **N3Lexer** tokenizes N3 documents.\nimport queueMicrotask from 'queue-microtask';\nimport namespaces from './IRIs';\n\nconst { xsd } = namespaces;\n\n// Regular expression and replacement string to escape N3 strings\nconst escapeSequence = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{8})|\\\\([^])/g;\nconst escapeReplacements = {\n '\\\\': '\\\\', \"'\": \"'\", '\"': '\"',\n 'n': '\\n', 'r': '\\r', 't': '\\t', 'f': '\\f', 'b': '\\b',\n '_': '_', '~': '~', '.': '.', '-': '-', '!': '!', '$': '$', '&': '&',\n '(': '(', ')': ')', '*': '*', '+': '+', ',': ',', ';': ';', '=': '=',\n '/': '/', '?': '?', '#': '#', '@': '@', '%': '%',\n};\nconst illegalIriChars = /[\\x00-\\x20<>\\\\\"\\{\\}\\|\\^\\`]/;\n\nconst lineModeRegExps = {\n _iri: true,\n _unescapedIri: true,\n _simpleQuotedString: true,\n _langcode: true,\n _blank: true,\n _newline: true,\n _comment: true,\n _whitespace: true,\n _endOfFile: true,\n};\nconst invalidRegExp = /$0^/;\n\n// ## Constructor\nexport default class N3Lexer {\n constructor(options) {\n // ## Regular expressions\n // It's slightly faster to have these as properties than as in-scope variables\n this._iri = /^<((?:[^ <>{}\\\\]|\\\\[uU])+)>[ \\t]*/; // IRI with escape sequences; needs sanity check after unescaping\n this._unescapedIri = /^<([^\\x00-\\x20<>\\\\\"\\{\\}\\|\\^\\`]*)>[ \\t]*/; // IRI without escape sequences; no unescaping\n this._simpleQuotedString = /^\"([^\"\\\\\\r\\n]*)\"(?=[^\"])/; // string without escape sequences\n this._simpleApostropheString = /^'([^'\\\\\\r\\n]*)'(?=[^'])/;\n this._langcode = /^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\\-])/i;\n this._prefix = /^((?:[A-Za-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:\\.?[\\-0-9A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)?:(?=[#\\s<])/;\n this._prefixed = /^((?:[A-Za-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:\\.?[\\-0-9A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)?:((?:(?:[0-:A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff]|%[0-9a-fA-F]{2}|\\\\[!#-\\/;=?\\-@_~])(?:(?:[\\.\\-0-:A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff]|%[0-9a-fA-F]{2}|\\\\[!#-\\/;=?\\-@_~])*(?:[\\-0-:A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff]|%[0-9a-fA-F]{2}|\\\\[!#-\\/;=?\\-@_~]))?)?)(?:[ \\t]+|(?=\\.?[,;!\\^\\s#()\\[\\]\\{\\}\"'<>]))/;\n this._variable = /^\\?(?:(?:[A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:[\\-0-:A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)(?=[.,;!\\^\\s#()\\[\\]\\{\\}\"'<>])/;\n this._blank = /^_:((?:[0-9A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:\\.?[\\-0-9A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)(?:[ \\t]+|(?=\\.?[,;:\\s#()\\[\\]\\{\\}\"'<>]))/;\n this._number = /^[\\-+]?(?:(\\d+\\.\\d*|\\.?\\d+)[eE][\\-+]?|\\d*(\\.)?)\\d+(?=\\.?[,;:\\s#()\\[\\]\\{\\}\"'<>])/;\n this._boolean = /^(?:true|false)(?=[.,;\\s#()\\[\\]\\{\\}\"'<>])/;\n this._keyword = /^@[a-z]+(?=[\\s#<:])/i;\n this._sparqlKeyword = /^(?:PREFIX|BASE|GRAPH)(?=[\\s#<])/i;\n this._shortPredicates = /^a(?=[\\s#()\\[\\]\\{\\}\"'<>])/;\n this._newline = /^[ \\t]*(?:#[^\\n\\r]*)?(?:\\r\\n|\\n|\\r)[ \\t]*/;\n this._comment = /#([^\\n\\r]*)/;\n this._whitespace = /^[ \\t]+/;\n this._endOfFile = /^(?:#[^\\n\\r]*)?$/;\n options = options || {};\n\n // In line mode (N-Triples or N-Quads), only simple features may be parsed\n if (this._lineMode = !!options.lineMode) {\n this._n3Mode = false;\n // Don't tokenize special literals\n for (const key in this) {\n if (!(key in lineModeRegExps) && this[key] instanceof RegExp)\n this[key] = invalidRegExp;\n }\n }\n // When not in line mode, enable N3 functionality by default\n else {\n this._n3Mode = options.n3 !== false;\n }\n // Don't output comment tokens by default\n this._comments = !!options.comments;\n // Cache the last tested closing position of long literals\n this._literalClosingPos = 0;\n }\n\n // ## Private methods\n\n // ### `_tokenizeToEnd` tokenizes as for as possible, emitting tokens through the callback\n _tokenizeToEnd(callback, inputFinished) {\n // Continue parsing as far as possible; the loop will return eventually\n let input = this._input;\n let currentLineLength = input.length;\n while (true) {\n // Count and skip whitespace lines\n let whiteSpaceMatch, comment;\n while (whiteSpaceMatch = this._newline.exec(input)) {\n // Try to find a comment\n if (this._comments && (comment = this._comment.exec(whiteSpaceMatch[0])))\n emitToken('comment', comment[1], '', this._line, whiteSpaceMatch[0].length);\n // Advance the input\n input = input.substr(whiteSpaceMatch[0].length, input.length);\n currentLineLength = input.length;\n this._line++;\n }\n // Skip whitespace on current line\n if (!whiteSpaceMatch && (whiteSpaceMatch = this._whitespace.exec(input)))\n input = input.substr(whiteSpaceMatch[0].length, input.length);\n\n // Stop for now if we're at the end\n if (this._endOfFile.test(input)) {\n // If the input is finished, emit EOF\n if (inputFinished) {\n // Try to find a final comment\n if (this._comments && (comment = this._comment.exec(input)))\n emitToken('comment', comment[1], '', this._line, input.length);\n input = null;\n emitToken('eof', '', '', this._line, 0);\n }\n return this._input = input;\n }\n\n // Look for specific token types based on the first character\n const line = this._line, firstChar = input[0];\n let type = '', value = '', prefix = '',\n match = null, matchLength = 0, inconclusive = false;\n switch (firstChar) {\n case '^':\n // We need at least 3 tokens lookahead to distinguish ^^ and ^^pre:fixed\n if (input.length < 3)\n break;\n // Try to match a type\n else if (input[1] === '^') {\n this._previousMarker = '^^';\n // Move to type IRI or prefixed name\n input = input.substr(2);\n if (input[0] !== '<') {\n inconclusive = true;\n break;\n }\n }\n // If no type, it must be a path expression\n else {\n if (this._n3Mode) {\n matchLength = 1;\n type = '^';\n }\n break;\n }\n // Fall through in case the type is an IRI\n case '<':\n // Try to find a full IRI without escape sequences\n if (match = this._unescapedIri.exec(input))\n type = 'IRI', value = match[1];\n // Try to find a full IRI with escape sequences\n else if (match = this._iri.exec(input)) {\n value = this._unescape(match[1]);\n if (value === null || illegalIriChars.test(value))\n return reportSyntaxError(this);\n type = 'IRI';\n }\n // Try to find a nested triple\n else if (input.length > 1 && input[1] === '<')\n type = '<<', matchLength = 2;\n // Try to find a backwards implication arrow\n else if (this._n3Mode && input.length > 1 && input[1] === '=')\n type = 'inverse', matchLength = 2, value = '>';\n break;\n\n case '>':\n if (input.length > 1 && input[1] === '>')\n type = '>>', matchLength = 2;\n break;\n\n case '_':\n // Try to find a blank node. Since it can contain (but not end with) a dot,\n // we always need a non-dot character before deciding it is a blank node.\n // Therefore, try inserting a space if we're at the end of the input.\n if ((match = this._blank.exec(input)) ||\n inputFinished && (match = this._blank.exec(`${input} `)))\n type = 'blank', prefix = '_', value = match[1];\n break;\n\n case '\"':\n // Try to find a literal without escape sequences\n if (match = this._simpleQuotedString.exec(input))\n value = match[1];\n // Try to find a literal wrapped in three pairs of quotes\n else {\n ({ value, matchLength } = this._parseLiteral(input));\n if (value === null)\n return reportSyntaxError(this);\n }\n if (match !== null || matchLength !== 0) {\n type = 'literal';\n this._literalClosingPos = 0;\n }\n break;\n\n case \"'\":\n if (!this._lineMode) {\n // Try to find a literal without escape sequences\n if (match = this._simpleApostropheString.exec(input))\n value = match[1];\n // Try to find a literal wrapped in three pairs of quotes\n else {\n ({ value, matchLength } = this._parseLiteral(input));\n if (value === null)\n return reportSyntaxError(this);\n }\n if (match !== null || matchLength !== 0) {\n type = 'literal';\n this._literalClosingPos = 0;\n }\n }\n break;\n\n case '?':\n // Try to find a variable\n if (this._n3Mode && (match = this._variable.exec(input)))\n type = 'var', value = match[0];\n break;\n\n case '@':\n // Try to find a language code\n if (this._previousMarker === 'literal' && (match = this._langcode.exec(input)))\n type = 'langcode', value = match[1];\n // Try to find a keyword\n else if (match = this._keyword.exec(input))\n type = match[0];\n break;\n\n case '.':\n // Try to find a dot as punctuation\n if (input.length === 1 ? inputFinished : (input[1] < '0' || input[1] > '9')) {\n type = '.';\n matchLength = 1;\n break;\n }\n // Fall through to numerical case (could be a decimal dot)\n\n case '0':\n case '1':\n case '2':\n case '3':\n case '4':\n case '5':\n case '6':\n case '7':\n case '8':\n case '9':\n case '+':\n case '-':\n // Try to find a number. Since it can contain (but not end with) a dot,\n // we always need a non-dot character before deciding it is a number.\n // Therefore, try inserting a space if we're at the end of the input.\n if (match = this._number.exec(input) ||\n inputFinished && (match = this._number.exec(`${input} `))) {\n type = 'literal', value = match[0];\n prefix = (typeof match[1] === 'string' ? xsd.double :\n (typeof match[2] === 'string' ? xsd.decimal : xsd.integer));\n }\n break;\n\n case 'B':\n case 'b':\n case 'p':\n case 'P':\n case 'G':\n case 'g':\n // Try to find a SPARQL-style keyword\n if (match = this._sparqlKeyword.exec(input))\n type = match[0].toUpperCase();\n else\n inconclusive = true;\n break;\n\n case 'f':\n case 't':\n // Try to match a boolean\n if (match = this._boolean.exec(input))\n type = 'literal', value = match[0], prefix = xsd.boolean;\n else\n inconclusive = true;\n break;\n\n case 'a':\n // Try to find an abbreviated predicate\n if (match = this._shortPredicates.exec(input))\n type = 'abbreviation', value = 'a';\n else\n inconclusive = true;\n break;\n\n case '=':\n // Try to find an implication arrow or equals sign\n if (this._n3Mode && input.length > 1) {\n type = 'abbreviation';\n if (input[1] !== '>')\n matchLength = 1, value = '=';\n else\n matchLength = 2, value = '>';\n }\n break;\n\n case '!':\n if (!this._n3Mode)\n break;\n case ',':\n case ';':\n case '[':\n case ']':\n case '(':\n case ')':\n case '}':\n if (!this._lineMode) {\n matchLength = 1;\n type = firstChar;\n }\n break;\n case '{':\n // We need at least 2 tokens lookahead to distinguish \"{|\" and \"{ \"\n if (!this._lineMode && input.length >= 2) {\n // Try to find a quoted triple annotation start\n if (input[1] === '|')\n type = '{|', matchLength = 2;\n else\n type = firstChar, matchLength = 1;\n }\n break;\n case '|':\n // We need 2 tokens lookahead to parse \"|}\"\n // Try to find a quoted triple annotation end\n if (input.length >= 2 && input[1] === '}')\n type = '|}', matchLength = 2;\n break;\n\n default:\n inconclusive = true;\n }\n\n // Some first characters do not allow an immediate decision, so inspect more\n if (inconclusive) {\n // Try to find a prefix\n if ((this._previousMarker === '@prefix' || this._previousMarker === 'PREFIX') &&\n (match = this._prefix.exec(input)))\n type = 'prefix', value = match[1] || '';\n // Try to find a prefixed name. Since it can contain (but not end with) a dot,\n // we always need a non-dot character before deciding it is a prefixed name.\n // Therefore, try inserting a space if we're at the end of the input.\n else if ((match = this._prefixed.exec(input)) ||\n inputFinished && (match = this._prefixed.exec(`${input} `)))\n type = 'prefixed', prefix = match[1] || '', value = this._unescape(match[2]);\n }\n\n // A type token is special: it can only be emitted after an IRI or prefixed name is read\n if (this._previousMarker === '^^') {\n switch (type) {\n case 'prefixed': type = 'type'; break;\n case 'IRI': type = 'typeIRI'; break;\n default: type = '';\n }\n }\n\n // What if nothing of the above was found?\n if (!type) {\n // We could be in streaming mode, and then we just wait for more input to arrive.\n // Otherwise, a syntax error has occurred in the input.\n // One exception: error on an unaccounted linebreak (= not inside a triple-quoted literal).\n if (inputFinished || (!/^'''|^\"\"\"/.test(input) && /\\n|\\r/.test(input)))\n return reportSyntaxError(this);\n else\n return this._input = input;\n }\n\n // Emit the parsed token\n const length = matchLength || match[0].length;\n const token = emitToken(type, value, prefix, line, length);\n this.previousToken = token;\n this._previousMarker = type;\n\n // Advance to next part to tokenize\n input = input.substr(length, input.length);\n }\n\n // Emits the token through the callback\n function emitToken(type, value, prefix, line, length) {\n const start = input ? currentLineLength - input.length : currentLineLength;\n const end = start + length;\n const token = { type, value, prefix, line, start, end };\n callback(null, token);\n return token;\n }\n // Signals the syntax error through the callback\n function reportSyntaxError(self) { callback(self._syntaxError(/^\\S*/.exec(input)[0])); }\n }\n\n // ### `_unescape` replaces N3 escape codes by their corresponding characters\n _unescape(item) {\n let invalid = false;\n const replaced = item.replace(escapeSequence, (sequence, unicode4, unicode8, escapedChar) => {\n // 4-digit unicode character\n if (typeof unicode4 === 'string')\n return String.fromCharCode(Number.parseInt(unicode4, 16));\n // 8-digit unicode character\n if (typeof unicode8 === 'string') {\n let charCode = Number.parseInt(unicode8, 16);\n return charCode <= 0xFFFF ? String.fromCharCode(Number.parseInt(unicode8, 16)) :\n String.fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF));\n }\n // fixed escape sequence\n if (escapedChar in escapeReplacements)\n return escapeReplacements[escapedChar];\n // invalid escape sequence\n invalid = true;\n return '';\n });\n return invalid ? null : replaced;\n }\n\n // ### `_parseLiteral` parses a literal into an unescaped value\n _parseLiteral(input) {\n // Ensure we have enough lookahead to identify triple-quoted strings\n if (input.length >= 3) {\n // Identify the opening quote(s)\n const opening = input.match(/^(?:\"\"\"|\"|'''|'|)/)[0];\n const openingLength = opening.length;\n\n // Find the next candidate closing quotes\n let closingPos = Math.max(this._literalClosingPos, openingLength);\n while ((closingPos = input.indexOf(opening, closingPos)) > 0) {\n // Count backslashes right before the closing quotes\n let backslashCount = 0;\n while (input[closingPos - backslashCount - 1] === '\\\\')\n backslashCount++;\n\n // An even number of backslashes (in particular 0)\n // means these are actual, non-escaped closing quotes\n if (backslashCount % 2 === 0) {\n // Extract and unescape the value\n const raw = input.substring(openingLength, closingPos);\n const lines = raw.split(/\\r\\n|\\r|\\n/).length - 1;\n const matchLength = closingPos + openingLength;\n // Only triple-quoted strings can be multi-line\n if (openingLength === 1 && lines !== 0 ||\n openingLength === 3 && this._lineMode)\n break;\n this._line += lines;\n return { value: this._unescape(raw), matchLength };\n }\n closingPos++;\n }\n this._literalClosingPos = input.length - openingLength + 1;\n }\n return { value: '', matchLength: 0 };\n }\n\n // ### `_syntaxError` creates a syntax error for the given issue\n _syntaxError(issue) {\n this._input = null;\n const err = new Error(`Unexpected \"${issue}\" on line ${this._line}.`);\n err.context = {\n token: undefined,\n line: this._line,\n previousToken: this.previousToken,\n };\n return err;\n }\n\n // ### Strips off any starting UTF BOM mark.\n _readStartingBom(input) {\n return input.startsWith('\\ufeff') ? input.substr(1) : input;\n }\n\n // ## Public methods\n\n // ### `tokenize` starts the transformation of an N3 document into an array of tokens.\n // The input can be a string or a stream.\n tokenize(input, callback) {\n this._line = 1;\n\n // If the input is a string, continuously emit tokens through the callback until the end\n if (typeof input === 'string') {\n this._input = this._readStartingBom(input);\n // If a callback was passed, asynchronously call it\n if (typeof callback === 'function')\n queueMicrotask(() => this._tokenizeToEnd(callback, true));\n // If no callback was passed, tokenize synchronously and return\n else {\n const tokens = [];\n let error;\n this._tokenizeToEnd((e, t) => e ? (error = e) : tokens.push(t), true);\n if (error) throw error;\n return tokens;\n }\n }\n // Otherwise, the input must be a stream\n else {\n this._pendingBuffer = null;\n if (typeof input.setEncoding === 'function')\n input.setEncoding('utf8');\n // Adds the data chunk to the buffer and parses as far as possible\n input.on('data', data => {\n if (this._input !== null && data.length !== 0) {\n // Prepend any previous pending writes\n if (this._pendingBuffer) {\n data = Buffer.concat([this._pendingBuffer, data]);\n this._pendingBuffer = null;\n }\n // Hold if the buffer ends in an incomplete unicode sequence\n if (data[data.length - 1] & 0x80) {\n this._pendingBuffer = data;\n }\n // Otherwise, tokenize as far as possible\n else {\n // Only read a BOM at the start\n if (typeof this._input === 'undefined')\n this._input = this._readStartingBom(typeof data === 'string' ? data : data.toString());\n else\n this._input += data;\n this._tokenizeToEnd(callback, false);\n }\n }\n });\n // Parses until the end\n input.on('end', () => {\n if (typeof this._input === 'string')\n this._tokenizeToEnd(callback, true);\n });\n input.on('error', callback);\n }\n }\n}\n","// N3.js implementations of the RDF/JS core data types\n// See https://github.com/rdfjs/representation-task-force/blob/master/interface-spec.md\n\nimport namespaces from './IRIs';\n\nconst { rdf, xsd } = namespaces;\n\n// eslint-disable-next-line prefer-const\nlet DEFAULTGRAPH;\nlet _blankNodeCounter = 0;\n\nconst escapedLiteral = /^\"(.*\".*)(?=\"[^\"]*$)/;\n\n// ## DataFactory singleton\nconst DataFactory = {\n namedNode,\n blankNode,\n variable,\n literal,\n defaultGraph,\n quad,\n triple: quad,\n};\nexport default DataFactory;\n\n// ## Term constructor\nexport class Term {\n constructor(id) {\n this.id = id;\n }\n\n // ### The value of this term\n get value() {\n return this.id;\n }\n\n // ### Returns whether this object represents the same term as the other\n equals(other) {\n // If both terms were created by this library,\n // equality can be computed through ids\n if (other instanceof Term)\n return this.id === other.id;\n // Otherwise, compare term type and value\n return !!other && this.termType === other.termType &&\n this.value === other.value;\n }\n\n // ### Implement hashCode for Immutable.js, since we implement `equals`\n // https://immutable-js.com/docs/v4.0.0/ValueObject/#hashCode()\n hashCode() {\n return 0;\n }\n\n // ### Returns a plain object representation of this term\n toJSON() {\n return {\n termType: this.termType,\n value: this.value,\n };\n }\n}\n\n\n// ## NamedNode constructor\nexport class NamedNode extends Term {\n // ### The term type of this term\n get termType() {\n return 'NamedNode';\n }\n}\n\n// ## Literal constructor\nexport class Literal extends Term {\n // ### The term type of this term\n get termType() {\n return 'Literal';\n }\n\n // ### The text value of this literal\n get value() {\n return this.id.substring(1, this.id.lastIndexOf('\"'));\n }\n\n // ### The language of this literal\n get language() {\n // Find the last quotation mark (e.g., '\"abc\"@en-us')\n const id = this.id;\n let atPos = id.lastIndexOf('\"') + 1;\n // If \"@\" it follows, return the remaining substring; empty otherwise\n return atPos < id.length && id[atPos++] === '@' ? id.substr(atPos).toLowerCase() : '';\n }\n\n // ### The datatype IRI of this literal\n get datatype() {\n return new NamedNode(this.datatypeString);\n }\n\n // ### The datatype string of this literal\n get datatypeString() {\n // Find the last quotation mark (e.g., '\"abc\"^^http://ex.org/types#t')\n const id = this.id, dtPos = id.lastIndexOf('\"') + 1;\n const char = dtPos < id.length ? id[dtPos] : '';\n // If \"^\" it follows, return the remaining substring\n return char === '^' ? id.substr(dtPos + 2) :\n // If \"@\" follows, return rdf:langString; xsd:string otherwise\n (char !== '@' ? xsd.string : rdf.langString);\n }\n\n // ### Returns whether this object represents the same term as the other\n equals(other) {\n // If both literals were created by this library,\n // equality can be computed through ids\n if (other instanceof Literal)\n return this.id === other.id;\n // Otherwise, compare term type, value, language, and datatype\n return !!other && !!other.datatype &&\n this.termType === other.termType &&\n this.value === other.value &&\n this.language === other.language &&\n this.datatype.value === other.datatype.value;\n }\n\n toJSON() {\n return {\n termType: this.termType,\n value: this.value,\n language: this.language,\n datatype: { termType: 'NamedNode', value: this.datatypeString },\n };\n }\n}\n\n// ## BlankNode constructor\nexport class BlankNode extends Term {\n constructor(name) {\n super(`_:${name}`);\n }\n\n // ### The term type of this term\n get termType() {\n return 'BlankNode';\n }\n\n // ### The name of this blank node\n get value() {\n return this.id.substr(2);\n }\n}\n\nexport class Variable extends Term {\n constructor(name) {\n super(`?${name}`);\n }\n\n // ### The term type of this term\n get termType() {\n return 'Variable';\n }\n\n // ### The name of this variable\n get value() {\n return this.id.substr(1);\n }\n}\n\n// ## DefaultGraph constructor\nexport class DefaultGraph extends Term {\n constructor() {\n super('');\n return DEFAULTGRAPH || this;\n }\n\n // ### The term type of this term\n get termType() {\n return 'DefaultGraph';\n }\n\n // ### Returns whether this object represents the same term as the other\n equals(other) {\n // If both terms were created by this library,\n // equality can be computed through strict equality;\n // otherwise, compare term types.\n return (this === other) || (!!other && (this.termType === other.termType));\n }\n}\n\n// ## DefaultGraph singleton\nDEFAULTGRAPH = new DefaultGraph();\n\n// ### Constructs a term from the given internal string ID\n// The third 'nested' parameter of this function is to aid\n// with recursion over nested terms. It should not be used\n// by consumers of this library.\n// See https://github.com/rdfjs/N3.js/pull/311#discussion_r1061042725\nexport function termFromId(id, factory, nested) {\n factory = factory || DataFactory;\n\n // Falsy value or empty string indicate the default graph\n if (!id)\n return factory.defaultGraph();\n\n // Identify the term type based on the first character\n switch (id[0]) {\n case '?':\n return factory.variable(id.substr(1));\n case '_':\n return factory.blankNode(id.substr(2));\n case '\"':\n // Shortcut for internal literals\n if (factory === DataFactory)\n return new Literal(id);\n // Literal without datatype or language\n if (id[id.length - 1] === '\"')\n return factory.literal(id.substr(1, id.length - 2));\n // Literal with datatype or language\n const endPos = id.lastIndexOf('\"', id.length - 1);\n return factory.literal(id.substr(1, endPos - 1),\n id[endPos + 1] === '@' ? id.substr(endPos + 2)\n : factory.namedNode(id.substr(endPos + 3)));\n case '[':\n id = JSON.parse(id);\n break;\n default:\n if (!nested || !Array.isArray(id)) {\n return factory.namedNode(id);\n }\n }\n return factory.quad(\n termFromId(id[0], factory, true),\n termFromId(id[1], factory, true),\n termFromId(id[2], factory, true),\n id[3] && termFromId(id[3], factory, true)\n );\n}\n\n// ### Constructs an internal string ID from the given term or ID string\n// The third 'nested' parameter of this function is to aid\n// with recursion over nested terms. It should not be used\n// by consumers of this library.\n// See https://github.com/rdfjs/N3.js/pull/311#discussion_r1061042725\nexport function termToId(term, nested) {\n if (typeof term === 'string')\n return term;\n if (term instanceof Term && term.termType !== 'Quad')\n return term.id;\n if (!term)\n return DEFAULTGRAPH.id;\n\n // Term instantiated with another library\n switch (term.termType) {\n case 'NamedNode': return term.value;\n case 'BlankNode': return `_:${term.value}`;\n case 'Variable': return `?${term.value}`;\n case 'DefaultGraph': return '';\n case 'Literal': return `\"${term.value}\"${\n term.language ? `@${term.language}` :\n (term.datatype && term.datatype.value !== xsd.string ? `^^${term.datatype.value}` : '')}`;\n case 'Quad':\n const res = [\n termToId(term.subject, true),\n termToId(term.predicate, true),\n termToId(term.object, true),\n ];\n if (term.graph && term.graph.termType !== 'DefaultGraph') {\n res.push(termToId(term.graph, true));\n }\n return nested ? res : JSON.stringify(res);\n default: throw new Error(`Unexpected termType: ${term.termType}`);\n }\n}\n\n\n// ## Quad constructor\nexport class Quad extends Term {\n constructor(subject, predicate, object, graph) {\n super('');\n this._subject = subject;\n this._predicate = predicate;\n this._object = object;\n this._graph = graph || DEFAULTGRAPH;\n }\n\n // ### The term type of this term\n get termType() {\n return 'Quad';\n }\n\n get subject() {\n return this._subject;\n }\n\n get predicate() {\n return this._predicate;\n }\n\n get object() {\n return this._object;\n }\n\n get graph() {\n return this._graph;\n }\n\n // ### Returns a plain object representation of this quad\n toJSON() {\n return {\n termType: this.termType,\n subject: this._subject.toJSON(),\n predicate: this._predicate.toJSON(),\n object: this._object.toJSON(),\n graph: this._graph.toJSON(),\n };\n }\n\n // ### Returns whether this object represents the same quad as the other\n equals(other) {\n return !!other && this._subject.equals(other.subject) &&\n this._predicate.equals(other.predicate) &&\n this._object.equals(other.object) &&\n this._graph.equals(other.graph);\n }\n}\nexport { Quad as Triple };\n\n// ### Escapes the quotes within the given literal\nexport function escapeQuotes(id) {\n return id.replace(escapedLiteral, (_, quoted) => `\"${quoted.replace(/\"/g, '\"\"')}`);\n}\n\n// ### Unescapes the quotes within the given literal\nexport function unescapeQuotes(id) {\n return id.replace(escapedLiteral, (_, quoted) => `\"${quoted.replace(/\"\"/g, '\"')}`);\n}\n\n// ### Creates an IRI\nfunction namedNode(iri) {\n return new NamedNode(iri);\n}\n\n// ### Creates a blank node\nfunction blankNode(name) {\n return new BlankNode(name || `n3-${_blankNodeCounter++}`);\n}\n\n// ### Creates a literal\nfunction literal(value, languageOrDataType) {\n // Create a language-tagged string\n if (typeof languageOrDataType === 'string')\n return new Literal(`\"${value}\"@${languageOrDataType.toLowerCase()}`);\n\n // Automatically determine datatype for booleans and numbers\n let datatype = languageOrDataType ? languageOrDataType.value : '';\n if (datatype === '') {\n // Convert a boolean\n if (typeof value === 'boolean')\n datatype = xsd.boolean;\n // Convert an integer or double\n else if (typeof value === 'number') {\n if (Number.isFinite(value))\n datatype = Number.isInteger(value) ? xsd.integer : xsd.double;\n else {\n datatype = xsd.double;\n if (!Number.isNaN(value))\n value = value > 0 ? 'INF' : '-INF';\n }\n }\n }\n\n // Create a datatyped literal\n return (datatype === '' || datatype === xsd.string) ?\n new Literal(`\"${value}\"`) :\n new Literal(`\"${value}\"^^${datatype}`);\n}\n\n// ### Creates a variable\nfunction variable(name) {\n return new Variable(name);\n}\n\n// ### Returns the default graph\nfunction defaultGraph() {\n return DEFAULTGRAPH;\n}\n\n// ### Creates a quad\nfunction quad(subject, predicate, object, graph) {\n return new Quad(subject, predicate, object, graph);\n}\n","// **N3Parser** parses N3 documents.\nimport N3Lexer from './N3Lexer';\nimport N3DataFactory from './N3DataFactory';\nimport namespaces from './IRIs';\n\nlet blankNodePrefix = 0;\n\n// ## Constructor\nexport default class N3Parser {\n constructor(options) {\n this._contextStack = [];\n this._graph = null;\n\n // Set the document IRI\n options = options || {};\n this._setBase(options.baseIRI);\n options.factory && initDataFactory(this, options.factory);\n\n // Set supported features depending on the format\n const format = (typeof options.format === 'string') ?\n options.format.match(/\\w*$/)[0].toLowerCase() : '',\n isTurtle = /turtle/.test(format), isTriG = /trig/.test(format),\n isNTriples = /triple/.test(format), isNQuads = /quad/.test(format),\n isN3 = this._n3Mode = /n3/.test(format),\n isLineMode = isNTriples || isNQuads;\n if (!(this._supportsNamedGraphs = !(isTurtle || isN3)))\n this._readPredicateOrNamedGraph = this._readPredicate;\n // Support triples in other graphs\n this._supportsQuads = !(isTurtle || isTriG || isNTriples || isN3);\n // Support nesting of triples\n this._supportsRDFStar = format === '' || /star|\\*$/.test(format);\n // Disable relative IRIs in N-Triples or N-Quads mode\n if (isLineMode)\n this._resolveRelativeIRI = iri => { return null; };\n this._blankNodePrefix = typeof options.blankNodePrefix !== 'string' ? '' :\n options.blankNodePrefix.replace(/^(?!_:)/, '_:');\n this._lexer = options.lexer || new N3Lexer({ lineMode: isLineMode, n3: isN3 });\n // Disable explicit quantifiers by default\n this._explicitQuantifiers = !!options.explicitQuantifiers;\n }\n\n // ## Static class methods\n\n // ### `_resetBlankNodePrefix` restarts blank node prefix identification\n static _resetBlankNodePrefix() {\n blankNodePrefix = 0;\n }\n\n // ## Private methods\n\n // ### `_setBase` sets the base IRI to resolve relative IRIs\n _setBase(baseIRI) {\n if (!baseIRI) {\n this._base = '';\n this._basePath = '';\n }\n else {\n // Remove fragment if present\n const fragmentPos = baseIRI.indexOf('#');\n if (fragmentPos >= 0)\n baseIRI = baseIRI.substr(0, fragmentPos);\n // Set base IRI and its components\n this._base = baseIRI;\n this._basePath = baseIRI.indexOf('/') < 0 ? baseIRI :\n baseIRI.replace(/[^\\/?]*(?:\\?.*)?$/, '');\n baseIRI = baseIRI.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\\/\\/[^\\/]*)?/i);\n this._baseRoot = baseIRI[0];\n this._baseScheme = baseIRI[1];\n }\n }\n\n // ### `_saveContext` stores the current parsing context\n // when entering a new scope (list, blank node, formula)\n _saveContext(type, graph, subject, predicate, object) {\n const n3Mode = this._n3Mode;\n this._contextStack.push({\n type,\n subject, predicate, object, graph,\n inverse: n3Mode ? this._inversePredicate : false,\n blankPrefix: n3Mode ? this._prefixes._ : '',\n quantified: n3Mode ? this._quantified : null,\n });\n // The settings below only apply to N3 streams\n if (n3Mode) {\n // Every new scope resets the predicate direction\n this._inversePredicate = false;\n // In N3, blank nodes are scoped to a formula\n // (using a dot as separator, as a blank node label cannot start with it)\n this._prefixes._ = (this._graph ? `${this._graph.value}.` : '.');\n // Quantifiers are scoped to a formula\n this._quantified = Object.create(this._quantified);\n }\n }\n\n // ### `_restoreContext` restores the parent context\n // when leaving a scope (list, blank node, formula)\n _restoreContext(type, token) {\n // Obtain the previous context\n const context = this._contextStack.pop();\n if (!context || context.type !== type)\n return this._error(`Unexpected ${token.type}`, token);\n\n // Restore the quad of the previous context\n this._subject = context.subject;\n this._predicate = context.predicate;\n this._object = context.object;\n this._graph = context.graph;\n\n // Restore N3 context settings\n if (this._n3Mode) {\n this._inversePredicate = context.inverse;\n this._prefixes._ = context.blankPrefix;\n this._quantified = context.quantified;\n }\n }\n\n // ### `_readInTopContext` reads a token when in the top context\n _readInTopContext(token) {\n switch (token.type) {\n // If an EOF token arrives in the top context, signal that we're done\n case 'eof':\n if (this._graph !== null)\n return this._error('Unclosed graph', token);\n delete this._prefixes._;\n return this._callback(null, null, this._prefixes);\n // It could be a prefix declaration\n case 'PREFIX':\n this._sparqlStyle = true;\n case '@prefix':\n return this._readPrefix;\n // It could be a base declaration\n case 'BASE':\n this._sparqlStyle = true;\n case '@base':\n return this._readBaseIRI;\n // It could be a graph\n case '{':\n if (this._supportsNamedGraphs) {\n this._graph = '';\n this._subject = null;\n return this._readSubject;\n }\n case 'GRAPH':\n if (this._supportsNamedGraphs)\n return this._readNamedGraphLabel;\n // Otherwise, the next token must be a subject\n default:\n return this._readSubject(token);\n }\n }\n\n // ### `_readEntity` reads an IRI, prefixed name, blank node, or variable\n _readEntity(token, quantifier) {\n let value;\n switch (token.type) {\n // Read a relative or absolute IRI\n case 'IRI':\n case 'typeIRI':\n const iri = this._resolveIRI(token.value);\n if (iri === null)\n return this._error('Invalid IRI', token);\n value = this._namedNode(iri);\n break;\n // Read a prefixed name\n case 'type':\n case 'prefixed':\n const prefix = this._prefixes[token.prefix];\n if (prefix === undefined)\n return this._error(`Undefined prefix \"${token.prefix}:\"`, token);\n value = this._namedNode(prefix + token.value);\n break;\n // Read a blank node\n case 'blank':\n value = this._blankNode(this._prefixes[token.prefix] + token.value);\n break;\n // Read a variable\n case 'var':\n value = this._variable(token.value.substr(1));\n break;\n // Everything else is not an entity\n default:\n return this._error(`Expected entity but got ${token.type}`, token);\n }\n // In N3 mode, replace the entity if it is quantified\n if (!quantifier && this._n3Mode && (value.id in this._quantified))\n value = this._quantified[value.id];\n return value;\n }\n\n // ### `_readSubject` reads a quad's subject\n _readSubject(token) {\n this._predicate = null;\n switch (token.type) {\n case '[':\n // Start a new quad with a new blank node as subject\n this._saveContext('blank', this._graph,\n this._subject = this._blankNode(), null, null);\n return this._readBlankNodeHead;\n case '(':\n // Start a new list\n this._saveContext('list', this._graph, this.RDF_NIL, null, null);\n this._subject = null;\n return this._readListItem;\n case '{':\n // Start a new formula\n if (!this._n3Mode)\n return this._error('Unexpected graph', token);\n this._saveContext('formula', this._graph,\n this._graph = this._blankNode(), null, null);\n return this._readSubject;\n case '}':\n // No subject; the graph in which we are reading is closed instead\n return this._readPunctuation(token);\n case '@forSome':\n if (!this._n3Mode)\n return this._error('Unexpected \"@forSome\"', token);\n this._subject = null;\n this._predicate = this.N3_FORSOME;\n this._quantifier = this._blankNode;\n return this._readQuantifierList;\n case '@forAll':\n if (!this._n3Mode)\n return this._error('Unexpected \"@forAll\"', token);\n this._subject = null;\n this._predicate = this.N3_FORALL;\n this._quantifier = this._variable;\n return this._readQuantifierList;\n case 'literal':\n if (!this._n3Mode)\n return this._error('Unexpected literal', token);\n\n if (token.prefix.length === 0) {\n this._literalValue = token.value;\n return this._completeSubjectLiteral;\n }\n else\n this._subject = this._literal(token.value, this._namedNode(token.prefix));\n\n break;\n case '<<':\n if (!this._supportsRDFStar)\n return this._error('Unexpected RDF* syntax', token);\n this._saveContext('<<', this._graph, null, null, null);\n this._graph = null;\n return this._readSubject;\n default:\n // Read the subject entity\n if ((this._subject = this._readEntity(token)) === undefined)\n return;\n // In N3 mode, the subject might be a path\n if (this._n3Mode)\n return this._getPathReader(this._readPredicateOrNamedGraph);\n }\n\n // The next token must be a predicate,\n // or, if the subject was actually a graph IRI, a named graph\n return this._readPredicateOrNamedGraph;\n }\n\n // ### `_readPredicate` reads a quad's predicate\n _readPredicate(token) {\n const type = token.type;\n switch (type) {\n case 'inverse':\n this._inversePredicate = true;\n case 'abbreviation':\n this._predicate = this.ABBREVIATIONS[token.value];\n break;\n case '.':\n case ']':\n case '}':\n // Expected predicate didn't come, must have been trailing semicolon\n if (this._predicate === null)\n return this._error(`Unexpected ${type}`, token);\n this._subject = null;\n return type === ']' ? this._readBlankNodeTail(token) : this._readPunctuation(token);\n case ';':\n // Additional semicolons can be safely ignored\n return this._predicate !== null ? this._readPredicate :\n this._error('Expected predicate but got ;', token);\n case '[':\n if (this._n3Mode) {\n // Start a new quad with a new blank node as subject\n this._saveContext('blank', this._graph, this._subject,\n this._subject = this._blankNode(), null);\n return this._readBlankNodeHead;\n }\n case 'blank':\n if (!this._n3Mode)\n return this._error('Disallowed blank node as predicate', token);\n default:\n if ((this._predicate = this._readEntity(token)) === undefined)\n return;\n }\n // The next token must be an object\n return this._readObject;\n }\n\n // ### `_readObject` reads a quad's object\n _readObject(token) {\n switch (token.type) {\n case 'literal':\n // Regular literal, can still get a datatype or language\n if (token.prefix.length === 0) {\n this._literalValue = token.value;\n return this._readDataTypeOrLang;\n }\n // Pre-datatyped string literal (prefix stores the datatype)\n else\n this._object = this._literal(token.value, this._namedNode(token.prefix));\n break;\n case '[':\n // Start a new quad with a new blank node as subject\n this._saveContext('blank', this._graph, this._subject, this._predicate,\n this._subject = this._blankNode());\n return this._readBlankNodeHead;\n case '(':\n // Start a new list\n this._saveContext('list', this._graph, this._subject, this._predicate, this.RDF_NIL);\n this._subject = null;\n return this._readListItem;\n case '{':\n // Start a new formula\n if (!this._n3Mode)\n return this._error('Unexpected graph', token);\n this._saveContext('formula', this._graph, this._subject, this._predicate,\n this._graph = this._blankNode());\n return this._readSubject;\n case '<<':\n if (!this._supportsRDFStar)\n return this._error('Unexpected RDF* syntax', token);\n this._saveContext('<<', this._graph, this._subject, this._predicate, null);\n this._graph = null;\n return this._readSubject;\n default:\n // Read the object entity\n if ((this._object = this._readEntity(token)) === undefined)\n return;\n // In N3 mode, the object might be a path\n if (this._n3Mode)\n return this._getPathReader(this._getContextEndReader());\n }\n return this._getContextEndReader();\n }\n\n // ### `_readPredicateOrNamedGraph` reads a quad's predicate, or a named graph\n _readPredicateOrNamedGraph(token) {\n return token.type === '{' ? this._readGraph(token) : this._readPredicate(token);\n }\n\n // ### `_readGraph` reads a graph\n _readGraph(token) {\n if (token.type !== '{')\n return this._error(`Expected graph but got ${token.type}`, token);\n // The \"subject\" we read is actually the GRAPH's label\n this._graph = this._subject, this._subject = null;\n return this._readSubject;\n }\n\n // ### `_readBlankNodeHead` reads the head of a blank node\n _readBlankNodeHead(token) {\n if (token.type === ']') {\n this._subject = null;\n return this._readBlankNodeTail(token);\n }\n else {\n this._predicate = null;\n return this._readPredicate(token);\n }\n }\n\n // ### `_readBlankNodeTail` reads the end of a blank node\n _readBlankNodeTail(token) {\n if (token.type !== ']')\n return this._readBlankNodePunctuation(token);\n\n // Store blank node quad\n if (this._subject !== null)\n this._emit(this._subject, this._predicate, this._object, this._graph);\n\n // Restore the parent context containing this blank node\n const empty = this._predicate === null;\n this._restoreContext('blank', token);\n // If the blank node was the object, restore previous context and read punctuation\n if (this._object !== null)\n return this._getContextEndReader();\n // If the blank node was the predicate, continue reading the object\n else if (this._predicate !== null)\n return this._readObject;\n // If the blank node was the subject, continue reading the predicate\n else\n // If the blank node was empty, it could be a named graph label\n return empty ? this._readPredicateOrNamedGraph : this._readPredicateAfterBlank;\n }\n\n // ### `_readPredicateAfterBlank` reads a predicate after an anonymous blank node\n _readPredicateAfterBlank(token) {\n switch (token.type) {\n case '.':\n case '}':\n // No predicate is coming if the triple is terminated here\n this._subject = null;\n return this._readPunctuation(token);\n default:\n return this._readPredicate(token);\n }\n }\n\n // ### `_readListItem` reads items from a list\n _readListItem(token) {\n let item = null, // The item of the list\n list = null, // The list itself\n next = this._readListItem; // The next function to execute\n const previousList = this._subject, // The previous list that contains this list\n stack = this._contextStack, // The stack of parent contexts\n parent = stack[stack.length - 1]; // The parent containing the current list\n\n switch (token.type) {\n case '[':\n // Stack the current list quad and start a new quad with a blank node as subject\n this._saveContext('blank', this._graph,\n list = this._blankNode(), this.RDF_FIRST,\n this._subject = item = this._blankNode());\n next = this._readBlankNodeHead;\n break;\n case '(':\n // Stack the current list quad and start a new list\n this._saveContext('list', this._graph,\n list = this._blankNode(), this.RDF_FIRST, this.RDF_NIL);\n this._subject = null;\n break;\n case ')':\n // Closing the list; restore the parent context\n this._restoreContext('list', token);\n // If this list is contained within a parent list, return the membership quad here.\n // This will be ` rdf:first .`.\n if (stack.length !== 0 && stack[stack.length - 1].type === 'list')\n this._emit(this._subject, this._predicate, this._object, this._graph);\n // Was this list the parent's subject?\n if (this._predicate === null) {\n // The next token is the predicate\n next = this._readPredicate;\n // No list tail if this was an empty list\n if (this._subject === this.RDF_NIL)\n return next;\n }\n // The list was in the parent context's object\n else {\n next = this._getContextEndReader();\n // No list tail if this was an empty list\n if (this._object === this.RDF_NIL)\n return next;\n }\n // Close the list by making the head nil\n list = this.RDF_NIL;\n break;\n case 'literal':\n // Regular literal, can still get a datatype or language\n if (token.prefix.length === 0) {\n this._literalValue = token.value;\n next = this._readListItemDataTypeOrLang;\n }\n // Pre-datatyped string literal (prefix stores the datatype)\n else {\n item = this._literal(token.value, this._namedNode(token.prefix));\n next = this._getContextEndReader();\n }\n break;\n case '{':\n // Start a new formula\n if (!this._n3Mode)\n return this._error('Unexpected graph', token);\n this._saveContext('formula', this._graph, this._subject, this._predicate,\n this._graph = this._blankNode());\n return this._readSubject;\n default:\n if ((item = this._readEntity(token)) === undefined)\n return;\n }\n\n // Create a new blank node if no item head was assigned yet\n if (list === null)\n this._subject = list = this._blankNode();\n\n // Is this the first element of the list?\n if (previousList === null) {\n // This list is either the subject or the object of its parent\n if (parent.predicate === null)\n parent.subject = list;\n else\n parent.object = list;\n }\n else {\n // Continue the previous list with the current list\n this._emit(previousList, this.RDF_REST, list, this._graph);\n }\n // If an item was read, add it to the list\n if (item !== null) {\n // In N3 mode, the item might be a path\n if (this._n3Mode && (token.type === 'IRI' || token.type === 'prefixed')) {\n // Create a new context to add the item's path\n this._saveContext('item', this._graph, list, this.RDF_FIRST, item);\n this._subject = item, this._predicate = null;\n // _readPath will restore the context and output the item\n return this._getPathReader(this._readListItem);\n }\n // Output the item\n this._emit(list, this.RDF_FIRST, item, this._graph);\n }\n return next;\n }\n\n // ### `_readDataTypeOrLang` reads an _optional_ datatype or language\n _readDataTypeOrLang(token) {\n return this._completeObjectLiteral(token, false);\n }\n\n\n // ### `_readListItemDataTypeOrLang` reads an _optional_ datatype or language in a list\n _readListItemDataTypeOrLang(token) {\n return this._completeObjectLiteral(token, true);\n }\n\n // ### `_completeLiteral` completes a literal with an optional datatype or language\n _completeLiteral(token) {\n // Create a simple string literal by default\n let literal = this._literal(this._literalValue);\n\n switch (token.type) {\n // Create a datatyped literal\n case 'type':\n case 'typeIRI':\n const datatype = this._readEntity(token);\n if (datatype === undefined) return; // No datatype means an error occurred\n literal = this._literal(this._literalValue, datatype);\n token = null;\n break;\n // Create a language-tagged string\n case 'langcode':\n literal = this._literal(this._literalValue, token.value);\n token = null;\n break;\n }\n\n return { token, literal };\n }\n\n // Completes a literal in subject position\n _completeSubjectLiteral(token) {\n this._subject = this._completeLiteral(token).literal;\n return this._readPredicateOrNamedGraph;\n }\n\n // Completes a literal in object position\n _completeObjectLiteral(token, listItem) {\n const completed = this._completeLiteral(token);\n if (!completed)\n return;\n this._object = completed.literal;\n\n // If this literal was part of a list, write the item\n // (we could also check the context stack, but passing in a flag is faster)\n if (listItem)\n this._emit(this._subject, this.RDF_FIRST, this._object, this._graph);\n // If the token was consumed, continue with the rest of the input\n if (completed.token === null)\n return this._getContextEndReader();\n // Otherwise, consume the token now\n else {\n this._readCallback = this._getContextEndReader();\n return this._readCallback(completed.token);\n }\n }\n\n // ### `_readFormulaTail` reads the end of a formula\n _readFormulaTail(token) {\n if (token.type !== '}')\n return this._readPunctuation(token);\n\n // Store the last quad of the formula\n if (this._subject !== null)\n this._emit(this._subject, this._predicate, this._object, this._graph);\n\n // Restore the parent context containing this formula\n this._restoreContext('formula', token);\n // If the formula was the subject, continue reading the predicate.\n // If the formula was the object, read punctuation.\n return this._object === null ? this._readPredicate : this._getContextEndReader();\n }\n\n // ### `_readPunctuation` reads punctuation between quads or quad parts\n _readPunctuation(token) {\n let next, graph = this._graph;\n const subject = this._subject, inversePredicate = this._inversePredicate;\n switch (token.type) {\n // A closing brace ends a graph\n case '}':\n if (this._graph === null)\n return this._error('Unexpected graph closing', token);\n if (this._n3Mode)\n return this._readFormulaTail(token);\n this._graph = null;\n // A dot just ends the statement, without sharing anything with the next\n case '.':\n this._subject = null;\n next = this._contextStack.length ? this._readSubject : this._readInTopContext;\n if (inversePredicate) this._inversePredicate = false;\n break;\n // Semicolon means the subject is shared; predicate and object are different\n case ';':\n next = this._readPredicate;\n break;\n // Comma means both the subject and predicate are shared; the object is different\n case ',':\n next = this._readObject;\n break;\n // {| means that the current triple is annotated with predicate-object pairs.\n case '{|':\n if (!this._supportsRDFStar)\n return this._error('Unexpected RDF* syntax', token);\n // Continue using the last triple as quoted triple subject for the predicate-object pairs.\n const predicate = this._predicate, object = this._object;\n this._subject = this._quad(subject, predicate, object, this.DEFAULTGRAPH);\n next = this._readPredicate;\n break;\n // |} means that the current quoted triple in annotation syntax is finalized.\n case '|}':\n if (this._subject.termType !== 'Quad')\n return this._error('Unexpected asserted triple closing', token);\n this._subject = null;\n next = this._readPunctuation;\n break;\n default:\n // An entity means this is a quad (only allowed if not already inside a graph)\n if (this._supportsQuads && this._graph === null && (graph = this._readEntity(token)) !== undefined) {\n next = this._readQuadPunctuation;\n break;\n }\n return this._error(`Expected punctuation to follow \"${this._object.id}\"`, token);\n }\n // A quad has been completed now, so return it\n if (subject !== null) {\n const predicate = this._predicate, object = this._object;\n if (!inversePredicate)\n this._emit(subject, predicate, object, graph);\n else\n this._emit(object, predicate, subject, graph);\n }\n return next;\n }\n\n // ### `_readBlankNodePunctuation` reads punctuation in a blank node\n _readBlankNodePunctuation(token) {\n let next;\n switch (token.type) {\n // Semicolon means the subject is shared; predicate and object are different\n case ';':\n next = this._readPredicate;\n break;\n // Comma means both the subject and predicate are shared; the object is different\n case ',':\n next = this._readObject;\n break;\n default:\n return this._error(`Expected punctuation to follow \"${this._object.id}\"`, token);\n }\n // A quad has been completed now, so return it\n this._emit(this._subject, this._predicate, this._object, this._graph);\n return next;\n }\n\n // ### `_readQuadPunctuation` reads punctuation after a quad\n _readQuadPunctuation(token) {\n if (token.type !== '.')\n return this._error('Expected dot to follow quad', token);\n return this._readInTopContext;\n }\n\n // ### `_readPrefix` reads the prefix of a prefix declaration\n _readPrefix(token) {\n if (token.type !== 'prefix')\n return this._error('Expected prefix to follow @prefix', token);\n this._prefix = token.value;\n return this._readPrefixIRI;\n }\n\n // ### `_readPrefixIRI` reads the IRI of a prefix declaration\n _readPrefixIRI(token) {\n if (token.type !== 'IRI')\n return this._error(`Expected IRI to follow prefix \"${this._prefix}:\"`, token);\n const prefixNode = this._readEntity(token);\n this._prefixes[this._prefix] = prefixNode.value;\n this._prefixCallback(this._prefix, prefixNode);\n return this._readDeclarationPunctuation;\n }\n\n // ### `_readBaseIRI` reads the IRI of a base declaration\n _readBaseIRI(token) {\n const iri = token.type === 'IRI' && this._resolveIRI(token.value);\n if (!iri)\n return this._error('Expected valid IRI to follow base declaration', token);\n this._setBase(iri);\n return this._readDeclarationPunctuation;\n }\n\n // ### `_readNamedGraphLabel` reads the label of a named graph\n _readNamedGraphLabel(token) {\n switch (token.type) {\n case 'IRI':\n case 'blank':\n case 'prefixed':\n return this._readSubject(token), this._readGraph;\n case '[':\n return this._readNamedGraphBlankLabel;\n default:\n return this._error('Invalid graph label', token);\n }\n }\n\n // ### `_readNamedGraphLabel` reads a blank node label of a named graph\n _readNamedGraphBlankLabel(token) {\n if (token.type !== ']')\n return this._error('Invalid graph label', token);\n this._subject = this._blankNode();\n return this._readGraph;\n }\n\n // ### `_readDeclarationPunctuation` reads the punctuation of a declaration\n _readDeclarationPunctuation(token) {\n // SPARQL-style declarations don't have punctuation\n if (this._sparqlStyle) {\n this._sparqlStyle = false;\n return this._readInTopContext(token);\n }\n\n if (token.type !== '.')\n return this._error('Expected declaration to end with a dot', token);\n return this._readInTopContext;\n }\n\n // Reads a list of quantified symbols from a @forSome or @forAll statement\n _readQuantifierList(token) {\n let entity;\n switch (token.type) {\n case 'IRI':\n case 'prefixed':\n if ((entity = this._readEntity(token, true)) !== undefined)\n break;\n default:\n return this._error(`Unexpected ${token.type}`, token);\n }\n // Without explicit quantifiers, map entities to a quantified entity\n if (!this._explicitQuantifiers)\n this._quantified[entity.id] = this._quantifier(this._blankNode().value);\n // With explicit quantifiers, output the reified quantifier\n else {\n // If this is the first item, start a new quantifier list\n if (this._subject === null)\n this._emit(this._graph || this.DEFAULTGRAPH, this._predicate,\n this._subject = this._blankNode(), this.QUANTIFIERS_GRAPH);\n // Otherwise, continue the previous list\n else\n this._emit(this._subject, this.RDF_REST,\n this._subject = this._blankNode(), this.QUANTIFIERS_GRAPH);\n // Output the list item\n this._emit(this._subject, this.RDF_FIRST, entity, this.QUANTIFIERS_GRAPH);\n }\n return this._readQuantifierPunctuation;\n }\n\n // Reads punctuation from a @forSome or @forAll statement\n _readQuantifierPunctuation(token) {\n // Read more quantifiers\n if (token.type === ',')\n return this._readQuantifierList;\n // End of the quantifier list\n else {\n // With explicit quantifiers, close the quantifier list\n if (this._explicitQuantifiers) {\n this._emit(this._subject, this.RDF_REST, this.RDF_NIL, this.QUANTIFIERS_GRAPH);\n this._subject = null;\n }\n // Read a dot\n this._readCallback = this._getContextEndReader();\n return this._readCallback(token);\n }\n }\n\n // ### `_getPathReader` reads a potential path and then resumes with the given function\n _getPathReader(afterPath) {\n this._afterPath = afterPath;\n return this._readPath;\n }\n\n // ### `_readPath` reads a potential path\n _readPath(token) {\n switch (token.type) {\n // Forward path\n case '!': return this._readForwardPath;\n // Backward path\n case '^': return this._readBackwardPath;\n // Not a path; resume reading where we left off\n default:\n const stack = this._contextStack, parent = stack.length && stack[stack.length - 1];\n // If we were reading a list item, we still need to output it\n if (parent && parent.type === 'item') {\n // The list item is the remaining subejct after reading the path\n const item = this._subject;\n // Switch back to the context of the list\n this._restoreContext('item', token);\n // Output the list item\n this._emit(this._subject, this.RDF_FIRST, item, this._graph);\n }\n return this._afterPath(token);\n }\n }\n\n // ### `_readForwardPath` reads a '!' path\n _readForwardPath(token) {\n let subject, predicate;\n const object = this._blankNode();\n // The next token is the predicate\n if ((predicate = this._readEntity(token)) === undefined)\n return;\n // If we were reading a subject, replace the subject by the path's object\n if (this._predicate === null)\n subject = this._subject, this._subject = object;\n // If we were reading an object, replace the subject by the path's object\n else\n subject = this._object, this._object = object;\n // Emit the path's current quad and read its next section\n this._emit(subject, predicate, object, this._graph);\n return this._readPath;\n }\n\n // ### `_readBackwardPath` reads a '^' path\n _readBackwardPath(token) {\n const subject = this._blankNode();\n let predicate, object;\n // The next token is the predicate\n if ((predicate = this._readEntity(token)) === undefined)\n return;\n // If we were reading a subject, replace the subject by the path's subject\n if (this._predicate === null)\n object = this._subject, this._subject = subject;\n // If we were reading an object, replace the subject by the path's subject\n else\n object = this._object, this._object = subject;\n // Emit the path's current quad and read its next section\n this._emit(subject, predicate, object, this._graph);\n return this._readPath;\n }\n\n // ### `_readRDFStarTailOrGraph` reads the graph of a nested RDF* quad or the end of a nested RDF* triple\n _readRDFStarTailOrGraph(token) {\n if (token.type !== '>>') {\n // An entity means this is a quad (only allowed if not already inside a graph)\n if (this._supportsQuads && this._graph === null && (this._graph = this._readEntity(token)) !== undefined)\n return this._readRDFStarTail;\n return this._error(`Expected >> to follow \"${this._object.id}\"`, token);\n }\n return this._readRDFStarTail(token);\n }\n\n // ### `_readRDFStarTail` reads the end of a nested RDF* triple\n _readRDFStarTail(token) {\n if (token.type !== '>>')\n return this._error(`Expected >> but got ${token.type}`, token);\n // Read the quad and restore the previous context\n const quad = this._quad(this._subject, this._predicate, this._object,\n this._graph || this.DEFAULTGRAPH);\n this._restoreContext('<<', token);\n // If the triple was the subject, continue by reading the predicate.\n if (this._subject === null) {\n this._subject = quad;\n return this._readPredicate;\n }\n // If the triple was the object, read context end.\n else {\n this._object = quad;\n return this._getContextEndReader();\n }\n }\n\n // ### `_getContextEndReader` gets the next reader function at the end of a context\n _getContextEndReader() {\n const contextStack = this._contextStack;\n if (!contextStack.length)\n return this._readPunctuation;\n\n switch (contextStack[contextStack.length - 1].type) {\n case 'blank':\n return this._readBlankNodeTail;\n case 'list':\n return this._readListItem;\n case 'formula':\n return this._readFormulaTail;\n case '<<':\n return this._readRDFStarTailOrGraph;\n }\n }\n\n // ### `_emit` sends a quad through the callback\n _emit(subject, predicate, object, graph) {\n this._callback(null, this._quad(subject, predicate, object, graph || this.DEFAULTGRAPH));\n }\n\n // ### `_error` emits an error message through the callback\n _error(message, token) {\n const err = new Error(`${message} on line ${token.line}.`);\n err.context = {\n token: token,\n line: token.line,\n previousToken: this._lexer.previousToken,\n };\n this._callback(err);\n this._callback = noop;\n }\n\n // ### `_resolveIRI` resolves an IRI against the base path\n _resolveIRI(iri) {\n return /^[a-z][a-z0-9+.-]*:/i.test(iri) ? iri : this._resolveRelativeIRI(iri);\n }\n\n // ### `_resolveRelativeIRI` resolves an IRI against the base path,\n // assuming that a base path has been set and that the IRI is indeed relative\n _resolveRelativeIRI(iri) {\n // An empty relative IRI indicates the base IRI\n if (!iri.length)\n return this._base;\n // Decide resolving strategy based in the first character\n switch (iri[0]) {\n // Resolve relative fragment IRIs against the base IRI\n case '#': return this._base + iri;\n // Resolve relative query string IRIs by replacing the query string\n case '?': return this._base.replace(/(?:\\?.*)?$/, iri);\n // Resolve root-relative IRIs at the root of the base IRI\n case '/':\n // Resolve scheme-relative IRIs to the scheme\n return (iri[1] === '/' ? this._baseScheme : this._baseRoot) + this._removeDotSegments(iri);\n // Resolve all other IRIs at the base IRI's path\n default:\n // Relative IRIs cannot contain a colon in the first path segment\n return (/^[^/:]*:/.test(iri)) ? null : this._removeDotSegments(this._basePath + iri);\n }\n }\n\n // ### `_removeDotSegments` resolves './' and '../' path segments in an IRI as per RFC3986\n _removeDotSegments(iri) {\n // Don't modify the IRI if it does not contain any dot segments\n if (!/(^|\\/)\\.\\.?($|[/#?])/.test(iri))\n return iri;\n\n // Start with an imaginary slash before the IRI in order to resolve trailing './' and '../'\n const length = iri.length;\n let result = '', i = -1, pathStart = -1, segmentStart = 0, next = '/';\n\n while (i < length) {\n switch (next) {\n // The path starts with the first slash after the authority\n case ':':\n if (pathStart < 0) {\n // Skip two slashes before the authority\n if (iri[++i] === '/' && iri[++i] === '/')\n // Skip to slash after the authority\n while ((pathStart = i + 1) < length && iri[pathStart] !== '/')\n i = pathStart;\n }\n break;\n // Don't modify a query string or fragment\n case '?':\n case '#':\n i = length;\n break;\n // Handle '/.' or '/..' path segments\n case '/':\n if (iri[i + 1] === '.') {\n next = iri[++i + 1];\n switch (next) {\n // Remove a '/.' segment\n case '/':\n result += iri.substring(segmentStart, i - 1);\n segmentStart = i + 1;\n break;\n // Remove a trailing '/.' segment\n case undefined:\n case '?':\n case '#':\n return result + iri.substring(segmentStart, i) + iri.substr(i + 1);\n // Remove a '/..' segment\n case '.':\n next = iri[++i + 1];\n if (next === undefined || next === '/' || next === '?' || next === '#') {\n result += iri.substring(segmentStart, i - 2);\n // Try to remove the parent path from result\n if ((segmentStart = result.lastIndexOf('/')) >= pathStart)\n result = result.substr(0, segmentStart);\n // Remove a trailing '/..' segment\n if (next !== '/')\n return `${result}/${iri.substr(i + 1)}`;\n segmentStart = i + 1;\n }\n }\n }\n }\n next = iri[++i];\n }\n return result + iri.substring(segmentStart);\n }\n\n // ## Public methods\n\n // ### `parse` parses the N3 input and emits each parsed quad through the callback\n parse(input, quadCallback, prefixCallback) {\n // The read callback is the next function to be executed when a token arrives.\n // We start reading in the top context.\n this._readCallback = this._readInTopContext;\n this._sparqlStyle = false;\n this._prefixes = Object.create(null);\n this._prefixes._ = this._blankNodePrefix ? this._blankNodePrefix.substr(2)\n : `b${blankNodePrefix++}_`;\n this._prefixCallback = prefixCallback || noop;\n this._inversePredicate = false;\n this._quantified = Object.create(null);\n\n // Parse synchronously if no quad callback is given\n if (!quadCallback) {\n const quads = [];\n let error;\n this._callback = (e, t) => { e ? (error = e) : t && quads.push(t); };\n this._lexer.tokenize(input).every(token => {\n return this._readCallback = this._readCallback(token);\n });\n if (error) throw error;\n return quads;\n }\n\n // Parse asynchronously otherwise, executing the read callback when a token arrives\n this._callback = quadCallback;\n this._lexer.tokenize(input, (error, token) => {\n if (error !== null)\n this._callback(error), this._callback = noop;\n else if (this._readCallback)\n this._readCallback = this._readCallback(token);\n });\n }\n}\n\n// The empty function\nfunction noop() {}\n\n// Initializes the parser with the given data factory\nfunction initDataFactory(parser, factory) {\n // Set factory methods\n const namedNode = factory.namedNode;\n parser._namedNode = namedNode;\n parser._blankNode = factory.blankNode;\n parser._literal = factory.literal;\n parser._variable = factory.variable;\n parser._quad = factory.quad;\n parser.DEFAULTGRAPH = factory.defaultGraph();\n\n // Set common named nodes\n parser.RDF_FIRST = namedNode(namespaces.rdf.first);\n parser.RDF_REST = namedNode(namespaces.rdf.rest);\n parser.RDF_NIL = namedNode(namespaces.rdf.nil);\n parser.N3_FORALL = namedNode(namespaces.r.forAll);\n parser.N3_FORSOME = namedNode(namespaces.r.forSome);\n parser.ABBREVIATIONS = {\n 'a': namedNode(namespaces.rdf.type),\n '=': namedNode(namespaces.owl.sameAs),\n '>': namedNode(namespaces.log.implies),\n };\n parser.QUANTIFIERS_GRAPH = namedNode('urn:n3:quantifiers');\n}\ninitDataFactory(N3Parser.prototype, N3DataFactory);\n","// **N3Util** provides N3 utility functions.\n\nimport N3DataFactory from './N3DataFactory';\n\n// Tests whether the given term represents an IRI\nexport function isNamedNode(term) {\n return !!term && term.termType === 'NamedNode';\n}\n\n// Tests whether the given term represents a blank node\nexport function isBlankNode(term) {\n return !!term && term.termType === 'BlankNode';\n}\n\n// Tests whether the given term represents a literal\nexport function isLiteral(term) {\n return !!term && term.termType === 'Literal';\n}\n\n// Tests whether the given term represents a variable\nexport function isVariable(term) {\n return !!term && term.termType === 'Variable';\n}\n\n// Tests whether the given term represents the default graph\nexport function isDefaultGraph(term) {\n return !!term && term.termType === 'DefaultGraph';\n}\n\n// Tests whether the given quad is in the default graph\nexport function inDefaultGraph(quad) {\n return isDefaultGraph(quad.graph);\n}\n\n// Creates a function that prepends the given IRI to a local name\nexport function prefix(iri, factory) {\n return prefixes({ '': iri.value || iri }, factory)('');\n}\n\n// Creates a function that allows registering and expanding prefixes\nexport function prefixes(defaultPrefixes, factory) {\n // Add all of the default prefixes\n const prefixes = Object.create(null);\n for (const prefix in defaultPrefixes)\n processPrefix(prefix, defaultPrefixes[prefix]);\n // Set the default factory if none was specified\n factory = factory || N3DataFactory;\n\n // Registers a new prefix (if an IRI was specified)\n // or retrieves a function that expands an existing prefix (if no IRI was specified)\n function processPrefix(prefix, iri) {\n // Create a new prefix if an IRI is specified or the prefix doesn't exist\n if (typeof iri === 'string') {\n // Create a function that expands the prefix\n const cache = Object.create(null);\n prefixes[prefix] = local => {\n return cache[local] || (cache[local] = factory.namedNode(iri + local));\n };\n }\n else if (!(prefix in prefixes)) {\n throw new Error(`Unknown prefix: ${prefix}`);\n }\n return prefixes[prefix];\n }\n return processPrefix;\n}\n","// **N3Writer** writes N3 documents.\nimport namespaces from './IRIs';\nimport { default as N3DataFactory, Term } from './N3DataFactory';\nimport { isDefaultGraph } from './N3Util';\n\nconst DEFAULTGRAPH = N3DataFactory.defaultGraph();\n\nconst { rdf, xsd } = namespaces;\n\n// Characters in literals that require escaping\nconst escape = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019\\ud800-\\udbff]/,\n escapeAll = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019]|[\\ud800-\\udbff][\\udc00-\\udfff]/g,\n escapedCharacters = {\n '\\\\': '\\\\\\\\', '\"': '\\\\\"', '\\t': '\\\\t',\n '\\n': '\\\\n', '\\r': '\\\\r', '\\b': '\\\\b', '\\f': '\\\\f',\n };\n\n// ## Placeholder class to represent already pretty-printed terms\nclass SerializedTerm extends Term {\n // Pretty-printed nodes are not equal to any other node\n // (e.g., [] does not equal [])\n equals(other) {\n return other === this;\n }\n}\n\n// ## Constructor\nexport default class N3Writer {\n constructor(outputStream, options) {\n // ### `_prefixRegex` matches a prefixed name or IRI that begins with one of the added prefixes\n this._prefixRegex = /$0^/;\n\n // Shift arguments if the first argument is not a stream\n if (outputStream && typeof outputStream.write !== 'function')\n options = outputStream, outputStream = null;\n options = options || {};\n this._lists = options.lists;\n\n // If no output stream given, send the output as string through the end callback\n if (!outputStream) {\n let output = '';\n this._outputStream = {\n write(chunk, encoding, done) { output += chunk; done && done(); },\n end: done => { done && done(null, output); },\n };\n this._endStream = true;\n }\n else {\n this._outputStream = outputStream;\n this._endStream = options.end === undefined ? true : !!options.end;\n }\n\n // Initialize writer, depending on the format\n this._subject = null;\n if (!(/triple|quad/i).test(options.format)) {\n this._lineMode = false;\n this._graph = DEFAULTGRAPH;\n this._prefixIRIs = Object.create(null);\n options.prefixes && this.addPrefixes(options.prefixes);\n if (options.baseIRI) {\n this._baseMatcher = new RegExp(`^${escapeRegex(options.baseIRI)\n }${options.baseIRI.endsWith('/') ? '' : '[#?]'}`);\n this._baseLength = options.baseIRI.length;\n }\n }\n else {\n this._lineMode = true;\n this._writeQuad = this._writeQuadLine;\n }\n }\n\n // ## Private methods\n\n // ### Whether the current graph is the default graph\n get _inDefaultGraph() {\n return DEFAULTGRAPH.equals(this._graph);\n }\n\n // ### `_write` writes the argument to the output stream\n _write(string, callback) {\n this._outputStream.write(string, 'utf8', callback);\n }\n\n // ### `_writeQuad` writes the quad to the output stream\n _writeQuad(subject, predicate, object, graph, done) {\n try {\n // Write the graph's label if it has changed\n if (!graph.equals(this._graph)) {\n // Close the previous graph and start the new one\n this._write((this._subject === null ? '' : (this._inDefaultGraph ? '.\\n' : '\\n}\\n')) +\n (DEFAULTGRAPH.equals(graph) ? '' : `${this._encodeIriOrBlank(graph)} {\\n`));\n this._graph = graph;\n this._subject = null;\n }\n // Don't repeat the subject if it's the same\n if (subject.equals(this._subject)) {\n // Don't repeat the predicate if it's the same\n if (predicate.equals(this._predicate))\n this._write(`, ${this._encodeObject(object)}`, done);\n // Same subject, different predicate\n else\n this._write(`;\\n ${\n this._encodePredicate(this._predicate = predicate)} ${\n this._encodeObject(object)}`, done);\n }\n // Different subject; write the whole quad\n else\n this._write(`${(this._subject === null ? '' : '.\\n') +\n this._encodeSubject(this._subject = subject)} ${\n this._encodePredicate(this._predicate = predicate)} ${\n this._encodeObject(object)}`, done);\n }\n catch (error) { done && done(error); }\n }\n\n // ### `_writeQuadLine` writes the quad to the output stream as a single line\n _writeQuadLine(subject, predicate, object, graph, done) {\n // Write the quad without prefixes\n delete this._prefixMatch;\n this._write(this.quadToString(subject, predicate, object, graph), done);\n }\n\n // ### `quadToString` serializes a quad as a string\n quadToString(subject, predicate, object, graph) {\n return `${this._encodeSubject(subject)} ${\n this._encodeIriOrBlank(predicate)} ${\n this._encodeObject(object)\n }${graph && graph.value ? ` ${this._encodeIriOrBlank(graph)} .\\n` : ' .\\n'}`;\n }\n\n // ### `quadsToString` serializes an array of quads as a string\n quadsToString(quads) {\n return quads.map(t => {\n return this.quadToString(t.subject, t.predicate, t.object, t.graph);\n }).join('');\n }\n\n // ### `_encodeSubject` represents a subject\n _encodeSubject(entity) {\n return entity.termType === 'Quad' ?\n this._encodeQuad(entity) : this._encodeIriOrBlank(entity);\n }\n\n // ### `_encodeIriOrBlank` represents an IRI or blank node\n _encodeIriOrBlank(entity) {\n // A blank node or list is represented as-is\n if (entity.termType !== 'NamedNode') {\n // If it is a list head, pretty-print it\n if (this._lists && (entity.value in this._lists))\n entity = this.list(this._lists[entity.value]);\n return 'id' in entity ? entity.id : `_:${entity.value}`;\n }\n let iri = entity.value;\n // Use relative IRIs if requested and possible\n if (this._baseMatcher && this._baseMatcher.test(iri))\n iri = iri.substr(this._baseLength);\n // Escape special characters\n if (escape.test(iri))\n iri = iri.replace(escapeAll, characterReplacer);\n // Try to represent the IRI as prefixed name\n const prefixMatch = this._prefixRegex.exec(iri);\n return !prefixMatch ? `<${iri}>` :\n (!prefixMatch[1] ? iri : this._prefixIRIs[prefixMatch[1]] + prefixMatch[2]);\n }\n\n // ### `_encodeLiteral` represents a literal\n _encodeLiteral(literal) {\n // Escape special characters\n let value = literal.value;\n if (escape.test(value))\n value = value.replace(escapeAll, characterReplacer);\n\n // Write a language-tagged literal\n if (literal.language)\n return `\"${value}\"@${literal.language}`;\n\n // Write dedicated literals per data type\n if (this._lineMode) {\n // Only abbreviate strings in N-Triples or N-Quads\n if (literal.datatype.value === xsd.string)\n return `\"${value}\"`;\n }\n else {\n // Use common datatype abbreviations in Turtle or TriG\n switch (literal.datatype.value) {\n case xsd.string:\n return `\"${value}\"`;\n case xsd.boolean:\n if (value === 'true' || value === 'false')\n return value;\n break;\n case xsd.integer:\n if (/^[+-]?\\d+$/.test(value))\n return value;\n break;\n case xsd.decimal:\n if (/^[+-]?\\d*\\.\\d+$/.test(value))\n return value;\n break;\n case xsd.double:\n if (/^[+-]?(?:\\d+\\.\\d*|\\.?\\d+)[eE][+-]?\\d+$/.test(value))\n return value;\n break;\n }\n }\n\n // Write a regular datatyped literal\n return `\"${value}\"^^${this._encodeIriOrBlank(literal.datatype)}`;\n }\n\n // ### `_encodePredicate` represents a predicate\n _encodePredicate(predicate) {\n return predicate.value === rdf.type ? 'a' : this._encodeIriOrBlank(predicate);\n }\n\n // ### `_encodeObject` represents an object\n _encodeObject(object) {\n switch (object.termType) {\n case 'Quad':\n return this._encodeQuad(object);\n case 'Literal':\n return this._encodeLiteral(object);\n default:\n return this._encodeIriOrBlank(object);\n }\n }\n\n // ### `_encodeQuad` encodes an RDF* quad\n _encodeQuad({ subject, predicate, object, graph }) {\n return `<<${\n this._encodeSubject(subject)} ${\n this._encodePredicate(predicate)} ${\n this._encodeObject(object)}${\n isDefaultGraph(graph) ? '' : ` ${this._encodeIriOrBlank(graph)}`}>>`;\n }\n\n // ### `_blockedWrite` replaces `_write` after the writer has been closed\n _blockedWrite() {\n throw new Error('Cannot write because the writer has been closed.');\n }\n\n // ### `addQuad` adds the quad to the output stream\n addQuad(subject, predicate, object, graph, done) {\n // The quad was given as an object, so shift parameters\n if (object === undefined)\n this._writeQuad(subject.subject, subject.predicate, subject.object, subject.graph, predicate);\n // The optional `graph` parameter was not provided\n else if (typeof graph === 'function')\n this._writeQuad(subject, predicate, object, DEFAULTGRAPH, graph);\n // The `graph` parameter was provided\n else\n this._writeQuad(subject, predicate, object, graph || DEFAULTGRAPH, done);\n }\n\n // ### `addQuads` adds the quads to the output stream\n addQuads(quads) {\n for (let i = 0; i < quads.length; i++)\n this.addQuad(quads[i]);\n }\n\n // ### `addPrefix` adds the prefix to the output stream\n addPrefix(prefix, iri, done) {\n const prefixes = {};\n prefixes[prefix] = iri;\n this.addPrefixes(prefixes, done);\n }\n\n // ### `addPrefixes` adds the prefixes to the output stream\n addPrefixes(prefixes, done) {\n // Ignore prefixes if not supported by the serialization\n if (!this._prefixIRIs)\n return done && done();\n\n // Write all new prefixes\n let hasPrefixes = false;\n for (let prefix in prefixes) {\n let iri = prefixes[prefix];\n if (typeof iri !== 'string')\n iri = iri.value;\n hasPrefixes = true;\n // Finish a possible pending quad\n if (this._subject !== null) {\n this._write(this._inDefaultGraph ? '.\\n' : '\\n}\\n');\n this._subject = null, this._graph = '';\n }\n // Store and write the prefix\n this._prefixIRIs[iri] = (prefix += ':');\n this._write(`@prefix ${prefix} <${iri}>.\\n`);\n }\n // Recreate the prefix matcher\n if (hasPrefixes) {\n let IRIlist = '', prefixList = '';\n for (const prefixIRI in this._prefixIRIs) {\n IRIlist += IRIlist ? `|${prefixIRI}` : prefixIRI;\n prefixList += (prefixList ? '|' : '') + this._prefixIRIs[prefixIRI];\n }\n IRIlist = escapeRegex(IRIlist, /[\\]\\/\\(\\)\\*\\+\\?\\.\\\\\\$]/g, '\\\\$&');\n this._prefixRegex = new RegExp(`^(?:${prefixList})[^\\/]*$|` +\n `^(${IRIlist})([_a-zA-Z][\\\\-_a-zA-Z0-9]*)$`);\n }\n // End a prefix block with a newline\n this._write(hasPrefixes ? '\\n' : '', done);\n }\n\n // ### `blank` creates a blank node with the given content\n blank(predicate, object) {\n let children = predicate, child, length;\n // Empty blank node\n if (predicate === undefined)\n children = [];\n // Blank node passed as blank(Term(\"predicate\"), Term(\"object\"))\n else if (predicate.termType)\n children = [{ predicate: predicate, object: object }];\n // Blank node passed as blank({ predicate: predicate, object: object })\n else if (!('length' in predicate))\n children = [predicate];\n\n switch (length = children.length) {\n // Generate an empty blank node\n case 0:\n return new SerializedTerm('[]');\n // Generate a non-nested one-triple blank node\n case 1:\n child = children[0];\n if (!(child.object instanceof SerializedTerm))\n return new SerializedTerm(`[ ${this._encodePredicate(child.predicate)} ${\n this._encodeObject(child.object)} ]`);\n // Generate a multi-triple or nested blank node\n default:\n let contents = '[';\n // Write all triples in order\n for (let i = 0; i < length; i++) {\n child = children[i];\n // Write only the object is the predicate is the same as the previous\n if (child.predicate.equals(predicate))\n contents += `, ${this._encodeObject(child.object)}`;\n // Otherwise, write the predicate and the object\n else {\n contents += `${(i ? ';\\n ' : '\\n ') +\n this._encodePredicate(child.predicate)} ${\n this._encodeObject(child.object)}`;\n predicate = child.predicate;\n }\n }\n return new SerializedTerm(`${contents}\\n]`);\n }\n }\n\n // ### `list` creates a list node with the given content\n list(elements) {\n const length = elements && elements.length || 0, contents = new Array(length);\n for (let i = 0; i < length; i++)\n contents[i] = this._encodeObject(elements[i]);\n return new SerializedTerm(`(${contents.join(' ')})`);\n }\n\n // ### `end` signals the end of the output stream\n end(done) {\n // Finish a possible pending quad\n if (this._subject !== null) {\n this._write(this._inDefaultGraph ? '.\\n' : '\\n}\\n');\n this._subject = null;\n }\n // Disallow further writing\n this._write = this._blockedWrite;\n\n // Try to end the underlying stream, ensuring done is called exactly one time\n let singleDone = done && ((error, result) => { singleDone = null, done(error, result); });\n if (this._endStream) {\n try { return this._outputStream.end(singleDone); }\n catch (error) { /* error closing stream */ }\n }\n singleDone && singleDone();\n }\n}\n\n// Replaces a character by its escaped version\nfunction characterReplacer(character) {\n // Replace a single character by its escaped version\n let result = escapedCharacters[character];\n if (result === undefined) {\n // Replace a single character with its 4-bit unicode escape sequence\n if (character.length === 1) {\n result = character.charCodeAt(0).toString(16);\n result = '\\\\u0000'.substr(0, 6 - result.length) + result;\n }\n // Replace a surrogate pair with its 8-bit unicode escape sequence\n else {\n result = ((character.charCodeAt(0) - 0xD800) * 0x400 +\n character.charCodeAt(1) + 0x2400).toString(16);\n result = '\\\\U00000000'.substr(0, 10 - result.length) + result;\n }\n }\n return result;\n}\n\nfunction escapeRegex(regex) {\n return regex.replace(/[\\]\\/\\(\\)\\*\\+\\?\\.\\\\\\$]/g, '\\\\$&');\n}\n","// **N3Store** objects store N3 quads by graph in memory.\nimport { Readable } from 'readable-stream';\nimport { default as N3DataFactory, termToId, termFromId } from './N3DataFactory';\nimport namespaces from './IRIs';\nimport { isDefaultGraph } from './N3Util';\n\n// ## Constructor\nexport default class N3Store {\n constructor(quads, options) {\n // The number of quads is initially zero\n this._size = 0;\n // `_graphs` contains subject, predicate, and object indexes per graph\n this._graphs = Object.create(null);\n // `_ids` maps entities such as `http://xmlns.com/foaf/0.1/name` to numbers,\n // saving memory by using only numbers as keys in `_graphs`\n this._id = 0;\n this._ids = Object.create(null);\n this._entities = Object.create(null); // inverse of `_ids`\n // `_blankNodeIndex` is the index of the last automatically named blank node\n this._blankNodeIndex = 0;\n\n // Shift parameters if `quads` is not given\n if (!options && quads && !quads[0])\n options = quads, quads = null;\n options = options || {};\n this._factory = options.factory || N3DataFactory;\n\n // Add quads if passed\n if (quads)\n this.addQuads(quads);\n }\n\n _termFromId(id, factory) {\n if (id[0] === '.') {\n const entities = this._entities;\n const terms = id.split('.');\n const q = this._factory.quad(\n this._termFromId(entities[terms[1]]),\n this._termFromId(entities[terms[2]]),\n this._termFromId(entities[terms[3]]),\n terms[4] && this._termFromId(entities[terms[4]])\n );\n return q;\n }\n return termFromId(id, factory);\n }\n\n _termToNumericId(term) {\n if (term.termType === 'Quad') {\n const s = this._termToNumericId(term.subject),\n p = this._termToNumericId(term.predicate),\n o = this._termToNumericId(term.object);\n let g;\n\n return s && p && o && (isDefaultGraph(term.graph) || (g = this._termToNumericId(term.graph))) &&\n this._ids[g ? `.${s}.${p}.${o}.${g}` : `.${s}.${p}.${o}`];\n }\n return this._ids[termToId(term)];\n }\n\n _termToNewNumericId(term) {\n // This assumes that no graph term is present - we may wish to error if there is one\n const str = term && term.termType === 'Quad' ?\n `.${this._termToNewNumericId(term.subject)}.${this._termToNewNumericId(term.predicate)}.${this._termToNewNumericId(term.object)}${\n isDefaultGraph(term.graph) ? '' : `.${this._termToNewNumericId(term.graph)}`\n }`\n : termToId(term);\n\n return this._ids[str] || (this._ids[this._entities[++this._id] = str] = this._id);\n }\n\n // ## Public properties\n\n // ### `size` returns the number of quads in the store\n get size() {\n // Return the quad count if if was cached\n let size = this._size;\n if (size !== null)\n return size;\n\n // Calculate the number of quads by counting to the deepest level\n size = 0;\n const graphs = this._graphs;\n let subjects, subject;\n for (const graphKey in graphs)\n for (const subjectKey in (subjects = graphs[graphKey].subjects))\n for (const predicateKey in (subject = subjects[subjectKey]))\n size += Object.keys(subject[predicateKey]).length;\n return this._size = size;\n }\n\n // ## Private methods\n\n // ### `_addToIndex` adds a quad to a three-layered index.\n // Returns if the index has changed, if the entry did not already exist.\n _addToIndex(index0, key0, key1, key2) {\n // Create layers as necessary\n const index1 = index0[key0] || (index0[key0] = {});\n const index2 = index1[key1] || (index1[key1] = {});\n // Setting the key to _any_ value signals the presence of the quad\n const existed = key2 in index2;\n if (!existed)\n index2[key2] = null;\n return !existed;\n }\n\n // ### `_removeFromIndex` removes a quad from a three-layered index\n _removeFromIndex(index0, key0, key1, key2) {\n // Remove the quad from the index\n const index1 = index0[key0], index2 = index1[key1];\n delete index2[key2];\n\n // Remove intermediary index layers if they are empty\n for (const key in index2) return;\n delete index1[key1];\n for (const key in index1) return;\n delete index0[key0];\n }\n\n // ### `_findInIndex` finds a set of quads in a three-layered index.\n // The index base is `index0` and the keys at each level are `key0`, `key1`, and `key2`.\n // Any of these keys can be undefined, which is interpreted as a wildcard.\n // `name0`, `name1`, and `name2` are the names of the keys at each level,\n // used when reconstructing the resulting quad\n // (for instance: _subject_, _predicate_, and _object_).\n // Finally, `graphId` will be the graph of the created quads.\n *_findInIndex(index0, key0, key1, key2, name0, name1, name2, graphId) {\n let tmp, index1, index2;\n const entityKeys = this._entities;\n const graph = this._termFromId(graphId, this._factory);\n const parts = { subject: null, predicate: null, object: null };\n\n // If a key is specified, use only that part of index 0.\n if (key0) (tmp = index0, index0 = {})[key0] = tmp[key0];\n for (const value0 in index0) {\n if (index1 = index0[value0]) {\n parts[name0] = this._termFromId(entityKeys[value0], this._factory);\n // If a key is specified, use only that part of index 1.\n if (key1) (tmp = index1, index1 = {})[key1] = tmp[key1];\n for (const value1 in index1) {\n if (index2 = index1[value1]) {\n parts[name1] = this._termFromId(entityKeys[value1], this._factory);\n // If a key is specified, use only that part of index 2, if it exists.\n const values = key2 ? (key2 in index2 ? [key2] : []) : Object.keys(index2);\n // Create quads for all items found in index 2.\n for (let l = 0; l < values.length; l++) {\n parts[name2] = this._termFromId(entityKeys[values[l]], this._factory);\n yield this._factory.quad(parts.subject, parts.predicate, parts.object, graph);\n }\n }\n }\n }\n }\n }\n\n // ### `_loop` executes the callback on all keys of index 0\n _loop(index0, callback) {\n for (const key0 in index0)\n callback(key0);\n }\n\n // ### `_loopByKey0` executes the callback on all keys of a certain entry in index 0\n _loopByKey0(index0, key0, callback) {\n let index1, key1;\n if (index1 = index0[key0]) {\n for (key1 in index1)\n callback(key1);\n }\n }\n\n // ### `_loopByKey1` executes the callback on given keys of all entries in index 0\n _loopByKey1(index0, key1, callback) {\n let key0, index1;\n for (key0 in index0) {\n index1 = index0[key0];\n if (index1[key1])\n callback(key0);\n }\n }\n\n // ### `_loopBy2Keys` executes the callback on given keys of certain entries in index 2\n _loopBy2Keys(index0, key0, key1, callback) {\n let index1, index2, key2;\n if ((index1 = index0[key0]) && (index2 = index1[key1])) {\n for (key2 in index2)\n callback(key2);\n }\n }\n\n // ### `_countInIndex` counts matching quads in a three-layered index.\n // The index base is `index0` and the keys at each level are `key0`, `key1`, and `key2`.\n // Any of these keys can be undefined, which is interpreted as a wildcard.\n _countInIndex(index0, key0, key1, key2) {\n let count = 0, tmp, index1, index2;\n\n // If a key is specified, count only that part of index 0\n if (key0) (tmp = index0, index0 = {})[key0] = tmp[key0];\n for (const value0 in index0) {\n if (index1 = index0[value0]) {\n // If a key is specified, count only that part of index 1\n if (key1) (tmp = index1, index1 = {})[key1] = tmp[key1];\n for (const value1 in index1) {\n if (index2 = index1[value1]) {\n // If a key is specified, count the quad if it exists\n if (key2) (key2 in index2) && count++;\n // Otherwise, count all quads\n else count += Object.keys(index2).length;\n }\n }\n }\n }\n return count;\n }\n\n // ### `_getGraphs` returns an array with the given graph,\n // or all graphs if the argument is null or undefined.\n _getGraphs(graph) {\n if (!isString(graph))\n return this._graphs;\n const graphs = {};\n graphs[graph] = this._graphs[graph];\n return graphs;\n }\n\n // ### `_uniqueEntities` returns a function that accepts an entity ID\n // and passes the corresponding entity to callback if it hasn't occurred before.\n _uniqueEntities(callback) {\n const uniqueIds = Object.create(null);\n return id => {\n if (!(id in uniqueIds)) {\n uniqueIds[id] = true;\n callback(this._termFromId(this._entities[id], this._factory));\n }\n };\n }\n\n // ## Public methods\n\n // ### `add` adds the specified quad to the dataset.\n // Returns the dataset instance it was called on.\n // Existing quads, as defined in Quad.equals, will be ignored.\n add(quad) {\n this.addQuad(quad);\n return this;\n }\n\n // ### `addQuad` adds a new quad to the store.\n // Returns if the quad index has changed, if the quad did not already exist.\n addQuad(subject, predicate, object, graph) {\n // Shift arguments if a quad object is given instead of components\n if (!predicate)\n graph = subject.graph, object = subject.object,\n predicate = subject.predicate, subject = subject.subject;\n\n // Convert terms to internal string representation\n graph = termToId(graph);\n\n // Find the graph that will contain the triple\n let graphItem = this._graphs[graph];\n // Create the graph if it doesn't exist yet\n if (!graphItem) {\n graphItem = this._graphs[graph] = { subjects: {}, predicates: {}, objects: {} };\n // Freezing a graph helps subsequent `add` performance,\n // and properties will never be modified anyway\n Object.freeze(graphItem);\n }\n\n // Since entities can often be long IRIs, we avoid storing them in every index.\n // Instead, we have a separate index that maps entities to numbers,\n // which are then used as keys in the other indexes.\n subject = this._termToNewNumericId(subject);\n predicate = this._termToNewNumericId(predicate);\n object = this._termToNewNumericId(object);\n\n const changed = this._addToIndex(graphItem.subjects, subject, predicate, object);\n this._addToIndex(graphItem.predicates, predicate, object, subject);\n this._addToIndex(graphItem.objects, object, subject, predicate);\n\n // The cached quad count is now invalid\n this._size = null;\n return changed;\n }\n\n // ### `addQuads` adds multiple quads to the store\n addQuads(quads) {\n for (let i = 0; i < quads.length; i++)\n this.addQuad(quads[i]);\n }\n\n // ### `delete` removes the specified quad from the dataset.\n // Returns the dataset instance it was called on.\n delete(quad) {\n this.removeQuad(quad);\n return this;\n }\n\n // ### `has` determines whether a dataset includes a certain quad or quad pattern.\n has(subjectOrQuad, predicate, object, graph) {\n if (subjectOrQuad && subjectOrQuad.subject)\n ({ subject: subjectOrQuad, predicate, object, graph } = subjectOrQuad);\n return !this.readQuads(subjectOrQuad, predicate, object, graph).next().done;\n }\n\n // ### `import` adds a stream of quads to the store\n import(stream) {\n stream.on('data', quad => { this.addQuad(quad); });\n return stream;\n }\n\n // ### `removeQuad` removes a quad from the store if it exists\n removeQuad(subject, predicate, object, graph) {\n // Shift arguments if a quad object is given instead of components\n if (!predicate)\n graph = subject.graph, object = subject.object,\n predicate = subject.predicate, subject = subject.subject;\n\n // Convert terms to internal string representation\n graph = termToId(graph);\n\n // Find internal identifiers for all components\n // and verify the quad exists.\n const graphs = this._graphs;\n let graphItem, subjects, predicates;\n if (!(subject = subject && this._termToNumericId(subject)) || !(predicate = predicate && this._termToNumericId(predicate)) ||\n !(object = object && this._termToNumericId(object)) || !(graphItem = graphs[graph]) ||\n !(subjects = graphItem.subjects[subject]) ||\n !(predicates = subjects[predicate]) ||\n !(object in predicates))\n return false;\n\n // Remove it from all indexes\n this._removeFromIndex(graphItem.subjects, subject, predicate, object);\n this._removeFromIndex(graphItem.predicates, predicate, object, subject);\n this._removeFromIndex(graphItem.objects, object, subject, predicate);\n if (this._size !== null) this._size--;\n\n // Remove the graph if it is empty\n for (subject in graphItem.subjects) return true;\n delete graphs[graph];\n return true;\n }\n\n // ### `removeQuads` removes multiple quads from the store\n removeQuads(quads) {\n for (let i = 0; i < quads.length; i++)\n this.removeQuad(quads[i]);\n }\n\n // ### `remove` removes a stream of quads from the store\n remove(stream) {\n stream.on('data', quad => { this.removeQuad(quad); });\n return stream;\n }\n\n // ### `removeMatches` removes all matching quads from the store\n // Setting any field to `undefined` or `null` indicates a wildcard.\n removeMatches(subject, predicate, object, graph) {\n const stream = new Readable({ objectMode: true });\n\n stream._read = () => {\n for (const quad of this.readQuads(subject, predicate, object, graph))\n stream.push(quad);\n stream.push(null);\n };\n\n return this.remove(stream);\n }\n\n // ### `deleteGraph` removes all triples with the given graph from the store\n deleteGraph(graph) {\n return this.removeMatches(null, null, null, graph);\n }\n\n // ### `getQuads` returns an array of quads matching a pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n getQuads(subject, predicate, object, graph) {\n return [...this.readQuads(subject, predicate, object, graph)];\n }\n\n // ### `readQuads` returns an generator of quads matching a pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n *readQuads(subject, predicate, object, graph) {\n // Convert terms to internal string representation\n graph = graph && termToId(graph);\n\n const graphs = this._getGraphs(graph);\n let content, subjectId, predicateId, objectId;\n\n // Translate IRIs to internal index keys.\n if (subject && !(subjectId = this._termToNumericId(subject)) ||\n predicate && !(predicateId = this._termToNumericId(predicate)) ||\n object && !(objectId = this._termToNumericId(object)))\n return;\n\n for (const graphId in graphs) {\n // Only if the specified graph contains triples, there can be results\n if (content = graphs[graphId]) {\n // Choose the optimal index, based on what fields are present\n if (subjectId) {\n if (objectId)\n // If subject and object are given, the object index will be the fastest\n yield* this._findInIndex(content.objects, objectId, subjectId, predicateId,\n 'object', 'subject', 'predicate', graphId);\n else\n // If only subject and possibly predicate are given, the subject index will be the fastest\n yield* this._findInIndex(content.subjects, subjectId, predicateId, null,\n 'subject', 'predicate', 'object', graphId);\n }\n else if (predicateId)\n // If only predicate and possibly object are given, the predicate index will be the fastest\n yield* this._findInIndex(content.predicates, predicateId, objectId, null,\n 'predicate', 'object', 'subject', graphId);\n else if (objectId)\n // If only object is given, the object index will be the fastest\n yield* this._findInIndex(content.objects, objectId, null, null,\n 'object', 'subject', 'predicate', graphId);\n else\n // If nothing is given, iterate subjects and predicates first\n yield* this._findInIndex(content.subjects, null, null, null,\n 'subject', 'predicate', 'object', graphId);\n }\n }\n }\n\n // ### `match` returns a new dataset that is comprised of all quads in the current instance matching the given arguments.\n // The logic described in Quad Matching is applied for each quad in this dataset to check if it should be included in the output dataset.\n // Note: This method always returns a new DatasetCore, even if that dataset contains no quads.\n // Note: Since a DatasetCore is an unordered set, the order of the quads within the returned sequence is arbitrary.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n // For backwards compatibility, the object return also implements the Readable stream interface.\n match(subject, predicate, object, graph) {\n return new DatasetCoreAndReadableStream(this, subject, predicate, object, graph);\n }\n\n // ### `countQuads` returns the number of quads matching a pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n countQuads(subject, predicate, object, graph) {\n // Convert terms to internal string representation\n graph = graph && termToId(graph);\n\n const graphs = this._getGraphs(graph);\n let count = 0, content, subjectId, predicateId, objectId;\n\n // Translate IRIs to internal index keys.\n if (subject && !(subjectId = this._termToNumericId(subject)) ||\n predicate && !(predicateId = this._termToNumericId(predicate)) ||\n object && !(objectId = this._termToNumericId(object)))\n return 0;\n\n for (const graphId in graphs) {\n // Only if the specified graph contains triples, there can be results\n if (content = graphs[graphId]) {\n // Choose the optimal index, based on what fields are present\n if (subject) {\n if (object)\n // If subject and object are given, the object index will be the fastest\n count += this._countInIndex(content.objects, objectId, subjectId, predicateId);\n else\n // If only subject and possibly predicate are given, the subject index will be the fastest\n count += this._countInIndex(content.subjects, subjectId, predicateId, objectId);\n }\n else if (predicate) {\n // If only predicate and possibly object are given, the predicate index will be the fastest\n count += this._countInIndex(content.predicates, predicateId, objectId, subjectId);\n }\n else {\n // If only object is possibly given, the object index will be the fastest\n count += this._countInIndex(content.objects, objectId, subjectId, predicateId);\n }\n }\n }\n return count;\n }\n\n // ### `forEach` executes the callback on all quads.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n forEach(callback, subject, predicate, object, graph) {\n this.some(quad => {\n callback(quad);\n return false;\n }, subject, predicate, object, graph);\n }\n\n // ### `every` executes the callback on all quads,\n // and returns `true` if it returns truthy for all them.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n every(callback, subject, predicate, object, graph) {\n let some = false;\n const every = !this.some(quad => {\n some = true;\n return !callback(quad);\n }, subject, predicate, object, graph);\n return some && every;\n }\n\n // ### `some` executes the callback on all quads,\n // and returns `true` if it returns truthy for any of them.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n some(callback, subject, predicate, object, graph) {\n for (const quad of this.readQuads(subject, predicate, object, graph))\n if (callback(quad))\n return true;\n return false;\n }\n\n // ### `getSubjects` returns all subjects that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n getSubjects(predicate, object, graph) {\n const results = [];\n this.forSubjects(s => { results.push(s); }, predicate, object, graph);\n return results;\n }\n\n // ### `forSubjects` executes the callback on all subjects that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n forSubjects(callback, predicate, object, graph) {\n // Convert terms to internal string representation\n graph = graph && termToId(graph);\n\n const graphs = this._getGraphs(graph);\n let content, predicateId, objectId;\n callback = this._uniqueEntities(callback);\n\n // Translate IRIs to internal index keys.\n if (predicate && !(predicateId = this._termToNumericId(predicate)) ||\n object && !(objectId = this._termToNumericId(object)))\n return;\n\n for (graph in graphs) {\n // Only if the specified graph contains triples, there can be results\n if (content = graphs[graph]) {\n // Choose optimal index based on which fields are wildcards\n if (predicateId) {\n if (objectId)\n // If predicate and object are given, the POS index is best.\n this._loopBy2Keys(content.predicates, predicateId, objectId, callback);\n else\n // If only predicate is given, the SPO index is best.\n this._loopByKey1(content.subjects, predicateId, callback);\n }\n else if (objectId)\n // If only object is given, the OSP index is best.\n this._loopByKey0(content.objects, objectId, callback);\n else\n // If no params given, iterate all the subjects\n this._loop(content.subjects, callback);\n }\n }\n }\n\n // ### `getPredicates` returns all predicates that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n getPredicates(subject, object, graph) {\n const results = [];\n this.forPredicates(p => { results.push(p); }, subject, object, graph);\n return results;\n }\n\n // ### `forPredicates` executes the callback on all predicates that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n forPredicates(callback, subject, object, graph) {\n // Convert terms to internal string representation\n graph = graph && termToId(graph);\n\n const graphs = this._getGraphs(graph);\n let content, subjectId, objectId;\n callback = this._uniqueEntities(callback);\n\n // Translate IRIs to internal index keys.\n if (subject && !(subjectId = this._termToNumericId(subject)) ||\n object && !(objectId = this._termToNumericId(object)))\n return;\n\n for (graph in graphs) {\n // Only if the specified graph contains triples, there can be results\n if (content = graphs[graph]) {\n // Choose optimal index based on which fields are wildcards\n if (subjectId) {\n if (objectId)\n // If subject and object are given, the OSP index is best.\n this._loopBy2Keys(content.objects, objectId, subjectId, callback);\n else\n // If only subject is given, the SPO index is best.\n this._loopByKey0(content.subjects, subjectId, callback);\n }\n else if (objectId)\n // If only object is given, the POS index is best.\n this._loopByKey1(content.predicates, objectId, callback);\n else\n // If no params given, iterate all the predicates.\n this._loop(content.predicates, callback);\n }\n }\n }\n\n // ### `getObjects` returns all objects that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n getObjects(subject, predicate, graph) {\n const results = [];\n this.forObjects(o => { results.push(o); }, subject, predicate, graph);\n return results;\n }\n\n // ### `forObjects` executes the callback on all objects that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n forObjects(callback, subject, predicate, graph) {\n // Convert terms to internal string representation\n graph = graph && termToId(graph);\n\n const graphs = this._getGraphs(graph);\n let content, subjectId, predicateId;\n callback = this._uniqueEntities(callback);\n\n // Translate IRIs to internal index keys.\n if (subject && !(subjectId = this._termToNumericId(subject)) ||\n predicate && !(predicateId = this._termToNumericId(predicate)))\n return;\n\n for (graph in graphs) {\n // Only if the specified graph contains triples, there can be results\n if (content = graphs[graph]) {\n // Choose optimal index based on which fields are wildcards\n if (subjectId) {\n if (predicateId)\n // If subject and predicate are given, the SPO index is best.\n this._loopBy2Keys(content.subjects, subjectId, predicateId, callback);\n else\n // If only subject is given, the OSP index is best.\n this._loopByKey1(content.objects, subjectId, callback);\n }\n else if (predicateId)\n // If only predicate is given, the POS index is best.\n this._loopByKey0(content.predicates, predicateId, callback);\n else\n // If no params given, iterate all the objects.\n this._loop(content.objects, callback);\n }\n }\n }\n\n // ### `getGraphs` returns all graphs that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n getGraphs(subject, predicate, object) {\n const results = [];\n this.forGraphs(g => { results.push(g); }, subject, predicate, object);\n return results;\n }\n\n // ### `forGraphs` executes the callback on all graphs that match the pattern.\n // Setting any field to `undefined` or `null` indicates a wildcard.\n forGraphs(callback, subject, predicate, object) {\n for (const graph in this._graphs) {\n this.some(quad => {\n callback(quad.graph);\n return true; // Halt iteration of some()\n }, subject, predicate, object, graph);\n }\n }\n\n // ### `createBlankNode` creates a new blank node, returning its name\n createBlankNode(suggestedName) {\n let name, index;\n // Generate a name based on the suggested name\n if (suggestedName) {\n name = suggestedName = `_:${suggestedName}`, index = 1;\n while (this._ids[name])\n name = suggestedName + index++;\n }\n // Generate a generic blank node name\n else {\n do { name = `_:b${this._blankNodeIndex++}`; }\n while (this._ids[name]);\n }\n // Add the blank node to the entities, avoiding the generation of duplicates\n this._ids[name] = ++this._id;\n this._entities[this._id] = name;\n return this._factory.blankNode(name.substr(2));\n }\n\n // ### `extractLists` finds and removes all list triples\n // and returns the items per list.\n extractLists({ remove = false, ignoreErrors = false } = {}) {\n const lists = {}; // has scalar keys so could be a simple Object\n const onError = ignoreErrors ? (() => true) :\n ((node, message) => { throw new Error(`${node.value} ${message}`); });\n\n // Traverse each list from its tail\n const tails = this.getQuads(null, namespaces.rdf.rest, namespaces.rdf.nil, null);\n const toRemove = remove ? [...tails] : [];\n tails.forEach(tailQuad => {\n const items = []; // the members found as objects of rdf:first quads\n let malformed = false; // signals whether the current list is malformed\n let head; // the head of the list (_:b1 in above example)\n let headPos; // set to subject or object when head is set\n const graph = tailQuad.graph; // make sure list is in exactly one graph\n\n // Traverse the list from tail to end\n let current = tailQuad.subject;\n while (current && !malformed) {\n const objectQuads = this.getQuads(null, null, current, null);\n const subjectQuads = this.getQuads(current, null, null, null);\n let quad, first = null, rest = null, parent = null;\n\n // Find the first and rest of this list node\n for (let i = 0; i < subjectQuads.length && !malformed; i++) {\n quad = subjectQuads[i];\n if (!quad.graph.equals(graph))\n malformed = onError(current, 'not confined to single graph');\n else if (head)\n malformed = onError(current, 'has non-list arcs out');\n\n // one rdf:first\n else if (quad.predicate.value === namespaces.rdf.first) {\n if (first)\n malformed = onError(current, 'has multiple rdf:first arcs');\n else\n toRemove.push(first = quad);\n }\n\n // one rdf:rest\n else if (quad.predicate.value === namespaces.rdf.rest) {\n if (rest)\n malformed = onError(current, 'has multiple rdf:rest arcs');\n else\n toRemove.push(rest = quad);\n }\n\n // alien triple\n else if (objectQuads.length)\n malformed = onError(current, 'can\\'t be subject and object');\n else {\n head = quad; // e.g. { (1 2 3) :p :o }\n headPos = 'subject';\n }\n }\n\n // { :s :p (1 2) } arrives here with no head\n // { (1 2) :p :o } arrives here with head set to the list.\n for (let i = 0; i < objectQuads.length && !malformed; ++i) {\n quad = objectQuads[i];\n if (head)\n malformed = onError(current, 'can\\'t have coreferences');\n // one rdf:rest\n else if (quad.predicate.value === namespaces.rdf.rest) {\n if (parent)\n malformed = onError(current, 'has incoming rdf:rest arcs');\n else\n parent = quad;\n }\n else {\n head = quad; // e.g. { :s :p (1 2) }\n headPos = 'object';\n }\n }\n\n // Store the list item and continue with parent\n if (!first)\n malformed = onError(current, 'has no list head');\n else\n items.unshift(first.object);\n current = parent && parent.subject;\n }\n\n // Don't remove any quads if the list is malformed\n if (malformed)\n remove = false;\n // Store the list under the value of its head\n else if (head)\n lists[head[headPos].value] = items;\n });\n\n // Remove list quads if requested\n if (remove)\n this.removeQuads(toRemove);\n return lists;\n }\n\n // ### Store is an iterable.\n // Can be used where iterables are expected: for...of loops, array spread operator,\n // `yield*`, and destructuring assignment (order is not guaranteed).\n *[Symbol.iterator]() {\n yield* this.readQuads();\n }\n}\n\n// Determines whether the argument is a string\nfunction isString(s) {\n return typeof s === 'string' || s instanceof String;\n}\n\n/**\n * A class that implements both DatasetCore and Readable.\n */\nclass DatasetCoreAndReadableStream extends Readable {\n constructor(n3Store, subject, predicate, object, graph) {\n super({ objectMode: true });\n Object.assign(this, { n3Store, subject, predicate, object, graph });\n }\n\n get filtered() {\n if (!this._filtered) {\n const { n3Store, graph, object, predicate, subject } = this;\n const newStore = this._filtered = new N3Store({ factory: n3Store._factory });\n for (const quad of n3Store.readQuads(subject, predicate, object, graph))\n newStore.addQuad(quad);\n }\n return this._filtered;\n }\n\n get size() {\n return this.filtered.size;\n }\n\n _read() {\n for (const quad of this)\n this.push(quad);\n this.push(null);\n }\n\n add(quad) {\n return this.filtered.add(quad);\n }\n\n delete(quad) {\n return this.filtered.delete(quad);\n }\n\n has(quad) {\n return this.filtered.has(quad);\n }\n\n match(subject, predicate, object, graph) {\n return new DatasetCoreAndReadableStream(this.filtered, subject, predicate, object, graph);\n }\n\n *[Symbol.iterator]() {\n yield* this._filtered || this.n3Store.readQuads(this.subject, this.predicate, this.object, this.graph);\n }\n}\n","// **N3StreamParser** parses a text stream into a quad stream.\nimport { Transform } from 'readable-stream';\nimport N3Parser from './N3Parser';\n\n// ## Constructor\nexport default class N3StreamParser extends Transform {\n constructor(options) {\n super({ decodeStrings: true });\n this._readableState.objectMode = true;\n\n // Set up parser with dummy stream to obtain `data` and `end` callbacks\n const parser = new N3Parser(options);\n let onData, onEnd;\n parser.parse({\n on: (event, callback) => {\n switch (event) {\n case 'data': onData = callback; break;\n case 'end': onEnd = callback; break;\n }\n },\n },\n // Handle quads by pushing them down the pipeline\n (error, quad) => { error && this.emit('error', error) || quad && this.push(quad); },\n // Emit prefixes through the `prefix` event\n (prefix, uri) => { this.emit('prefix', prefix, uri); }\n );\n\n // Implement Transform methods through parser callbacks\n this._transform = (chunk, encoding, done) => { onData(chunk); done(); };\n this._flush = done => { onEnd(); done(); };\n }\n\n // ### Parses a stream of strings\n import(stream) {\n stream.on('data', chunk => { this.write(chunk); });\n stream.on('end', () => { this.end(); });\n stream.on('error', error => { this.emit('error', error); });\n return this;\n }\n}\n","// **N3StreamWriter** serializes a quad stream into a text stream.\nimport { Transform } from 'readable-stream';\nimport N3Writer from './N3Writer';\n\n// ## Constructor\nexport default class N3StreamWriter extends Transform {\n constructor(options) {\n super({ encoding: 'utf8', writableObjectMode: true });\n\n // Set up writer with a dummy stream object\n const writer = this._writer = new N3Writer({\n write: (quad, encoding, callback) => { this.push(quad); callback && callback(); },\n end: callback => { this.push(null); callback && callback(); },\n }, options);\n\n // Implement Transform methods on top of writer\n this._transform = (quad, encoding, done) => { writer.addQuad(quad, done); };\n this._flush = done => { writer.end(done); };\n }\n\n// ### Serializes a stream of quads\n import(stream) {\n stream.on('data', quad => { this.write(quad); });\n stream.on('end', () => { this.end(); });\n stream.on('error', error => { this.emit('error', error); });\n stream.on('prefix', (prefix, iri) => { this._writer.addPrefix(prefix, iri); });\n return this;\n }\n}\n","import Lexer from './N3Lexer';\nimport Parser from './N3Parser';\nimport Writer from './N3Writer';\nimport Store from './N3Store';\nimport StreamParser from './N3StreamParser';\nimport StreamWriter from './N3StreamWriter';\nimport * as Util from './N3Util';\n\nimport {\n default as DataFactory,\n\n Term,\n NamedNode,\n Literal,\n BlankNode,\n Variable,\n DefaultGraph,\n Quad,\n Triple,\n\n termFromId,\n termToId,\n} from './N3DataFactory';\n\n// Named exports\nexport {\n Lexer,\n Parser,\n Writer,\n Store,\n StreamParser,\n StreamWriter,\n Util,\n\n DataFactory,\n\n Term,\n NamedNode,\n Literal,\n BlankNode,\n Variable,\n DefaultGraph,\n Quad,\n Triple,\n\n termFromId,\n termToId,\n};\n\n// Export all named exports as a default object for backward compatibility\nexport default {\n Lexer,\n Parser,\n Writer,\n Store,\n StreamParser,\n StreamWriter,\n Util,\n\n DataFactory,\n\n Term,\n NamedNode,\n Literal,\n BlankNode,\n Variable,\n DefaultGraph,\n Quad,\n Triple,\n\n termFromId,\n termToId,\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","(function() {\n var root;\n\n\tif (typeof window === 'object' && window) {\n\t\troot = window;\n\t} else {\n\t\troot = global;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = root.Promise ? root.Promise : Promise;\n\t} else if (!root.Promise) {\n\t\troot.Promise = Promise;\n\t}\n\n\t// Use polyfill for setImmediate for performance gains\n\tvar asap = root.setImmediate || function(fn) { setTimeout(fn, 1); };\n\n\t// Polyfill for Function.prototype.bind\n\tfunction bind(fn, thisArg) {\n\t\treturn function() {\n\t\t\tfn.apply(thisArg, arguments);\n\t\t}\n\t}\n\n\tvar isArray = Array.isArray || function(value) { return Object.prototype.toString.call(value) === \"[object Array]\" };\n\n\tfunction Promise(fn) {\n\t\tif (typeof this !== 'object') throw new TypeError('Promises must be constructed via new');\n\t\tif (typeof fn !== 'function') throw new TypeError('not a function');\n\t\tthis._state = null;\n\t\tthis._value = null;\n\t\tthis._deferreds = []\n\n\t\tdoResolve(fn, bind(resolve, this), bind(reject, this))\n\t}\n\n\tfunction handle(deferred) {\n\t\tvar me = this;\n\t\tif (this._state === null) {\n\t\t\tthis._deferreds.push(deferred);\n\t\t\treturn\n\t\t}\n\t\tasap(function() {\n\t\t\tvar cb = me._state ? deferred.onFulfilled : deferred.onRejected\n\t\t\tif (cb === null) {\n\t\t\t\t(me._state ? deferred.resolve : deferred.reject)(me._value);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar ret;\n\t\t\ttry {\n\t\t\t\tret = cb(me._value);\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\tdeferred.reject(e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdeferred.resolve(ret);\n\t\t})\n\t}\n\n\tfunction resolve(newValue) {\n\t\ttry { //Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n\t\t\tif (newValue === this) throw new TypeError('A promise cannot be resolved with itself.');\n\t\t\tif (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n\t\t\t\tvar then = newValue.then;\n\t\t\t\tif (typeof then === 'function') {\n\t\t\t\t\tdoResolve(bind(then, newValue), bind(resolve, this), bind(reject, this));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._state = true;\n\t\t\tthis._value = newValue;\n\t\t\tfinale.call(this);\n\t\t} catch (e) { reject.call(this, e); }\n\t}\n\n\tfunction reject(newValue) {\n\t\tthis._state = false;\n\t\tthis._value = newValue;\n\t\tfinale.call(this);\n\t}\n\n\tfunction finale() {\n\t\tfor (var i = 0, len = this._deferreds.length; i < len; i++) {\n\t\t\thandle.call(this, this._deferreds[i]);\n\t\t}\n\t\tthis._deferreds = null;\n\t}\n\n\tfunction Handler(onFulfilled, onRejected, resolve, reject){\n\t\tthis.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n\t\tthis.onRejected = typeof onRejected === 'function' ? onRejected : null;\n\t\tthis.resolve = resolve;\n\t\tthis.reject = reject;\n\t}\n\n\t/**\n\t * Take a potentially misbehaving resolver function and make sure\n\t * onFulfilled and onRejected are only called once.\n\t *\n\t * Makes no guarantees about asynchrony.\n\t */\n\tfunction doResolve(fn, onFulfilled, onRejected) {\n\t\tvar done = false;\n\t\ttry {\n\t\t\tfn(function (value) {\n\t\t\t\tif (done) return;\n\t\t\t\tdone = true;\n\t\t\t\tonFulfilled(value);\n\t\t\t}, function (reason) {\n\t\t\t\tif (done) return;\n\t\t\t\tdone = true;\n\t\t\t\tonRejected(reason);\n\t\t\t})\n\t\t} catch (ex) {\n\t\t\tif (done) return;\n\t\t\tdone = true;\n\t\t\tonRejected(ex);\n\t\t}\n\t}\n\n\tPromise.prototype['catch'] = function (onRejected) {\n\t\treturn this.then(null, onRejected);\n\t};\n\n\tPromise.prototype.then = function(onFulfilled, onRejected) {\n\t\tvar me = this;\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\thandle.call(me, new Handler(onFulfilled, onRejected, resolve, reject));\n\t\t})\n\t};\n\n\tPromise.all = function () {\n\t\tvar args = Array.prototype.slice.call(arguments.length === 1 && isArray(arguments[0]) ? arguments[0] : arguments);\n\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tif (args.length === 0) return resolve([]);\n\t\t\tvar remaining = args.length;\n\t\t\tfunction res(i, val) {\n\t\t\t\ttry {\n\t\t\t\t\tif (val && (typeof val === 'object' || typeof val === 'function')) {\n\t\t\t\t\t\tvar then = val.then;\n\t\t\t\t\t\tif (typeof then === 'function') {\n\t\t\t\t\t\t\tthen.call(val, function (val) { res(i, val) }, reject);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\targs[i] = val;\n\t\t\t\t\tif (--remaining === 0) {\n\t\t\t\t\t\tresolve(args);\n\t\t\t\t\t}\n\t\t\t\t} catch (ex) {\n\t\t\t\t\treject(ex);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (var i = 0; i < args.length; i++) {\n\t\t\t\tres(i, args[i]);\n\t\t\t}\n\t\t});\n\t};\n\n\tPromise.resolve = function (value) {\n\t\tif (value && typeof value === 'object' && value.constructor === Promise) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn new Promise(function (resolve) {\n\t\t\tresolve(value);\n\t\t});\n\t};\n\n\tPromise.reject = function (value) {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\treject(value);\n\t\t});\n\t};\n\n\tPromise.race = function (values) {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tfor(var i = 0, len = values.length; i < len; i++) {\n\t\t\t\tvalues[i].then(resolve, reject);\n\t\t\t}\n\t\t});\n\t};\n})();","/*! queue-microtask. MIT License. Feross Aboukhadijeh */\nlet promise\n\nmodule.exports = typeof queueMicrotask === 'function'\n ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)\n // reuse resolved promise, and allocate it lazily\n : cb => (promise || (promise = Promise.resolve()))\n .then(cb)\n .catch(err => setTimeout(() => { throw err }, 0))\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/BlankNode\"), exports);\n__exportStar(require(\"./lib/DataFactory\"), exports);\n__exportStar(require(\"./lib/DefaultGraph\"), exports);\n__exportStar(require(\"./lib/Literal\"), exports);\n__exportStar(require(\"./lib/NamedNode\"), exports);\n__exportStar(require(\"./lib/Quad\"), exports);\n__exportStar(require(\"./lib/Variable\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlankNode = void 0;\n/**\n * A term that represents an RDF blank node with a label.\n */\nclass BlankNode {\n constructor(value) {\n this.termType = 'BlankNode';\n this.value = value;\n }\n equals(other) {\n return !!other && other.termType === 'BlankNode' && other.value === this.value;\n }\n}\nexports.BlankNode = BlankNode;\n//# sourceMappingURL=BlankNode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataFactory = void 0;\nconst BlankNode_1 = require(\"./BlankNode\");\nconst DefaultGraph_1 = require(\"./DefaultGraph\");\nconst Literal_1 = require(\"./Literal\");\nconst NamedNode_1 = require(\"./NamedNode\");\nconst Quad_1 = require(\"./Quad\");\nconst Variable_1 = require(\"./Variable\");\nlet dataFactoryCounter = 0;\n/**\n * A factory for instantiating RDF terms and quads.\n */\nclass DataFactory {\n constructor(options) {\n this.blankNodeCounter = 0;\n options = options || {};\n this.blankNodePrefix = options.blankNodePrefix || `df_${dataFactoryCounter++}_`;\n }\n /**\n * @param value The IRI for the named node.\n * @return A new instance of NamedNode.\n * @see NamedNode\n */\n namedNode(value) {\n return new NamedNode_1.NamedNode(value);\n }\n /**\n * @param value The optional blank node identifier.\n * @return A new instance of BlankNode.\n * If the `value` parameter is undefined a new identifier\n * for the blank node is generated for each call.\n * @see BlankNode\n */\n blankNode(value) {\n return new BlankNode_1.BlankNode(value || `${this.blankNodePrefix}${this.blankNodeCounter++}`);\n }\n /**\n * @param value The literal value.\n * @param languageOrDatatype The optional language or datatype.\n * If `languageOrDatatype` is a NamedNode,\n * then it is used for the value of `NamedNode.datatype`.\n * Otherwise `languageOrDatatype` is used for the value\n * of `NamedNode.language`.\n * @return A new instance of Literal.\n * @see Literal\n */\n literal(value, languageOrDatatype) {\n return new Literal_1.Literal(value, languageOrDatatype);\n }\n /**\n * This method is optional.\n * @param value The variable name\n * @return A new instance of Variable.\n * @see Variable\n */\n variable(value) {\n return new Variable_1.Variable(value);\n }\n /**\n * @return An instance of DefaultGraph.\n */\n defaultGraph() {\n return DefaultGraph_1.DefaultGraph.INSTANCE;\n }\n /**\n * @param subject The quad subject term.\n * @param predicate The quad predicate term.\n * @param object The quad object term.\n * @param graph The quad graph term.\n * @return A new instance of Quad.\n * @see Quad\n */\n quad(subject, predicate, object, graph) {\n return new Quad_1.Quad(subject, predicate, object, graph || this.defaultGraph());\n }\n /**\n * Create a deep copy of the given term using this data factory.\n * @param original An RDF term.\n * @return A deep copy of the given term.\n */\n fromTerm(original) {\n // TODO: remove nasty any casts when this TS bug has been fixed:\n // https://github.com/microsoft/TypeScript/issues/26933\n switch (original.termType) {\n case 'NamedNode':\n return this.namedNode(original.value);\n case 'BlankNode':\n return this.blankNode(original.value);\n case 'Literal':\n if (original.language) {\n return this.literal(original.value, original.language);\n }\n if (!original.datatype.equals(Literal_1.Literal.XSD_STRING)) {\n return this.literal(original.value, this.fromTerm(original.datatype));\n }\n return this.literal(original.value);\n case 'Variable':\n return this.variable(original.value);\n case 'DefaultGraph':\n return this.defaultGraph();\n case 'Quad':\n return this.quad(this.fromTerm(original.subject), this.fromTerm(original.predicate), this.fromTerm(original.object), this.fromTerm(original.graph));\n }\n }\n /**\n * Create a deep copy of the given quad using this data factory.\n * @param original An RDF quad.\n * @return A deep copy of the given quad.\n */\n fromQuad(original) {\n return this.fromTerm(original);\n }\n /**\n * Reset the internal blank node counter.\n */\n resetBlankNodeCounter() {\n this.blankNodeCounter = 0;\n }\n}\nexports.DataFactory = DataFactory;\n//# sourceMappingURL=DataFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultGraph = void 0;\n/**\n * A singleton term instance that represents the default graph.\n * It's only allowed to assign a DefaultGraph to the .graph property of a Quad.\n */\nclass DefaultGraph {\n constructor() {\n this.termType = 'DefaultGraph';\n this.value = '';\n // Private constructor\n }\n equals(other) {\n return !!other && other.termType === 'DefaultGraph';\n }\n}\nexports.DefaultGraph = DefaultGraph;\nDefaultGraph.INSTANCE = new DefaultGraph();\n//# sourceMappingURL=DefaultGraph.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Literal = void 0;\nconst NamedNode_1 = require(\"./NamedNode\");\n/**\n * A term that represents an RDF literal, containing a string with an optional language tag or datatype.\n */\nclass Literal {\n constructor(value, languageOrDatatype) {\n this.termType = 'Literal';\n this.value = value;\n if (typeof languageOrDatatype === 'string') {\n this.language = languageOrDatatype;\n this.datatype = Literal.RDF_LANGUAGE_STRING;\n }\n else if (languageOrDatatype) {\n this.language = '';\n this.datatype = languageOrDatatype;\n }\n else {\n this.language = '';\n this.datatype = Literal.XSD_STRING;\n }\n }\n equals(other) {\n return !!other && other.termType === 'Literal' && other.value === this.value &&\n other.language === this.language && this.datatype.equals(other.datatype);\n }\n}\nexports.Literal = Literal;\nLiteral.RDF_LANGUAGE_STRING = new NamedNode_1.NamedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#langString');\nLiteral.XSD_STRING = new NamedNode_1.NamedNode('http://www.w3.org/2001/XMLSchema#string');\n//# sourceMappingURL=Literal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NamedNode = void 0;\n/**\n * A term that contains an IRI.\n */\nclass NamedNode {\n constructor(value) {\n this.termType = 'NamedNode';\n this.value = value;\n }\n equals(other) {\n return !!other && other.termType === 'NamedNode' && other.value === this.value;\n }\n}\nexports.NamedNode = NamedNode;\n//# sourceMappingURL=NamedNode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Quad = void 0;\n/**\n * An instance of DefaultGraph represents the default graph.\n * It's only allowed to assign a DefaultGraph to the .graph property of a Quad.\n */\nclass Quad {\n constructor(subject, predicate, object, graph) {\n this.termType = 'Quad';\n this.value = '';\n this.subject = subject;\n this.predicate = predicate;\n this.object = object;\n this.graph = graph;\n }\n equals(other) {\n // `|| !other.termType` is for backwards-compatibility with old factories without RDF* support.\n return !!other && (other.termType === 'Quad' || !other.termType) &&\n this.subject.equals(other.subject) &&\n this.predicate.equals(other.predicate) &&\n this.object.equals(other.object) &&\n this.graph.equals(other.graph);\n }\n}\nexports.Quad = Quad;\n//# sourceMappingURL=Quad.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Variable = void 0;\n/**\n * A term that represents a variable.\n */\nclass Variable {\n constructor(value) {\n this.termType = 'Variable';\n this.value = value;\n }\n equals(other) {\n return !!other && other.termType === 'Variable' && other.value === this.value;\n }\n}\nexports.Variable = Variable;\n//# sourceMappingURL=Variable.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/RdfIsomorphic\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isTermGrounded = exports.termToSignature = exports.quadToSignature = exports.sha1hex = exports.hashTerm = exports.hashTerms = exports.getGraphBlankNodes = exports.uniqGraph = exports.deindexGraph = exports.indexGraph = exports.getQuadsWithoutBlankNodes = exports.getQuadsWithBlankNodes = exports.hasValue = exports.hashValues = exports.getBijectionInner = exports.getBijection = exports.isomorphic = void 0;\nconst hash_js_1 = require(\"hash.js\");\nconst rdf_string_1 = require(\"rdf-string\");\nconst rdf_terms_1 = require(\"rdf-terms\");\n/**\n * Determines if the two given graphs are isomorphic.\n *\n * @param {Quad[]} graphA An array of quads, order is not important.\n * @param {Quad[]} graphB An array of quads, order is not important.\n * @return {boolean} If the two given graphs are isomorphic.\n */\nfunction isomorphic(graphA, graphB) {\n return !!getBijection(graphA, graphB);\n}\nexports.isomorphic = isomorphic;\n/**\n * Calculate a hash of graphA blank nodes to graphB blank nodes.\n * This represents a bijection from graphA's blank nodes to graphB's blank nodes.\n *\n * @param {Quad[]} graphA An array of quads, order is not important.\n * @param {Quad[]} graphB An array of quads, order is not important.\n * @return {IBijection} A hash representing a bijection, or null if none could be found.\n */\nfunction getBijection(graphA, graphB) {\n // Check if all (non-blanknode-containing) quads in the two graphs are equal.\n // We do this by creating a hash-based index for both graphs.\n const nonBlankIndexA = indexGraph(getQuadsWithoutBlankNodes(graphA));\n const nonBlankIndexB = indexGraph(getQuadsWithoutBlankNodes(graphB));\n if (Object.keys(nonBlankIndexA).length !== Object.keys(nonBlankIndexB).length) {\n return null;\n }\n for (const key in nonBlankIndexA) {\n if (nonBlankIndexA[key] !== nonBlankIndexB[key]) {\n return null;\n }\n }\n // Pre-process data that needs to be present in each iteration of getBijectionInner.\n const blankQuadsA = uniqGraph(getQuadsWithBlankNodes(graphA));\n const blankQuadsB = uniqGraph(getQuadsWithBlankNodes(graphB));\n const blankNodesA = getGraphBlankNodes(graphA);\n const blankNodesB = getGraphBlankNodes(graphB);\n return getBijectionInner(blankQuadsA, blankQuadsB, blankNodesA, blankNodesB);\n}\nexports.getBijection = getBijection;\nfunction getBijectionInner(blankQuadsA, blankQuadsB, blankNodesA, blankNodesB, groundedHashesA, groundedHashesB) {\n if (!groundedHashesA) {\n groundedHashesA = {};\n }\n if (!groundedHashesB) {\n groundedHashesB = {};\n }\n // Hash every term based on the signature of the quads if appears in.\n const [hashesA, ungroundedHashesA] = hashTerms(blankQuadsA, blankNodesA, groundedHashesA);\n const [hashesB, ungroundedHashesB] = hashTerms(blankQuadsB, blankNodesB, groundedHashesB);\n // Break quickly if a graph contains a grounded node that is not contained in the other graph.\n if (Object.keys(hashesA).length !== Object.keys(hashesB).length) {\n return null;\n }\n for (const hashKeyA in hashesA) {\n if (!hasValue(hashesB, hashesA[hashKeyA])) {\n return null;\n }\n }\n // Map the blank nodes from graph A to the blank nodes of graph B using the created hashes.\n // Grounded hashes will also be equal, but not needed here, we will need them in the next recursion\n // (as we only recurse on grounded nodes).\n let bijection = {};\n for (const blankNodeA of blankNodesA) {\n const blankNodeAString = rdf_string_1.termToString(blankNodeA);\n const blankNodeAHash = ungroundedHashesA[blankNodeAString];\n for (const blankNodeBString in ungroundedHashesB) {\n if (ungroundedHashesB[blankNodeBString] === blankNodeAHash) {\n bijection[blankNodeAString] = blankNodeBString;\n delete ungroundedHashesB[blankNodeBString];\n break;\n }\n }\n }\n // Check if all nodes from graph A and B are present in the bijection,\n // if not, speculatively mark pairs with matching ungrounded hashes as bijected, and recurse.\n if (!arraysEqual(Object.keys(bijection).sort(), blankNodesA.map(rdf_string_1.termToString).sort())\n || !arraysEqual(hashValues(bijection).sort(), blankNodesB.map(rdf_string_1.termToString).sort())) {\n // I have not yet been able to find any pathological cases where this code is reached.\n // This may be removable, but let's wait until someone proves that.\n bijection = null;\n for (const blankNodeA of blankNodesA) {\n // Only replace ungrounded node hashes\n const blankNodeAString = rdf_string_1.termToString(blankNodeA);\n if (!hashesA[blankNodeAString]) {\n for (const blankNodeB of blankNodesB) {\n // Only replace ungrounded node hashes\n const blankNodeBString = rdf_string_1.termToString(blankNodeB);\n if (!hashesB[blankNodeBString]) {\n if (ungroundedHashesA[blankNodeAString] === ungroundedHashesB[blankNodeBString]) {\n const hash = sha1hex(blankNodeAString);\n bijection = getBijectionInner(blankQuadsA, blankQuadsB, blankNodesA, blankNodesB, Object.assign(Object.assign({}, hashesA), { [blankNodeAString]: hash }), Object.assign(Object.assign({}, hashesB), { [blankNodeBString]: hash }));\n }\n }\n }\n }\n }\n }\n return bijection;\n}\nexports.getBijectionInner = getBijectionInner;\nfunction arraysEqual(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n for (let i = array1.length; i--;) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n/**\n * Get all values from the given hash\n * @param hash A hash.\n * @return {any[]} The array of values.\n */\nfunction hashValues(hash) {\n const arr = [];\n for (const e in hash) {\n arr.push(hash[e]);\n }\n return arr;\n}\nexports.hashValues = hashValues;\n/**\n * Check if the given hash contains the given value.\n * @param hash A hash.\n * @param {string} value A value.\n * @return {boolean} If it contains the value.\n */\nfunction hasValue(hash, value) {\n for (const hashValue in hash) {\n if (hash[hashValue] === value) {\n return true;\n }\n }\n return false;\n}\nexports.hasValue = hasValue;\n/**\n * Get all quads with blank nodes.\n * @param {Quad[]} graph An array of quads.\n * @return {Quad[]} An array of quads with blank nodes\n */\nfunction getQuadsWithBlankNodes(graph) {\n return graph.filter((quad) => rdf_terms_1.someTerms(quad, (value) => {\n return value.termType === 'BlankNode'\n || (value.termType === 'Quad' && rdf_terms_1.getTermsNested(value).some(term => term.termType === 'BlankNode'));\n }));\n}\nexports.getQuadsWithBlankNodes = getQuadsWithBlankNodes;\n/**\n * Get all quads without blank nodes.\n * @param {Quad[]} graph An array of quads.\n * @return {Quad[]} An array of quads without blank nodes\n */\nfunction getQuadsWithoutBlankNodes(graph) {\n return graph.filter((quad) => rdf_terms_1.everyTerms(quad, (value) => {\n return value.termType !== 'BlankNode'\n && !(value.termType === 'Quad' && rdf_terms_1.getTermsNested(value).some(term => term.termType === 'BlankNode'));\n }));\n}\nexports.getQuadsWithoutBlankNodes = getQuadsWithoutBlankNodes;\n/**\n * Create a hash-based index of the given graph.\n * @param {Quad[]} graph An array of quads, the order does not matter.\n * @return {{[p: string]: boolean}} A hash-based datastructure representing the graph.\n */\nfunction indexGraph(graph) {\n const index = {};\n for (const quad of graph) {\n index[JSON.stringify(rdf_string_1.quadToStringQuad(quad))] = true;\n }\n return index;\n}\nexports.indexGraph = indexGraph;\n/**\n * Create a graph from the given hash-based index.\n * @param {{[p: string]: boolean}} indexedGraph A hash-based datastructure representing the graph.\n * @return {Quad[]} An array of quads, the order does not matter.\n */\nfunction deindexGraph(indexedGraph) {\n return Object.keys(indexedGraph).map((str) => rdf_string_1.stringQuadToQuad(JSON.parse(str)));\n}\nexports.deindexGraph = deindexGraph;\n/**\n * Unique-ify the given RDF graph based on strict equality.\n * The output graph will consist of new quad and term instances.\n * @param {Quad[]} graph An input graph.\n * @return {Quad[]} The input graph without duplicates.\n */\nfunction uniqGraph(graph) {\n return deindexGraph(indexGraph(graph));\n}\nexports.uniqGraph = uniqGraph;\n/**\n * Find all blank nodes in the given graph.\n * @param {Quad[]} graph An array of quads.\n * @return {BlankNode[]} A list of (unique) blank nodes.\n */\nfunction getGraphBlankNodes(graph) {\n return rdf_terms_1.uniqTerms(graph.map((quad) => rdf_terms_1.getBlankNodes(rdf_terms_1.getTermsNested(quad)))\n .reduce((acc, val) => acc.concat(val), []));\n}\nexports.getGraphBlankNodes = getGraphBlankNodes;\n/**\n * Create term hashes for the given set of quads and blank node terms.\n *\n * @param {Quad[]} quads A set of quads.\n * @param {Term[]} terms Blank node terms.\n * @param {ITermHash} groundedHashes Grounded term hashes that are used to create more specific signatures\n * of other terms, because they are based on non-blank nodes and grounded blank nodes.\n * @return {[ITermHash]} A tuple of grounded and ungrounded hashes.\n */\nfunction hashTerms(quads, terms, groundedHashes) {\n const hashes = Object.assign({}, groundedHashes);\n const ungroundedHashes = {};\n let hashNeeded = true;\n // Iteratively mark nodes as grounded.\n // If a node is marked as grounded, then the next iteration can lead to new grounded states\n while (hashNeeded) {\n const initialGroundedNodesCount = Object.keys(hashes).length;\n for (const term of terms) {\n const termString = rdf_string_1.termToString(term);\n if (!hashes[termString]) {\n const [grounded, hash] = hashTerm(term, quads, hashes);\n if (grounded) {\n hashes[termString] = hash;\n }\n ungroundedHashes[termString] = hash;\n }\n }\n // All terms that have a unique hash at this point can be marked as grounded\n const uniques = {};\n for (const termKey in ungroundedHashes) {\n const hash = ungroundedHashes[termKey];\n if (uniques[hash] === undefined) {\n uniques[hash] = termKey;\n }\n else {\n uniques[hash] = false;\n }\n }\n for (const hash in uniques) {\n const value = uniques[hash];\n if (value) {\n hashes[value] = hash;\n }\n }\n // Check if the loop needs to terminate\n hashNeeded = initialGroundedNodesCount !== Object.keys(hashes).length;\n }\n return [hashes, ungroundedHashes];\n}\nexports.hashTerms = hashTerms;\n/**\n * Generate a hash for the given term based on the signature of the quads it appears in.\n *\n * Signatures are made up of grounded terms in quads that are associated with a term,\n * i.e., everything except for ungrounded blank nodes.\n * The hash is created by hashing a sorted list of each quad's signature,\n * where each quad signature is a concatenation of the signature of all grounded terms.\n *\n * Terms are considered grounded if they are a member in the given hash AND if they are not the given term.\n *\n * @param {Term} term The term to get the hash around.\n * @param {Quad[]} quads The quads to include in the hashing.\n * @param {ITermHash} hashes A grounded term hash object.\n * @return {[boolean , string]} A tuple indicating if the given term is grounded in all the given quads, and the hash.\n */\nfunction hashTerm(term, quads, hashes) {\n const quadSignatures = [];\n let grounded = true;\n for (const quad of quads) {\n const terms = rdf_terms_1.getTermsNested(quad);\n if (terms.some((quadTerm) => quadTerm.equals(term))) {\n quadSignatures.push(quadToSignature(quad, hashes, term));\n for (const quadTerm of terms) {\n if (!isTermGrounded(quadTerm, hashes) && !quadTerm.equals(term)) {\n grounded = false;\n }\n }\n }\n }\n const hash = sha1hex(quadSignatures.sort().join(''));\n return [grounded, hash];\n}\nexports.hashTerm = hashTerm;\n/**\n * Create a hash using sha1 as a hex digest.\n * @param {string | Buffer | NodeJS.TypedArray | DataView} data Something to hash.\n * @return {string} A hash string.\n */\nfunction sha1hex(data) {\n return hash_js_1.sha1().update(data).digest('hex');\n}\nexports.sha1hex = sha1hex;\n/**\n * Convert the given quad to a string signature so that it can be used in the hash structure.\n * @param {Quad} quad A quad.\n * @param {ITermHash} hashes A grounded term hash object.\n * @param {Term} term A target term to compare with.\n * @return {string} A string signature.\n */\nfunction quadToSignature(quad, hashes, term) {\n return rdf_terms_1.getTerms(quad).map((quadTerm) => termToSignature(quadTerm, hashes, term)).join('|');\n}\nexports.quadToSignature = quadToSignature;\n/**\n * Convert the given term to a string signature so that it can be used in the hash structure.\n * @param {Term} term A term.\n * @param {ITermHash} hashes A grounded term hash object.\n * @param {Term} target A target term to compare with.\n * @return {string} A string signature.\n */\nfunction termToSignature(term, hashes, target) {\n if (term.equals(target)) {\n return '@self';\n }\n else if (term.termType === 'BlankNode') {\n return hashes[rdf_string_1.termToString(term)] || '@blank';\n }\n else if (term.termType === 'Quad') {\n return `<${quadToSignature(term, hashes, target)}>`;\n }\n else {\n return rdf_string_1.termToString(term);\n }\n}\nexports.termToSignature = termToSignature;\n/**\n * Check if a term is grounded.\n *\n * A term is grounded if it is not a blank node\n * or if it included in the given hash of grounded nodes.\n *\n * @param {Term} term A term.\n * @param {ITermHash} hashes A grounded term hash object.\n * @return {boolean} If the given term is grounded.\n */\nfunction isTermGrounded(term, hashes) {\n return (term.termType !== 'BlankNode'\n && !(term.termType === 'Quad' && rdf_terms_1.getTermsNested(term).some(subTerm => !isTermGrounded(subTerm, hashes)))) || !!hashes[rdf_string_1.termToString(term)];\n}\nexports.isTermGrounded = isTermGrounded;\n//# sourceMappingURL=RdfIsomorphic.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSupportedJavaScriptPrimitives = exports.getSupportedRdfDatatypes = exports.getTermRaw = exports.toRdf = exports.fromRdf = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst handler_1 = require(\"./lib/handler\");\nconst Translator_1 = require(\"./lib/Translator\");\n__exportStar(require(\"./lib/handler\"), exports);\n__exportStar(require(\"./lib/ITypeHandler\"), exports);\n__exportStar(require(\"./lib/Translator\"), exports);\nconst DF = new rdf_data_factory_1.DataFactory();\n// Construct translator with built-in handlers\nconst translator = new Translator_1.Translator();\ntranslator.registerHandler(new handler_1.TypeHandlerString(), handler_1.TypeHandlerString.TYPES.map(t => DF.namedNode(t)), ['string']);\ntranslator.registerHandler(new handler_1.TypeHandlerBoolean(), [handler_1.TypeHandlerBoolean.TYPE].map(t => DF.namedNode(t)), ['boolean']);\ntranslator.registerHandler(new handler_1.TypeHandlerNumberDouble(), handler_1.TypeHandlerNumberDouble.TYPES.map(t => DF.namedNode(t)), ['number']);\ntranslator.registerHandler(new handler_1.TypeHandlerNumberInteger(), handler_1.TypeHandlerNumberInteger.TYPES.map(t => DF.namedNode(t)), ['number']);\ntranslator.registerHandler(new handler_1.TypeHandlerDate(), handler_1.TypeHandlerDate.TYPES.map(t => DF.namedNode(t)), ['object']);\n/**\n * Convert the given RDF literal to an JavaScript primitive.\n * @param {Literal} literal An RDF literal value.\n * @param {boolean} validate If the literal value should be validated against the datatype.\n * @return {any} A JavaScript primitive value.\n */\nfunction fromRdf(literal, validate) {\n return translator.fromRdf(literal, validate);\n}\nexports.fromRdf = fromRdf;\n/**\n * Convert the given JavaScript primitive to an RDF literal.\n * @param value A JavaScript primitive value.\n * @param options Options for RDF conversion. May also be a data factory.\n * @return {Literal} An RDF literal value.\n */\nfunction toRdf(value, options) {\n // Backwards-compatibility to accept data factory as option arg.\n if (options && 'namedNode' in options) {\n options = { dataFactory: options };\n }\n // Set default data factory\n options = options || {};\n if (options && !options.dataFactory) {\n options.dataFactory = DF;\n }\n return translator.toRdf(value, options);\n}\nexports.toRdf = toRdf;\n/**\n * Get the raw value of the given term.\n * If it is a literal, {@link fromRdf} will be called.\n * Otherwise {@link .value} will be returned.\n * @param {Term} term Any RDF term.\n * @param {boolean} validate If the literal value should be validated against the datatype.\n * @return {any} A JavaScript primitive value.\n */\nfunction getTermRaw(term, validate) {\n if (term.termType === 'Literal') {\n return fromRdf(term, validate);\n }\n return term.value;\n}\nexports.getTermRaw = getTermRaw;\n/**\n * @return {NamedNode[]} An array of all supported RDF datatypes.\n */\nfunction getSupportedRdfDatatypes() {\n return translator.getSupportedRdfDatatypes();\n}\nexports.getSupportedRdfDatatypes = getSupportedRdfDatatypes;\n/**\n * @return {string[]} An array of all supported JavaScript types.\n */\nfunction getSupportedJavaScriptPrimitives() {\n return translator.getSupportedJavaScriptPrimitives();\n}\nexports.getSupportedJavaScriptPrimitives = getSupportedJavaScriptPrimitives;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ITypeHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Translator = void 0;\n/**\n * Translates between an RDF literal and a JavaScript primitive.\n */\nclass Translator {\n constructor() {\n this.supportedRdfDatatypes = [];\n this.fromRdfHandlers = {};\n this.toRdfHandlers = {};\n }\n static incorrectRdfDataType(literal) {\n throw new Error(`Invalid RDF ${literal.datatype.value} value: '${literal.value}'`);\n }\n registerHandler(handler, rdfDatatypes, javaScriptDataTypes) {\n for (const rdfDatatype of rdfDatatypes) {\n this.supportedRdfDatatypes.push(rdfDatatype);\n this.fromRdfHandlers[rdfDatatype.value] = handler;\n }\n for (const javaScriptDataType of javaScriptDataTypes) {\n let existingToRdfHandlers = this.toRdfHandlers[javaScriptDataType];\n if (!existingToRdfHandlers) {\n this.toRdfHandlers[javaScriptDataType] = existingToRdfHandlers = [];\n }\n existingToRdfHandlers.push(handler);\n }\n }\n fromRdf(literal, validate) {\n const handler = this.fromRdfHandlers[literal.datatype.value];\n if (handler) {\n return handler.fromRdf(literal, validate);\n }\n else {\n return literal.value;\n }\n }\n toRdf(value, options) {\n const handlers = this.toRdfHandlers[typeof value];\n if (handlers) {\n for (const handler of handlers) {\n const ret = handler.toRdf(value, options);\n if (ret) {\n return ret;\n }\n }\n }\n throw new Error(`Invalid JavaScript value: '${value}'`);\n }\n /**\n * @return {NamedNode[]} An array of all supported RDF datatypes.\n */\n getSupportedRdfDatatypes() {\n return this.supportedRdfDatatypes;\n }\n /**\n * @return {string[]} An array of all supported JavaScript types.\n */\n getSupportedJavaScriptPrimitives() {\n return Object.keys(this.toRdfHandlers);\n }\n}\nexports.Translator = Translator;\n//# sourceMappingURL=Translator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHandlerBoolean = void 0;\nconst Translator_1 = require(\"../Translator\");\n/**\n * Translates booleans.\n */\nclass TypeHandlerBoolean {\n fromRdf(literal, validate) {\n switch (literal.value) {\n case 'true':\n return true;\n case 'false':\n return false;\n case '1':\n return true;\n case '0':\n return false;\n }\n if (validate) {\n Translator_1.Translator.incorrectRdfDataType(literal);\n }\n return false;\n }\n toRdf(value, { datatype, dataFactory }) {\n return dataFactory.literal(value ? 'true' : 'false', datatype || dataFactory.namedNode(TypeHandlerBoolean.TYPE));\n }\n}\nTypeHandlerBoolean.TYPE = 'http://www.w3.org/2001/XMLSchema#boolean';\nexports.TypeHandlerBoolean = TypeHandlerBoolean;\n//# sourceMappingURL=TypeHandlerBoolean.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHandlerDate = void 0;\nconst Translator_1 = require(\"../Translator\");\n/**\n * Translates dates.\n */\nclass TypeHandlerDate {\n fromRdf(literal, validate) {\n if (validate && !literal.value.match(TypeHandlerDate\n .VALIDATORS[literal.datatype.value.substr(33, literal.datatype.value.length)])) {\n Translator_1.Translator.incorrectRdfDataType(literal);\n }\n switch (literal.datatype.value) {\n case 'http://www.w3.org/2001/XMLSchema#gDay':\n return new Date(0, 0, parseInt(literal.value, 10));\n case 'http://www.w3.org/2001/XMLSchema#gMonthDay':\n const partsMonthDay = literal.value.split('-');\n return new Date(0, parseInt(partsMonthDay[0], 10) - 1, parseInt(partsMonthDay[1], 10));\n case 'http://www.w3.org/2001/XMLSchema#gYear':\n return new Date(literal.value + '-01-01');\n case 'http://www.w3.org/2001/XMLSchema#gYearMonth':\n return new Date(literal.value + '-01');\n default:\n return new Date(literal.value);\n }\n }\n toRdf(value, { datatype, dataFactory }) {\n datatype = datatype || dataFactory.namedNode(TypeHandlerDate.TYPES[0]);\n // Assume date values\n if (!(value instanceof Date)) {\n return null;\n }\n const date = value;\n let valueString;\n switch (datatype.value) {\n case 'http://www.w3.org/2001/XMLSchema#gDay':\n valueString = String(date.getUTCDate());\n break;\n case 'http://www.w3.org/2001/XMLSchema#gMonthDay':\n valueString = (date.getUTCMonth() + 1) + '-' + date.getUTCDate();\n break;\n case 'http://www.w3.org/2001/XMLSchema#gYear':\n valueString = String(date.getUTCFullYear());\n break;\n case 'http://www.w3.org/2001/XMLSchema#gYearMonth':\n valueString = date.getUTCFullYear() + '-' + (date.getUTCMonth() + 1);\n break;\n case 'http://www.w3.org/2001/XMLSchema#date':\n valueString = date.toISOString().replace(/T.*$/, '');\n break;\n default:\n valueString = date.toISOString();\n }\n return dataFactory.literal(valueString, datatype);\n }\n}\nTypeHandlerDate.TYPES = [\n 'http://www.w3.org/2001/XMLSchema#dateTime',\n 'http://www.w3.org/2001/XMLSchema#date',\n 'http://www.w3.org/2001/XMLSchema#gDay',\n 'http://www.w3.org/2001/XMLSchema#gMonthDay',\n 'http://www.w3.org/2001/XMLSchema#gYear',\n 'http://www.w3.org/2001/XMLSchema#gYearMonth',\n];\nTypeHandlerDate.VALIDATORS = {\n date: /^[0-9]+-[0-9][0-9]-[0-9][0-9]Z?$/,\n dateTime: /^[0-9]+-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\\.[0-9][0-9][0-9])?((Z?)|([\\+-][0-9][0-9]:[0-9][0-9]))$/,\n gDay: /^[0-9]+$/,\n gMonthDay: /^[0-9]+-[0-9][0-9]$/,\n gYear: /^[0-9]+$/,\n gYearMonth: /^[0-9]+-[0-9][0-9]$/,\n};\nexports.TypeHandlerDate = TypeHandlerDate;\n//# sourceMappingURL=TypeHandlerDate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHandlerNumberDouble = void 0;\nconst Translator_1 = require(\"../Translator\");\n/**\n * Translates double numbers.\n */\nclass TypeHandlerNumberDouble {\n fromRdf(literal, validate) {\n const parsed = parseFloat(literal.value);\n if (validate) {\n if (isNaN(parsed)) {\n Translator_1.Translator.incorrectRdfDataType(literal);\n }\n // TODO: validate more\n }\n return parsed;\n }\n toRdf(value, { datatype, dataFactory }) {\n datatype = datatype || dataFactory.namedNode(TypeHandlerNumberDouble.TYPES[0]);\n if (isNaN(value)) {\n return dataFactory.literal('NaN', datatype);\n }\n if (!isFinite(value)) {\n return dataFactory.literal(value > 0 ? 'INF' : '-INF', datatype);\n }\n if (value % 1 === 0) {\n return null;\n }\n return dataFactory.literal(value.toExponential(15).replace(/(\\d)0*e\\+?/, '$1E'), datatype);\n }\n}\nTypeHandlerNumberDouble.TYPES = [\n 'http://www.w3.org/2001/XMLSchema#double',\n 'http://www.w3.org/2001/XMLSchema#decimal',\n 'http://www.w3.org/2001/XMLSchema#float',\n];\nexports.TypeHandlerNumberDouble = TypeHandlerNumberDouble;\n//# sourceMappingURL=TypeHandlerNumberDouble.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHandlerNumberInteger = void 0;\nconst Translator_1 = require(\"../Translator\");\n/**\n * Translates integer numbers.\n */\nclass TypeHandlerNumberInteger {\n fromRdf(literal, validate) {\n const parsed = parseInt(literal.value, 10);\n if (validate) {\n if (isNaN(parsed) || literal.value.indexOf('.') >= 0) {\n Translator_1.Translator.incorrectRdfDataType(literal);\n }\n // TODO: validate more\n }\n return parsed;\n }\n toRdf(value, { datatype, dataFactory }) {\n return dataFactory.literal(String(value), datatype\n || (value <= TypeHandlerNumberInteger.MAX_INT && value >= TypeHandlerNumberInteger.MIN_INT\n ? dataFactory.namedNode(TypeHandlerNumberInteger.TYPES[0])\n : dataFactory.namedNode(TypeHandlerNumberInteger.TYPES[1])));\n }\n}\nTypeHandlerNumberInteger.TYPES = [\n 'http://www.w3.org/2001/XMLSchema#integer',\n 'http://www.w3.org/2001/XMLSchema#long',\n 'http://www.w3.org/2001/XMLSchema#int',\n 'http://www.w3.org/2001/XMLSchema#byte',\n 'http://www.w3.org/2001/XMLSchema#short',\n 'http://www.w3.org/2001/XMLSchema#negativeInteger',\n 'http://www.w3.org/2001/XMLSchema#nonNegativeInteger',\n 'http://www.w3.org/2001/XMLSchema#nonPositiveInteger',\n 'http://www.w3.org/2001/XMLSchema#positiveInteger',\n 'http://www.w3.org/2001/XMLSchema#unsignedByte',\n 'http://www.w3.org/2001/XMLSchema#unsignedInt',\n 'http://www.w3.org/2001/XMLSchema#unsignedLong',\n 'http://www.w3.org/2001/XMLSchema#unsignedShort',\n];\nTypeHandlerNumberInteger.MAX_INT = 2147483647;\nTypeHandlerNumberInteger.MIN_INT = -2147483648;\nexports.TypeHandlerNumberInteger = TypeHandlerNumberInteger;\n//# sourceMappingURL=TypeHandlerNumberInteger.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeHandlerString = void 0;\n/**\n * Translates strings.\n */\nclass TypeHandlerString {\n fromRdf(literal) {\n return literal.value;\n }\n toRdf(value, { datatype, dataFactory }) {\n return dataFactory.literal(value, datatype);\n }\n}\nTypeHandlerString.TYPES = [\n 'http://www.w3.org/2001/XMLSchema#string',\n 'http://www.w3.org/2001/XMLSchema#normalizedString',\n 'http://www.w3.org/2001/XMLSchema#anyURI',\n 'http://www.w3.org/2001/XMLSchema#base64Binary',\n 'http://www.w3.org/2001/XMLSchema#language',\n 'http://www.w3.org/2001/XMLSchema#Name',\n 'http://www.w3.org/2001/XMLSchema#NCName',\n 'http://www.w3.org/2001/XMLSchema#NMTOKEN',\n 'http://www.w3.org/2001/XMLSchema#token',\n 'http://www.w3.org/2001/XMLSchema#hexBinary',\n 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString',\n 'http://www.w3.org/2001/XMLSchema#time',\n 'http://www.w3.org/2001/XMLSchema#duration',\n];\nexports.TypeHandlerString = TypeHandlerString;\n//# sourceMappingURL=TypeHandlerString.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./TypeHandlerBoolean\"), exports);\n__exportStar(require(\"./TypeHandlerDate\"), exports);\n__exportStar(require(\"./TypeHandlerNumberDouble\"), exports);\n__exportStar(require(\"./TypeHandlerNumberInteger\"), exports);\n__exportStar(require(\"./TypeHandlerString\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.storeStream = void 0;\nconst rdf_stores_1 = require(\"rdf-stores\");\n/**\n * Import all quads in the given stream into a new RDF store.\n *\n * The whole stream will be consumed for this,\n * and the promise will resolve once the stream's end event is emitted.\n *\n * @param {Stream} stream An RDF stream containing the quads to import into the store.\n * @return {Promise>} A promise resolving to an RDF store.\n */\nfunction storeStream(stream) {\n const store = rdf_stores_1.RdfStore.createDefault();\n return new Promise((resolve, reject) => store.import(stream)\n .on('error', reject)\n .once('end', () => resolve(store)));\n}\nexports.storeStream = storeStream;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/dataset/DatasetCoreWrapper\"), exports);\n__exportStar(require(\"./lib/dictionary/ITermDictionary\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionaryNumberMap\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionaryNumberRecord\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionaryNumberRecordFullTerms\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionaryQuoted\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionaryQuotedIndexed\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionaryQuotedReferential\"), exports);\n__exportStar(require(\"./lib/dictionary/TermDictionarySymbol\"), exports);\n__exportStar(require(\"./lib/index/IRdfStoreIndex\"), exports);\n__exportStar(require(\"./lib/index/RdfStoreIndexNestedMap\"), exports);\n__exportStar(require(\"./lib/index/RdfStoreIndexNestedMapQuoted\"), exports);\n__exportStar(require(\"./lib/index/RdfStoreIndexNestedMapRecursive\"), exports);\n__exportStar(require(\"./lib/index/RdfStoreIndexNestedMapRecursiveQuoted\"), exports);\n__exportStar(require(\"./lib/index/RdfStoreIndexNestedRecord\"), exports);\n__exportStar(require(\"./lib/index/RdfStoreIndexNestedRecordQuoted\"), exports);\n__exportStar(require(\"./lib/IRdfStoreOptions\"), exports);\n__exportStar(require(\"./lib/OrderUtils\"), exports);\n__exportStar(require(\"./lib/PatternTerm\"), exports);\n__exportStar(require(\"./lib/RdfStore\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IRdfStoreOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arePatternsQuoted = exports.quadHasVariables = exports.quadToPattern = exports.encodeOptionalTerms = exports.orderQuadComponents = exports.getComponentOrderScore = exports.getBestIndex = exports.QUAD_TERM_NAMES_INVERSE = void 0;\nconst rdf_terms_1 = require(\"rdf-terms\");\nexports.QUAD_TERM_NAMES_INVERSE = Object.fromEntries(rdf_terms_1.QUAD_TERM_NAMES.map((value, key) => [value, key]));\n/**\n * Determine the best suitable order's index among the given orders for the given quad pattern.\n * @param componentOrders Possible orders of quad components.\n * @param quadPattern A quad pattern.\n */\nfunction getBestIndex(componentOrders, quadPattern) {\n if (componentOrders.length === 1 || quadPattern.every(term => term !== undefined)) {\n return 0;\n }\n // Determine the quad component names for which we require a defined lookup\n const definedQuadComponentNames = [];\n for (let quadComponentId = 0; quadComponentId < rdf_terms_1.QUAD_TERM_NAMES.length; quadComponentId++) {\n if (quadPattern[quadComponentId]) {\n definedQuadComponentNames.push(rdf_terms_1.QUAD_TERM_NAMES[quadComponentId]);\n }\n }\n // Score indexes by how well they match to the index\n const scoredIndexes = componentOrders.map((componentOrder, index) => {\n const score = getComponentOrderScore(componentOrder, definedQuadComponentNames);\n return { score, index };\n });\n // Sort the indexes, and pick the first one\n return scoredIndexes.sort((scoredLeft, scoredRight) => scoredRight.score - scoredLeft.score)[0].index;\n}\nexports.getBestIndex = getBestIndex;\n/**\n * Determine the score of the given partial component order in the given component order.\n * @param componentOrder A quad component order.\n * @param partialComponentOrder A partial quad component order that originates from a quad pattern.\n */\nfunction getComponentOrderScore(componentOrder, partialComponentOrder) {\n return componentOrder\n .map((order, i) => partialComponentOrder.includes(order) ? componentOrder.length - i : 0)\n .reduce((acc, add) => acc + add, 0);\n}\nexports.getComponentOrderScore = getComponentOrderScore;\n/**\n * Order a quad pattern's terms based on the given component order.\n * @param desiredComponentOrder The desired order of components.\n * @param quadPattern A quad pattern.\n */\nfunction orderQuadComponents(desiredComponentOrder, quadPattern) {\n return desiredComponentOrder.map(desiredComponent => {\n const desiredComponentIndex = exports.QUAD_TERM_NAMES_INVERSE[desiredComponent];\n return quadPattern[desiredComponentIndex];\n });\n}\nexports.orderQuadComponents = orderQuadComponents;\n/**\n * Encode the given array of quad terms.\n * @param terms Non-encoded quad terms.\n * @param dictionary A dictionary\n * @return array An array of encoded terms.\n * The array will be undefined if at least one of the patterns does not occur within the dictionary.\n */\nfunction encodeOptionalTerms(terms, dictionary) {\n const encodedTerms = terms.map(term => {\n if (term) {\n if (term.termType === 'Quad' && quadHasVariables(term)) {\n return;\n }\n const encodedTerm = dictionary.encodeOptional(term);\n if (encodedTerm === undefined) {\n return 'none';\n }\n return encodedTerm;\n }\n return term;\n });\n if (encodedTerms.includes('none')) {\n return undefined;\n }\n return encodedTerms;\n}\nexports.encodeOptionalTerms = encodeOptionalTerms;\n/**\n * Convert a quad patter to a `QuadPatternTerms` type.\n * @param subject The subject.\n * @param predicate The predicate.\n * @param object The object.\n * @param graph The graph.\n * @param quotedPatterns If the index supports quoted triple filtering.\n * @return Tuple A tuple of QuadPatternTerms\n * and a boolean indicating if post-filtering will be needed on quoted triples.\n * This boolean can only be true if `quotedPatterns` is false, and a quoted triple pattern was present.\n */\nfunction quadToPattern(subject, predicate, object, graph, quotedPatterns) {\n let requireQuotedTripleFiltering = false;\n const quadPatternTerms = [subject || undefined, predicate || undefined, object || undefined, graph || undefined]\n .map(term => {\n if (term) {\n if (term.termType === 'Variable') {\n return;\n }\n if (term.termType === 'Quad') {\n if (quotedPatterns) {\n return term;\n }\n requireQuotedTripleFiltering = true;\n return;\n }\n }\n return term;\n });\n return [quadPatternTerms, requireQuotedTripleFiltering];\n}\nexports.quadToPattern = quadToPattern;\n/**\n * Check if the given quad contains variables, even in deeply nested quoted triples.\n * @param currentTerm The quad pattern term.\n */\nfunction quadHasVariables(currentTerm) {\n for (const component of rdf_terms_1.QUAD_TERM_NAMES) {\n const subTerm = currentTerm[component];\n if (subTerm.termType === 'Variable' || (subTerm.termType === 'Quad' && quadHasVariables(subTerm))) {\n return true;\n }\n }\n return false;\n}\nexports.quadHasVariables = quadHasVariables;\n/**\n * Create a boolean array indicating which terms are quoted triple patterns.\n * @param terms An array of terms.\n */\nfunction arePatternsQuoted(terms) {\n return terms.map(term => (term === null || term === void 0 ? void 0 : term.termType) === 'Quad' && quadHasVariables(term));\n}\nexports.arePatternsQuoted = arePatternsQuoted;\n//# sourceMappingURL=OrderUtils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=PatternTerm.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStore = void 0;\nconst asynciterator_1 = require(\"asynciterator\");\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst DatasetCoreWrapper_1 = require(\"./dataset/DatasetCoreWrapper\");\nconst TermDictionaryNumberRecordFullTerms_1 = require(\"./dictionary/TermDictionaryNumberRecordFullTerms\");\nconst TermDictionaryQuotedIndexed_1 = require(\"./dictionary/TermDictionaryQuotedIndexed\");\nconst RdfStoreIndexNestedMapQuoted_1 = require(\"./index/RdfStoreIndexNestedMapQuoted\");\nconst OrderUtils_1 = require(\"./OrderUtils\");\n/**\n * An RDF store allows quads to be stored and fetched, based on one or more customizable indexes.\n */\nclass RdfStore {\n constructor(options) {\n this.features = { quotedTripleFiltering: true };\n this._size = 0;\n this.options = options;\n this.dataFactory = options.dataFactory;\n this.dictionary = options.dictionary;\n this.indexesWrapped = RdfStore.constructIndexesWrapped(options);\n this.indexesWrappedComponentOrders = this.indexesWrapped.map(indexThis => indexThis.componentOrder);\n }\n /**\n * Create an RDF store with default settings.\n * Concretely, this store stores triples in GSPO, GPOS, and GOSP order,\n * and makes use of in-memory number dictionary encoding.\n */\n static createDefault() {\n return new RdfStore({\n indexCombinations: RdfStore.DEFAULT_INDEX_COMBINATIONS,\n indexConstructor: subOptions => new RdfStoreIndexNestedMapQuoted_1.RdfStoreIndexNestedMapQuoted(subOptions),\n dictionary: new TermDictionaryQuotedIndexed_1.TermDictionaryQuotedIndexed(new TermDictionaryNumberRecordFullTerms_1.TermDictionaryNumberRecordFullTerms()),\n dataFactory: new rdf_data_factory_1.DataFactory(),\n });\n }\n /**\n * Internal helper to create index objects.\n * @param options The RDF store options object.\n */\n static constructIndexesWrapped(options) {\n const indexes = [];\n if (options.indexCombinations.length === 0) {\n throw new Error('At least one index combination is required');\n }\n for (const componentOrder of options.indexCombinations) {\n if (!RdfStore.isCombinationValid(componentOrder)) {\n throw new Error(`Invalid index combination: ${componentOrder}`);\n }\n indexes.push({\n index: options.indexConstructor(options),\n componentOrder,\n componentOrderInverse: Object.fromEntries(componentOrder.map((value, key) => [value, key])),\n });\n }\n return indexes;\n }\n /**\n * Check if a given quad term order is valid.\n * @param combination A quad term order.\n */\n static isCombinationValid(combination) {\n for (const quadTermName of rdf_terms_1.QUAD_TERM_NAMES) {\n if (!combination.includes(quadTermName)) {\n return false;\n }\n }\n return combination.length === 4;\n }\n /**\n * The number of quads in this store.\n */\n get size() {\n return this._size;\n }\n /**\n * Add a quad to the store.\n * @param quad An RDF quad.\n * @return boolean If the quad was not yet present in the index.\n */\n addQuad(quad) {\n const quadEncoded = [\n this.dictionary.encode(quad.subject),\n this.dictionary.encode(quad.predicate),\n this.dictionary.encode(quad.object),\n this.dictionary.encode(quad.graph),\n ];\n let newQuad = false;\n for (const indexWrapped of this.indexesWrapped) {\n // Before sending the quad to the index, make sure its components are ordered corresponding to the index's order.\n newQuad = indexWrapped.index\n .set((0, OrderUtils_1.orderQuadComponents)(indexWrapped.componentOrder, quadEncoded), true);\n }\n if (newQuad) {\n this._size++;\n return true;\n }\n return false;\n }\n /**\n * Remove a quad from the store.\n * @param quad An RDF quad.\n * @return boolean If the quad was present in the index.\n */\n removeQuad(quad) {\n const quadEncoded = [\n this.dictionary.encodeOptional(quad.subject),\n this.dictionary.encodeOptional(quad.predicate),\n this.dictionary.encodeOptional(quad.object),\n this.dictionary.encodeOptional(quad.graph),\n ];\n // We can quickly return false if the quad is not present in the dictionary\n // eslint-disable-next-line unicorn/no-useless-undefined\n if (quadEncoded.includes(undefined)) {\n return false;\n }\n let wasPresent = false;\n for (const indexWrapped of this.indexesWrapped) {\n // Before sending the quad to the index, make sure its components are ordered corresponding to the index's order.\n wasPresent = indexWrapped.index\n .remove((0, OrderUtils_1.orderQuadComponents)(indexWrapped.componentOrder, quadEncoded));\n if (!wasPresent) {\n break;\n }\n }\n if (wasPresent) {\n this._size--;\n return true;\n }\n return false;\n }\n /**\n * Removes all streamed quads.\n * @param stream A stream of quads\n */\n remove(stream) {\n stream.on('data', quad => this.removeQuad(quad));\n return stream;\n }\n /**\n * All quads matching the pattern will be removed.\n * @param subject The optional subject.\n * @param predicate The optional predicate.\n * @param object The optional object.\n * @param graph The optional graph.\n */\n removeMatches(subject, predicate, object, graph) {\n return this.remove(this.match(subject, predicate, object, graph));\n }\n /**\n * Deletes the given named graph.\n * @param graph The graph term or string to match.\n */\n deleteGraph(graph) {\n if (typeof graph === 'string') {\n graph = this.dataFactory.namedNode(graph);\n }\n return this.removeMatches(undefined, undefined, undefined, graph);\n }\n /**\n * Import the given stream of quads into the store.\n * @param stream A stream of RDF quads.\n */\n import(stream) {\n stream.on('data', (quad) => this.addQuad(quad));\n return stream;\n }\n /**\n * Returns a generator producing all quads matching the pattern.\n * @param subject The optional subject.\n * @param predicate The optional predicate.\n * @param object The optional object.\n * @param graph The optional graph.\n */\n *readQuads(subject, predicate, object, graph) {\n // Check if our dictionary and our indexes have quoted pattern support\n const indexesSupportQuotedPatterns = Boolean(this.dictionary.features.quotedTriples) &&\n Object.values(this.indexesWrapped).every(wrapped => wrapped.index.features.quotedTripleFiltering);\n // Construct a quad pattern array\n const [quadComponents, requireQuotedTripleFiltering] = (0, OrderUtils_1.quadToPattern)(subject, predicate, object, graph, indexesSupportQuotedPatterns);\n // Determine the best index for this pattern\n const indexWrapped = this.indexesWrapped[(0, OrderUtils_1.getBestIndex)(this.indexesWrappedComponentOrders, quadComponents)];\n // Re-order the quad pattern based on this best index's component order\n const quadComponentsOrdered = (0, OrderUtils_1.orderQuadComponents)(indexWrapped.componentOrder, quadComponents);\n // Call the best index's find method.\n // eslint-disable-next-line unicorn/no-array-callback-reference\n for (const decomposedQuad of indexWrapped.index.find(quadComponentsOrdered)) {\n // De-order the resulting quad components into the normal SPOG order for quad creation.\n const quad = this.dataFactory.quad(decomposedQuad[indexWrapped.componentOrderInverse.subject], decomposedQuad[indexWrapped.componentOrderInverse.predicate], decomposedQuad[indexWrapped.componentOrderInverse.object], decomposedQuad[indexWrapped.componentOrderInverse.graph]);\n if (requireQuotedTripleFiltering) {\n if ((0, rdf_terms_1.matchPattern)(quad, subject, predicate, object, graph)) {\n yield quad;\n }\n }\n else {\n yield quad;\n }\n }\n }\n /**\n * Returns an array containing all quads matching the pattern.\n * @param subject The optional subject.\n * @param predicate The optional predicate.\n * @param object The optional object.\n * @param graph The optional graph.\n */\n getQuads(subject, predicate, object, graph) {\n return [...this.readQuads(subject, predicate, object, graph)];\n }\n /**\n * Returns a stream that produces all quads matching the pattern.\n * @param subject The optional subject.\n * @param predicate The optional predicate.\n * @param object The optional object.\n * @param graph The optional graph.\n */\n match(subject, predicate, object, graph) {\n return (0, asynciterator_1.wrap)(this.readQuads(subject, predicate, object, graph));\n }\n /**\n * Returns the exact cardinality of the quads matching the pattern.\n * @param subject The optional subject.\n * @param predicate The optional predicate.\n * @param object The optional object.\n * @param graph The optional graph.\n */\n countQuads(subject, predicate, object, graph) {\n // Check if our dictionary and our indexes have quoted pattern support\n const indexesSupportQuotedPatterns = Boolean(this.dictionary.features.quotedTriples) &&\n Object.values(this.indexesWrapped).every(wrapped => wrapped.index.features.quotedTripleFiltering);\n // Construct a quad pattern array\n const [quadComponents] = (0, OrderUtils_1.quadToPattern)(subject, predicate, object, graph, indexesSupportQuotedPatterns);\n // Optimize all-variables pattern\n if (quadComponents.every(quadComponent => quadComponent === undefined)) {\n return this.size;\n }\n // Determine the best index for this pattern\n const indexWrapped = this.indexesWrapped[(0, OrderUtils_1.getBestIndex)(this.indexesWrappedComponentOrders, quadComponents)];\n // Re-order the quad pattern based on this best index's component order\n const quadComponentsOrdered = (0, OrderUtils_1.orderQuadComponents)(indexWrapped.componentOrder, quadComponents);\n // Call the best index's count method.\n return indexWrapped.index.count(quadComponentsOrdered);\n }\n /**\n * Wrap this store inside a DatasetCore interface.\n * Any mutations in either this store or the wrapper will propagate to each other.\n */\n asDataset() {\n return new DatasetCoreWrapper_1.DatasetCoreWrapper(this);\n }\n}\nRdfStore.DEFAULT_INDEX_COMBINATIONS = [\n ['graph', 'subject', 'predicate', 'object'],\n ['graph', 'predicate', 'object', 'subject'],\n ['graph', 'object', 'subject', 'predicate'],\n];\nexports.RdfStore = RdfStore;\n//# sourceMappingURL=RdfStore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DatasetCoreWrapper = void 0;\nconst RdfStore_1 = require(\"../RdfStore\");\n/**\n * A DatasetCoreWrapper exposes an RdfStore inside an RDF.DatasetCore.\n */\nclass DatasetCoreWrapper {\n constructor(store) {\n this.store = store;\n }\n get size() {\n return this.store.size;\n }\n add(quad) {\n this.store.addQuad(quad);\n return this;\n }\n delete(quad) {\n this.store.removeQuad(quad);\n return this;\n }\n has(quad) {\n // eslint-disable-next-line no-unreachable-loop\n for (const result of this.store.readQuads(quad.subject, quad.predicate, quad.object, quad.graph)) {\n return true;\n }\n return false;\n }\n match(subject, predicate, object, graph) {\n const newStore = new RdfStore_1.RdfStore(this.store.options);\n for (const quad of this.store.readQuads(subject, predicate, object, graph)) {\n newStore.addQuad(quad);\n }\n return new DatasetCoreWrapper(newStore);\n }\n [Symbol.iterator]() {\n return this.store.readQuads();\n }\n}\nexports.DatasetCoreWrapper = DatasetCoreWrapper;\n//# sourceMappingURL=DatasetCoreWrapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ITermDictionary.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionaryNumberMap = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A term dictionary that encodes to numbers, and stores the dictionary in memory in a Map.\n */\nclass TermDictionaryNumberMap {\n constructor(dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.lastId = 0;\n this.dictionary = new Map();\n this.reverseDictionary = new Map();\n this.features = { quotedTriples: false };\n this.dataFactory = dataFactory;\n }\n encode(term) {\n const key = (0, rdf_string_1.termToString)(term);\n let encoded = this.dictionary.get(key);\n if (encoded === undefined) {\n encoded = this.lastId++;\n this.dictionary.set(key, encoded);\n this.reverseDictionary.set(encoded, key);\n }\n return encoded;\n }\n encodeOptional(term) {\n const key = (0, rdf_string_1.termToString)(term);\n return this.dictionary.get(key);\n }\n decode(encoding) {\n const string = this.reverseDictionary.get(encoding);\n if (string === undefined) {\n throw new Error(`The value ${encoding} is not present in this dictionary`);\n }\n return (0, rdf_string_1.stringToTerm)(string, this.dataFactory);\n }\n encodings() {\n return this.reverseDictionary.keys();\n }\n findQuotedTriples(quotedTriplePattern) {\n throw new Error('findQuotedTriples is not supported');\n }\n findQuotedTriplesEncoded(quotedTriplePattern) {\n throw new Error('findQuotedTriplesEncoded is not supported');\n }\n}\nexports.TermDictionaryNumberMap = TermDictionaryNumberMap;\n//# sourceMappingURL=TermDictionaryNumberMap.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionaryNumberRecord = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A term dictionary that encodes to numbers, and stores the dictionary in memory in a Record.\n */\nclass TermDictionaryNumberRecord {\n constructor(dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.lastId = 0;\n this.dictionary = {};\n this.reverseDictionary = {};\n this.features = { quotedTriples: false };\n this.dataFactory = dataFactory;\n }\n encode(term) {\n const key = (0, rdf_string_1.termToString)(term);\n let encoded = this.dictionary[key];\n if (encoded === undefined) {\n encoded = this.lastId++;\n this.dictionary[key] = encoded;\n this.reverseDictionary[encoded] = key;\n }\n return encoded;\n }\n encodeOptional(term) {\n const key = (0, rdf_string_1.termToString)(term);\n return this.dictionary[key];\n }\n decode(encoding) {\n const string = this.reverseDictionary[encoding];\n if (string === undefined) {\n throw new Error(`The value ${encoding} is not present in this dictionary`);\n }\n return (0, rdf_string_1.stringToTerm)(string, this.dataFactory);\n }\n *encodings() {\n for (const key of Object.keys(this.reverseDictionary)) {\n yield Number.parseInt(key, 10);\n }\n }\n findQuotedTriples(quotedTriplePattern) {\n throw new Error('findQuotedTriples is not supported');\n }\n findQuotedTriplesEncoded(quotedTriplePattern) {\n throw new Error('findQuotedTriplesEncoded is not supported');\n }\n}\nexports.TermDictionaryNumberRecord = TermDictionaryNumberRecord;\n//# sourceMappingURL=TermDictionaryNumberRecord.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionaryNumberRecordFullTerms = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A term dictionary that encodes to numbers, and stores the dictionary in memory in a Record.\n * The reverse dictionary will store full RDF term objects,\n * resulting in slightly better query performance at the cost of slightly higher memory usage.\n */\nclass TermDictionaryNumberRecordFullTerms {\n constructor(dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.lastId = 0;\n this.dictionary = {};\n this.reverseDictionary = {};\n this.features = { quotedTriples: false };\n this.dataFactory = dataFactory;\n }\n encode(term) {\n const key = (0, rdf_string_1.termToString)(term);\n let encoded = this.dictionary[key];\n if (encoded === undefined) {\n encoded = this.lastId++;\n this.dictionary[key] = encoded;\n this.reverseDictionary[encoded] = term;\n }\n return encoded;\n }\n encodeOptional(term) {\n const key = (0, rdf_string_1.termToString)(term);\n return this.dictionary[key];\n }\n decode(encoding) {\n const string = this.reverseDictionary[encoding];\n if (string === undefined) {\n throw new Error(`The value ${encoding} is not present in this dictionary`);\n }\n return string;\n }\n *encodings() {\n for (const key of Object.keys(this.reverseDictionary)) {\n yield Number.parseInt(key, 10);\n }\n }\n findQuotedTriples(quotedTriplePattern) {\n throw new Error('findQuotedTriples is not supported');\n }\n findQuotedTriplesEncoded(quotedTriplePattern) {\n throw new Error('findQuotedTriplesEncoded is not supported');\n }\n}\nexports.TermDictionaryNumberRecordFullTerms = TermDictionaryNumberRecordFullTerms;\n//# sourceMappingURL=TermDictionaryNumberRecordFullTerms.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionaryQuoted = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_terms_1 = require(\"rdf-terms\");\n/**\n * A term dictionary for quoted triples.\n *\n * Plain terms and quoted triples are stored in separate dictionaries.\n *\n * Finding quoted triples is done by iterating over all quoted triples, and filtering by the matching ones.\n */\nclass TermDictionaryQuoted {\n constructor(plainTermDictionary, quotedTriplesDictionary, dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.features = { quotedTriples: true };\n this.plainTermDictionary = plainTermDictionary;\n this.quotedTriplesDictionary = quotedTriplesDictionary;\n this.dataFactory = dataFactory;\n }\n encode(term) {\n if (term.termType === 'Quad') {\n // Mask MSB to indicate that the encoding should refer to the quoted triples dictionary.\n return TermDictionaryQuoted.BITMASK | (1 + this.quotedTriplesDictionary.encode(term));\n }\n return this.plainTermDictionary.encode(term);\n }\n encodeOptional(term) {\n if (term.termType === 'Quad') {\n const encoding = this.quotedTriplesDictionary.encodeOptional(term);\n if (encoding === undefined) {\n return encoding;\n }\n // Mask MSB to indicate that the encoding should refer to the quoted triples dictionary.\n return TermDictionaryQuoted.BITMASK | (1 + encoding);\n }\n return this.plainTermDictionary.encodeOptional(term);\n }\n decode(encoding) {\n if (TermDictionaryQuoted.BITMASK & encoding) {\n // Term comes from the quoted triples dictionary\n const encodingBase = (~TermDictionaryQuoted.BITMASK & encoding) - 1;\n return this.quotedTriplesDictionary.decode(encodingBase);\n }\n // Term comes from the plain terms dictionary\n return this.plainTermDictionary.decode(encoding);\n }\n *encodings() {\n for (const encoding of this.plainTermDictionary.encodings()) {\n yield encoding;\n }\n for (const encoding of this.quotedTriplesDictionary.encodings()) {\n yield TermDictionaryQuoted.BITMASK | (1 + encoding);\n }\n }\n *findQuotedTriples(quotedTriplePattern) {\n for (const termEncoded of this.findQuotedTriplesEncoded(quotedTriplePattern)) {\n yield this.decode(termEncoded);\n }\n }\n *findQuotedTriplesEncoded(quotedTriplePattern) {\n for (let encodedQuotedTriple of this.quotedTriplesDictionary.encodings()) {\n encodedQuotedTriple = TermDictionaryQuoted.BITMASK | (1 + encodedQuotedTriple);\n const quotedTriple = this.decode(encodedQuotedTriple);\n if ((0, rdf_terms_1.matchPattern)(quotedTriple, quotedTriplePattern.subject, quotedTriplePattern.predicate, quotedTriplePattern.object, quotedTriplePattern.graph)) {\n yield encodedQuotedTriple;\n }\n }\n }\n}\nTermDictionaryQuoted.BITMASK = 1 << 31;\nexports.TermDictionaryQuoted = TermDictionaryQuoted;\n//# sourceMappingURL=TermDictionaryQuoted.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionaryQuotedIndexed = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst RdfStoreIndexNestedMap_1 = require(\"../index/RdfStoreIndexNestedMap\");\nconst OrderUtils_1 = require(\"../OrderUtils\");\n/**\n * A term dictionary for quoted triples.\n *\n * Plain terms are stored in a regular dictionary.\n * Quoted triples are stored separately using an index, which is backed the same dictionary.\n *\n * Finding quoted triples is done through indexed lookups.\n */\nclass TermDictionaryQuotedIndexed {\n constructor(rawTermDictionary, dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.quotedTriplesDictionary = [];\n this.features = { quotedTriples: true };\n this.plainTermDictionary = rawTermDictionary;\n const subIndexOpts = {\n // Not required\n indexCombinations: [],\n // Not required\n indexConstructor: undefined,\n dictionary: this,\n dataFactory,\n };\n this.quotedTriplesReverseDictionaries = [\n new RdfStoreIndexNestedMap_1.RdfStoreIndexNestedMap(subIndexOpts),\n new RdfStoreIndexNestedMap_1.RdfStoreIndexNestedMap(subIndexOpts),\n new RdfStoreIndexNestedMap_1.RdfStoreIndexNestedMap(subIndexOpts),\n ];\n this.dataFactory = dataFactory;\n }\n encode(term) {\n if (term.termType === 'Quad') {\n return this.encodeQuotedTriple(term, false);\n }\n return this.plainTermDictionary.encode(term);\n }\n encodeQuotedTriple(quad, optional) {\n // Only quoted triples are supported\n if (quad.graph.termType !== 'DefaultGraph') {\n throw new Error('Encoding of quoted quads outside of the default graph is not allowed');\n }\n // Check if the quad was already encoded\n const encodedTripleOptional = (0, OrderUtils_1.encodeOptionalTerms)([quad.subject, quad.predicate, quad.object, quad.graph], this);\n const id = encodedTripleOptional && encodedTripleOptional.every(encoded => encoded !== undefined) ?\n this.quotedTriplesReverseDictionaries[0].getEncoded(encodedTripleOptional) :\n undefined;\n // Return the encoding if we found one\n if (id !== undefined || optional) {\n // Mask MSB to indicate that the encoding should refer to the quoted triples dictionary.\n return (id === undefined ? undefined : TermDictionaryQuotedIndexed.BITMASK | id);\n }\n // If the quad was not encoded yet, add a new entry for it in the dictionary.\n const encodedTriple = [\n this.encode(quad.subject),\n this.encode(quad.predicate),\n this.encode(quad.object),\n ];\n const encodingBase = this.quotedTriplesDictionary.length + 1;\n this.quotedTriplesDictionary.push(encodedTriple);\n const encodedGraph = this.encode(this.dataFactory.defaultGraph());\n this.quotedTriplesReverseDictionaries[0].set([\n encodedTriple[0],\n encodedTriple[1],\n encodedTriple[2],\n encodedGraph,\n ], encodingBase);\n this.quotedTriplesReverseDictionaries[1].set([\n encodedTriple[1],\n encodedTriple[2],\n encodedTriple[0],\n encodedGraph,\n ], encodingBase);\n this.quotedTriplesReverseDictionaries[2].set([\n encodedTriple[2],\n encodedTriple[0],\n encodedTriple[1],\n encodedGraph,\n ], encodingBase);\n // Mask MSB to indicate that the encoding should refer to the quoted triples dictionary.\n return TermDictionaryQuotedIndexed.BITMASK | encodingBase;\n }\n encodeOptional(term) {\n if (term.termType === 'Quad') {\n return this.encodeQuotedTriple(term, true);\n }\n return this.plainTermDictionary.encodeOptional(term);\n }\n decode(encoding) {\n if (TermDictionaryQuotedIndexed.BITMASK & encoding) {\n // Term comes from the quoted triples dictionary\n const encodingBase = (~TermDictionaryQuotedIndexed.BITMASK & encoding) - 1;\n if (encodingBase >= this.quotedTriplesDictionary.length) {\n throw new Error(`The value ${encoding} is not present in the quoted triples range of the dictionary`);\n }\n const encodedTerms = this.quotedTriplesDictionary[encodingBase];\n return this.dataFactory.quad(this.decode(encodedTerms[0]), this.decode(encodedTerms[1]), this.decode(encodedTerms[2]));\n }\n // Term comes from the plain terms dictionary\n return this.plainTermDictionary.decode(encoding);\n }\n *encodings() {\n for (const encoding of this.plainTermDictionary.encodings()) {\n yield encoding;\n }\n for (const encoding of this.quotedTriplesDictionary.keys()) {\n yield TermDictionaryQuotedIndexed.BITMASK | (1 + encoding);\n }\n }\n *findQuotedTriples(quotedTriplePattern) {\n for (const termEncoded of this.findQuotedTriplesEncoded(quotedTriplePattern)) {\n yield this.decode(termEncoded);\n }\n }\n *findQuotedTriplesEncoded(quotedTriplePattern) {\n const [patternIn, requireQuotedTripleFiltering] = (0, OrderUtils_1.quadToPattern)(quotedTriplePattern.subject, quotedTriplePattern.predicate, quotedTriplePattern.object, quotedTriplePattern.graph, true);\n // Find all matching terms iteratively\n for (const termS of this.patternToIterable(patternIn[0])) {\n for (const termP of this.patternToIterable(patternIn[1])) {\n for (const termO of this.patternToIterable(patternIn[2])) {\n for (const termG of this.patternToIterable(patternIn[3])) {\n // Find all terms matching the pattern from the reverse indexes\n // We select the reverse index according to the current triple pattern\n if ((termS && termP) || (!termP && !termO)) {\n // SPO\n const pattern = [termS, termP, termO, termG];\n for (const termEncoded of this.quotedTriplesReverseDictionaries[0].findEncoded(pattern, patternIn)) {\n yield TermDictionaryQuotedIndexed.BITMASK |\n this.quotedTriplesReverseDictionaries[0].getEncoded(termEncoded);\n }\n }\n else if (!termS && termP) {\n // POS\n const pattern = [termP, termO, termS, termG];\n for (const termEncoded of this.quotedTriplesReverseDictionaries[1].findEncoded(pattern, patternIn)) {\n yield TermDictionaryQuotedIndexed.BITMASK |\n this.quotedTriplesReverseDictionaries[1].getEncoded(termEncoded);\n }\n }\n else {\n // OSP\n const pattern = [termO, termS, termP, termG];\n for (const termEncoded of this.quotedTriplesReverseDictionaries[2].findEncoded(pattern, patternIn)) {\n yield TermDictionaryQuotedIndexed.BITMASK |\n this.quotedTriplesReverseDictionaries[2].getEncoded(termEncoded);\n }\n }\n }\n }\n }\n }\n }\n /**\n * Helper function to convert a term to an iterator over encoded terms.\n * @param patternTerm A term.\n * @protected\n */\n *patternToIterable(patternTerm) {\n // If the term is another quoted quad, recursively find other quoted triples\n if ((patternTerm === null || patternTerm === void 0 ? void 0 : patternTerm.termType) === 'Quad') {\n yield* this.findQuotedTriplesEncoded(patternTerm);\n return;\n }\n // Undefined terms indicate a variable\n if (patternTerm === undefined) {\n // eslint-disable-next-line unicorn/no-useless-undefined\n yield undefined;\n return;\n }\n // Defined terms indicate a precise match\n const enc = this.encodeOptional(patternTerm);\n if (enc === undefined) {\n return;\n }\n yield enc;\n }\n}\nTermDictionaryQuotedIndexed.BITMASK = 1 << 31;\nexports.TermDictionaryQuotedIndexed = TermDictionaryQuotedIndexed;\n//# sourceMappingURL=TermDictionaryQuotedIndexed.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionaryQuotedReferential = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_terms_1 = require(\"rdf-terms\");\nconst OrderUtils_1 = require(\"../OrderUtils\");\n/**\n * A term dictionary for quoted triples.\n *\n * Plain terms and quoted triples are stored in separate dictionaries,\n * but quoted triples are encoded using encodings from the plain term dictionary.\n *\n * Finding quoted triples is done by iterating over all quoted triples, and filtering by the matching ones.\n */\nclass TermDictionaryQuotedReferential {\n constructor(plainTermDictionary, dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.quotedTriplesDictionary = [];\n this.quotedTriplesReverseDictionary = {};\n this.features = { quotedTriples: true };\n this.plainTermDictionary = plainTermDictionary;\n this.dataFactory = dataFactory;\n }\n encode(term) {\n if (term.termType === 'Quad') {\n return this.encodeQuotedTriple(term, false);\n }\n return this.plainTermDictionary.encode(term);\n }\n encodeQuotedTriple(quad, optional) {\n var _a;\n // Only quoted triples are supported\n if (quad.graph.termType !== 'DefaultGraph') {\n throw new Error('Encoding of quoted quads outside of the default graph is not allowed');\n }\n // Check if the quad was already encoded\n const encodedTripleOptional = (_a = (0, OrderUtils_1.encodeOptionalTerms)([quad.subject, quad.predicate, quad.object, undefined], this)) === null || _a === void 0 ? void 0 : _a.slice(0, 3);\n const id = encodedTripleOptional && encodedTripleOptional.every(encoded => encoded !== undefined) ?\n this.quotedTriplesReverseDictionary[encodedTripleOptional.join(TermDictionaryQuotedReferential.SEPARATOR)] :\n undefined;\n // Return the encoding if we found one\n if (id !== undefined || optional) {\n // Mask MSB to indicate that the encoding should refer to the quoted triples dictionary.\n return (id === undefined ? undefined : TermDictionaryQuotedReferential.BITMASK | id);\n }\n // If the quad was not encoded yet, add a new entry for it in the dictionary.\n const encodedTriple = [\n this.encode(quad.subject),\n this.encode(quad.predicate),\n this.encode(quad.object),\n ];\n const encodingBase = this.quotedTriplesDictionary.length + 1;\n this.quotedTriplesDictionary.push(encodedTriple);\n this.quotedTriplesReverseDictionary[encodedTriple.join(TermDictionaryQuotedReferential.SEPARATOR)] = encodingBase;\n // Mask MSB to indicate that the encoding should refer to the quoted triples dictionary.\n return TermDictionaryQuotedReferential.BITMASK | encodingBase;\n }\n encodeOptional(term) {\n if (term.termType === 'Quad') {\n return this.encodeQuotedTriple(term, true);\n }\n return this.plainTermDictionary.encodeOptional(term);\n }\n decode(encoding) {\n if (TermDictionaryQuotedReferential.BITMASK & encoding) {\n // Term comes from the quoted triples dictionary\n const encodingBase = (~TermDictionaryQuotedReferential.BITMASK & encoding) - 1;\n if (encodingBase >= this.quotedTriplesDictionary.length) {\n throw new Error(`The value ${encoding} is not present in the quoted triples range of the dictionary`);\n }\n const encodedTerms = this.quotedTriplesDictionary[encodingBase];\n return this.dataFactory.quad(this.decode(encodedTerms[0]), this.decode(encodedTerms[1]), this.decode(encodedTerms[2]));\n }\n // Term comes from the plain terms dictionary\n return this.plainTermDictionary.decode(encoding);\n }\n *encodings() {\n for (const encoding of this.plainTermDictionary.encodings()) {\n yield encoding;\n }\n for (const encoding of this.quotedTriplesDictionary.keys()) {\n yield TermDictionaryQuotedReferential.BITMASK | (1 + encoding);\n }\n }\n *findQuotedTriples(quotedTriplePattern) {\n for (const termEncoded of this.findQuotedTriplesEncoded(quotedTriplePattern)) {\n yield this.decode(termEncoded);\n }\n }\n *findQuotedTriplesEncoded(quotedTriplePattern) {\n for (let encodedQuotedTriple of this.quotedTriplesDictionary.keys()) {\n encodedQuotedTriple = TermDictionaryQuotedReferential.BITMASK | (1 + encodedQuotedTriple);\n const quotedTriple = this.decode(encodedQuotedTriple);\n if ((0, rdf_terms_1.matchPattern)(quotedTriple, quotedTriplePattern.subject, quotedTriplePattern.predicate, quotedTriplePattern.object, quotedTriplePattern.graph)) {\n yield encodedQuotedTriple;\n }\n }\n }\n}\nTermDictionaryQuotedReferential.BITMASK = 1 << 31;\nTermDictionaryQuotedReferential.SEPARATOR = '_';\nexports.TermDictionaryQuotedReferential = TermDictionaryQuotedReferential;\n//# sourceMappingURL=TermDictionaryQuotedReferential.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TermDictionarySymbol = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * A term dictionary that encodes and decodes using symbols.\n */\nclass TermDictionarySymbol {\n constructor(dataFactory = new rdf_data_factory_1.DataFactory()) {\n this.features = { quotedTriples: false };\n this.dataFactory = dataFactory;\n }\n encode(term) {\n return Symbol.for(`rdf::${(0, rdf_string_1.termToString)(term)}`);\n }\n encodeOptional(term) {\n return this.encode(term);\n }\n decode(encoding) {\n const string = Symbol.keyFor(encoding);\n if (string === undefined) {\n throw new Error(`The value ${String(encoding)} is not present in this dictionary`);\n }\n return (0, rdf_string_1.stringToTerm)(string.slice(5), this.dataFactory);\n }\n encodings() {\n throw new Error('encodings is not supported');\n }\n findQuotedTriples(quotedTriplePattern) {\n throw new Error('findQuotedTriples is not supported');\n }\n findQuotedTriplesEncoded(quotedTriplePattern) {\n throw new Error('findQuotedTriplesEncoded is not supported');\n }\n}\nexports.TermDictionarySymbol = TermDictionarySymbol;\n//# sourceMappingURL=TermDictionarySymbol.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IRdfStoreIndex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStoreIndexNestedMap = void 0;\nconst OrderUtils_1 = require(\"../OrderUtils\");\n/**\n * An RDF store index that is implemented using nested Maps.\n */\nclass RdfStoreIndexNestedMap {\n constructor(options) {\n this.features = {\n quotedTripleFiltering: false,\n };\n this.dictionary = options.dictionary;\n this.nestedMap = new Map();\n }\n set(terms, value) {\n const map0 = this.nestedMap;\n let map1 = map0.get(terms[0]);\n if (!map1) {\n map1 = new Map();\n map0.set(terms[0], map1);\n }\n let map2 = map1.get(terms[1]);\n if (!map2) {\n map2 = new Map();\n map1.set(terms[1], map2);\n }\n let map3 = map2.get(terms[2]);\n if (!map3) {\n map3 = new Map();\n map2.set(terms[2], map3);\n }\n const contained = map3.has(terms[3]);\n if (!contained) {\n map3.set(terms[3], value);\n }\n return !contained;\n }\n remove(terms) {\n const map0 = this.nestedMap;\n const map1 = map0.get(terms[0]);\n if (!map1) {\n return false;\n }\n const map2 = map1.get(terms[1]);\n if (!map2) {\n return false;\n }\n const map3 = map2.get(terms[2]);\n if (!map3) {\n return false;\n }\n const ret = map3.delete(terms[3]);\n // Clean up intermediate maps\n if (ret && map3.size === 0) {\n map2.delete(terms[2]);\n if (map2.size === 0) {\n map1.delete(terms[1]);\n if (map1.size === 0) {\n map0.delete(terms[0]);\n }\n }\n }\n return ret;\n }\n get(key) {\n const encoded = (0, OrderUtils_1.encodeOptionalTerms)(key, this.dictionary);\n // eslint-disable-next-line unicorn/no-useless-undefined\n if (!encoded || encoded.includes(undefined)) {\n return undefined;\n }\n return this.getEncoded(encoded);\n }\n getEncoded(ids) {\n const map1 = this.nestedMap.get(ids[0]);\n if (!map1) {\n return undefined;\n }\n const map2 = map1.get(ids[1]);\n if (!map2) {\n return undefined;\n }\n const map3 = map2.get(ids[2]);\n if (!map3) {\n return undefined;\n }\n return map3.get(ids[3]);\n }\n *find(terms) {\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return;\n }\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n let partialQuad0;\n let partialQuad1;\n let partialQuad2;\n let partialQuad3;\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedMap;\n const map0Keys = id0 !== undefined ? (map0.has(id0) ? [id0] : []) : map0.keys();\n for (const key1 of map0Keys) {\n map1 = map0.get(key1);\n partialQuad0 = term0 || this.dictionary.decode(key1);\n const map1Keys = id1 !== undefined ? (map1.has(id1) ? [id1] : []) : map1.keys();\n for (const key2 of map1Keys) {\n map2 = map1.get(key2);\n partialQuad1 = term1 || this.dictionary.decode(key2);\n const map2Keys = id2 !== undefined ? (map2.has(id2) ? [id2] : []) : map2.keys();\n for (const key3 of map2Keys) {\n map3 = map2.get(key3);\n partialQuad2 = term2 || this.dictionary.decode(key3);\n const map3Keys = id3 !== undefined ? (map3.has(id3) ? [id3] : []) : map3.keys();\n for (const key4 of map3Keys) {\n partialQuad3 = term3 || this.dictionary.decode(key4);\n yield [partialQuad0, partialQuad1, partialQuad2, partialQuad3];\n }\n }\n }\n }\n }\n // The code below is nearly identical. We duplicate because abstraction would result in a significant performance hit.\n *findEncoded(ids, terms) {\n const [id0, id1, id2, id3] = ids;\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedMap;\n const map0Keys = id0 !== undefined ? (map0.has(id0) ? [id0] : []) : map0.keys();\n for (const key1 of map0Keys) {\n map1 = map0.get(key1);\n const map1Keys = id1 !== undefined ? (map1.has(id1) ? [id1] : []) : map1.keys();\n for (const key2 of map1Keys) {\n map2 = map1.get(key2);\n const map2Keys = id2 !== undefined ? (map2.has(id2) ? [id2] : []) : map2.keys();\n for (const key3 of map2Keys) {\n map3 = map2.get(key3);\n const map3Keys = id3 !== undefined ? (map3.has(id3) ? [id3] : []) : map3.keys();\n for (const key4 of map3Keys) {\n yield [key1, key2, key3, key4];\n }\n }\n }\n }\n }\n count(terms) {\n let count = 0;\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return 0;\n }\n const id0 = ids[0];\n const id1 = ids[1];\n const id2 = ids[2];\n const id3 = ids[3];\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedMap;\n const map0Keys = id0 !== undefined ? (map0.has(id0) ? [id0] : []) : map0.keys();\n for (const key1 of map0Keys) {\n map1 = map0.get(key1);\n const map1Keys = id1 !== undefined ? (map1.has(id1) ? [id1] : []) : map1.keys();\n for (const key2 of map1Keys) {\n map2 = map1.get(key2);\n const map2Keys = id2 !== undefined ? (map2.has(id2) ? [id2] : []) : map2.keys();\n for (const key3 of map2Keys) {\n map3 = map2.get(key3);\n if (id3 !== undefined) {\n if (map3.has(id3)) {\n count++;\n }\n }\n else {\n count += map3.size;\n }\n }\n }\n }\n return count;\n }\n}\nexports.RdfStoreIndexNestedMap = RdfStoreIndexNestedMap;\n//# sourceMappingURL=RdfStoreIndexNestedMap.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStoreIndexNestedMapQuoted = void 0;\nconst OrderUtils_1 = require(\"../OrderUtils\");\nconst RdfStoreIndexNestedMap_1 = require(\"./RdfStoreIndexNestedMap\");\n/**\n * An RDF store index that is implemented using nested Maps with optimized quoted triple support.\n */\nclass RdfStoreIndexNestedMapQuoted extends RdfStoreIndexNestedMap_1.RdfStoreIndexNestedMap {\n constructor(options) {\n super(options);\n this.features = {\n quotedTripleFiltering: true,\n };\n }\n *getQuotedPatternKeys(map, term) {\n for (const quotedTripleEncoded of this.dictionary.findQuotedTriplesEncoded(term)) {\n if (map.has(quotedTripleEncoded)) {\n yield quotedTripleEncoded;\n }\n }\n }\n *find(terms) {\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return;\n }\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n const [quotedTerm0, quotedTerm1, quotedTerm2, quotedTerm3] = (0, OrderUtils_1.arePatternsQuoted)(terms);\n let partialQuad0;\n let partialQuad1;\n let partialQuad2;\n let partialQuad3;\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedMap;\n const map0Keys = (term0 !== undefined ?\n (quotedTerm0 ? this.getQuotedPatternKeys(map0, term0) : (map0.has(id0) ? [id0] : [])) :\n map0.keys());\n for (const key1 of map0Keys) {\n map1 = map0.get(key1);\n partialQuad0 = !quotedTerm0 && term0 ? term0 : this.dictionary.decode(key1);\n const map1Keys = (term1 !== undefined ?\n (quotedTerm1 ? this.getQuotedPatternKeys(map1, term1) : (map1.has(id1) ? [id1] : [])) :\n map1.keys());\n for (const key2 of map1Keys) {\n map2 = map1.get(key2);\n partialQuad1 = !quotedTerm1 && term1 ? term1 : this.dictionary.decode(key2);\n const map2Keys = (term2 !== undefined ?\n (quotedTerm2 ? this.getQuotedPatternKeys(map2, term2) : (map2.has(id2) ? [id2] : [])) :\n map2.keys());\n for (const key3 of map2Keys) {\n map3 = map2.get(key3);\n partialQuad2 = !quotedTerm2 && term2 ? term2 : this.dictionary.decode(key3);\n const map3Keys = (term3 !== undefined ?\n (quotedTerm3 ? this.getQuotedPatternKeys(map3, term3) : (map3.has(id3) ? [id3] : [])) :\n map3.keys());\n for (const key4 of map3Keys) {\n partialQuad3 = !quotedTerm3 && term3 ? term3 : this.dictionary.decode(key4);\n yield [partialQuad0, partialQuad1, partialQuad2, partialQuad3];\n }\n }\n }\n }\n }\n // The code below is nearly identical. We duplicate because abstraction would result in a significant performance hit.\n *findEncoded(ids, terms) {\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n const [quotedTerm0, quotedTerm1, quotedTerm2, quotedTerm3] = (0, OrderUtils_1.arePatternsQuoted)(terms);\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedMap;\n const map0Keys = (term0 !== undefined ?\n (quotedTerm0 ? this.getQuotedPatternKeys(map0, term0) : (map0.has(id0) ? [id0] : [])) :\n map0.keys());\n for (const key1 of map0Keys) {\n map1 = map0.get(key1);\n const map1Keys = (term1 !== undefined ?\n (quotedTerm1 ? this.getQuotedPatternKeys(map1, term1) : (map1.has(id1) ? [id1] : [])) :\n map1.keys());\n for (const key2 of map1Keys) {\n map2 = map1.get(key2);\n const map2Keys = (term2 !== undefined ?\n (quotedTerm2 ? this.getQuotedPatternKeys(map2, term2) : (map2.has(id2) ? [id2] : [])) :\n map2.keys());\n for (const key3 of map2Keys) {\n map3 = map2.get(key3);\n const map3Keys = (term3 !== undefined ?\n (quotedTerm3 ? this.getQuotedPatternKeys(map3, term3) : (map3.has(id3) ? [id3] : [])) :\n map3.keys());\n for (const key4 of map3Keys) {\n yield [\n Number.parseInt(key1, 10),\n Number.parseInt(key2, 10),\n Number.parseInt(key3, 10),\n Number.parseInt(key4, 10),\n ];\n }\n }\n }\n }\n }\n count(terms) {\n let count = 0;\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return 0;\n }\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n const [quotedTerm0, quotedTerm1, quotedTerm2, quotedTerm3] = (0, OrderUtils_1.arePatternsQuoted)(terms);\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedMap;\n const map0Keys = (term0 !== undefined ?\n (quotedTerm0 ? this.getQuotedPatternKeys(map0, term0) : (map0.has(id0) ? [id0] : [])) :\n map0.keys());\n for (const key1 of map0Keys) {\n map1 = map0.get(key1);\n const map1Keys = (term1 !== undefined ?\n (quotedTerm1 ? this.getQuotedPatternKeys(map1, term1) : (map1.has(id1) ? [id1] : [])) :\n map1.keys());\n for (const key2 of map1Keys) {\n map2 = map1.get(key2);\n const map2Keys = (term2 !== undefined ?\n (quotedTerm2 ? this.getQuotedPatternKeys(map2, term2) : (map2.has(id2) ? [id2] : [])) :\n map2.keys());\n for (const key3 of map2Keys) {\n map3 = map2.get(key3);\n if (term3 !== undefined) {\n if (quotedTerm3) {\n count += [...this.getQuotedPatternKeys(map3, term3)].length;\n }\n else if (map3.has(id3)) {\n count++;\n }\n }\n else {\n count += map3.size;\n }\n }\n }\n }\n return count;\n }\n}\nexports.RdfStoreIndexNestedMapQuoted = RdfStoreIndexNestedMapQuoted;\n//# sourceMappingURL=RdfStoreIndexNestedMapQuoted.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStoreIndexNestedMapRecursive = void 0;\nconst OrderUtils_1 = require(\"../OrderUtils\");\n/**\n * An RDF store index that is implemented using nested Maps,\n * and finds quads components via recursive methods calls.\n */\nclass RdfStoreIndexNestedMapRecursive {\n constructor(options) {\n this.features = {\n quotedTripleFiltering: false,\n };\n this.dictionary = options.dictionary;\n this.nestedMap = new Map();\n }\n set(terms, value) {\n let map = this.nestedMap;\n let contained = false;\n for (const [i, term] of terms.entries()) {\n const mapActual = map;\n let nextMap = mapActual.get(term);\n if (!nextMap) {\n nextMap = i === terms.length - 1 ? value : new Map();\n mapActual.set(term, nextMap);\n }\n else if (i === terms.length - 1) {\n contained = true;\n }\n map = nextMap;\n }\n return !contained;\n }\n remove(terms) {\n const map0 = this.nestedMap;\n const map1 = map0.get(terms[0]);\n if (!map1) {\n return false;\n }\n const map2 = map1.get(terms[1]);\n if (!map2) {\n return false;\n }\n const map3 = map2.get(terms[2]);\n if (!map3) {\n return false;\n }\n const ret = map3.delete(terms[3]);\n // Clean up intermediate maps\n if (ret && map3.size === 0) {\n map2.delete(terms[2]);\n if (map2.size === 0) {\n map1.delete(terms[1]);\n if (map1.size === 0) {\n map0.delete(terms[0]);\n }\n }\n }\n return ret;\n }\n get(key) {\n const encoded = (0, OrderUtils_1.encodeOptionalTerms)(key, this.dictionary);\n // eslint-disable-next-line unicorn/no-useless-undefined\n if (!encoded || encoded.includes(undefined)) {\n return undefined;\n }\n return this.getEncoded(encoded);\n }\n getEncoded(ids) {\n const map1 = this.nestedMap.get(ids[0]);\n if (!map1) {\n return undefined;\n }\n const map2 = map1.get(ids[1]);\n if (!map2) {\n return undefined;\n }\n const map3 = map2.get(ids[2]);\n if (!map3) {\n return undefined;\n }\n return map3.get(ids[3]);\n }\n *find(terms) {\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return;\n }\n for (const termsEncoded of this.findEncoded(ids, terms)) {\n yield [\n ids[0] !== undefined ? terms[0] : this.dictionary.decode(termsEncoded[0]),\n ids[1] !== undefined ? terms[1] : this.dictionary.decode(termsEncoded[1]),\n ids[2] !== undefined ? terms[2] : this.dictionary.decode(termsEncoded[2]),\n ids[3] !== undefined ? terms[3] : this.dictionary.decode(termsEncoded[3]),\n ];\n }\n }\n *findEncoded(ids, terms) {\n return yield* this\n .findEncodedInner(0, ids, terms, this.nestedMap, []);\n }\n *findEncodedInner(index, ids, terms, map, partialQuad) {\n if (index === ids.length) {\n yield [...partialQuad];\n }\n else {\n const id = ids[index];\n const currentTerm = terms[index];\n // If current term is undefined, iterate over all terms at this level.\n if (!currentTerm) {\n for (const [key, subMap] of map.entries()) {\n partialQuad[index] = key;\n yield* this\n .findEncodedInner(index + 1, ids, terms, subMap, partialQuad);\n }\n }\n else {\n // If the current term is defined, find one matching map for the current term.\n const encodedTerm = id;\n if (encodedTerm !== undefined) {\n const subMap = map.get(encodedTerm);\n if (subMap) {\n partialQuad[index] = id;\n yield* this\n .findEncodedInner(index + 1, ids, terms, subMap, partialQuad);\n }\n }\n }\n }\n }\n count(terms) {\n return this.countInner(0, terms, this.nestedMap);\n }\n countInner(index, terms, map) {\n const currentTerm = terms[index];\n let count = 0;\n // If current term is undefined, iterate over all terms at this level.\n if (!currentTerm) {\n if (index === terms.length - 1) {\n return map.size;\n }\n for (const subMap of map.values()) {\n count += this.countInner(index + 1, terms, subMap);\n }\n }\n else {\n // If the current term is defined, find one matching map for the current term.\n const encodedTerm = this.dictionary.encodeOptional(currentTerm);\n if (encodedTerm !== undefined) {\n if (index === terms.length - 1) {\n if (map.has(encodedTerm)) {\n return 1;\n }\n return 0;\n }\n const subMap = map.get(encodedTerm);\n if (subMap) {\n count += this.countInner(index + 1, terms, subMap);\n }\n }\n }\n return count;\n }\n}\nexports.RdfStoreIndexNestedMapRecursive = RdfStoreIndexNestedMapRecursive;\n//# sourceMappingURL=RdfStoreIndexNestedMapRecursive.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStoreIndexNestedMapRecursiveQuoted = void 0;\nconst OrderUtils_1 = require(\"../OrderUtils\");\nconst RdfStoreIndexNestedMapRecursive_1 = require(\"./RdfStoreIndexNestedMapRecursive\");\n/**\n * An RDF store index that is implemented using nested Maps,\n * and finds quads components via recursive methods calls\n * with optimized quoted triple support.\n */\nclass RdfStoreIndexNestedMapRecursiveQuoted extends RdfStoreIndexNestedMapRecursive_1.RdfStoreIndexNestedMapRecursive {\n constructor(options) {\n super(options);\n this.features = {\n quotedTripleFiltering: true,\n };\n }\n *findEncoded(ids, terms) {\n return yield* this\n .findEncodedInnerQuoted(0, ids, terms, (0, OrderUtils_1.arePatternsQuoted)(terms), this.nestedMap, []);\n }\n *findEncodedInnerQuoted(index, ids, terms, isQuotedPattern, map, partialQuad) {\n if (index === ids.length) {\n yield [...partialQuad];\n }\n else {\n const id = ids[index];\n const currentTerm = terms[index];\n // If current term is undefined, iterate over all terms at this level.\n if (!currentTerm) {\n for (const [key, subMap] of map.entries()) {\n partialQuad[index] = key;\n yield* this\n .findEncodedInnerQuoted(index + 1, ids, terms, isQuotedPattern, subMap, partialQuad);\n }\n }\n else if (isQuotedPattern[index]) {\n const quotedTriplesEncoded = this\n .dictionary.findQuotedTriplesEncoded(currentTerm);\n // Below, we perform a type of inner (hash) join between quotedTriplesEncoded and map (with hash on map)\n for (const quotedTripleEncoded of quotedTriplesEncoded) {\n const subMap = map.get(quotedTripleEncoded);\n if (subMap) {\n partialQuad[index] = quotedTripleEncoded;\n yield* this.findEncodedInnerQuoted(index + 1, ids, terms, isQuotedPattern, subMap, partialQuad);\n }\n }\n }\n else {\n // If the current term is defined, find one matching map for the current term.\n const encodedTerm = id;\n if (encodedTerm !== undefined) {\n const subMap = map.get(encodedTerm);\n if (subMap) {\n partialQuad[index] = id;\n yield* this.findEncodedInnerQuoted(index + 1, ids, terms, isQuotedPattern, subMap, partialQuad);\n }\n }\n }\n }\n }\n countInner(index, terms, map) {\n const currentTerm = terms[index];\n let count = 0;\n // If current term is undefined, iterate over all terms at this level.\n if (!currentTerm) {\n if (index === terms.length - 1) {\n return map.size;\n }\n for (const subMap of map.values()) {\n count += this.countInner(index + 1, terms, subMap);\n }\n }\n else if (currentTerm.termType === 'Quad' && (0, OrderUtils_1.quadHasVariables)(currentTerm)) {\n const quotedTriplesEncoded = this.dictionary.findQuotedTriplesEncoded(currentTerm);\n // Below, we perform a type of inner (hash) join between quotedTriplesEncoded and map (with hash on map)\n for (const quotedTripleEncoded of quotedTriplesEncoded) {\n if (index === terms.length - 1) {\n if (map.has(quotedTripleEncoded)) {\n count++;\n }\n }\n else {\n const subMap = map.get(quotedTripleEncoded);\n if (subMap) {\n count += this.countInner(index + 1, terms, subMap);\n }\n }\n }\n }\n else {\n // If the current term is defined, find one matching map for the current term.\n const encodedTerm = this.dictionary.encodeOptional(currentTerm);\n if (encodedTerm !== undefined) {\n if (index === terms.length - 1) {\n if (map.has(encodedTerm)) {\n return 1;\n }\n return 0;\n }\n const subMap = map.get(encodedTerm);\n if (subMap) {\n count += this.countInner(index + 1, terms, subMap);\n }\n }\n }\n return count;\n }\n}\nexports.RdfStoreIndexNestedMapRecursiveQuoted = RdfStoreIndexNestedMapRecursiveQuoted;\n//# sourceMappingURL=RdfStoreIndexNestedMapRecursiveQuoted.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStoreIndexNestedRecord = void 0;\nconst OrderUtils_1 = require(\"../OrderUtils\");\n/**\n * An RDF store index that is implemented using nested records.\n */\nclass RdfStoreIndexNestedRecord {\n constructor(options) {\n this.features = {\n quotedTripleFiltering: false,\n };\n this.dictionary = options.dictionary;\n this.nestedRecords = {};\n }\n set(terms, value) {\n const map0 = this.nestedRecords;\n const map1 = map0[terms[0]] || (map0[terms[0]] = {});\n const map2 = map1[terms[1]] || (map1[terms[1]] = {});\n const map3 = map2[terms[2]] || (map2[terms[2]] = {});\n if (map3[terms[3]]) {\n return false;\n }\n map3[terms[3]] = value;\n return true;\n }\n remove(terms) {\n const map0 = this.nestedRecords;\n const map1 = map0[terms[0]];\n if (!map1) {\n return false;\n }\n const map2 = map1[terms[1]];\n if (!map2) {\n return false;\n }\n const map3 = map2[terms[2]];\n if (!map3) {\n return false;\n }\n if (!map3[terms[3]]) {\n return false;\n }\n delete map3[terms[3]];\n // Clean up intermediate maps\n if (Object.keys(map3).length === 0) {\n delete map2[terms[2]];\n if (Object.keys(map2).length === 0) {\n delete map1[terms[1]];\n if (Object.keys(map1).length === 0) {\n delete map0[terms[0]];\n }\n }\n }\n return true;\n }\n get(key) {\n const encoded = (0, OrderUtils_1.encodeOptionalTerms)(key, this.dictionary);\n // eslint-disable-next-line unicorn/no-useless-undefined\n if (!encoded || encoded.includes(undefined)) {\n return undefined;\n }\n return this.getEncoded(encoded);\n }\n getEncoded(ids) {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.nestedRecords[ids[0]]) === null || _a === void 0 ? void 0 : _a[ids[1]]) === null || _b === void 0 ? void 0 : _b[ids[2]]) === null || _c === void 0 ? void 0 : _c[ids[3]];\n }\n *find(terms) {\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return;\n }\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n let partialQuad0;\n let partialQuad1;\n let partialQuad2;\n let partialQuad3;\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedRecords;\n const map0Keys = id0 !== undefined ? (id0 in map0 ? [id0] : []) : Object.keys(map0);\n for (const key1 of map0Keys) {\n map1 = map0[key1];\n partialQuad0 = term0 || this.dictionary.decode(Number.parseInt(key1, 10));\n const map1Keys = id1 !== undefined ? (id1 in map1 ? [id1] : []) : Object.keys(map1);\n for (const key2 of map1Keys) {\n map2 = map1[key2];\n partialQuad1 = term1 || this.dictionary.decode(Number.parseInt(key2, 10));\n const map2Keys = id2 !== undefined ? (id2 in map2 ? [id2] : []) : Object.keys(map2);\n for (const key3 of map2Keys) {\n map3 = map2[key3];\n partialQuad2 = term2 || this.dictionary.decode(Number.parseInt(key3, 10));\n const map3Keys = id3 !== undefined ? (id3 in map3 ? [id3] : []) : Object.keys(map3);\n for (const key4 of map3Keys) {\n partialQuad3 = term3 || this.dictionary.decode(Number.parseInt(key4, 10));\n yield [partialQuad0, partialQuad1, partialQuad2, partialQuad3];\n }\n }\n }\n }\n }\n // The code below is nearly identical. We duplicate because abstraction would result in a significant performance hit.\n *findEncoded(ids, terms) {\n const [id0, id1, id2, id3] = ids;\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedRecords;\n const map0Keys = id0 !== undefined ? (id0 in map0 ? [id0] : []) : Object.keys(map0);\n for (const key1 of map0Keys) {\n map1 = map0[key1];\n const map1Keys = id1 !== undefined ? (id1 in map1 ? [id1] : []) : Object.keys(map1);\n for (const key2 of map1Keys) {\n map2 = map1[key2];\n const map2Keys = id2 !== undefined ? (id2 in map2 ? [id2] : []) : Object.keys(map2);\n for (const key3 of map2Keys) {\n map3 = map2[key3];\n const map3Keys = id3 !== undefined ? (id3 in map3 ? [id3] : []) : Object.keys(map3);\n for (const key4 of map3Keys) {\n yield [\n Number.parseInt(key1, 10),\n Number.parseInt(key2, 10),\n Number.parseInt(key3, 10),\n Number.parseInt(key4, 10),\n ];\n }\n }\n }\n }\n }\n count(terms) {\n let count = 0;\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return 0;\n }\n const id0 = ids[0];\n const id1 = ids[1];\n const id2 = ids[2];\n const id3 = ids[3];\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedRecords;\n const map0Keys = id0 !== undefined ? (id0 in map0 ? [id0] : []) : Object.keys(map0);\n for (const key1 of map0Keys) {\n map1 = map0[key1];\n const map1Keys = id1 !== undefined ? (id1 in map1 ? [id1] : []) : Object.keys(map1);\n for (const key2 of map1Keys) {\n map2 = map1[key2];\n const map2Keys = id2 !== undefined ? (id2 in map2 ? [id2] : []) : Object.keys(map2);\n for (const key3 of map2Keys) {\n map3 = map2[key3];\n if (id3 !== undefined) {\n if (id3 in map3) {\n count++;\n }\n }\n else {\n count += Object.keys(map3).length;\n }\n }\n }\n }\n return count;\n }\n}\nexports.RdfStoreIndexNestedRecord = RdfStoreIndexNestedRecord;\n//# sourceMappingURL=RdfStoreIndexNestedRecord.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfStoreIndexNestedRecordQuoted = void 0;\nconst OrderUtils_1 = require(\"../OrderUtils\");\nconst RdfStoreIndexNestedRecord_1 = require(\"./RdfStoreIndexNestedRecord\");\n/**\n * An RDF store index that is implemented using nested records with optimized quoted triple support.\n */\nclass RdfStoreIndexNestedRecordQuoted extends RdfStoreIndexNestedRecord_1.RdfStoreIndexNestedRecord {\n constructor(options) {\n super(options);\n this.features = {\n quotedTripleFiltering: true,\n };\n }\n *getQuotedPatternKeys(map, term) {\n for (const quotedTripleEncoded of this.dictionary.findQuotedTriplesEncoded(term)) {\n if (quotedTripleEncoded in map) {\n yield quotedTripleEncoded;\n }\n }\n }\n *find(terms) {\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return;\n }\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n const [quotedTerm0, quotedTerm1, quotedTerm2, quotedTerm3] = (0, OrderUtils_1.arePatternsQuoted)(terms);\n let partialQuad0;\n let partialQuad1;\n let partialQuad2;\n let partialQuad3;\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedRecords;\n const map0Keys = (term0 !== undefined ?\n (quotedTerm0 ? this.getQuotedPatternKeys(map0, term0) : (id0 in map0 ? [id0] : [])) :\n Object.keys(map0));\n for (const key1 of map0Keys) {\n map1 = map0[key1];\n partialQuad0 = !quotedTerm0 && term0 ? term0 : this.dictionary.decode(Number.parseInt(key1, 10));\n const map1Keys = (term1 !== undefined ?\n (quotedTerm1 ? this.getQuotedPatternKeys(map1, term1) : (id1 in map1 ? [id1] : [])) :\n Object.keys(map1));\n for (const key2 of map1Keys) {\n map2 = map1[key2];\n partialQuad1 = !quotedTerm1 && term1 ? term1 : this.dictionary.decode(Number.parseInt(key2, 10));\n const map2Keys = (term2 !== undefined ?\n (quotedTerm2 ? this.getQuotedPatternKeys(map2, term2) : (id2 in map2 ? [id2] : [])) :\n Object.keys(map2));\n for (const key3 of map2Keys) {\n map3 = map2[key3];\n partialQuad2 = !quotedTerm2 && term2 ? term2 : this.dictionary.decode(Number.parseInt(key3, 10));\n const map3Keys = (term3 !== undefined ?\n (quotedTerm3 ? this.getQuotedPatternKeys(map3, term3) : (id3 in map3 ? [id3] : [])) :\n Object.keys(map3));\n for (const key4 of map3Keys) {\n partialQuad3 = !quotedTerm3 && term3 ? term3 : this.dictionary.decode(Number.parseInt(key4, 10));\n yield [partialQuad0, partialQuad1, partialQuad2, partialQuad3];\n }\n }\n }\n }\n }\n // The code below is nearly identical. We duplicate because abstraction would result in a significant performance hit.\n *findEncoded(ids, terms) {\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n const [quotedTerm0, quotedTerm1, quotedTerm2, quotedTerm3] = (0, OrderUtils_1.arePatternsQuoted)(terms);\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedRecords;\n const map0Keys = (term0 !== undefined ?\n (quotedTerm0 ? this.getQuotedPatternKeys(map0, term0) : (id0 in map0 ? [id0] : [])) :\n Object.keys(map0));\n for (const key1 of map0Keys) {\n map1 = map0[key1];\n const map1Keys = (term1 !== undefined ?\n (quotedTerm1 ? this.getQuotedPatternKeys(map1, term1) : (id1 in map1 ? [id1] : [])) :\n Object.keys(map1));\n for (const key2 of map1Keys) {\n map2 = map1[key2];\n const map2Keys = (term2 !== undefined ?\n (quotedTerm2 ? this.getQuotedPatternKeys(map2, term2) : (id2 in map2 ? [id2] : [])) :\n Object.keys(map2));\n for (const key3 of map2Keys) {\n map3 = map2[key3];\n const map3Keys = (term3 !== undefined ?\n (quotedTerm3 ? this.getQuotedPatternKeys(map3, term3) : (id3 in map3 ? [id3] : [])) :\n Object.keys(map3));\n for (const key4 of map3Keys) {\n yield [\n Number.parseInt(key1, 10),\n Number.parseInt(key2, 10),\n Number.parseInt(key3, 10),\n Number.parseInt(key4, 10),\n ];\n }\n }\n }\n }\n }\n count(terms) {\n let count = 0;\n const ids = (0, OrderUtils_1.encodeOptionalTerms)(terms, this.dictionary);\n if (!ids) {\n return 0;\n }\n const [id0, id1, id2, id3] = ids;\n const [term0, term1, term2, term3] = terms;\n const [quotedTerm0, quotedTerm1, quotedTerm2, quotedTerm3] = (0, OrderUtils_1.arePatternsQuoted)(terms);\n let map1;\n let map2;\n let map3;\n const map0 = this.nestedRecords;\n const map0Keys = (term0 !== undefined ?\n (quotedTerm0 ? this.getQuotedPatternKeys(map0, term0) : (id0 in map0 ? [id0] : [])) :\n Object.keys(map0));\n for (const key1 of map0Keys) {\n map1 = map0[key1];\n const map1Keys = (term1 !== undefined ?\n (quotedTerm1 ? this.getQuotedPatternKeys(map1, term1) : (id1 in map1 ? [id1] : [])) :\n Object.keys(map1));\n for (const key2 of map1Keys) {\n map2 = map1[key2];\n const map2Keys = (term2 !== undefined ?\n (quotedTerm2 ? this.getQuotedPatternKeys(map2, term2) : (id2 in map2 ? [id2] : [])) :\n Object.keys(map2));\n for (const key3 of map2Keys) {\n map3 = map2[key3];\n if (term3 !== undefined) {\n if (quotedTerm3) {\n count += [...this.getQuotedPatternKeys(map3, term3)].length;\n }\n else if (id3 in map3) {\n count++;\n }\n }\n else {\n count += Object.keys(map3).length;\n }\n }\n }\n }\n return count;\n }\n}\nexports.RdfStoreIndexNestedRecordQuoted = RdfStoreIndexNestedRecordQuoted;\n//# sourceMappingURL=RdfStoreIndexNestedRecordQuoted.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/PendingStreamsIndex\"), exports);\n__exportStar(require(\"./lib/StreamingStore\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PendingStreamsIndex = void 0;\nconst rdf_string_1 = require(\"rdf-string\");\nconst rdf_terms_1 = require(\"rdf-terms\");\n/**\n * A PendingStreamsIndex stores pending streams indexed by the quad pattern they have been created for.\n */\nclass PendingStreamsIndex {\n constructor() {\n this.indexedStreams = new Map();\n this.allStreams = [];\n }\n termToString(term) {\n return term && term.termType !== 'Variable' ? (0, rdf_string_1.termToString)(term) : PendingStreamsIndex.ID_VARIABLE;\n }\n /**\n * Add a new pending stream for the given quad pattern.\n * @param pendingStream A pending stream.\n * @param subject A term.\n * @param predicate A term.\n * @param object A term.\n * @param graph A term.\n */\n addPatternListener(pendingStream, subject, predicate, object, graph) {\n // Append to list of pendingStreams\n this.allStreams.push(pendingStream);\n // Append to index of pendingStreams\n const key = `${this.termToString(subject)}${PendingStreamsIndex.ID_SEPARATOR}${this.termToString(predicate)}${PendingStreamsIndex.ID_SEPARATOR}${this.termToString(object)}${PendingStreamsIndex.ID_SEPARATOR}${this.termToString(graph)}`;\n let existingListeners = this.indexedStreams.get(key);\n if (!existingListeners) {\n existingListeners = [];\n this.indexedStreams.set(key, existingListeners);\n }\n existingListeners.push(pendingStream);\n }\n /**\n * Find all the pending streams from which their quad pattern match the given quad.\n * @param quad The quad to match patterns to.\n */\n getPendingStreamsForQuad(quad) {\n // Determine the combinations of quad patterns to look up\n let keys = [(0, rdf_terms_1.getTerms)(quad).map(term => (0, rdf_string_1.termToString)(term))];\n for (let i = 0; i < rdf_terms_1.QUAD_TERM_NAMES.length; i++) {\n const keysOld = keys;\n keys = [];\n for (const key of keysOld) {\n keys.push(key);\n const keyModified = [...key];\n keyModified[i] = PendingStreamsIndex.ID_VARIABLE;\n keys.push(keyModified);\n }\n }\n // Fetch the pendingStreams for the quad pattern combinations\n const pendingStreams = [];\n for (const key of keys) {\n const found = this.indexedStreams.get(key.join(PendingStreamsIndex.ID_SEPARATOR));\n if (found) {\n pendingStreams.push(...found);\n }\n }\n return pendingStreams;\n }\n}\nPendingStreamsIndex.ID_VARIABLE = '?';\nPendingStreamsIndex.ID_SEPARATOR = ':';\nexports.PendingStreamsIndex = PendingStreamsIndex;\n//# sourceMappingURL=PendingStreamsIndex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingStore = void 0;\nconst n3_1 = require(\"n3\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst PendingStreamsIndex_1 = require(\"./PendingStreamsIndex\");\n/**\n * A StreamingStore allows data lookup and insertion to happen in parallel.\n * Concretely, this means that `match()` calls happening before `import()` calls, will still consider those triples that\n * are inserted later, which is done by keeping the response streams of `match()` open.\n * Only when the `end()` method is invoked, all response streams will close, and the StreamingStore will be considered\n * immutable.\n *\n * WARNING: `end()` MUST be called at some point, otherwise all `match` streams will remain unended.\n */\nclass StreamingStore {\n constructor(store = new n3_1.Store()) {\n this.pendingStreams = new PendingStreamsIndex_1.PendingStreamsIndex();\n this.ended = false;\n this.store = store;\n }\n /**\n * Mark this store as ended.\n *\n * This will make sure that all running and future `match` calls will end,\n * and all next `import` calls to this store will throw an error.\n */\n end() {\n this.ended = true;\n // Mark all pendingStreams as ended.\n for (const pendingStream of this.pendingStreams.allStreams) {\n pendingStream.push(null);\n pendingStream._pipeSource.unpipe();\n }\n }\n importToListeners(stream) {\n stream.on('data', (quad) => {\n if (!this.ended && !this.store.countQuads(quad.subject, quad.predicate, quad.object, quad.graph)) {\n for (const pendingStream of this.pendingStreams.getPendingStreamsForQuad(quad)) {\n if (pendingStream.isInitialized) {\n pendingStream.push(quad);\n pendingStream.emit('quad', quad);\n }\n }\n }\n });\n }\n import(stream) {\n if (this.ended) {\n throw new Error('Attempted to import into an ended StreamingStore');\n }\n this.importToListeners(stream);\n return this.store.import(stream);\n }\n match(subject, predicate, object, graph) {\n const storeResult = this.store.match(subject, predicate, object, graph);\n let stream = storeResult;\n // If the store hasn't ended yet, also create a new pendingStream\n if (!this.ended) {\n // The new pendingStream remains open, until the store is ended.\n const pendingStream = new readable_stream_1.PassThrough({ objectMode: true });\n this.pendingStreams.addPatternListener(pendingStream, subject, predicate, object, graph);\n stream = storeResult.pipe(pendingStream, { end: false });\n stream._pipeSource = storeResult;\n // This is an ugly hack to annotate pendingStream with the isInitialized once the store stream started being read.\n // This is necessary to avoid duplicate quads cases where match() is called but not yet read, an import is done,\n // and only then the match() stream is read.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const readOld = storeResult._read;\n storeResult._read = (size) => {\n pendingStream.isInitialized = true;\n readOld.call(storeResult, size);\n };\n }\n return stream;\n }\n /**\n * The internal store with all imported quads.\n */\n getStore() {\n return this.store;\n }\n}\nexports.StreamingStore = StreamingStore;\n//# sourceMappingURL=StreamingStore.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.termToString = exports.stringToTerm = exports.stringQuadToQuad = exports.quadToStringQuad = exports.getLiteralValue = exports.getLiteralType = exports.getLiteralLanguage = void 0;\nconst TermUtil_1 = require(\"./lib/TermUtil\");\nObject.defineProperty(exports, \"getLiteralLanguage\", { enumerable: true, get: function () { return TermUtil_1.getLiteralLanguage; } });\nObject.defineProperty(exports, \"getLiteralType\", { enumerable: true, get: function () { return TermUtil_1.getLiteralType; } });\nObject.defineProperty(exports, \"getLiteralValue\", { enumerable: true, get: function () { return TermUtil_1.getLiteralValue; } });\nObject.defineProperty(exports, \"quadToStringQuad\", { enumerable: true, get: function () { return TermUtil_1.quadToStringQuad; } });\nObject.defineProperty(exports, \"stringQuadToQuad\", { enumerable: true, get: function () { return TermUtil_1.stringQuadToQuad; } });\nObject.defineProperty(exports, \"stringToTerm\", { enumerable: true, get: function () { return TermUtil_1.stringToTerm; } });\nObject.defineProperty(exports, \"termToString\", { enumerable: true, get: function () { return TermUtil_1.termToString; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringQuadToQuad = exports.quadToStringQuad = exports.stringToTerm = exports.getLiteralLanguage = exports.getLiteralType = exports.getLiteralValue = exports.termToString = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst FACTORY = new rdf_data_factory_1.DataFactory();\n/**\n * Utility methods for converting between string-based RDF representations and RDFJS objects.\n *\n * RDF Terms are represented as follows:\n * * Blank nodes: '_:myBlankNode'\n * * Variables: '_myVariable'\n * * Literals: '\"myString\"', '\"myLanguageString\"@en-us', '\"

e

\"^^'\n * * URIs: ''\n *\n * Quads/triples are represented as hashes with 'subject', 'predicate', 'object' and 'graph' (optional)\n * as keys, and string-based RDF terms as values.\n */\n/**\n * Convert an RDFJS term to a string-based representation.\n * @param {RDF.Term} term An RDFJS term.\n * @return {string} A string-based term representation.\n */\nfunction termToString(term) {\n // TODO: remove nasty any casts when this TS bug has been fixed: https://github.com/microsoft/TypeScript/issues/26933\n if (!term) {\n return undefined;\n }\n switch (term.termType) {\n case 'NamedNode': return (`<${escapeIRI(term.value)}>`);\n case 'BlankNode': return (`_:${term.value}`);\n case 'Literal': {\n const literalValue = term;\n return (`\"${escapeStringRDF(literalValue.value)}\"${literalValue.datatype &&\n literalValue.datatype.value !== 'http://www.w3.org/2001/XMLSchema#string' &&\n literalValue.datatype.value !== 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString' ?\n `^^<${literalValue.datatype.value}>` :\n ''}${literalValue.language ? `@${literalValue.language}` : ''}`);\n }\n case 'Quad': return (`<<${termToString(term.subject)} ${termToString(term.predicate)} ${termToString(term.object)}${term.graph.termType === 'DefaultGraph' ? '' : ` ${termToString(term.graph)}`}>>`);\n case 'Variable': return (`?${term.value}`);\n case 'DefaultGraph': return term.value;\n }\n}\nexports.termToString = termToString;\n/**\n * Get the string value of a literal.\n * @param {string} literalValue An RDF literal enclosed by '\"'.\n * @return {string} The literal value inside the '\"'.\n */\nfunction getLiteralValue(literalValue) {\n const match = /^\"([^]*)\"((\\^\\^.*)|(@.*))?$/u.exec(literalValue);\n if (!match) {\n throw new Error(`${literalValue} is not a literal`);\n }\n return match[1].replace(/\\\\\"/ug, '\"');\n}\nexports.getLiteralValue = getLiteralValue;\n/**\n * Get the datatype of the given literal.\n * @param {string} literalValue An RDF literal.\n * @return {string} The datatype of the literal.\n */\nfunction getLiteralType(literalValue) {\n const match = /^\"[^]*\"(?:\\^\\^<([^\"]+)>|(@)[^@\"]+)?$/u.exec(literalValue);\n if (!match) {\n throw new Error(`${literalValue} is not a literal`);\n }\n return match[1] || (match[2] ?\n 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString' :\n 'http://www.w3.org/2001/XMLSchema#string');\n}\nexports.getLiteralType = getLiteralType;\n/**\n * Get the language of the given literal.\n * @param {string} literalValue An RDF literal.\n * @return {string} The language of the literal.\n */\nfunction getLiteralLanguage(literalValue) {\n const match = /^\"[^]*\"(?:@([^@\"]+)|\\^\\^[^\"]+)?$/u.exec(literalValue);\n if (!match) {\n throw new Error(`${literalValue} is not a literal`);\n }\n return match[1] ? match[1].toLowerCase() : '';\n}\nexports.getLiteralLanguage = getLiteralLanguage;\n/**\n * Transform a string-based RDF term to an RDFJS term.\n * @param {string} value A string-based RDF-term.\n * @param {RDF.DataFactory} dataFactory An optional datafactory to create terms with.\n * @return {RDF.Term} An RDF-JS term.\n */\nfunction stringToTerm(value, dataFactory) {\n dataFactory = dataFactory || FACTORY;\n if (!value || (value.length === 0)) {\n return dataFactory.defaultGraph();\n }\n switch (value[0]) {\n case '_': return dataFactory.blankNode(value.slice(2));\n case '?':\n if (!dataFactory.variable) {\n throw new Error(`Missing 'variable()' method on the given DataFactory`);\n }\n return dataFactory.variable(value.slice(1));\n case '\"': {\n const language = getLiteralLanguage(value);\n const type = dataFactory.namedNode(getLiteralType(value));\n return dataFactory.literal(getLiteralValue(value), language || type);\n }\n case '<':\n default:\n if (value.startsWith('<<') && value.endsWith('>>')) {\n // Iterate character-by-character to detect spaces that are *not* wrapped in <<>>\n const terms = value.slice(2, -2);\n const stringTerms = [];\n let ignoreTags = 0;\n let lastIndex = 0;\n for (let i = 0; i < terms.length; i++) {\n const char = terms[i];\n if (char === '<') {\n ignoreTags++;\n }\n if (char === '>') {\n if (ignoreTags === 0) {\n throw new Error(`Found closing tag without opening tag in ${value}`);\n }\n else {\n ignoreTags--;\n }\n }\n if (char === ' ' && ignoreTags === 0) {\n stringTerms.push(terms.slice(lastIndex, i));\n lastIndex = i + 1;\n }\n }\n if (ignoreTags !== 0) {\n throw new Error(`Found opening tag without closing tag in ${value}`);\n }\n stringTerms.push(terms.slice(lastIndex, terms.length));\n // We require 3 or 4 components\n if (stringTerms.length !== 3 && stringTerms.length !== 4) {\n throw new Error(`Nested quad syntax error ${value}`);\n }\n return dataFactory.quad(stringToTerm(stringTerms[0]), stringToTerm(stringTerms[1]), stringToTerm(stringTerms[2]), stringTerms[3] ? stringToTerm(stringTerms[3]) : undefined);\n }\n if (!value.startsWith('<') || !value.endsWith('>')) {\n throw new Error(`Detected invalid iri for named node (must be wrapped in <>): ${value}`);\n }\n return dataFactory.namedNode(value.slice(1, -1));\n }\n}\nexports.stringToTerm = stringToTerm;\n/**\n * Convert an RDFJS quad to a string-based quad representation.\n * @param {Quad} q An RDFJS quad.\n * @return {IStringQuad} A hash with string-based quad terms.\n * @template Q The type of quad, defaults to RDF.Quad.\n */\nfunction quadToStringQuad(quad) {\n return {\n subject: termToString(quad.subject),\n predicate: termToString(quad.predicate),\n object: termToString(quad.object),\n graph: termToString(quad.graph),\n };\n}\nexports.quadToStringQuad = quadToStringQuad;\n/**\n * Convert a string-based quad representation to an RDFJS quad.\n * @param {IStringQuad} stringQuad A hash with string-based quad terms.\n * @param {RDF.DataFactory} dataFactory An optional datafactory to create terms with.\n * @return {Q} An RDFJS quad.\n * @template Q The type of quad, defaults to RDF.Quad.\n */\nfunction stringQuadToQuad(stringQuad, dataFactory) {\n dataFactory = dataFactory || FACTORY;\n return dataFactory.quad(stringToTerm(stringQuad.subject, dataFactory), stringToTerm(stringQuad.predicate, dataFactory), stringToTerm(stringQuad.object, dataFactory), stringToTerm(stringQuad.graph, dataFactory));\n}\nexports.stringQuadToQuad = stringQuadToQuad;\nfunction escapeIRI(iriValue) {\n return iriValue.replace(escapePattern, replaceEscapedCharacter);\n}\nfunction escapeStringRDF(stringValue) {\n if (escapePattern.test(stringValue)) {\n stringValue = stringValue.replace(escapePattern, replaceEscapedCharacter);\n }\n return stringValue;\n}\n// Characters in literals and IRIs that require escaping\n// Also containing potential surrogate pairs\n/* eslint-disable require-unicode-regexp */ /* eslint-disable unicorn/better-regex */\nconst escapePattern = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n/* eslint-enable require-unicode-regexp */ /* eslint-enable unicorn/better-regex */\nconst escapes = new Map([\n ['\\\\', '\\\\\\\\'],\n ['\"', '\\\\\"'],\n ['\\t', '\\\\t'],\n ['\\n', '\\\\n'],\n ['\\r', '\\\\r'],\n ['\\b', '\\\\b'],\n ['\\f', '\\\\f'],\n]);\nfunction replaceEscapedCharacter(character) {\n // Try simplest case first, get replacement for character\n const result = escapes.get(character);\n if (!result) {\n if (character.length === 1) {\n // Single unicode charachters, i.e. not a surrogate pair\n const code = character.charCodeAt(0).toString(16);\n return `${'\\\\u0000'.slice(0, -code.length)}${code}`;\n }\n // Surrogate pairs\n const code = ((character.charCodeAt(0) - 55296) * 1024 + character.charCodeAt(1) + 9216).toString(16);\n return `${'\\\\U00000000'.slice(0, -code.length)}${code}`;\n }\n return result;\n}\n//# sourceMappingURL=TermUtil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.termToString = exports.stringToTerm = exports.stringQuadToQuad = exports.quadToStringQuad = exports.getLiteralValue = exports.getLiteralType = exports.getLiteralLanguage = void 0;\nconst TermUtil_1 = require(\"./lib/TermUtil\");\nObject.defineProperty(exports, \"getLiteralLanguage\", { enumerable: true, get: function () { return TermUtil_1.getLiteralLanguage; } });\nObject.defineProperty(exports, \"getLiteralType\", { enumerable: true, get: function () { return TermUtil_1.getLiteralType; } });\nObject.defineProperty(exports, \"getLiteralValue\", { enumerable: true, get: function () { return TermUtil_1.getLiteralValue; } });\nObject.defineProperty(exports, \"quadToStringQuad\", { enumerable: true, get: function () { return TermUtil_1.quadToStringQuad; } });\nObject.defineProperty(exports, \"stringQuadToQuad\", { enumerable: true, get: function () { return TermUtil_1.stringQuadToQuad; } });\nObject.defineProperty(exports, \"stringToTerm\", { enumerable: true, get: function () { return TermUtil_1.stringToTerm; } });\nObject.defineProperty(exports, \"termToString\", { enumerable: true, get: function () { return TermUtil_1.termToString; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringQuadToQuad = exports.quadToStringQuad = exports.stringToTerm = exports.getLiteralLanguage = exports.getLiteralType = exports.getLiteralValue = exports.termToString = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst FACTORY = new rdf_data_factory_1.DataFactory();\n/**\n * Utility methods for converting between string-based RDF representations and RDFJS objects.\n *\n * RDF Terms are represented as follows:\n * * Blank nodes: '_:myBlankNode'\n * * Variables: '?myVariable'\n * * Literals: '\"myString\"', '\"myLanguageString\"@en-us', '\"3\"^^xsd:number'\n * * URIs: 'http://example.org'\n *\n * Quads/triples are represented as hashes with 'subject', 'predicate', 'object' and 'graph' (optional)\n * as keys, and string-based RDF terms as values.\n */\n/**\n * Convert an RDFJS term to a string-based representation.\n * @param {RDF.Term} term An RDFJS term.\n * @return {string} A string-based term representation.\n */\nfunction termToString(term) {\n // TODO: remove nasty any casts when this TS bug has been fixed: https://github.com/microsoft/TypeScript/issues/26933\n if (!term) {\n return undefined;\n }\n switch (term.termType) {\n case 'NamedNode': return term.value;\n case 'BlankNode': return ('_:' + term.value);\n case 'Literal':\n const literalValue = term;\n return ('\"' + literalValue.value + '\"' +\n (literalValue.datatype &&\n literalValue.datatype.value !== 'http://www.w3.org/2001/XMLSchema#string' &&\n literalValue.datatype.value !== 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString' ?\n '^^' + literalValue.datatype.value : '') +\n (literalValue.language ? '@' + literalValue.language : ''));\n case 'Quad': return `<<${termToString(term.subject)} ${termToString(term.predicate)} ${termToString(term.object)}${term.graph.termType === 'DefaultGraph' ? '' : ' ' + termToString(term.graph)}>>`;\n case 'Variable': return ('?' + term.value);\n case 'DefaultGraph': return term.value;\n }\n}\nexports.termToString = termToString;\n/**\n * Get the string value of a literal.\n * @param {string} literalValue An RDF literal enclosed by '\"'.\n * @return {string} The literal value inside the '\"'.\n */\nfunction getLiteralValue(literalValue) {\n const match = /^\"([^]*)\"/.exec(literalValue);\n if (!match) {\n throw new Error(literalValue + ' is not a literal');\n }\n return match[1];\n}\nexports.getLiteralValue = getLiteralValue;\n/**\n * Get the datatype of the given literal.\n * @param {string} literalValue An RDF literal.\n * @return {string} The datatype of the literal.\n */\nfunction getLiteralType(literalValue) {\n const match = /^\"[^]*\"(?:\\^\\^([^\"]+)|(@)[^@\"]+)?$/.exec(literalValue);\n if (!match) {\n throw new Error(literalValue + ' is not a literal');\n }\n return match[1] || (match[2]\n ? 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString' : 'http://www.w3.org/2001/XMLSchema#string');\n}\nexports.getLiteralType = getLiteralType;\n/**\n * Get the language of the given literal.\n * @param {string} literalValue An RDF literal.\n * @return {string} The language of the literal.\n */\nfunction getLiteralLanguage(literalValue) {\n const match = /^\"[^]*\"(?:@([^@\"]+)|\\^\\^[^\"]+)?$/.exec(literalValue);\n if (!match) {\n throw new Error(literalValue + ' is not a literal');\n }\n return match[1] ? match[1].toLowerCase() : '';\n}\nexports.getLiteralLanguage = getLiteralLanguage;\n/**\n * Transform a string-based RDF term to an RDFJS term.\n * @param {string} value A string-based RDF-term.\n * @param {RDF.DataFactory} dataFactory An optional datafactory to create terms with.\n * @return {RDF.Term} An RDF-JS term.\n */\nfunction stringToTerm(value, dataFactory) {\n dataFactory = dataFactory || FACTORY;\n if (!value || !value.length) {\n return dataFactory.defaultGraph();\n }\n switch (value[0]) {\n case '_': return dataFactory.blankNode(value.substr(2));\n case '?':\n if (!dataFactory.variable) {\n throw new Error(`Missing 'variable()' method on the given DataFactory`);\n }\n return dataFactory.variable(value.substr(1));\n case '\"':\n const language = getLiteralLanguage(value);\n const type = dataFactory.namedNode(getLiteralType(value));\n return dataFactory.literal(getLiteralValue(value), language || type);\n case '<':\n default:\n if (value[0] === '<' && value.length > 4 && value[1] === '<' && value[value.length - 1] === '>' && value[value.length - 2] === '>') {\n // Iterate character-by-character to detect spaces that are *not* wrapped in <<>>\n const terms = value.slice(2, -2).trim();\n let stringTerms = [];\n let ignoreTags = 0;\n let lastIndex = 0;\n let inQuote = false;\n for (let i = 0; i < terms.length; i++) {\n const char = terms[i];\n if (char === '<')\n ignoreTags++;\n if (char === '>') {\n if (ignoreTags === 0) {\n throw new Error('Found closing tag without opening tag in ' + value);\n }\n else {\n ignoreTags--;\n }\n }\n if (char === '\"') {\n let escaped = false;\n let j = i;\n while (j-- > 0 && terms[j] === '\\\\') {\n escaped = !escaped;\n }\n if (!escaped) {\n // We have reached an unescaped quote\n inQuote = !inQuote;\n }\n }\n if (char === ' ' && !inQuote && ignoreTags === 0) {\n stringTerms.push(terms.slice(lastIndex, i));\n while (terms[i + 1] === ' ') {\n i += 1;\n }\n lastIndex = i + 1;\n }\n }\n if (ignoreTags !== 0) {\n throw new Error('Found opening tag without closing tag in ' + value);\n }\n stringTerms.push(terms.slice(lastIndex, terms.length));\n // We require 3 or 4 components\n if (stringTerms.length !== 3 && stringTerms.length !== 4) {\n throw new Error('Nested quad syntax error ' + value);\n }\n stringTerms = stringTerms.map(term => term.startsWith('<') && !term.includes(' ') ? term.slice(1, -1) : term);\n return dataFactory.quad(stringToTerm(stringTerms[0]), stringToTerm(stringTerms[1]), stringToTerm(stringTerms[2]), stringTerms[3] ? stringToTerm(stringTerms[3]) : undefined);\n }\n return dataFactory.namedNode(value);\n }\n}\nexports.stringToTerm = stringToTerm;\n/**\n * Convert an RDFJS quad to a string-based quad representation.\n * @param {Quad} q An RDFJS quad.\n * @return {IStringQuad} A hash with string-based quad terms.\n * @template Q The type of quad, defaults to RDF.Quad.\n */\nfunction quadToStringQuad(q) {\n // tslint:disable:object-literal-sort-keys\n return {\n subject: termToString(q.subject),\n predicate: termToString(q.predicate),\n object: termToString(q.object),\n graph: termToString(q.graph),\n };\n // tslint:enable:object-literal-sort-keys\n}\nexports.quadToStringQuad = quadToStringQuad;\n/**\n * Convert a string-based quad representation to an RDFJS quad.\n * @param {IStringQuad} stringQuad A hash with string-based quad terms.\n * @param {RDF.DataFactory} dataFactory An optional datafactory to create terms with.\n * @return {Q} An RDFJS quad.\n * @template Q The type of quad, defaults to RDF.Quad.\n */\nfunction stringQuadToQuad(stringQuad, dataFactory) {\n dataFactory = dataFactory || FACTORY;\n return dataFactory.quad(stringToTerm(stringQuad.subject, dataFactory), stringToTerm(stringQuad.predicate, dataFactory), stringToTerm(stringQuad.object, dataFactory), stringToTerm(stringQuad.graph, dataFactory));\n}\nexports.stringQuadToQuad = stringQuadToQuad;\n//# sourceMappingURL=TermUtil.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/QuadTermUtil\"), exports);\n__exportStar(require(\"./lib/TermUtil\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matchPatternMappings = exports.matchPatternComplete = exports.matchPattern = exports.matchTerm = exports.getValueNestedPath = exports.someTermsNested = exports.someTerms = exports.everyTermsNested = exports.everyTerms = exports.reduceTermsNested = exports.reduceTerms = exports.mapTermsNested = exports.mapTerms = exports.filterQuadTermNamesNested = exports.filterQuadTermNames = exports.filterTermsNested = exports.filterTerms = exports.forEachTermsNested = exports.forEachTerms = exports.collectNamedTerms = exports.getNamedTerms = exports.getTermsNested = exports.getTerms = exports.TRIPLE_TERM_NAMES = exports.QUAD_TERM_NAMES = void 0;\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst DF = new rdf_data_factory_1.DataFactory();\n/**\n * All available quad term names.\n * @type {[string , string , string , string]}\n */\nexports.QUAD_TERM_NAMES = ['subject', 'predicate', 'object', 'graph'];\n/**\n * All available triple term names.\n * @type {[string , string , string]}\n */\nexports.TRIPLE_TERM_NAMES = ['subject', 'predicate', 'object'];\n/**\n * Get all terms in the given quad.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {boolean} ignoreDefaultGraph If true and the quad has the default graph as graph,\n * this term will not be returned in the array.\n * (default: false)\n * @return {Term[]} The available terms in the quad.\n */\nfunction getTerms(quad, ignoreDefaultGraph) {\n if (ignoreDefaultGraph && quad.graph.termType === 'DefaultGraph') {\n return [quad.subject, quad.predicate, quad.object];\n }\n return [quad.subject, quad.predicate, quad.object, quad.graph];\n}\nexports.getTerms = getTerms;\n/**\n * Get all terms in the given quad, including nested quads.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {boolean} ignoreDefaultGraph If true and the quad has the default graph as graph,\n * this term will not be returned in the array.\n * (default: false)\n * @return {Term[]} The available terms in the nested quad, excluding quad terms.\n */\nfunction getTermsNested(quad, ignoreDefaultGraph) {\n const terms = [];\n for (const term of getTerms(quad, ignoreDefaultGraph)) {\n if (term.termType === 'Quad') {\n getTermsNested(term, ignoreDefaultGraph).forEach(subTerm => terms.push(subTerm));\n }\n else {\n terms.push(term);\n }\n }\n return terms;\n}\nexports.getTermsNested = getTermsNested;\n/**\n * Convert the given quad to an array of named terms.\n * This is the reverse operation of {@link collectNamedTerms}.\n * @param {BaseQuad} quad An RDFJS quad.\n * @return {INamedTerm[]} An array of named terms.\n */\nfunction getNamedTerms(quad) {\n return [\n { key: 'subject', value: quad.subject },\n { key: 'predicate', value: quad.predicate },\n { key: 'object', value: quad.object },\n { key: 'graph', value: quad.graph },\n ];\n}\nexports.getNamedTerms = getNamedTerms;\n/**\n * Convert an array of named terms to an RDFJS quad.\n * This is the reverse operation of {@link getNamedTerms}.\n * @param {INamedTerm[]} namedTerms An array of named terms.\n * @param {(termName: QuadTermName) => Term} defaultCb An optional callback for when\n * certain terms are not available in the array.\n * @param {RDF.DataFactory} dataFactory A custom data factory to create quads.\n * @return {Q} The resulting RDFJS quad.\n * @template Q The type of quad to output, defaults to RDF.Quad.\n */\nfunction collectNamedTerms(namedTerms, defaultCb, dataFactory) {\n const elements = {};\n namedTerms.forEach((namedTerm) => elements[namedTerm.key] = namedTerm.value);\n if (defaultCb) {\n elements.subject = elements.subject || defaultCb('subject');\n elements.predicate = elements.predicate || defaultCb('predicate');\n elements.object = elements.object || defaultCb('object');\n elements.graph = elements.graph || defaultCb('graph');\n }\n return (dataFactory || DF).quad(elements.subject, elements.predicate, elements.object, elements.graph);\n}\nexports.collectNamedTerms = collectNamedTerms;\n/**\n * Iterates over each term.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName} cb A callback function.\n */\nfunction forEachTerms(quad, cb) {\n cb(quad.subject, 'subject');\n cb(quad.predicate, 'predicate');\n cb(quad.object, 'object');\n cb(quad.graph, 'graph');\n}\nexports.forEachTerms = forEachTerms;\n/**\n * Iterates over each leaf term, while recursing into quoted triples.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName} cb A callback function.\n * @param QuadTermName[] keys The current key path.\n */\nfunction forEachTermsNested(quad, cb, keys = []) {\n if (quad.subject.termType === 'Quad') {\n forEachTermsNested(quad.subject, cb, [...keys, 'subject']);\n }\n else {\n cb(quad.subject, [...keys, 'subject']);\n }\n if (quad.predicate.termType === 'Quad') {\n forEachTermsNested(quad.predicate, cb, [...keys, 'predicate']);\n }\n else {\n cb(quad.predicate, [...keys, 'predicate']);\n }\n if (quad.object.termType === 'Quad') {\n forEachTermsNested(quad.object, cb, [...keys, 'object']);\n }\n else {\n cb(quad.object, [...keys, 'object']);\n }\n if (quad.graph.termType === 'Quad') {\n forEachTermsNested(quad.graph, cb, [...keys, 'graph']);\n }\n else {\n cb(quad.graph, [...keys, 'graph']);\n }\n}\nexports.forEachTermsNested = forEachTermsNested;\n/**\n * Get all terms in the given quad that return true on the given filter function.\n * @param {BaseQuad} quad A quad.\n * @param {(value: Term, key: QuadTermName) => boolean} filter A filter callback.\n * @return {Term[]} The list of matching terms.\n */\nfunction filterTerms(quad, filter) {\n const terms = [];\n if (filter(quad.subject, 'subject')) {\n terms.push(quad.subject);\n }\n if (filter(quad.predicate, 'predicate')) {\n terms.push(quad.predicate);\n }\n if (filter(quad.object, 'object')) {\n terms.push(quad.object);\n }\n if (filter(quad.graph, 'graph')) {\n terms.push(quad.graph);\n }\n return terms;\n}\nexports.filterTerms = filterTerms;\n/**\n * Get all terms in the given quad that return true on the given filter function, while recursing into quoted triples.\n * @param {BaseQuad} quad A quad.\n * @param {(value: Term, key: QuadTermName) => boolean} filter A filter callback.\n * @param QuadTermName[] keys The current key path.\n * @return {Term[]} The list of matching terms.\n */\nfunction filterTermsNested(quad, filter, keys = []) {\n let terms = [];\n if (quad.subject.termType === 'Quad') {\n terms = [...terms, ...filterTermsNested(quad.subject, filter, [...keys, 'subject'])];\n }\n else {\n if (filter(quad.subject, [...keys, 'subject'])) {\n terms.push(quad.subject);\n }\n }\n if (quad.predicate.termType === 'Quad') {\n terms = [...terms, ...filterTermsNested(quad.predicate, filter, [...keys, 'predicate'])];\n }\n else {\n if (filter(quad.predicate, [...keys, 'predicate'])) {\n terms.push(quad.predicate);\n }\n }\n if (quad.object.termType === 'Quad') {\n terms = [...terms, ...filterTermsNested(quad.object, filter, [...keys, 'object'])];\n }\n else {\n if (filter(quad.object, [...keys, 'object'])) {\n terms.push(quad.object);\n }\n }\n if (quad.graph.termType === 'Quad') {\n terms = [...terms, ...filterTermsNested(quad.graph, filter, [...keys, 'graph'])];\n }\n else {\n if (filter(quad.graph, [...keys, 'graph'])) {\n terms.push(quad.graph);\n }\n }\n return terms;\n}\nexports.filterTermsNested = filterTermsNested;\n/**\n * Get all quad term names in the given quad that return true on the given filter function.\n * @param {BaseQuad} quad A quad.\n * @param {(value: Term, key: QuadTermName, all: INamedTerm[]) => boolean} filter A filter callback.\n * @return {QuadTermName[]} The list of matching quad term names.\n */\nfunction filterQuadTermNames(quad, filter) {\n const names = [];\n if (filter(quad.subject, 'subject')) {\n names.push('subject');\n }\n if (filter(quad.predicate, 'predicate')) {\n names.push('predicate');\n }\n if (filter(quad.object, 'object')) {\n names.push('object');\n }\n if (filter(quad.graph, 'graph')) {\n names.push('graph');\n }\n return names;\n}\nexports.filterQuadTermNames = filterQuadTermNames;\n/**\n * Get all quad term names in the given quad that return true on the given filter function, while recursing into quoted triples.\n * @param {BaseQuad} quad A quad.\n * @param {(value: Term, key: QuadTermName, all: INamedTerm[]) => boolean} filter A filter callback.\n * @param QuadTermName[] keys The current key path.\n * @return {QuadTermName[]} The list of matching quad term names.\n */\nfunction filterQuadTermNamesNested(quad, filter, keys = []) {\n let names = [];\n const keysS = [...keys, 'subject'];\n if (quad.subject.termType === 'Quad') {\n names = [...names, ...filterQuadTermNamesNested(quad.subject, filter, keysS)];\n }\n else {\n if (filter(quad.subject, keysS)) {\n names.push(keysS);\n }\n }\n const keysP = [...keys, 'predicate'];\n if (quad.predicate.termType === 'Quad') {\n names = [...names, ...filterQuadTermNamesNested(quad.predicate, filter, keysP)];\n }\n else {\n if (filter(quad.predicate, keysP)) {\n names.push(keysP);\n }\n }\n const keysO = [...keys, 'object'];\n if (quad.object.termType === 'Quad') {\n names = [...names, ...filterQuadTermNamesNested(quad.object, filter, keysO)];\n }\n else {\n if (filter(quad.object, keysO)) {\n names.push(keysO);\n }\n }\n const keysG = [...keys, 'graph'];\n if (quad.graph.termType === 'Quad') {\n names = [...names, ...filterQuadTermNamesNested(quad.graph, filter, keysG)];\n }\n else {\n if (filter(quad.graph, keysG)) {\n names.push(keysG);\n }\n }\n return names;\n}\nexports.filterQuadTermNamesNested = filterQuadTermNamesNested;\n/**\n * Map all terms of a quad.\n * @param {Quad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName) => Term} mapper A mapper function.\n * @param {RDF.DataFactory} dataFactory A custom data factory to create quads.\n * @return {Quad} A new RDFJS quad.\n * @template Q The type of quad, defaults to RDF.Quad.\n */\nfunction mapTerms(quad, mapper, dataFactory) {\n return (dataFactory || DF).quad(mapper(quad.subject, 'subject'), mapper(quad.predicate, 'predicate'), mapper(quad.object, 'object'), mapper(quad.graph, 'graph'));\n}\nexports.mapTerms = mapTerms;\n/**\n * Map all terms of a quad, while recursing into quoted triples.\n * @param {Quad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName) => Term} mapper A mapper function.\n * @param {RDF.DataFactory} dataFactory A custom data factory to create quads.\n * @param QuadTermName[] keys The current key path.\n * @return {Quad} A new RDFJS quad.\n * @template Q The type of quad, defaults to RDF.Quad.\n */\nfunction mapTermsNested(quad, mapper, dataFactory, keys = []) {\n return (dataFactory || DF).quad(quad.subject.termType === 'Quad' ?\n mapTermsNested(quad.subject, mapper, dataFactory, [...keys, 'subject']) :\n mapper(quad.subject, [...keys, 'subject']), quad.predicate.termType === 'Quad' ?\n mapTermsNested(quad.predicate, mapper, dataFactory, [...keys, 'predicate']) :\n mapper(quad.predicate, [...keys, 'predicate']), quad.object.termType === 'Quad' ?\n mapTermsNested(quad.object, mapper, dataFactory, [...keys, 'object']) :\n mapper(quad.object, [...keys, 'object']), quad.graph.termType === 'Quad' ?\n mapTermsNested(quad.graph, mapper, dataFactory, [...keys, 'graph']) :\n mapper(quad.graph, [...keys, 'graph']));\n}\nexports.mapTermsNested = mapTermsNested;\n/**\n * Reduce all terms of a quad.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(previousValue: U, currentValue: Term, key: QuadTermName) => U} reducer A reduce function.\n * @param {U} initialValue The initial value.\n * @return {U} The final value.\n */\nfunction reduceTerms(quad, reducer, initialValue) {\n let value = initialValue;\n value = reducer(value, quad.subject, 'subject');\n value = reducer(value, quad.predicate, 'predicate');\n value = reducer(value, quad.object, 'object');\n return reducer(value, quad.graph, 'graph');\n}\nexports.reduceTerms = reduceTerms;\n/**\n * Reduce all terms of a quad, while recursing into quoted triples.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(previousValue: U, currentValue: Term, key: QuadTermName) => U} reducer A reduce function.\n * @param {U} initialValue The initial value.\n * @param QuadTermName[] keys The current key path.\n * @return {U} The final value.\n */\nfunction reduceTermsNested(quad, reducer, initialValue, keys = []) {\n let value = initialValue;\n if (quad.subject.termType === 'Quad') {\n value = reduceTermsNested(quad.subject, reducer, value, [...keys, 'subject']);\n }\n else {\n value = reducer(value, quad.subject, [...keys, 'subject']);\n }\n if (quad.predicate.termType === 'Quad') {\n value = reduceTermsNested(quad.predicate, reducer, value, [...keys, 'predicate']);\n }\n else {\n value = reducer(value, quad.predicate, [...keys, 'predicate']);\n }\n if (quad.object.termType === 'Quad') {\n value = reduceTermsNested(quad.object, reducer, value, [...keys, 'object']);\n }\n else {\n value = reducer(value, quad.object, [...keys, 'object']);\n }\n if (quad.graph.termType === 'Quad') {\n value = reduceTermsNested(quad.graph, reducer, value, [...keys, 'graph']);\n }\n else {\n value = reducer(value, quad.graph, [...keys, 'graph']);\n }\n return value;\n}\nexports.reduceTermsNested = reduceTermsNested;\n/**\n * Determines whether all terms satisfy the specified test.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName} checker A checker function.\n * @return {boolean} If all terms satisfy the specified test.\n */\nfunction everyTerms(quad, checker) {\n return checker(quad.subject, 'subject')\n && checker(quad.predicate, 'predicate')\n && checker(quad.object, 'object')\n && checker(quad.graph, 'graph');\n}\nexports.everyTerms = everyTerms;\n/**\n * Determines whether all terms satisfy the specified test, while recursing into quoted triples.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName} checker A checker function.\n * @param QuadTermName[] keys The current key path.\n * @return {boolean} If all terms satisfy the specified test.\n */\nfunction everyTermsNested(quad, checker, keys = []) {\n return (quad.subject.termType === 'Quad' ?\n everyTermsNested(quad.subject, checker, [...keys, 'subject']) :\n checker(quad.subject, [...keys, 'subject']))\n && (quad.predicate.termType === 'Quad' ?\n everyTermsNested(quad.predicate, checker, [...keys, 'predicate']) :\n checker(quad.predicate, [...keys, 'predicate']))\n && (quad.object.termType === 'Quad' ?\n everyTermsNested(quad.object, checker, [...keys, 'object']) :\n checker(quad.object, [...keys, 'object']))\n && (quad.graph.termType === 'Quad' ?\n everyTermsNested(quad.graph, checker, [...keys, 'graph']) :\n checker(quad.graph, [...keys, 'graph']));\n}\nexports.everyTermsNested = everyTermsNested;\n/**\n * Determines whether at least one term satisfies the specified test.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName} checker A checker function.\n * @return {boolean} If at least one term satisfies the specified test.\n */\nfunction someTerms(quad, checker) {\n return checker(quad.subject, 'subject')\n || checker(quad.predicate, 'predicate')\n || checker(quad.object, 'object')\n || checker(quad.graph, 'graph');\n}\nexports.someTerms = someTerms;\n/**\n * Determines whether at least one term satisfies the specified test, while recursing into quoted triples.\n * @param {BaseQuad} quad An RDFJS quad.\n * @param {(value: Term, key: QuadTermName} checker A checker function.\n * @param QuadTermName[] keys The current key path.\n * @return {boolean} If at least one term satisfies the specified test.\n */\nfunction someTermsNested(quad, checker, keys = []) {\n return (quad.subject.termType === 'Quad' ?\n someTermsNested(quad.subject, checker, [...keys, 'subject']) :\n checker(quad.subject, [...keys, 'subject']))\n || (quad.predicate.termType === 'Quad' ?\n someTermsNested(quad.predicate, checker, [...keys, 'predicate']) :\n checker(quad.predicate, [...keys, 'predicate']))\n || (quad.object.termType === 'Quad' ?\n someTermsNested(quad.object, checker, [...keys, 'object']) :\n checker(quad.object, [...keys, 'object']))\n || (quad.graph.termType === 'Quad' ?\n someTermsNested(quad.graph, checker, [...keys, 'graph']) :\n checker(quad.graph, [...keys, 'graph']));\n}\nexports.someTermsNested = someTermsNested;\n/**\n * Get the nested value inside a quoted triple by the given path of quad keys.\n * @param term A term, that can be a quoted triple.\n * @param keys A path of quad term names.\n */\nfunction getValueNestedPath(term, keys) {\n if (keys.length === 0) {\n return term;\n }\n if (term.termType === 'Quad') {\n return getValueNestedPath(term[keys[0]], keys.slice(1));\n }\n throw new Error(`Tried to get ${keys[0]} from term of type ${term.termType}`);\n}\nexports.getValueNestedPath = getValueNestedPath;\n/**\n * Check if the given terms match.\n *\n * At least one of the following must be true:\n * * Term B is undefined.\n * * Term B is a variable.\n * * Term A and B are quads, and return true for `matchPatternComplete`.\n * * Quad term and term are equal (`termB.equals(termA)` return true)\n *\n * @param termA A term.\n * @param termB An optional term.\n */\nfunction matchTerm(termA, termB) {\n return !termB\n || termB.termType === 'Variable'\n || (termB.termType === 'Quad' && termA.termType === 'Quad' && matchPatternComplete(termA, termB))\n || termB.equals(termA);\n}\nexports.matchTerm = matchTerm;\n/**\n * Check if the given quad matches with the given quad terms.\n *\n * Each term must match at least one of the following:\n * * Term is undefined.\n * * Term is a variable.\n * * Quad term and term are both quads, and return true for `matchPatternComplete`.\n * * Quad term and term are equal (`quadTerm.equals(term)` return true)\n *\n * @param {BaseQuad} quad A quad to match with (can not contain variables).\n * @param {Term} subject An optional subject.\n * @param {Term} predicate An optional predicate.\n * @param {Term} object An optional object.\n * @param {Term} graph An optional graph.\n * @return {boolean} If the quad matches with the quad terms.\n */\nfunction matchPattern(quad, subject, predicate, object, graph) {\n return matchTerm(quad.subject, subject)\n && matchTerm(quad.predicate, predicate)\n && matchTerm(quad.object, object)\n && matchTerm(quad.graph, graph);\n}\nexports.matchPattern = matchPattern;\n/**\n * Check if the first quad matches with all terms from the second quad.\n *\n * Each term must match at least one of the following:\n * * Quad2 term is a variable.\n * * Quad1 term and Quad2 term are equal (`term1.equals(term2)` return true)\n *\n * @param {BaseQuad} quad A quad (can not contain variables).\n * @param {BaseQuad} pattern A quad pattern (can contain variables).\n * @return {boolean} If the quad terms match.\n */\nfunction matchPatternComplete(quad, pattern) {\n return matchPattern(quad, pattern.subject, pattern.predicate, pattern.object, pattern.graph);\n}\nexports.matchPatternComplete = matchPatternComplete;\nfunction matchPatternMappings(quad, pattern, opt = {}) {\n const map = {};\n function match(_pattern, _quad) {\n return everyTerms(_pattern, (t1, key) => {\n var _a, _b;\n const t2 = _quad[key];\n switch (t1.termType) {\n case 'Variable':\n return (opt.skipVarMapping && t2.termType === 'Variable')\n || ((_b = (_a = map[t1.value]) === null || _a === void 0 ? void 0 : _a.equals(t2)) !== null && _b !== void 0 ? _b : (map[t1.value] = t2, true));\n case 'Quad':\n return t2.termType === 'Quad' && match(t1, t2);\n default:\n return t1.equals(t2);\n }\n });\n }\n return match(pattern, quad) && (opt.returnMappings ? map : true);\n}\nexports.matchPatternMappings = matchPatternMappings;\n//# sourceMappingURL=QuadTermUtil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getQuads = exports.getDefaultGraphs = exports.getVariables = exports.getLiterals = exports.getBlankNodes = exports.getNamedNodes = exports.getTermsOfType = exports.uniqTerms = exports.TERM_TYPES = void 0;\nconst rdf_string_1 = require(\"rdf-string\");\n/**\n * All known term types.\n * @see RDF.Term\n * @type {[string , string , string , string , string, string]}\n */\nexports.TERM_TYPES = ['NamedNode', 'BlankNode', 'Literal', 'Variable', 'DefaultGraph', 'Quad'];\n/*\n * Utility methods for handling RDFJS terms.\n */\n/**\n * Create an array of unique terms from the given array.\n * @param {T[]} terms An array of RDFJS terms.\n * @return {T[]} A new array of unique RDFJS terms.\n */\nfunction uniqTerms(terms) {\n const hash = {};\n return terms.filter(term => {\n const termString = (0, rdf_string_1.termToString)(term);\n return !(termString in hash) && (hash[termString] = true);\n });\n}\nexports.uniqTerms = uniqTerms;\n/**\n * Find all terms of the given type in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @param {\"NamedNode\" | \"BlankNode\" | \"Literal\" | \"Variable\" | \"DefaultGraph\" | \"Quad\"} termType A term type.\n * @return {Term[]} A new array with elements from the given array only containing elements of the given type.\n */\nfunction getTermsOfType(terms, termType) {\n return terms.filter((term) => term.termType === termType);\n}\nexports.getTermsOfType = getTermsOfType;\n/**\n * Find all named nodes in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @return {NamedNode[]} A new array with elements from the given array only containing named nodes.\n */\nfunction getNamedNodes(terms) {\n return getTermsOfType(terms, 'NamedNode');\n}\nexports.getNamedNodes = getNamedNodes;\n/**\n * Find all blank nodes in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @return {BlankNode[]} A new array with elements from the given array only containing blank nodes.\n */\nfunction getBlankNodes(terms) {\n return getTermsOfType(terms, 'BlankNode');\n}\nexports.getBlankNodes = getBlankNodes;\n/**\n * Find all literals in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @return {Literal[]} A new array with elements from the given array only containing literals.\n */\nfunction getLiterals(terms) {\n return getTermsOfType(terms, 'Literal');\n}\nexports.getLiterals = getLiterals;\n/**\n * Find all variables in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @return {Variable[]} A new array with elements from the given array only containing variables.\n */\nfunction getVariables(terms) {\n return getTermsOfType(terms, 'Variable');\n}\nexports.getVariables = getVariables;\n/**\n * Find all default graphs in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @return {DefaultGraph[]} A new array with elements from the given array only containing default graphs.\n */\nfunction getDefaultGraphs(terms) {\n return getTermsOfType(terms, 'DefaultGraph');\n}\nexports.getDefaultGraphs = getDefaultGraphs;\n/**\n * Find all quads in the given array.\n * @param {Term[]} terms An array of RDFJS terms.\n * @return {BaseQuad[]} A new array with elements from the given array only containing quads.\n */\nfunction getQuads(terms) {\n return getTermsOfType(terms, 'Quad');\n}\nexports.getQuads = getQuads;\n//# sourceMappingURL=TermUtil.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/IActiveTag\"), exports);\n__exportStar(require(\"./lib/IHtmlParseListener\"), exports);\n__exportStar(require(\"./lib/IRdfaPattern\"), exports);\n__exportStar(require(\"./lib/RdfaParser\"), exports);\n__exportStar(require(\"./lib/RdfaProfile\"), exports);\n__exportStar(require(\"./lib/Util\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IActiveTag.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IHtmlParseListener.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=IRdfaPattern.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RdfaParser = void 0;\nconst htmlparser2_1 = require(\"htmlparser2\");\nconst readable_stream_1 = require(\"readable-stream\");\nconst INITIAL_CONTEXT_XHTML = require(\"./initial-context-xhtml.json\");\nconst INITIAL_CONTEXT = require(\"./initial-context.json\");\nconst RdfaProfile_1 = require(\"./RdfaProfile\");\nconst Util_1 = require(\"./Util\");\n/**\n * A stream transformer that parses RDFa (text) streams to an {@link RDF.Stream}.\n */\nclass RdfaParser extends readable_stream_1.Transform {\n constructor(options) {\n super({ readableObjectMode: true });\n this.activeTagStack = [];\n options = options || {};\n this.options = options;\n this.util = new Util_1.Util(options.dataFactory, options.baseIRI);\n this.defaultGraph = options.defaultGraph || this.util.dataFactory.defaultGraph();\n const profile = options.contentType ? Util_1.Util.contentTypeToProfile(options.contentType) : options.profile || '';\n this.features = options.features || RdfaProfile_1.RDFA_FEATURES[profile];\n this.htmlParseListener = options.htmlParseListener;\n this.rdfaPatterns = this.features.copyRdfaPatterns ? {} : null;\n this.pendingRdfaPatternCopies = this.features.copyRdfaPatterns ? {} : null;\n this.parser = this.initializeParser(profile === 'xml');\n this.activeTagStack.push({\n incompleteTriples: [],\n inlist: false,\n language: options.language,\n listMapping: {},\n listMappingLocal: {},\n name: '',\n prefixesAll: Object.assign(Object.assign({}, INITIAL_CONTEXT['@context']), this.features.xhtmlInitialContext ? INITIAL_CONTEXT_XHTML['@context'] : {}),\n prefixesCustom: {},\n skipElement: false,\n vocab: options.vocab,\n });\n }\n /**\n * Parses the given text stream into a quad stream.\n * @param {NodeJS.EventEmitter} stream A text stream.\n * @return {RDF.Stream} A quad stream.\n */\n import(stream) {\n const output = new readable_stream_1.PassThrough({ readableObjectMode: true });\n stream.on('error', (error) => parsed.emit('error', error));\n stream.on('data', (data) => output.push(data));\n stream.on('end', () => output.push(null));\n const parsed = output.pipe(new RdfaParser(this.options));\n return parsed;\n }\n _transform(chunk, encoding, callback) {\n this.parser.write(chunk.toString());\n callback();\n }\n _flush(callback) {\n this.parser.end();\n callback();\n }\n onTagOpen(name, attributes) {\n // Determine the parent tag (ignore skipped tags)\n let parentTagI = this.activeTagStack.length - 1;\n while (parentTagI > 0 && this.activeTagStack[parentTagI].skipElement) {\n parentTagI--;\n }\n let parentTag = this.activeTagStack[parentTagI];\n // If we skipped a tag, make sure we DO use the lang, prefixes and vocab of the skipped tag\n if (parentTagI !== this.activeTagStack.length - 1) {\n parentTag = Object.assign(Object.assign({}, parentTag), { language: this.activeTagStack[this.activeTagStack.length - 1].language, prefixesAll: this.activeTagStack[this.activeTagStack.length - 1].prefixesAll, prefixesCustom: this.activeTagStack[this.activeTagStack.length - 1].prefixesCustom, vocab: this.activeTagStack[this.activeTagStack.length - 1].vocab });\n }\n // Create a new active tag and inherit language scope and baseIRI from parent\n const activeTag = {\n collectChildTags: parentTag.collectChildTags,\n incompleteTriples: [],\n inlist: 'inlist' in attributes,\n listMapping: [],\n listMappingLocal: parentTag.listMapping,\n localBaseIRI: parentTag.localBaseIRI,\n name,\n prefixesAll: null,\n prefixesCustom: null,\n skipElement: false,\n };\n this.activeTagStack.push(activeTag);\n // Save the tag contents if needed\n if (activeTag.collectChildTags) {\n // Add explicitly defined xmlns, xmlns:* and prefixes to attributes, as required by the spec (Step 11, note)\n // Sort prefixes alphabetically for deterministic namespace declaration order\n for (const prefix of Object.keys(parentTag.prefixesCustom).sort()) {\n const suffix = parentTag.prefixesCustom[prefix];\n const attributeKey = prefix === '' ? 'xmlns' : 'xmlns:' + prefix;\n if (!(attributeKey in attributes)) {\n attributes[attributeKey] = suffix;\n }\n }\n const attributesSerialized = Object.keys(attributes).map((key) => `${key}=\"${attributes[key]}\"`).join(' ');\n activeTag.text = [`<${name}${attributesSerialized ? ' ' + attributesSerialized : ''}>`];\n if (this.features.skipHandlingXmlLiteralChildren) {\n return;\n }\n }\n let allowTermsInRelPredicates = true;\n let allowTermsInRevPredicates = true;\n if (this.features.onlyAllowUriRelRevIfProperty) {\n // Ignore illegal rel/rev values when property is present\n if ('property' in attributes && 'rel' in attributes) {\n allowTermsInRelPredicates = false;\n if (attributes.rel.indexOf(':') < 0) {\n delete attributes.rel;\n }\n }\n if ('property' in attributes && 'rev' in attributes) {\n allowTermsInRevPredicates = false;\n if (attributes.rev.indexOf(':') < 0) {\n delete attributes.rev;\n }\n }\n }\n if (this.features.copyRdfaPatterns) {\n // Save the tag if needed\n if (parentTag.collectedPatternTag) {\n const patternTag = {\n attributes,\n children: [],\n name,\n referenced: false,\n rootPattern: false,\n text: [],\n };\n parentTag.collectedPatternTag.children.push(patternTag);\n activeTag.collectedPatternTag = patternTag;\n return;\n }\n // Store tags with type rdfa:Pattern as patterns\n if (attributes.typeof === 'rdfa:Pattern') {\n activeTag.collectedPatternTag = {\n attributes,\n children: [],\n name,\n parentTag,\n referenced: false,\n rootPattern: true,\n text: [],\n };\n return;\n }\n // Instantiate patterns on rdfa:copy\n if (attributes.property === 'rdfa:copy') {\n const copyTargetPatternId = attributes.resource || attributes.href || attributes.src;\n if (this.rdfaPatterns[copyTargetPatternId]) {\n this.emitPatternCopy(parentTag, this.rdfaPatterns[copyTargetPatternId], copyTargetPatternId);\n }\n else {\n if (!this.pendingRdfaPatternCopies[copyTargetPatternId]) {\n this.pendingRdfaPatternCopies[copyTargetPatternId] = [];\n }\n this.pendingRdfaPatternCopies[copyTargetPatternId].push(parentTag);\n }\n return;\n }\n }\n // tags override the baseIRI of the whole document\n if (this.features.baseTag && name === 'base' && attributes.href) {\n this.util.baseIRI = this.util.getBaseIRI(attributes.href);\n }\n // xml:base attributes override the baseIRI of the current tag and children\n if (this.features.xmlBase && attributes['xml:base']) {\n activeTag.localBaseIRI = this.util.getBaseIRI(attributes['xml:base']);\n }\n //