@jinntec/fore 1.0.0-5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +6 -27
  2. package/dist/fore-dev.js +43 -0
  3. package/dist/fore-dev.js.map +1 -0
  4. package/dist/fore.js +37 -0
  5. package/dist/fore.js.map +1 -0
  6. package/index.js +2 -1
  7. package/package.json +35 -39
  8. package/resources/fore.css +22 -54
  9. package/src/DependencyNotifyingDomFacade.js +5 -13
  10. package/src/ForeElementMixin.js +13 -20
  11. package/src/actions/abstract-action.js +14 -9
  12. package/src/actions/fx-action.js +6 -5
  13. package/src/actions/fx-append.js +8 -17
  14. package/src/actions/fx-confirm.js +3 -1
  15. package/src/actions/fx-delete.js +6 -3
  16. package/src/actions/fx-dispatch.js +9 -8
  17. package/src/actions/fx-hide.js +9 -6
  18. package/src/actions/fx-insert.js +27 -14
  19. package/src/actions/fx-message.js +3 -1
  20. package/src/actions/fx-refresh.js +11 -1
  21. package/src/actions/fx-replace.js +68 -0
  22. package/src/actions/fx-return.js +42 -0
  23. package/src/actions/fx-send.js +3 -1
  24. package/src/actions/fx-setvalue.js +58 -51
  25. package/src/actions/fx-show.js +8 -4
  26. package/src/actions/fx-toggle.js +13 -9
  27. package/src/actions/fx-update.js +3 -1
  28. package/src/dep_graph.js +1 -1
  29. package/src/drawdown.js +67 -82
  30. package/src/fore.js +141 -25
  31. package/src/functions/fx-function.js +11 -3
  32. package/src/fx-bind.js +39 -199
  33. package/src/fx-fore.js +101 -68
  34. package/src/fx-header.js +3 -1
  35. package/src/fx-instance.js +9 -1
  36. package/src/fx-model.js +31 -23
  37. package/src/fx-submission.js +73 -47
  38. package/src/fx-var.js +7 -4
  39. package/src/getInScopeContext.js +23 -16
  40. package/src/modelitem.js +4 -4
  41. package/src/relevance.js +65 -0
  42. package/src/ui/abstract-control.js +55 -35
  43. package/src/ui/fx-alert.js +7 -1
  44. package/src/ui/fx-case.js +3 -1
  45. package/src/ui/fx-container.js +4 -2
  46. package/src/ui/fx-control.js +283 -33
  47. package/src/ui/fx-dialog.js +50 -45
  48. package/src/ui/fx-group.js +3 -1
  49. package/src/ui/fx-hint.js +4 -1
  50. package/src/ui/fx-inspector.js +117 -17
  51. package/src/ui/fx-items.js +7 -5
  52. package/src/ui/fx-output.js +14 -5
  53. package/src/ui/fx-repeat.js +13 -26
  54. package/src/ui/fx-repeatitem.js +10 -4
  55. package/src/ui/fx-switch.js +3 -1
  56. package/src/ui/fx-trigger.js +3 -1
  57. package/src/xpath-evaluation.js +114 -102
  58. package/src/xpath-util.js +1 -5
  59. package/dist/fore-all.js +0 -140
  60. package/dist/fore-debug.js +0 -140
  61. package/src/.DS_Store +0 -0
  62. package/src/actions/.DS_Store +0 -0
  63. package/src/ui/.DS_Store +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fore.js","sources":["../node_modules/whynot/dist/whynot.esm.js","../node_modules/xspattern/dist/xspattern.esm.js","../node_modules/prsc/dist/prsc.esm.js","../node_modules/fontoxpath/dist/fontoxpath.esm.js","../src/DependencyNotifyingDomFacade.js","../src/xpath-util.js","../src/dep_graph.js","../src/fore.js","../src/xpath-evaluation.js","../src/fx-instance.js","../src/modelitem.js","../src/fx-model.js","../src/getInScopeContext.js","../src/ForeElementMixin.js","../src/fx-bind.js","../node_modules/toastify-js/src/toastify-es.js","../node_modules/@jinntec/jinn-toast/src/JinnToast.js","../src/fx-fore.js","../src/relevance.js","../src/fx-submission.js","../src/fx-header.js","../src/fx-var.js","../src/ui/abstract-control.js","../src/ui/fx-alert.js","../src/ui/fx-control.js","../src/ui/fx-container.js","../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../src/ui/fx-group.js","../src/ui/fx-hint.js","../src/ui/fx-output.js","../src/ui/fx-repeatitem.js","../src/ui/fx-repeat.js","../src/ui/fx-switch.js","../src/ui/fx-trigger.js","../src/ui/fx-case.js","../src/ui/fx-inspector.js","../src/ui/fx-dialog.js","../src/ui/fx-items.js","../src/actions/abstract-action.js","../src/actions/fx-append.js","../src/actions/fx-delete.js","../src/actions/fx-insert.js","../src/actions/fx-message.js","../src/actions/fx-setvalue.js","../src/actions/fx-send.js","../src/actions/fx-toggle.js","../src/actions/fx-dispatch.js","../src/actions/fx-update.js","../src/actions/fx-refresh.js","../src/actions/fx-replace.js","../src/actions/fx-return.js","../src/actions/fx-action.js","../src/actions/fx-confirm.js","../src/actions/fx-show.js","../src/actions/fx-hide.js","../src/functions/fx-function.js"],"sourcesContent":["function t(t,s,r,i){const n={op:s,func:r,data:i};return t.push(n),n}function s(t,s){return t}class r{constructor(){this.program=[]}test(s,r){return t(this.program,5,s,void 0===r?null:r)}jump(s){return t(this.program,3,null,s)}record(r,i){return t(this.program,4,void 0===i?s:i,r)}bad(s=1){return t(this.program,1,null,s)}accept(){return t(this.program,0,null,null)}fail(s){return t(this.program,2,s||null,null)}}class i{constructor(t,s,r){this.programLength=t,this.maxFromByPc=s,this.maxSurvivorFromByPc=r}static fromProgram(t){const s=t.length,r=[],n=[];return t.forEach((t=>{r.push(0),n.push(0)})),t.forEach(((t,i)=>{switch(t.op){case 2:if(null===t.func)return;if(i+1>=s)throw new Error(\"Invalid program: program could run past end\");r[i+1]+=1;break;case 1:case 4:if(i+1>=s)throw new Error(\"Invalid program: program could run past end\");r[i+1]+=1;break;case 3:t.data.forEach((t=>{if(t<0||t>=s)throw new Error(\"Invalid program: program could run past end\");r[t]+=1}));break;case 5:if(i+1>=s)throw new Error(\"Invalid program: program could run past end\");n[i+1]+=1;break;case 0:n[i]+=1}})),new i(s,r,n)}static createStub(t){const s=[],r=[];for(let i=0;i<t;++i)s.push(t),r.push(t);return new i(t,s,r)}}class n{constructor(t){this.acceptingTraces=t,this.success=t.length>0}}class h{constructor(t){this.t=0,this.i=0,this.h=new Uint16Array(t),this.l=new Uint8Array(t)}getBadness(t){return this.l[t]}add(t,s){this.l[t]=s>255?255:s;const r=function(t,s,r,i,n){let h=i,e=n;for(;h<e;){const i=h+e>>>1;r<s[t[i]]?e=i:h=i+1}return h}(this.h,this.l,s,this.i,this.t);this.h.copyWithin(r+1,r,this.t),this.h[r]=t,this.t+=1}reschedule(t,s){const r=Math.max(this.l[t],s>255?255:s);if(this.l[t]!==r){const s=this.h.indexOf(t,this.i);if(s<0||s>=this.t)return void(this.l[t]=r);this.h.copyWithin(s,s+1,this.t),this.t-=1,this.add(t,r)}}getNextPc(){return this.i>=this.t?null:this.h[this.i++]}reset(){this.t=0,this.i=0,this.l.fill(0)}}class e{constructor(t){this.o=[];let s=t.length;t.forEach((t=>{this.o.push(t>0?s:-1),s+=t})),this.u=new Uint16Array(s)}clear(){this.u.fill(0,0,this.o.length)}add(t,s){const r=this.u[s],i=this.o[s];this.u[s]+=1,this.u[i+r]=t}has(t){return this.u[t]>0}forEach(t,s){const r=this.u[t],i=this.o[t];for(let t=i;t<i+r;++t)s(this.u[t])}}function l(t,s,r=!1){return null===t?s:Array.isArray(t)?(-1===t.indexOf(s)&&(r&&(t=t.slice()),t.push(s)),t):t===s?t:[t,s]}class c{constructor(t,s){this.prefixes=t,this.record=s}}function o(t,s){let r;if(null===s){if(!Array.isArray(t))return t;r=t}else r=t===c.EMPTY?[]:Array.isArray(t)?t:[t];return new c(r,s)}c.EMPTY=new c([],null);class u{constructor(t){this.p=[],this.v=[];for(let s=0;s<t;++s)this.p.push(0),this.v.push(null)}mergeTraces(t,s,r,i,n,h){let e=!1;return r.forEach(s,(s=>{const r=this.trace(s,i,n,h);var c,o,u;o=r,u=e,t=null===(c=t)?o:null===o?c:Array.isArray(o)?o.reduce(((t,s)=>l(t,s,t===o)),c):l(c,o,u),e=t===r})),t}trace(t,s,r,i){switch(this.p[t]){case 2:return this.v[t];case 1:return null}this.p[t]=1;let n=null;const h=s[t];if(null!==h)n=h;else if(!r.has(t))throw new Error(`Trace without source at pc ${t}`);if(n=this.mergeTraces(n,t,r,s,r,i),null!==n){const s=i[t];null!==s&&(n=o(n,s))}return this.v[t]=n,this.p[t]=2,n}buildSurvivorTraces(t,s,r,i,n){for(let h=0,e=t.length;h<e;++h){if(!r.has(h)){s[h]=null;continue}this.v.fill(null),this.p.fill(0);const e=this.mergeTraces(null,h,r,t,i,n);if(null===e)throw new Error(`No non-cyclic paths found to survivor ${h}`);s[h]=o(e,null)}this.v.fill(null)}}class a{constructor(t){this.g=[],this.k=[],this.m=[],this.A=new e(t.maxFromByPc),this.T=new e(t.maxSurvivorFromByPc),this.S=new u(t.programLength);for(let s=0;s<t.programLength;++s)this.g.push(null),this.k.push(null),this.m.push(null);this.k[0]=c.EMPTY}reset(t){this.A.clear(),this.T.clear(),this.g.fill(null),t&&(this.k.fill(null),this.m.fill(null),this.k[0]=c.EMPTY)}record(t,s){this.g[t]=s}has(t){return this.A.has(t)||null!==this.k[t]}add(t,s){this.A.add(t,s)}hasSurvivor(t){return this.T.has(t)}addSurvivor(t,s){this.T.add(t,s)}buildSurvivorTraces(){const t=this.k;this.S.buildSurvivorTraces(t,this.m,this.T,this.A,this.g),this.k=this.m,this.m=t}getTraces(t){const s=t.reduce(((t,s)=>l(t,this.k[s])),null);return null===s?[]:Array.isArray(s)?s:[s]}}class f{constructor(t){this.I=[],this.N=new h(t.programLength),this.M=new h(t.programLength),this.P=new a(t)}reset(){this.N.reset(),this.N.add(0,0),this.I.length=0,this.P.reset(!0)}getNextThreadPc(){return this.N.getNextPc()}step(t,s,r){const i=this.P.has(s);this.P.add(t,s);const n=this.N.getBadness(t)+r;i?this.N.reschedule(s,n):this.N.add(s,n)}stepToNextGeneration(t,s){const r=this.P.hasSurvivor(s);this.P.addSurvivor(t,s);const i=this.N.getBadness(t);r?this.M.reschedule(s,i):this.M.add(s,i)}accept(t){this.I.push(t),this.P.addSurvivor(t,t)}fail(t){}record(t,s){this.P.record(t,s)}nextGeneration(){this.P.buildSurvivorTraces(),this.P.reset(!1);const t=this.N;t.reset(),this.N=this.M,this.M=t}getAcceptingTraces(){return this.P.getTraces(this.I)}}class d{constructor(t){this.U=[],this.G=t,this.V=i.fromProgram(t),this.U.push(new f(this.V))}execute(t,s){const r=this.U.pop()||new f(this.V);r.reset();const i=t.length;let h,e=-1;do{let n=r.getNextThreadPc();if(null===n)break;for(++e,h=e>=i?null:t[e];null!==n;){const t=this.G[n];switch(t.op){case 0:null===h?r.accept(n):r.fail(n);break;case 2:{const i=t.func;if(null===i||i(s)){r.fail(n);break}r.step(n,n+1,0);break}case 1:r.step(n,n+1,t.data);break;case 5:if(null===h){r.fail(n);break}if(!(0,t.func)(h,t.data,s)){r.fail(n);break}r.stepToNextGeneration(n,n+1);break;case 3:{const s=t.data,i=s.length;if(0===i){r.fail(n);break}for(let t=0;t<i;++t)r.step(n,s[t],0);break}case 4:{const i=(0,t.func)(t.data,e,s);null!=i&&r.record(n,i),r.step(n,n+1,0);break}}n=r.getNextThreadPc()}r.nextGeneration()}while(null!==h);const l=new n(r.getAcceptingTraces());return r.reset(),this.U.push(r),l}}function w(t){const s=new r;return t(s),new d(s.program)}var p={Assembler:r,VM:d,compileVM:w};export default p;export{r as Assembler,d as VM,w as compileVM};\n//# sourceMappingURL=whynot.esm.js.map\n","import{compileVM as A}from\"whynot\";function B(A){return B=>B===A}function a(A,B){if(null===A||null===B)throw new Error(\"unescaped hyphen may not be used as a range endpoint\");if(B<A)throw new Error(\"character range is in the wrong order\");return a=>A<=a&&a<=B}function n(A){return!0}function e(){return!1}function t(A,B){return a=>A(a)||B(a)}function G(A,B){switch(B.kind){case\"predicate\":return void A.test(B.value);case\"regexp\":return void r(A,B.value,!1)}}function i(A,B){B.forEach((B=>{!function(A,B){const[a,{min:n,max:e}]=B;if(null!==e){for(let B=0;B<n;++B)G(A,a);for(let B=n;B<e;++B){const B=A.jump([]);B.data.push(A.program.length),G(A,a),B.data.push(A.program.length)}}else if(n>0){for(let B=0;B<n-1;++B)G(A,a);const B=A.program.length;G(A,a),A.jump([B]).data.push(A.program.length)}else{const B=A.program.length,n=A.jump([]);n.data.push(A.program.length),G(A,a),A.jump([B]),n.data.push(A.program.length)}}(A,B)}))}function r(A,B,a){const n=A.program.length,e=A.jump([]);a&&(e.data.push(A.program.length),A.test((()=>!0)),A.jump([n]));const t=[];if(B.forEach((B=>{e.data.push(A.program.length),i(A,B),t.push(A.jump([]))})),t.forEach((B=>{B.data.push(A.program.length)})),a){const B=A.program.length,a=A.jump([]);a.data.push(A.program.length),A.test((()=>!0)),A.jump([B]),a.data.push(A.program.length)}}function o(A,B){return{success:!0,offset:A,value:B}}function l(A){return o(A,void 0)}function H(A,B,a=!1){return{success:!1,offset:A,expected:B,fatal:a}}function u(A){return(B,a)=>{const n=a+A.length;return B.slice(a,n)===A?o(n,A):H(a,[A])}}function C(A,B){return(a,n)=>{const e=A(a,n);return e.success?o(e.offset,B(e.value)):e}}function s(A,B,a){return(n,e)=>{const t=A(n,e);return t.success?B(t.value)?t:H(e,a):t.offset===e?H(e,a):t}}function c(A){return(B,a)=>{let n=null;for(const e of A){const A=e(B,a);if(A.success)return A;if(null===n||A.offset>n.offset?n=A:A.offset===n.offset&&(n.expected=n.expected.concat(A.expected)),A.fatal)break}return n||H(a,[])}}function D(A){return(B,a)=>{const n=A(B,a);return n.success||n.fatal?n:o(a,null)}}function m(A){return(B,a)=>{let n=[],e=a;for(;;){const a=A(B,e);if(!a.success){if(a.fatal)return a;break}n.push(a.value),e=a.offset}return o(e,n)}}function h(A,B,a){return(n,e)=>{const t=A(n,e);if(!t.success)return t;const G=B(n,t.offset);return G.success?o(G.offset,a(t.value,G.value)):G}}function I(A){return h(A,m(A),((A,B)=>[A].concat(B)))}function d(A,B){return A}function T(A,B){return B}function p(A,B){return h(A,B,T)}function E(A,B){return h(A,B,d)}function f(A,B,a,n=!1){return p(A,n?F(E(B,a)):E(B,a))}function g(A,B){return(a,n)=>A(a,n).success?H(n,B):l(n)}function F(A){return(B,a)=>{const n=A(B,a);return n.success?n:H(n.offset,n.expected,!0)}}const P=(A,B)=>A.length===B?l(B):H(B,[\"end of input\"]);const M=[\"Lu\",\"Ll\",\"Lt\",\"Lm\",\"Lo\",\"Mn\",\"Mc\",\"Me\",\"Nd\",\"Nl\",\"No\",\"Pc\",\"Pd\",\"Ps\",\"Pe\",\"Pi\",\"Pf\",\"Po\",\"Zs\",\"Zl\",\"Zp\",\"Sm\",\"Sc\",\"Sk\",\"So\",\"Cc\",\"Cf\",\"Co\",\"Cn\"],J={};function S(A){return A.codePointAt(0)}\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\").forEach(((A,B)=>{J[A]=B}));const K=A=>-1===A||-2===A;function b(A){return B=>!K(B)&&!A(B)}function y(A,B){return null===B?A:a=>A(a)&&!B(a)}const Q=function(A,B){const n=new Map;let e=0;return A.forEach(((A,G)=>{const i=B[G];null!==A&&A.split(\"|\").forEach((A=>{const B=n.get(A),G=a(e,e+i-1);n.set(A,B?t(B,G):G)})),e+=i})),n}([\"BasicLatin\",\"Latin-1Supplement\",\"LatinExtended-A\",\"LatinExtended-B\",\"IPAExtensions\",\"SpacingModifierLetters\",\"CombiningDiacriticalMarks\",\"GreekandCoptic|Greek\",\"Cyrillic\",\"CyrillicSupplement\",\"Armenian\",\"Hebrew\",\"Arabic\",\"Syriac\",\"ArabicSupplement\",\"Thaana\",\"NKo\",\"Samaritan\",\"Mandaic\",\"SyriacSupplement\",null,\"ArabicExtended-A\",\"Devanagari\",\"Bengali\",\"Gurmukhi\",\"Gujarati\",\"Oriya\",\"Tamil\",\"Telugu\",\"Kannada\",\"Malayalam\",\"Sinhala\",\"Thai\",\"Lao\",\"Tibetan\",\"Myanmar\",\"Georgian\",\"HangulJamo\",\"Ethiopic\",\"EthiopicSupplement\",\"Cherokee\",\"UnifiedCanadianAboriginalSyllabics\",\"Ogham\",\"Runic\",\"Tagalog\",\"Hanunoo\",\"Buhid\",\"Tagbanwa\",\"Khmer\",\"Mongolian\",\"UnifiedCanadianAboriginalSyllabicsExtended\",\"Limbu\",\"TaiLe\",\"NewTaiLue\",\"KhmerSymbols\",\"Buginese\",\"TaiTham\",\"CombiningDiacriticalMarksExtended\",\"Balinese\",\"Sundanese\",\"Batak\",\"Lepcha\",\"OlChiki\",\"CyrillicExtended-C\",\"GeorgianExtended\",\"SundaneseSupplement\",\"VedicExtensions\",\"PhoneticExtensions\",\"PhoneticExtensionsSupplement\",\"CombiningDiacriticalMarksSupplement\",\"LatinExtendedAdditional\",\"GreekExtended\",\"GeneralPunctuation\",\"SuperscriptsandSubscripts\",\"CurrencySymbols\",\"CombiningDiacriticalMarksforSymbols|CombiningMarksforSymbols\",\"LetterlikeSymbols\",\"NumberForms\",\"Arrows\",\"MathematicalOperators\",\"MiscellaneousTechnical\",\"ControlPictures\",\"OpticalCharacterRecognition\",\"EnclosedAlphanumerics\",\"BoxDrawing\",\"BlockElements\",\"GeometricShapes\",\"MiscellaneousSymbols\",\"Dingbats\",\"MiscellaneousMathematicalSymbols-A\",\"SupplementalArrows-A\",\"BraillePatterns\",\"SupplementalArrows-B\",\"MiscellaneousMathematicalSymbols-B\",\"SupplementalMathematicalOperators\",\"MiscellaneousSymbolsandArrows\",\"Glagolitic\",\"LatinExtended-C\",\"Coptic\",\"GeorgianSupplement\",\"Tifinagh\",\"EthiopicExtended\",\"CyrillicExtended-A\",\"SupplementalPunctuation\",\"CJKRadicalsSupplement\",\"KangxiRadicals\",null,\"IdeographicDescriptionCharacters\",\"CJKSymbolsandPunctuation\",\"Hiragana\",\"Katakana\",\"Bopomofo\",\"HangulCompatibilityJamo\",\"Kanbun\",\"BopomofoExtended\",\"CJKStrokes\",\"KatakanaPhoneticExtensions\",\"EnclosedCJKLettersandMonths\",\"CJKCompatibility\",\"CJKUnifiedIdeographsExtensionA\",\"YijingHexagramSymbols\",\"CJKUnifiedIdeographs\",\"YiSyllables\",\"YiRadicals\",\"Lisu\",\"Vai\",\"CyrillicExtended-B\",\"Bamum\",\"ModifierToneLetters\",\"LatinExtended-D\",\"SylotiNagri\",\"CommonIndicNumberForms\",\"Phags-pa\",\"Saurashtra\",\"DevanagariExtended\",\"KayahLi\",\"Rejang\",\"HangulJamoExtended-A\",\"Javanese\",\"MyanmarExtended-B\",\"Cham\",\"MyanmarExtended-A\",\"TaiViet\",\"MeeteiMayekExtensions\",\"EthiopicExtended-A\",\"LatinExtended-E\",\"CherokeeSupplement\",\"MeeteiMayek\",\"HangulSyllables\",\"HangulJamoExtended-B\",\"HighSurrogates\",\"HighPrivateUseSurrogates\",\"LowSurrogates\",\"PrivateUseArea|PrivateUse\",\"CJKCompatibilityIdeographs\",\"AlphabeticPresentationForms\",\"ArabicPresentationForms-A\",\"VariationSelectors\",\"VerticalForms\",\"CombiningHalfMarks\",\"CJKCompatibilityForms\",\"SmallFormVariants\",\"ArabicPresentationForms-B\",\"HalfwidthandFullwidthForms\",\"Specials\",\"LinearBSyllabary\",\"LinearBIdeograms\",\"AegeanNumbers\",\"AncientGreekNumbers\",\"AncientSymbols\",\"PhaistosDisc\",null,\"Lycian\",\"Carian\",\"CopticEpactNumbers\",\"OldItalic\",\"Gothic\",\"OldPermic\",\"Ugaritic\",\"OldPersian\",null,\"Deseret\",\"Shavian\",\"Osmanya\",\"Osage\",\"Elbasan\",\"CaucasianAlbanian\",null,\"LinearA\",null,\"CypriotSyllabary\",\"ImperialAramaic\",\"Palmyrene\",\"Nabataean\",null,\"Hatran\",\"Phoenician\",\"Lydian\",null,\"MeroiticHieroglyphs\",\"MeroiticCursive\",\"Kharoshthi\",\"OldSouthArabian\",\"OldNorthArabian\",null,\"Manichaean\",\"Avestan\",\"InscriptionalParthian\",\"InscriptionalPahlavi\",\"PsalterPahlavi\",null,\"OldTurkic\",null,\"OldHungarian\",\"HanifiRohingya\",null,\"RumiNumeralSymbols\",null,\"OldSogdian\",\"Sogdian\",null,\"Elymaic\",\"Brahmi\",\"Kaithi\",\"SoraSompeng\",\"Chakma\",\"Mahajani\",\"Sharada\",\"SinhalaArchaicNumbers\",\"Khojki\",null,\"Multani\",\"Khudawadi\",\"Grantha\",null,\"Newa\",\"Tirhuta\",null,\"Siddham\",\"Modi\",\"MongolianSupplement\",\"Takri\",null,\"Ahom\",null,\"Dogra\",null,\"WarangCiti\",null,\"Nandinagari\",\"ZanabazarSquare\",\"Soyombo\",null,\"PauCinHau\",null,\"Bhaiksuki\",\"Marchen\",null,\"MasaramGondi\",\"GunjalaGondi\",null,\"Makasar\",null,\"TamilSupplement\",\"Cuneiform\",\"CuneiformNumbersandPunctuation\",\"EarlyDynasticCuneiform\",null,\"EgyptianHieroglyphs\",\"EgyptianHieroglyphFormatControls\",null,\"AnatolianHieroglyphs\",null,\"BamumSupplement\",\"Mro\",null,\"BassaVah\",\"PahawhHmong\",null,\"Medefaidrin\",null,\"Miao\",null,\"IdeographicSymbolsandPunctuation\",\"Tangut\",\"TangutComponents\",null,\"KanaSupplement\",\"KanaExtended-A\",\"SmallKanaExtension\",\"Nushu\",null,\"Duployan\",\"ShorthandFormatControls\",null,\"ByzantineMusicalSymbols\",\"MusicalSymbols\",\"AncientGreekMusicalNotation\",null,\"MayanNumerals\",\"TaiXuanJingSymbols\",\"CountingRodNumerals\",null,\"MathematicalAlphanumericSymbols\",\"SuttonSignWriting\",null,\"GlagoliticSupplement\",null,\"NyiakengPuachueHmong\",null,\"Wancho\",null,\"MendeKikakui\",null,\"Adlam\",null,\"IndicSiyaqNumbers\",null,\"OttomanSiyaqNumbers\",null,\"ArabicMathematicalAlphabeticSymbols\",null,\"MahjongTiles\",\"DominoTiles\",\"PlayingCards\",\"EnclosedAlphanumericSupplement\",\"EnclosedIdeographicSupplement\",\"MiscellaneousSymbolsandPictographs\",\"Emoticons\",\"OrnamentalDingbats\",\"TransportandMapSymbols\",\"AlchemicalSymbols\",\"GeometricShapesExtended\",\"SupplementalArrows-C\",\"SupplementalSymbolsandPictographs\",\"ChessSymbols\",\"SymbolsandPictographsExtended-A\",null,\"CJKUnifiedIdeographsExtensionB\",null,\"CJKUnifiedIdeographsExtensionC\",\"CJKUnifiedIdeographsExtensionD\",\"CJKUnifiedIdeographsExtensionE\",\"CJKUnifiedIdeographsExtensionF\",null,\"CJKCompatibilityIdeographsSupplement\",null,\"Tags\",null,\"VariationSelectorsSupplement\",null,\"SupplementaryPrivateUseArea-A|PrivateUse\",\"SupplementaryPrivateUseArea-B|PrivateUse\"],[128,128,128,208,96,80,112,144,256,48,96,112,256,80,48,64,64,64,32,16,48,96,128,128,128,128,128,128,128,128,128,128,128,128,256,160,96,256,384,32,96,640,32,96,32,32,32,32,128,176,80,80,48,96,32,32,144,80,128,64,64,80,48,16,48,16,48,128,64,64,256,256,112,48,48,48,80,64,112,256,256,64,32,160,128,32,96,256,192,48,16,256,128,128,256,256,96,32,128,48,80,96,32,128,128,224,16,16,64,96,96,48,96,16,32,48,16,256,256,6592,64,20992,1168,64,48,320,96,96,32,224,48,16,64,96,32,48,48,32,96,32,96,32,96,32,48,64,80,64,11184,80,896,128,1024,6400,512,80,688,16,16,16,32,32,144,240,16,128,128,64,80,64,48,128,32,64,32,48,32,48,32,64,32,80,48,48,80,48,64,144,384,128,64,32,32,48,48,32,32,32,64,32,96,96,32,32,32,64,64,32,32,48,80,80,48,128,64,288,32,128,48,64,112,32,128,80,48,80,48,96,32,80,48,48,80,128,128,128,96,160,128,96,32,80,48,64,192,80,80,96,160,96,80,96,16,64,256,112,80,64,96,80,304,32,192,64,1024,128,208,2736,1072,16,4032,640,8576,576,48,96,48,144,688,96,96,160,64,32,6144,768,9472,256,48,64,400,2304,160,16,4944,256,256,80,144,32,96,32,128,1024,688,1360,48,208,80,368,64,1280,224,32,96,784,80,64,80,176,256,256,48,112,96,256,256,768,80,48,128,128,128,256,256,112,144,1280,42720,32,4160,224,5776,7488,3088,544,722400,128,128,240,65040,65536,65536]),x=function(A){const n=new Map,G=A.split(\"\"),i=M.map((()=>[]));let r=0,o=0;for(;o<G.length;){const A=J[G[o]],n=(31&A)-2;let e=1+J[G[o+1]];switch(32&A?(e+=J[G[o+2]]<<6,e+=J[G[o+3]]<<12,e+=J[G[o+4]]<<18,o+=5):o+=2,n){case-2:{let A=0;for(let a=r;a<r+e;++a){i[A].push(B(a)),A=(A+1)%2}break}case-1:break;default:{const A=i[n];1===e?A.push(B(r)):A.push(a(r,r+e-1));break}}r+=e}const l=new Map;return M.forEach(((A,B)=>{const a=i[B].reduce(t,e);n.set(A,a);const G=A.charAt(0),r=l.get(G)||[];l.set(G,r),r.push(a)})),l.forEach(((A,B)=>{n.set(B,A.reduce(t,e))})),n}(\"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\");function L(A){return 32===A||9===A||10===A||13===A}const Z=[B(S(\":\")),a(S(\"A\"),S(\"Z\")),B(S(\"_\")),a(S(\"a\"),S(\"z\")),a(192,214),a(216,246),a(192,214),a(216,246),a(248,767),a(880,893),a(895,8191),a(8204,8205),a(8304,8591),a(11264,12271),a(12289,55295),a(63744,64975),a(65008,65533),a(65536,983039)].reduce(t),X=[Z,B(S(\"-\")),B(S(\".\")),a(S(\"0\"),S(\"9\")),B(183),a(768,879),a(8255,8256)].reduce(t),k=x.get(\"Nd\"),O=b(k),N=y(a(0,1114111),[x.get(\"P\"),x.get(\"Z\"),x.get(\"C\")].reduce(t)),v=b(N);function w(A){return 10!==A&&13!==A&&!K(A)}const Y={s:L,S:b(L),i:Z,I:b(Z),c:X,C:b(X),d:k,D:O,w:N,W:v},U=u(\"*\"),j=u(\"\\\\\"),R=u(\"{\"),V=u(\"}\"),W=u(\"[\"),q=u(\"]\"),$=u(\"^\"),z=u(\"$\"),_=u(\",\"),AA=u(\"-\"),BA=u(\"(\"),aA=u(\")\"),nA=u(\".\"),eA=u(\"|\"),tA=u(\"+\"),GA=u(\"?\"),iA=u(\"-[\"),rA=S(\"0\");function oA(A){function e(A){return new Set(A.split(\"\").map((A=>S(A))))}function G(A,B){const a=A.codePointAt(B);return void 0===a?H(B,[\"any character\"]):o(B+String.fromCodePoint(a).length,a)}const i=\"xpath\"===A.language?p(j,c([C(u(\"n\"),(()=>10)),C(u(\"r\"),(()=>13)),C(u(\"t\"),(()=>9)),C(c([j,eA,nA,AA,$,GA,U,tA,R,V,z,BA,aA,W,q]),(A=>S(A)))])):p(j,c([C(u(\"n\"),(()=>10)),C(u(\"r\"),(()=>13)),C(u(\"t\"),(()=>9)),C(c([j,eA,nA,AA,$,GA,U,tA,R,V,BA,aA,W,q]),(A=>S(A)))]));function r(A,B){const a=e(B);return h(u(A),D(s(G,(A=>a.has(A)),B.split(\"\"))),((A,B)=>function(A){const B=x.get(A);if(null==B)throw new Error(`${A} is not a valid unicode category`);return B}(null===B?A:A+String.fromCodePoint(B))))}const l=c([r(\"L\",\"ultmo\"),r(\"M\",\"nce\"),r(\"N\",\"dlo\"),r(\"P\",\"cdseifo\"),r(\"Z\",\"slp\"),r(\"S\",\"mcko\"),r(\"C\",\"cfon\")]),T=[a(S(\"a\"),S(\"z\")),a(S(\"A\"),S(\"Z\")),a(S(\"0\"),S(\"9\")),B(45)].reduce(t),M=c([l,C(p(u(\"Is\"),function(A){return(B,a)=>{const n=A(B,a);return n.success?o(n.offset,B.slice(a,n.offset)):n}}(I(s(G,T,[\"block identifier\"])))),(B=>function(A,B){const a=Q.get(A);if(void 0===a){if(B)return n;throw new Error(`The unicode block identifier \"${A}\" is not known.`)}return a}(B,\"xpath\"!==A.language)))]),J=f(u(\"\\\\p{\"),M,V,!0),K=C(f(u(\"\\\\P{\"),M,V,!0),b),L=p(j,C(c(\"sSiIcCdDwW\".split(\"\").map((A=>u(A)))),(A=>Y[A]))),Z=C(nA,(()=>w)),X=c([L,J,K]),k=e(\"\\\\[]\"),O=c([i,s(G,(A=>!k.has(A)),[\"unescaped character\"])]),N=c([C(AA,(()=>null)),O]),v=h(N,p(AA,N),a);function oA(A,B){return[A].concat(B||[])}const lA=C(function(A){return(B,a)=>{const n=A(B,a);return n.success?o(a,n.value):n}}(c([q,iA])),(()=>null)),HA=S(\"-\"),uA=c([C(E(E(AA,g(W,[\"not [\"])),lA),(()=>HA)),p(g(AA,[\"not -\"]),O)]),CA=c([h(C(uA,B),c([function(A,B){return CA(A,B)},lA]),oA),h(c([v,X]),c([cA,lA]),oA)]);const sA=c([h(C(O,B),c([CA,lA]),oA),h(c([v,X]),c([cA,lA]),oA)]);function cA(A,B){return sA(A,B)}const DA=C(sA,(A=>A.reduce(t))),mA=C(p($,DA),b),hA=h(c([p(g($,[\"not ^\"]),DA),mA]),D(p(AA,(function(A,B){return IA(A,B)}))),y),IA=f(W,hA,q,!0);const dA=\"xpath\"===A.language?c([C(i,B),X,IA,Z,C($,(()=>A=>-1===A)),C(z,(()=>A=>-2===A))]):c([C(i,B),X,IA,Z]),TA=\"xpath\"===A.language?e(\".\\\\?*+{}()|^$[]\"):e(\".\\\\?*+{}()|[]\"),pA=s(G,(A=>!TA.has(A)),[\"NormalChar\"]),EA=C(p(j,h(C(s(G,a(S(\"1\"),S(\"9\")),[\"digit\"]),(A=>A-rA)),m(C(s(G,a(rA,S(\"9\")),[\"digit\"]),(A=>A-rA))),((A,B)=>{B.reduce(((A,B)=>10*A+B),A)}))),(A=>{throw new Error(\"Backreferences in XPath patterns are not yet implemented.\")})),fA=\"xpath\"===A.language?c([C(pA,(A=>({kind:\"predicate\",value:B(A)}))),C(dA,(A=>({kind:\"predicate\",value:A}))),C(f(BA,p(D(u(\"?:\")),SA),aA,!0),(A=>({kind:\"regexp\",value:A}))),EA]):c([C(pA,(A=>({kind:\"predicate\",value:B(A)}))),C(dA,(A=>({kind:\"predicate\",value:A}))),C(f(BA,SA,aA,!0),(A=>({kind:\"regexp\",value:A})))]),gA=C(I(C(s(G,a(rA,S(\"9\")),[\"digit\"]),(A=>A-rA))),(A=>A.reduce(((A,B)=>10*A+B)))),FA=c([h(gA,p(_,gA),((A,B)=>{if(B<A)throw new Error(\"quantifier range is in the wrong order\");return{min:A,max:B}})),h(gA,_,(A=>({min:A,max:null}))),C(gA,(A=>({min:A,max:A})))]),PA=\"xpath\"===A.language?h(c([C(GA,(()=>({min:0,max:1}))),C(U,(()=>({min:0,max:null}))),C(tA,(()=>({min:1,max:null}))),f(R,FA,V,!0)]),D(GA),((A,B)=>A)):c([C(GA,(()=>({min:0,max:1}))),C(U,(()=>({min:0,max:null}))),C(tA,(()=>({min:1,max:null}))),f(R,FA,V,!0)]),MA=m(h(fA,C(D(PA),(A=>null===A?{min:1,max:1}:A)),((A,B)=>[A,B]))),JA=h(MA,m(p(eA,F(MA))),((A,B)=>[A].concat(B)));function SA(A,B){return JA(A,B)}const KA=function(A){return h(A,P,d)}(JA);return function(A){let B;try{B=KA(A,0)}catch(B){throw new Error(`Error parsing pattern \"${A}\": ${B.message}`)}return B.success?B.value:function(A,B,a){const n=a.map((A=>`\"${A}\"`));throw new Error(`Error parsing pattern \"${A}\" at offset ${B}: expected ${n.length>1?\"one of \"+n.join(\", \"):n[0]} but found \"${A.slice(B,B+1)}\"`)}(A,B.offset,B.expected)}}function lA(A){return[...A].map((A=>A.codePointAt(0)))}function HA(B,a={language:\"xsd\"}){const n=oA(a)(B),e=A((A=>{r(A,n,\"xpath\"===a.language),A.accept()}));return function(A){const B=\"xpath\"===a.language?[-1,...lA(A),-2]:lA(A);return e.execute(B).success}}export{HA as compile};\n//# sourceMappingURL=xspattern.esm.js.map\n","function n(n,t){return{success:!0,offset:n,value:t}}function t(t){return n(t,void 0)}function e(n,t,e=!1){return{success:!1,offset:n,expected:t,fatal:e}}function r(t){return(r,u)=>{const o=u+t.length;return r.slice(u,o)===t?n(o,t):e(u,[t])}}function u(n){return n>65535?2:1}function o(n,r){return(o,c)=>{const f=o.codePointAt(c);return void 0!==f&&n(f)?t(c+u(f)):e(c,r)}}function c(n,r){return(u,o)=>{const c=o;for(;;){const t=u.codePointAt(o);if(void 0===t)break;if(!n(t))break;o+=t>65535?2:1}return void 0!==r&&o===c?e(o,r):t(o)}}function f(n,t,e){return o(e=>n<=e&&e<=t,e||[`${String.fromCodePoint(n)}-${String.fromCodePoint(t)}`])}function s(n){return(r,o)=>{let c=n;for(;c>0;){const n=r.codePointAt(o);if(void 0===n)return e(o,[\"any character\"]);o+=u(n),c-=1}return t(o)}}function i(t,e){return(r,u)=>{const o=t(r,u);return o.success?n(o.offset,e(o.value)):o}}function l(n){return i(n,()=>{})}function a(n,t,r){return(u,o)=>{const c=n(u,o);return c.success?t(c.value)?c:e(o,r):c}}function d(n,t){return(r,u)=>{let o=null;for(const e of n){const n=e(r,u);if(n.success)return n;if(null===o||n.offset>o.offset?o=n:n.offset===o.offset&&void 0===t&&(o.expected=o.expected.concat(n.expected)),n.fatal)return n}return t=t||(null==o?void 0:o.expected)||[],o&&(o.expected=t),o||e(u,t)}}function v(t){return(e,r)=>{const u=t(e,r);return u.success||u.fatal?u:n(r,null)}}function p(t){return(e,r)=>{let u=[],o=r;for(;;){const n=t(e,o);if(!n.success){if(n.fatal)return n;break}if(u.push(n.value),n.offset===o)break;o=n.offset}return n(o,u)}}function x(n){return(e,r)=>{let u=r;for(;;){const t=n(e,u);if(!t.success){if(t.fatal)return t;break}if(t.offset===u)break;u=t.offset}return t(u)}}function y(n){return i(n,n=>n.filter(n=>void 0!==n))}function b(t,e,r){return(u,o)=>{const c=t(u,o);if(!c.success)return c;const f=e(u,c.offset);return f.success?n(f.offset,r(c.value,f.value)):f}}function k(n){return b(n,p(n),(n,t)=>[n].concat(t))}function h(n,t){return n}function P(n,t){return t}function g(n){return b(n,x(n),P)}function A(n,t){return b(n,t,P)}function m(n,t){return b(n,t,h)}function C(n,t,e,r=!1){return A(n,r?w(m(t,e)):m(t,e))}function S(t){return(e,r)=>{const u=t(e,r);return u.success?n(u.offset,e.slice(r,u.offset)):u}}function $(t){return(e,r)=>{const u=t(e,r);return u.success?n(r,u.value):u}}function j(n,r){return(u,o)=>n(u,o).success?e(o,r):t(o)}function q(n,t,e){return A(j(t,e),n)}function w(n){return(t,r)=>{const u=n(t,r);return u.success?u:e(u.offset,u.expected,!0)}}const z=(n,r)=>0===r?t(r):e(r,[\"start of input\"]),B=(n,r)=>n.length===r?t(r):e(r,[\"end of input\"]);function D(n){return b(n,B,h)}function E(n){const t=[];let e=n.next();for(;!e.done;)t.push(e.value),e=n.next();return[t,e.value]}function F(n){return function*(t,e){const r=n(t,e);return r.success&&(yield r.value),r}}function G(n,t){return function*(e,r){const u=yield*n(e,r);return u.success?yield*t(e,u.offset):u}}function H(n){return function*(t,e){const r=n(t,e);let u=r.next();for(;!u.done;){const n=u.value;void 0!==n&&(yield n),u=r.next()}return u.value}}function I(n){return function*(e,r){for(;;){const[u,o]=E(n(e,r));if(!o.success)return o.fatal?o:t(r);if(yield*u,r===o.offset)return t(r);r=o.offset}}}function J(n){return function*(e,r){const[u,o]=E(n(e,r));return o.success?(yield*u,o):o.fatal?o:t(r)}}function K(n){return function*(t,e){const r=yield*n(t,e);return r.success?B(t,r.offset):r}}export{o as codepoint,c as codepoints,E as collect,D as complete,l as consume,w as cut,C as delimited,B as end,e as error,q as except,a as filter,y as filterUndefined,h as first,m as followed,i as map,j as not,t as ok,n as okWithValue,v as optional,d as or,$ as peek,k as plus,g as plusConsumed,A as preceded,f as range,S as recognize,P as second,s as skipChars,p as star,x as starConsumed,z as start,F as streaming,K as streamingComplete,H as streamingFilterUndefined,J as streamingOptional,I as streamingStar,G as streamingThen,b as then,r as token};\n//# sourceMappingURL=prsc.esm.js.map\n","import * as xspattern from 'xspattern';\nimport * as prsc from 'prsc';\nconst fontoxpath = (function (xspattern, prsc) {\nconst VERSION='3.26.1';\nconst fontoxpathGlobal = {};\nvar h;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ca=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};\nfunction da(a){a=[\"object\"==typeof globalThis&&globalThis,a,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error(\"Cannot find global object\");}var ha=da(this);\"function\"===typeof Symbol&&Symbol(\"x\");\nfunction p(a,b){if(b)a:{var c=ha;a=a.split(\".\");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ca(c,a,{configurable:!0,writable:!0,value:b})}}\np(\"Symbol\",function(a){function b(f){if(this instanceof b)throw new TypeError(\"Symbol is not a constructor\");return new c(d+(f||\"\")+\"_\"+e++,f)}function c(f,g){this.h=f;ca(this,\"description\",{configurable:!0,writable:!0,value:g})}if(a)return a;c.prototype.toString=function(){return this.h};var d=\"jscomp_symbol_\"+(1E9*Math.random()>>>0)+\"_\",e=0;return b});\np(\"Symbol.iterator\",function(a){if(a)return a;a=Symbol(\"Symbol.iterator\");for(var b=\"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array\".split(\" \"),c=0;c<b.length;c++){var d=ha[b[c]];\"function\"===typeof d&&\"function\"!=typeof d.prototype[a]&&ca(d.prototype,a,{configurable:!0,writable:!0,value:function(){return ja(aa(this))}})}return a});p(\"Symbol.asyncIterator\",function(a){return a?a:Symbol(\"Symbol.asyncIterator\")});\nfunction ja(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}function t(a){var b=\"undefined\"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ka(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}function w(a){return a instanceof Array?a:ka(t(a))}var la=\"function\"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ma;\nif(\"function\"==typeof Object.setPrototypeOf)ma=Object.setPrototypeOf;else{var na;a:{var oa={a:!0},pa={};try{pa.__proto__=oa;na=pa.a;break a}catch(a){}na=!1}ma=na?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null}var qa=ma;\nfunction x(a,b){a.prototype=la(b.prototype);a.prototype.constructor=a;if(qa)qa(a,b);else for(var c in b)if(\"prototype\"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Nc=b.prototype}function ra(){this.j=!1;this.s=null;this.u=void 0;this.h=1;this.ha=0;this.A=null}function ta(a){if(a.j)throw new TypeError(\"Generator is already running\");a.j=!0}ra.prototype.O=function(a){this.u=a};function ua(a,b){a.A={yc:b,Ac:!0};a.h=a.ha}\nra.prototype.return=function(a){this.A={return:a};this.h=this.ha};function va(a){this.h=new ra;this.s=a}function wa(a,b){ta(a.h);var c=a.h.s;if(c)return xa(a,\"return\"in c?c[\"return\"]:function(d){return{value:d,done:!0}},b,a.h.return);a.h.return(b);return ya(a)}\nfunction xa(a,b,c,d){try{var e=b.call(a.h.s,c);if(!(e instanceof Object))throw new TypeError(\"Iterator result \"+e+\" is not an object\");if(!e.done)return a.h.j=!1,e;var f=e.value}catch(g){return a.h.s=null,ua(a.h,g),ya(a)}a.h.s=null;d.call(a.h,f);return ya(a)}function ya(a){for(;a.h.h;)try{var b=a.s(a.h);if(b)return a.h.j=!1,{value:b.value,done:!1}}catch(c){a.h.u=void 0,ua(a.h,c)}a.h.j=!1;if(a.h.A){b=a.h.A;a.h.A=null;if(b.Ac)throw b.yc;return{value:b.return,done:!0}}return{value:void 0,done:!0}}\nfunction za(a){this.next=function(b){ta(a.h);a.h.s?b=xa(a,a.h.s.next,b,a.h.O):(a.h.O(b),b=ya(a));return b};this.throw=function(b){ta(a.h);a.h.s?b=xa(a,a.h.s[\"throw\"],b,a.h.O):(ua(a.h,b),b=ya(a));return b};this.return=function(b){return wa(a,b)};this[Symbol.iterator]=function(){return this}}function Aa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function f(g){g.done?d(g.value):Promise.resolve(g.value).then(b,c).then(f,e)}f(a.next())})}\np(\"Promise\",function(a){function b(g){this.s=0;this.A=void 0;this.h=[];this.ha=!1;var k=this.j();try{g(k.resolve,k.reject)}catch(l){k.reject(l)}}function c(){this.h=null}function d(g){return g instanceof b?g:new b(function(k){k(g)})}if(a)return a;c.prototype.s=function(g){if(null==this.h){this.h=[];var k=this;this.A(function(){k.u()})}this.h.push(g)};var e=ha.setTimeout;c.prototype.A=function(g){e(g,0)};c.prototype.u=function(){for(;this.h&&this.h.length;){var g=this.h;this.h=[];for(var k=0;k<g.length;++k){var l=\ng[k];g[k]=null;try{l()}catch(n){this.j(n)}}}this.h=null};c.prototype.j=function(g){this.A(function(){throw g;})};b.prototype.j=function(){function g(n){return function(q){l||(l=!0,n.call(k,q))}}var k=this,l=!1;return{resolve:g(this.na),reject:g(this.u)}};b.prototype.na=function(g){if(g===this)this.u(new TypeError(\"A Promise cannot resolve to itself\"));else if(g instanceof b)this.ua(g);else{a:switch(typeof g){case \"object\":var k=null!=g;break a;case \"function\":k=!0;break a;default:k=!1}k?this.ka(g):\nthis.O(g)}};b.prototype.ka=function(g){var k=void 0;try{k=g.then}catch(l){this.u(l);return}\"function\"==typeof k?this.mb(k,g):this.O(g)};b.prototype.u=function(g){this.B(2,g)};b.prototype.O=function(g){this.B(1,g)};b.prototype.B=function(g,k){if(0!=this.s)throw Error(\"Cannot settle(\"+g+\", \"+k+\"): Promise already settled in state\"+this.s);this.s=g;this.A=k;2===this.s&&this.Ya();this.J()};b.prototype.Ya=function(){var g=this;e(function(){if(g.T()){var k=ha.console;\"undefined\"!==typeof k&&k.error(g.A)}},\n1)};b.prototype.T=function(){if(this.ha)return!1;var g=ha.CustomEvent,k=ha.Event,l=ha.dispatchEvent;if(\"undefined\"===typeof l)return!0;\"function\"===typeof g?g=new g(\"unhandledrejection\",{cancelable:!0}):\"function\"===typeof k?g=new k(\"unhandledrejection\",{cancelable:!0}):(g=ha.document.createEvent(\"CustomEvent\"),g.initCustomEvent(\"unhandledrejection\",!1,!0,g));g.promise=this;g.reason=this.A;return l(g)};b.prototype.J=function(){if(null!=this.h){for(var g=0;g<this.h.length;++g)f.s(this.h[g]);this.h=\nnull}};var f=new c;b.prototype.ua=function(g){var k=this.j();g.nb(k.resolve,k.reject)};b.prototype.mb=function(g,k){var l=this.j();try{g.call(k,l.resolve,l.reject)}catch(n){l.reject(n)}};b.prototype.then=function(g,k){function l(v,A){return\"function\"==typeof v?function(G){try{n(v(G))}catch(H){q(H)}}:A}var n,q,u=new b(function(v,A){n=v;q=A});this.nb(l(g,n),l(k,q));return u};b.prototype.catch=function(g){return this.then(void 0,g)};b.prototype.nb=function(g,k){function l(){switch(n.s){case 1:g(n.A);\nbreak;case 2:k(n.A);break;default:throw Error(\"Unexpected state: \"+n.s);}}var n=this;null==this.h?f.s(l):this.h.push(l);this.ha=!0};b.resolve=d;b.reject=function(g){return new b(function(k,l){l(g)})};b.race=function(g){return new b(function(k,l){for(var n=t(g),q=n.next();!q.done;q=n.next())d(q.value).nb(k,l)})};b.all=function(g){var k=t(g),l=k.next();return l.done?d([]):new b(function(n,q){function u(G){return function(H){v[G]=H;A--;0==A&&n(v)}}var v=[],A=0;do v.push(void 0),A++,d(l.value).nb(u(v.length-\n1),q),l=k.next();while(!l.done)})};return b});function Ba(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var Ca=\"function\"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Ba(d,e)&&(a[e]=d[e])}return a};p(\"Object.assign\",function(a){return a||Ca});\nfunction Da(a,b,c){if(null==a)throw new TypeError(\"The 'this' value for String.prototype.\"+c+\" must not be null or undefined\");if(b instanceof RegExp)throw new TypeError(\"First argument to String.prototype.\"+c+\" must not be a regular expression\");return a+\"\"}p(\"String.prototype.repeat\",function(a){return a?a:function(b){var c=Da(this,null,\"repeat\");if(0>b||1342177279<b)throw new RangeError(\"Invalid count value\");b|=0;for(var d=\"\";b;)if(b&1&&(d+=c),b>>>=1)c+=c;return d}});\nfunction Fa(a,b){a=void 0!==a?String(a):\" \";return 0<b&&a?a.repeat(Math.ceil(b/a.length)).substring(0,b):\"\"}p(\"String.prototype.padEnd\",function(a){return a?a:function(b,c){var d=Da(this,null,\"padStart\");return d+Fa(c,b-d.length)}});\np(\"WeakMap\",function(a){function b(l){this.h=(k+=Math.random()+1).toString();if(l){l=t(l);for(var n;!(n=l.next()).done;)n=n.value,this.set(n[0],n[1])}}function c(){}function d(l){var n=typeof l;return\"object\"===n&&null!==l||\"function\"===n}function e(l){if(!Ba(l,g)){var n=new c;ca(l,g,{value:n})}}function f(l){var n=Object[l];n&&(Object[l]=function(q){if(q instanceof c)return q;Object.isExtensible(q)&&e(q);return n(q)})}if(function(){if(!a||!Object.seal)return!1;try{var l=Object.seal({}),n=Object.seal({}),\nq=new a([[l,2],[n,3]]);if(2!=q.get(l)||3!=q.get(n))return!1;q.delete(l);q.set(n,4);return!q.has(l)&&4==q.get(n)}catch(u){return!1}}())return a;var g=\"$jscomp_hidden_\"+Math.random();f(\"freeze\");f(\"preventExtensions\");f(\"seal\");var k=0;b.prototype.set=function(l,n){if(!d(l))throw Error(\"Invalid WeakMap key\");e(l);if(!Ba(l,g))throw Error(\"WeakMap key fail: \"+l);l[g][this.h]=n;return this};b.prototype.get=function(l){return d(l)&&Ba(l,g)?l[g][this.h]:void 0};b.prototype.has=function(l){return d(l)&&Ba(l,\ng)&&Ba(l[g],this.h)};b.prototype.delete=function(l){return d(l)&&Ba(l,g)&&Ba(l[g],this.h)?delete l[g][this.h]:!1};return b});\np(\"Map\",function(a){function b(){var k={};return k.Ba=k.next=k.head=k}function c(k,l){var n=k.h;return ja(function(){if(n){for(;n.head!=k.h;)n=n.Ba;for(;n.next!=n.head;)return n=n.next,{done:!1,value:l(n)};n=null}return{done:!0,value:void 0}})}function d(k,l){var n=l&&typeof l;\"object\"==n||\"function\"==n?f.has(l)?n=f.get(l):(n=\"\"+ ++g,f.set(l,n)):n=\"p_\"+l;var q=k.s[n];if(q&&Ba(k.s,n))for(k=0;k<q.length;k++){var u=q[k];if(l!==l&&u.key!==u.key||l===u.key)return{id:n,list:q,index:k,ja:u}}return{id:n,\nlist:q,index:-1,ja:void 0}}function e(k){this.s={};this.h=b();this.size=0;if(k){k=t(k);for(var l;!(l=k.next()).done;)l=l.value,this.set(l[0],l[1])}}if(function(){if(!a||\"function\"!=typeof a||!a.prototype.entries||\"function\"!=typeof Object.seal)return!1;try{var k=Object.seal({x:4}),l=new a(t([[k,\"s\"]]));if(\"s\"!=l.get(k)||1!=l.size||l.get({x:4})||l.set({x:4},\"t\")!=l||2!=l.size)return!1;var n=l.entries(),q=n.next();if(q.done||q.value[0]!=k||\"s\"!=q.value[1])return!1;q=n.next();return q.done||4!=q.value[0].x||\n\"t\"!=q.value[1]||!n.next().done?!1:!0}catch(u){return!1}}())return a;var f=new WeakMap;e.prototype.set=function(k,l){k=0===k?0:k;var n=d(this,k);n.list||(n.list=this.s[n.id]=[]);n.ja?n.ja.value=l:(n.ja={next:this.h,Ba:this.h.Ba,head:this.h,key:k,value:l},n.list.push(n.ja),this.h.Ba.next=n.ja,this.h.Ba=n.ja,this.size++);return this};e.prototype.delete=function(k){k=d(this,k);return k.ja&&k.list?(k.list.splice(k.index,1),k.list.length||delete this.s[k.id],k.ja.Ba.next=k.ja.next,k.ja.next.Ba=k.ja.Ba,\nk.ja.head=null,this.size--,!0):!1};e.prototype.clear=function(){this.s={};this.h=this.h.Ba=b();this.size=0};e.prototype.has=function(k){return!!d(this,k).ja};e.prototype.get=function(k){return(k=d(this,k).ja)&&k.value};e.prototype.entries=function(){return c(this,function(k){return[k.key,k.value]})};e.prototype.keys=function(){return c(this,function(k){return k.key})};e.prototype.values=function(){return c(this,function(k){return k.value})};e.prototype.forEach=function(k,l){for(var n=this.entries(),\nq;!(q=n.next()).done;)q=q.value,k.call(l,q[1],q[0],this)};e.prototype[Symbol.iterator]=e.prototype.entries;var g=0;return e});function Ga(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{Fb:e,Mb:f}}return{Fb:-1,Mb:void 0}}p(\"Array.prototype.find\",function(a){return a?a:function(b,c){return Ga(this,b,c).Mb}});\np(\"String.prototype.startsWith\",function(a){return a?a:function(b,c){var d=Da(this,b,\"startsWith\"),e=d.length,f=b.length;c=Math.max(0,Math.min(c|0,d.length));for(var g=0;g<f&&c<e;)if(d[c++]!=b[g++])return!1;return g>=f}});p(\"Array.prototype.fill\",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}});function Ha(a){return a?a:Array.prototype.fill}\np(\"Int8Array.prototype.fill\",Ha);p(\"Uint8Array.prototype.fill\",Ha);p(\"Uint8ClampedArray.prototype.fill\",Ha);p(\"Int16Array.prototype.fill\",Ha);p(\"Uint16Array.prototype.fill\",Ha);p(\"Int32Array.prototype.fill\",Ha);p(\"Uint32Array.prototype.fill\",Ha);p(\"Float32Array.prototype.fill\",Ha);p(\"Float64Array.prototype.fill\",Ha);\np(\"Array.from\",function(a){return a?a:function(b,c,d){c=null!=c?c:function(k){return k};var e=[],f=\"undefined\"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if(\"function\"==typeof f){b=f.call(b);for(var g=0;!(f=b.next()).done;)e.push(c.call(d,f.value,g++))}else for(f=b.length,g=0;g<f;g++)e.push(c.call(d,b[g],g));return e}});p(\"Object.is\",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});\np(\"Array.prototype.includes\",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}});p(\"String.prototype.includes\",function(a){return a?a:function(b,c){return-1!==Da(this,b,\"includes\").indexOf(b,c||0)}});p(\"Number.MAX_SAFE_INTEGER\",function(){return 9007199254740991});p(\"Number.MIN_SAFE_INTEGER\",function(){return-9007199254740991});\np(\"Math.trunc\",function(a){return a?a:function(b){b=Number(b);if(isNaN(b)||Infinity===b||-Infinity===b||0===b)return b;var c=Math.floor(Math.abs(b));return 0>b?-c:c}});p(\"Number.isFinite\",function(a){return a?a:function(b){return\"number\"!==typeof b?!1:!isNaN(b)&&Infinity!==b&&-Infinity!==b}});p(\"String.prototype.padStart\",function(a){return a?a:function(b,c){var d=Da(this,null,\"padStart\");return Fa(c,b-d.length)+d}});\nfunction Ia(a,b){a instanceof String&&(a+=\"\");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}p(\"Array.prototype.keys\",function(a){return a?a:function(){return Ia(this,function(b){return b})}});p(\"Number.isInteger\",function(a){return a?a:function(b){return Number.isFinite(b)?b===Math.floor(b):!1}});\np(\"Number.isSafeInteger\",function(a){return a?a:function(b){return Number.isInteger(b)&&Math.abs(b)<=Number.MAX_SAFE_INTEGER}});p(\"Array.prototype.findIndex\",function(a){return a?a:function(b,c){return Ga(this,b,c).Fb}});p(\"String.prototype.endsWith\",function(a){return a?a:function(b,c){var d=Da(this,b,\"endsWith\");void 0===c&&(c=d.length);c=Math.max(0,Math.min(c|0,d.length));for(var e=b.length;0<e&&0<c;)if(d[--c]!=b[--e])return!1;return 0>=e}});\np(\"String.fromCodePoint\",function(a){return a?a:function(b){for(var c=\"\",d=0;d<arguments.length;d++){var e=Number(arguments[d]);if(0>e||1114111<e||e!==Math.floor(e))throw new RangeError(\"invalid_code_point \"+e);65535>=e?c+=String.fromCharCode(e):(e-=65536,c+=String.fromCharCode(e>>>10&1023|55296),c+=String.fromCharCode(e&1023|56320))}return c}});\np(\"String.prototype.codePointAt\",function(a){return a?a:function(b){var c=Da(this,null,\"codePointAt\"),d=c.length;b=Number(b)||0;if(0<=b&&b<d){b|=0;var e=c.charCodeAt(b);if(55296>e||56319<e||b+1===d)return e;b=c.charCodeAt(b+1);return 56320>b||57343<b?e:1024*(e-55296)+b+9216}}});\np(\"Set\",function(a){function b(c){this.h=new Map;if(c){c=t(c);for(var d;!(d=c.next()).done;)this.add(d.value)}this.size=this.h.size}if(function(){if(!a||\"function\"!=typeof a||!a.prototype.entries||\"function\"!=typeof Object.seal)return!1;try{var c=Object.seal({x:4}),d=new a(t([c]));if(!d.has(c)||1!=d.size||d.add(c)!=d||1!=d.size||d.add({x:4})!=d||2!=d.size)return!1;var e=d.entries(),f=e.next();if(f.done||f.value[0]!=c||f.value[1]!=c)return!1;f=e.next();return f.done||f.value[0]==c||4!=f.value[0].x||\nf.value[1]!=f.value[0]?!1:e.next().done}catch(g){return!1}}())return a;b.prototype.add=function(c){c=0===c?0:c;this.h.set(c,c);this.size=this.h.size;return this};b.prototype.delete=function(c){c=this.h.delete(c);this.size=this.h.size;return c};b.prototype.clear=function(){this.h.clear();this.size=0};b.prototype.has=function(c){return this.h.has(c)};b.prototype.entries=function(){return this.h.entries()};b.prototype.values=function(){return this.h.values()};b.prototype.keys=b.prototype.values;b.prototype[Symbol.iterator]=\nb.prototype.values;b.prototype.forEach=function(c,d){var e=this;this.h.forEach(function(f){return c.call(d,f,f,e)})};return b});p(\"Math.log10\",function(a){return a?a:function(b){return Math.log(b)/Math.LN10}});p(\"Object.values\",function(a){return a?a:function(b){var c=[],d;for(d in b)Ba(b,d)&&c.push(b[d]);return c}});p(\"Number.isNaN\",function(a){return a?a:function(b){return\"number\"===typeof b&&isNaN(b)}});p(\"Array.prototype.values\",function(a){return a?a:function(){return Ia(this,function(b,c){return c})}});\np(\"Object.getOwnPropertySymbols\",function(a){return a?a:function(){return[]}});function Ja(a,b){if(!(\"0\"!==a&&\"-0\"!==a||\"0\"!==b&&\"-0\"!==b))return 0;var c=/(?:\\+|(-))?(\\d+)?(?:\\.(\\d+))?/;a=c.exec(a+\"\");var d=c.exec(b+\"\"),e=!a[1],f=!d[1];b=(a[2]||\"\").replace(/^0*/,\"\");c=(d[2]||\"\").replace(/^0*/,\"\");a=a[3]||\"\";d=d[3]||\"\";if(e&&!f)return 1;if(!e&&f)return-1;e=e&&f;if(b.length>c.length)return e?1:-1;if(b.length<c.length)return e?-1:1;if(b>c)return e?1:-1;if(b<c)return e?-1:1;b=Math.max(a.length,d.length);c=a.padEnd(b,\"0\");b=d.padEnd(b,\"0\");return c>b?e?1:-1:c<b?e?-1:1:0};function La(a,b){a=a.toString();if(-1<a.indexOf(\".\")&&0===b)return!1;a=/^[-+]?0*([1-9]\\d*)?(?:\\.((?:\\d*[1-9])*)0*)?$/.exec(a);return a[2]?a[2].length<=b:!0}function Ma(){return function(a,b){return 1>Ja(a,b)}}function Na(){return function(a,b){return 0>Ja(a,b)}}function Oa(){return function(a,b){return-1<Ja(a,b)}}function Pa(){return function(a,b){return 0<Ja(a,b)}}\nfunction Qa(a,b){switch(b){case \"required\":return/(Z)|([+-])([01]\\d):([0-5]\\d)$/.test(a.toString());case \"prohibited\":return!/(Z)|([+-])([01]\\d):([0-5]\\d)$/.test(a.toString());case \"optional\":return!0}}function Ra(a){switch(a){case 1:case 0:case 6:case 3:return{};case 4:return{ma:La,ra:Ma(),Lc:Na(),sa:Oa(),Mc:Pa()};case 18:return{};case 9:case 8:case 7:case 11:case 12:case 13:case 15:case 14:return{wa:Qa};case 22:case 21:case 20:case 23:case 44:return{};default:return null}}var Sa={},Ta={};function Ua(a){return/^([+-]?(\\d*(\\.\\d*)?([eE][+-]?\\d*)?|INF)|NaN)$/.test(a)}function Va(a){return/^[_:A-Za-z][-._:A-Za-z0-9]*$/.test(a)}function Wa(a){return Va(a)&&/^[_A-Za-z]([-._A-Za-z0-9])*$/.test(a)}function Xa(a){a=a.split(\":\");return 1===a.length?Wa(a[0]):2!==a.length?!1:Wa(a[0])&&Wa(a[1])}function Ya(a){return!/[\\u0009\\u000A\\u000D]/.test(a)}function Za(a){return Wa(a)}\nvar $a=new Map([[45,function(){return!0}],[46,function(){return!0}],[1,function(){return!0}],[0,function(a){return/^(0|1|true|false)$/.test(a)}],[6,function(a){return Ua(a)}],[3,Ua],[4,function(a){return/^[+-]?\\d*(\\.\\d*)?$/.test(a)}],[18,function(a){return/^(-)?P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d*)?S)?)?$/.test(a)}],[9,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],\n[8,function(a){return/^(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[7,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[11,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[12,function(a){return/^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],\n[13,function(a){return/^--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[15,function(a){return/^---(0[1-9]|[12][0-9]|3[01])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[14,function(a){return/^--(0[1-9]|1[0-2])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a)}],[22,function(a){return/^([0-9A-Fa-f]{2})*$/.test(a)}],[21,function(a){return(new RegExp(/^((([A-Za-z0-9+/] ?){4})*((([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/])|(([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=)|(([A-Za-z0-9+/] ?)[AQgw] ?= ?=)))?$/)).test(a)}],\n[20,function(){return!0}],[44,Xa],[48,Ya],[52,function(a){return Ya(a)&&!/^ | {2,}| $/.test(a)}],[51,function(a){return/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(a)}],[50,function(a){return/^[-._:A-Za-z0-9]+$/.test(a)}],[25,Va],[23,Xa],[24,Wa],[42,Za],[41,Za],[26,function(a){return Wa(a)}],[5,function(a){return/^[+-]?\\d+$/.test(a)}],[16,function(a){return/^-?P[0-9]+(Y([0-9]+M)?|M)$/.test(a)}],[17,function(a){return/^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?)?$/.test(a)}]]);var ab=Object.create(null);\n[{D:0,name:59},{D:0,name:46,parent:59,K:{whiteSpace:\"preserve\"}},{D:0,name:19,parent:46},{D:0,name:1,parent:46},{D:0,name:0,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:4,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:6,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:3,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:18,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:9,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:8,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:7,parent:46,\nK:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:11,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:12,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:13,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:15,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:14,parent:46,K:{wa:\"optional\",whiteSpace:\"collapse\"}},{D:0,name:22,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:21,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:20,parent:46,K:{whiteSpace:\"collapse\"}},\n{D:0,name:23,parent:46,K:{whiteSpace:\"collapse\"}},{D:0,name:44,parent:46,K:{whiteSpace:\"collapse\"}},{D:1,name:10,U:9,K:{whiteSpace:\"collapse\",wa:\"required\"}},{D:1,name:48,U:1,K:{whiteSpace:\"replace\"}},{D:1,name:52,U:48,K:{whiteSpace:\"collapse\"}},{D:1,name:51,U:52,K:{whiteSpace:\"collapse\"}},{D:1,name:50,U:52,K:{whiteSpace:\"collapse\"}},{D:2,name:49,type:50,K:{minLength:1,whiteSpace:\"collapse\"}},{D:1,name:25,U:52,K:{whiteSpace:\"collapse\"}},{D:1,name:24,U:25,K:{whiteSpace:\"collapse\"}},{D:1,name:42,U:24,\nK:{whiteSpace:\"collapse\"}},{D:1,name:41,U:24,K:{whiteSpace:\"collapse\"}},{D:2,name:43,type:41,K:{minLength:1,whiteSpace:\"collapse\"}},{D:1,name:26,U:24,K:{whiteSpace:\"collapse\"}},{D:2,name:40,type:26,K:{minLength:1,whiteSpace:\"collapse\"}},{D:0,name:5,parent:4,K:{ma:0,whiteSpace:\"collapse\"}},{D:1,name:27,U:5,K:{ma:0,ra:\"0\",whiteSpace:\"collapse\"}},{D:1,name:28,U:27,K:{ma:0,ra:\"-1\",whiteSpace:\"collapse\"}},{D:1,name:31,U:5,K:{ma:0,ra:\"9223372036854775807\",sa:\"-9223372036854775808\",whiteSpace:\"collapse\"}},\n{D:1,name:32,U:31,K:{ma:0,ra:\"2147483647\",sa:\"-2147483648\",whiteSpace:\"collapse\"}},{D:1,name:33,U:32,K:{ma:0,ra:\"32767\",sa:\"-32768\",whiteSpace:\"collapse\"}},{D:1,name:34,U:33,K:{ma:0,ra:\"127\",sa:\"-128\",whiteSpace:\"collapse\"}},{D:1,name:30,U:5,K:{ma:0,sa:\"0\",whiteSpace:\"collapse\"}},{D:1,name:36,U:30,K:{ma:0,ra:\"18446744073709551615\",sa:\"0\",whiteSpace:\"collapse\"}},{D:1,name:35,U:36,K:{ma:0,ra:\"4294967295\",sa:\"0\",whiteSpace:\"collapse\"}},{D:1,name:38,U:35,K:{ma:0,ra:\"65535\",sa:\"0\",whiteSpace:\"collapse\"}},\n{D:1,name:37,U:38,K:{ma:0,ra:\"255\",sa:\"0\",whiteSpace:\"collapse\"}},{D:1,name:29,U:30,K:{ma:0,sa:\"1\",whiteSpace:\"collapse\"}},{D:1,name:16,U:18,K:{whiteSpace:\"collapse\"}},{D:1,name:17,U:18,K:{whiteSpace:\"collapse\"}},{D:1,name:60,U:59},{D:3,name:39,Aa:[]},{D:1,name:61,U:60},{D:1,name:62,U:60},{D:0,name:53,parent:59},{D:1,name:54,U:53},{D:1,name:58,U:53},{D:1,name:47,U:53},{D:1,name:56,U:53},{D:1,name:57,U:53},{D:1,name:55,U:53},{D:3,name:2,Aa:[4,5,6,3]},{D:3,name:63,Aa:[]}].forEach(function(a){var b=\na.name,c=a.K||{};switch(a.D){case 0:a=a.parent?ab[a.parent]:null;var d=$a.get(b)||null;ab[b]={D:0,type:b,Ia:c,parent:a,fb:d,La:Ra(b),Aa:[]};break;case 1:a=ab[a.U];d=$a.get(b)||null;ab[b]={D:1,type:b,Ia:c,parent:a,fb:d,La:a.La,Aa:[]};break;case 2:ab[b]={D:2,type:b,Ia:c,parent:ab[a.type],fb:null,La:Sa,Aa:[]};break;case 3:a=a.Aa.map(function(e){return ab[e]}),ab[b]={D:3,type:b,Ia:c,parent:null,fb:null,La:Ta,Aa:a}}});function y(a,b){if(!ab[b])throw Error(\"Unknown type\");return{type:b,value:a}}var cb=y(!0,0),db=y(!1,0);function eb(){return Error(\"FORG0006: A wrong argument type was specified in a function call.\")};function fb(a,b){this.done=a;this.value=b}var z=new fb(!0,void 0);function B(a){return new fb(!1,a)};function gb(a,b){if(3===b.D)return!!b.Aa.find(function(c){return gb(a,c)});for(;a;){if(a.type===b.type)return!0;if(3===a.D)return!!a.Aa.find(function(c){return C(c.type,b.type)});a=a.parent}return!1}function C(a,b){return a===b?!0:gb(ab[a],ab[b])};function hb(a){this.s=E;this.h=a;var b=-1;this.value={next:function(){b++;return b>=a.length?z:B(a[b])}}}h=hb.prototype;h.ob=function(){return this};h.filter=function(a){var b=this,c=-1;return this.s.create({next:function(){for(c++;c<b.h.length&&!a(b.h[c],c,b);)c++;return c>=b.h.length?z:B(b.h[c])}})};h.first=function(){return this.h[0]};h.M=function(){return this.h};h.getEffectiveBooleanValue=function(){if(C(this.h[0].type,53))return!0;throw eb();};h.Na=function(){return this.h.length};h.G=function(){return!1};\nh.ya=function(){return!1};h.map=function(a){var b=this,c=-1;return this.s.create({next:function(){return++c>=b.h.length?z:B(a(b.h[c],c,b))}},this.h.length)};h.L=function(a){return a(this.h)};h.$=function(a){return a.multiple?a.multiple(this):a.default(this)};function kb(){this.value={next:function(){return z}}}h=kb.prototype;h.ob=function(){return this};h.filter=function(){return this};h.first=function(){return null};h.M=function(){return[]};h.getEffectiveBooleanValue=function(){return!1};h.Na=function(){return 0};h.G=function(){return!0};h.ya=function(){return!1};h.map=function(){return this};h.L=function(a){return a([])};h.$=function(a){return a.empty?a.empty(this):a.default(this)};function lb(a){var b=a.value;if(C(a.type,53))return!0;if(C(a.type,0))return b;if(C(a.type,1)||C(a.type,20)||C(a.type,19))return 0!==b.length;if(C(a.type,2))return!isNaN(b)&&0!==b;throw eb();};function mb(a,b){var c=this;this.j=E;this.value={next:function(d){if(null!==c.s&&c.h>=c.s)return z;if(void 0!==c.A[c.h])return B(c.A[c.h++]);d=a.next(d);if(d.done)return c.s=c.h,d;if(c.u||2>c.h)c.A[c.h]=d.value;c.h++;return d}};this.u=!1;this.A=[];this.h=0;this.s=void 0===b?null:b}h=mb.prototype;h.ob=function(){return this.j.create(this.M())};h.filter=function(a){var b=this,c=-1,d=this.value;return this.j.create({next:function(e){c++;for(e=d.next(e);!e.done&&!a(e.value,c,b);)c++,e=d.next(0);return e}})};\nh.first=function(){if(void 0!==this.A[0])return this.A[0];var a=this.value.next(0);nb(this);return a.done?null:a.value};h.M=function(){if(this.h>this.A.length&&this.s!==this.A.length)throw Error(\"Implementation error: Sequence Iterator has progressed.\");var a=this.value;this.u=!0;for(var b=a.next(0);!b.done;)b=a.next(0);return this.A};\nh.getEffectiveBooleanValue=function(){var a=this.value,b=this.h;nb(this);var c=a.next(0);if(c.done)return nb(this,b),!1;c=c.value;if(C(c.type,53))return nb(this,b),!0;if(!a.next(0).done)throw eb();nb(this,b);return lb(c)};h.Na=function(a){if(null!==this.s)return this.s;if(void 0===a?0:a)return-1;a=this.h;var b=this.M().length;nb(this,a);return b};h.G=function(){return 0===this.s?!0:null===this.first()};\nh.ya=function(){if(null!==this.s)return 1===this.s;var a=this.value,b=this.h;nb(this);if(a.next(0).done)return nb(this,b),!1;a=a.next(0);nb(this,b);return a.done};h.map=function(a){var b=this,c=0,d=this.value;return this.j.create({next:function(e){e=d.next(e);return e.done?z:B(a(e.value,c++,b))}},this.s)};h.L=function(a,b){var c=this.value,d,e=[],f=!0;(function(){for(var g=c.next(f?0:b);!g.done;g=c.next(b))f=!1,e.push(g.value);d=a(e).value})();return this.j.create({next:function(){return d.next(0)}})};\nh.$=function(a){function b(e){d=e.value;e=e.Na(!0);-1!==e&&(c.s=e)}var c=this,d=null;return this.j.create({next:function(e){if(d)return d.next(e);if(c.G())return b(a.empty?a.empty(c):a.default(c)),d.next(e);if(c.ya())return b(a.o?a.o(c):a.default(c)),d.next(e);b(a.multiple?a.multiple(c):a.default(c));return d.next(e)}})};function nb(a,b){a.h=void 0===b?0:b};function ob(a){this.A=E;this.h=a;var b=!1;this.value={next:function(){if(b)return z;b=!0;return B(a)}};this.s=null}h=ob.prototype;h.ob=function(){return this};h.filter=function(a){return a(this.h,0,this)?this:this.A.create()};h.first=function(){return this.h};h.M=function(){return[this.h]};h.getEffectiveBooleanValue=function(){null===this.s&&(this.s=lb(this.h));return this.s};h.Na=function(){return 1};h.G=function(){return!1};h.ya=function(){return!0};\nh.map=function(a){return this.A.create(a(this.h,0,this))};h.L=function(a){return a([this.h])};h.$=function(a){return a.o?a.o(this):a.default(this)};var pb=new kb;function qb(a,b){a=void 0===a?null:a;if(null===a)return pb;if(Array.isArray(a))switch(a.length){case 0:return pb;case 1:return new ob(a[0]);default:return new hb(a)}return a.next?new mb(a,void 0===b?null:b):new ob(a)}var E={create:qb,o:function(a){return new ob(a)},empty:function(){return qb()},ca:function(){return qb(cb)},X:function(){return qb(db)}};function rb(a){var b=[],c=a.value;return function(){var d=0;return E.create({next:function(){if(void 0!==b[d])return b[d++];var e=c.next(0);return e.done?e:b[d++]=e}})}};function sb(a,b){this.type=a;this.value=b}\nvar F={},tb=(F[0]=\"xs:boolean\",F[1]=\"xs:string\",F[2]=\"xs:numeric\",F[3]=\"xs:double\",F[4]=\"xs:decimal\",F[5]=\"xs:integer\",F[6]=\"xs:float\",F[7]=\"xs:date\",F[8]=\"xs:time\",F[9]=\"xs:dateTime\",F[10]=\"xs:dateTimeStamp\",F[11]=\"xs:gYearMonth\",F[12]=\"xs:gYear\",F[13]=\"xs:gMonthDay\",F[14]=\"xs:gMonth\",F[15]=\"xs:gDay\",F[16]=\"xs:yearMonthDuration\",F[17]=\"xs:dayTimeDuration\",F[18]=\"xs:duration\",F[19]=\"xs:untypedAtomic\",F[20]=\"xs:anyURI\",F[21]=\"xs:base64Binary\",F[22]=\"xs:hexBinary\",F[23]=\"xs:QName\",F[24]=\"xs:NCName\",\nF[25]=\"xs:Name\",F[26]=\"xs:ENTITY\",F[27]=\"xs:nonPositiveInteger\",F[28]=\"xs:negativeInteger\",F[29]=\"xs:positiveInteger\",F[30]=\"xs:nonNegativeInteger\",F[31]=\"xs:long\",F[32]=\"xs:int\",F[33]=\"xs:short\",F[34]=\"xs:byte\",F[35]=\"xs:unsignedInt\",F[36]=\"xs:unsignedLong\",F[37]=\"xs:unsignedByte\",F[38]=\"xs:unsignedShort\",F[39]=\"xs:error\",F[40]=\"xs:ENTITIES\",F[41]=\"xs:IDREF\",F[42]=\"xs:ID\",F[43]=\"xs:IDREFS\",F[44]=\"xs:NOTATION\",F[45]=\"xs:anySimpleType\",F[46]=\"xs:anyAtomicType\",F[47]=\"attribute()\",F[48]=\"xs:normalizedString\",\nF[49]=\"xs:NMTOKENS\",F[50]=\"xs:NMTOKEN\",F[51]=\"xs:language\",F[52]=\"xs:token\",F[53]=\"node()\",F[54]=\"element()\",F[55]=\"document-node()\",F[56]=\"text()\",F[57]=\"processing-instruction()\",F[58]=\"comment()\",F[59]=\"item()\",F[60]=\"function(*)\",F[61]=\"map(*)\",F[62]=\"array(*)\",F[63]=\"none\",F),ub={\"xs:boolean\":0,\"xs:string\":1,\"xs:numeric\":2,\"xs:double\":3,\"xs:decimal\":4,\"xs:integer\":5,\"xs:float\":6,\"xs:date\":7,\"xs:time\":8,\"xs:dateTime\":9,\"xs:dateTimeStamp\":10,\"xs:gYearMonth\":11,\"xs:gYear\":12,\"xs:gMonthDay\":13,\"xs:gMonth\":14,\n\"xs:gDay\":15,\"xs:yearMonthDuration\":16,\"xs:dayTimeDuration\":17,\"xs:duration\":18,\"xs:untypedAtomic\":19,\"xs:anyURI\":20,\"xs:base64Binary\":21,\"xs:hexBinary\":22,\"xs:QName\":23,\"xs:NCName\":24,\"xs:Name\":25,\"xs:ENTITY\":26,\"xs:nonPositiveInteger\":27,\"xs:negativeInteger\":28,\"xs:positiveInteger\":29,\"xs:nonNegativeInteger\":30,\"xs:long\":31,\"xs:int\":32,\"xs:short\":33,\"xs:byte\":34,\"xs:unsignedInt\":35,\"xs:unsignedLong\":36,\"xs:unsignedByte\":37,\"xs:unsignedShort\":38,\"xs:error\":39,\"xs:ENTITIES\":40,\"xs:IDREF\":41,\"xs:ID\":42,\n\"xs:IDREFS\":43,\"xs:NOTATION\":44,\"xs:anySimpleType\":45,\"xs:anyAtomicType\":46,\"attribute()\":47,\"xs:normalizedString\":48,\"xs:NMTOKENS\":49,\"xs:NMTOKEN\":50,\"xs:language\":51,\"xs:token\":52,\"node()\":53,\"element()\":54,\"document-node()\":55,\"text()\":56,\"processing-instruction()\":57,\"comment()\":58,\"item()\":59,\"function(*)\":60,\"map(*)\":61,\"array(*)\":62};function vb(a){return 2===a.g?tb[a.type]+\"*\":1===a.g?tb[a.type]+\"+\":0===a.g?tb[a.type]+\"?\":tb[a.type]}\nfunction wb(a){if(\"none\"===a)throw Error('XPST0051: The type \"none\" could not be found');if(!a.startsWith(\"xs:\")&&0<=a.indexOf(\":\"))throw Error(\"XPST0081: Invalid prefix for input \"+a);var b=ub[a];if(void 0===b)throw Error('XPST0051: The type \"'+a+'\" could not be found');return b}\nfunction xb(a){switch(a[a.length-1]){case \"*\":return{type:wb(a.substr(0,a.length-1)),g:2};case \"?\":return{type:wb(a.substr(0,a.length-1)),g:0};case \"+\":return{type:wb(a.substr(0,a.length-1)),g:1};default:return{type:wb(a),g:3}}}function yb(a){switch(a){case \"*\":return 2;case \"?\":return 0;case \"+\":return 1;default:return 3}};function Ab(a,b,c){this.namespaceURI=b||null;this.prefix=a||\"\";this.localName=c}Ab.prototype.va=function(){return this.prefix?this.prefix+\":\"+this.localName:this.localName};function Bb(a){var b=a.l,c=a.arity,d=void 0===a.Pa?!1:a.Pa,e=void 0===a.I?!1:a.I,f=a.localName,g=a.namespaceURI,k=a.i;a=a.value;sb.call(this,60,null);this.value=a;this.I=e;e=-1;for(a=0;a<b.length;a++)4===b[a]&&(e=a);-1<e&&(a=Array(c-(b.length-1)).fill(b[e-1]),b=b.slice(0,e).concat(a));this.s=b;this.A=c;this.ha=d;this.j=f;this.u=g;this.O=k}x(Bb,sb);\nfunction Cb(a,b){var c=a.value,d=b.map(function(e){return null===e?null:rb(e)});b=b.reduce(function(e,f,g){null===f&&e.push(a.s[g]);return e},[]);b=new Bb({l:b,arity:b.length,Pa:!0,I:a.I,localName:\"boundFunction\",namespaceURI:a.u,i:a.O,value:function(e,f,g){var k=Array.from(arguments).slice(3),l=d.map(function(n){return null===n?k.shift():n()});return c.apply(void 0,[e,f,g].concat(l))}});return E.o(b)}Bb.prototype.Pa=function(){return this.ha};function Db(a,b){var c=[];2!==a&&1!==a||c.push(\"type-1-or-type-2\");c.push(\"type-\"+a);b&&c.push(\"name-\"+b);return c}function Eb(a){var b=a.node.nodeType;if(2===b||1===b)var c=a.node.localName;return Db(b,c)}function Fb(a){var b=a.nodeType;if(2===b||1===b)var c=a.localName;return Db(b,c)};function Gb(){}Gb.prototype.getAllAttributes=function(a,b){b=void 0===b?null:b;if(1!==a.nodeType)return[];a=Array.from(a.attributes);return null===b?a:a.filter(function(c){return Fb(c).includes(b)})};Gb.prototype.getAttribute=function(a,b){return 1!==a.nodeType?null:a.getAttribute(b)};Gb.prototype.getChildNodes=function(a,b){b=void 0===b?null:b;a=Array.from(a.childNodes);return null===b?a:a.filter(function(c){return Fb(c).includes(b)})};\nGb.prototype.getData=function(a){return 2===a.nodeType?a.value:a.data};Gb.prototype.getFirstChild=function(a,b){b=void 0===b?null:b;for(a=a.firstChild;a;a=a.nextSibling)if(null===b||Fb(a).includes(b))return a;return null};Gb.prototype.getLastChild=function(a,b){b=void 0===b?null:b;for(a=a.lastChild;a;a=a.previousSibling)if(null===b||Fb(a).includes(b))return a;return null};\nGb.prototype.getNextSibling=function(a,b){b=void 0===b?null:b;for(a=a.nextSibling;a;a=a.nextSibling)if(null===b||Fb(a).includes(b))return a;return null};Gb.prototype.getParentNode=function(a,b){b=void 0===b?null:b;return(a=2===a.nodeType?a.ownerElement:a.parentNode)?null===b||Fb(a).includes(b)?a:null:null};Gb.prototype.getPreviousSibling=function(a,b){b=void 0===b?null:b;for(a=a.previousSibling;a;a=a.previousSibling)if(null===b||Fb(a).includes(b))return a;return null};function Hb(){}h=Hb.prototype;h.insertBefore=function(a,b,c){return a.insertBefore(b,c)};h.removeAttributeNS=function(a,b,c){return a.removeAttributeNS(b,c)};h.removeChild=function(a,b){return a.removeChild(b)};h.setAttributeNS=function(a,b,c,d){a.setAttributeNS(b,c,d)};h.setData=function(a,b){a.data=b};var Ib=new Hb;function Jb(a){this.h=a}h=Jb.prototype;h.insertBefore=function(a,b,c){return this.h.insertBefore(a,b,c)};h.removeAttributeNS=function(a,b,c){return this.h.removeAttributeNS(a,b,c)};h.removeChild=function(a,b){return this.h.removeChild(a,b)};h.setAttributeNS=function(a,b,c,d){this.h.setAttributeNS(a,b,c,d)};h.setData=function(a,b){this.h.setData(a,b)};function Kb(a){return void 0!==a.Qa};function Lb(a,b,c){var d=null;b&&(Kb(b.node)?d={F:b.F,offset:c,parent:b.node}:b.F&&(d=b.F));return{node:a,F:d}}function Mb(a){this.h=a;this.s=[]}function Nb(a,b,c){return a.getAllAttributes(b.node,void 0===c?null:c).map(function(d){return Lb(d,b,d.nodeName)})}Mb.prototype.getAllAttributes=function(a,b){return Kb(a)?a.attributes:this.h.getAllAttributes(a,void 0===b?null:b)};\nfunction Ob(a,b,c){b=b.node;return Kb(b)?(a=b.attributes.find(function(d){return c===d.name}))?a.value:null:(a=a.h.getAttribute(b,c))?a:null}function Pb(a,b,c){return a.getChildNodes(b.node,void 0===c?null:c).map(function(d,e){return Lb(d,b,e)})}Mb.prototype.getChildNodes=function(a,b){b=Kb(a)?a.childNodes:this.h.getChildNodes(a,void 0===b?null:b);return 9===a.nodeType?b.filter(function(c){return 10!==c.nodeType}):b};\nMb.prototype.getData=function(a){return Kb(a)?2===a.nodeType?a.value:a.data:this.h.getData(a)||\"\"};function Qb(a,b){return a.getData(b.node)}function Rb(a,b,c){var d=b.node;Kb(d)?a=d.childNodes[0]:((c=a.h.getFirstChild(d,void 0===c?null:c))&&10===c.nodeType&&(c=a.h.getNextSibling(c)),a=c);return a?Lb(a,b,0):null}\nfunction Sb(a,b,c){c=void 0===c?null:c;var d=b.node;Kb(d)?(a=d.childNodes.length-1,d=d.childNodes[a]):((d=a.h.getLastChild(d,c))&&10===d.nodeType&&(d=a.h.getPreviousSibling(d)),a=a.getChildNodes(b.node,c).length-1);return d?Lb(d,b,a):null}\nfunction Tb(a,b,c){c=void 0===c?null:c;var d=b.node,e=b.F;if(Kb(d)){if(e){var f=e.offset+1;var g=e.parent.childNodes[f]}}else if(e){f=e.offset+1;var k=Ub(a,b,null);g=a.getChildNodes(k.node,c)[f]}else{for(g=d;g&&(!(g=a.h.getNextSibling(g,c))||10===g.nodeType););return g?{node:g,F:null}:null}return g?Lb(g,k||Ub(a,b,c),f):null}Mb.prototype.getParentNode=function(a,b){return this.h.getParentNode(a,void 0===b?null:b)};\nfunction Ub(a,b,c){c=void 0===c?null:c;var d=b.node,e=b.F;if(e)\"number\"===typeof e.offset&&d===e.parent.childNodes[e.offset]||\"string\"===typeof e.offset&&d===e.parent.attributes.find(function(f){return e.offset===f.nodeName})?(a=e.parent,b=e.F):(a=a.getParentNode(d,c),b=e);else{if(Kb(d))return null;a=a.getParentNode(d,c);b=null}return a?{node:a,F:b}:null}\nfunction Vb(a,b,c){c=void 0===c?null:c;var d=b.node,e=b.F;if(Kb(d)){if(e){var f=e.offset-1;var g=e.parent.childNodes[f]}}else if(e){f=e.offset-1;var k=Ub(a,b,null);g=a.getChildNodes(k.node,c)[f]}else{for(g=d;g&&(!(g=a.h.getPreviousSibling(g,c))||10===g.nodeType););return g?{node:g,F:null}:null}return g?Lb(g,k||Ub(a,b,c),f):null};function Wb(a,b,c,d,e){return e.L(function(f){var g=t(f).next().value;return d.L(function(k){k=t(k).next().value;var l=g.value;if(0>=l||l>k.R.length)throw Error(\"FOAY0001: array position out of bounds.\");return k.R[l-1]()})})};function Xb(a){Bb.call(this,{value:function(c,d,e,f){return Wb(c,d,e,E.o(b),f)},localName:\"get\",namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",l:[{type:5,g:3}],arity:1,i:{type:59,g:2}});var b=this;this.type=62;this.R=a}x(Xb,Bb);function Yb(a){switch(a.node.nodeType){case 2:return 47;case 1:return 54;case 3:case 4:return 56;case 7:return 57;case 8:return 58;case 9:return 55;default:return 53}}function Zb(a){return{type:Yb(a),value:a}};function $b(a,b){a=a.map(function(c){return c.first()});return b(a)};function ac(a,b){var c=C(a.type,1)||C(a.type,20)||C(a.type,19),d=C(b.type,1)||C(b.type,20)||C(b.type,19);if(c&&d)return a.value===b.value;c=C(a.type,4)||C(a.type,3)||C(a.type,6);d=C(b.type,4)||C(b.type,3)||C(b.type,6);if(c&&d)return isNaN(a.value)&&isNaN(b.value)?!0:a.value===b.value;c=C(a.type,0)||C(a.type,22)||C(a.type,18)||C(a.type,23)||C(a.type,44);d=C(b.type,0)||C(b.type,22)||C(b.type,18)||C(b.type,23)||C(b.type,44);return c&&d?a.value===b.value:!1};function bc(a,b,c,d,e){return $b([d,e],function(f){f=t(f);var g=f.next().value,k=f.next().value;return(f=g.h.find(function(l){return ac(l.key,k)}))?f.value():E.empty()})};function cc(a){Bb.call(this,{l:[{type:59,g:3}],arity:1,localName:\"get\",namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",value:function(c,d,e,f){return bc(c,d,e,E.o(b),f)},i:{type:59,g:2}});var b=this;this.type=61;this.h=a}x(cc,Bb);function dc(){}function ec(a,b){return a.ab()===b.ab()&&a.bb()===b.bb()}h=dc.prototype;h.Za=function(){return 0};h.getHours=function(){return 0};h.getMinutes=function(){return 0};h.$a=function(){return 0};h.ab=function(){return 0};h.bb=function(){return 0};h.getSeconds=function(){return 0};h.cb=function(){return 0};h.oa=function(){return!0};function fc(a){if(a>Number.MAX_SAFE_INTEGER||a<Number.MIN_SAFE_INTEGER)throw Error(\"FODT0002: Number of seconds given to construct DayTimeDuration overflows MAX_SAFE_INTEGER or MIN_SAFE_INTEGER\");this.ea=a}x(fc,dc);h=fc.prototype;h.Za=function(){return Math.trunc(this.ea/86400)};h.getHours=function(){return Math.trunc(this.ea%86400/3600)};h.getMinutes=function(){return Math.trunc(this.ea%3600/60)};h.bb=function(){return this.ea};h.getSeconds=function(){var a=this.ea%60;return Object.is(-0,a)?0:a};\nh.oa=function(){return Object.is(-0,this.ea)?!1:0<=this.ea};h.toString=function(){return(this.oa()?\"P\":\"-P\")+gc(this)};function gc(a){var b=Math.abs(a.Za()),c=Math.abs(a.getHours()),d=Math.abs(a.getMinutes());a=Math.abs(a.getSeconds());b=b?b+\"D\":\"\";c=(c?c+\"H\":\"\")+(d?d+\"M\":\"\")+(a?a+\"S\":\"\");return b&&c?b+\"T\"+c:b?b:c?\"T\"+c:\"T0S\"}function hc(a,b,c,d,e,f){a=86400*a+3600*b+60*c+d+e;return new fc(f||0===a?a:-a)}\nfunction ic(a){return(a=/^(-)?P(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+(\\.\\d*)?S)?)?$/.exec(a))?hc(a[4]?parseInt(a[4],10):0,a[5]?parseInt(a[5],10):0,a[6]?parseInt(a[6],10):0,a[7]?parseInt(a[7],10):0,a[8]?parseFloat(a[8]):0,!a[1]):null}function jc(a){a=/^(Z)|([+-])([01]\\d):([0-5]\\d)$/.exec(a);return\"Z\"===a[1]?hc(0,0,0,0,0,!0):hc(0,a[3]?parseInt(a[3],10):0,a[4]?parseInt(a[4],10):0,0,0,\"+\"===a[2])}\nfunction kc(a,b){if(isNaN(b))throw Error(\"FOCA0005: Cannot multiply xs:dayTimeDuration by NaN\");a=a.ea*b;if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while multiplying xs:dayTimeDuration\");return new fc(a<Number.MIN_SAFE_INTEGER||Object.is(-0,a)?0:a)};function lc(a){return a?parseInt(a,10):null}function mc(a){a+=\"\";var b=a.startsWith(\"-\");b&&(a=a.substring(1));return(b?\"-\":\"\")+a.padStart(4,\"0\")}function nc(a){return(a+\"\").padStart(2,\"0\")}function oc(a){a+=\"\";1===a.split(\".\")[0].length&&(a=a.padStart(a.length+1,\"0\"));return a}function pc(a){return 0===a.getHours()&&0===a.getMinutes()?\"Z\":(a.oa()?\"+\":\"-\")+nc(Math.abs(a.getHours()))+\":\"+nc(Math.abs(a.getMinutes()))}\nfunction qc(a,b,c,d,e,f,g,k,l){this.A=a;this.h=b;this.s=c+(24===d?1:0);this.u=24===d?0:d;this.O=e;this.j=f;this.pa=g;this.Z=k;this.type=void 0===l?9:l}\nfunction rc(a){var b=/^(?:(-?\\d{4,}))?(?:--?(\\d\\d))?(?:-{1,3}(\\d\\d))?(T)?(?:(\\d\\d):(\\d\\d):(\\d\\d))?(\\.\\d+)?(Z|(?:[+-]\\d\\d:\\d\\d))?$/.exec(a);a=b[1]?parseInt(b[1],10):null;var c=lc(b[2]),d=lc(b[3]),e=b[4],f=lc(b[5]),g=lc(b[6]),k=lc(b[7]),l=b[8]?parseFloat(b[8]):0;b=b[9]?jc(b[9]):null;if(a&&(-271821>a||273860<a))throw Error(\"FODT0001: Datetime year is out of bounds\");return e?new qc(a,c,d,f,g,k,l,b,9):null!==f&&null!==g&&null!==k?new qc(1972,12,31,f,g,k,l,b,8):null!==a&&null!==c&&null!==d?new qc(a,c,\nd,0,0,0,0,b,7):null!==a&&null!==c?new qc(a,c,1,0,0,0,0,b,11):null!==c&&null!==d?new qc(1972,c,d,0,0,0,0,b,13):null!==a?new qc(a,1,1,0,0,0,0,b,12):null!==c?new qc(1972,c,1,0,0,0,0,b,14):new qc(1972,12,d,0,0,0,0,b,15)}\nfunction sc(a,b){switch(b){case 15:return new qc(1972,12,a.s,0,0,0,0,a.Z,15);case 14:return new qc(1972,a.h,1,0,0,0,0,a.Z,14);case 12:return new qc(a.A,1,1,0,0,0,0,a.Z,12);case 13:return new qc(1972,a.h,a.s,0,0,0,0,a.Z,13);case 11:return new qc(a.A,a.h,1,0,0,0,0,a.Z,11);case 8:return new qc(1972,12,31,a.u,a.O,a.j,a.pa,a.Z,8);case 7:return new qc(a.A,a.h,a.s,0,0,0,0,a.Z,7);default:return new qc(a.A,a.h,a.s,a.u,a.O,a.j,a.pa,a.Z,9)}}h=qc.prototype;h.getDay=function(){return this.s};h.getHours=function(){return this.u};\nh.getMinutes=function(){return this.O};h.getMonth=function(){return this.h};h.getSeconds=function(){return this.j};h.getYear=function(){return this.A};function tc(a,b){b=a.Z||b||jc(\"Z\");return new Date(Date.UTC(a.A,a.h-1,a.s,a.u-b.getHours(),a.O-b.getMinutes(),a.j,1E3*a.pa))}\nh.toString=function(){switch(this.type){case 9:return mc(this.A)+\"-\"+nc(this.h)+\"-\"+nc(this.s)+\"T\"+nc(this.u)+\":\"+nc(this.O)+\":\"+oc(this.j+this.pa)+(this.Z?pc(this.Z):\"\");case 7:return mc(this.A)+\"-\"+nc(this.h)+\"-\"+nc(this.s)+(this.Z?pc(this.Z):\"\");case 8:return nc(this.u)+\":\"+nc(this.O)+\":\"+oc(this.j+this.pa)+(this.Z?pc(this.Z):\"\");case 15:return\"---\"+nc(this.s)+(this.Z?pc(this.Z):\"\");case 14:return\"--\"+nc(this.h)+(this.Z?pc(this.Z):\"\");case 13:return\"--\"+nc(this.h)+\"-\"+nc(this.s)+(this.Z?pc(this.Z):\n\"\");case 12:return mc(this.A)+(this.Z?pc(this.Z):\"\");case 11:return mc(this.A)+\"-\"+nc(this.h)+(this.Z?pc(this.Z):\"\")}throw Error(\"Unexpected subType\");};function uc(a,b,c){var d=tc(a,c).getTime();c=tc(b,c).getTime();return d===c?a.pa===b.pa?0:a.pa>b.pa?1:-1:d>c?1:-1}function vc(a,b,c){return 0===uc(a,b,c)}function xc(a,b,c){a=(tc(a,c).getTime()-tc(b,c).getTime())/1E3;return new fc(a)}function yc(a){throw Error(\"Not implemented: adding durations to \"+tb[a.type]);}\nfunction zc(a){throw Error(\"Not implemented: subtracting durations from \"+tb[a.type]);};function Ac(a,b){if(null===a)return null;switch(typeof a){case \"boolean\":return a?cb:db;case \"number\":return y(a,3);case \"string\":return y(a,1);case \"object\":if(\"nodeType\"in a)return Zb({node:a,F:null});if(Array.isArray(a))return new Xb(a.map(function(d){if(void 0===d)return function(){return E.empty()};d=Ac(d,b);d=null===d?E.empty():E.o(d);return rb(d)}));if(a instanceof Date){var c=rc(a.toISOString());return y(c,c.type)}return new cc(Object.keys(a).filter(function(d){return void 0!==a[d]}).map(function(d){var e=\nAc(a[d],b);e=null===e?E.empty():E.o(e);return{key:y(d,1),value:rb(e)}}))}throw Error(\"Value \"+String(a)+' of type \"'+typeof a+'\" is not adaptable to an XPath value.');}function Bc(a,b){if(\"number\"!==typeof a&&(\"string\"!==typeof a||!$a.get(b)(a)))throw Error(\"Cannot convert JavaScript value '\"+a+\"' to the XPath type \"+tb[b]+\" since it is not valid.\");}\nfunction Cc(a,b,c){if(null===b)return null;switch(a){case 0:return b?cb:db;case 1:return y(b+\"\",1);case 3:case 2:return Bc(b,3),y(+b,3);case 4:return Bc(b,a),y(+b,4);case 5:return Bc(b,a),y(b|0,5);case 6:return Bc(b,a),y(+b,6);case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:if(!(b instanceof Date))throw Error(\"The JavaScript value \"+b+\" with type \"+typeof b+\" is not a valid type to be converted to an XPath \"+tb[a]+\".\");return y(sc(rc(b.toISOString()),a),a);case 53:case 47:case 55:case 54:case 56:case 57:case 58:if(\"object\"!==\ntypeof b||!(\"nodeType\"in b))throw Error(\"The JavaScript value \"+b+\" with type \"+typeof b+\" is not a valid type to be converted to an XPath \"+tb[a]+\".\");return Zb({node:b,F:null});case 59:return Ac(b,c);case 61:return Ac(b,c);default:throw Error('Values of the type \"'+tb[a]+'\" can not be adapted from JavaScript to equivalent XPath values.');}}\nfunction Dc(a,b,c){if(0===c.g)return b=Cc(c.type,b,a),null===b?[]:[b];if(2===c.g||1===c.g){if(!Array.isArray(b))throw Error(\"The JavaScript value \"+b+\" should be an array if it is to be converted to \"+vb(c)+\".\");return b.map(function(e){return Cc(c.type,e,a)}).filter(function(e){return null!==e})}var d=Cc(c.type,b,a);if(null===d)throw Error(\"The JavaScript value \"+b+\" should be a single entry if it is to be converted to \"+vb(c)+\".\");return[d]}\nfunction Ec(a,b,c){c=void 0===c?{type:59,g:0}:c;return E.create(Dc(a,b,c))};function Fc(a,b){this.h=b=void 0===b?{vb:null,Ab:null,pb:!1}:b;this.Ja=a.Ja;this.Ga=a.Ga;this.N=a.N;this.Ea=a.Ea||Object.create(null)}function Gc(a,b){var c=0,d=b.value;return{next:function(e){e=d.next(e);return e.done?z:B(Hc(a,c++,e.value,b))}}}function Ic(a){a.h.pb||(a.h.pb=!0,a.h.vb=rc((new Date).toISOString()),a.h.Ab=ic(\"PT0S\"));return a.h.vb}function Jc(a){a.h.pb||(a.h.pb=!0,a.h.vb=rc((new Date).toISOString()),a.h.Ab=ic(\"PT0S\"));return a.h.Ab}\nfunction Hc(a,b,c,d){return new Fc({N:c,Ja:b,Ga:d||a.Ga,Ea:a.Ea},a.h)}function Kc(a,b){return new Fc({N:a.N,Ja:a.Ja,Ga:a.Ga,Ea:Object.assign(Object.create(null),a.Ea,b)},a.h)};function Lc(a,b,c,d,e,f,g,k){var l=new Map;this.debug=a;this.Ha=b;this.h=c;this.s=d;this.A=e;this.u=f;this.ha=l;this.O=g;this.j=k};function Mc(a){var b=0,c=null,d=!0;return E.create({next:function(e){for(;b<a.length;){c||(c=a[b].value,d=!0);var f=c.next(d?0:e);d=!1;if(f.done)b++,c=null;else return f}return z}})};function Nc(a,b,c){return Error(\"FORG0001: Cannot cast \"+a+\" to \"+tb[b]+(c?\", \"+c:\"\"))}function Oc(a){return Error(\"XPTY0004: \"+a)}function Pc(a){return Error(\"FOTY0013: Atomization is not supported for \"+tb[a]+\".\")}function Qc(a){return Error(\"XPST0081: The prefix \"+a+\" could not be resolved.\")};function Uc(a,b){if(C(a.type,46)||C(a.type,19)||C(a.type,0)||C(a.type,4)||C(a.type,3)||C(a.type,6)||C(a.type,5)||C(a.type,2)||C(a.type,23)||C(a.type,1))return E.create(a);var c=b.h;if(C(a.type,53)){var d=a.value;if(2===d.node.nodeType||3===d.node.nodeType)return E.create(y(Qb(c,d),19));if(8===d.node.nodeType||7===d.node.nodeType)return E.create(y(Qb(c,d),1));var e=[];(function k(g){if(8!==d.node.nodeType&&7!==d.node.nodeType){var l=g.nodeType;3===l||4===l?e.push(c.getData(g)):1!==l&&9!==l||c.getChildNodes(g).forEach(function(n){k(n)})}})(d.node);\nreturn E.create(y(e.join(\"\"),19))}if(C(a.type,60)&&!C(a.type,62))throw Pc(a.type);if(C(a.type,62))return Mc(a.R.map(function(f){return Vc(f(),b)}));throw Error(\"Atomizing \"+a.type+\" is not implemented.\");}function Vc(a,b){var c=!1,d=a.value,e=null;return E.create({next:function(){for(;!c;){if(!e){var f=d.next(0);if(f.done){c=!0;break}e=Uc(f.value,b).value}f=e.next(0);if(f.done)e=null;else return f}return z}})};function Wc(a){for(a=ab[a];a&&0!==a.D;)a=a.parent;return a?a.type:null}function Xc(a,b){b=ab[b];var c=b.Ia;if(!c||!c.whiteSpace)return b.parent?Xc(a,b.parent.type):a;switch(b.Ia.whiteSpace){case \"replace\":return a.replace(/[\\u0009\\u000A\\u000D]/g,\" \");case \"collapse\":return a.replace(/[\\u0009\\u000A\\u000D]/g,\" \").replace(/ {2,}/g,\" \").replace(/^ | $/g,\"\")}return a}function Yc(a,b){for(b=ab[b];b&&null===b.fb;){if(2===b.D||3===b.D)return!0;b=b.parent}return b?b.fb(a):!0}\nfunction Zc(a,b){for(;a;){if(a.La&&a.La[b])return a.La[b];a=a.parent}return function(){return!0}}function $c(a,b){for(var c=ab[b];c;){if(c.Ia&&!Object.keys(c.Ia).every(function(d){if(\"whiteSpace\"===d)return!0;var e=Zc(c,d);return e?e(a,c.Ia[d]):!0}))return!1;c=c.parent}return!0};function ad(a){return a(1)||a(19)?function(b){return{v:!0,value:y(b,20)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:anyURI or any of its derived types.\")}}};function bd(a){return a(22)?function(b){for(var c=\"\",d=0;d<b.length;d+=2)c+=String.fromCharCode(parseInt(b.substr(d,2),16));return{v:!0,value:y(btoa(c),21)}}:a(1)||a(19)?function(b){return{v:!0,value:y(b,21)}}:function(){return{error:Error(\"XPTY0004: Casting not supported from given type to xs:base64Binary or any of its derived types.\"),v:!1}}};function cd(a){return a(2)?function(b){return{v:!0,value:0===b||isNaN(b)?db:cb}}:a(1)||a(19)?function(b){switch(b){case \"true\":case \"1\":return{v:!0,value:cb};case \"false\":case \"0\":return{v:!0,value:db};default:return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.\")}}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.\")}}};function dd(a){return a(9)?function(b){return{v:!0,value:y(sc(b,7),7)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),7)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:date or any of its derived types.\")}}};function ed(a){return a(7)?function(b){return{v:!0,value:y(sc(b,9),9)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),9)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:dateTime or any of its derived types.\")}}};function fd(a){return a(18)&&!a(16)?function(b){return{v:!0,value:y(b.Fa,17)}}:a(16)?function(){return{v:!0,value:y(ic(\"PT0.0S\"),17)}}:a(19)||a(1)?function(b){var c=ic(b);return c?{v:!0,value:y(c,17)}:{v:!1,error:Error(\"FORG0001: Can not cast \"+b+\" to xs:dayTimeDuration\")}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:dayTimeDuration or any of its derived types.\")}}};function gd(a){return a(5)?function(b){return{v:!0,value:y(b,4)}}:a(6)||a(3)?function(b){return isNaN(b)||!isFinite(b)?{v:!1,error:Error(\"FOCA0002: Can not cast \"+b+\" to xs:decimal\")}:Math.abs(b)>Number.MAX_VALUE?{v:!1,error:Error(\"FOAR0002: Can not cast \"+b+\" to xs:decimal, it is out of bounds for JavaScript numbers\")}:{v:!0,value:y(b,4)}}:a(0)?function(b){return{v:!0,value:y(b?1:0,4)}}:a(1)||a(19)?function(b){var c=parseFloat(b);return!isNaN(c)||isFinite(c)?{v:!0,value:y(c,4)}:{v:!1,error:Error(\"FORG0001: Can not cast \"+\nb+\" to xs:decimal\")}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:decimal or any of its derived types.\")}}};function hd(a,b){return a(2)?function(c){return{v:!0,value:c}}:a(0)?function(c){return{v:!0,value:c?1:0}}:a(1)||a(19)?function(c){switch(c){case \"NaN\":return{v:!0,value:NaN};case \"INF\":case \"+INF\":return{v:!0,value:Infinity};case \"-INF\":return{v:!0,value:-Infinity};case \"0\":case \"+0\":return{v:!0,value:0};case \"-0\":return{v:!0,value:-0}}var d=parseFloat(c);return isNaN(d)?{v:!1,error:Nc(c,b)}:{v:!0,value:d}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to \"+b+\n\" or any of its derived types.\")}}};function id(a){var b=hd(a,3);return function(c){c=b(c);return c.v?{v:!0,value:y(c.value,3)}:c}};function jd(a){if(a>Number.MAX_SAFE_INTEGER||a<Number.MIN_SAFE_INTEGER)throw Error(\"FODT0002: Number of months given to construct YearMonthDuration overflows MAX_SAFE_INTEGER or MIN_SAFE_INTEGER\");this.ga=a}x(jd,dc);h=jd.prototype;h.$a=function(){var a=this.ga%12;return 0===a?0:a};h.ab=function(){return this.ga};h.cb=function(){return Math.trunc(this.ga/12)};h.oa=function(){return Object.is(-0,this.ga)?!1:0<=this.ga};h.toString=function(){return(this.oa()?\"P\":\"-P\")+kd(this)};\nfunction kd(a){var b=Math.abs(a.cb());a=Math.abs(a.$a());return(b?b+\"Y\":\"\")+(a?a+\"M\":\"\")||\"0M\"}function ld(a){var b=/^(-)?P(\\d+Y)?(\\d+M)?(\\d+D)?(?:T(\\d+H)?(\\d+M)?(\\d+(\\.\\d*)?S)?)?$/.exec(a);if(b){a=!b[1];b=12*(b[2]?parseInt(b[2],10):0)+(b[3]?parseInt(b[3],10):0);if(b>Number.MAX_SAFE_INTEGER||!Number.isFinite(b))throw Error(\"FODT0002: Value overflow while constructing xs:yearMonthDuration\");a=new jd(a||0===b?b:-b)}else a=null;return a}\nfunction md(a,b){if(isNaN(b))throw Error(\"FOCA0005: Cannot multiply xs:yearMonthDuration by NaN\");a=Math.round(a.ga*b);if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while constructing xs:yearMonthDuration\");return new jd(a<Number.MIN_SAFE_INTEGER||0===a?0:a)};function nd(a,b){this.Sa=a;this.Fa=b}x(nd,dc);h=nd.prototype;h.Za=function(){return this.Fa.Za()};h.getHours=function(){return this.Fa.getHours()};h.getMinutes=function(){return this.Fa.getMinutes()};h.$a=function(){return this.Sa.$a()};h.ab=function(){return this.Sa.ab()};h.bb=function(){return this.Fa.bb()};h.getSeconds=function(){return this.Fa.getSeconds()};h.cb=function(){return this.Sa.cb()};h.oa=function(){return this.Sa.oa()&&this.Fa.oa()};\nh.toString=function(){var a=this.oa()?\"P\":\"-P\",b=kd(this.Sa),c=gc(this.Fa);return\"0M\"===b?a+c:\"T0S\"===c?a+b:a+b+c};function od(a){return a(16)?function(b){return{v:!0,value:y(new nd(b,new fc(b.oa()?0:-0)),18)}}:a(17)?function(b){b=new nd(new jd(b.oa()?0:-0),b);return{v:!0,value:y(b,18)}}:a(18)?function(b){return{v:!0,value:y(b,18)}}:a(19)||a(1)?function(b){var c;return c=new nd(ld(b),ic(b)),{v:!0,value:y(c,18)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:duration or any of its derived types.\")}}};function pd(a){var b=hd(a,6);return function(c){c=b(c);return c.v?{v:!0,value:y(c.value,6)}:c}};function qd(a){return a(7)||a(9)?function(b){return{v:!0,value:y(sc(b,15),15)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),15)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:gDay or any of its derived types.\")}}};function rd(a){return a(7)||a(9)?function(b){return{v:!0,value:y(sc(b,14),14)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),14)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:gMonth or any of its derived types.\")}}};function td(a){return a(7)||a(9)?function(b){return{v:!0,value:y(sc(b,13),13)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),13)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:gMonthDay or any of its derived types.\")}}};function ud(a){return a(7)||a(9)?function(b){return{v:!0,value:y(sc(b,12),12)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),12)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:gYear or any of its derived types.\")}}};function vd(a){return a(7)||a(9)?function(b){return{v:!0,value:y(sc(b,11),11)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),11)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:gYearMonth or any of its derived types.\")}}};function wd(a){return a(21)?function(b){b=atob(b);for(var c=\"\",d=0,e=b.length;d<e;d++)c+=Number(b.charCodeAt(d)).toString(16);return{v:!0,value:y(c.toUpperCase(),22)}}:a(1)||a(19)?function(b){return{v:!0,value:y(b,22)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:hexBinary or any of its derived types.\")}}};function xd(a){return a(0)?function(b){return{v:!0,value:y(b?1:0,5)}}:a(2)?function(b){var c=Math.trunc(b);return!isFinite(c)||isNaN(c)?{v:!1,error:Error(\"FOCA0002: can not cast \"+b+\" to xs:integer\")}:Number.isSafeInteger(c)?{v:!0,value:y(c,5)}:{v:!1,error:Error(\"FOAR0002: can not cast \"+b+\" to xs:integer, it is out of bounds for JavaScript numbers.\")}}:a(1)||a(19)?function(b){var c=parseInt(b,10);return isNaN(c)?{v:!1,error:Nc(b,5)}:Number.isSafeInteger(c)?{v:!0,value:y(c,5)}:{v:!1,error:Error(\"FOCA0003: can not cast \"+\nb+\" to xs:integer, it is out of bounds for JavaScript numbers.\")}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:integer or any of its derived types.\")}}};var yd=[3,6,4,5];function zd(a){var b=Ad;return function(c){for(var d=t(yd),e=d.next();!e.done;e=d.next())if(e=b(a,e.value)(c),e.v)return e;return{v:!1,error:Error('XPTY0004: Casting not supported from \"'+c+'\" given type to xs:numeric or any of its derived types.')}}};function Bd(a){if(a(1)||a(19))return function(b){return{v:!0,value:b+\"\"}};if(a(20))return function(b){return{v:!0,value:b}};if(a(23))return function(b){return{v:!0,value:b.prefix?b.prefix+\":\"+b.localName:b.localName}};if(a(44))return function(b){return{v:!0,value:b.toString()}};if(a(2)){if(a(5)||a(4))return function(b){return{v:!0,value:(b+\"\").replace(\"e\",\"E\")}};if(a(6)||a(3))return function(b){return isNaN(b)?{v:!0,value:\"NaN\"}:isFinite(b)?Object.is(b,-0)?{v:!0,value:\"-0\"}:{v:!0,value:(b+\"\").replace(\"e\",\n\"E\").replace(\"E+\",\"E\")}:{v:!0,value:(0>b?\"-\":\"\")+\"INF\"}}}return a(9)||a(7)||a(8)||a(15)||a(14)||a(13)||a(12)||a(11)?function(b){return{v:!0,value:b.toString()}}:a(16)?function(b){return{v:!0,value:b.toString()}}:a(17)?function(b){return{v:!0,value:b.toString()}}:a(18)?function(b){return{v:!0,value:b.toString()}}:a(22)?function(b){return{v:!0,value:b.toUpperCase()}}:function(b){return{v:!0,value:b+\"\"}}};function Cd(a){var b=Bd(a);return function(c){c=b(c);return c.v?{v:!0,value:y(c.value,1)}:c}};function Dd(a){return a(9)?function(b){return{v:!0,value:y(sc(b,8),8)}}:a(19)||a(1)?function(b){return{v:!0,value:y(rc(b),8)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:time or any of its derived types.\")}}};function Ed(a){var b=Bd(a);return function(c){c=b(c);return c.v?{v:!0,value:y(c.value,19)}:c}};function Fd(a){return a(18)&&!a(17)?function(b){return{v:!0,value:y(b.Sa,16)}}:a(17)?function(){return{v:!0,value:y(ld(\"P0M\"),16)}}:a(19)||a(1)?function(b){var c=ld(b);return c?{v:!0,value:y(c,16)}:{v:!1,error:Nc(b,16)}}:function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:yearMonthDuration or any of its derived types.\")}}};var Gd=[2,5,17,16];\nfunction Ad(a,b){function c(d){return C(a,d)}if(39===b)return function(){return{v:!1,error:Error(\"FORG0001: Casting to xs:error is always invalid.\")}};switch(b){case 19:return Ed(c);case 1:return Cd(c);case 6:return pd(c);case 3:return id(c);case 4:return gd(c);case 5:return xd(c);case 2:return zd(a);case 18:return od(c);case 16:return Fd(c);case 17:return fd(c);case 9:return ed(c);case 8:return Dd(c);case 7:return dd(c);case 11:return vd(c);case 12:return ud(c);case 13:return td(c);case 15:return qd(c);\ncase 14:return rd(c);case 0:return cd(c);case 21:return bd(c);case 22:return wd(c);case 20:return ad(c);case 23:throw Error(\"Casting to xs:QName is not implemented.\");}return function(){return{v:!1,error:Error(\"XPTY0004: Casting not supported from \"+a+\" to \"+b+\".\")}}}var Hd=Object.create(null);\nfunction Id(a,b){if(19===a&&1===b)return function(f){return{v:!0,value:y(f,1)}};if(44===b)return function(){return{v:!1,error:Error(\"XPST0080: Casting to xs:NOTATION is not permitted.\")}};if(39===b)return function(){return{v:!1,error:Error(\"FORG0001: Casting to xs:error is not permitted.\")}};if(45===a||45===b)return function(){return{v:!1,error:Error(\"XPST0080: Casting from or to xs:anySimpleType is not permitted.\")}};if(46===a||46===b)return function(){return{v:!1,error:Error(\"XPST0080: Casting from or to xs:anyAtomicType is not permitted.\")}};\nif(C(a,60)&&1===b)return function(){return{v:!1,error:Error(\"FOTY0014: Casting from function item to xs:string is not permitted.\")}};if(a===b)return function(f){return{v:!0,value:{type:b,value:f}}};var c=Gd.includes(a)?a:Wc(a),d=Gd.includes(b)?b:Wc(b);if(null===d||null===c)return function(){return{v:!1,error:Error(\"XPST0081: Can not cast: type \"+(d?tb[a]:tb[b])+\" is unknown.\")}};var e=[];1!==c&&19!==c||e.push(function(f){var g=Xc(f,b);return Yc(g,b)?{v:!0,value:g}:{v:!1,error:Nc(f,b,\"pattern validation failed.\")}});\nc!==d&&(e.push(Ad(c,d)),e.push(function(f){return{v:!0,value:f.value}}));19!==d&&1!==d||e.push(function(f){return Yc(f,b)?{v:!0,value:f}:{v:!1,error:Nc(f,b,\"pattern validation failed.\")}});e.push(function(f){return $c(f,b)?{v:!0,value:f}:{v:!1,error:Nc(f,b,\"pattern validation failed.\")}});e.push(function(f){return{v:!0,value:{type:b,value:f}}});return function(f){f={v:!0,value:f};for(var g=0,k=e.length;g<k&&(f=e[g](f.value),!1!==f.v);++g);return f}}\nfunction Jd(a,b){var c=a.type+1E4*b,d=Hd[c];d||(d=Hd[c]=Id(a.type,b));return d.call(void 0,a.value,b)};function Kd(a,b){a=Jd(a,b);if(!0===a.v)return a.value;throw a.error;};function Ld(a){var b=!1;return{next:function(){if(b)return z;b=!0;return B(a)}}};function Md(a,b){return a===b?!0:a&&b&&a.offset===b.offset&&a.parent===b.parent?Md(a.F,b.F):!1}function Nd(a,b){return a===b||a.node===b.node&&Md(a.F,b.F)?!0:!1};function Od(a,b,c){var d=Ub(a,b,null);a=Pb(a,d,null);d=0;for(var e=a.length;d<e;++d){var f=a[d];if(Nd(f,b))return-1;if(Nd(f,c))return 1}}function Pd(a,b){for(var c=[];b;b=Ub(a,b,null))c.unshift(b);return c}function Qd(a,b){for(var c=[];b;b=a.getParentNode(b,null))c.unshift(b);return c}\nfunction Rd(a,b,c,d){if(c.F||d.F||Kb(c.node)||Kb(d.node)){if(Nd(c,d))return 0;c=Pd(b,c);d=Pd(b,d);var e=c[0],f=d[0];if(!Nd(e,f))return b=a.findIndex(function(q){return Nd(q,e)}),c=a.findIndex(function(q){return Nd(q,f)}),-1===b&&(b=a.push(e)),-1===c&&(c=a.push(f)),b-c;a=1;for(var g=Math.min(c.length,d.length);a<g&&Nd(c[a],d[a]);++a);return c[a]?d[a]?Od(b,c[a],d[a]):1:-1}c=c.node;d=d.node;if(c===d)return 0;c=Qd(b,c);d=Qd(b,d);if(c[0]!==d[0]){var k={node:c[0],F:null},l={node:d[0],F:null};b=a.findIndex(function(q){return Nd(q,\nk)});c=a.findIndex(function(q){return Nd(q,l)});-1===b&&(b=a.push(k));-1===c&&(c=a.push(l));return b-c}g=1;for(a=Math.min(c.length,d.length);g<a&&c[g]===d[g];++g);a=c[g];c=d[g];if(!a)return-1;if(!c)return 1;b=b.getChildNodes(d[g-1],null);d=0;for(g=b.length;d<g;++d){var n=b[d];if(n===a)return-1;if(n===c)return 1}}\nfunction Sd(a,b,c,d){var e=C(c.type,47),f=C(d.type,47);if(e&&!f){if(c=Ub(b,c.value),d=d.value,Nd(c,d))return 1}else if(f&&!e){if(c=c.value,d=Ub(b,d.value),Nd(c,d))return-1}else if(e&&f){if(Nd(Ub(b,d.value),Ub(b,c.value)))return c.value.node.localName>d.value.node.localName?1:-1;c=Ub(b,c.value);d=Ub(b,d.value)}else c=c.value,d=d.value;return Rd(a,b,c,d)}function Td(a,b,c){return Sd(a.s,a,b,c)}\nfunction Ud(a,b){return Vd(b,function(c,d){return Sd(a.s,a,c,d)}).filter(function(c,d,e){return 0===d?!0:!Nd(c.value,e[d-1].value)})}function Wd(a,b){return a<b?-1:0}function Vd(a,b){b=void 0===b?Wd:b;if(1>=a.length)return a;var c=Math.floor(a.length/2),d=Vd(a.slice(0,c),b);a=Vd(a.slice(c),b);for(c=[];d.length&&a.length;)0>b(d[0],a[0])?c.push(d.shift()):c.push(a.shift());return c.concat(d.concat(a))};var Xd=xspattern;function Yd(a,b){if(C(a.type,2)){if(C(a.type,6))return 3===b?y(a.value,3):null;if(C(a.type,4)){if(6===b)return y(a.value,6);if(3===b)return y(a.value,3)}return null}return C(a.type,20)&&1===b?y(a.value,1):null};function Zd(a,b,c,d,e){if(C(a.type,b.type))return a;C(b.type,46)&&C(a.type,53)&&(a=Uc(a,c).first());if(C(a.type,b.type)||46===b.type)return a;if(C(a.type,19)){c=Kd(a,b.type);if(!c)throw Error(\"XPTY0004 Unable to convert \"+(e?\"return\":\"argument\")+\" of type \"+tb[a.type]+\" to type \"+vb(b)+\" while calling \"+d);return c}c=Yd(a,b.type);if(!c)throw Error(\"XPTY0004 Unable to cast \"+(e?\"return\":\"argument\")+\" of type \"+tb[a.type]+\" to type \"+vb(b)+\" while calling \"+d);return c}\nfunction $d(a){switch(a){case 2:return\"*\";case 1:return\"+\";case 0:return\"?\";case 3:return\"\"}}\nfunction ae(a,b,c,d,e){return 0===a.g?b.$({default:function(){return b.map(function(f){return Zd(f,a,c,d,e)})},multiple:function(){throw Error(\"XPTY0004: Multiplicity of \"+(e?\"function return value\":\"function argument\")+\" of type \"+tb[a.type]+$d(a.g)+\" for \"+d+' is incorrect. Expected \"?\", but got \"+\".');}}):1===a.g?b.$({empty:function(){throw Error(\"XPTY0004: Multiplicity of \"+(e?\"function return value\":\"function argument\")+\" of type \"+tb[a.type]+$d(a.g)+\" for \"+d+' is incorrect. Expected \"+\", but got \"empty-sequence()\"');\n},default:function(){return b.map(function(f){return Zd(f,a,c,d,e)})}}):2===a.g?b.map(function(f){return Zd(f,a,c,d,e)}):b.$({o:function(){return b.map(function(f){return Zd(f,a,c,d,e)})},default:function(){throw Error(\"XPTY0004: Multiplicity of \"+(e?\"function return value\":\"function argument\")+\" of type \"+tb[a.type]+$d(a.g)+\" for \"+d+\" is incorrect. Expected exactly one\");}})};function be(a,b){return C(a,5)?y(b,5):C(a,6)?y(b,6):C(a,3)?y(b,3):y(b,4)}function ce(a){if(Math.floor(a)===a||isNaN(a))return 0;a=/\\d+(?:\\.(\\d*))?(?:[Ee](-)?(\\d+))*/.exec(a+\"\");var b=a[1]?a[1].length:0;if(a[3]){if(a[2])return b+parseInt(a[3],10);a=b-parseInt(a[3],10);return 0>a?0:a}return b}function de(a,b,c){return b&&0===a*c%1%.5?0===Math.floor(a*c)%2?Math.floor(a*c)/c:Math.ceil(a*c)/c:Math.round(a*c)/c}\nfunction ee(a,b,c,d,e,f){var g=!1;return E.create({next:function(){if(g)return z;var k=e.first();if(!k)return g=!0,z;if((C(k.type,6)||C(k.type,3))&&(0===k.value||isNaN(k.value)||Infinity===k.value||-Infinity===k.value))return g=!0,B(k);var l;f?l=f.first().value:l=0;g=!0;if(ce(k.value)<l)return B(k);var n=[5,4,3,6].find(function(u){return C(k.type,u)}),q=Kd(k,4);l=de(q.value,a,Math.pow(10,l));switch(n){case 4:return B(y(l,4));case 3:return B(y(l,3));case 6:return B(y(l,6));case 5:return B(y(l,5))}}})}\nfunction fe(a,b,c,d){return Vc(d,b).$({empty:function(){return E.o(y(NaN,3))},o:function(){var e=Jd(d.first(),3);return e.v?E.o(e.value):E.o(y(NaN,3))},multiple:function(){throw Error(\"fn:number may only be called with zero or one values\");}})}function ge(a,b,c,d){if(d.G())return d;a=d.M();return E.o(a[Math.floor(Math.random()*a.length)])}\nfunction he(){return E.o(new cc([{key:y(\"number\",1),value:function(){return E.o(y(Math.random(),3))}},{key:y(\"next\",1),value:function(){return E.o(new Bb({value:he,Pa:!0,localName:\"\",namespaceURI:\"\",l:[],arity:0,i:{type:61,g:3}}))}},{key:y(\"permute\",1),value:function(){return E.o(new Bb({value:ge,Pa:!0,localName:\"\",namespaceURI:\"\",l:[{type:59,g:2}],arity:1,i:{type:59,g:2}}))}}]))}\nvar ie=[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"abs\",l:[{type:2,g:0}],i:{type:2,g:0},m:function(a,b,c,d){return d.map(function(e){return be(e.type,Math.abs(e.value))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"ceiling\",l:[{type:2,g:0}],i:{type:2,g:0},m:function(a,b,c,d){return d.map(function(e){return be(e.type,Math.ceil(e.value))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"floor\",l:[{type:2,g:0}],i:{type:2,g:0},m:function(a,\nb,c,d){return d.map(function(e){return be(e.type,Math.floor(e.value))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"round\",l:[{type:2,g:0}],i:{type:2,g:0},m:ee.bind(null,!1)},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"round\",l:[{type:2,g:0},{type:5,g:3}],i:{type:2,g:0},m:ee.bind(null,!1)},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"round-half-to-even\",l:[{type:2,g:0}],i:{type:2,g:0},m:ee.bind(null,!0)},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"round-half-to-even\",l:[{type:2,g:0},{type:5,g:3}],i:{type:2,g:0},m:ee.bind(null,!0)},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"number\",l:[{type:46,g:0}],i:{type:3,g:3},m:fe},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"number\",l:[],i:{type:3,g:3},m:function(a,b,c){var d=a.N&&ae({type:46,g:0},E.o(a.N),b,\"fn:number\",!1);if(!d)throw Error(\"XPDY0002: fn:number needs an atomizable context item.\");return fe(a,b,c,d)}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"random-number-generator\",l:[],i:{type:61,g:3},m:he},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"random-number-generator\",l:[{type:46,g:0}],i:{type:61,g:3},m:function(){throw Error(\"Not implemented: Specifying a seed is not supported\");}}];function je(){throw Error(\"FOCH0002: No collations are supported\");}function ke(a,b,c,d){if(null===b.N)throw Error(\"XPDY0002: The function which was called depends on dynamic context, which is absent.\");return a(b,c,d,E.o(b.N))}function le(a,b,c,d){return d.$({empty:function(){return E.o(y(\"\",1))},default:function(){return d.map(function(e){if(C(e.type,53)){var f=Uc(e,b).first();return C(e.type,47)?Kd(f,1):f}return Kd(e,1)})}})}\nfunction me(a,b,c,d,e){return $b([e],function(f){var g=t(f).next().value;return Vc(d,b).L(function(k){k=k.map(function(l){return Kd(l,1).value}).join(g.value);return E.o(y(k,1))})})}function ne(a,b,c,d){if(d.G())return E.o(y(0,5));a=d.first().value;return E.o(y(Array.from(a).length,5))}\nfunction oe(a,b,c,d,e,f){var g=ee(!1,a,b,c,e,null),k=null!==f?ee(!1,a,b,c,f,null):null,l=!1,n=null,q=null,u=null;return E.create({next:function(){if(l)return z;if(!n&&(n=d.first(),null===n))return l=!0,B(y(\"\",1));q||(q=g.first());!u&&f&&(u=null,u=k.first());l=!0;return B(y(Array.from(n.value).slice(Math.max(q.value-1,0),f?q.value+u.value-1:void 0).join(\"\"),1))}})}\nfunction pe(a,b,c,d,e){if(d.G()||0===d.first().value.length)return E.empty();a=d.first().value;e=e.first().value;e=qe(e);return E.create(a.split(e).map(function(f){return y(f,1)}))}function re(a,b,c,d){if(d.G())return E.o(y(\"\",1));a=d.first().value.trim();return E.o(y(a.replace(/\\s+/g,\" \"),1))}var se=new Map,te=new Map;\nfunction qe(a){if(te.has(a))return te.get(a);try{var b=new RegExp(a,\"g\")}catch(c){throw Error(\"FORX0002: \"+c);}if(b.test(\"\"))throw Error(\"FORX0003: the pattern \"+a+\" matches the zero length string\");te.set(a,b);return b}\nvar ue=[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"compare\",l:[{type:1,g:0},{type:1,g:0}],i:{type:5,g:0},m:function(a,b,c,d,e){if(d.G()||e.G())return E.empty();a=d.first().value;e=e.first().value;return a>e?E.o(y(1,5)):a<e?E.o(y(-1,5)):E.o(y(0,5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"compare\",l:[{type:1,g:0},{type:1,g:0},{type:1,g:3}],i:{type:5,g:0},m:je},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"concat\",l:[{type:46,g:0},\n{type:46,g:0},4],i:{type:1,g:3},m:function(a,b,c,d){for(var e=[],f=3;f<arguments.length;++f)e[f-3]=arguments[f];e=e.map(function(g){return Vc(g,b).L(function(k){return E.o(y(k.map(function(l){return null===l?\"\":Kd(l,1).value}).join(\"\"),1))})});return $b(e,function(g){return E.o(y(g.map(function(k){return k.value}).join(\"\"),1))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"contains\",l:[{type:1,g:0},{type:1,g:0},{type:1,g:0}],i:{type:0,g:3},m:je},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"contains\",l:[{type:1,g:0},{type:1,g:0}],i:{type:0,g:3},m:function(a,b,c,d,e){a=d.G()?\"\":d.first().value;e=e.G()?\"\":e.first().value;return 0===e.length?E.ca():0===a.length?E.X():a.includes(e)?E.ca():E.X()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"ends-with\",l:[{type:1,g:0},{type:1,g:0}],i:{type:0,g:3},m:function(a,b,c,d,e){a=e.G()?\"\":e.first().value;if(0===a.length)return E.ca();d=d.G()?\"\":d.first().value;return 0===d.length?E.X():d.endsWith(a)?E.ca():E.X()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"ends-with\",l:[{type:1,g:0},{type:1,g:0},{type:1,g:3}],i:{type:0,g:3},m:je},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"normalize-space\",l:[{type:1,g:0}],i:{type:1,g:3},m:re},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"normalize-space\",l:[],i:{type:1,g:3},m:ke.bind(null,function(a,b,c,d){return re(a,b,c,le(a,b,c,d))})},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"starts-with\",l:[{type:1,g:0},{type:1,g:0}],i:{type:0,g:3},m:function(a,\nb,c,d,e){a=e.G()?\"\":e.first().value;if(0===a.length)return E.ca();d=d.G()?\"\":d.first().value;return 0===d.length?E.X():d.startsWith(a)?E.ca():E.X()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"starts-with\",l:[{type:1,g:0},{type:1,g:0},{type:1,g:3}],i:{type:0,g:3},m:je},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"string\",l:[{type:59,g:0}],i:{type:1,g:3},m:le},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"string\",l:[],i:{type:1,g:3},m:ke.bind(null,\nle)},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"substring-before\",l:[{type:1,g:0},{type:1,g:0}],i:{type:1,g:3},m:function(a,b,c,d,e){a=d.G()?\"\":d.first().value;e=e.G()?\"\":e.first().value;if(\"\"===e)return E.o(y(\"\",1));e=a.indexOf(e);return-1===e?E.o(y(\"\",1)):E.o(y(a.substring(0,e),1))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"substring-after\",l:[{type:1,g:0},{type:1,g:0}],i:{type:1,g:3},m:function(a,b,c,d,e){a=d.G()?\"\":d.first().value;e=e.G()?\"\":e.first().value;\nif(\"\"===e)return E.o(y(a,1));b=a.indexOf(e);return-1===b?E.o(y(\"\",1)):E.o(y(a.substring(b+e.length),1))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"substring\",l:[{type:1,g:0},{type:3,g:3}],i:{type:1,g:3},m:oe},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"substring\",l:[{type:1,g:0},{type:3,g:3},{type:3,g:3}],i:{type:1,g:3},m:oe},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"upper-case\",l:[{type:1,g:0}],i:{type:1,g:3},m:function(a,b,c,\nd){return d.G()?E.o(y(\"\",1)):d.map(function(e){return y(e.value.toUpperCase(),1)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"lower-case\",l:[{type:1,g:0}],i:{type:1,g:3},m:function(a,b,c,d){return d.G()?E.o(y(\"\",1)):d.map(function(e){return y(e.value.toLowerCase(),1)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"string-join\",l:[{type:46,g:2},{type:1,g:3}],i:{type:1,g:3},m:me},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"string-join\",\nl:[{type:46,g:2}],i:{type:1,g:3},m:function(a,b,c,d){return me(a,b,c,d,E.o(y(\"\",1)))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"string-length\",l:[{type:1,g:0}],i:{type:5,g:3},m:ne},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"string-length\",l:[],i:{type:5,g:3},m:ke.bind(null,function(a,b,c,d){return ne(a,b,c,le(a,b,c,d))})},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"tokenize\",l:[{type:1,g:0},{type:1,g:3},{type:1,g:3}],i:{type:1,\ng:2},m:function(){throw Error(\"Not implemented: Using flags in tokenize is not supported\");}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"tokenize\",l:[{type:1,g:0},{type:1,g:3}],i:{type:1,g:2},m:pe},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"tokenize\",l:[{type:1,g:0}],i:{type:1,g:2},m:function(a,b,c,d){return pe(a,b,c,re(a,b,c,d),E.o(y(\" \",1)))}},{l:[{type:1,g:0},{type:1,g:3},{type:1,g:3}],m:function(a,b,c,d,e,f){return $b([d,e,f],function(g){var k=t(g),\nl=k.next().value;g=k.next().value;k=k.next().value;l=Array.from(l?l.value:\"\");var n=Array.from(g.value),q=Array.from(k.value);g=l.map(function(u){if(n.includes(u)){if(u=n.indexOf(u),u<=q.length)return q[u]}else return u});return E.o(y(g.join(\"\"),1))})},localName:\"translate\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:5,g:2}],m:function(a,b,c,d){return d.L(function(e){e=e.map(function(f){f=f.value;if(9===f||10===f||13===f||32<=f&&55295>=f||57344<=f&&65533>=f||65536<=\nf&&1114111>=f)return String.fromCodePoint(f);throw Error(\"FOCH0001\");}).join(\"\");return E.o(y(e,1))})},localName:\"codepoints-to-string\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:1,g:0}],m:function(a,b,c,d){return $b([d],function(e){e=(e=t(e).next().value)?e.value.split(\"\"):[];return 0===e.length?E.empty():E.create(e.map(function(f){return y(f.codePointAt(0),5)}))})},localName:\"string-to-codepoints\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:5,\ng:2}},{l:[{type:1,g:0}],m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;return null===e||0===e.value.length?E.create(y(\"\",1)):E.create(y(encodeURIComponent(e.value).replace(/[!'()*]/g,function(f){return\"%\"+f.charCodeAt(0).toString(16).toUpperCase()}),1))})},localName:\"encode-for-uri\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:1,g:0}],m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;return null===e||0===e.value.length?E.create(y(\"\",\n1)):E.create(y(e.value.replace(/([\\u00A0-\\uD7FF\\uE000-\\uFDCF\\uFDF0-\\uFFEF \"<>{}|\\\\^`/\\n\\u007f\\u0080-\\u009f]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g,function(f){return encodeURI(f)}),1))})},localName:\"iri-to-uri\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:1,g:0},{type:1,g:0}],m:function(a,b,c,d,e){return $b([d,e],function(f){var g=t(f);f=g.next().value;g=g.next().value;if(null===f||null===g)return E.empty();f=f.value;g=g.value;if(f.length!==g.length)return E.X();f=f.split(\"\");\ng=g.split(\"\");for(var k=0;k<f.length;k++)if(f[k].codePointAt(0)!==g[k].codePointAt(0))return E.X();return E.ca()})},localName:\"codepoint-equal\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:0}},{l:[{type:1,g:0},{type:1,g:3}],m:function(a,b,c,d,e){return $b([d,e],function(f){var g=t(f);f=g.next().value;g=g.next().value;f=f?f.value:\"\";g=g.value;var k=se.get(g);if(!k){try{k=Xd.compile(g,{language:\"xpath\"})}catch(l){throw Error(\"FORX0002: \"+l);}se.set(g,k)}return k(f)?E.ca():E.X()})},\nlocalName:\"matches\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:3}},{l:[{type:1,g:0},{type:1,g:3},{type:1,g:3}],m:function(a,b,c,d,e,f){return $b([d,e,f],function(g){var k=t(g);g=k.next().value;var l=k.next().value;k=k.next().value;g=g?g.value:\"\";l=l.value;k=k.value;if(k.includes(\"$0\"))throw Error(\"Using $0 in fn:replace to replace substrings with full matches is not supported.\");k=k.split(/((?:\\$\\$)|(?:\\\\\\$)|(?:\\\\\\\\))/).map(function(n){switch(n){case \"\\\\$\":return\"$$\";case \"\\\\\\\\\":return\"\\\\\";\ncase \"$$\":throw Error('FORX0004: invalid replacement: \"$$\"');default:return n}}).join(\"\");l=qe(l);g=g.replace(l,k);return E.o(y(g,1))})},localName:\"replace\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:1,g:0},{type:1,g:3},{type:1,g:3},{type:1,g:3}],localName:\"replace\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3},m:function(){throw Error(\"Not implemented: Using flags in replace is not supported\");}}];function ve(a,b,c,d){if(null===b.N)throw Error(\"XPDY0002: The function which was called depends on dynamic context, which is absent.\");return a(b,c,d,E.o(b.N))}function we(a,b,c,d){return $b([d],function(e){e=t(e).next().value;if(null===e)return E.empty();e=e.value;switch(e.node.nodeType){case 1:case 2:return E.o(y(new Ab(e.node.prefix,e.node.namespaceURI,e.node.localName),23));case 7:return E.o(y(new Ab(\"\",\"\",e.node.target),23));default:return E.empty()}})}\nfunction xe(a,b,c,d){return d.$({default:function(){return le(a,b,c,we(a,b,c,d))},empty:function(){return E.empty()}})}function ye(a,b,c,d){return Vc(d,b)}function ze(a,b,c,d){return $b([d],function(e){e=(e=t(e).next().value)?e.value:null;return null!==e&&Rb(b.h,e,null)?E.ca():E.X()})}\nfunction Ae(a,b,c,d){return $b([d],function(e){function f(n){for(var q=0,u=n;null!==u;)(n.node.nodeType!==u.node.nodeType?0:1===u.node.nodeType?u.node.localName===n.node.localName&&u.node.namespaceURI===n.node.namespaceURI:7===u.node.nodeType?u.node.target===n.node.target:1)&&q++,u=Vb(k,u,null);return q}var g=t(e).next().value;if(null===g)return E.empty();var k=b.h;e=\"\";for(g=g.value;null!==Ub(b.h,g,null);g=Ub(b.h,g,null))switch(g.node.nodeType){case 1:var l=g;e=\"/Q{\"+(l.node.namespaceURI||\"\")+\"}\"+\nl.node.localName+\"[\"+f(l)+\"]\"+e;break;case 2:l=g;e=\"/@\"+(l.node.namespaceURI?\"Q{\"+l.node.namespaceURI+\"}\":\"\")+l.node.localName+e;break;case 3:e=\"/text()[\"+f(g)+\"]\"+e;break;case 7:l=g;e=\"/processing-instruction(\"+l.node.target+\")[\"+f(l)+\"]\"+e;break;case 8:e=\"/comment()[\"+f(g)+\"]\"+e}return 9===g.node.nodeType?E.create(y(e||\"/\",1)):E.create(y(\"Q{http://www.w3.org/2005/xpath-functions}root()\"+e,1))})}function Be(a,b,c,d){return d.map(function(e){return y(e.value.node.namespaceURI||\"\",20)})}\nfunction Ce(a,b,c,d){return d.$({default:function(){return d.map(function(e){return 7===e.value.node.nodeType?y(e.value.node.target,1):y(e.value.node.localName||\"\",1)})},empty:function(){return E.o(y(\"\",1))}})}function De(a,b,c){if(2===b.node.nodeType)return Nd(b,c);for(;c;){if(Nd(b,c))return!0;if(9===c.node.nodeType)break;c=Ub(a,c,null)}return!1}\nfunction Ee(a,b,c,d){return d.map(function(e){if(!C(e.type,53))throw Error(\"XPTY0004 Argument passed to fn:root() should be of the type node()\");for(e=e.value;e;){var f=e;e=Ub(b.h,f,null)}return Zb(f)})}\nvar Fe=[{l:[{type:53,g:0}],m:xe,localName:\"name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:0}},{l:[],m:ve.bind(null,xe),localName:\"name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:53,g:3}],m:Be,localName:\"namespace-uri\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:20,g:3}},{l:[],m:ve.bind(null,Be),localName:\"namespace-uri\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:20,g:3}},{l:[{type:53,g:2}],m:function(a,\nb,c,d){return d.L(function(e){if(!e.length)return E.empty();e=Ud(b.h,e).reduceRight(function(f,g,k,l){if(k===l.length-1)return f.push(g),f;if(De(b.h,g.value,f[0].value))return f;f.unshift(g);return f},[]);return E.create(e)})},localName:\"innermost\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:53,g:2}},{l:[{type:53,g:2}],m:function(a,b,c,d){return d.L(function(e){if(!e.length)return E.empty();e=Ud(b.h,e).reduce(function(f,g,k){if(0===k)return f.push(g),f;if(De(b.h,f[f.length-1].value,\ng.value))return f;f.push(g);return f},[]);return E.create(e)},1)},localName:\"outermost\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:53,g:2}},{l:[{type:53,g:0}],m:ze,localName:\"has-children\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:3}},{l:[],m:ve.bind(null,ze),localName:\"has-children\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:3}},{l:[{type:53,g:0}],m:Ae,localName:\"path\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,\ng:0}},{l:[],m:ve.bind(null,Ae),localName:\"path\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:0}},{l:[{type:53,g:0}],m:we,localName:\"node-name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:23,g:0}},{l:[],m:ve.bind(null,we),localName:\"node-name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:23,g:0}},{l:[{type:53,g:0}],m:Ce,localName:\"local-name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[],m:ve.bind(null,Ce),localName:\"local-name\",\nnamespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}},{l:[{type:53,g:0}],m:Ee,localName:\"root\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:53,g:0}},{l:[],m:ve.bind(null,Ee),localName:\"root\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:53,g:0}},{l:[],m:ve.bind(null,ye),localName:\"data\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:2}},{l:[{type:59,g:2}],m:ye,localName:\"data\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\ni:{type:46,g:2}}];function Ge(a,b){var c=0,d=a.length,e=!1,f=null;return{next:function(){if(!e){for(;c<d;){f||(f=b(a[c],c,a));var g=f.next(0);f=null;if(g.value)c++;else return B(!1)}e=!0;return B(!0)}return z}}}function He(a){a=a.node.nodeType;return 1===a||3===a}\nfunction Ie(a,b){if((C(a.type,4)||C(a.type,6))&&(C(b.type,4)||C(b.type,6))){var c=Kd(a,6),d=Kd(b,6);return c.value===d.value||isNaN(a.value)&&isNaN(b.value)}return(C(a.type,4)||C(a.type,6)||C(a.type,3))&&(C(b.type,4)||C(b.type,6)||C(b.type,3))?(c=Kd(a,3),d=Kd(b,3),c.value===d.value||isNaN(a.value)&&isNaN(b.value)):C(a.type,23)&&C(b.type,23)?a.value.namespaceURI===b.value.namespaceURI&&a.value.localName===b.value.localName:(C(a.type,9)||C(a.type,7)||C(a.type,8)||C(a.type,11)||C(a.type,12)||C(a.type,\n13)||C(a.type,14)||C(a.type,15))&&(C(b.type,9)||C(b.type,7)||C(b.type,8)||C(b.type,11)||C(b.type,12)||C(b.type,13)||C(b.type,14)||C(b.type,15))?vc(a.value,b.value):(C(a.type,16)||C(a.type,17)||C(a.type,18))&&(C(b.type,16)||C(b.type,17)||C(b.type,17))?ec(a.value,b.value):a.value===b.value}function Je(a,b,c){c=t([b,c].map(function(d){return{type:1,value:d.reduce(function(e,f){return e+=Uc(f,a).first().value},\"\")}}));b=c.next().value;c=c.next().value;return B(Ie(b,c))}\nfunction Ke(a,b,c,d){for(;a.value&&C(a.value.type,56);){b.push(a.value);var e=Tb(d,a.value.value);a=c.next(0);if(e&&3!==e.node.nodeType)break}return a}\nfunction Le(a,b,c,d,e){var f=b.h,g=d.value,k=e.value,l=null,n=null,q=null,u,v=[],A=[];return{next:function(){for(;!u;)if(l||(l=g.next(0)),l=Ke(l,v,g,f),n||(n=k.next(0)),n=Ke(n,A,k,f),v.length||A.length){var G=Je(b,v,A);v.length=0;A.length=0;if(!1===G.value)return u=!0,G}else{if(l.done||n.done)return u=!0,B(l.done===n.done);q||(q=Me(a,b,c,l.value,n.value));G=q.next(0);q=null;if(!1===G.value)return u=!0,G;n=l=null}return z}}}\nfunction Ne(a,b,c,d,e){return d.h.length!==e.h.length?Ld(!1):Ge(d.h,function(f){var g=e.h.find(function(k){return Ie(k.key,f.key)});return g?Le(a,b,c,f.value(),g.value()):Ld(!1)})}function Oe(a,b,c,d,e){return d.R.length!==e.R.length?Ld(!1):Ge(d.R,function(f,g){g=e.R[g];return Le(a,b,c,f(),g())})}\nfunction Pe(a,b,c,d,e){d=Pb(b.h,d.value);e=Pb(b.h,e.value);d=d.filter(function(f){return He(f)});e=e.filter(function(f){return He(f)});d=E.create(d.map(function(f){return Zb(f)}));e=E.create(e.map(function(f){return Zb(f)}));return Le(a,b,c,d,e)}\nfunction Re(a,b,c,d,e){var f=Le(a,b,c,we(a,b,c,E.o(d)),we(a,b,c,E.o(e))),g=Pe(a,b,c,d,e);d=Nb(b.h,d.value).filter(function(n){return\"http://www.w3.org/2000/xmlns/\"!==n.node.namespaceURI}).sort(function(n,q){return n.node.nodeName>q.node.nodeName?1:-1}).map(function(n){return Zb(n)});e=Nb(b.h,e.value).filter(function(n){return\"http://www.w3.org/2000/xmlns/\"!==n.node.namespaceURI}).sort(function(n,q){return n.node.nodeName>q.node.nodeName?1:-1}).map(function(n){return Zb(n)});var k=Le(a,b,c,E.create(d),\nE.create(e)),l=!1;return{next:function(){if(l)return z;var n=f.next(0);if(!n.done&&!1===n.value)return l=!0,n;n=k.next(0);if(!n.done&&!1===n.value)return l=!0,n;n=g.next(0);l=!0;return n}}}function Se(a,b,c,d,e){var f=Le(a,b,c,we(a,b,c,E.o(d)),we(a,b,c,E.o(e))),g=!1;return{next:function(){if(g)return z;var k=f.next(0);return k.done||!1!==k.value?B(Ie(Uc(d,b).first(),Uc(e,b).first())):(g=!0,k)}}}\nfunction Me(a,b,c,d,e){if(C(d.type,46)&&C(e.type,46))return Ld(Ie(d,e));if(C(d.type,61)&&C(e.type,61))return Ne(a,b,c,d,e);if(C(d.type,62)&&C(e.type,62))return Oe(a,b,c,d,e);if(C(d.type,53)&&C(e.type,53)){if(C(d.type,55)&&C(e.type,55))return Pe(a,b,c,d,e);if(C(d.type,54)&&C(e.type,54))return Re(a,b,c,d,e);if(C(d.type,47)&&C(e.type,47)||C(d.type,57)&&C(e.type,57)||C(d.type,58)&&C(e.type,58))return Se(a,b,c,d,e)}return Ld(!1)};function Te(a){return Error(\"XUST0001: \"+(void 0===a?\"Can not execute an updating expression in a non-updating context.\":a))}function Ue(a){return Error(\"XUTY0004: The attribute \"+a.name+'=\"'+a.value+'\" follows a node that is not an attribute node.')}function Ve(){return Error(\"XUTY0005: The target of a insert expression with into must be a single element or document node.\")}\nfunction We(){return Error(\"XUTY0006: The target of a insert expression with before or after must be a single element, text, comment, or processing instruction node.\")}function Xe(){return Error(\"XUTY0008: The target of a replace expression must be a single element, attribute, text, comment, or processing instruction node.\")}function Ye(){return Error(\"XUTY0012: The target of a rename expression must be a single element, attribute, or processing instruction node.\")}\nfunction Ze(a){return Error(\"XUDY0017: The target \"+a.outerHTML+\" is used in more than one replace value of expression.\")}function $e(a){return Error(\"XUDY0021: Applying the updates will result in the XDM instance violating constraint: '\"+a+\"'\")}function af(a){return Error(\"XUDY0023: The namespace binding \"+a+\" is conflicting.\")}function bf(a){return Error(\"XUDY0024: The namespace binding \"+a+\" is conflicting.\")}\nfunction cf(){return Error(\"XUDY0027: The target for an insert, replace, or rename expression expression should not be empty.\")};function I(a,b,c,d,e){c=void 0===c?{C:!1,Y:!1,S:\"unsorted\",subtree:!1}:c;this.s=a;this.O=c.S||\"unsorted\";this.subtree=!!c.subtree;this.Y=!!c.Y;this.C=!!c.C;this.ha=b;this.I=!1;this.Ya=null;this.bc=void 0===d?!1:d;this.type=e}function J(a,b,c){b&&null!==b.N?a.C?(null===a.Ya&&(a.Ya=rb(a.h(null,c).ob())),a=a.Ya()):a=a.h(b,c):a=a.h(b,c);return a}I.prototype.A=function(){return null};\nI.prototype.P=function(a){this.ha.forEach(function(b){return b.P(a)});if(!this.bc&&this.ha.some(function(b){return b.I}))throw Te();};function df(a,b){this.H=a;this.fa=b};function ef(a){a&&\"object\"===typeof a&&\"nodeType\"in a&&(a=a.ownerDocument||a,\"function\"===typeof a.createElementNS&&\"function\"===typeof a.createProcessingInstruction&&\"function\"===typeof a.createTextNode&&\"function\"===typeof a.createComment&&(this.h=a));this.h||(this.h=null)}h=ef.prototype;h.createAttributeNS=function(a,b){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createAttributeNS(a,b)};\nh.createCDATASection=function(a){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createCDATASection(a)};h.createComment=function(a){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createComment(a)};h.createDocument=function(){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.implementation.createDocument(null,null,null)};\nh.createElementNS=function(a,b){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createElementNS(a,b)};h.createProcessingInstruction=function(a,b){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createProcessingInstruction(a,b)};h.createTextNode=function(a){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createTextNode(a)};function ff(a,b,c,d){var e=Ub(c,a).node,f=(a=Tb(c,a))?a.node:null;b.forEach(function(g){d.insertBefore(e,g.node,f)})}function gf(a,b,c,d){var e=Ub(c,a).node;b.forEach(function(f){d.insertBefore(e,f.node,a.node)})}function hf(a,b,c,d){var e=(c=Rb(c,a))?c.node:null;b.forEach(function(f){d.insertBefore(a.node,f.node,e)})}function jf(a,b,c){b.forEach(function(d){c.insertBefore(a.node,d.node,null)})}\nfunction kf(a,b,c,d){b.forEach(function(e){var f=e.node.nodeName;if(Ob(c,a,f))throw $e(\"An attribute \"+f+\" already exists.\");d.setAttributeNS(a.node,e.node.namespaceURI,f,Qb(c,e))})}\nfunction lf(a,b,c,d,e){d||(d=new ef(a?a.node:null));switch(a.node.nodeType){case 1:var f=c.getAllAttributes(a.node),g=c.getChildNodes(a.node),k=d.createElementNS(b.namespaceURI,b.va());var l={node:k,F:null};f.forEach(function(n){e.setAttributeNS(k,n.namespaceURI,n.nodeName,n.value)});g.forEach(function(n){e.insertBefore(k,n,null)});break;case 2:b=d.createAttributeNS(b.namespaceURI,b.va());b.value=Qb(c,a);l={node:b,F:null};break;case 7:l={node:d.createProcessingInstruction(b.va(),Qb(c,a)),F:null}}if(!Ub(c,\na))throw Error(\"Not supported: renaming detached nodes.\");mf(a,[l],c,e)}function nf(a,b,c,d){c.getChildNodes(a.node).forEach(function(e){return d.removeChild(a.node,e)});b&&d.insertBefore(a.node,b.node,null)}\nfunction mf(a,b,c,d){var e=Ub(c,a),f=a.node.nodeType;if(2===f){if(b.some(function(l){return 2!==l.node.nodeType}))throw Error('Constraint \"If $target is an attribute node, $replacement must consist of zero or more attribute nodes.\" failed.');var g=e?e.node:null;d.removeAttributeNS(g,a.node.namespaceURI,a.node.nodeName);b.forEach(function(l){var n=l.node.nodeName;if(Ob(c,e,n))throw $e(\"An attribute \"+n+\" already exists.\");d.setAttributeNS(g,l.node.namespaceURI,n,Qb(c,l))})}if(1===f||3===f||8===f||\n7===f){var k=(f=Tb(c,a))?f.node:null;d.removeChild(e.node,a.node);b.forEach(function(l){d.insertBefore(e.node,l.node,k)})}};function of(a,b,c,d){pf(a,b);a.filter(function(e){return-1!==[\"insertInto\",\"insertAttributes\",\"replaceValue\",\"rename\"].indexOf(e.type)}).forEach(function(e){switch(e.type){case \"insertInto\":jf(e.target,e.content,d);break;case \"insertAttributes\":kf(e.target,e.content,b,d);break;case \"rename\":lf(e.target,e.s,b,c,d);break;case \"replaceValue\":var f=e.target;e=e.s;if(2===f.node.nodeType){var g=Ub(b,f);g?d.setAttributeNS(g.node,f.node.namespaceURI,f.node.nodeName,e):f.node.value=e}else d.setData(f.node,\ne)}});a.filter(function(e){return-1!==[\"insertBefore\",\"insertAfter\",\"insertIntoAsFirst\",\"insertIntoAsLast\"].indexOf(e.type)}).forEach(function(e){switch(e.type){case \"insertAfter\":ff(e.target,e.content,b,d);break;case \"insertBefore\":gf(e.target,e.content,b,d);break;case \"insertIntoAsFirst\":hf(e.target,e.content,b,d);break;case \"insertIntoAsLast\":jf(e.target,e.content,d)}});a.filter(function(e){return\"replaceNode\"===e.type}).forEach(function(e){mf(e.target,e.s,b,d)});a.filter(function(e){return\"replaceElementContent\"===\ne.type}).forEach(function(e){nf(e.target,e.text,b,d)});a.filter(function(e){return\"delete\"===e.type}).forEach(function(e){e=e.target;var f=Ub(b,e);(f=f?f.node:null)&&(2===e.node.nodeType?d.removeAttributeNS(f,e.node.namespaceURI,e.node.nodeName):d.removeChild(f,e.node))});if(a.some(function(e){return\"put\"===e.type}))throw Error('Not implemented: the execution for pendingUpdate \"put\" is not yet implemented.');}\nfunction pf(a,b){function c(f){return new Ab(f.node.prefix,f.node.namespaceURI,f.node.localName)}function d(f,g){var k=new Set;a.filter(function(l){return l.type===f}).map(function(l){return l.target}).forEach(function(l){l=l?l.node:null;k.has(l)&&g(l);k.add(l)})}d(\"rename\",function(f){throw Error(\"XUDY0015: The target \"+f.outerHTML+\" is used in more than one rename expression.\");});d(\"replaceNode\",function(f){throw Error(\"XUDY0016: The target \"+f.outerHTML+\" is used in more than one replace expression.\");\n});d(\"replaceValue\",function(f){throw Ze(f);});d(\"replaceElementContent\",function(f){throw Ze(f);});var e=new Map;a.filter(function(f){return\"replaceNode\"===f.type&&2===f.target.node.nodeType}).forEach(function(f){var g=Ub(b,f.target);g=g?g.node:null;var k=e.get(g);k?k.push.apply(k,w(f.s.map(c))):e.set(g,f.s.map(c))});a.filter(function(f){return\"rename\"===f.type&&2===f.target.node.nodeType}).forEach(function(f){var g=Ub(b,f.target);if(g){g=g.node;var k=e.get(g);k?k.push(f.s):e.set(g,[f.s])}});e.forEach(function(f){var g=\n{};f.forEach(function(k){g[k.prefix]||(g[k.prefix]=k.namespaceURI);if(g[k.prefix]!==k.namespaceURI)throw bf(k.namespaceURI);})})}function qf(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];return a.concat.apply(a,w(c.filter(Boolean)))};function rf(a,b,c,d){I.call(this,a,b,c,!0,d);this.I=!0}x(rf,I);rf.prototype.h=function(){throw Te();};function sf(a){return a.I?function(b,c){return a.u(b,c)}:function(b,c){var d=a.h(b,c);return{next:function(){var e=d.M();return B({fa:[],H:e})}}}};function tf(a,b){a=a.next(0);b(a.value.fa);return E.create(a.value.H)}function uf(a,b,c,d){rf.call(this,a,b,c,d);this.I=this.ha.some(function(e){return e.I})}x(uf,rf);uf.prototype.h=function(a,b){return this.B(a,b,this.ha.map(function(c){return function(d){return c.h(d,b)}}))};\nuf.prototype.u=function(a,b){var c=[],d=this.B(a,b,this.ha.map(function(f){return f.I?function(g){g=f.u(g,b);return tf(g,function(k){return c=qf(c,k)})}:function(g){return f.h(g,b)}})),e=!1;return{next:function(){if(e)return z;var f=d.M();e=!0;return B(new df(f,c))}}};uf.prototype.P=function(a){rf.prototype.P.call(this,a);vf(this)};function vf(a){a.ha.some(function(b){return b.I})&&(a.I=!0)};var wf=[\"external\",\"attribute\",\"nodeName\",\"nodeType\",\"universal\"],xf=wf.length;function yf(a){this.h=wf.map(function(b){return a[b]||0});if(Object.keys(a).some(function(b){return!wf.includes(b)}))throw Error(\"Invalid specificity kind passed\");}yf.prototype.add=function(a){var b=this,c=wf.reduce(function(d,e,f){d[e]=b.h[f]+a.h[f];return d},Object.create(null));return new yf(c)};function zf(a,b){for(var c=0;c<xf;++c){if(b.h[c]<a.h[c])return 1;if(b.h[c]>a.h[c])return-1}return 0};function Af(){return Oc(\"Expected base expression of a function call to evaluate to a sequence of single function item\")}function Bf(a,b,c,d){for(var e=[],f=0;f<b.length;++f)if(null===b[f])e.push(null);else{var g=ae(a[f],b[f],c,d,!1);e.push(g)}return e}function Cf(a,b){if(!C(a.type,60))throw Oc(\"Expected base expression to evaluate to a function item\");if(a.A!==b)throw Af();return a}\nfunction Df(a,b,c,d,e,f,g){var k=0;e=e.map(function(l){return l?null:f[k++](c)});e=Bf(a.s,e,d,a.j);if(0<=e.indexOf(null))return Cb(a,e);b=b.apply(void 0,[c,d,g].concat(w(e)));return ae(a.O,b,d,a.j,!0)}function Ef(a,b,c){var d={};uf.call(this,new yf((d.external=1,d)),[a].concat(b.filter(function(e){return!!e})),{S:\"unsorted\",Y:!1,subtree:!1,C:!1},c);this.ka=b.length;this.T=b.map(function(e){return null===e});this.J=null;this.na=a;this.ua=b}x(Ef,uf);\nEf.prototype.u=function(a,b){var c=this;if(!this.j||!this.j.I)return uf.prototype.u.call(this,a,b);var d=[],e=Df(this.j,function(g,k,l,n){for(var q=[],u=3;u<arguments.length;++u)q[u-3]=arguments[u];return tf(c.j.value.apply(c.j,[g,k,l].concat(w(q))),function(v){d=qf(d,v)})},a,b,this.T,this.ua.map(function(g){return function(){return g.I?tf(g.u(a,b),function(k){d=qf(d,k)}):J(g,a,b)}}),this.J),f=!1;return{next:function(){if(f)return z;var g=e.M();f=!0;return B({fa:d,H:g})}}};\nEf.prototype.B=function(a,b,c){var d=this;c=t(c);var e=c.next().value,f=ka(c);if(this.j)return Df(this.j,function(k,l,n,q){for(var u=[],v=3;v<arguments.length;++v)u[v-3]=arguments[v];return d.j.value.apply(d.j,[k,l,n].concat(w(u)))},a,b,this.T,f,this.J);var g=e(a);return g.$({default:function(){throw Af();},o:function(){return g.L(function(k){k=t(k).next().value;k=Cf(k,d.ka);if(k.I)throw Error(\"XUDY0038: The function returned by the PrimaryExpr of a dynamic function invocation can not be an updating function\");\nreturn Df(k,k.value,a,b,d.T,f,d.J)})}})};Ef.prototype.P=function(a){this.J=Ff(a);uf.prototype.P.call(this,a);if(this.na.C){a=J(this.na,null,null);if(!a.ya())throw Af();this.j=Cf(a.first(),this.ka);this.j.I&&(this.I=!0)}};function Gf(a,b,c,d,e,f){return $b([d,e,f],function(g){var k=t(g);g=k.next().value;var l=k.next().value;k=k.next().value;l=l.value;k=k.value;if(l>g.R.length||0>=l)throw Error(\"FOAY0001: subarray start out of bounds.\");if(0>k)throw Error(\"FOAY0002: subarray length out of bounds.\");if(l+k>g.R.length+1)throw Error(\"FOAY0001: subarray start + length out of bounds.\");return E.o(new Xb(g.R.slice(l-1,k+l-1)))})}\nfunction Hf(a,b,c,d,e){return $b([d],function(f){var g=t(f).next().value;return e.L(function(k){k=k.map(function(v){return v.value}).sort(function(v,A){return A-v}).filter(function(v,A,G){return G[A-1]!==v});for(var l=g.R.concat(),n=0,q=k.length;n<q;++n){var u=k[n];if(u>g.R.length||0>=u)throw Error(\"FOAY0001: subarray position out of bounds.\");l.splice(u-1,1)}return E.o(new Xb(l))})})}function If(a){return C(a,1)||C(a,20)||C(a,19)}\nfunction Jf(a,b,c,d,e){return 0===d.length?0!==e.length:0!==e.length&&Me(a,b,c,d[0],e[0]).next(0).value?Jf(a,b,c,d.slice(1),e.slice(1)):d[0].value!==d[0].value?!0:If(d[0].type)&&0!==e.length&&If(e[0].type)?d[0].value<e[0].value:0===e.length?!1:d[0].value<e[0].value}function Kf(a,b,c,d){d.sort(function(e,f){return Le(a,b,c,E.create(e),E.create(f)).next(0).value?0:Jf(a,b,c,e,f)?-1:1});return E.o(new Xb(d.map(function(e){return function(){return E.create(e)}})))}\nfunction Lf(a,b){return C(b.type,62)?b.R.reduce(function(c,d){return d().L(function(e){return e.reduce(Lf,c)})},a):Mc([a,E.o(b)])}\nvar Mf=[{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"size\",l:[{type:62,g:3}],i:{type:5,g:3},m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;return E.o(y(e.R.length,5))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"get\",l:[{type:62,g:3},{type:5,g:3}],i:{type:59,g:2},m:Wb},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"put\",l:[{type:62,g:3},{type:5,g:3},{type:59,g:2}],i:{type:62,g:3},m:function(a,b,c,\nd,e,f){return $b([e,d],function(g){var k=t(g);g=k.next().value;k=k.next().value;g=g.value;if(0>=g||g>k.R.length)throw Error(\"FOAY0001: array position out of bounds.\");k=k.R.concat();k.splice(g-1,1,rb(f));return E.o(new Xb(k))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"append\",l:[{type:62,g:3},{type:59,g:2}],i:{type:62,g:3},m:function(a,b,c,d,e){return $b([d],function(f){f=t(f).next().value.R.concat([rb(e)]);return E.o(new Xb(f))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"subarray\",l:[{type:62,g:3},{type:5,g:3},{type:5,g:3}],i:{type:62,g:3},m:Gf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"subarray\",l:[{type:62,g:3},{type:5,g:3}],i:{type:62,g:3},m:function(a,b,c,d,e){var f=E.o(y(d.first().value.length-e.first().value+1,5));return Gf(a,b,c,d,e,f)}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"remove\",l:[{type:62,g:3},{type:5,g:2}],i:{type:62,g:3},m:Hf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"insert-before\",l:[{type:62,g:3},{type:5,g:3},{type:59,g:2}],i:{type:62,g:3},m:function(a,b,c,d,e,f){return $b([d,e],function(g){var k=t(g);g=k.next().value;k=k.next().value.value;if(k>g.R.length+1||0>=k)throw Error(\"FOAY0001: subarray position out of bounds.\");g=g.R.concat();g.splice(k-1,0,rb(f));return E.o(new Xb(g))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"head\",l:[{type:62,g:3}],i:{type:59,g:2},m:function(a,b,c,d){return Wb(a,b,c,d,E.o(y(1,5)))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"tail\",l:[{type:62,g:3}],i:{type:59,g:2},m:function(a,b,c,d){return Hf(a,b,c,d,E.o(y(1,5)))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"reverse\",l:[{type:62,g:3}],i:{type:62,g:3},m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;return E.o(new Xb(e.R.concat().reverse()))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"join\",l:[{type:62,g:2}],i:{type:62,g:3},m:function(a,b,c,d){return d.L(function(e){e=e.reduce(function(f,\ng){return f.concat(g.R)},[]);return E.o(new Xb(e))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"for-each\",l:[{type:62,g:3},{type:60,g:3}],i:{type:62,g:3},m:function(a,b,c,d,e){return $b([d,e],function(f){f=t(f);var g=f.next().value,k=f.next().value;if(1!==k.A)throw Oc(\"The callback passed into array:for-each has a wrong arity.\");f=g.R.map(function(l){return rb(k.value.call(void 0,a,b,c,Bf(k.s,[l()],b,\"array:for-each\")[0]))});return E.o(new Xb(f))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"filter\",l:[{type:62,g:3},{type:60,g:3}],i:{type:62,g:3},m:function(a,b,c,d,e){return $b([d,e],function(f){f=t(f);var g=f.next().value,k=f.next().value;if(1!==k.A)throw Oc(\"The callback passed into array:filter has a wrong arity.\");var l=g.R.map(function(u){u=Bf(k.s,[u()],b,\"array:filter\")[0];var v=k.value;return v(a,b,c,u)}),n=[],q=!1;return E.create({next:function(){if(q)return z;for(var u=0,v=g.R.length;u<v;++u){var A=l[u].getEffectiveBooleanValue();n[u]=A}u=g.R.filter(function(G,H){return n[H]});\nq=!0;return B(new Xb(u))}})})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"fold-left\",l:[{type:62,g:3},{type:59,g:2},{type:60,g:3}],i:{type:59,g:2},m:function(a,b,c,d,e,f){return $b([d,f],function(g){g=t(g);var k=g.next().value,l=g.next().value;if(2!==l.A)throw Oc(\"The callback passed into array:fold-left has a wrong arity.\");return k.R.reduce(function(n,q){q=Bf(l.s,[q()],b,\"array:fold-left\")[0];return l.value.call(void 0,a,b,c,n,q)},e)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"fold-right\",l:[{type:62,g:3},{type:59,g:2},{type:60,g:3}],i:{type:59,g:2},m:function(a,b,c,d,e,f){return $b([d,f],function(g){g=t(g);var k=g.next().value,l=g.next().value;if(2!==l.A)throw Oc(\"The callback passed into array:fold-right has a wrong arity.\");return k.R.reduceRight(function(n,q){q=Bf(l.s,[q()],b,\"array:fold-right\")[0];return l.value.call(void 0,a,b,c,n,q)},e)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"for-each-pair\",l:[{type:62,g:3},{type:62,\ng:3},{type:60,g:3}],i:{type:62,g:3},m:function(a,b,c,d,e,f){return $b([d,e,f],function(g){var k=t(g);g=k.next().value;var l=k.next().value;k=k.next().value;if(2!==k.A)throw Oc(\"The callback passed into array:for-each-pair has a wrong arity.\");for(var n=[],q=0,u=Math.min(g.R.length,l.R.length);q<u;++q){var v=t(Bf(k.s,[g.R[q](),l.R[q]()],b,\"array:for-each-pair\")),A=v.next().value;v=v.next().value;n[q]=rb(k.value.call(void 0,a,b,c,A,v))}return E.o(new Xb(n))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"sort\",l:[{type:62,g:3}],i:{type:62,g:3},m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value.R.map(function(f){return f().M()});return Kf(a,b,c,e)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"flatten\",l:[{type:59,g:2}],i:{type:59,g:2},m:function(a,b,c,d){return d.L(function(e){return e.reduce(Lf,E.empty())})}}];function K(a,b,c,d,e){return e.G()?e:E.o(Kd(e.first(),a))}\nvar Nf=[{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"untypedAtomic\",l:[{type:46,g:0}],i:{type:19,g:0},m:K.bind(null,19)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"error\",l:[{type:46,g:0}],i:{type:39,g:0},m:K.bind(null,39)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"string\",l:[{type:46,g:0}],i:{type:1,g:0},m:K.bind(null,1)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"boolean\",l:[{type:46,g:0}],i:{type:0,g:0},m:K.bind(null,0)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",\nlocalName:\"decimal\",l:[{type:46,g:0}],i:{type:4,g:0},m:K.bind(null,4)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"float\",l:[{type:46,g:0}],i:{type:6,g:0},m:K.bind(null,6)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"double\",l:[{type:46,g:0}],i:{type:3,g:0},m:K.bind(null,3)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"duration\",l:[{type:46,g:0}],i:{type:18,g:0},m:K.bind(null,18)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"dateTime\",\nl:[{type:46,g:0}],i:{type:9,g:0},m:K.bind(null,9)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"dateTimeStamp\",l:[{type:46,g:0}],i:{type:10,g:0},m:K.bind(null,10)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"time\",l:[{type:46,g:0}],i:{type:8,g:0},m:K.bind(null,8)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"date\",l:[{type:46,g:0}],i:{type:7,g:0},m:K.bind(null,7)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"gYearMonth\",l:[{type:46,g:0}],\ni:{type:11,g:0},m:K.bind(null,11)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"gYear\",l:[{type:46,g:0}],i:{type:12,g:0},m:K.bind(null,12)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"gMonthDay\",l:[{type:46,g:0}],i:{type:13,g:0},m:K.bind(null,13)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"gDay\",l:[{type:46,g:0}],i:{type:15,g:0},m:K.bind(null,15)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"gMonth\",l:[{type:46,g:0}],i:{type:14,g:0},m:K.bind(null,\n14)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"hexBinary\",l:[{type:46,g:0}],i:{type:22,g:0},m:K.bind(null,22)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"base64Binary\",l:[{type:46,g:0}],i:{type:21,g:0},m:K.bind(null,21)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"QName\",l:[{type:46,g:0}],i:{type:23,g:0},m:function(a,b,c,d){if(d.G())return d;a=d.first();if(C(a.type,2))throw Error(\"XPTY0004: The provided QName is not a string-like value.\");a=Kd(a,\n1).value;a=Xc(a,23);if(!Yc(a,23))throw Error(\"FORG0001: The provided QName is invalid.\");if(!a.includes(\":\"))return c=c.ba(\"\"),E.o(y(new Ab(\"\",c,a),23));d=t(a.split(\":\"));b=d.next().value;d=d.next().value;c=c.ba(b);if(!c)throw Error(\"FONS0004: The value \"+a+\" can not be cast to a QName. Did you mean to use fn:QName?\");return E.o(y(new Ab(b,c,d),23))}},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"anyURI\",l:[{type:46,g:0}],i:{type:20,g:0},m:K.bind(null,20)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",\nlocalName:\"normalizedString\",l:[{type:46,g:0}],i:{type:48,g:0},m:K.bind(null,48)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"token\",l:[{type:46,g:0}],i:{type:52,g:0},m:K.bind(null,52)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"language\",l:[{type:46,g:0}],i:{type:51,g:0},m:K.bind(null,51)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"NMTOKEN\",l:[{type:46,g:0}],i:{type:50,g:0},m:K.bind(null,50)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"NMTOKENS\",\nl:[{type:46,g:0}],i:{type:49,g:2},m:K.bind(null,49)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"Name\",l:[{type:46,g:0}],i:{type:25,g:0},m:K.bind(null,25)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"NCName\",l:[{type:46,g:0}],i:{type:24,g:0},m:K.bind(null,24)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"ID\",l:[{type:46,g:0}],i:{type:42,g:0},m:K.bind(null,42)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"IDREF\",l:[{type:46,g:0}],i:{type:41,\ng:0},m:K.bind(null,41)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"IDREFS\",l:[{type:46,g:0}],i:{type:43,g:2},m:K.bind(null,43)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"ENTITY\",l:[{type:46,g:0}],i:{type:26,g:0},m:K.bind(null,26)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"ENTITIES\",l:[{type:46,g:0}],i:{type:40,g:2},m:K.bind(null,40)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"integer\",l:[{type:46,g:0}],i:{type:5,g:0},m:K.bind(null,\n5)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"nonPositiveInteger\",l:[{type:46,g:0}],i:{type:27,g:0},m:K.bind(null,27)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"negativeInteger\",l:[{type:46,g:0}],i:{type:28,g:0},m:K.bind(null,28)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"long\",l:[{type:46,g:0}],i:{type:31,g:0},m:K.bind(null,31)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"int\",l:[{type:46,g:0}],i:{type:32,g:0},m:K.bind(null,32)},\n{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"short\",l:[{type:46,g:0}],i:{type:33,g:0},m:K.bind(null,33)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"byte\",l:[{type:46,g:0}],i:{type:34,g:0},m:K.bind(null,34)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"nonNegativeInteger\",l:[{type:46,g:0}],i:{type:30,g:0},m:K.bind(null,30)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"unsignedLong\",l:[{type:46,g:0}],i:{type:36,g:0},m:K.bind(null,36)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",\nlocalName:\"unsignedInt\",l:[{type:46,g:0}],i:{type:35,g:0},m:K.bind(null,35)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"unsignedShort\",l:[{type:46,g:0}],i:{type:38,g:0},m:K.bind(null,38)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"unsignedByte\",l:[{type:46,g:0}],i:{type:37,g:0},m:K.bind(null,37)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"positiveInteger\",l:[{type:46,g:0}],i:{type:29,g:0},m:K.bind(null,29)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",\nlocalName:\"yearMonthDuration\",l:[{type:46,g:0}],i:{type:16,g:0},m:K.bind(null,16)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"dayTimeDuration\",l:[{type:46,g:0}],i:{type:17,g:0},m:K.bind(null,17)},{namespaceURI:\"http://www.w3.org/2001/XMLSchema\",localName:\"dateTimeStamp\",l:[{type:46,g:0}],i:{type:10,g:0},m:K.bind(null,10)}];function Of(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getYear(),5))}function Pf(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getMonth(),5))}function Qf(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getDay(),5))}function Rf(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getHours(),5))}function Sf(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getMinutes(),5))}function Tf(a,b,c,d){d.G()||(a=E,b=a.o,d=d.first().value,d=b.call(a,y(d.j+d.pa,4)));return d}\nfunction Uf(a,b,c,d){return d.G()?d:(a=d.first().value.Z)?E.o(y(a,17)):E.empty()}\nvar Vf=[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"dateTime\",l:[{type:7,g:0},{type:8,g:0}],i:{type:9,g:0},m:function(a,b,c,d,e){if(d.G())return d;if(e.G())return e;a=d.first().value;e=e.first().value;b=a.Z;c=e.Z;if(b||c){if(!b||c)if(!b&&c)b=c;else if(!ec(b,c))throw Error(\"FORG0008: fn:dateTime: got a date and time value with different timezones.\");}else b=null;return E.o(y(new qc(a.getYear(),a.getMonth(),a.getDay(),e.getHours(),e.getMinutes(),e.getSeconds(),e.pa,b),9))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"year-from-dateTime\",l:[{type:9,g:0}],i:{type:5,g:0},m:Of},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"month-from-dateTime\",l:[{type:9,g:0}],i:{type:5,g:0},m:Pf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"day-from-dateTime\",l:[{type:9,g:0}],i:{type:5,g:0},m:Qf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"hours-from-dateTime\",l:[{type:9,g:0}],i:{type:5,g:0},m:Rf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"minutes-from-dateTime\",\nl:[{type:9,g:0}],i:{type:5,g:0},m:Sf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"seconds-from-dateTime\",l:[{type:9,g:0}],i:{type:4,g:0},m:Tf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"timezone-from-dateTime\",l:[{type:9,g:0}],i:{type:17,g:0},m:Uf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"year-from-date\",l:[{type:7,g:0}],i:{type:5,g:0},m:Of},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"month-from-date\",l:[{type:7,\ng:0}],i:{type:5,g:0},m:Pf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"day-from-date\",l:[{type:7,g:0}],i:{type:5,g:0},m:Qf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"timezone-from-date\",l:[{type:7,g:0}],i:{type:17,g:0},m:Uf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"hours-from-time\",l:[{type:8,g:0}],i:{type:5,g:0},m:Rf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"minutes-from-time\",l:[{type:8,g:0}],i:{type:5,\ng:0},m:Sf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"seconds-from-time\",l:[{type:8,g:0}],i:{type:4,g:0},m:Tf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"timezone-from-time\",l:[{type:8,g:0}],i:{type:17,g:0},m:Uf}];function Wf(a,b,c,d,e){return d.L(function(f){for(var g=Vc(E.create(f),b).map(function(n){return Kd(n,1)}).M(),k=\"\",l=0;l<g.length;l++)k+=\"{type: \"+g[l].type+\", value: \"+g[l].value+\"}\\n\";void 0!==e&&(k+=e.first().value);b.O.trace(k);return E.create(f)})}var Xf=[{l:[{type:59,g:2}],m:Wf,localName:\"trace\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:1,g:3}],m:Wf,localName:\"trace\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}}];function Yf(a,b,c,d,e){a=void 0===d||d.G()?new Ab(\"err\",\"http://www.w3.org/2005/xqt-errors\",\"FOER0000\"):d.first().value;b=\"\";void 0===e||e.G()||(b=\": \"+e.first().value);throw Error(\"\"+a.localName+b);}\nvar Zf=[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"error\",l:[],i:{type:63,g:3},m:Yf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"error\",l:[{type:23,g:0}],i:{type:63,g:3},m:Yf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"error\",l:[{type:23,g:0},{type:1,g:3}],i:{type:63,g:3},m:Yf},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"error\",l:[{type:23,g:0},{type:1,g:3},{type:59,g:2}],i:{type:63,g:3},m:function(){throw Error(\"Not implemented: Using an error object in error is not supported\");\n}}];function $f(a){return\"string\"===typeof a?a:(a=(new Gb).getChildNodes(a).find(function(b){return 8===b.nodeType}))?a.data:\"some expression\"};function ag(a,b){a=Error.call(this,a);this.message=a.message;\"stack\"in a&&(this.stack=a.stack);this.position={end:{la:b.end.la,line:b.end.line,offset:b.end.offset},start:{la:b.start.la,line:b.start.line,offset:b.start.offset}}}x(ag,Error);function bg(a,b){if(b instanceof Error)throw b;\"string\"!==typeof a&&(a=$f(a));var c=cg(b);a=a.replace(\"\\r\",\"\").split(\"\\n\");var d=Math.floor(Math.log10(Math.min(c.end.line+2,a.length)))+1;a=a.reduce(function(e,f,g){var k=g+1;if(2<c.start.line-k||2<k-c.end.line)return e;g=Array(d).fill(\" \",0,Math.floor(Math.log10(k))+1-d).join(\"\")+k+\": \";e.push(g+f);if(k>=c.start.line&&k<=c.end.line){var l=k<c.end.line?f.length+g.length:c.end.la-1+g.length;k=k>c.start.line?g.length:c.start.la-1+g.length;e.push(Array(g.length+\nf.length).fill(\" \",0,k).fill(\"^\",k,l).join(\"\"))}return e},[]);b=dg(b).join(\"\\n\");throw new ag(a.join(\"\\n\")+\"\\n\\n\"+b,c);};var eg=Object.create(null);function fg(a,b){for(var c=[],d=0;d<a.length+1;++d)c[d]=[];return function k(f,g){if(0===f)return g;if(0===g)return f;if(void 0!==c[f][g])return c[f][g];var l=0;a[f-1]!==b[g-1]&&(l=1);l=Math.min(k(f-1,g)+1,k(f,g-1)+1,k(f-1,g-1)+l);return c[f][g]=l}(a.length,b.length)}\nfunction gg(a){var b=eg[a]?eg[a]:Object.keys(eg).map(function(c){return{name:c,wb:fg(a,c.slice(c.lastIndexOf(\":\")+1))}}).sort(function(c,d){return c.wb-d.wb}).slice(0,5).filter(function(c){return c.wb<a.length/2}).reduce(function(c,d){return c.concat(eg[d.name])},[]).slice(0,5);return b.length?b.map(function(c){return'\"Q{'+c.namespaceURI+\"}\"+c.localName+\" (\"+c.l.map(function(d){return 4===d?\"...\":vb(d)}).join(\", \")+')\"'}).reduce(function(c,d,e,f){return 0===e?c+d:c+((e!==f.length-1?\", \":\" or \")+d)},\n\"Did you mean \")+\"?\":\"No similar functions found.\"}function hg(a,b,c){var d=eg[a+\":\"+b];return d?(d=d.find(function(e){return e.l.some(function(f){return 4===f})?e.l.length-1<=c:e.l.length===c}))?{l:d.l,arity:c,m:d.m,I:d.I,localName:b,namespaceURI:a,i:d.i}:null:null}function ig(a,b,c,d,e){eg[a+\":\"+b]||(eg[a+\":\"+b]=[]);eg[a+\":\"+b].push({l:c,arity:c.length,m:e,I:!1,localName:b,namespaceURI:a,i:d})};var jg={},kg=(jg.xml=\"http://www.w3.org/XML/1998/namespace\",jg.xs=\"http://www.w3.org/2001/XMLSchema\",jg.fn=\"http://www.w3.org/2005/xpath-functions\",jg.map=\"http://www.w3.org/2005/xpath-functions/map\",jg.array=\"http://www.w3.org/2005/xpath-functions/array\",jg.math=\"http://www.w3.org/2005/xpath-functions/math\",jg.fontoxpath=\"http://fontoxml.com/fontoxpath\",jg.local=\"http://www.w3.org/2005/xquery-local-functions\",jg);function lg(a,b,c,d){this.Ca=[Object.create(null)];this.Da=Object.create(null);this.O=a;this.ha=Object.keys(b).reduce(function(e,f){if(void 0===b[f])return e;e[f]=\"Q{}\"+f+\"[0]\";return e},Object.create(null));this.s=Object.create(null);this.h=Object.create(null);this.A=c;this.u=d;this.j=[]}lg.prototype.za=function(a,b,c){return hg(a,b,c)};lg.prototype.qb=function(a,b){if(a)return null;a=this.ha[b];this.s[b]||(this.s[b]={name:b});return a};\nlg.prototype.Ra=function(a,b){var c=this.u(a,b);if(c)this.j.push({Bc:a,arity:b,Hb:c});else if(\"\"===a.prefix){if(this.A)return{namespaceURI:this.A,localName:a.localName}}else if(b=this.ba(a.prefix,!0))return{namespaceURI:b,localName:a.localName};return c};lg.prototype.ba=function(a,b){if(void 0!==b&&!b)return null;if(kg[a])return kg[a];b=this.O(a);this.h[a]||(this.h[a]={namespaceURI:b,prefix:a});return void 0!==b||a?b:null};function mg(a){return Error(\"XPTY0004: \"+a)}function ng(a,b){a=2===a.node.nodeType?a.node.nodeName+'=\"'+Qb(b,a)+'\"':a.node.outerHTML;return Error(\"XQTY0024: The node \"+a+\" follows a node that is not an attribute node or a namespace node.\")}function og(a){return Error('XQDY0044: The node name \"'+a.va()+'\" is invalid for a computed attribute constructor.')}function pg(){return Error(\"XQST0045: Functions and variables may not be declared in one of the reserved namespace URIs.\")}\nfunction qg(){return Error(\"XQST0060: Functions declared in a module or as an external function must reside in a namespace.\")}function rg(){return Error(\"XQST0066: A Prolog may contain at most one default function namespace declaration.\")}function sg(){return Error(\"XQST0070: The prefixes xml and xmlns may not be used in a namespace declaration or be bound to another namespaceURI.\")}\nfunction tg(a){return Error('XQDY0074: The value \"'+a+'\" of a name expressions cannot be converted to an expanded QName.')}function ug(a){return Error('XPST0081: The prefix \"'+a+'\" could not be resolved')};function vg(a,b){return\"Q{\"+(a||\"\")+\"}\"+b}function wg(a,b){for(var c=a.length-1;0<=c;--c)if(b in a[c])return a[c][b]}function xg(a){this.s=a;this.O=this.h=0;this.j=[Object.create(null)];this.u=Object.create(null);this.A=null;this.Da=a&&a.Da;this.Ca=a&&a.Ca}function Ff(a){for(var b=new xg(a.s),c=0;c<a.h+1;++c)b.j=[Object.assign(Object.create(null),b.j[0],a.j[c])],b.Ca=[Object.assign(Object.create(null),b.Ca[0],a.Ca[c])],b.u=Object.assign(Object.create(null),a.u),b.Da=a.Da,b.A=a.A;return b}\nfunction yg(a){a.O++;a.h++;a.j[a.h]=Object.create(null);a.Ca[a.h]=Object.create(null)}xg.prototype.za=function(a,b,c,d){d=void 0===d?!1:d;var e=this.u[vg(a,b)+\"~\"+c];return!e||d&&e.Bb?null===this.s?null:this.s.za(a,b,c,d):e};xg.prototype.qb=function(a,b){var c=wg(this.Ca,vg(a,b));return c?c:null===this.s?null:this.s.qb(a,b)};function zg(a,b,c){return(a=a.Da[vg(b,c)])?a:null}\nfunction Ag(a,b,c,d,e){d=vg(b,c)+\"~\"+d;if(a.u[d])throw Error('XQST0049: The function or variable \"Q{'+b+\"}\"+c+'\" is declared more than once.');a.u[d]=e}function Bg(a,b,c){a.j[a.h][b]=c}function Cg(a,b,c){b=vg(b||\"\",c);return a.Ca[a.h][b]=b+\"[\"+a.O+\"]\"}function Dg(a,b,c,d){a.Da[vg(b||\"\",c)+\"[\"+a.O+\"]\"]=d}function Eg(a){a.j.length=a.h;a.Ca.length=a.h;a.h--}\nxg.prototype.Ra=function(a,b){var c=a.prefix,d=a.localName;return\"\"===c&&this.A?{localName:d,namespaceURI:this.A}:c&&(c=this.ba(c,!1))?{localName:d,namespaceURI:c}:null===this.s?null:this.s.Ra(a,b)};xg.prototype.ba=function(a,b){var c=wg(this.j,a||\"\");return void 0===c?null===this.s?void 0:this.s.ba(a||\"\",void 0===b?!0:b):c};function M(a,b){\"*\"===b||Array.isArray(b)||(b=[b]);for(var c=1;c<a.length;++c)if(Array.isArray(a[c])){var d=a[c];if(\"*\"===b||b.includes(d[0]))return d}return null}function N(a){return 2>a.length?\"\":\"object\"===typeof a[1]?a[2]||\"\":a[1]||\"\"}function O(a,b){if(!Array.isArray(a))return null;a=a[1];return\"object\"!==typeof a||Array.isArray(a)?null:b in a?a[b]:null}function P(a,b){return b.reduce(M,a)}\nfunction Q(a,b){for(var c=[],d=1;d<a.length;++d)if(Array.isArray(a[d])){var e=a[d];\"*\"!==b&&e[0]!==b||c.push(e)}return c}function Fg(a){return{localName:N(a),namespaceURI:O(a,\"URI\"),prefix:O(a,\"prefix\")}}\nfunction Gg(a){function b(f){switch(f[0]){case \"documentTest\":return 55;case \"elementTest\":return 54;case \"attributeTest\":return 47;case \"piTest\":return 57;case \"commentTest\":return 58;case \"textTest\":return 56;case \"anyKindTest\":return 53;case \"anyItemType\":return 59;case \"anyFunctionTest\":case \"functionTest\":case \"typedFunctionTest\":return 60;case \"anyMapTest\":case \"typedMapTest\":return 61;case \"anyArrayTest\":case \"typedArrayTest\":return 62;case \"atomicType\":return wb([O(f,\"prefix\"),N(f)].join(\":\"));\ncase \"parenthesizedItemType\":return b(M(f,\"*\"));default:throw Error('Type declaration \"'+M(c,\"*\")[0]+'\" is not supported.');}}var c=M(a,\"typeDeclaration\");if(!c||M(c,\"voidSequenceType\"))return{type:59,g:2};a={type:b(M(c,\"*\")),g:3};var d=null,e=M(c,\"occurrenceIndicator\");e&&(d=N(e));switch(d){case \"*\":return a.g=2,a;case \"?\":return a.g=0,a;case \"+\":return a.g=1,a;case \"\":case null:return a}}\nfunction R(a,b,c){if(\"object\"!==typeof a[1]||Array.isArray(a[1])){var d={};d[b]=c;a.splice(1,0,d)}else a[1][b]=c};function Hg(a){var b={type:62,g:3};R(a,\"type\",b);return b};function Ig(a,b){if(!b||!b.ia)return{type:59,g:2};var c=M(a,\"EQName\");if(!c)return{type:59,g:2};var d=Fg(c);c=d.localName;var e=d.prefix;d=Q(M(a,\"arguments\"),\"*\");c=b.ia.Ra({localName:c,prefix:e},d.length);if(!c)return{type:59,g:2};b=b.ia.za(c.namespaceURI,c.localName,d.length+1);if(!b)return{type:59,g:2};59!==b.i.type&&R(a,\"type\",b.i);return b.i};function S(a,b,c){return(a<<20)+(b<<12)+(c.charCodeAt(0)<<8)+c.charCodeAt(1)}\nvar Jg={},Kg=(Jg[S(2,2,\"idivOp\")]=5,Jg[S(16,16,\"addOp\")]=16,Jg[S(16,16,\"subtractOp\")]=16,Jg[S(16,16,\"divOp\")]=4,Jg[S(16,2,\"multiplyOp\")]=16,Jg[S(16,2,\"divOp\")]=16,Jg[S(2,16,\"multiplyOp\")]=16,Jg[S(17,17,\"addOp\")]=17,Jg[S(17,17,\"subtractOp\")]=17,Jg[S(17,17,\"divOp\")]=4,Jg[S(17,2,\"multiplyOp\")]=17,Jg[S(17,2,\"divOp\")]=17,Jg[S(2,17,\"multiplyOp\")]=17,Jg[S(9,9,\"subtractOp\")]=17,Jg[S(7,7,\"subtractOp\")]=17,Jg[S(8,8,\"subtractOp\")]=17,Jg[S(9,16,\"addOp\")]=9,Jg[S(9,16,\"subtractOp\")]=9,Jg[S(9,17,\"addOp\")]=9,Jg[S(9,\n17,\"subtractOp\")]=9,Jg[S(7,16,\"addOp\")]=7,Jg[S(7,16,\"subtractOp\")]=7,Jg[S(7,17,\"addOp\")]=7,Jg[S(7,17,\"subtractOp\")]=7,Jg[S(8,17,\"addOp\")]=8,Jg[S(8,17,\"subtractOp\")]=8,Jg[S(9,16,\"addOp\")]=9,Jg[S(9,16,\"subtractOp\")]=9,Jg[S(9,17,\"addOp\")]=9,Jg[S(9,17,\"subtractOp\")]=9,Jg[S(7,17,\"addOp\")]=7,Jg[S(7,17,\"subtractOp\")]=7,Jg[S(7,16,\"addOp\")]=7,Jg[S(7,16,\"subtractOp\")]=7,Jg[S(8,17,\"addOp\")]=8,Jg[S(8,17,\"subtractOp\")]=8,Jg),Lg={},Mg=(Lg[S(2,2,\"addOp\")]=function(a,b){return a+b},Lg[S(2,2,\"subtractOp\")]=function(a,\nb){return a-b},Lg[S(2,2,\"multiplyOp\")]=function(a,b){return a*b},Lg[S(2,2,\"divOp\")]=function(a,b){return a/b},Lg[S(2,2,\"modOp\")]=function(a,b){return a%b},Lg[S(2,2,\"idivOp\")]=function(a,b){return Math.trunc(a/b)},Lg[S(16,16,\"addOp\")]=function(a,b){return new jd(a.ga+b.ga)},Lg[S(16,16,\"subtractOp\")]=function(a,b){return new jd(a.ga-b.ga)},Lg[S(16,16,\"divOp\")]=function(a,b){return a.ga/b.ga},Lg[S(16,2,\"multiplyOp\")]=md,Lg[S(16,2,\"divOp\")]=function(a,b){if(isNaN(b))throw Error(\"FOCA0005: Cannot divide xs:yearMonthDuration by NaN\");\na=Math.round(a.ga/b);if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while dividing xs:yearMonthDuration\");return new jd(a<Number.MIN_SAFE_INTEGER||0===a?0:a)},Lg[S(2,16,\"multiplyOp\")]=function(a,b){return md(b,a)},Lg[S(17,17,\"addOp\")]=function(a,b){return new fc(a.ea+b.ea)},Lg[S(17,17,\"subtractOp\")]=function(a,b){return new fc(a.ea-b.ea)},Lg[S(17,17,\"divOp\")]=function(a,b){if(0===b.ea)throw Error(\"FOAR0001: Division by 0\");return a.ea/b.ea},Lg[S(17,2,\"multiplyOp\")]=\nkc,Lg[S(17,2,\"divOp\")]=function(a,b){if(isNaN(b))throw Error(\"FOCA0005: Cannot divide xs:dayTimeDuration by NaN\");a=a.ea/b;if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while dividing xs:dayTimeDuration\");return new fc(a<Number.MIN_SAFE_INTEGER||Object.is(-0,a)?0:a)},Lg[S(2,17,\"multiplyOp\")]=function(a,b){return kc(b,a)},Lg[S(9,9,\"subtractOp\")]=xc,Lg[S(7,7,\"subtractOp\")]=xc,Lg[S(8,8,\"subtractOp\")]=xc,Lg[S(9,16,\"addOp\")]=yc,Lg[S(9,16,\"subtractOp\")]=zc,Lg[S(9,\n17,\"addOp\")]=yc,Lg[S(9,17,\"subtractOp\")]=zc,Lg[S(7,16,\"addOp\")]=yc,Lg[S(7,16,\"subtractOp\")]=zc,Lg[S(7,17,\"addOp\")]=yc,Lg[S(7,17,\"subtractOp\")]=zc,Lg[S(8,17,\"addOp\")]=yc,Lg[S(8,17,\"subtractOp\")]=zc,Lg[S(9,16,\"addOp\")]=yc,Lg[S(9,16,\"subtractOp\")]=zc,Lg[S(9,17,\"addOp\")]=yc,Lg[S(9,17,\"subtractOp\")]=zc,Lg[S(7,17,\"addOp\")]=yc,Lg[S(7,17,\"subtractOp\")]=zc,Lg[S(7,16,\"addOp\")]=yc,Lg[S(7,16,\"subtractOp\")]=zc,Lg[S(8,17,\"addOp\")]=yc,Lg[S(8,17,\"subtractOp\")]=zc,Lg);function Ng(a,b){return C(a,5)&&C(b,5)?5:C(a,4)&&C(b,4)?4:C(a,6)&&C(b,6)?6:3}var Og=[2,16,17,9,7,8];\nfunction Pg(a,b,c){function d(G,H){return{V:e?e(G):G,W:f?f(H):H}}var e=null,f=null;C(b,19)&&(e=function(G){return Kd(G,3)},b=3);C(c,19)&&(f=function(G){return Kd(G,3)},c=3);var g=Og.filter(function(G){return C(b,G)}),k=Og.filter(function(G){return C(c,G)});if(g.includes(2)&&k.includes(2)){var l=Mg[S(2,2,a)],n=Kg[S(2,2,a)];n||(n=Ng(b,c));\"divOp\"===a&&5===n&&(n=4);return\"idivOp\"===a?Qg(d,l)[0]:function(G,H){G=d(G,H);return y(l(G.V.value,G.W.value),n)}}g=t(g);for(var q=g.next();!q.done;q=g.next()){q=\nq.value;for(var u={},v=t(k),A=v.next();!A.done;u={ib:u.ib,lb:u.lb},A=v.next())if(A=A.value,u.ib=Mg[S(q,A,a)],u.lb=Kg[S(q,A,a)],u.ib&&void 0!==u.lb)return function(G){return function(H,L){H=d(H,L);return y(G.ib(H.V.value,H.W.value),G.lb)}}(u)}}\nfunction Rg(a,b,c){function d(u,v){return{V:f?f(u):u,W:g?g(v):v}}var e=[2,53,59,46,47];if(e.includes(b)||e.includes(c))return 2;var f=null,g=null;C(b,19)&&(f=function(u){return Kd(u,3)},b=3);C(c,19)&&(g=function(u){return Kd(u,3)},c=3);var k=Og.filter(function(u){return C(b,u)});e=Og.filter(function(u){return C(c,u)});if(k.includes(2)&&e.includes(2))return e=Kg[S(2,2,a)],void 0===e&&(e=Ng(b,c)),\"divOp\"===a&&5===e&&(e=4),\"idivOp\"===a?Qg(d,function(u,v){return Math.trunc(u/v)})[1]:e;k=t(k);for(var l=\nk.next();!l.done;l=k.next()){l=l.value;for(var n=t(e),q=n.next();!q.done;q=n.next())if(q=Kg[S(l,q.value,a)],void 0!==q)return q}}\nfunction Qg(a,b){return[function(c,d){d=a(c,d);c=d.V;d=d.W;if(0===d.value)throw Error(\"FOAR0001: Divisor of idiv operator cannot be (-)0\");if(Number.isNaN(c.value)||Number.isNaN(d.value)||!Number.isFinite(c.value))throw Error(\"FOAR0002: One of the operands of idiv is NaN or the first operand is (-)INF\");return Number.isFinite(c.value)&&!Number.isFinite(d.value)?y(0,5):y(b(c.value,d.value),5)},5]}var Sg=Object.create(null);\nfunction Yg(a,b,c,d,e){I.call(this,b.s.add(c.s),[b,c],{C:!1},!1,d);this.B=b;this.J=c;this.j=a;this.u=e}x(Yg,I);\nYg.prototype.h=function(a,b){var c=this;return Vc(J(this.B,a,b),b).L(function(d){return 0===d.length?E.empty():Vc(J(c.J,a,b),b).L(function(e){if(0===e.length)return E.empty();if(1<d.length||1<e.length)throw Error('XPTY0004: the operands of the \"'+c.j+'\" operator should be empty or singleton.');var f=d[0];e=e[0];if(c.u&&c.type)return E.o(c.u(f,e));var g=f.type;var k=e.type,l=c.j,n=g+\"~\"+k+\"~\"+l,q=Sg[n];q||(q=Sg[n]=Pg(l,g,k));g=q;if(!g)throw Error(\"XPTY0004: \"+c.j+\" not available for types \"+tb[f.type]+\n\" and \"+tb[e.type]);return E.o(g(f,e))})})};function Zg(a,b){for(var c=T,d=!1,e=1;e<a.length;e++)switch(a[e][0]){case \"letClause\":$g(b);var f=a[e],g=b,k=c,l=P(f,[\"letClauseItem\",\"typedVariableBinding\",\"varName\"]);l=Fg(l);f=P(f,[\"letClauseItem\",\"letExpr\"]);k=k(f[1],g);ah(g,l.localName,k);break;case \"forClause\":d=!0;$g(b);bh(a[e],b,c);break;case \"whereClause\":$g(b);g=a[e];c(g,b);R(g,\"type\",{type:0,g:3});break;case \"orderByClause\":$g(b);break;case \"returnClause\":e=a[e];g=c;c=P(e,[\"*\"]);b=g(c,b);R(c,\"type\",b);R(e,\"type\",b);c=b;if(!c)return{type:59,\ng:2};d&&(c={type:c.type,g:2});59!==c.type&&R(a,\"type\",c);return c;default:c=c(a[e],b);if(!c)return{type:59,g:2};d&&(c={type:c.type,g:2});59!==c.type&&R(a,\"type\",c);return c}if(0<b.h)b.h--,b.s.pop(),b.A.pop();else throw Error(\"Variable scope out of bound\");}\nfunction bh(a,b,c){var d=Fg(P(a,[\"forClauseItem\",\"typedVariableBinding\",\"varName\"]));if(a=P(a,[\"forClauseItem\",\"forExpr\",\"sequenceExpr\"]))a=Q(a,\"*\").map(function(e){return c(e,b)}),a.includes(void 0)||a.includes(null)||(a=ch(a),1===a.length&&ah(b,d.localName,a[0]))}function ch(a){return a.filter(function(b,c,d){return d.findIndex(function(e){return e.type===b.type&&e.g===b.g})===c})};function dh(a,b){if(!b||!b.ia)return{type:59,g:2};var c=M(a,\"functionName\"),d=Fg(c),e=d.localName,f=d.prefix,g=d.namespaceURI;d=Q(M(a,\"arguments\"),\"*\");if(null===g){f=b.ia.Ra({localName:e,prefix:f},d.length);if(!f)return{type:59,g:2};e=f.localName;g=f.namespaceURI;R(c,\"URI\",g);c[2]=e}b=b.ia.za(g,e,d.length);if(!b||63===b.i.type)return{type:59,g:2};59!==b.i.type&&R(a,\"type\",b.i);return b.i};function eh(a){var b={type:61,g:3};R(a,\"type\",b);return b};function fh(a,b){if(!b||!b.ia)return{type:59,g:2};var c=M(a,\"functionName\"),d=Fg(c),e=d.localName,f=d.namespaceURI,g=d.prefix;d=Number(P(a,[\"integerConstantExpr\",\"value\"])[1]);if(!f){f=b.ia.Ra({localName:e,prefix:g},d);if(!f)return{type:59,g:2};e=f.localName;f=f.namespaceURI;R(c,\"URI\",f)}b=b.ia.za(f,e,d)||null;if(!b)return{type:59,g:2};59!==b.i.type&&63!==b.i.type&&R(a,\"type\",b.i);return b.i};function gh(a,b){var c=Q(a,\"stepExpr\");if(!c)return{type:59,g:2};c=t(c);for(var d=c.next();!d.done;d=c.next()){var e=d.value;d=void 0;var f=b;if(e){var g=Q(e,\"*\"),k=\"\";g=t(g);for(var l=g.next();!l.done;l=g.next())switch(l=l.value,l[0]){case \"filterExpr\":d=O(P(l,[\"*\"]),\"type\");break;case \"xpathAxis\":k=l[1];b:{switch(k){case \"attribute\":d={type:47,g:2};break b;case \"child\":case \"decendant\":case \"self\":case \"descendant-or-self\":case \"following-sibling\":case \"following\":case \"namespace\":case \"parent\":case \"ancestor\":case \"preceding-sibling\":case \"preceding\":case \"ancestor-or-self\":d=\n{type:53,g:2};break b}d=void 0}break;case \"nameTest\":var n=Fg(l);null!==n.namespaceURI||\"attribute\"===k&&!n.prefix||(n=f.ba(n.prefix||\"\"),void 0!==n&&R(l,\"URI\",n))}d&&59!==d.type&&R(e,\"type\",d)}e=O(e,\"type\")}e&&59!==e.type&&R(a,\"type\",e);return e};function hh(a){var b={type:0,g:3};R(a,\"type\",b);return b};function ih(a,b,c){0===b?b={type:53,g:2}:c.includes(void 0)||c.includes(null)?b={type:59,g:2}:(b=ch(c),b=1<b.length?{type:59,g:2}:{type:b[0].type,g:2});b&&59!==b.type&&R(a,\"type\",b);return b};function jh(a,b,c,d){if(!b||c.includes(void 0))return{type:59,g:2};for(var e=Q(a,\"typeswitchExprCaseClause\"),f=0;f<c.length;f++){var g=M(e[f],\"*\");switch(g[0]){case \"sequenceType\":if(g=kh(g,b,c[f]))return 59!==g.type&&R(a,\"type\",g),g;continue;case \"sequenceTypeUnion\":for(d=Q(g,\"*\"),e=0;2>e;e++)if(g=kh(d[e],b,c[f]))return 59!==g.type&&R(a,\"type\",g),g;default:return{type:59,g:2}}}59!==d.type&&R(a,\"type\",d);return d}\nfunction kh(a,b,c){var d=Q(a,\"*\"),e=M(a,\"atomicType\");if(!e)return{type:59,g:2};if(wb(O(e,\"prefix\")+\":\"+e[2])===b.type)if(1===d.length){if(3===b.g)return c}else if(a=M(a,\"occurrenceIndicator\")[1],b.g===yb(a))return c};function lh(a,b){T(a,b)}function T(a,b){var c=mh.get(a[0]);if(c)return c(a,b);for(c=1;c<a.length;c++)a[c]&&T(a[c],b)}function nh(a,b){var c=T(M(a,\"firstOperand\")[1],b),d=T(M(a,\"secondOperand\")[1],b);var e=a[0];if(c&&d)if(b=Rg(e,c.type,d.type))c={type:b,g:c.g},2!==b&&59!==b&&R(a,\"type\",c),a=c;else throw Error(\"XPTY0004: \"+e+\" not available for types \"+vb(c)+\" and \"+vb(d));else a={type:2,g:3};return a}\nfunction oh(a,b){T(M(a,\"firstOperand\")[1],b);T(M(a,\"secondOperand\")[1],b);a:{switch(a[0]){case \"orOp\":b={type:0,g:3};R(a,\"type\",b);a=b;break a;case \"andOp\":b={type:0,g:3};R(a,\"type\",b);a=b;break a}a=void 0}return a}function ph(a,b){T(M(a,\"firstOperand\")[1],b);T(M(a,\"secondOperand\")[1],b);a:{switch(a[0]){case \"unionOp\":b={type:53,g:2};R(a,\"type\",b);a=b;break a;case \"intersectOp\":b={type:53,g:2};R(a,\"type\",b);a=b;break a;case \"exceptOp\":b={type:53,g:2};R(a,\"type\",b);a=b;break a}a=void 0}return a}\nfunction qh(a,b){T(M(a,\"firstOperand\")[1],b);T(M(a,\"secondOperand\")[1],b);b={type:0,g:3};R(a,\"type\",b);return b}function rh(a,b){T(M(a,\"firstOperand\")[1],b);T(M(a,\"secondOperand\")[1],b);b={type:0,g:3};R(a,\"type\",b);return b}function sh(a,b){T(M(a,\"firstOperand\")[1],b);T(M(a,\"secondOperand\")[1],b);b={type:0,g:3};R(a,\"type\",b);return b}\nvar mh=new Map([[\"unaryMinusOp\",function(a,b){b=T(M(a,\"operand\")[1],b);b?C(b.type,2)?(b={type:b.type,g:b.g},R(a,\"type\",b),a=b):(b={type:3,g:3},R(a,\"type\",b),a=b):(b={type:2,g:2},R(a,\"type\",b),a=b);return a}],[\"unaryPlusOp\",function(a,b){b=T(M(a,\"operand\")[1],b);b?C(b.type,2)?(b={type:b.type,g:b.g},R(a,\"type\",b),a=b):(b={type:3,g:3},R(a,\"type\",b),a=b):(b={type:2,g:2},R(a,\"type\",b),a=b);return a}],[\"addOp\",nh],[\"subtractOp\",nh],[\"divOp\",nh],[\"idivOp\",nh],[\"modOp\",nh],[\"multiplyOp\",nh],[\"andOp\",oh],\n[\"orOp\",oh],[\"sequenceExpr\",function(a,b){var c=Q(a,\"*\"),d=c.map(function(e){return T(e,b)});return ih(a,c.length,d)}],[\"unionOp\",ph],[\"intersectOp\",ph],[\"exceptOp\",ph],[\"stringConcatenateOp\",function(a,b){T(M(a,\"firstOperand\")[1],b);T(M(a,\"secondOperand\")[1],b);b={type:1,g:3};R(a,\"type\",b);return b}],[\"rangeSequenceExpr\",function(a,b){T(M(a,\"startExpr\")[1],b);T(M(a,\"endExpr\")[1],b);b={type:5,g:1};R(a,\"type\",b);return b}],[\"equalOp\",qh],[\"notEqualOp\",qh],[\"lessThanOrEqualOp\",qh],[\"lessThanOp\",qh],\n[\"greaterThanOrEqualOp\",qh],[\"greaterThanOp\",qh],[\"eqOp\",rh],[\"neOp\",rh],[\"ltOp\",rh],[\"leOp\",rh],[\"gtOp\",rh],[\"geOp\",rh],[\"isOp\",sh],[\"nodeBeforeOp\",sh],[\"nodeAfterOp\",sh],[\"pathExpr\",function(a,b){var c=M(a,\"rootExpr\");c&&c[1]&&T(c[1],b);Q(a,\"stepExpr\").map(function(d){return T(d,b)});return gh(a,b)}],[\"contextItemExpr\",function(){return{type:59,g:2}}],[\"ifThenElseExpr\",function(a,b){T(M(M(a,\"ifClause\"),\"*\"),b);var c=T(M(M(a,\"thenClause\"),\"*\"),b);b=T(M(M(a,\"elseClause\"),\"*\"),b);c&&b?c.type===b.type&&\nc.g===b.g?(59!==c.type&&R(a,\"type\",c),a=c):a={type:59,g:2}:a={type:59,g:2};return a}],[\"instanceOfExpr\",function(a,b){T(M(a,\"argExpr\"),b);T(M(a,\"sequenceType\"),b);b={type:0,g:3};R(a,\"type\",b);return b}],[\"integerConstantExpr\",function(a){var b={type:5,g:3};R(a,\"type\",b);return b}],[\"doubleConstantExpr\",function(a){var b={type:3,g:3};R(a,\"type\",b);return b}],[\"decimalConstantExpr\",function(a){var b={type:4,g:3};R(a,\"type\",b);return b}],[\"stringConstantExpr\",function(a){var b={type:1,g:3};R(a,\"type\",\nb);return b}],[\"functionCallExpr\",function(a,b){var c=M(a,\"arguments\");Q(c,\"*\").map(function(d){return T(d,b)});return dh(a,b)}],[\"arrowExpr\",function(a,b){T(M(a,\"argExpr\")[1],b);return Ig(a,b)}],[\"dynamicFunctionInvocationExpr\",function(a,b){T(P(a,[\"functionItem\",\"*\"]),b);(a=M(a,\"arguments\"))&&T(a,b);return{type:59,g:2}}],[\"namedFunctionRef\",function(a,b){return fh(a,b)}],[\"inlineFunctionExpr\",function(a,b){T(M(a,\"functionBody\")[1],b);b={type:60,g:3};R(a,\"type\",b);return b}],[\"castExpr\",function(a){var b=\nP(a,[\"singleType\",\"atomicType\"]);b={type:wb(O(b,\"prefix\")+\":\"+b[2]),g:3};59!==b.type&&R(a,\"type\",b);return b}],[\"castableExpr\",function(a){var b={type:0,g:3};R(a,\"type\",b);return b}],[\"simpleMapExpr\",function(a,b){for(var c=Q(a,\"pathExpr\"),d,e=0;e<c.length;e++)d=T(c[e],b);void 0!==d&&null!==d?((b={type:d.type,g:2},59!==b.type)&&R(a,\"type\",b),a=b):a={type:59,g:2};return a}],[\"mapConstructor\",function(a,b){Q(a,\"mapConstructorEntry\").map(function(c){return{key:T(P(c,[\"mapKeyExpr\",\"*\"]),b),value:T(P(c,\n[\"mapValueExpr\",\"*\"]),b)}});return eh(a)}],[\"arrayConstructor\",function(a,b){Q(M(a,\"*\"),\"arrayElem\").map(function(c){return T(c,b)});return Hg(a)}],[\"unaryLookup\",function(a){M(a,\"NCName\");return{type:59,g:2}}],[\"typeswitchExpr\",function(a,b){var c=T(M(a,\"argExpr\")[1],b),d=Q(a,\"typeswitchExprCaseClause\").map(function(f){return T(P(f,[\"resultExpr\"])[1],b)}),e=T(P(a,[\"typeswitchExprDefaultClause\",\"resultExpr\"])[1],b);return jh(a,c,d,e)}],[\"quantifiedExpr\",function(a,b){Q(a,\"*\").map(function(c){return T(c,\nb)});return hh(a)}],[\"x:stackTrace\",function(a,b){a=Q(a,\"*\");return T(a[0],b)}],[\"queryBody\",function(a,b){return T(a[1],b)}],[\"flworExpr\",function(a,b){return Zg(a,b)}],[\"varRef\",function(a,b){var c=Fg(M(a,\"name\")),d;a:{for(d=b.h;0<=d;d--){var e=b.s[d][c.localName];if(e){d=e;break a}}d=void 0}d&&59!==d.type&&R(a,\"type\",d);null===c.namespaceURI&&(b=b.ba(c.prefix),void 0!==b&&R(a,\"URI\",b));return d}]]);function th(a){this.h=0;this.ia=a;this.s=[{}];this.A=[{}]}function ah(a,b,c){if(a.s[a.h][b])throw Error(\"Another variable of in the scope \"+a.h+\" with the same name \"+b+\" already exists\");a.s[a.h][b]=c}function $g(a){a.h++;a.s.push({});a.A.push({})}th.prototype.ba=function(a){for(var b=this.h;0<=b;b--){var c=this.A[b][a];if(void 0!==c)return c}return this.ia?this.ia.ba(a):void 0};function uh(a,b){var c={};I.call(this,new yf((c.external=1,c)),a,{C:a.every(function(d){return d.C})},!1,b);this.j=a}x(uh,I);uh.prototype.h=function(a,b){return 0===this.j.length?E.o(new Xb([])):J(this.j[0],a,b).L(function(c){return E.o(new Xb(c.map(function(d){return rb(E.o(d))})))})};function vh(a,b){var c={};I.call(this,new yf((c.external=1,c)),a,{C:a.every(function(d){return d.C})},!1,b);this.j=a}x(vh,I);vh.prototype.h=function(a,b){return E.o(new Xb(this.j.map(function(c){return rb(J(c,a,b))})))};function wh(a){if(null===a)throw Error(\"XPDY0002: context is absent, it needs to be present to use axes.\");if(!C(a.type,53))throw Error(\"XPTY0020: Axes can only be applied to nodes.\");return a.value};function xh(a,b,c){var d=b;return{next:function(){if(!d)return z;var e=d;d=Ub(a,e,c);return B(Zb(e))}}}function yh(a,b){b=b||{Oa:!1};I.call(this,a.s,[a],{S:\"reverse-sorted\",Y:!1,subtree:!1,C:!1});this.j=a;this.u=!!b.Oa}x(yh,I);yh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);var d=this.j.A();d=d&&(d.startsWith(\"name-\")||\"type-1\"===d)?\"type-1\":null;return E.create(xh(b,this.u?a:Ub(b,a,d),d)).filter(function(e){return c.j.j(e)})};var zh=new Map([[\"type-1-or-type-2\",[\"name\",\"type-1\",\"type-2\"]],[\"type-1\",[\"name\"]],[\"type-2\",[\"name\"]]]);function Ah(a,b){if(null===a)return b;if(null===b||a===b)return a;var c=a.startsWith(\"name-\")?\"name\":a,d=b.startsWith(\"name-\")?\"name\":b,e=zh.get(c);if(void 0!==e&&e.includes(d))return b;b=zh.get(d);return void 0!==b&&b.includes(c)?a:\"empty\"};function Bh(a,b){var c={};I.call(this,new yf((c.attribute=1,c)),[a],{S:\"unsorted\",subtree:!0,Y:!0,C:!1});this.j=a;this.u=Ah(this.j.A(),b)}x(Bh,I);Bh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);if(1!==a.node.nodeType)return E.empty();a=Nb(b,a,this.u).filter(function(d){return\"http://www.w3.org/2000/xmlns/\"!==d.node.namespaceURI}).map(function(d){return Zb(d)}).filter(function(d){return c.j.j(d)});return E.create(a)};Bh.prototype.A=function(){return\"type-1\"};function Ch(a,b){I.call(this,a.s,[a],{S:\"sorted\",subtree:!0,Y:!0,C:!1});this.u=a;this.j=Ah(b,a.A())}x(Ch,I);Ch.prototype.h=function(a,b){var c=this,d=b.h,e=wh(a.N);a=e.node.nodeType;if(1!==a&&9!==a)return E.empty();var f=null,g=!1;return E.create({next:function(){for(;!g;){if(!f){f=Rb(d,e,c.j);if(!f){g=!0;continue}return B(Zb(f))}if(f=Tb(d,f,c.j))return B(Zb(f));g=!0}return z}}).filter(function(k){return c.u.j(k)})};function Dh(a,b,c){var d=b.node.nodeType;if(1!==d&&9!==d)return{next:function(){return z}};var e=Rb(a,b,c);return{next:function(){if(!e)return z;var f=e;e=Tb(a,e,c);return B(f)}}};function Eh(a,b,c){var d=[Ld(b)];return{next:function(e){0<d.length&&0!==(e&1)&&d.shift();if(!d.length)return z;for(e=d[0].next(0);e.done;){d.shift();if(!d.length)return z;e=d[0].next(0)}d.unshift(Dh(a,e.value,c));return B(Zb(e.value))}}}function Fh(a,b){b=b||{Oa:!1};I.call(this,a.s,[a],{C:!1,Y:!1,S:\"sorted\",subtree:!0});this.j=a;this.u=!!b.Oa;this.B=(a=this.j.A())&&(a.startsWith(\"name-\")||\"type-1\"===a)?\"type-1\":null}x(Fh,I);\nFh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);a=Eh(b,a,this.B);this.u||a.next(0);return E.create(a).filter(function(d){return c.j.j(d)})};function Gh(a,b,c){var d=a.node.nodeType;if(1!==d&&9!==d)return a;for(d=Sb(b,a,c);null!==d;){if(1!==d.node.nodeType)return d;a=d;d=Sb(b,a,c)}return a}\nfunction Hh(a,b,c,d){if(void 0===c?0:c){var e=b,f=!1;return{next:function(){if(f)return z;if(Nd(e,b))return e=Gh(b,a,d),Nd(e,b)?(f=!0,z):B(Zb(e));var k=e.node.nodeType,l=9===k||2===k?null:Vb(a,e,d);if(null!==l)return e=Gh(l,a,d),B(Zb(e));e=9===k?null:Ub(a,e,d);return Nd(e,b)?(f=!0,z):B(Zb(e))}}}var g=[Dh(a,b,d)];return{next:function(){if(!g.length)return z;for(var k=g[0].next(0);k.done;){g.shift();if(!g.length)return z;k=g[0].next(0)}g.unshift(Dh(a,k.value,d));return B(Zb(k.value))}}};function Ih(a,b,c){for(var d=[];b&&9!==b.node.nodeType;b=Ub(a,b,null)){var e=Tb(a,b,c);e&&d.push(e)}var f=null;return{next:function(){for(;f||d.length;){if(!f){f=Hh(a,d[0],!1,c);var g=B(Zb(d[0])),k=Tb(a,d[0],c);k?d[0]=k:d.shift();return g}g=f.next(0);if(g.done)f=null;else return g}return z}}}function Jh(a){I.call(this,a.s,[a],{S:\"sorted\",Y:!0,subtree:!1,C:!1});this.j=a;this.u=(a=this.j.A())&&(a.startsWith(\"name-\")||\"type-1\"===a)?\"type-1\":null}x(Jh,I);\nJh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);return E.create(Ih(b,a,this.u)).filter(function(d){return c.j.j(d)})};function Kh(a,b,c){return{next:function(){return(b=b&&Tb(a,b,c))?B(Zb(b)):z}}}function Lh(a,b){I.call(this,a.s,[a],{S:\"sorted\",Y:!0,subtree:!1,C:!1});this.j=a;this.u=Ah(this.j.A(),b)}x(Lh,I);Lh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);return E.create(Kh(b,a,this.u)).filter(function(d){return c.j.j(d)})};function Mh(a,b){I.call(this,a.s,[a],{S:\"reverse-sorted\",Y:!0,subtree:!0,C:!1});this.j=a;this.u=Ah(b,this.j.A())}x(Mh,I);Mh.prototype.h=function(a,b){b=b.h;a=wh(a.N);a=Ub(b,a,this.u);if(!a)return E.empty();a=Zb(a);return this.j.j(a)?E.o(a):E.empty()};function Nh(a,b,c){for(var d=[];b&&9!==b.node.nodeType;b=Ub(a,b,null)){var e=Vb(a,b,c);null!==e&&d.push(e)}var f=null;return{next:function(){for(;f||d.length;){f||(f=Hh(a,d[0],!0,c));var g=f.next(0);if(g.done){f=null;g=Vb(a,d[0],c);var k=B(Zb(d[0]));null===g?d.shift():d[0]=g;return k}return g}return z}}}function Oh(a){I.call(this,a.s,[a],{C:!1,Y:!0,S:\"reverse-sorted\",subtree:!1});this.j=a;this.u=(a=this.j.A())&&(a.startsWith(\"name-\")||\"type-1\"===a)?\"type-1\":null}x(Oh,I);\nOh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);return E.create(Nh(b,a,this.u)).filter(function(d){return c.j.j(d)})};function Ph(a,b,c){return{next:function(){return(b=b&&Vb(a,b,c))?B(Zb(b)):z}}}function Qh(a,b){I.call(this,a.s,[a],{C:!1,Y:!0,S:\"reverse-sorted\",subtree:!1});this.j=a;this.u=Ah(this.j.A(),b)}x(Qh,I);Qh.prototype.h=function(a,b){var c=this;b=b.h;a=wh(a.N);return E.create(Ph(b,a,this.u)).filter(function(d){return c.j.j(d)})};function Rh(a,b){I.call(this,a.s,[a],{S:\"sorted\",subtree:!0,Y:!0,C:!1});this.j=a;this.u=Ah(this.j.A(),b)}x(Rh,I);Rh.prototype.h=function(a){wh(a.N);return this.j.j(a.N)?E.o(a.N):E.empty()};Rh.prototype.A=function(){return this.u};function Sh(a,b,c,d){var e=a.s.add(b.s).add(c.s);uf.call(this,e,[a,b,c],{C:a.C&&b.C&&c.C,Y:b.Y===c.Y&&b.Y,S:b.O===c.O?b.O:\"unsorted\",subtree:b.subtree===c.subtree&&b.subtree},d);this.j=a}x(Sh,uf);Sh.prototype.B=function(a,b,c){var d=null,e=c[0](a);return E.create({next:function(f){d||(d=(e.getEffectiveBooleanValue()?c[1](a):c[2](a)).value);return d.next(f)}})};Sh.prototype.P=function(a){uf.prototype.P.call(this,a);if(this.j.I)throw Te();};function Th(a,b,c){this.location=a;this.s=b;this.h=c}function cg(a){return a.h instanceof Error?a.location:cg(a.h)}function dg(a){var b=a.h instanceof ag?[\"Inner error:\",a.h.message]:a.h instanceof Error?[a.h.toString()]:dg(a.h);b.push(\" at <\"+a.s+\">:\"+a.location.start.line+\":\"+a.location.start.la+\" - \"+a.location.end.line+\":\"+a.location.end.la);return b};function Uh(a,b,c){uf.call(this,c.s,[c],{C:c.C,Y:c.Y,S:c.O,subtree:c.subtree});this.j=b;this.J={end:{la:a.end.la,line:a.end.line,offset:a.end.offset},start:{la:a.start.la,line:a.start.line,offset:a.start.offset}}}x(Uh,uf);Uh.prototype.B=function(a,b,c){var d=this;b=t(c).next().value;try{var e=b(a)}catch(f){throw new Th(this.J,this.j,f);}return E.create({next:function(f){try{return e.value.next(f)}catch(g){throw new Th(d.J,d.j,g);}}})};\nUh.prototype.P=function(a){try{uf.prototype.P.call(this,a)}catch(b){throw new Th(this.J,this.j,b);}};function Vh(a,b,c,d){I.call(this,a,b,c,!0);this.j=d;this.I=this.j.I}x(Vh,I);function Wh(a,b,c,d){var e=[],f=a.J(b,c,d,function(k){if(a.j instanceof Vh){var l=Wh(a.j,b,k,d);return tf(l,function(q){return e=q})}var n=null;return E.create({next:function(){for(;;){if(!n){var q=k.next(0);if(q.done)return z;q=a.j.u(q.value,d);n=tf(q,function(u){return e=qf(e,u)}).value}q=n.next(0);if(q.done)n=null;else return q}}})}),g=!1;return{next:function(){if(g)return z;var k=f.M();g=!0;return B(new df(k,e))}}}\nVh.prototype.h=function(a,b){var c=this;return this.J(a,Ld(a),b,function(d){if(c.j instanceof Vh)return Xh(c.j,a,d,b);var e=null;return E.create({next:function(f){for(;;){if(!e){var g=d.next(0);if(g.done)return z;e=J(c.j,g.value,b).value}g=e.next(f);if(g.done)e=null;else return g}}})})};Vh.prototype.u=function(a,b){return Wh(this,a,Ld(a),b)};\nVh.prototype.P=function(a){I.prototype.P.call(this,a);this.I=this.j.I;a=t(this.ha);for(var b=a.next();!b.done;b=a.next())if(b=b.value,b!==this.j&&b.I)throw Te();};function Xh(a,b,c,d){return a.J(b,c,d,function(e){if(a.j instanceof Vh)return Xh(a.j,b,e,d);var f=null;return E.create({next:function(){for(;;){if(!f){var g=e.next(0);if(g.done)return z;f=J(a.j,g.value,d).value}g=f.next(0);if(g.done)f=null;else return g}}})})};function Yh(a,b,c,d){Vh.call(this,b.s.add(d.s),[b,d],{C:!1},d);this.T=a.prefix;this.ka=a.namespaceURI;this.$b=a.localName;this.mb=null;this.B=c;this.ua=null;this.na=b}x(Yh,Vh);\nYh.prototype.J=function(a,b,c,d){var e=this,f=null,g=null,k=0;return d({next:function(){for(var l={};;){if(!f){var n=b.next(0);if(n.done)return z;g=n.value;k=0;f=J(e.na,g,c).value}l.hb=f.next(0);if(l.hb.done)f=null;else return k++,n={},l=(n[e.mb]=function(q){return function(){return E.o(q.hb.value)}}(l),n),e.ua&&(l[e.ua]=function(){return E.o(new sb(5,k))}),B(Kc(g,l));l={hb:l.hb}}}})};\nYh.prototype.P=function(a){if(this.T&&(this.ka=a.ba(this.T),!this.ka&&this.T))throw Error(\"XPST0081: Could not resolve namespace for prefix \"+this.T+\" in a for expression\");this.na.P(a);yg(a);this.mb=Cg(a,this.ka,this.$b);if(this.B){if(this.B.prefix&&(this.B.namespaceURI=a.ba(this.B.prefix),!this.B.namespaceURI&&this.B.prefix))throw Error(\"XPST0081: Could not resolve namespace for prefix \"+this.T+\" in the positionalVariableBinding in a for expression\");this.ua=Cg(a,this.B.namespaceURI,this.B.localName)}this.j.P(a);\nEg(a);if(this.na.I)throw Te();this.j.I&&(this.I=!0)};function Zh(a,b,c){var d={};I.call(this,new yf((d.external=1,d)),[c],{C:!1,S:\"unsorted\"});this.T=a.map(function(e){return e.name});this.B=a.map(function(e){return e.type});this.u=null;this.J=b;this.j=c}x(Zh,I);\nZh.prototype.h=function(a,b){var c=this,d=new Bb({l:this.B,arity:this.B.length,Pa:!0,I:this.j.I,localName:\"dynamic-function\",namespaceURI:\"\",i:this.J,value:function(e,f,g,k){for(var l=[],n=3;n<arguments.length;++n)l[n-3]=arguments[n];n=Kc(Hc(a,-1,null,E.empty()),c.u.reduce(function(q,u,v){q[u]=rb(l[v]);return q},Object.create(null)));return J(c.j,n,b)}});return E.o(d)};\nZh.prototype.P=function(a){yg(a);this.u=this.T.map(function(b){return Cg(a,b.namespaceURI,b.localName)});this.j.P(a);Eg(a);if(this.j.I)throw Error(\"Not implemented: inline functions can not yet be updating.\");};function $h(a,b,c){Vh.call(this,b.s.add(c.s),[b,c],{C:!1,Y:c.Y,S:c.O,subtree:c.subtree},c);if(a.prefix||a.namespaceURI)throw Error(\"Not implemented: let expressions with namespace usage.\");this.B=a.prefix;this.T=a.namespaceURI;this.ua=a.localName;this.ka=b;this.na=null}x($h,Vh);$h.prototype.J=function(a,b,c,d){var e=this;return d({next:function(){var f=b.next(0);if(f.done)return z;f=f.value;var g={};f=Kc(f,(g[e.na]=rb(J(e.ka,f,c)),g));return B(f)}})};\n$h.prototype.P=function(a){if(this.B&&(this.T=a.ba(this.B),!this.T&&this.B))throw Error(\"XPST0081: Could not resolve namespace for prefix \"+this.B+\" using in a for expression\");this.ka.P(a);yg(a);this.na=Cg(a,this.T,this.ua);this.j.P(a);Eg(a);this.I=this.j.I;if(this.ka.I)throw Te();};function ai(a,b){I.call(this,new yf({}),[],{C:!0,S:\"sorted\"},!1,b);switch(b.type){case 5:var c=y(parseInt(a,10),b.type);break;case 1:c=y(a,b.type);break;case 4:case 3:c=y(parseFloat(a),b.type);break;default:throw new TypeError(\"Type \"+b+\" not expected in a literal\");}this.j=function(){return E.o(c)}}x(ai,I);ai.prototype.h=function(){return this.j()};function bi(a,b){var c={};I.call(this,new yf((c.external=1,c)),a.reduce(function(d,e){return d.concat(e.key,e.value)},[]),{C:!1},!1,b);this.j=a}x(bi,I);bi.prototype.h=function(a,b){var c=this,d=this.j.map(function(e){return Vc(J(e.key,a,b),b).$({default:function(){throw Error(\"XPTY0004: A key of a map should be a single atomizable value.\");},o:function(f){return f}})});return $b(d,function(e){return E.o(new cc(e.map(function(f,g){return{key:f,value:rb(J(c.j[g].value,a,b))}})))})};function ci(a,b,c){var d={};I.call(this,new yf((d.external=1,d)),[],{C:!0},!1,c);this.u=b;this.B=a;this.j=null}x(ci,I);ci.prototype.h=function(){var a=new Bb({l:this.j.l,I:this.j.I,arity:this.u,localName:this.j.localName,namespaceURI:this.j.namespaceURI,i:this.j.i,value:this.j.m});return E.o(a)};\nci.prototype.P=function(a){var b=this.B.namespaceURI,c=this.B.localName,d=this.B.prefix;if(null===b){var e=a.Ra({localName:c,prefix:d},this.u);if(!e)throw Error(\"XPST0017: The function \"+(d?d+\":\":\"\")+c+\" with arity \"+this.u+\" could not be resolved. \"+gg(c));b=e.namespaceURI;c=e.localName}this.j=a.za(b,c,this.u)||null;if(!this.j)throw a=this.B,Error(\"XPST0017: Function \"+((a.namespaceURI?\"Q{\"+a.namespaceURI+\"}\":a.prefix?a.prefix+\":\":\"\")+a.localName)+\" with arity of \"+this.u+\" not registered. \"+gg(c));\nI.prototype.P.call(this,a)};var di={},ei=(di[5]=5,di[27]=5,di[28]=5,di[31]=5,di[32]=5,di[33]=5,di[34]=5,di[30]=5,di[36]=5,di[35]=5,di[38]=5,di[37]=5,di[29]=5,di[4]=4,di[6]=6,di[3]=3,di);function fi(a,b,c){I.call(this,b.s,[b],{C:!1},!1,c);this.u=b;this.j=a}x(fi,I);\nfi.prototype.h=function(a,b){var c=this;return Vc(J(this.u,a,b),b).L(function(d){if(0===d.length)return E.empty();var e=d[0];if(c.type)return d=\"+\"===c.j?+e.value:-e.value,0===e.type&&(d=Number.NaN),E.o(y(d,c.type.type));if(1<d.length)throw Error(\"XPTY0004: The operand to a unary operator must be a sequence with a length less than one\");return C(e.type,19)?(e=Kd(e,3).value,E.o(y(\"+\"===c.j?e:-e,3))):C(e.type,2)?\"+\"===c.j?E.o(e):E.o(y(-1*e.value,ei[e.type])):E.o(y(Number.NaN,3))})};function gi(a,b){I.call(this,a.reduce(function(c,d){return c.add(d.s)},new yf({})),a,{C:a.every(function(c){return c.C})},!1,b);this.j=a;this.u=a.reduce(function(c,d){return Ah(c,d.A())},null)}x(gi,I);\ngi.prototype.h=function(a,b){var c=this,d=0,e=null,f=!1,g=null;if(null!==a){var k=a.N;null!==k&&C(k.type,53)&&(g=Eb(k.value))}return E.create({next:function(){if(!f){for(;d<c.j.length;){if(!e){var l=c.j[d];if(null!==g&&null!==l.A()&&!g.includes(l.A()))return d++,f=!0,B(db);e=J(l,a,b)}if(!1===e.getEffectiveBooleanValue())return f=!0,B(db);e=null;d++}f=!0;return B(cb)}return z}})};gi.prototype.A=function(){return this.u};function hi(a,b){var c=a.reduce(function(e,f){return 0<zf(e,f.s)?e:f.s},new yf({}));I.call(this,c,a,{C:a.every(function(e){return e.C})},!1,b);var d;for(b=0;b<a.length;++b){void 0===d&&(d=a[b].A());if(null===d)break;if(d!==a[b].A()){d=null;break}}this.u=d;this.j=a}x(hi,I);\nhi.prototype.h=function(a,b){var c=this,d=0,e=null,f=!1,g=null;if(null!==a){var k=a.N;null!==k&&C(k.type,53)&&(g=Eb(k.value))}return E.create({next:function(){if(!f){for(;d<c.j.length;){if(!e){var l=c.j[d];if(null!==g&&null!==l.A()&&!g.includes(l.A())){d++;continue}e=J(l,a,b)}if(!0===e.getEffectiveBooleanValue())return f=!0,B(cb);e=null;d++}f=!0;return B(db)}return z}})};hi.prototype.A=function(){return this.u};function ii(a,b){var c;return E.create({next:function(d){for(;;){if(!c){var e=a.value.next(d);if(e.done)return z;c=Uc(e.value,b)}e=c.value.next(d);if(e.done)c=null;else return e}}})};function ji(a,b){if(\"eqOp\"===a)return function(c,d){d=b(c,d);c=d.V;d=d.W;return c.value.namespaceURI===d.value.namespaceURI&&c.value.localName===d.value.localName};if(\"neOp\"===a)return function(c,d){d=b(c,d);c=d.V;d=d.W;return c.value.namespaceURI!==d.value.namespaceURI||c.value.localName!==d.value.localName};throw Error('XPTY0004: Only the \"eq\" and \"ne\" comparison is defined for xs:QName');}\nfunction ki(a,b){switch(a){case \"eqOp\":return function(c,d){c=b(c,d);return c.V.value===c.W.value};case \"neOp\":return function(c,d){c=b(c,d);return c.V.value!==c.W.value};case \"ltOp\":return function(c,d){c=b(c,d);return c.V.value<c.W.value};case \"leOp\":return function(c,d){c=b(c,d);return c.V.value<=c.W.value};case \"gtOp\":return function(c,d){c=b(c,d);return c.V.value>c.W.value};case \"geOp\":return function(c,d){c=b(c,d);return c.V.value>=c.W.value}}}\nfunction li(a,b){switch(a){case \"ltOp\":return function(c,d){c=b(c,d);return c.V.value.ga<c.W.value.ga};case \"leOp\":return function(c,d){d=b(c,d);c=d.V;d=d.W;return ec(c.value,d.value)||c.value.ga<d.value.ga};case \"gtOp\":return function(c,d){c=b(c,d);return c.V.value.ga>c.W.value.ga};case \"geOp\":return function(c,d){d=b(c,d);c=d.V;d=d.W;return ec(c.value,d.value)||c.value.ga>d.value.ga}}}\nfunction mi(a,b){switch(a){case \"eqOp\":return function(c,d){c=b(c,d);return ec(c.V.value,c.W.value)};case \"ltOp\":return function(c,d){c=b(c,d);return c.V.value.ea<c.W.value.ea};case \"leOp\":return function(c,d){d=b(c,d);c=d.V;d=d.W;return ec(c.value,d.value)||c.value.ea<d.value.ea};case \"gtOp\":return function(c,d){c=b(c,d);return c.V.value.ea>c.W.value.ea};case \"geOp\":return function(c,d){d=b(c,d);c=d.V;d=d.W;return ec(c.value,d.value)||c.value.ea>d.value.ea}}}\nfunction ni(a,b){switch(a){case \"eqOp\":return function(c,d){c=b(c,d);return ec(c.V.value,c.W.value)};case \"neOp\":return function(c,d){c=b(c,d);return!ec(c.V.value,c.W.value)}}}\nfunction oi(a,b){switch(a){case \"eqOp\":return function(c,d,e){c=b(c,d);return vc(c.V.value,c.W.value,Jc(e))};case \"neOp\":return function(c,d,e){c=b(c,d);return!vc(c.V.value,c.W.value,Jc(e))};case \"ltOp\":return function(c,d,e){c=b(c,d);e=Jc(e);return 0>uc(c.V.value,c.W.value,e)};case \"leOp\":return function(c,d,e){d=b(c,d);c=d.V;d=d.W;var f;(f=vc(c.value,d.value,Jc(e)))||(e=Jc(e),f=0>uc(c.value,d.value,e));return f};case \"gtOp\":return function(c,d,e){c=b(c,d);e=Jc(e);return 0<uc(c.V.value,c.W.value,\ne)};case \"geOp\":return function(c,d,e){d=b(c,d);c=d.V;d=d.W;var f;(f=vc(c.value,d.value,Jc(e)))||(e=Jc(e),f=0<uc(c.value,d.value,e));return f}}}function pi(a,b){switch(a){case \"eqOp\":return function(c,d,e){c=b(c,d);return vc(c.V.value,c.W.value,Jc(e))};case \"neOp\":return function(c,d,e){c=b(c,d);return!vc(c.V.value,c.W.value,Jc(e))}}}\nfunction qi(a,b,c){function d(n,q){return{V:g?g(n):n,W:k?k(q):q}}function e(n){return C(b,n)&&C(c,n)}function f(n){return 0<n.filter(function(q){return C(b,q)}).length&&0<n.filter(function(q){return C(c,q)}).length}var g=null,k=null;C(b,19)&&C(c,19)?b=c=1:C(b,19)?(g=function(n){return Kd(n,c)},b=c):C(c,19)&&(k=function(n){return Kd(n,b)},c=b);if(C(b,23)&&C(c,23))return ji(a,d);if(e(0)||f([1,47,61])||f([2,47,61])||e(20)||e(22)||e(21)||f([1,20])){var l=ki(a,d);if(void 0!==l)return l}if(e(16)&&(l=li(a,\nd),void 0!==l)||e(17)&&(l=mi(a,d),void 0!==l)||e(18)&&(l=ni(a,d),void 0!==l))return l;if(e(9)||e(7)||e(8))if(l=oi(a,d),void 0!==l)return l;if(e(11)||e(12)||e(13)||e(14)||e(15))if(l=pi(a,d),void 0!==l)return l;throw Error(\"XPTY0004: \"+a+\" not available for \"+tb[b]+\" and \"+tb[c]);}var ri=Object.create(null);function si(a,b,c){var d=b+\"~\"+c+\"~\"+a,e=ri[d];e||(e=ri[d]=qi(a,b,c));return e}function ti(a,b,c){I.call(this,b.s.add(c.s),[b,c],{C:!1});this.j=b;this.B=c;this.u=a}x(ti,I);\nti.prototype.h=function(a,b){var c=this,d=J(this.j,a,b),e=J(this.B,a,b),f=ii(d,b),g=ii(e,b);return f.$({empty:function(){return E.empty()},o:function(){return g.$({empty:function(){return E.empty()},o:function(){var k=f.first(),l=g.first();return si(c.u,k.type,l.type)(k,l,a)?E.ca():E.X()},multiple:function(){throw Error(\"XPTY0004: Sequences to compare are not singleton.\");}})},multiple:function(){throw Error(\"XPTY0004: Sequences to compare are not singleton.\");}})};var ui={},vi=(ui.equalOp=\"eqOp\",ui.notEqualOp=\"neOp\",ui.lessThanOrEqualOp=\"leOp\",ui.lessThanOp=\"ltOp\",ui.greaterThanOrEqualOp=\"geOp\",ui.greaterThanOp=\"gtOp\",ui);\nfunction wi(a,b,c,d){a=vi[a];return c.L(function(e){return b.filter(function(f){for(var g=0,k=e.length;g<k;++g){var l=e[g],n=void 0,q=void 0,u=f.type,v=l.type;if(C(u,19)||C(v,19))C(u,2)?n=3:C(v,2)?q=3:C(u,17)?n=17:C(v,17)?q=17:C(u,16)?n=16:C(v,16)?q=16:C(u,19)?q=v:C(v,19)&&(n=u);q=t([q,n]);n=q.next().value;q=q.next().value;n?f=Kd(f,n):q&&(l=Kd(l,q));if(si(a,f.type,l.type)(f,l,d))return!0}return!1}).$({default:function(){return E.ca()},empty:function(){return E.X()}})})}\nfunction xi(a,b,c){I.call(this,b.s.add(c.s),[b,c],{C:!1});this.j=b;this.B=c;this.u=a}x(xi,I);xi.prototype.h=function(a,b){var c=this,d=J(this.j,a,b),e=J(this.B,a,b);return d.$({empty:function(){return E.X()},default:function(){return e.$({empty:function(){return E.X()},default:function(){var f=ii(d,b),g=ii(e,b);return wi(c.u,f,g,a)}})}})};function yi(a,b,c,d){if(!C(c,53)||!C(d,53))throw Error(\"XPTY0004: Sequences to compare are not nodes\");switch(a){case \"isOp\":return zi(c,d);case \"nodeBeforeOp\":return b?function(e,f){return 0>Td(b,e.first(),f.first())}:void 0;case \"nodeAfterOp\":return b?function(e,f){return 0<Td(b,e.first(),f.first())}:void 0;default:throw Error(\"Unexpected operator\");}}\nfunction zi(a,b){return a!==b||47!==a&&53!==a&&54!==a&&55!==a&&56!==a&&57!==a&&58!==a?function(){return!1}:function(c,d){return Nd(c.first().value,d.first().value)}}function Ai(a,b,c){I.call(this,b.s.add(c.s),[b,c],{C:!1});this.j=b;this.B=c;this.u=a}x(Ai,I);\nAi.prototype.h=function(a,b){var c=this,d=J(this.j,a,b),e=J(this.B,a,b);return d.$({empty:function(){return E.empty()},multiple:function(){throw Error(\"XPTY0004: Sequences to compare are not singleton\");},o:function(){return e.$({empty:function(){return E.empty()},multiple:function(){throw Error(\"XPTY0004: Sequences to compare are not singleton\");},o:function(){var f=d.first(),g=e.first();return yi(c.u,b.h,f.type,g.type)(d,e,a)?E.ca():E.X()}})}})};function Bi(a,b,c,d){return c.L(function(e){if(e.some(function(f){return!C(f.type,53)}))throw Error(\"XPTY0004: Sequences given to \"+a+\" should only contain nodes.\");return\"sorted\"===d?E.create(e):\"reverse-sorted\"===d?E.create(e.reverse()):E.create(Ud(b,e))})}function Ci(a,b,c,d){I.call(this,0<zf(b.s,c.s)?b.s:c.s,[b,c],{C:b.C&&c.C},!1,d);this.j=a;this.u=b;this.B=c}x(Ci,I);\nCi.prototype.h=function(a,b){var c=this,d=Bi(this.j,b.h,J(this.u,a,b),this.u.O);a=Bi(this.j,b.h,J(this.B,a,b),this.B.O);var e=d.value,f=a.value,g=null,k=null,l=!1,n=!1;return E.create({next:function(){if(l)return z;for(;!n;){if(!g){var q=e.next(0);if(q.done)return l=!0,z;g=q.value}if(!k){q=f.next(0);if(q.done){n=!0;break}k=q.value}if(Nd(g.value,k.value)){if(q=B(g),k=g=null,\"intersectOp\"===c.j)return q}else if(0>Td(b.h,g,k)){if(q=B(g),g=null,\"exceptOp\"===c.j)return q}else k=null}if(\"exceptOp\"===c.j)return null!==\ng?(q=B(g),g=null,q):e.next(0);l=!0;return z}})};function Di(a,b){uf.call(this,a.reduce(function(c,d){return c.add(d.s)},new yf({})),a,{S:\"unsorted\",C:a.every(function(c){return c.C})},b)}x(Di,uf);Di.prototype.B=function(a,b,c){return c.length?Mc(c.map(function(d){return d(a)})):E.empty()};function Ei(a,b,c){I.call(this,(new yf({})).add(a.s),[a,b],{C:a.C&&b.C},!1,c);this.j=a;this.u=b}x(Ei,I);Ei.prototype.h=function(a,b){var c=this,d=J(this.j,a,b),e=Gc(a,d),f=null,g=null,k=!1;return E.create({next:function(l){for(;!k;){if(!f&&(f=e.next(l),f.done))return k=!0,z;g||(g=J(c.u,f.value,b));var n=g.value.next(l);if(n.done)f=g=null;else return n}}})};function Fi(a,b,c){I.call(this,a.s,[a],{C:!1});this.j=wb(b.prefix?b.prefix+\":\"+b.localName:b.localName);if(46===this.j||45===this.j||44===this.j)throw Error(\"XPST0080: Casting to xs:anyAtomicType, xs:anySimpleType or xs:NOTATION is not permitted.\");if(b.namespaceURI)throw Error(\"Not implemented: castable as expressions with a namespace URI.\");this.B=a;this.u=c}x(Fi,I);\nFi.prototype.h=function(a,b){var c=this,d=Vc(J(this.B,a,b),b);return d.$({empty:function(){return c.u?E.ca():E.X()},o:function(){return d.map(function(e){return Jd(e,c.j).v?cb:db})},multiple:function(){return E.X()}})};function Gi(a,b,c){I.call(this,a.s,[a],{C:!1});this.j=wb(b.prefix?b.prefix+\":\"+b.localName:b.localName);if(46===this.j||45===this.j||44===this.j)throw Error(\"XPST0080: Casting to xs:anyAtomicType, xs:anySimpleType or xs:NOTATION is not permitted.\");if(b.namespaceURI)throw Error(\"Not implemented: casting expressions with a namespace URI.\");this.B=a;this.u=c}x(Gi,I);\nGi.prototype.h=function(a,b){var c=this,d=Vc(J(this.B,a,b),b);return d.$({empty:function(){if(!c.u)throw Error(\"XPTY0004: Sequence to cast is empty while target type is singleton.\");return E.empty()},o:function(){return d.map(function(e){return Kd(e,c.j)})},multiple:function(){throw Error(\"XPTY0004: Sequence to cast is not singleton or empty.\");}})};function Hi(a,b){var c=a.value,d=null,e=!1;return E.create({next:function(){for(;!e;){if(!d){var f=c.next(0);if(f.done)return e=!0,B(cb);d=b(f.value)}f=d.getEffectiveBooleanValue();d=null;if(!1===f)return e=!0,B(db)}return z}})};function Ii(a,b,c,d){I.call(this,a.s,[a],{C:!1},!1,d);this.B=a;this.u=b;this.j=c}x(Ii,I);Ii.prototype.h=function(a,b){var c=this,d=J(this.B,a,b);return d.$({empty:function(){return\"?\"===c.j||\"*\"===c.j?E.ca():E.X()},multiple:function(){return\"+\"===c.j||\"*\"===c.j?Hi(d,function(e){var f=E.o(e);e=Hc(a,0,e,f);return J(c.u,e,b)}):E.X()},o:function(){return Hi(d,function(e){var f=E.o(e);e=Hc(a,0,e,f);return J(c.u,e,b)})}})};function Ji(a,b){return null!==a&&null!==b&&C(a.type,53)&&C(b.type,53)?Nd(a.value,b.value):!1}function Ki(a){var b=a.next(0);if(b.done)return E.empty();var c=null,d=null;return E.create({next:function(e){if(b.done)return z;c||(c=b.value.value);do{var f=c.next(e);if(f.done){b=a.next(0);if(b.done)return f;c=b.value.value}}while(f.done||Ji(f.value,d));d=f.value;return f}})}\nfunction Li(a,b){var c=[];(function(){for(var g=b.next(0),k={};!g.done;)k.jb=g.value.value,g={current:k.jb.next(0),next:function(l){return function(n){return l.jb.next(n)}}(k)},g.current.done||c.push(g),g=b.next(0),k={jb:k.jb}})();var d=null,e=!1,f={};return E.create((f[Symbol.iterator]=function(){return this},f.next=function(){e||(e=!0,c.every(function(v){return C(v.current.value.type,53)})&&c.sort(function(v,A){return Td(a,v.current.value,A.current.value)}));do{if(!c.length)return z;var g=c.shift();\nvar k=g.current;g.current=g.next(0);if(!C(k.value.type,53))return k;if(!g.current.done){for(var l=0,n=c.length-1,q=0;l<=n;){q=Math.floor((l+n)/2);var u=Td(a,g.current.value,c[q].current.value);if(0===u){l=q;break}0<u?l=q+1:n=q-1}c.splice(l,0,g)}}while(Ji(k.value,d));d=k.value;return k},f))};function Mi(a,b){var c=a.reduce(function(d,e){return 0<zf(d,e.s)?d:e.s},new yf({}));I.call(this,c,a,{C:a.every(function(d){return d.C})},!1,b);this.j=a}x(Mi,I);\nMi.prototype.h=function(a,b){var c=this;if(this.j.every(function(e){return\"sorted\"===e.O})){var d=0;return Li(b.h,{next:function(){return d>=c.j.length?z:B(J(c.j[d++],a,b))}}).map(function(e){if(!C(e.type,53))throw Error(\"XPTY0004: The sequences to union are not of type node()*\");return e})}return Mc(this.j.map(function(e){return J(e,a,b)})).L(function(e){if(e.some(function(f){return!C(f.type,53)}))throw Error(\"XPTY0004: The sequences to union are not of type node()*\");e=Ud(b.h,e);return E.create(e)})};function Ni(a){return a.every(function(b){return null===b||C(b.type,5)||C(b.type,4)})||null!==a.map(function(b){return b?Wc(b.type):null}).reduce(function(b,c){return null===c?b:c===b?b:null})?a:a.every(function(b){return null===b||C(b.type,1)||C(b.type,20)})?a.map(function(b){return b?Kd(b,1):null}):a.every(function(b){return null===b||C(b.type,4)||C(b.type,6)})?a.map(function(b){return b?Kd(b,6):b}):a.every(function(b){return null===b||C(b.type,4)||C(b.type,6)||C(b.type,3)})?a.map(function(b){return b?\nKd(b,3):b}):null};function Oi(a){return(a=a.find(function(b){return!!b}))?Wc(a.type):null}function Pi(a,b){var c=new yf({});Vh.call(this,c,[b].concat(w(a.map(function(d){return d.da}))),{C:!1,Y:!1,S:\"unsorted\",subtree:!1},b);this.B=a}x(Pi,Vh);\nPi.prototype.J=function(a,b,c,d){if(this.B[1])throw Error(\"More than one order spec is not supported for the order by clause.\");var e=[],f=!1,g,k,l=null,n=this.B[0];return E.create({next:function(){if(!f){for(var q=b.next(0);!q.done;)e.push(q.value),q=b.next(0);q=e.map(function(ea){return n.da.h(ea,c)}).map(function(ea){return Vc(ea,c)});if(q.find(function(ea){return!ea.G()&&!ea.ya()}))throw mg(\"Order by only accepts empty or singleton sequences\");g=q.map(function(ea){return ea.first()});g=g.map(function(ea){return null===\nea?ea:C(19,ea.type)?Kd(ea,1):ea});if(Oi(g)&&(g=Ni(g),!g))throw mg(\"Could not cast values\");q=g.length;k=g.map(function(ea,Ea){return Ea});for(var u=0;u<q;u++)if(u+1!==q)for(var v=u;0<=v;v--){var A=v,G=v+1;if(G!==q){var H=g[k[A]],L=g[k[G]];if(null!==L||null!==H){if(n.zc){if(null===H)continue;if(null===L&&null!==H){H=t([k[G],k[A]]);k[A]=H.next().value;k[G]=H.next().value;continue}if(isNaN(L.value)&&null!==H&&!isNaN(H.value)){H=t([k[G],k[A]]);k[A]=H.next().value;k[G]=H.next().value;continue}}else{if(null===\nL)continue;if(null===H&&null!==L){H=t([k[G],k[A]]);k[A]=H.next().value;k[G]=H.next().value;continue}if(isNaN(H.value)&&null!==L&&!isNaN(L.value)){H=t([k[G],k[A]]);k[A]=H.next().value;k[G]=H.next().value;continue}}si(\"gtOp\",H.type,L.type)(H,L,a)&&(H=t([k[G],k[A]]),k[A]=H.next().value,k[G]=H.next().value)}}}var fa=n.Gb?0:g.length-1;l=d({next:function(){return n.Gb?fa>=g.length?z:B(e[k[fa++]]):0>fa?z:B(e[k[fa--]])}}).value;f=!0}return l.next(0)}})};function Qi(a){I.call(this,a?a.s:new yf({}),a?[a]:[],{S:\"sorted\",subtree:!1,Y:!1,C:!1});this.j=a}x(Qi,I);Qi.prototype.h=function(a,b){if(null===a.N)throw Error(\"XPDY0002: context is absent, it needs to be present to use paths.\");for(var c=b.h,d=a.N.value;9!==d.node.nodeType;)if(d=Ub(c,d),null===d)throw Error(\"XPDY0050: the root node of the context node is not a document node.\");c=E.o(Zb(d));return this.j?J(this.j,Hc(a,0,c.first(),c),b):c};function Ri(a){I.call(this,new yf({}),[],{S:\"sorted\"},!1,a)}x(Ri,I);Ri.prototype.h=function(a){if(null===a.N)throw Error('XPDY0002: context is absent, it needs to be present to use the \".\" operator');return E.o(a.N)};function Si(a,b){var c=!1,d=!1;b.forEach(function(e){C(e.type,53)?c=!0:d=!0});if(d&&c)throw Error(\"XPTY0018: The path operator should either return nodes or non-nodes. Mixed sequences are not allowed.\");return c?Ud(a,b):b}function Ti(a,b){var c=a.every(function(e){return e.Y}),d=a.every(function(e){return e.subtree});I.call(this,a.reduce(function(e,f){return e.add(f.s)},new yf({})),a,{C:!1,Y:c,S:b?\"sorted\":\"unsorted\",subtree:d});this.j=a;this.u=b}x(Ti,I);\nTi.prototype.h=function(a,b){var c=this,d=!0;return this.j.reduce(function(e,f,g){var k=null===e?Ld(a):Gc(a,e);e={next:function(q){q=k.next(q);if(q.done)return z;if(null!==q.value.N&&!C(q.value.N.type,53)&&0<g)throw Error(\"XPTY0019: The result of E1 in a path expression E1/E2 should not evaluate to a sequence of nodes.\");return B(J(f,q.value,b))}};if(c.u)switch(f.O){case \"reverse-sorted\":var l=e;e={next:function(q){q=l.next(q);return q.done?q:B(q.value.L(function(u){return E.create(u.reverse())}))}};\ncase \"sorted\":if(f.subtree&&d){var n=Ki(e);break}n=Li(b.h,e);break;case \"unsorted\":return Ki(e).L(function(q){return E.create(Si(b.h,q))})}else n=Ki(e);d=d&&f.Y;return n},null)};Ti.prototype.A=function(){return this.j[0].A()};function Ui(a,b){I.call(this,a.s.add(b.s),[a,b],{C:a.C&&b.C,Y:a.Y,S:a.O,subtree:a.subtree});this.u=a;this.j=b}x(Ui,I);\nUi.prototype.h=function(a,b){var c=this,d=J(this.u,a,b);if(this.j.C){var e=J(this.j,a,b);if(e.G())return e;var f=e.first();if(C(f.type,2)){var g=f.value;if(!Number.isInteger(g))return E.empty();var k=d.value,l=!1;return E.create({next:function(){if(!l){for(var A=k.next(0);!A.done;A=k.next(0))if(1===g--)return l=!0,A;l=!0}return z}})}return e.getEffectiveBooleanValue()?d:E.empty()}var n=d.value,q=null,u=0,v=null;return E.create({next:function(A){for(var G=!1;!q||!q.done;){q||(q=n.next(G?0:A),G=!0);\nif(q.done)break;v||(v=J(c.j,Hc(a,u,q.value,d),b));var H=v.first();H=null===H?!1:C(H.type,2)?H.value===u+1:v.getEffectiveBooleanValue();v=null;var L=q.value;q=null;u++;if(H)return B(L)}return q}})};Ui.prototype.A=function(){return this.u.A()};function Vi(a,b,c){c=[c];if(C(a.type,62))if(\"*\"===b)c.push.apply(c,w(a.R.map(function(e){return e()})));else if(C(b.type,5)){var d=b.value;if(a.R.length<d||0>=d)throw Error(\"FOAY0001: Array index out of bounds\");c.push(a.R[d-1]())}else throw mg(\"The key specifier is not an integer.\");else if(C(a.type,61))\"*\"===b?c.push.apply(c,w(a.h.map(function(e){return e.value()}))):(a=a.h.find(function(e){return ac(e.key,b)}))&&c.push(a.value());else throw mg(\"The provided context item is not a map or an array.\");\nreturn Mc(c)}function Wi(a,b,c,d,e){if(\"*\"===b)return Vi(a,b,c);b=J(b,d,e);b=rb(b)().L(function(f){return f.reduce(function(g,k){return Vi(a,k,g)},new kb)});return Mc([c,b])};function Xi(a,b){I.call(this,a.s,[a].concat(\"*\"===b?[]:[b]),{C:a.C,S:a.O,subtree:a.subtree});this.j=a;this.u=b}x(Xi,I);Xi.prototype.h=function(a,b){var c=this;return J(this.j,a,b).L(function(d){return d.reduce(function(e,f){return Wi(f,c.u,e,a,b)},new kb)})};Xi.prototype.A=function(){return this.j.A()};function Yi(a,b){var c={};I.call(this,new yf((c.external=1,c)),\"*\"===a?[]:[a],{C:!1},!1,b);this.j=a}x(Yi,I);Yi.prototype.h=function(a,b){return Wi(a.N,this.j,new kb,a,b)};function Zi(a,b,c,d){var e=b.map(function(g){return g.eb});b=b.map(function(g){return g.name});var f=e.reduce(function(g,k){return g.add(k.s)},c.s);I.call(this,f,e.concat(c),{C:!1},!1,d);this.u=a;this.B=b;this.J=e;this.T=c;this.j=null}x(Zi,I);\nZi.prototype.h=function(a,b){var c=this,d=a,e=this.j.map(function(q,u){var v=J(c.J[u],d,b).M();u={};d=Kc(a,(u[q]=function(){return E.create(v)},u));return v});if(e.some(function(q){return 0===q.length}))return\"every\"===this.u?E.ca():E.X();var f=Array(e.length).fill(0);f[0]=-1;for(var g=!0;g;){g=!1;for(var k=0,l=f.length;k<l;++k){var n=e[k];if(++f[k]>n.length-1)f[k]=0;else{g=Object.create(null);k={};for(l=0;l<f.length;k={ub:k.ub},l++)k.ub=e[l][f[l]],g[this.j[l]]=function(q){return function(){return E.o(q.ub)}}(k);\ng=Kc(a,g);g=J(this.T,g,b);if(g.getEffectiveBooleanValue()&&\"some\"===this.u)return E.ca();if(!g.getEffectiveBooleanValue()&&\"every\"===this.u)return E.X();g=!0;break}}}return\"every\"===this.u?E.ca():E.X()};Zi.prototype.P=function(a){this.j=[];for(var b=0,c=this.B.length;b<c;++b){this.J[b].P(a);yg(a);var d=this.B[b],e=d.prefix?a.ba(d.prefix):null;d=Cg(a,e,d.localName);this.j[b]=d}this.T.P(a);b=0;for(c=this.B.length;b<c;++b)Eg(a)};function $i(a){I.call(this,a,[],{C:!1})}x($i,I);$i.prototype.h=function(a){return this.j(a.N)?E.ca():E.X()};function aj(a){var b={};$i.call(this,new yf((b.nodeType=1,b)));this.u=a}x(aj,$i);aj.prototype.j=function(a){if(!C(a.type,53))return!1;a=a.value.node.nodeType;return 3===this.u&&4===a?!0:this.u===a};aj.prototype.A=function(){return\"type-\"+this.u};function bj(a,b){b=void 0===b?{kind:null}:b;var c=a.prefix,d=a.namespaceURI;a=a.localName;var e={};\"*\"!==a&&(e.nodeName=1);e.nodeType=1;$i.call(this,new yf(e));this.u=a;this.J=d;this.B=c;this.T=b.kind}x(bj,$i);\nbj.prototype.j=function(a){var b=C(a.type,54),c=C(a.type,47);if(!b&&!c)return!1;a=a.value;return null!==this.T&&(1===this.T&&!b||2===this.T&&!c)?!1:null===this.B&&\"\"!==this.J&&\"*\"===this.u?!0:\"*\"===this.B?\"*\"===this.u?!0:this.u===a.node.localName:\"*\"!==this.u&&this.u!==a.node.localName?!1:(a.node.namespaceURI||null)===((\"\"===this.B?b?this.J:null:this.J)||null)};bj.prototype.A=function(){return\"*\"===this.u?null===this.T?\"type-1-or-type-2\":\"type-\"+this.T:\"name-\"+this.u};\nbj.prototype.P=function(a){if(null===this.J&&\"*\"!==this.B&&(this.J=a.ba(this.B||\"\")||null,!this.J&&this.B))throw Error(\"XPST0081: The prefix \"+this.B+\" could not be resolved.\");};function cj(a){var b={};$i.call(this,new yf((b.nodeName=1,b)));this.u=a}x(cj,$i);cj.prototype.j=function(a){return C(a.type,57)&&a.value.node.target===this.u};cj.prototype.A=function(){return\"type-7\"};function dj(a){$i.call(this,new yf({}));this.u=a}x(dj,$i);dj.prototype.j=function(a){return C(a.type,wb(this.u.prefix?this.u.prefix+\":\"+this.u.localName:this.u.localName))};function ej(a,b,c){I.call(this,new yf({}),[],{C:!1,S:\"unsorted\"});this.B=c;this.u=b;this.J=a;this.j=null}x(ej,I);ej.prototype.h=function(a,b){if(!a.Ea[this.j]){if(this.T)return this.T(a,b);throw Error(\"XQDY0054: The variable \"+this.B+\" is declared but not in scope.\");}return a.Ea[this.j]()};ej.prototype.P=function(a){null===this.u&&this.J&&(this.u=a.ba(this.J));this.j=a.qb(this.u||\"\",this.B);if(!this.j)throw Error(\"XPST0008, The variable \"+this.B+\" is not in scope.\");if(a=a.Da[this.j])this.T=a};function fj(a,b){var c=new yf({});Vh.call(this,c,[a,b],{C:!1,Y:!1,S:\"unsorted\",subtree:!1},b);this.B=a}x(fj,Vh);fj.prototype.J=function(a,b,c,d){var e=this,f=null,g=null;return d({next:function(){for(;;){if(!g){var k=b.next(0);if(k.done)return z;f=k.value;g=J(e.B,f,c)}k=g.getEffectiveBooleanValue();var l=f;g=f=null;if(k)return B(l)}}})};function gj(a,b){var c=b.h,d=b.s,e=b.A;switch(a.node.nodeType){case 1:var f=d.createElementNS(a.node.namespaceURI,a.node.nodeName);c.getAllAttributes(a.node).forEach(function(g){return e.setAttributeNS(f,g.namespaceURI,g.nodeName,g.value)});d=t(Pb(c,a));for(a=d.next();!a.done;a=d.next())a=gj(a.value,b),e.insertBefore(f,a.node,null);return{node:f,F:null};case 2:return b=d.createAttributeNS(a.node.namespaceURI,a.node.nodeName),b.value=Qb(c,a),{node:b,F:null};case 4:return{node:d.createCDATASection(Qb(c,\na)),F:null};case 8:return{node:d.createComment(Qb(c,a)),F:null};case 9:d=d.createDocument();c=t(Pb(c,a));for(a=c.next();!a.done;a=c.next())a=gj(a.value,b),e.insertBefore(d,a.node,null);return{node:d,F:null};case 7:return{node:d.createProcessingInstruction(a.node.target,Qb(c,a)),F:null};case 3:return{node:d.createTextNode(Qb(c,a)),F:null}}};function hj(a,b){var c=b.A,d=b.s,e=b.h;if(Kb(a.node))switch(a.node.nodeType){case 2:return d=d.createAttributeNS(a.node.namespaceURI,a.node.nodeName),d.value=Qb(e,a),d;case 8:return d.createComment(Qb(e,a));case 1:var f=a.node.prefix,g=a.node.localName,k=d.createElementNS(a.node.namespaceURI,f?f+\":\"+g:g);Pb(e,a).forEach(function(l){l=hj(l,b);c.insertBefore(k,l,null)});Nb(e,a).forEach(function(l){c.setAttributeNS(k,l.node.namespaceURI,l.node.nodeName,Qb(e,l))});k.normalize();return k;case 7:return d.createProcessingInstruction(a.node.target,\nQb(e,a));case 3:return d.createTextNode(Qb(e,a))}else return gj(a,b).node}function ij(a,b,c){var d=a;for(a=Ub(c,d);null!==a;){if(2===d.node.nodeType)b.push(d.node.nodeName);else{var e=Pb(c,a);b.push(e.findIndex(function(f){return Nd(f,d)}))}d=a;a=Ub(c,d)}return d}function jj(a,b,c){for(var d={};0<b.length;)d.Xa=b.pop(),\"string\"===typeof d.Xa?a=Nb(c,a).find(function(e){return function(f){return f.node.nodeName===e.Xa}}(d)):a=Pb(c,a)[d.Xa],d={Xa:d.Xa};return a.node}\nfunction kj(a,b,c){var d=a.node;if(!(Kb(d)||c||a.F))return d;d=b.ha;var e=[];if(c)return hj(a,b);a=ij(a,e,b.h);c=d.get(a.node);c||(c={node:hj(a,b),F:null},d.set(a.node,c));return jj(c,e,b.h)};function lj(a){this.type=a};function mj(a){this.type=\"delete\";this.target=a}x(mj,lj);mj.prototype.h=function(a){var b={};return b.type=this.type,b.target=kj(this.target,a,!1),b};function nj(a,b,c){this.type=c;this.target=a;this.content=b}x(nj,lj);nj.prototype.h=function(a){var b={};return b.type=this.type,b.target=kj(this.target,a,!1),b.content=this.content.map(function(c){return kj(c,a,!0)}),b};function oj(a,b){nj.call(this,a,b,\"insertAfter\")}x(oj,nj);function pj(a,b){this.type=\"insertAttributes\";this.target=a;this.content=b}x(pj,lj);pj.prototype.h=function(a){var b={};return b.type=this.type,b.target=kj(this.target,a,!1),b.content=this.content.map(function(c){return kj(c,a,!0)}),b};function qj(a,b){nj.call(this,a,b,\"insertBefore\")}x(qj,nj);function rj(a,b){nj.call(this,a,b,\"insertIntoAsFirst\")}x(rj,nj);function sj(a,b){nj.call(this,a,b,\"insertIntoAsLast\")}x(sj,nj);function tj(a,b){nj.call(this,a,b,\"insertInto\")}x(tj,nj);function uj(a,b){this.type=\"rename\";this.target=a;this.s=b.va?b:new Ab(b.prefix,b.namespaceURI,b.localName)}x(uj,lj);uj.prototype.h=function(a){var b={},c={};return c.type=this.type,c.target=kj(this.target,a,!1),c.newName=(b.prefix=this.s.prefix,b.namespaceURI=this.s.namespaceURI,b.localName=this.s.localName,b),c};function vj(a,b){this.type=\"replaceElementContent\";this.target=a;this.text=b}x(vj,lj);vj.prototype.h=function(a){var b={};return b.type=this.type,b.target=kj(this.target,a,!1),b.text=this.text?kj(this.text,a,!0):null,b};function wj(a,b){this.type=\"replaceNode\";this.target=a;this.s=b}x(wj,lj);wj.prototype.h=function(a){var b={};return b.type=this.type,b.target=kj(this.target,a,!1),b.replacement=this.s.map(function(c){return kj(c,a,!0)}),b};function xj(a,b){this.type=\"replaceValue\";this.target=a;this.s=b}x(xj,lj);xj.prototype.h=function(a){var b={};return b.type=this.type,b.target=kj(this.target,a,!1),b[\"string-value\"]=this.s,b};function yj(a,b){return new wj(a,b)};function zj(a){rf.call(this,new yf({}),[a],{C:!1,S:\"unsorted\"});this.j=a}x(zj,rf);zj.prototype.u=function(a,b){var c=sf(this.j)(a,b),d=b.h,e,f;return{next:function(){if(!e){var g=c.next(0);if(g.value.H.some(function(k){return!C(k.type,53)}))throw Error(\"XUTY0007: The target of a delete expression must be a sequence of zero or more nodes.\");e=g.value.H;f=g.value.fa}e=e.filter(function(k){return Ub(d,k.value)});return B({fa:qf(e.map(function(k){return new mj(k.value)}),f),H:[]})}}};function Aj(a,b,c,d,e,f){var g=b.h;a.reduce(function q(l,n){if(C(n.type,62))return n.R.forEach(function(u){return u().M().forEach(function(v){return q(l,v)})}),l;l.push(n);return l},[]).forEach(function(l,n,q){if(C(l.type,47)){if(e)throw f(l.value,g);c.push(l.value.node)}else if(C(l.type,46)||C(l.type,53)&&3===l.value.node.nodeType){var u=C(l.type,46)?Kd(Uc(l,b).first(),1).value:Qb(g,l.value);0!==n&&C(q[n-1].type,46)&&C(l.type,46)?(d.push({data:\" \"+u,Qa:!0,nodeType:3}),e=!0):u&&(d.push({data:\"\"+u,\nQa:!0,nodeType:3}),e=!0)}else if(C(l.type,55)){var v=[];Pb(g,l.value).forEach(function(A){return v.push(Zb(A))});e=Aj(v,b,c,d,e,f)}else if(C(l.type,53))d.push(l.value.node),e=!0;else{if(C(l.type,60))throw Pc(l.type);throw Error(\"Atomizing \"+l.type+\" is not implemented.\");}});return e}function Bj(a,b,c){var d=[],e=[],f=!1;a.forEach(function(g){f=Aj(g,b,d,e,f,c)});return{attributes:d,Ta:e}};function Cj(a,b,c,d,e){var f=[];switch(a){case 4:d.length&&f.push(new pj(b,d));e.length&&f.push(new rj(b,e));break;case 5:d.length&&f.push(new pj(b,d));e.length&&f.push(new sj(b,e));break;case 3:d.length&&f.push(new pj(b,d));e.length&&f.push(new tj(b,e));break;case 2:d.length&&f.push(new pj(c,d));e.length&&f.push(new qj(b,e));break;case 1:d.length&&f.push(new pj(c,d)),e.length&&f.push(new oj(b,e))}return f}\nfunction Dj(a,b,c){rf.call(this,new yf({}),[a,c],{C:!1,S:\"unsorted\"});this.J=a;this.j=b;this.B=c}x(Dj,rf);\nDj.prototype.u=function(a,b){var c=this,d=sf(this.J)(a,b),e=sf(this.B)(a,b),f=b.h,g,k,l,n,q,u;return{next:function(){if(!g){var v=d.next(0),A=Bj([v.value.H],b,Ue);g=A.attributes.map(function(G){return{node:G,F:null}});k=A.Ta.map(function(G){return{node:G,F:null}});l=v.value.fa}if(!n){v=e.next(0);if(0===v.value.H.length)throw cf();if(3<=c.j){if(1!==v.value.H.length)throw Ve();if(!C(v.value.H[0].type,54)&&!C(v.value.H[0].type,55))throw Ve();}else{if(1!==v.value.H.length)throw We();if(!(C(v.value.H[0].type,\n54)||C(v.value.H[0].type,56)||C(v.value.H[0].type,58)||C(v.value.H[0].type,57)))throw We();u=Ub(f,v.value.H[0].value,null);if(null===u)throw Error(\"XUDY0029: The target \"+v.value.H[0].value.outerHTML+\" for inserting a node before or after must have a parent.\");}n=v.value.H[0];q=v.value.fa}if(g.length){if(3<=c.j){if(!C(n.type,54))throw Error(\"XUTY0022: An insert expression specifies the insertion of an attribute node into a document node.\");}else if(1!==u.node.nodeType)throw Error(\"XUDY0030: An insert expression specifies the insertion of an attribute node before or after a child of a document node.\");\ng.reduce(function(G,H){var L=H.node.prefix||\"\",fa=H.node.prefix||\"\",ea=H.node.namespaceURI,Ea=fa?n.value.node.lookupNamespaceURI(fa):null;if(Ea&&Ea!==ea)throw af(ea);if((fa=G[fa])&&ea!==fa)throw bf(ea);G[L]=H.node.namespaceURI;return G},{})}return B({H:[],fa:qf(Cj(c.j,n.value,u?u:null,g,k),l,q)})}}};function Ej(){return Oc(\"Casting not supported from given type to a single xs:string or xs:untypedAtomic or any of its derived types.\")}var Fj=/([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])/,Gj=new RegExp(Fj.source+(new RegExp(\"(\"+Fj.source+\"|[-.0-9\\u00b7\\u0300-\\u036f\\u203f\\u2040])\")).source+\"*\",\"g\");function Hj(a){return(a=a.match(Gj))?1===a.length:!1}\nfunction Ij(a,b){return Vc(b,a).$({o:function(c){c=c.first();if(C(c.type,1)||C(c.type,19)){if(!Hj(c.value))throw Error('XQDY0041: The value \"'+c.value+'\" of a name expressions cannot be converted to a NCName.');return E.o(c)}throw Ej();},default:function(){throw Ej();}}).value}\nfunction Jj(a,b,c){return Vc(c,b).$({o:function(d){d=d.first();if(C(d.type,23))return E.o(d);if(C(d.type,1)||C(d.type,19)){d=d.value.split(\":\");if(1===d.length)d=d[0];else{var e=d[0];var f=a.ba(e);d=d[1]}if(!Hj(d)||e&&!Hj(e))throw tg(e?e+\":\"+d:d);if(e&&!f)throw tg(e+\":\"+d);return E.o({type:23,value:new Ab(e,f,d)})}throw Ej();},default:function(){throw Ej();}}).value};function Kj(a,b){rf.call(this,new yf({}),[a,b],{C:!1,S:\"unsorted\"});this.B=a;this.J=b;this.j=void 0}x(Kj,rf);\nKj.prototype.u=function(a,b){var c=this,d=sf(this.B)(a,b),e=sf(this.J)(a,b);return{next:function(){var f=d.next(0);var g=f.value.H;if(0===g.length)throw cf();if(1!==g.length)throw Ye();if(!C(g[0].type,54)&&!C(g[0].type,47)&&!C(g[0].type,57))throw Ye();g=g[0];var k=e.next(0);a:{var l=c.j;var n=E.create(k.value.H);switch(g.type){case 54:l=Jj(l,b,n).next(0).value.value;if((n=g.value.node.lookupNamespaceURI(l.prefix))&&n!==l.namespaceURI)throw af(l.namespaceURI);break a;case 47:l=Jj(l,b,n).next(0).value.value;\nif(l.namespaceURI&&(n=g.value.node.lookupNamespaceURI(l.prefix))&&n!==l.namespaceURI)throw af(l.namespaceURI);break a;case 57:l=Ij(b,n).next(0).value.value;l=new Ab(\"\",null,l);break a}l=void 0}return B({H:[],fa:qf([new uj(g.value,l)],f.value.fa,k.value.fa)})}}};Kj.prototype.P=function(a){this.j=Ff(a);rf.prototype.P.call(this,a)};function Lj(a,b,c){var d,e,f;return{next:function(){if(!d){var g=c.next(0),k=Bj([g.value.H],a,bf);d={attributes:k.attributes.map(function(l){return{node:l,F:null}}),Ta:k.Ta.map(function(l){return{node:l,F:null}})};e=g.value.fa}k=b.next(0);if(0===k.value.H.length)throw cf();if(1!==k.value.H.length)throw Xe();if(!(C(k.value.H[0].type,54)||C(k.value.H[0].type,47)||C(k.value.H[0].type,56)||C(k.value.H[0].type,58)||C(k.value.H[0].type,57)))throw Xe();f=Ub(a.h,k.value.H[0].value,null);if(null===f)throw Error(\"XUDY0009: The target \"+\nk.value.H[0].value.outerHTML+\" for replacing a node must have a parent.\");g=k.value.H[0];k=k.value.fa;if(C(g.type,47)){if(d.Ta.length)throw Error(\"XUTY0011: When replacing an attribute the new value must be zero or more attribute nodes.\");d.attributes.reduce(function(l,n){var q=n.node.prefix||\"\";n=n.node.namespaceURI;var u=f.node.lookupNamespaceURI(q);if(u&&u!==n)throw af(n);if((u=l[q])&&n!==u)throw bf(n);l[q]=n;return l},{})}else if(d.attributes.length)throw Error(\"XUTY0010: When replacing an an element, text, comment, or processing instruction node the new value must be a single node.\");\nreturn B({H:[],fa:qf([yj(g.value,[].concat(d.attributes,d.Ta))],e,k)})}}}\nfunction Mj(a,b,c){var d,e,f,g,k=!1;return{next:function(){if(k)return z;if(!f){var l=c.next(0),n=Vc(E.create(l.value.H),a).map(function(q){return Kd(q,1)}).M().map(function(q){return q.value}).join(\" \");f=0===n.length?null:{node:a.s.createTextNode(n),F:null};g=l.value.fa}if(!d){l=b.next(0);if(0===l.value.H.length)throw cf();if(1!==l.value.H.length)throw Xe();if(!(C(l.value.H[0].type,54)||C(l.value.H[0].type,47)||C(l.value.H[0].type,56)||C(l.value.H[0].type,58)||C(l.value.H[0].type,57)))throw Xe();\nd=l.value.H[0];e=l.value.fa}if(C(d.type,54))return k=!0,B({H:[],fa:qf([new vj(d.value,f)],g,e)});if(C(d.type,47)||C(d.type,56)||C(d.type,58)||C(d.type,57)){l=f?Qb(a.h,f):\"\";if(C(d.type,58)&&(l.includes(\"--\")||l.endsWith(\"-\")))throw Error('XQDY0072: The content \"'+l+'\" for a comment node contains two adjacent hyphens or ends with a hyphen.');if(C(d.type,57)&&l.includes(\"?>\"))throw Error('XQDY0026: The content \"'+l+'\" for a processing instruction node contains \"?>\".');k=!0;return B({H:[],fa:qf([new xj(d.value,\nl)],g,e)})}}}}function Nj(a,b,c){rf.call(this,new yf({}),[b,c],{C:!1,S:\"unsorted\"});this.J=a;this.j=b;this.B=c}x(Nj,rf);Nj.prototype.u=function(a,b){var c=sf(this.j)(a,b);a=sf(this.B)(a,b);return this.J?Mj(b,c,a):Lj(b,c,a)};function Oj(a){switch(a.type){case \"delete\":return new mj({node:a.target,F:null});case \"insertAfter\":return new oj({node:a.target,F:null},a.content.map(function(b){return{node:b,F:null}}));case \"insertBefore\":return new qj({node:a.target,F:null},a.content.map(function(b){return{node:b,F:null}}));case \"insertInto\":return new tj({node:a.target,F:null},a.content.map(function(b){return{node:b,F:null}}));case \"insertIntoAsFirst\":return new rj({node:a.target,F:null},a.content.map(function(b){return{node:b,\nF:null}}));case \"insertIntoAsLast\":return new sj({node:a.target,F:null},a.content.map(function(b){return{node:b,F:null}}));case \"insertAttributes\":return new pj({node:a.target,F:null},a.content.map(function(b){return{node:b,F:null}}));case \"rename\":return new uj({node:a.target,F:null},a.newName);case \"replaceNode\":return new wj({node:a.target,F:null},a.replacement.map(function(b){return{node:b,F:null}}));case \"replaceValue\":return new xj({node:a.target,F:null},a[\"string-value\"]);case \"replaceElementContent\":return new vj({node:a.target,\nF:null},a.text?{node:a.text,F:null}:null);default:throw Error('Unexpected type \"'+a.type+'\" when parsing a transferable pending update.');}};function Pj(a,b,c){if(b.find(function(e){return Nd(e,a)}))return!0;var d=Ub(c,a);return d?Pj(d,b,c):!1}function Qj(a,b,c){rf.call(this,new yf({}),a.reduce(function(d,e){d.push(e.eb);return d},[b,c]),{C:!1,S:\"unsorted\"});this.j=a;this.J=b;this.B=c;this.I=null}x(Qj,rf);Qj.prototype.h=function(a,b){a=this.u(a,b);return tf(a,function(){})};\nQj.prototype.u=function(a,b){var c=this,d=b.h,e=b.s,f=b.A,g=[],k,l,n,q=[],u=[];return{next:function(){if(q.length!==c.j.length)for(var v={},A=q.length;A<c.j.length;v={gb:v.gb},A++){var G=c.j[A],H=g[A];H||(g[A]=H=sf(G.eb)(a,b));H=H.next(0);if(1!==H.value.H.length||!C(H.value.H[0].type,53))throw Error(\"XUTY0013: The source expression of a copy modify expression must return a single node.\");v.gb=Zb(gj(H.value.H[0].value,b));q.push(v.gb.value);u.push(H.value.fa);H={};a=Kc(a,(H[G.Ec]=function(L){return function(){return E.o(L.gb)}}(v),\nH))}n||(k||(k=sf(c.J)(a,b)),n=k.next(0).value.fa);n.forEach(function(L){if(L.target&&!Pj(L.target,q,d))throw Error(\"XUDY0014: The target \"+L.target.node.outerHTML+\" must be a node created by the copy clause.\");if(\"put\"===L.type)throw Error(\"XUDY0037: The modify expression of a copy modify expression can not contain a fn:put.\");});v=n.map(function(L){L=L.h(b);return Oj(L)});of(v,d,e,f);l||(l=sf(c.B)(a,b));v=l.next(0);return B({H:v.value.H,fa:qf.apply(null,[v.value.fa].concat(w(u)))})}}};\nQj.prototype.P=function(a){yg(a);this.j.forEach(function(b){return b.Ec=Cg(a,b.Nb.namespaceURI,b.Nb.localName)});rf.prototype.P.call(this,a);Eg(a);this.I=this.j.some(function(b){return b.eb.I})||this.B.I};function Rj(a,b){return{node:{nodeType:2,Qa:!0,nodeName:a.va(),namespaceURI:a.namespaceURI,prefix:a.prefix,localName:a.localName,name:a.va(),value:b},F:null}}function Sj(a,b){var c=b.tb||[];c=c.concat(a.Ka||[]);I.call(this,new yf({}),c,{C:!1,S:\"unsorted\"});a.Ka?this.u=a.Ka:this.name=new Ab(a.prefix,a.namespaceURI,a.localName);this.j=b;this.B=void 0}x(Sj,I);\nSj.prototype.h=function(a,b){var c=this,d,e,f,g=!1;return E.create({next:function(){if(g)return z;if(!e){if(c.u){if(!d){var k=c.u.h(a,b);d=Jj(c.B,b,k)}e=d.next(0).value.value}else e=c.name;if(e){if(\"xmlns\"===e.prefix)throw og(e);if(\"\"===e.prefix&&\"xmlns\"===e.localName)throw og(e);if(\"http://www.w3.org/2000/xmlns/\"===e.namespaceURI)throw og(e);if(\"xml\"===e.prefix&&\"http://www.w3.org/XML/1998/namespace\"!==e.namespaceURI)throw og(e);if(\"\"!==e.prefix&&\"xml\"!==e.prefix&&\"http://www.w3.org/XML/1998/namespace\"===\ne.namespaceURI)throw og(e);}}if(c.j.tb)return k=c.j.tb,f||(f=Mc(k.map(function(l){return Vc(l.h(a,b),b).L(function(n){return E.o(y(n.map(function(q){return q.value}).join(\" \"),1))})})).L(function(l){return E.o(Zb(Rj(e,l.map(function(n){return n.value}).join(\"\"))))}).value),f.next(0);g=!0;return B(Zb(Rj(e,c.j.value)))}})};\nSj.prototype.P=function(a){this.B=Ff(a);if(this.name&&this.name.prefix&&!this.name.namespaceURI){var b=a.ba(this.name.prefix);if(void 0===b&&this.name.prefix)throw Qc(this.name.prefix);this.name.namespaceURI=b||null}I.prototype.P.call(this,a)};function Tj(a){I.call(this,a?a.s:new yf({}),a?[a]:[],{C:!1,S:\"unsorted\"});this.j=a}x(Tj,I);Tj.prototype.h=function(a,b){var c={data:\"\",Qa:!0,nodeType:8},d={node:c,F:null};if(!this.j)return E.o(Zb(d));a=J(this.j,a,b);return Vc(a,b).L(function(e){e=e.map(function(f){return Kd(f,1).value}).join(\" \");if(-1!==e.indexOf(\"--\\x3e\"))throw Error('XQDY0072: The contents of the data of a comment may not include \"--\\x3e\"');c.data=e;return E.o(Zb(d))})};function Uj(a,b,c,d){I.call(this,new yf({}),d.concat(b).concat(a.Ka||[]),{C:!1,S:\"unsorted\"});a.Ka?this.u=a.Ka:this.j=new Ab(a.prefix,a.namespaceURI,a.localName);this.T=c.reduce(function(e,f){if(f.prefix in e)throw Error(\"XQST0071: The namespace declaration with the prefix \"+f.prefix+\" has already been declared on the constructed element.\");e[f.prefix||\"\"]=f.uri;return e},{});this.J=b;this.ka=d;this.B=void 0}x(Uj,I);\nUj.prototype.h=function(a,b){var c=this,d=!1,e,f,g=!1,k,l,n,q=!1;return E.create({next:function(){if(q)return z;d||(e||(e=Mc(c.J.map(function(L){return J(L,a,b)}))),f=e.M(),d=!0);if(!g){k||(k=c.ka.map(function(L){return J(L,a,b)}));for(var u=[],v=0;v<k.length;v++){var A=k[v].M();u.push(A)}l=u;g=!0}c.u&&(n||(u=c.u.h(a,b),n=Jj(c.B,b,u)),u=n.next(0),c.j=u.value.value);if(\"xmlns\"===c.j.prefix||\"http://www.w3.org/2000/xmlns/\"===c.j.namespaceURI||\"xml\"===c.j.prefix&&\"http://www.w3.org/XML/1998/namespace\"!==\nc.j.namespaceURI||c.j.prefix&&\"xml\"!==c.j.prefix&&\"http://www.w3.org/XML/1998/namespace\"===c.j.namespaceURI)throw Error('XQDY0096: The node name \"'+c.j.va()+'\" is invalid for a computed element constructor.');var G={nodeType:1,Qa:!0,attributes:[],childNodes:[],nodeName:c.j.va(),namespaceURI:c.j.namespaceURI,prefix:c.j.prefix,localName:c.j.localName};u={node:G,F:null};f.forEach(function(L){G.attributes.push(L.value.node)});v=Bj(l,b,ng);v.attributes.forEach(function(L){if(G.attributes.find(function(fa){return fa.namespaceURI===\nL.namespaceURI&&fa.localName===L.localName}))throw Error(\"XQDY0025: The attribute \"+L.name+\" does not have an unique name in the constructed element.\");G.attributes.push(L)});v.Ta.forEach(function(L){G.childNodes.push(L)});for(v=0;v<G.childNodes.length;v++)if(A=G.childNodes[v],Kb(A)&&3===A.nodeType){var H=G.childNodes[v-1];H&&Kb(H)&&3===H.nodeType&&(H.data+=A.data,G.childNodes.splice(v,1),v--)}q=!0;return B(Zb(u))}})};\nUj.prototype.P=function(a){var b=this;yg(a);Object.keys(this.T).forEach(function(d){return Bg(a,d,b.T[d])});this.ha.forEach(function(d){return d.P(a)});this.J.reduce(function(d,e){if(e.name){e=\"Q{\"+(null===e.name.namespaceURI?a.ba(e.name.prefix):e.name.namespaceURI)+\"}\"+e.name.localName;if(d.includes(e))throw Error(\"XQST0040: The attribute \"+e+\" does not have an unique name in the constructed element.\");d.push(e)}return d},[]);if(this.j&&null===this.j.namespaceURI){var c=a.ba(this.j.prefix);if(void 0===\nc&&this.j.prefix)throw Qc(this.j.prefix);this.j.namespaceURI=c}this.B=Ff(a);Eg(a)};function Vj(a){if(/^xml$/i.test(a))throw Error('XQDY0064: The target of a created PI may not be \"'+a+'\"');}function Wj(a,b){return{node:{data:b,Qa:!0,nodeName:a,nodeType:7,target:a},F:null}}function Xj(a,b){var c=a.Cb?[a.Cb].concat(b):[b];I.call(this,c.reduce(function(d,e){return d.add(e.s)},new yf({})),c,{C:!1,S:\"unsorted\"});this.j=a;this.u=b}x(Xj,I);\nXj.prototype.h=function(a,b){var c=this,d=J(this.u,a,b);return Vc(d,b).L(function(e){var f=e.map(function(k){return Kd(k,1).value}).join(\" \");if(-1!==f.indexOf(\"?>\"))throw Error('XQDY0026: The contents of the data of a processing instruction may not include \"?>\"');if(null!==c.j.Jb)return e=c.j.Jb,Vj(e),E.o(Zb(Wj(e,f)));e=J(c.j.Cb,a,b);var g=Ij(b,e);return E.create({next:function(){var k=g.next(0);if(k.done)return k;k=k.value.value;Vj(k);return B(Zb(Wj(k,f)))}})})};function Yj(a){I.call(this,a?a.s:new yf({}),a?[a]:[],{C:!1,S:\"unsorted\"});this.j=a}x(Yj,I);Yj.prototype.h=function(a,b){if(!this.j)return E.empty();a=J(this.j,a,b);return Vc(a,b).L(function(c){if(0===c.length)return E.empty();c={node:{data:c.map(function(d){return Kd(d,1).value}).join(\" \"),Qa:!0,nodeType:3},F:null};return E.o(Zb(c))})};function Zj(a,b,c,d){var e=new yf({}),f;uf.call(this,e,(f=[a].concat(w(b.map(function(g){return g.xc})),[c])).concat.apply(f,w(b.map(function(g){return g.Lb.map(function(k){return k.Kb})}))),{C:!1,Y:!1,S:\"unsorted\",subtree:!1},d);this.J=a;this.j=b.length;this.T=b.map(function(g){return g.Lb})}x(Zj,uf);\nZj.prototype.B=function(a,b,c){var d=this;return c[0](a).L(function(e){for(var f=0;f<d.j;f++)if(d.T[f].some(function(g){switch(g.Cc){case \"?\":if(1<e.length)return!1;break;case \"*\":break;case \"+\":if(1>e.length)return!1;break;default:if(1!==e.length)return!1}var k=E.create(e);return e.every(function(l,n){l=Hc(a,n,l,k);return J(g.Kb,l,b).getEffectiveBooleanValue()})}))return c[f+1](a);return c[d.j+1](a)})};Zj.prototype.P=function(a){uf.prototype.P.call(this,a);if(this.J.I)throw Te();};var ak={aa:!1,qa:!1},bk={aa:!0,qa:!1},ck={aa:!0,qa:!0};function dk(a){return a.aa?a.qa?ck:bk:ak}\nfunction U(a,b){switch(a[0]){case \"andOp\":var c=O(a,\"type\");return new gi(ek(\"andOp\",a,dk(b)),c);case \"orOp\":return c=O(a,\"type\"),new hi(ek(\"orOp\",a,dk(b)),c);case \"unaryPlusOp\":return c=M(M(a,\"operand\"),\"*\"),a=O(a,\"type\"),new fi(\"+\",U(c,b),a);case \"unaryMinusOp\":return c=M(M(a,\"operand\"),\"*\"),a=O(a,\"type\"),new fi(\"-\",U(c,b),a);case \"addOp\":case \"subtractOp\":case \"multiplyOp\":case \"divOp\":case \"idivOp\":case \"modOp\":var d=a[0],e=U(P(a,[\"firstOperand\",\"*\"]),dk(b));b=U(P(a,[\"secondOperand\",\"*\"]),dk(b));\nvar f=O(a,\"type\"),g=O(P(a,[\"firstOperand\",\"*\"]),\"type\"),k=O(P(a,[\"secondOperand\",\"*\"]),\"type\");g&&k&&O(a,\"type\")&&(c=Pg(d,g.type,k.type));return new Yg(d,e,b,f,c);case \"sequenceExpr\":return fk(a,b);case \"unionOp\":return c=O(a,\"type\"),new Mi([U(P(a,[\"firstOperand\",\"*\"]),dk(b)),U(P(a,[\"secondOperand\",\"*\"]),dk(b))],c);case \"exceptOp\":case \"intersectOp\":return c=O(a,\"type\"),new Ci(a[0],U(P(a,[\"firstOperand\",\"*\"]),dk(b)),U(P(a,[\"secondOperand\",\"*\"]),dk(b)),c);case \"stringConcatenateOp\":return gk(a,b);\ncase \"rangeSequenceExpr\":return hk(a,b);case \"equalOp\":case \"notEqualOp\":case \"lessThanOrEqualOp\":case \"lessThanOp\":case \"greaterThanOrEqualOp\":case \"greaterThanOp\":return ik(\"generalCompare\",a,b);case \"eqOp\":case \"neOp\":case \"ltOp\":case \"leOp\":case \"gtOp\":case \"geOp\":return ik(\"valueCompare\",a,b);case \"isOp\":case \"nodeBeforeOp\":case \"nodeAfterOp\":return ik(\"nodeCompare\",a,b);case \"pathExpr\":return jk(a,b);case \"contextItemExpr\":return new Ri(O(a,\"type\"));case \"functionCallExpr\":return kk(a,b);case \"inlineFunctionExpr\":return lk(a,\nb);case \"arrowExpr\":return mk(a,b);case \"dynamicFunctionInvocationExpr\":return nk(a,b);case \"namedFunctionRef\":return b=M(a,\"functionName\"),c=O(a,\"type\"),a=N(P(a,[\"integerConstantExpr\",\"value\"])),new ci(Fg(b),parseInt(a,10),c);case \"integerConstantExpr\":return new ai(N(M(a,\"value\")),{type:5,g:3});case \"stringConstantExpr\":return new ai(N(M(a,\"value\")),{type:1,g:3});case \"decimalConstantExpr\":return new ai(N(M(a,\"value\")),{type:4,g:3});case \"doubleConstantExpr\":return new ai(N(M(a,\"value\")),{type:3,\ng:3});case \"varRef\":return a=Fg(M(a,\"name\")),new ej(a.prefix,a.namespaceURI,a.localName);case \"flworExpr\":return ok(a,b);case \"quantifiedExpr\":return pk(a,b);case \"ifThenElseExpr\":return c=O(a,\"type\"),new Sh(U(M(M(a,\"ifClause\"),\"*\"),dk(b)),U(M(M(a,\"thenClause\"),\"*\"),b),U(M(M(a,\"elseClause\"),\"*\"),b),c);case \"instanceOfExpr\":return c=U(P(a,[\"argExpr\",\"*\"]),b),d=P(a,[\"sequenceType\",\"*\"]),e=P(a,[\"sequenceType\",\"occurrenceIndicator\"]),a=O(a,\"type\"),new Ii(c,U(d,dk(b)),e?N(e):\"\",a);case \"castExpr\":return b=\nU(M(M(a,\"argExpr\"),\"*\"),dk(b)),c=M(a,\"singleType\"),a=Fg(M(c,\"atomicType\")),c=null!==M(c,\"optional\"),new Gi(b,a,c);case \"castableExpr\":return b=U(M(M(a,\"argExpr\"),\"*\"),dk(b)),c=M(a,\"singleType\"),a=Fg(M(c,\"atomicType\")),c=null!==M(c,\"optional\"),new Fi(b,a,c);case \"simpleMapExpr\":return qk(a,b);case \"mapConstructor\":return rk(a,b);case \"arrayConstructor\":return sk(a,b);case \"unaryLookup\":return c=O(a,\"type\"),new Yi(tk(a,b),c);case \"typeswitchExpr\":return uk(a,b);case \"elementConstructor\":return vk(a,\nb);case \"attributeConstructor\":return wk(a,b);case \"computedAttributeConstructor\":return(c=M(a,\"tagName\"))?c=Fg(c):(c=M(a,\"tagNameExpr\"),c={Ka:U(M(c,\"*\"),dk(b))}),a=U(M(M(a,\"valueExpr\"),\"*\"),dk(b)),new Sj(c,{tb:[a]});case \"computedCommentConstructor\":if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");a=(a=M(a,\"argExpr\"))?U(M(a,\"*\"),dk(b)):null;return new Tj(a);case \"computedTextConstructor\":if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");\na=(a=M(a,\"argExpr\"))?U(M(a,\"*\"),dk(b)):null;return new Yj(a);case \"computedElementConstructor\":return xk(a,b);case \"computedPIConstructor\":if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");c=M(a,\"piTargetExpr\");d=M(a,\"piTarget\");e=M(a,\"piValueExpr\");a=O(a,\"type\");return new Xj({Cb:c?U(M(c,\"*\"),dk(b)):null,Jb:d?N(d):null},e?U(M(e,\"*\"),dk(b)):new Di([],a));case \"CDataSection\":return new ai(N(a),{type:1,g:3});case \"deleteExpr\":return a=U(P(a,[\"targetExpr\",\n\"*\"]),b),new zj(a);case \"insertExpr\":c=U(P(a,[\"sourceExpr\",\"*\"]),b);e=Q(a,\"*\")[1];switch(e[0]){case \"insertAfter\":d=1;break;case \"insertBefore\":d=2;break;case \"insertInto\":d=(d=M(e,\"*\"))?\"insertAsFirst\"===d[0]?4:5:3}a=U(P(a,[\"targetExpr\",\"*\"]),b);return new Dj(c,d,a);case \"renameExpr\":return c=U(P(a,[\"targetExpr\",\"*\"]),b),a=U(P(a,[\"newNameExpr\",\"*\"]),b),new Kj(c,a);case \"replaceExpr\":return c=!!M(a,\"replaceValue\"),d=U(P(a,[\"targetExpr\",\"*\"]),b),a=U(P(a,[\"replacementExpr\",\"*\"]),b),new Nj(c,d,a);case \"transformExpr\":return yk(a,\nb);case \"x:stackTrace\":c=a[1];for(a=a[2];\"x:stackTrace\"===a[0];)a=a[2];return new Uh(c,a[0],U(a,b));default:return zk(a)}}\nfunction zk(a){switch(a[0]){case \"nameTest\":return new bj(Fg(a));case \"piTest\":return(a=M(a,\"piTarget\"))?new cj(N(a)):new aj(7);case \"commentTest\":return new aj(8);case \"textTest\":return new aj(3);case \"documentTest\":return new aj(9);case \"attributeTest\":var b=(a=M(a,\"attributeName\"))&&M(a,\"star\");return!a||b?new aj(2):new bj(Fg(M(a,\"QName\")),{kind:2});case \"elementTest\":return b=(a=M(a,\"elementName\"))&&M(a,\"star\"),!a||b?new aj(1):new bj(Fg(M(a,\"QName\")),{kind:1});case \"anyKindTest\":return new dj({prefix:\"\",\nnamespaceURI:null,localName:\"node()\"});case \"anyMapTest\":return new dj({prefix:\"\",namespaceURI:null,localName:\"map(*)\"});case \"anyArrayTest\":return new dj({prefix:\"\",namespaceURI:null,localName:\"array(*)\"});case \"Wildcard\":return M(a,\"star\")?(b=M(a,\"uri\"))?a=new bj({localName:\"*\",namespaceURI:N(b),prefix:\"\"}):(b=M(a,\"NCName\"),a=\"star\"===M(a,\"*\")[0]?new bj({localName:N(b),namespaceURI:null,prefix:\"*\"}):new bj({localName:\"*\",namespaceURI:null,prefix:N(b)})):a=new bj({localName:\"*\",namespaceURI:null,\nprefix:\"*\"}),a;case \"atomicType\":return new dj(Fg(a));case \"anyItemType\":return new dj({prefix:\"\",namespaceURI:null,localName:\"item()\"});default:throw Error(\"No selector counterpart for: \"+a[0]+\".\");}}function sk(a,b){var c=O(a,\"type\");a=M(a,\"*\");var d=Q(a,\"arrayElem\").map(function(e){return U(M(e,\"*\"),dk(b))});switch(a[0]){case \"curlyArray\":return new uh(d,c);case \"squareArray\":return new vh(d,c);default:throw Error(\"Unrecognized arrayType: \"+a[0]);}}\nfunction rk(a,b){var c=O(a,\"type\");return new bi(Q(a,\"mapConstructorEntry\").map(function(d){return{key:U(P(d,[\"mapKeyExpr\",\"*\"]),dk(b)),value:U(P(d,[\"mapValueExpr\",\"*\"]),dk(b))}}),c)}function ek(a,b,c){function d(f){var g=M(M(f,\"firstOperand\"),\"*\");f=M(M(f,\"secondOperand\"),\"*\");g[0]===a?d(g):e.push(U(g,c));f[0]===a?d(f):e.push(U(f,c))}var e=[];d(b);return e}function tk(a,b){a=M(a,\"*\");switch(a[0]){case \"NCName\":return new ai(N(a),{type:1,g:3});case \"star\":return\"*\";default:return U(a,dk(b))}}\nfunction ik(a,b,c){var d=P(b,[\"firstOperand\",\"*\"]),e=P(b,[\"secondOperand\",\"*\"]);d=U(d,dk(c));c=U(e,dk(c));switch(a){case \"valueCompare\":return new ti(b[0],d,c);case \"nodeCompare\":return new Ai(b[0],d,c);case \"generalCompare\":return new xi(b[0],d,c)}}\nfunction Ak(a,b,c){a=Q(a,\"*\");return new Pi(a.filter(function(d){return\"stable\"!==d[0]}).map(function(d){var e=M(d,\"orderModifier\"),f=e?M(e,\"orderingKind\"):null;e=e?M(e,\"emptyOrderingMode\"):null;f=f?\"ascending\"===N(f):!0;e=e?\"empty least\"===N(e):!0;return{da:U(P(d,[\"orderByExpr\",\"*\"]),b),Gb:f,zc:e}}),c)}\nfunction ok(a,b){var c=Q(a,\"*\");a=M(c[c.length-1],\"*\");c=c.slice(0,-1);if(1<c.length&&!b.aa)throw Error(\"XPST0003: Use of XQuery FLWOR expressions in XPath is no allowed\");return c.reduceRight(function(d,e){switch(e[0]){case \"forClause\":e=Q(e,\"*\");for(var f=e.length-1;0<=f;--f){var g=e[f],k=P(g,[\"forExpr\",\"*\"]),l=M(g,\"positionalVariableBinding\");d=new Yh(Fg(P(g,[\"typedVariableBinding\",\"varName\"])),U(k,dk(b)),l?Fg(l):null,d)}return d;case \"letClause\":e=Q(e,\"*\");for(f=e.length-1;0<=f;--f)g=e[f],k=P(g,\n[\"letExpr\",\"*\"]),d=new $h(Fg(P(g,[\"typedVariableBinding\",\"varName\"])),U(k,dk(b)),d);return d;case \"whereClause\":e=Q(e,\"*\");for(f=e.length-1;0<=f;--f)d=new fj(U(e[f],b),d);return d;case \"windowClause\":throw Error(\"Not implemented: \"+e[0]+\" is not implemented yet.\");case \"groupByClause\":throw Error(\"Not implemented: \"+e[0]+\" is not implemented yet.\");case \"orderByClause\":return Ak(e,b,d);case \"countClause\":throw Error(\"Not implemented: \"+e[0]+\" is not implemented yet.\");default:throw Error(\"Not implemented: \"+\ne[0]+\" is not supported in a flwor expression\");}},U(a,b))}function kk(a,b){var c=M(a,\"functionName\"),d=Q(M(a,\"arguments\"),\"*\");a=O(a,\"type\");return new Ef(new ci(Fg(c),d.length,a),d.map(function(e){return\"argumentPlaceholder\"===e[0]?null:U(e,b)}),a)}\nfunction mk(a,b){var c=O(a,\"type\"),d=P(a,[\"argExpr\",\"*\"]);a=Q(a,\"*\").slice(1);d=[U(d,b)];for(var e=0;e<a.length;e++)if(\"arguments\"!==a[e][0]){if(\"arguments\"===a[e+1][0]){var f=Q(a[e+1],\"*\");d=d.concat(f.map(function(g){return\"argumentPlaceholder\"===g[0]?null:U(g,b)}))}f=\"EQName\"===a[e][0]?new ci(Fg(a[e]),d.length,c):U(a[e],dk(b));d=[new Ef(f,d,c)]}return d[0]}\nfunction nk(a,b){var c=P(a,[\"functionItem\",\"*\"]),d=O(a,\"type\");a=M(a,\"arguments\");var e=[];a&&(e=Q(a,\"*\").map(function(f){return\"argumentPlaceholder\"===f[0]?null:U(f,b)}));return new Ef(U(c,b),e,d)}function lk(a,b){var c=Q(M(a,\"paramList\"),\"*\"),d=P(a,[\"functionBody\",\"*\"]),e=O(a,\"type\");return new Zh(c.map(function(f){return{name:Fg(M(f,\"varName\")),type:Gg(f)}}),Gg(a),d?U(d,b):new Di([],e))}\nfunction jk(a,b){var c=O(a,\"type\"),d=Q(a,\"stepExpr\"),e=!1,f=d.map(function(g){var k=M(g,\"xpathAxis\"),l=Q(g,\"*\"),n=[],q=null;l=t(l);for(var u=l.next();!u.done;u=l.next())switch(u=u.value,u[0]){case \"lookup\":n.push([\"lookup\",tk(u,b)]);break;case \"predicate\":case \"predicates\":u=t(Q(u,\"*\"));for(var v=u.next();!v.done;v=u.next())v=U(v.value,dk(b)),q=Ah(q,v.A()),n.push([\"predicate\",v])}if(k)switch(e=!0,g=M(g,\"attributeTest anyElementTest piTest documentTest elementTest commentTest namespaceTest anyKindTest textTest anyFunctionTest typedFunctionTest schemaAttributeTest atomicType anyItemType parenthesizedItemType typedMapTest typedArrayTest nameTest Wildcard\".split(\" \")),\ng=zk(g),N(k)){case \"ancestor\":var A=new yh(g,{Oa:!1});break;case \"ancestor-or-self\":A=new yh(g,{Oa:!0});break;case \"attribute\":A=new Bh(g,q);break;case \"child\":A=new Ch(g,q);break;case \"descendant\":A=new Fh(g,{Oa:!1});break;case \"descendant-or-self\":A=new Fh(g,{Oa:!0});break;case \"parent\":A=new Mh(g,q);break;case \"following-sibling\":A=new Lh(g,q);break;case \"preceding-sibling\":A=new Qh(g,q);break;case \"following\":A=new Jh(g);break;case \"preceding\":A=new Oh(g);break;case \"self\":A=new Rh(g,q)}else A=\nP(g,[\"filterExpr\",\"*\"]),A=U(A,dk(b));n=t(n);for(k=n.next();!k.done;k=n.next())switch(k=k.value,k[0]){case \"lookup\":A=new Xi(A,k[1]);break;case \"predicate\":A=new Ui(A,k[1])}A.type=c;return A});a=M(a,\"rootExpr\");d=e||null!==a||1<d.length;if(!d&&1===f.length||!a&&1===f.length&&\"sorted\"===f[0].O)return f[0];if(a&&0===f.length)return new Qi(null);f=new Ti(f,d);return a?new Qi(f):f}\nfunction pk(a,b){var c=O(a,\"type\"),d=N(M(a,\"quantifier\")),e=P(a,[\"predicateExpr\",\"*\"]);a=Q(a,\"quantifiedExprInClause\").map(function(f){var g=Fg(P(f,[\"typedVariableBinding\",\"varName\"]));f=P(f,[\"sourceExpr\",\"*\"]);return{name:g,eb:U(f,dk(b))}});return new Zi(d,a,U(e,dk(b)),c)}function fk(a,b){var c=Q(a,\"*\").map(function(d){return U(d,b)});if(1===c.length)return c[0];c=O(a,\"type\");return new Di(Q(a,\"*\").map(function(d){return U(d,b)}),c)}\nfunction qk(a,b){var c=O(a,\"type\");return Q(a,\"*\").reduce(function(d,e){return null===d?U(e,dk(b)):new Ei(d,U(e,dk(b)),c)},null)}function gk(a,b){var c=O(a,\"type\");a=[P(a,[\"firstOperand\",\"*\"]),P(a,[\"secondOperand\",\"*\"])];return new Ef(new ci({localName:\"concat\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",prefix:\"\"},a.length,c),a.map(function(d){return U(d,dk(b))}),c)}\nfunction hk(a,b){var c=O(a,\"type\");a=[M(M(a,\"startExpr\"),\"*\"),M(M(a,\"endExpr\"),\"*\")];var d=new ci({localName:\"to\",namespaceURI:\"http://fontoxpath/operators\",prefix:\"\"},a.length,c);return new Ef(d,a.map(function(e){return U(e,dk(b))}),c)}\nfunction vk(a,b){if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");var c=Fg(M(a,\"tagName\")),d=M(a,\"attributeList\"),e=d?Q(d,\"attributeConstructor\").map(function(f){return U(f,dk(b))}):[];d=d?Q(d,\"namespaceDeclaration\").map(function(f){var g=M(f,\"prefix\");return{prefix:g?N(g):\"\",uri:N(M(f,\"uri\"))}}):[];a=(a=M(a,\"elementContent\"))?Q(a,\"*\").map(function(f){return U(f,dk(b))}):[];return new Uj(c,e,d,a)}\nfunction wk(a,b){if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");var c=Fg(M(a,\"attributeName\")),d=M(a,\"attributeValue\");d=d?N(d):null;a=(a=M(a,\"attributeValueExpr\"))?Q(a,\"*\").map(function(e){return U(e,dk(b))}):null;return new Sj(c,{value:d,tb:a})}function xk(a,b){var c=M(a,\"tagName\");c?c=Fg(c):(c=M(a,\"tagNameExpr\"),c={Ka:U(M(c,\"*\"),dk(b))});a=(a=M(a,\"contentExpr\"))?Q(a,\"*\").map(function(d){return U(d,dk(b))}):[];return new Uj(c,[],[],a)}\nfunction yk(a,b){var c=Q(M(a,\"transformCopies\"),\"transformCopy\").map(function(e){var f=Fg(M(M(e,\"varRef\"),\"name\"));return{eb:U(M(M(e,\"copySource\"),\"*\"),b),Nb:new Ab(f.prefix,f.namespaceURI,f.localName)}}),d=U(M(M(a,\"modifyExpr\"),\"*\"),b);a=U(M(M(a,\"returnExpr\"),\"*\"),b);return new Qj(c,d,a)}\nfunction uk(a,b){if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");var c=O(a,\"type\"),d=U(M(M(a,\"argExpr\"),\"*\"),b),e=Q(a,\"typeswitchExprCaseClause\").map(function(f){var g=0===Q(f,\"sequenceTypeUnion\").length?[M(f,\"sequenceType\")]:Q(M(f,\"sequenceTypeUnion\"),\"sequenceType\");return{xc:U(P(f,[\"resultExpr\",\"*\"]),b),Lb:g.map(function(k){var l=M(k,\"occurrenceIndicator\");return{Cc:l?N(l):\"\",Kb:U(M(k,\"*\"),b)}})}});a=U(P(a,[\"typeswitchExprDefaultClause\",\"resultExpr\",\n\"*\"]),b);return new Zj(d,e,a,c)}function Bk(a,b){return U(a,b)};var Ck=new Map;function Pk(a,b,c,d,e,f){this.j=a;this.u=b;this.h=c;this.A=d;this.s=e;this.O=f}\nfunction Qk(a,b,c,d,e,f,g,k){a=Ck.get(a);if(!a)return null;b=a[b+(f?\"_DEBUG\":\"\")];return b?(b=b.find(function(l){return l.s===g&&l.j.every(function(n){return c(n.prefix)===n.namespaceURI})&&l.u.every(function(n){return void 0!==d[n.name]})&&l.A.every(function(n){return e[n.prefix]===n.namespaceURI})&&l.O.every(function(n){var q=k(n.Bc,n.arity);return q&&q.namespaceURI===n.Hb.namespaceURI&&q.localName===n.Hb.localName})}))?{da:b.h,Fc:!1}:null:null}\nfunction Rk(a,b,c,d,e,f,g){var k=Ck.get(a);k||(k=Object.create(null),Ck.set(a,k));a=b+(f?\"_DEBUG\":\"\");(b=k[a])||(b=k[a]=[]);b.push(new Pk(Object.values(c.h),Object.values(c.s),e,Object.keys(d).map(function(l){return{namespaceURI:d[l],prefix:l}}),g,c.j))};function Sk(a){var b=new Gb;if(\"http://www.w3.org/2005/XQueryX\"!==a.namespaceURI&&\"http://www.w3.org/2005/XQueryX\"!==a.namespaceURI&&\"http://fontoxml.com/fontoxpath\"!==a.namespaceURI&&\"http://www.w3.org/2007/xquery-update-10\"!==a.namespaceURI)throw Oc(\"The XML structure passed as an XQueryX program was not valid XQueryX\");var c=[\"stackTrace\"===a.localName?\"x:stackTrace\":a.localName],d=b.getAllAttributes(a);d&&0<d.length&&c.push(Array.from(d).reduce(function(e,f){e[f.localName]=\"type\"===f.localName?\nxb(f.value):f.value;return e},{}));a=b.getChildNodes(a);a=t(a);for(b=a.next();!b.done;b=a.next())switch(b=b.value,b.nodeType){case 1:c.push(Sk(b));break;case 3:c.push(b.data)}return c};var Tk=Object.create(null);function Uk(a,b){var c=Tk[a];c||(c=Tk[a]={Ma:[],Ua:[]});c.Ma=c.Ma.concat(b.Ma);c.Ua=c.Ua.concat(b.Ua)}function Vk(a,b){var c=Tk[b];if(!c)throw Error(\"XQST0051: No modules found with the namespace uri \"+b);c.Ma.forEach(function(d){return Ag(a,b,d.localName,d.arity,d.Eb)});c.Ua.forEach(function(d){Cg(a,b,d.localName);Dg(a,b,d.localName,function(e,f){return J(d.da,e,f)})})};function Wk(a){return a.replace(/(\\x0D\\x0A)|(\\x0D(?!\\x0A))/g,String.fromCharCode(10))};var V=prsc;function Xk(a,b){return function(c,d){if(b.has(d))return b.get(d);c=a(c,d);b.set(d,c);return c}}function W(a,b){return V.delimited(b,a,b)}function X(a,b){return a.reverse().reduce(function(c,d){return V.preceded(d,c)},b)}function Yk(a,b,c,d){return V.then(V.then(a,b,function(e,f){return[e,f]}),c,function(e,f){var g=t(e);e=g.next().value;g=g.next().value;return d(e,g,f)})}\nfunction Zk(a,b,c,d,e){return V.then(V.then(V.then(a,b,function(f,g){return[f,g]}),c,function(f,g){var k=t(f);f=k.next().value;k=k.next().value;return[f,k,g]}),d,function(f,g){var k=t(f);f=k.next().value;var l=k.next().value;k=k.next().value;return e(f,l,k,g)})}\nfunction $k(a,b,c,d,e,f){return V.then(V.then(V.then(V.then(a,b,function(g,k){return[g,k]}),c,function(g,k){var l=t(g);g=l.next().value;l=l.next().value;return[g,l,k]}),d,function(g,k){var l=t(g);g=l.next().value;var n=l.next().value;l=l.next().value;return[g,n,l,k]}),e,function(g,k){var l=t(g);g=l.next().value;var n=l.next().value,q=l.next().value;l=l.next().value;return f(g,n,q,l,k)})}function al(a){return V.map(a,function(b){return[b]})}\nfunction bl(a,b){return V.map(V.or(a),function(){return b})}function cl(a){return function(b,c){return(b=a.exec(b.substring(c)))&&0===b.index?V.okWithValue(c+b[0].length,b[0]):V.error(c,[a.source],!1)}};var dl=V.or([V.token(\" \"),V.token(\"\\t\"),V.token(\"\\r\"),V.token(\"\\n\")]),el=V.token(\"(:\"),fl=V.token(\":)\"),gl=V.token(\"(#\"),hl=V.token(\"#)\"),il=V.token(\"(\"),jl=V.token(\")\"),kl=V.token(\"[\"),ll=V.token(\"]\"),ml=V.token(\"{\"),nl=V.token(\"}\"),ol=V.token(\"{{\"),pl=V.token(\"}}\"),ql=V.token(\"'\"),rl=V.token(\"''\"),sl=V.token('\"'),tl=V.token('\"\"'),ul=V.token(\"<![CDATA[\"),vl=V.token(\"]]\\x3e\"),wl=V.token(\"/>\"),xl=V.token(\"</\"),yl=V.token(\"\\x3c!--\"),zl=V.token(\"--\\x3e\"),Al=V.token(\"<?\"),Bl=V.token(\"?>\"),Cl=V.token(\"&#x\"),\nDl=V.token(\"&#\"),El=V.token(\":*\"),Fl=V.token(\"*:\"),Gl=V.token(\":=\"),Hl=V.token(\"&\"),Il=V.token(\":\"),Jl=V.token(\";\"),Kl=V.token(\"*\"),Ll=V.token(\"@\"),Ml=V.token(\"$\"),Nl=V.token(\"#\"),Ol=V.token(\"%\"),Pl=V.token(\"?\"),Ql=V.token(\"!\"),Rl=V.token(\"|\"),Sl=V.token(\"||\"),Tl=V.token(\"=\"),Ul=V.token(\"!=\"),Vl=V.token(\"<\"),Wl=V.token(\"<<\"),Xl=V.token(\"<=\"),Yl=V.token(\">\"),Zl=V.token(\">>\"),$l=V.token(\">=\"),am=V.token(\",\"),bm=V.token(\".\"),cm=V.token(\"..\"),dm=V.token(\"+\"),em=V.token(\"-\"),fm=V.token(\"/\"),gm=V.token(\"//\"),\nhm=V.token(\"=>\"),im=V.token(\"e\"),jm=V.token(\"E\"),km=V.token(\"l\"),lm=V.token(\"L\"),mm=V.token(\"m\"),nm=V.token(\"M\"),om=V.token(\"Q\"),pm=V.token(\"x\"),qm=V.token(\"X\"),rm=V.token(\"as\"),sm=V.token(\"cast\"),tm=V.token(\"castable\"),um=V.token(\"treat\"),vm=V.token(\"instance\"),wm=V.token(\"of\"),xm=V.token(\"node\"),ym=V.token(\"nodes\"),zm=V.token(\"delete\"),Am=V.token(\"value\"),Bm=V.token(\"function\"),Cm=V.token(\"map\"),Dm=V.token(\"element\"),Em=V.token(\"attribute\"),Fm=V.token(\"schema-element\"),Gm=V.token(\"intersect\"),Hm=\nV.token(\"except\"),Im=V.token(\"union\"),Jm=V.token(\"to\"),Km=V.token(\"is\"),Lm=V.token(\"or\"),Mm=V.token(\"and\"),Nm=V.token(\"div\"),Om=V.token(\"idiv\"),Pm=V.token(\"mod\"),Qm=V.token(\"eq\"),Rm=V.token(\"ne\"),Sm=V.token(\"lt\"),Tm=V.token(\"le\"),Um=V.token(\"gt\"),Vm=V.token(\"ge\"),Wm=V.token(\"amp\"),Xm=V.token(\"quot\"),Ym=V.token(\"apos\"),Zm=V.token(\"if\"),$m=V.token(\"then\"),an=V.token(\"else\"),bn=V.token(\"allowing\"),cn=V.token(\"empty\"),dn=V.token(\"at\"),en=V.token(\"in\"),fn=V.token(\"for\"),gn=V.token(\"let\"),hn=V.token(\"where\"),\njn=V.token(\"collation\"),kn=V.token(\"group\"),ln=V.token(\"by\"),mn=V.token(\"order\"),nn=V.token(\"stable\"),on=V.token(\"return\"),pn=V.token(\"array\"),qn=V.token(\"document\"),rn=V.token(\"namespace\"),sn=V.token(\"text\"),tn=V.token(\"comment\"),un=V.token(\"processing-instruction\"),vn=V.token(\"lax\"),wn=V.token(\"strict\"),xn=V.token(\"validate\"),yn=V.token(\"type\"),zn=V.token(\"declare\"),An=V.token(\"default\"),Bn=V.token(\"boundary-space\"),Cn=V.token(\"strip\"),Dn=V.token(\"preserve\"),En=V.token(\"no-preserve\"),Fn=V.token(\"inherit\"),\nGn=V.token(\"no-inherit\"),Hn=V.token(\"greatest\"),In=V.token(\"least\"),Jn=V.token(\"copy-namespaces\"),Kn=V.token(\"decimal-format\"),Ln=V.token(\"case\"),Mn=V.token(\"typeswitch\"),Nn=V.token(\"some\"),On=V.token(\"every\"),Pn=V.token(\"satisfies\"),Qn=V.token(\"replace\"),Rn=V.token(\"with\"),Sn=V.token(\"copy\"),Tn=V.token(\"modify\"),Un=V.token(\"first\"),Vn=V.token(\"last\"),Wn=V.token(\"before\"),Xn=V.token(\"after\"),Yn=V.token(\"into\"),Zn=V.token(\"insert\"),$n=V.token(\"rename\"),ao=V.token(\"switch\"),bo=V.token(\"variable\"),co=\nV.token(\"external\"),eo=V.token(\"updating\"),fo=V.token(\"import\"),go=V.token(\"schema\"),ho=V.token(\"module\"),io=V.token(\"base-uri\"),jo=V.token(\"construction\"),ko=V.token(\"ordering\"),lo=V.token(\"ordered\"),mo=V.token(\"unordered\"),no=V.token(\"option\"),oo=V.token(\"context\"),po=V.token(\"item\"),qo=V.token(\"xquery\"),ro=V.token(\"version\"),so=V.token(\"encoding\"),to=V.token(\"document-node\"),uo=V.token(\"namespace-node\"),vo=V.token(\"schema-attribute\"),wo=V.token(\"ascending\"),xo=V.token(\"descending\"),yo=V.token(\"empty-sequence\"),\nzo=V.token(\"child::\"),Ao=V.token(\"descendant::\"),Bo=V.token(\"attribute::\"),Co=V.token(\"self::\"),Do=V.token(\"descendant-or-self::\"),Eo=V.token(\"following-sibling::\"),Fo=V.token(\"following::\"),Go=V.token(\"parent::\"),Ho=V.token(\"ancestor::\"),Io=V.token(\"preceding-sibling::\"),Jo=V.token(\"preceding::\"),Ko=V.token(\"ancestor-or-self::\"),Lo=V.token(\"decimal-separator\"),Mo=V.token(\"grouping-separator\"),No=V.token(\"infinity\"),Oo=V.token(\"minus-sign\"),Po=V.token(\"NaN\"),Qo=V.token(\"per-mille\"),Ro=V.token(\"zero-digit\"),\nSo=V.token(\"digit\"),To=V.token(\"pattern-separator\"),Uo=V.token(\"exponent-separator\"),Vo=V.token(\"schema-attribute(\"),Wo=V.token(\"document-node(\"),Xo=V.token(\"processing-instruction(\"),Yo=V.token(\"processing-instruction()\"),Zo=V.token(\"comment()\"),$o=V.token(\"text()\"),ap=V.token(\"namespace-node()\"),bp=V.token(\"node()\"),cp=V.token(\"item()\"),dp=V.token(\"empty-sequence()\");var ep=new Map,fp=new Map,gp=V.or([cl(/[\\t\\n\\r -\\uD7FF\\uE000\\uFFFD]/),cl(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/)]),hp=V.preceded(V.peek(V.not(V.or([el,fl]),['comment contents cannot contain \"(:\" or \":)\"'])),gp),ip=V.map(V.delimited(el,V.star(V.or([hp,function(a,b){return ip(a,b)}])),fl),function(a){return a.join(\"\")}),jp=V.or([dl,ip]),kp=V.map(V.plus(dl),function(a){return a.join(\"\")}),Y=Xk(V.map(V.star(jp),function(a){return a.join(\"\")}),ep),Z=Xk(V.map(V.plus(jp),function(a){return a.join(\"\")}),fp);var lp=V.or([cl(/[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]/),V.then(cl(/[\\uD800-\\uDB7F]/),cl(/[\\uDC00-\\uDFFF]/),function(a,b){return a+b})]),mp=V.or([lp,cl(/[\\-\\.0-9\\xB7\\u0300-\\u036F\\u203F\\u2040]/)]),np=V.then(lp,V.star(mp),function(a,b){return a+b.join(\"\")}),op=V.map(np,function(a){return[\"prefix\",a]}),pp=V.or([lp,Il]),qp=V.or([mp,Il]),rp=V.then(pp,V.star(qp),function(a,b){return a+b.join(\"\")}),sp=\nV.map(np,function(a){var b={};return[(b.prefix=\"\",b.URI=null,b),a]}),tp=V.then(np,V.preceded(Il,np),function(a,b){var c={};return[(c.prefix=a,c.URI=null,c),b]}),up=V.or([tp,sp]),vp=V.followed(X([om,Y,ml],V.map(V.star(cl(/[^{}]/)),function(a){return a.join(\"\").replace(/\\s+/g,\" \").trim()})),nl),wp=V.then(vp,np,function(a,b){return[a,b]}),xp=V.or([V.map(wp,function(a){var b={};return[(b.prefix=null,b.URI=a[0],b),a[1]]}),up]),yp=V.or([V.map(xp,function(a){return[\"QName\"].concat(w(a))}),V.map(Kl,function(){return[\"star\"]})]),\nzp=V.map(V.preceded(Ml,xp),function(a){return[\"varRef\",[\"name\"].concat(w(a))]});var Ap=V.peek(V.or([il,sl,ql,jp])),Bp=V.map(V.or([zo,Ao,Bo,Co,Do,Eo,Fo]),function(a){return a.substring(0,a.length-2)}),Cp=V.map(V.or([Go,Ho,Io,Jo,Ko]),function(a){return a.substring(0,a.length-2)}),Dp=Yk(Hl,V.or([Sm,Um,Wm,Xm,Ym]),Jl,function(a,b,c){return a+b+c}),Ep=V.or([Yk(Cl,cl(/[0-9a-fA-F]+/),Jl,function(a,b,c){return a+b+c}),Yk(Dl,cl(/[0-9]+/),Jl,function(a,b,c){return a+b+c})]),Fp=bl([tl],'\"'),Gp=bl([rl],\"'\"),Hp=al(bl([Zo],\"commentTest\")),Ip=al(bl([$o],\"textTest\")),Jp=al(bl([ap],\"namespaceTest\")),\nKp=al(bl([bp],\"anyKindTest\")),Lp=cl(/[0-9]+/),Mp=V.then(V.or([V.then(bm,Lp,function(a,b){return a+b}),V.then(Lp,V.optional(V.preceded(bm,cl(/[0-9]*/))),function(a,b){return a+(null!==b?\".\"+b:\"\")})]),Yk(V.or([im,jm]),V.optional(V.or([dm,em])),Lp,function(a,b,c){return a+(b?b:\"\")+c}),function(a,b){return[\"doubleConstantExpr\",[\"value\",a+b]]}),Np=V.or([V.map(V.preceded(bm,Lp),function(a){return[\"decimalConstantExpr\",[\"value\",\".\"+a]]}),V.then(V.followed(Lp,bm),V.optional(Lp),function(a,b){return[\"decimalConstantExpr\",\n[\"value\",a+\".\"+(null!==b?b:\"\")]]})]),Op=V.map(Lp,function(a){return[\"integerConstantExpr\",[\"value\",a]]}),Pp=V.followed(V.or([Mp,Np,Op]),V.peek(V.not(cl(/[a-zA-Z]/),[\"no alphabetical characters after numeric literal\"]))),Qp=V.map(V.followed(bm,V.peek(V.not(bm,[\"context item should not be followed by another .\"]))),function(){return[\"contextItemExpr\"]}),Rp=V.or([pn,Em,tn,to,Dm,yo,Bm,Zm,po,Cm,uo,xm,un,vo,Fm,ao,sn,Mn]),Sp=al(bl([Pl],\"argumentPlaceholder\")),Tp=V.or([Pl,Kl,dm]),Up=V.preceded(V.peek(V.not(cl(/[{}<&]/),\n[\"elementContentChar cannot be {, }, <, or &\"])),gp),Vp=V.map(V.delimited(ul,V.star(V.preceded(V.peek(V.not(vl,['CDataSection content may not contain \"]]\\x3e\"'])),gp)),vl),function(a){return[\"CDataSection\",a.join(\"\")]}),Wp=V.preceded(V.peek(V.not(cl(/[\"{}<&]/),['quotAttrValueContentChar cannot be \", {, }, <, or &'])),gp),Xp=V.preceded(V.peek(V.not(cl(/['{}<&]/),[\"aposAttrValueContentChar cannot be ', {, }, <, or &\"])),gp),Yp=V.map(V.star(V.or([V.preceded(V.peek(V.not(em,[])),gp),V.map(X([em,V.peek(V.not(em,\n[]))],gp),function(a){return\"-\"+a})])),function(a){return a.join(\"\")}),Zp=V.map(V.delimited(yl,Yp,zl),function(a){return[\"computedCommentConstructor\",[\"argExpr\",[\"stringConstantExpr\",[\"value\",a]]]]}),$p=V.preceded(V.peek(V.not(Yk(V.or([qm,pm]),V.or([nm,mm]),V.or([lm,km]),function(){return[]}),[])),rp),aq=V.map(V.star(V.preceded(V.peek(V.not(Bl,[])),gp)),function(a){return a.join(\"\")}),bq=V.then(V.preceded(Al,$p),V.followed(V.optional(V.preceded(kp,aq)),Bl),function(a,b){return[\"computedPIConstructor\",\n[\"piTarget\",a],[\"piValueExpr\",[\"stringConstantExpr\",[\"value\",b]]]]}),cq=V.map(gm,function(){return[\"stepExpr\",[\"xpathAxis\",\"descendant-or-self\"],[\"anyKindTest\"]]}),dq=V.or([vn,wn]),eq=V.map(V.star(V.followed(gp,V.peek(V.not(hl,[\"Pragma contents should not contain '#)'\"])))),function(a){return a.join(\"\")}),fq=V.map(V.followed(V.or([Qm,Rm,Sm,Tm,Um,Vm]),Ap),function(a){return a+\"Op\"}),gq=V.or([V.followed(bl([Km],\"isOp\"),Ap),bl([Wl],\"nodeBeforeOp\"),bl([Zl],\"nodeAfterOp\")]),hq=V.or([bl([Tl],\"equalOp\"),\nbl([Ul],\"notEqualOp\"),bl([Xl],\"lessThanOrEqualOp\"),bl([Vl],\"lessThanOp\"),bl([$l],\"greaterThanOrEqualOp\"),bl([Yl],\"greaterThanOp\")]),iq=V.map(eo,function(){return[\"annotation\",[\"annotationName\",\"updating\"]]}),jq=V.or([Dn,En]),kq=V.or([Fn,Gn]),lq=V.or([Lo,Mo,No,Oo,Po,Ol,Qo,Ro,So,To,Uo]),mq=V.map(X([zn,Z,Bn,Z],V.or([Dn,Cn])),function(a){return[\"boundarySpaceDecl\",a]}),nq=V.map(X([zn,Z,jo,Z],V.or([Dn,Cn])),function(a){return[\"constructionDecl\",a]}),oq=V.map(X([zn,Z,ko,Z],V.or([lo,mo])),function(a){return[\"orderingModeDecl\",\na]}),pq=V.map(X([zn,Z,An,Z,mn,Z,cn,Z],V.or([Hn,In])),function(a){return[\"emptyOrderDecl\",a]}),qq=V.then(X([zn,Z,Jn,Z],jq),X([Y,am,Y],kq),function(a,b){return[\"copyNamespacesDecl\",[\"preserveMode\",a],[\"inheritMode\",b]]});function rq(a){switch(a[0]){case \"constantExpr\":case \"varRef\":case \"contextItemExpr\":case \"functionCallExpr\":case \"sequenceExpr\":case \"elementConstructor\":case \"computedElementConstructor\":case \"computedAttributeConstructor\":case \"computedDocumentConstructor\":case \"computedTextConstructor\":case \"computedCommentConstructor\":case \"computedNamespaceConstructor\":case \"computedPIConstructor\":case \"orderedExpr\":case \"unorderedExpr\":case \"namedFunctionRef\":case \"inlineFunctionExpr\":case \"dynamicFunctionInvocationExpr\":case \"mapConstructor\":case \"arrayConstructor\":case \"stringConstructor\":case \"unaryLookup\":return a}return[\"sequenceExpr\",\na]}function sq(a){if(!(1<=a&&55295>=a||57344<=a&&65533>=a||65536<=a&&1114111>=a))throw Error(\"XQST0090: The character reference \"+a+\" (\"+a.toString(16)+\") does not reference a valid codePoint.\");}\nfunction tq(a){return a.replace(/(&[^;]+);/g,function(b){if(/^&#x/.test(b))return b=parseInt(b.slice(3,-1),16),sq(b),String.fromCodePoint(b);if(/^&#/.test(b))return b=parseInt(b.slice(2,-1),10),sq(b),String.fromCodePoint(b);switch(b){case \"&lt;\":return\"<\";case \"&gt;\":return\">\";case \"&amp;\":return\"&\";case \"&quot;\":return String.fromCharCode(34);case \"&apos;\":return String.fromCharCode(39)}throw Error('XPST0003: Unknown character reference: \"'+b+'\"');})}\nfunction uq(a,b,c){if(!a.length)return[];for(var d=[a[0]],e=1;e<a.length;++e){var f=d[d.length-1];\"string\"===typeof f&&\"string\"===typeof a[e]?d[d.length-1]=f+a[e]:d.push(a[e])}if(\"string\"===typeof d[0]&&0===d.length)return[];d=d.reduce(function(g,k,l){if(\"string\"!==typeof k)g.push(k);else if(c&&/^\\s*$/.test(k)){var n=d[l+1];n&&\"CDataSection\"===n[0]?g.push(tq(k)):(l=d[l-1])&&\"CDataSection\"===l[0]&&g.push(tq(k))}else g.push(tq(k));return g},[]);if(!d.length)return d;if(1<d.length||b)for(a=0;a<d.length;a++)\"string\"===\ntypeof d[a]&&(d[a]=[\"stringConstantExpr\",[\"value\",d[a]]]);return d}function vq(a){return a[0].prefix?a[0].prefix+\":\"+a[1]:a[1]};var wq=V.then(xp,V.optional(Pl),function(a,b){return null!==b?[\"singleType\",[\"atomicType\"].concat(w(a)),[\"optional\"]]:[\"singleType\",[\"atomicType\"].concat(w(a))]}),xq=V.map(xp,function(a){return[\"atomicType\"].concat(w(a))});var yq=new Map;\nfunction zq(a){function b(m,r){return r.reduce(function(D,ba){return[ba[0],[\"firstOperand\",D],[\"secondOperand\",ba[1]]]},m)}function c(m,r,D){return V.then(m,V.star(V.then(W(r,Y),m,function(ba,ia){return[ba,ia]})),D)}function d(m,r,D,ba){D=void 0===D?\"firstOperand\":D;ba=void 0===ba?\"secondOperand\":ba;return V.then(m,V.optional(V.then(W(r,Y),m,function(ia,Ka){return[ia,Ka]})),function(ia,Ka){return null===Ka?ia:[Ka[0],[D,ia],[ba,Ka[1]]]})}function e(m){return a.sb?function(r,D){r=m(r,D);if(!r.success)return r;\nvar ba=n.has(D)?n.get(D):{offset:D,line:-1,la:-1},ia=n.has(r.offset)?n.get(r.offset):{offset:r.offset,line:-1,la:-1};n.set(D,ba);n.set(r.offset,ia);return V.okWithValue(r.offset,[\"x:stackTrace\",{start:ba,end:ia},r.value])}:m}function f(m,r){return Dk(m,r)}function g(m,r){return Tg(m,r)}function k(m,r){return e(V.or([Er,Fr,Gr,Hr,Ir,Jr,Kr,Lr,Mr,Nr,Or]))(m,r)}function l(m,r){return c(k,am,function(D,ba){return 0===ba.length?D:[\"sequenceExpr\",D].concat(w(ba.map(function(ia){return ia[1]})))})(m,r)}var n=\nnew Map,q=V.preceded(kl,V.followed(W(l,Y),ll)),u=V.map(a.Va?V.or([W(V.star(V.or([Dp,Ep,Fp,cl(/[^\"&]/)])),sl),W(V.star(V.or([Dp,Ep,Gp,cl(/[^'&]/)])),ql)]):V.or([W(V.star(V.or([Fp,cl(/[^\"]/)])),sl),W(V.star(V.or([Gp,cl(/[^']/)])),ql)]),function(m){return m.join(\"\")}),v=V.or([V.map(X([Dm,Y],V.delimited(V.followed(il,Y),V.then(yp,X([Y,am,Y],xp),function(m,r){return[[\"elementName\",m],[\"typeName\"].concat(w(r))]}),V.preceded(Y,jl))),function(m){var r=t(m);m=r.next().value;r=r.next().value;return[\"elementTest\",\nm,r]}),V.map(X([Dm,Y],V.delimited(il,yp,jl)),function(m){return[\"elementTest\",[\"elementName\",m]]}),V.map(X([Dm,Y],V.delimited(il,Y,jl)),function(){return[\"elementTest\"]})]),A=V.or([V.map(xp,function(m){return[\"QName\"].concat(w(m))}),V.map(Kl,function(){return[\"star\"]})]),G=V.or([V.map(X([Em,Y],V.delimited(V.followed(il,Y),V.then(A,X([Y,am,Y],xp),function(m,r){return[[\"attributeName\",m],[\"typeName\"].concat(w(r))]}),V.preceded(Y,jl))),function(m){var r=t(m);m=r.next().value;r=r.next().value;return[\"attributeTest\",\nm,r]}),V.map(X([Em,Y],V.delimited(il,A,jl)),function(m){return[\"attributeTest\",[\"attributeName\",m]]}),V.map(X([Em,Y],V.delimited(il,Y,jl)),function(){return[\"attributeTest\"]})]),H=V.map(X([Fm,Y,il],V.followed(xp,jl)),function(m){return[\"schemaElementTest\"].concat(w(m))}),L=V.map(V.delimited(Vo,W(xp,Y),jl),function(m){return[\"schemaAttributeTest\"].concat(w(m))}),fa=V.map(V.preceded(Wo,V.followed(W(V.optional(V.or([v,H])),Y),jl)),function(m){return[\"documentTest\"].concat(w(m?[m]:[]))}),ea=V.or([V.map(V.preceded(Xo,\nV.followed(W(V.or([np,u]),Y),jl)),function(m){return[\"piTest\",[\"piTarget\",m]]}),al(bl([Yo],\"piTest\"))]),Ea=V.or([fa,v,G,H,L,ea,Hp,Ip,Jp,Kp]),bb=V.or([V.map(V.preceded(Fl,np),function(m){return[\"Wildcard\",[\"star\"],[\"NCName\",m]]}),al(bl([Kl],\"Wildcard\")),V.map(V.followed(vp,Kl),function(m){return[\"Wildcard\",[\"uri\",m],[\"star\"]]}),V.map(V.followed(np,El),function(m){return[\"Wildcard\",[\"NCName\",m],[\"star\"]]})]),sa=V.or([bb,V.map(xp,function(m){return[\"nameTest\"].concat(w(m))})]),ib=V.or([Ea,sa]),wc=V.then(V.optional(Ll),\nib,function(m,r){return null!==m||\"attributeTest\"===r[0]||\"schemaAttributeTest\"===r[0]?[\"stepExpr\",[\"xpathAxis\",\"attribute\"],r]:[\"stepExpr\",[\"xpathAxis\",\"child\"],r]}),sd=V.or([V.then(Bp,ib,function(m,r){return[\"stepExpr\",[\"xpathAxis\",m],r]}),wc]),Pr=V.map(cm,function(){return[\"stepExpr\",[\"xpathAxis\",\"parent\"],[\"anyKindTest\"]]}),Qr=V.or([V.then(Cp,ib,function(m,r){return[\"stepExpr\",[\"xpathAxis\",m],r]}),Pr]),Rr=V.map(V.star(V.preceded(Y,q)),function(m){return 0<m.length?[\"predicates\"].concat(w(m)):\nvoid 0}),Sr=V.then(V.or([Qr,sd]),Rr,function(m,r){return void 0===r?m:m.concat([r])}),Ug=V.or([Pp,V.map(u,function(m){return[\"stringConstantExpr\",[\"value\",a.Va?tq(m):m]]})]),Vg=V.or([V.delimited(il,W(l,Y),jl),V.map(V.delimited(il,Y,jl),function(){return[\"sequenceExpr\"]})]),Ek=V.or([k,Sp]),Qe=V.map(V.delimited(il,W(V.optional(V.then(Ek,V.star(V.preceded(W(am,Y),Ek)),function(m,r){return[m].concat(w(r))})),Y),jl),function(m){return null!==m?m:[]}),Tr=V.preceded(V.not(Yk(Rp,Y,il,function(){}),[\"cannot use reseved keyword for function names\"]),\nV.then(xp,V.preceded(Y,Qe),function(m,r){return[\"functionCallExpr\",[\"functionName\"].concat(w(m)),null!==r?[\"arguments\"].concat(w(r)):[\"arguments\"]]})),Ur=V.then(xp,V.preceded(Nl,Op),function(m,r){return[\"namedFunctionRef\",[\"functionName\"].concat(w(m)),r]}),jb=V.delimited(ml,W(V.optional(l),Y),nl),Fk=V.map(jb,function(m){return m?m:[\"sequenceExpr\"]}),zb=V.or([V.map(dp,function(){return[[\"voidSequenceType\"]]}),V.then(f,V.optional(V.preceded(Y,Tp)),function(m,r){return[m].concat(w(null!==r?[[\"occurrenceIndicator\",\nr]]:[]))})]),Wg=V.then(X([Ol,Y],xp),V.optional(V.followed(V.then(X([il,Y],Ug),V.star(X([am,Y],Ug)),function(m,r){return m.concat(r)}),jl)),function(m,r){return[\"annotation\",[\"annotationName\"].concat(w(m))].concat(w(r?[\"arguments\",r]:[]))}),Vr=V.map(X([Bm,Y,il,Y,Kl,Y],jl),function(){return[\"anyFunctionTest\"]}),Wr=V.then(X([Bm,Y,il,Y],V.optional(c(zb,am,function(m,r){return m.concat.apply(m,r.map(function(D){return D[1]}))}))),X([Y,jl,Z,rm,Z],zb),function(m,r){return[\"typedFunctionTest\",[\"paramTypeList\",\n[\"sequenceType\"].concat(w(m?m:[]))],[\"sequenceType\"].concat(w(r))]}),Xr=V.then(V.star(Wg),V.or([Vr,Wr]),function(m,r){return[r[0]].concat(w(m),w(r.slice(1)))}),Yr=V.map(X([Cm,Y,il,Y,Kl,Y],jl),function(){return[\"anyMapTest\"]}),Zr=V.then(X([Cm,Y,il,Y],xq),X([Y,am],V.followed(W(zb,Y),jl)),function(m,r){return[\"typedMapTest\",m,[\"sequenceType\"].concat(w(r))]}),$r=V.or([Yr,Zr]),as=V.map(X([pn,Y,il,Y,Kl,Y],jl),function(){return[\"anyArrayTest\"]}),bs=V.map(X([pn,Y,il],V.followed(W(zb,Y),jl)),function(m){return[\"typedArrayTest\",\n[\"sequenceType\"].concat(w(m))]}),cs=V.or([as,bs]),ds=V.map(V.delimited(il,W(f,Y),jl),function(m){return[\"parenthesizedItemType\",m]}),Dk=V.or([Ea,al(bl([cp],\"anyItemType\")),Xr,$r,cs,xq,ds]),Rc=V.map(X([rm,Z],zb),function(m){return[\"typeDeclaration\"].concat(w(m))}),es=V.then(V.preceded(Ml,xp),V.optional(V.preceded(Z,Rc)),function(m,r){return[\"param\",[\"varName\"].concat(w(m))].concat(w(r?[r]:[]))}),Gk=c(es,am,function(m,r){return[m].concat(w(r.map(function(D){return D[1]})))}),fs=Zk(V.star(Wg),X([Y,Bm,\nY,il,Y],V.optional(Gk)),X([Y,jl,Y],V.optional(V.map(X([rm,Y],V.followed(zb,Y)),function(m){return[\"typeDeclaration\"].concat(w(m))}))),Fk,function(m,r,D,ba){return[\"inlineFunctionExpr\"].concat(w(m),[[\"paramList\"].concat(w(r?r:[]))],w(D?[D]:[]),[[\"functionBody\",ba]])}),gs=V.or([Ur,fs]),hs=V.map(k,function(m){return[\"mapKeyExpr\",m]}),is=V.map(k,function(m){return[\"mapValueExpr\",m]}),js=V.then(hs,V.preceded(W(Il,Y),is),function(m,r){return[\"mapConstructorEntry\",m,r]}),ks=V.preceded(Cm,V.delimited(W(ml,\nY),V.map(V.optional(c(js,W(am,Y),function(m,r){return[m].concat(w(r.map(function(D){return D[1]})))})),function(m){return m?[\"mapConstructor\"].concat(w(m)):[\"mapConstructor\"]}),V.preceded(Y,nl))),ls=V.map(V.delimited(kl,W(V.optional(c(k,am,function(m,r){return[m].concat(w(r.map(function(D){return D[1]}))).map(function(D){return[\"arrayElem\",D]})})),Y),ll),function(m){return[\"squareArray\"].concat(w(null!==m?m:[]))}),ms=V.map(V.preceded(pn,V.preceded(Y,jb)),function(m){return[\"curlyArray\"].concat(w(null!==\nm?[[\"arrayElem\",m]]:[]))}),ns=V.map(V.or([ls,ms]),function(m){return[\"arrayConstructor\",m]}),Hk=V.or([np,Op,Vg,Kl]),os=V.map(V.preceded(Pl,V.preceded(Y,Hk)),function(m){return\"*\"===m?[\"unaryLookup\",[\"star\"]]:\"string\"===typeof m?[\"unaryLookup\",[\"NCName\",m]]:[\"unaryLookup\",m]}),Xg=V.or([Dp,Ep,bl([ol],\"{\"),bl([pl],\"}\"),V.map(jb,function(m){return m||[\"sequenceExpr\"]})]),ps=V.or([Vp,function(m,r){return Ik(m,r)},Xg,Up]),qs=V.or([V.map(Wp,function(m){return m.replace(/[\\x20\\x0D\\x0A\\x09]/g,\" \")}),Xg]),\nrs=V.or([V.map(Xp,function(m){return m.replace(/[\\x20\\x0D\\x0A\\x09]/g,\" \")}),Xg]),ss=V.map(V.or([W(V.star(V.or([Fp,qs])),sl),W(V.star(V.or([Gp,rs])),ql)]),function(m){return uq(m,!1,!1)}),ts=V.then(up,V.preceded(W(Tl,V.optional(kp)),ss),function(m,r){if(\"\"===m[0].prefix&&\"xmlns\"===m[1]){if(r.length&&\"string\"!==typeof r[0])throw Error(\"XQST0022: A namespace declaration may not contain enclosed expressions\");return[\"namespaceDeclaration\",r.length?[\"uri\",r[0]]:[\"uri\"]]}if(\"xmlns\"===m[0].prefix){if(r.length&&\n\"string\"!==typeof r[0])throw Error(\"XQST0022: The namespace declaration for 'xmlns:\"+m[1]+\"' may not contain enclosed expressions\");return[\"namespaceDeclaration\",[\"prefix\",m[1]],r.length?[\"uri\",r[0]]:[\"uri\"]]}return[\"attributeConstructor\",[\"attributeName\"].concat(m),0===r.length?[\"attributeValue\"]:1===r.length&&\"string\"===typeof r[0]?[\"attributeValue\",r[0]]:[\"attributeValueExpr\"].concat(r)]}),us=V.map(V.star(V.preceded(kp,V.optional(ts))),function(m){return m.filter(Boolean)}),vs=Yk(V.preceded(Vl,\nup),us,V.or([V.map(wl,function(){return null}),V.then(V.preceded(Yl,V.star(ps)),X([Y,xl],V.followed(up,V.then(V.optional(kp),Yl,function(){return null}))),function(m,r){return[uq(m,!0,!0),r]})]),function(m,r,D){var ba=D;if(D&&D.length){ba=vq(m);var ia=vq(D[1]);if(ba!==ia)throw Error('XQST0118: The start and the end tag of an element constructor must be equal. \"'+ba+'\" does not match \"'+ia+'\"');ba=D[0]}return[\"elementConstructor\",[\"tagName\"].concat(w(m))].concat(w(r.length?[[\"attributeList\"].concat(w(r))]:\n[]),w(ba&&ba.length?[[\"elementContent\"].concat(w(ba))]:[]))}),Ik=V.or([vs,Zp,bq]),ws=V.map(X([qn,Y],jb),function(m){return[\"computedDocumentConstructor\"].concat(w(m?[[\"argExpr\",m]]:[]))}),xs=V.map(jb,function(m){return m?[[\"contentExpr\",m]]:[]}),ys=V.then(X([Dm,Y],V.or([V.map(xp,function(m){return[\"tagName\"].concat(w(m))}),V.map(V.delimited(ml,W(l,Y),nl),function(m){return[\"tagNameExpr\",m]})])),V.preceded(Y,xs),function(m,r){return[\"computedElementConstructor\",m].concat(w(r))}),zs=V.then(V.preceded(Em,\nV.or([V.map(X([Ap,Y],xp),function(m){return[\"tagName\"].concat(w(m))}),V.map(V.preceded(Y,V.delimited(ml,W(l,Y),nl)),function(m){return[\"tagNameExpr\",m]})])),V.preceded(Y,jb),function(m,r){return[\"computedAttributeConstructor\",m,[\"valueExpr\",r?r:[\"sequenceExpr\"]]]}),As=V.map(jb,function(m){return m?[[\"prefixExpr\",m]]:[]}),Bs=V.map(jb,function(m){return m?[[\"URIExpr\",m]]:[]}),Cs=V.then(X([rn,Y],V.or([op,As])),V.preceded(Y,Bs),function(m,r){return[\"computedNamespaceConstructor\"].concat(w(m),w(r))}),\nDs=V.map(X([sn,Y],jb),function(m){return[\"computedTextConstructor\"].concat(w(m?[[\"argExpr\",m]]:[]))}),Es=V.map(X([tn,Y],jb),function(m){return[\"computedCommentConstructor\"].concat(w(m?[[\"argExpr\",m]]:[]))}),Fs=X([un,Y],V.then(V.or([V.map(np,function(m){return[\"piTarget\",m]}),V.map(V.delimited(ml,W(l,Y),nl),function(m){return[\"piTargetExpr\",m]})]),V.preceded(Y,jb),function(m,r){return[\"computedPIConstructor\",m].concat(w(r?[[\"piValueExpr\",r]]:[]))})),Gs=V.or([ws,ys,zs,Cs,Ds,Es,Fs]),Hs=V.or([Ik,Gs]),\nJk=V.or([Ug,zp,Vg,Qp,Tr,Hs,gs,ks,ns,os]),Kk=V.map(X([Pl,Y],Hk),function(m){return\"*\"===m?[\"lookup\",[\"star\"]]:\"string\"===typeof m?[\"lookup\",[\"NCName\",m]]:[\"lookup\",m]}),Js=V.then(V.map(Jk,function(m){return rq(m)}),V.star(V.or([V.map(V.preceded(Y,q),function(m){return[\"predicate\",m]}),V.map(V.preceded(Y,Qe),function(m){return[\"argumentList\",m]}),V.preceded(Y,Kk)])),function(m,r){function D(){Lk&&1===Ka.length?Sc.push([\"predicate\",Ka[0]]):0!==Ka.length&&Sc.push([\"predicates\"].concat(w(Ka)));Ka.length=\n0}function ba(Is){D();0!==Sc.length?(\"sequenceExpr\"===ia[0]&&2<ia.length&&(ia=[\"sequenceExpr\",ia]),ia=[[\"filterExpr\",ia]].concat(w(Sc)),Sc.length=0):ia=Is?[[\"filterExpr\",ia]]:[ia]}var ia=m,Ka=[],Sc=[],Lk=!1;m=t(r);for(r=m.next();!r.done;r=m.next())switch(r=r.value,r[0]){case \"predicate\":Ka.push(r[1]);break;case \"lookup\":Lk=!0;D();Sc.push(r);break;case \"argumentList\":ba(!1);1<ia.length&&(ia=[[\"sequenceExpr\",[\"pathExpr\",[\"stepExpr\"].concat(w(ia))]]]);ia=[\"dynamicFunctionInvocationExpr\",[\"functionItem\"].concat(w(ia))].concat(w(r[1].length?\n[[\"arguments\"].concat(w(r[1]))]:[]));break;default:throw Error(\"unreachable\");}ba(!0);return ia}),Tc=V.or([V.map(Js,function(m){return[\"stepExpr\"].concat(w(m))}),Sr]),Ks=V.followed(Jk,V.peek(V.not(V.preceded(Y,V.or([q,Qe,Kk])),[\"primary expression not followed by predicate, argumentList, or lookup\"]))),Ls=V.or([Yk(Tc,V.preceded(Y,cq),V.preceded(Y,g),function(m,r,D){return[\"pathExpr\",m,r].concat(w(D))}),V.then(Tc,V.preceded(W(fm,Y),g),function(m,r){return[\"pathExpr\",m].concat(w(r))}),Ks,V.map(Tc,function(m){return[\"pathExpr\",\nm]})]),Tg=V.or([Yk(Tc,V.preceded(Y,cq),V.preceded(Y,g),function(m,r,D){return[m,r].concat(w(D))}),V.then(Tc,V.preceded(W(fm,Y),g),function(m,r){return[m].concat(w(r))}),V.map(Tc,function(m){return[m]})]),Ms=V.or([V.map(X([fm,Y],Tg),function(m){return[\"pathExpr\",[\"rootExpr\"]].concat(w(m))}),V.then(cq,V.preceded(Y,Tg),function(m,r){return[\"pathExpr\",[\"rootExpr\"],m].concat(w(r))}),V.map(V.followed(fm,V.not(V.preceded(Y,a.Va?cl(/[*<a-zA-Z]/):cl(/[*a-zA-Z]/)),[\"Single rootExpr cannot be by followed by something that can be interpreted as a relative path\"])),\nfunction(){return[\"pathExpr\",[\"rootExpr\"]]})]),Ns=Xk(V.or([Ls,Ms]),yq),Os=V.preceded(xn,V.then(V.optional(V.or([V.map(V.preceded(Y,dq),function(m){return[\"validationMode\",m]}),V.map(X([Y,yn,Y],xp),function(m){return[\"type\"].concat(w(m))})])),V.delimited(V.preceded(Y,ml),W(l,Y),nl),function(m,r){return[\"validateExpr\"].concat(w(m?[m]:[]),[[\"argExpr\",r]])})),Ps=V.delimited(gl,V.then(V.preceded(Y,xp),V.optional(V.preceded(Z,eq)),function(m,r){return r?[\"pragma\",[\"pragmaName\",m],[\"pragmaContents\",r]]:\n[\"pragma\",[\"pragmaName\",m]]}),V.preceded(Y,hl)),Qs=V.map(V.followed(V.plus(Ps),V.preceded(Y,V.delimited(ml,W(V.optional(l),Y),nl))),function(m){return[\"extensionExpr\"].concat(w(m))}),Rs=e(c(Ns,Ql,function(m,r){return 0===r.length?m:[\"simpleMapExpr\",\"pathExpr\"===m[0]?m:[\"pathExpr\",[\"stepExpr\",[\"filterExpr\",rq(m)]]]].concat(r.map(function(D){D=D[1];return\"pathExpr\"===D[0]?D:[\"pathExpr\",[\"stepExpr\",[\"filterExpr\",rq(D)]]]}))})),Ss=V.or([Os,Qs,Rs]),Mk=V.or([V.then(V.or([bl([em],\"unaryMinusOp\"),bl([dm],\n\"unaryPlusOp\")]),V.preceded(Y,function(m,r){return Mk(m,r)}),function(m,r){return[m,[\"operand\",r]]}),Ss]),Ts=V.or([V.map(xp,function(m){return[\"EQName\"].concat(w(m))}),zp,Vg]),Us=V.then(Mk,V.star(X([Y,hm,Y],V.then(Ts,V.preceded(Y,Qe),function(m,r){return[m,r]}))),function(m,r){return r.reduce(function(D,ba){return[\"arrowExpr\",[\"argExpr\",D],ba[0],[\"arguments\"].concat(w(ba[1]))]},m)}),Vs=V.then(Us,V.optional(X([Y,sm,Z,rm,Ap,Y],wq)),function(m,r){return null!==r?[\"castExpr\",[\"argExpr\",m],r]:m}),Ws=V.then(Vs,\nV.optional(X([Y,tm,Z,rm,Ap,Y],wq)),function(m,r){return null!==r?[\"castableExpr\",[\"argExpr\",m],r]:m}),Xs=V.then(Ws,V.optional(X([Y,um,Z,rm,Ap,Y],zb)),function(m,r){return null!==r?[\"treatExpr\",[\"argExpr\",m],[\"sequenceType\"].concat(w(r))]:m}),Ys=V.then(Xs,V.optional(X([Y,vm,Z,wm,Ap,Y],zb)),function(m,r){return null!==r?[\"instanceOfExpr\",[\"argExpr\",m],[\"sequenceType\"].concat(w(r))]:m}),Zs=c(Ys,V.followed(V.or([bl([Gm],\"intersectOp\"),bl([Hm],\"exceptOp\")]),Ap),b),$s=c(Zs,V.or([bl([Rl],\"unionOp\"),V.followed(bl([Im],\n\"unionOp\"),Ap)]),b),at=c($s,V.or([bl([Kl],\"multiplyOp\"),V.followed(bl([Nm],\"divOp\"),Ap),V.followed(bl([Om],\"idivOp\"),Ap),V.followed(bl([Pm],\"modOp\"),Ap)]),b),bt=c(at,V.or([bl([em],\"subtractOp\"),bl([dm],\"addOp\")]),b),ct=d(bt,V.followed(bl([Jm],\"rangeSequenceExpr\"),Ap),\"startExpr\",\"endExpr\"),dt=c(ct,bl([Sl],\"stringConcatenateOp\"),b),et=d(dt,V.or([fq,gq,hq])),ft=c(et,V.followed(bl([Mm],\"andOp\"),Ap),b),Or=c(ft,V.followed(bl([Lm],\"orOp\"),Ap),b),Ir=V.then(V.then(X([Zm,Y,il,Y],l),X([Y,jl,Y,$m,Ap,Y],k),function(m,\nr){return[m,r]}),X([Y,an,Ap,Y],k),function(m,r){return[\"ifThenElseExpr\",[\"ifClause\",m[0]],[\"thenClause\",m[1]],[\"elseClause\",r]]}),gt=V.delimited(bn,Z,cn),ht=V.map(X([dn,Z,Ml],xp),function(m){return[\"positionalVariableBinding\"].concat(w(m))}),it=$k(V.preceded(Ml,xp),V.preceded(Y,V.optional(Rc)),V.preceded(Y,V.optional(gt)),V.preceded(Y,V.optional(ht)),V.preceded(W(en,Y),k),function(m,r,D,ba,ia){return[\"forClauseItem\",[\"typedVariableBinding\",[\"varName\"].concat(w(m),w(r?[r]:[]))]].concat(w(D?[[\"allowingEmpty\"]]:\n[]),w(ba?[ba]:[]),[[\"forExpr\",ia]])}),jt=X([fn,Z],c(it,am,function(m,r){return[\"forClause\",m].concat(w(r.map(function(D){return D[1]})))})),kt=Yk(V.preceded(Ml,xp),V.preceded(Y,V.optional(Rc)),V.preceded(W(Gl,Y),k),function(m,r,D){return[\"letClauseItem\",[\"typedVariableBinding\",[\"varName\"].concat(w(m))].concat(w(r?[r]:[])),[\"letExpr\",D]]}),lt=V.map(X([gn,Y],c(kt,am,function(m,r){return[m].concat(w(r.map(function(D){return D[1]})))})),function(m){return[\"letClause\"].concat(w(m))}),Nk=V.or([jt,lt]),\nmt=V.map(X([hn,Ap,Y],k),function(m){return[\"whereClause\",m]}),nt=V.map(V.preceded(Ml,xp),function(m){return[\"varName\"].concat(w(m))}),ot=V.then(V.preceded(Y,V.optional(Rc)),V.preceded(W(Gl,Y),k),function(m,r){return[\"groupVarInitialize\"].concat(w(m?[[\"typeDeclaration\"].concat(w(m))]:[]),[[\"varValue\",r]])}),pt=Yk(nt,V.optional(ot),V.optional(V.map(V.preceded(W(jn,Y),u),function(m){return[\"collation\",m]})),function(m,r,D){return[\"groupingSpec\",m].concat(w(r?[r]:[]),w(D?[D]:[]))}),qt=c(pt,am,function(m,\nr){return[m].concat(w(r.map(function(D){return D[1]})))}),rt=V.map(X([kn,Z,ln,Y],qt),function(m){return[\"groupByClause\"].concat(w(m))}),st=Yk(V.optional(V.or([wo,xo])),V.optional(X([Y,cn,Y],V.or([Hn,In].map(function(m){return V.map(m,function(r){return\"empty \"+r})})))),V.preceded(Y,V.optional(X([jn,Y],u))),function(m,r,D){return m||r||D?[\"orderModifier\"].concat(w(m?[[\"orderingKind\",m]]:[]),w(r?[[\"emptyOrderingMode\",r]]:[]),w(D?[[\"collation\",D]]:[])):null}),tt=V.then(k,V.preceded(Y,st),function(m,\nr){return[\"orderBySpec\",[\"orderByExpr\",m]].concat(w(r?[r]:[]))}),ut=c(tt,am,function(m,r){return[m].concat(w(r.map(function(D){return D[1]})))}),vt=V.then(V.or([V.map(X([mn,Z],ln),function(){return!1}),V.map(X([nn,Z,mn,Z],ln),function(){return!0})]),V.preceded(Y,ut),function(m,r){return[\"orderByClause\"].concat(w(m?[[\"stable\"]]:[]),w(r))}),wt=V.or([Nk,mt,rt,vt]),xt=V.map(X([on,Y],k),function(m){return[\"returnClause\",m]}),Er=Yk(Nk,V.star(V.preceded(Y,wt)),V.preceded(Y,xt),function(m,r,D){return[\"flworExpr\",\nm].concat(w(r),[D])}),yt=c(zb,Rl,function(m,r){return 0===r.length?[\"sequenceType\"].concat(w(m)):[\"sequenceTypeUnion\",[\"sequenceType\"].concat(w(m))].concat(w(r.map(function(D){return[\"sequenceType\"].concat(w(D[1]))})))}),zt=Yk(X([Ln,Y],V.optional(V.preceded(Ml,V.followed(V.followed(xp,Z),rm)))),V.preceded(Y,yt),X([Z,on,Z],k),function(m,r,D){return[\"typeswitchExprCaseClause\"].concat(m?[[\"variableBinding\"].concat(w(m))]:[],[r],[[\"resultExpr\",D]])}),Hr=Zk(V.preceded(Mn,W(V.delimited(il,W(l,Y),jl),Y)),\nV.plus(V.followed(zt,Y)),X([An,Z],V.optional(V.preceded(Ml,V.followed(xp,Z)))),X([on,Z],k),function(m,r,D,ba){return[\"typeswitchExpr\",[\"argExpr\",m]].concat(w(r),[[\"typeswitchExprDefaultClause\"].concat(w(D||[]),[[\"resultExpr\",ba]])])}),At=Yk(V.preceded(Ml,xp),V.optional(V.preceded(Z,Rc)),V.preceded(W(en,Z),k),function(m,r,D){return[\"quantifiedExprInClause\",[\"typedVariableBinding\",[\"varName\"].concat(w(m))].concat(w(r?[r]:[])),[\"sourceExpr\",D]]}),Bt=c(At,am,function(m,r){return[m].concat(w(r.map(function(D){return D[1]})))}),\nFr=Yk(V.or([Nn,On]),V.preceded(Z,Bt),V.preceded(W(Pn,Y),k),function(m,r,D){return[\"quantifiedExpr\",[\"quantifier\",m]].concat(w(r),[[\"predicateExpr\",D]])}),Kr=V.map(X([zm,Z,V.or([ym,xm]),Z],k),function(m){return[\"deleteExpr\",[\"targetExpr\",m]]}),Mr=Yk(X([Qn,Z],V.optional(X([Am,Z,wm],Z))),X([xm,Z],k),V.preceded(W(Rn,Z),k),function(m,r,D){return m?[\"replaceExpr\",[\"replaceValue\"],[\"targetExpr\",r],[\"replacementExpr\",D]]:[\"replaceExpr\",[\"targetExpr\",r],[\"replacementExpr\",D]]}),Ct=V.then(zp,V.preceded(W(Gl,\nY),k),function(m,r){return[\"transformCopy\",m,[\"copySource\",r]]}),Nr=Yk(X([Sn,Z],c(Ct,am,function(m,r){return[m].concat(w(r.map(function(D){return D[1]})))})),X([Y,Tn,Z],k),V.preceded(W(on,Z),k),function(m,r,D){return[\"transformExpr\",[\"transformCopies\"].concat(w(m)),[\"modifyExpr\",r],[\"returnExpr\",D]]}),Dt=V.or([V.followed(V.map(V.optional(V.followed(X([rm,Z],V.or([V.map(Un,function(){return[\"insertAsFirst\"]}),V.map(Vn,function(){return[\"insertAsLast\"]})])),Z)),function(m){return m?[\"insertInto\",m]:\n[\"insertInto\"]}),Yn),V.map(Xn,function(){return[\"insertAfter\"]}),V.map(Wn,function(){return[\"insertBefore\"]})]),Jr=Yk(X([Zn,Z,V.or([ym,xm]),Z],k),V.preceded(Z,Dt),V.preceded(Z,k),function(m,r,D){return[\"insertExpr\",[\"sourceExpr\",m],r,[\"targetExpr\",D]]}),Lr=V.then(X([$n,Z,xm,Y],k),X([Z,rm,Z],k),function(m,r){return[\"renameExpr\",[\"targetExpr\",m],[\"newNameExpr\",r]]}),Et=V.then(V.plus(V.map(X([Ln,Z],k),function(m){return[\"switchCaseExpr\",m]})),X([Z,on,Z],k),function(m,r){return[\"switchExprCaseClause\"].concat(w(m),\n[[\"resultExpr\",r]])}),Gr=Yk(X([ao,Y,il],l),X([Y,jl,Y],V.plus(V.followed(Et,Y))),X([An,Z,on,Z],k),function(m,r,D){return[\"switchExpr\",[\"argExpr\",m]].concat(w(r),[[\"switchExprDefaultClause\",[\"resultExpr\",D]]])}),Ft=V.map(l,function(m){return[\"queryBody\",m]}),Gt=X([zn,Z,rn,Z],V.then(np,V.preceded(W(Tl,Y),u),function(m,r){return[\"namespaceDecl\",[\"prefix\",m],[\"uri\",r]]})),Ht=V.then(X([bo,Z,Ml,Y],V.then(xp,V.optional(V.preceded(Y,Rc)),function(m,r){return[m,r]})),V.or([V.map(X([Y,Gl,Y],k),function(m){return[\"varValue\",\nm]}),V.map(X([Z,co],V.optional(X([Y,Gl,Y],k))),function(m){return[\"external\"].concat(w(m?[[\"varValue\",m]]:[]))})]),function(m,r){var D=t(m);m=D.next().value;D=D.next().value;return[\"varDecl\",[\"varName\"].concat(w(m))].concat(w(null!==D?[D]:[]),[r])}),It=Zk(X([Bm,Z,V.peek(V.not(Rp,[\"Cannot use reserved function name\"]))],xp),X([Y,il,Y],V.optional(Gk)),X([Y,jl],V.optional(X([Z,rm,Z],zb))),V.preceded(Y,V.or([V.map(Fk,function(m){return[\"functionBody\",m]}),V.map(co,function(){return[\"externalDefinition\"]})])),\nfunction(m,r,D,ba){return[\"functionDecl\",[\"functionName\"].concat(w(m)),[\"paramList\"].concat(w(r||[]))].concat(w(D?[[\"typeDeclaration\"].concat(w(D))]:[]),[ba])}),Jt=X([zn,Z],V.then(V.star(V.followed(V.or([Wg,iq]),Z)),V.or([Ht,It]),function(m,r){return[r[0]].concat(w(m),w(r.slice(1)))})),Kt=V.then(X([zn,Z,An,Z],V.or([Dm,Bm])),X([Z,rn,Z],u),function(m,r){return[\"defaultNamespaceDecl\",[\"defaultNamespaceCategory\",m],[\"uri\",r]]}),Lt=V.or([V.map(V.followed(X([rn,Z],np),V.preceded(Y,Tl)),function(m){return[\"namespacePrefix\",\nm]}),V.map(X([An,Z,Dm,Z],rn),function(){return[\"defaultElementNamespace\"]})]),Mt=X([fo,Z,go],Yk(V.optional(V.preceded(Z,Lt)),V.preceded(Y,u),V.optional(V.then(X([Z,dn,Z],u),V.star(X([Y,am,Y],u)),function(m,r){return[m].concat(w(r))})),function(m,r,D){return[\"schemaImport\"].concat(w(m?[m]:[]),[[\"targetNamespace\",r]],w(D?[D]:[]))})),Nt=X([fo,Z,ho],Yk(V.optional(V.followed(X([Z,rn,Z],np),V.preceded(Y,Tl))),V.preceded(Y,u),V.optional(V.then(X([Z,dn,Z],u),V.star(X([Y,am,Y],u)),function(m,r){return[m].concat(w(r))})),\nfunction(m,r){return[\"moduleImport\",[\"namespacePrefix\",m],[\"targetNamespace\",r]]})),Ot=V.or([Mt,Nt]),Pt=V.map(X([zn,Z,An,Z,jn,Z],u),function(m){return[\"defaultCollationDecl\",m]}),Qt=V.map(X([zn,Z,io,Z],u),function(m){return[\"baseUriDecl\",m]}),Rt=V.then(X([zn,Z],V.or([V.map(X([Kn,Z],xp),function(m){return[\"decimalFormatName\"].concat(w(m))}),V.map(X([An,Z],Kn),function(){return null})])),V.star(V.then(V.preceded(Z,lq),V.preceded(W(Tl,Z),u),function(m,r){return[\"decimalFormatParam\",[\"decimalFormatParamName\",\nm],[\"decimalFormatParamValue\",r]]})),function(m,r){return[\"decimalFormatDecl\"].concat(w(m?[m]:[]),w(r))}),St=V.or([mq,Pt,Qt,nq,oq,pq,qq,Rt]),Tt=V.then(X([zn,Z,no,Z],xp),V.preceded(Z,u),function(m,r){return[\"optionDecl\",[\"optionName\",m],[\"optionContents\",r]]}),Ut=V.then(X([zn,Z,oo,Z,po],V.optional(X([Z,rm],Dk))),V.or([V.map(V.preceded(W(Gl,Y),k),function(m){return[\"varValue\",m]}),V.map(X([Z,co],V.optional(V.preceded(W(Gl,Y),k))),function(){return[\"external\"]})]),function(m,r){return[\"contextItemDecl\"].concat(w(m?\n[[\"contextItemType\",m]]:[]),[r])}),Ok=V.then(V.star(V.followed(V.or([Kt,St,Gt,Ot]),W(Jl,Y))),V.star(V.followed(V.or([Ut,Jt,Tt]),W(Jl,Y))),function(m,r){return 0===m.length&&0===r.length?null:[\"prolog\"].concat(w(m),w(r))}),Vt=X([ho,Z,rn,Z],V.then(V.followed(np,W(Tl,Y)),V.followed(u,W(Jl,Y)),function(m,r){return[\"moduleDecl\",[\"prefix\",m],[\"uri\",r]]})),Wt=V.then(Vt,V.preceded(Y,Ok),function(m,r){return[\"libraryModule\",m].concat(w(r?[r]:[]))}),Xt=V.then(Ok,V.preceded(Y,Ft),function(m,r){return[\"mainModule\"].concat(w(m?\n[m]:[]),[r])}),Yt=V.map(X([qo,Y],V.followed(V.or([V.then(V.preceded(so,Z),u,function(m){return[\"encoding\",m]}),V.then(X([ro,Z],u),V.optional(X([Z,so,Z],u)),function(m,r){return[[\"version\",m]].concat(w(r?[[\"encoding\",r]]:[]))})]),V.preceded(Y,Jl))),function(m){return[\"versionDecl\"].concat(w(m))}),Zt=V.then(V.optional(W(Yt,Y)),V.or([Wt,Xt]),function(m,r){return[\"module\"].concat(w(m?[m]:[]),[r])}),$t=V.complete(W(Zt,Y));return function(m,r){n.clear();r=$t(m,r);for(var D=1,ba=1,ia=0;ia<m.length+1;ia++){if(n.has(ia)){var Ka=\nn.get(ia);Ka.line=ba;Ka.la=D}Ka=m[ia];\"\\r\"===Ka||\"\\n\"===Ka?(ba++,D=1):D++}return r}}var Aq=zq({sb:!1,Va:!1}),Bq=zq({sb:!0,Va:!1}),Cq=zq({sb:!1,Va:!0}),Dq=zq({sb:!0,Va:!0});function Eq(a,b){var c=!!b.aa;b=!!b.debug;ep.clear();fp.clear();yq.clear();c=c?b?Dq(a,0):Cq(a,0):b?Bq(a,0):Aq(a,0);if(!0===c.success)return c.value;throw Error(\"XPST0003: Failed to parse '\"+a+\"' expected: \"+c.expected+\"\\n\"+(a.slice(0,c.offset)+\"[Error is around here]\"+a.slice(c.offset)));};var Fq=\"http://www.w3.org/XML/1998/namespace http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2005/xpath-functions http://www.w3.org/2005/xpath-functions/math http://www.w3.org/2012/xquery http://www.w3.org/2005/xpath-functions/array http://www.w3.org/2005/xpath-functions/map\".split(\" \");\nfunction Gq(a,b,c,d,e){var f=M(a,\"functionName\"),g=O(f,\"prefix\")||\"\",k=O(f,\"URI\"),l=N(f);if(null===k&&(k=\"\"===g?null===b.A?\"http://www.w3.org/2005/xpath-functions\":b.A:b.ba(g),!k&&g))throw ug(g);if(Fq.includes(k))throw pg();g=Q(a,\"annotation\").map(function(L){return M(L,\"annotationName\")});f=g.every(function(L){return!O(L,\"URI\")&&\"private\"!==N(L)});g=g.some(function(L){return!O(L,\"URI\")&&\"updating\"===N(L)});if(!k)throw qg();var n=Gg(a),q=Q(M(a,\"paramList\"),\"param\"),u=q.map(function(L){return M(L,\n\"varName\")}),v=q.map(function(L){return Gg(L)});if(a=M(a,\"functionBody\")){if(b.za(k,l,v.length))throw Error(\"XQST0049: The function Q{\"+k+\"}\"+l+\"#\"+v.length+\" has already been declared.\");if(!e)return;var A=Bk(a[1],{qa:!1,aa:!0}),G=new xg(b),H=u.map(function(L){var fa=O(L,\"URI\"),ea=O(L,\"prefix\");L=N(L);ea&&null===fa&&(fa=b.ba(ea||\"\"));return Cg(G,fa,L)});e=g?{l:v,arity:u.length,m:function(L,fa,ea,Ea){for(var bb=[],sa=3;sa<arguments.length;++sa)bb[sa-3]=arguments[sa];sa=Kc(Hc(L,-1,null,E.empty()),\nH.reduce(function(ib,wc,sd){ib[wc]=rb(bb[sd]);return ib},Object.create(null)));return A.u(sa,fa)},Bb:!1,I:!0,localName:l,namespaceURI:k,i:n}:{l:v,arity:u.length,m:function(L,fa,ea,Ea){for(var bb=[],sa=3;sa<arguments.length;++sa)bb[sa-3]=arguments[sa];sa=Kc(Hc(L,-1,null,E.empty()),H.reduce(function(ib,wc,sd){ib[wc]=rb(bb[sd]);return ib},Object.create(null)));return J(A,sa,fa)},Bb:!1,I:!1,localName:l,namespaceURI:k,i:n};c.push({da:A,Ib:G});f&&d.push({arity:u.length,da:A,Eb:e,localName:l,namespaceURI:k})}else{if(g)throw Error(\"Updating external function declarations are not supported\");\ne={l:v,arity:u.length,m:function(L,fa,ea,Ea){for(var bb=[],sa=3;sa<arguments.length;++sa)bb[sa-3]=arguments[sa];sa=ea.za(k,l,u.length,!0);if(!sa)throw Error(\"XPST0017: Function Q{\"+k+\"}\"+l+\" with arity of \"+u.length+\" not registered. \"+gg(l));if(sa.i.type!==n.type||sa.l.some(function(ib,wc){return ib.type!==v[wc].type}))throw Error(\"External function declaration types do not match actual function\");return sa.m.apply(sa,[L,fa,ea].concat(w(bb)))},Bb:!0,I:!1,localName:l,namespaceURI:k,i:n}}Ag(b,k,l,\nu.length,e)}\nfunction Hq(a,b,c){c=void 0===c?!0:c;var d=[],e=[];Q(a,\"*\").forEach(function(v){switch(v[0]){case \"moduleImport\":case \"namespaceDecl\":case \"defaultNamespaceDecl\":case \"functionDecl\":case \"varDecl\":break;default:throw Error(\"Not implemented: only module imports, namespace declarations, and function declarations are implemented in XQuery modules\");}});var f=new Set;Q(a,\"moduleImport\").forEach(function(v){var A=N(M(v,\"namespacePrefix\"));v=N(M(v,\"targetNamespace\"));if(f.has(v))throw Error('XQST0047: The namespace \"'+v+\n'\" is imported more than once.');f.add(v);Bg(b,A,v);Vk(b,v)});Q(a,\"namespaceDecl\").forEach(function(v){var A=N(M(v,\"prefix\"));v=N(M(v,\"uri\"));if(\"xml\"===A||\"xmlns\"===A)throw sg();if(\"http://www.w3.org/XML/1998/namespace\"===v||\"http://www.w3.org/2000/xmlns/\"===v)throw sg();Bg(b,A,v)});for(var g=null,k=null,l=t(Q(a,\"defaultNamespaceDecl\")),n=l.next();!n.done;n=l.next()){var q=n.value;n=N(M(q,\"defaultNamespaceCategory\"));q=N(M(q,\"uri\"));if(!q)throw qg();if(\"http://www.w3.org/XML/1998/namespace\"===q||\n\"http://www.w3.org/2000/xmlns/\"===q)throw sg();if(\"function\"===n){if(g)throw rg();g=q}else if(\"element\"===n){if(k)throw rg();k=q}}g&&(b.A=g);k&&Bg(b,\"\",k);Q(a,\"functionDecl\").forEach(function(v){Gq(v,b,d,e,c)});var u=[];Q(a,\"varDecl\").forEach(function(v){var A=Fg(M(v,\"varName\")),G=A.namespaceURI;if(null===G&&(G=b.ba(A.prefix),!G&&A.prefix))throw ug(A.prefix);if(Fq.includes(G))throw pg();var H=M(v,\"external\");v=M(v,\"varValue\");var L,fa;null!==H?(H=M(H,\"varValue\"),null!==H&&(L=M(H,\"*\"))):null!==v&&\n(L=M(v,\"*\"));if(u.some(function(Ea){return Ea.namespaceURI===G&&Ea.localName===A.localName}))throw Error(\"XQST0049: The variable \"+(G?\"Q{\"+G+\"}\":\"\")+A.localName+\" has already been declared.\");Cg(b,G||\"\",A.localName);if(c&&(L&&(fa=Bk(L,{qa:!1,aa:!0})),L&&!zg(b,G||\"\",A.localName))){var ea=null;Dg(b,G,A.localName,function(Ea,bb){if(ea)return ea();ea=rb(J(fa,Ea,bb));return ea()});d.push({da:fa,Ib:b});u.push({da:fa,localName:A.localName,namespaceURI:G})}});d.forEach(function(v){v.da.P(v.Ib)});e.forEach(function(v){if(!v.Eb.I&&\nv.da.I)throw Te(\"The function Q{\"+v.namespaceURI+\"}\"+v.localName+\" is updating but the %updating annotation is missing.\");});return{Ma:e,Ua:u}};function Iq(a,b,c,d,e,f,g){var k=b.aa?\"XQuery\":\"XPath\";c=b.Ha?null:Qk(a,k,c,d,e,b.debug,f,g);return null!==c?{state:c.Fc?1:2,da:c.da}:{state:0,wc:\"string\"===typeof a?Eq(a,b):Sk(a)}}function Jq(a,b,c){var d=M(a,\"mainModule\");if(!d)throw Error(\"Can not execute a library module.\");var e=M(d,\"prolog\");if(e){if(!b.aa)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");Hq(e,c)}T(a,new th(c));a=P(d,[\"queryBody\",\"*\"]);return U(a,b)}\nfunction Kq(a,b,c,d,e,f,g){var k=new lg(c,d,f,g),l=new xg(k);Object.keys(e).forEach(function(n){var q=e[n];Vk(l,q);Bg(l,n,q)});\"string\"===typeof a&&(a=Wk(a));c=Iq(a,b,c,d,e,f,g);switch(c.state){case 2:return{ia:l,da:c.da};case 1:return c.da.P(l),Rk(a,b.aa?\"XQuery\":\"XPath\",k,e,c.da,b.debug,f),{ia:l,da:c.da};case 0:return c=Jq(c.wc,b,l),c.P(l),b.Ha||Rk(a,b.aa?\"XQuery\":\"XPath\",k,e,c,b.debug,f),{ia:l,da:c}}};function Lq(a,b,c,d){a=a.first();var e=b.first().h.reduce(function(u,v){u[v.key.value]=rb(v.value());return u},Object.create(null));b=e[\".\"]?e[\".\"]():E.empty();delete e[\".\"];try{if(C(a.type,1))var f=a.value;else if(C(a.type,54))f=a.value.node;else throw Oc(\"Unable to convert selector argument of type \"+tb[a.type]+\" to either an \"+tb[1]+\" or an \"+tb[54]+\" representing an XQueryX program while calling 'fontoxpath:evaluate'\");var g=Kq(f,{qa:!1,aa:!0,debug:d.debug,Ha:d.Ha},function(u){return c.ba(u)},\nObject.keys(e).reduce(function(u,v){u[v]=v;return u},{}),{},\"http://www.w3.org/2005/xpath-functions\",function(u,v){return c.Ra(u,v)}),k=g.da,l=g.ia,n=!b.G(),q=new Fc({N:n?b.first():null,Ja:n?0:-1,Ga:b,Ea:Object.keys(e).reduce(function(u,v){u[l.qb(null,v)]=e[v];return u},Object.create(null))});return{Gc:k.h(q,d).value,Dc:a}}catch(u){bg(a.value,u)}};function Mq(a,b,c){if(1!==b.node.nodeType&&9!==b.node.nodeType)return[];var d=Pb(a,b).reduce(function(e,f){f=t(Mq(a,f,c));for(var g=f.next();!g.done;g=f.next())e.push(g.value);return e},[]);c(b)&&d.unshift(b);return d}\nfunction Nq(a,b,c,d,e){a=e.first();if(!a)throw Error(\"XPDY0002: The context is absent, it needs to be present to use id function.\");if(!C(a.type,53))throw Oc(\"The context item is not a node, it needs to be node to use id function.\");var f=b.h,g=d.M().reduce(function(k,l){l.value.split(/\\s+/).forEach(function(n){k[n]=!0});return k},Object.create(null));for(b=a.value;9!==b.node.nodeType;)if(b=Ub(f,b),null===b)throw Error(\"FODC0001: the root node of the target node is not a document node.\");b=Mq(f,b,\nfunction(k){if(1!==k.node.nodeType)return!1;k=Ob(f,k,\"id\");if(!k||!g[k])return!1;g[k]=!1;return!0});return E.create(b.map(function(k){return Zb(k)}))}\nfunction Oq(a,b,c,d,e){a=e.first();if(!a)throw Error(\"XPDY0002: The context is absent, it needs to be present to use idref function.\");if(!C(a.type,53))throw Oc(\"The context item is not a node, it needs to be node to use idref function.\");var f=b.h,g=d.M().reduce(function(k,l){k[l.value]=!0;return k},Object.create(null));for(b=a.value;9!==b.node.nodeType;)if(b=Ub(f,b),null===b)throw Error(\"FODC0001: the root node of the context node is not a document node.\");b=Mq(f,b,function(k){return 1!==k.node.nodeType?\n!1:(k=Ob(f,k,\"idref\"))?k.split(/\\s+/).some(function(l){return g[l]}):!1});return E.create(b.map(function(k){return Zb(k)}))};function Pq(a){switch(typeof a){case \"object\":return Array.isArray(a)?E.o(new Xb(a.map(function(b){return rb(Pq(b))}))):null===a?E.empty():E.o(new cc(Object.keys(a).map(function(b){return{key:y(b,1),value:rb(Pq(a[b]))}})));case \"number\":return E.o(y(a,3));case \"string\":return E.o(y(a,1));case \"boolean\":return a?E.ca():E.X();default:throw Error(\"Unexpected type in JSON parse\");}};function Qq(a,b,c,d,e){var f=E.o(y(\"duplicates\",1));a=bc(a,b,c,e,f);var g=a.G()?\"use-first\":a.first().value;return d.L(function(k){return E.o(new cc(k.reduce(function(l,n){n.h.forEach(function(q){var u=l.findIndex(function(v){return ac(v.key,q.key)});if(0<=u)switch(g){case \"reject\":throw Error(\"FOJS0003: Duplicate encountered when merging maps.\");case \"use-last\":l.splice(u,1,q);return;case \"combine\":l.splice(u,1,{key:q.key,value:rb(E.create(l[u].value().M().concat(q.value().M())))});return;default:return}l.push(q)});\nreturn l},[])))})};function Rq(a,b,c){var d=1,e=a.value;a=a.Na(!0);var f=null,g=Math.max(b-1,0);-1!==a&&(f=Math.max(0,(null===c?a:Math.max(0,Math.min(a,c+(b-1))))-g));return E.create({next:function(k){for(;d<b;)e.next(k),d++;if(null!==c&&d>=b+c)return z;k=e.next(k);d++;return k}},f)}function Sq(a){return a.map(function(b){return C(b.type,19)?Kd(b,3):b})}\nfunction Tq(a){a=Sq(a);if(a.some(function(b){return Number.isNaN(b.value)}))return[y(NaN,3)];a=Ni(a);if(!a)throw Error(\"FORG0006: Incompatible types to be converted to a common type\");return a}\nfunction Uq(a,b,c,d,e,f){return $b([e,f],function(g){var k=t(g);g=k.next().value;k=k.next().value;if(Infinity===g.value)return E.empty();if(-Infinity===g.value)return k&&Infinity===k.value?E.empty():d;if(k){if(isNaN(k.value))return E.empty();Infinity===k.value&&(k=null)}return isNaN(g.value)?E.empty():Rq(d,Math.round(g.value),k?Math.round(k.value):null)})}\nfunction Vq(a,b,c,d,e){if(d.G())return e;a=Sq(d.M());a=Ni(a);if(!a)throw Error(\"FORG0006: Incompatible types to be converted to a common type\");if(!a.every(function(f){return C(f.type,2)}))throw Error(\"FORG0006: items passed to fn:sum are not all numeric.\");b=a.reduce(function(f,g){return f+g.value},0);return a.every(function(f){return C(f.type,5)})?E.o(y(b,5)):a.every(function(f){return C(f.type,3)})?E.o(y(b,3)):a.every(function(f){return C(f.type,4)})?E.o(y(b,4)):E.o(y(b,6))};var Wq=[].concat(Mf,[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"boolean\",l:[{type:59,g:2}],i:{type:0,g:3},m:function(a,b,c,d){return d.getEffectiveBooleanValue()?E.ca():E.X()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"true\",l:[],i:{type:0,g:3},m:function(){return E.ca()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"not\",l:[{type:59,g:2}],i:{type:0,g:3},m:function(a,b,c,d){return!1===d.getEffectiveBooleanValue()?E.ca():E.X()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"false\",l:[],i:{type:0,g:3},m:function(){return E.X()}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"last\",l:[],i:{type:5,g:3},m:function(a){if(null===a.N)throw Error(\"XPDY0002: The fn:last() function depends on dynamic context, which is absent.\");var b=!1;return E.create({next:function(){if(b)return z;var c=a.Ga.Na();b=!0;return B(y(c,5))}},1)}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"position\",l:[],i:{type:5,g:3},m:function(a){if(null===\na.N)throw Error(\"XPDY0002: The fn:position() function depends on dynamic context, which is absent.\");return E.o(y(a.Ja+1,5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"current-dateTime\",l:[],i:{type:10,g:3},m:function(a){return E.o(y(Ic(a),10))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"current-date\",l:[],i:{type:7,g:3},m:function(a){return E.o(y(sc(Ic(a),7),7))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"current-time\",l:[],\ni:{type:8,g:3},m:function(a){return E.o(y(sc(Ic(a),8),8))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"implicit-timezone\",l:[],i:{type:17,g:3},m:function(a){return E.o(y(Jc(a),17))}}],Nf,Vf,Xf,[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"years-from-duration\",l:[{type:18,g:0}],i:{type:5,g:0},m:function(a,b,c,d){return d.G()?d:E.o(y(d.first().value.cb(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"months-from-duration\",l:[{type:18,\ng:0}],i:{type:5,g:0},m:function(a,b,c,d){return d.G()?d:E.o(y(d.first().value.$a(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"days-from-duration\",l:[{type:18,g:0}],i:{type:5,g:0},m:function(a,b,c,d){return d.G()?d:E.o(y(d.first().value.Za(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"hours-from-duration\",l:[{type:18,g:0}],i:{type:5,g:0},m:function(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getHours(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"minutes-from-duration\",l:[{type:18,g:0}],i:{type:5,g:0},m:function(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getMinutes(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"seconds-from-duration\",l:[{type:18,g:0}],i:{type:4,g:0},m:function(a,b,c,d){return d.G()?d:E.o(y(d.first().value.getSeconds(),4))}}],Zf,[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"id\",l:[{type:1,g:2},{type:53,g:3}],i:{type:54,g:2},m:Nq},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"id\",l:[{type:1,g:2}],i:{type:54,g:2},m:function(a,b,c,d){return Nq(a,b,c,d,E.o(a.N))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"idref\",l:[{type:1,g:2},{type:53,g:3}],i:{type:53,g:2},m:Oq},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"idref\",l:[{type:1,g:2}],i:{type:53,g:2},m:function(a,b,c,d){return Oq(a,b,c,d,E.o(a.N))}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"parse-json\",l:[{type:1,g:3}],i:{type:59,g:0},m:function(a,\nb,c,d){try{var e=JSON.parse(d.first().value)}catch(f){throw Error(\"FOJS0001: parsed JSON string contains illegal JSON.\");}return Pq(e)}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"contains\",l:[{type:61,g:3},{type:46,g:3}],i:{type:0,g:3},m:function(a,b,c,d,e){return $b([d,e],function(f){f=t(f);var g=f.next().value,k=f.next().value;return g.h.some(function(l){return ac(l.key,k)})?E.ca():E.X()})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"entry\",\nl:[{type:46,g:3},{type:59,g:2}],i:{type:61,g:3},m:function(a,b,c,d,e){return d.map(function(f){return new cc([{key:f,value:rb(e)}])})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"for-each\",l:[{type:61,g:3},{type:59,g:2}],i:{type:59,g:2},m:function(a,b,c,d,e){return $b([d,e],function(f){f=t(f);var g=f.next().value,k=f.next().value;return Mc(g.h.map(function(l){return k.value.call(void 0,a,b,c,E.o(l.key),l.value())}))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",\nlocalName:\"get\",l:[{type:61,g:3},{type:46,g:3}],i:{type:59,g:2},m:bc},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"keys\",l:[{type:61,g:3}],i:{type:46,g:2},m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;return E.create(e.h.map(function(f){return f.key}))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"merge\",l:[{type:61,g:2},{type:61,g:3}],i:{type:61,g:3},m:Qq},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"merge\",\nl:[{type:61,g:2}],i:{type:61,g:3},m:function(a,b,c,d){return Qq(a,b,c,d,E.o(new cc([{key:y(\"duplicates\",1),value:function(){return E.o(y(\"use-first\",1))}}])))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"put\",l:[{type:61,g:3},{type:46,g:3},{type:59,g:2}],i:{type:61,g:3},m:function(a,b,c,d,e,f){return $b([d,e],function(g){g=t(g);var k=g.next().value,l=g.next().value;g=k.h.concat();k=g.findIndex(function(n){return ac(n.key,l)});0<=k?g.splice(k,1,{key:l,value:rb(f)}):g.push({key:l,\nvalue:rb(f)});return E.o(new cc(g))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"remove\",l:[{type:61,g:3},{type:46,g:2}],i:{type:61,g:3},m:function(a,b,c,d,e){return $b([d],function(f){var g=t(f).next().value.h.concat();return e.L(function(k){k.forEach(function(l){var n=g.findIndex(function(q){return ac(q.key,l)});0<=n&&g.splice(n,1)});return E.o(new cc(g))})})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"size\",l:[{type:61,g:3}],i:{type:5,g:3},\nm:function(a,b,c,d){return d.map(function(e){return y(e.h.length,5)})}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"pi\",l:[],i:{type:3,g:3},m:function(){return E.o(y(Math.PI,3))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"exp\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.pow(Math.E,e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"exp10\",l:[{type:3,g:0}],i:{type:3,\ng:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.pow(10,e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"log\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.log(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"log10\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.log10(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",\nlocalName:\"pow\",l:[{type:3,g:0},{type:2,g:3}],i:{type:3,g:0},m:function(a,b,c,d,e){return e.L(function(f){var g=t(f).next().value;return d.map(function(k){return 1!==Math.abs(k.value)||Number.isFinite(g.value)?y(Math.pow(k.value,g.value),3):y(1,3)})})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"sqrt\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.sqrt(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",\nlocalName:\"sin\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.sin(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"cos\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.cos(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"tan\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.tan(e.value),3)})}},\n{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"asin\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.asin(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"acos\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,c,d){return d.map(function(e){return y(Math.acos(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"atan\",l:[{type:3,g:0}],i:{type:3,g:0},m:function(a,b,\nc,d){return d.map(function(e){return y(Math.atan(e.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"atan2\",l:[{type:3,g:0},{type:3,g:3}],i:{type:3,g:0},m:function(a,b,c,d,e){return e.L(function(f){var g=t(f).next().value;return d.map(function(k){return y(Math.atan2(k.value,g.value),3)})})}}],Fe,ie,[{namespaceURI:\"http://fontoxpath/operators\",localName:\"to\",l:[{type:5,g:0},{type:5,g:0}],i:{type:5,g:2},m:function(a,b,c,d,e){a=d.first();e=e.first();if(null===a||null===\ne)return E.empty();var f=a.value;e=e.value;return f>e?E.empty():E.create({next:function(){return B(y(f++,5))}},e-f+1)}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"QName\",l:[{type:1,g:0},{type:1,g:3}],i:{type:23,g:3},m:function(a,b,c,d,e){return $b([d,e],function(f){var g=t(f);f=g.next().value;g=g.next().value.value;if(!Yc(g,23))throw Error(\"FOCA0002: The provided QName is invalid.\");f=f?f.value||null:null;if(null===f&&g.includes(\":\"))throw Error(\"FOCA0002: The URI of a QName may not be empty if a prefix is provided.\");\nif(d.G())return E.o(y(new Ab(\"\",null,g),23));if(!g.includes(\":\"))return E.o(y(new Ab(\"\",f,g),23));var k=t(g.split(\":\"));g=k.next().value;k=k.next().value;return E.o(y(new Ab(g,f,k),23))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"prefix-from-QName\",l:[{type:23,g:0}],i:{type:24,g:0},m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;if(null===e)return E.empty();e=e.value;return e.prefix?E.o(y(e.prefix,24)):E.empty()})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"local-name-from-QName\",l:[{type:23,g:0}],i:{type:24,g:0},m:function(a,b,c,d){return d.map(function(e){return y(e.value.localName,24)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"namespace-uri-from-QName\",l:[{type:23,g:0}],i:{type:20,g:0},m:function(a,b,c,d){return d.map(function(e){return y(e.value.namespaceURI||\"\",20)})}}],[{l:[{type:59,g:2}],m:function(a,b,c,d){return d.$({empty:function(){return E.ca()},multiple:function(){return E.X()},o:function(){return E.X()}})},\nlocalName:\"empty\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:3}},{l:[{type:59,g:2}],m:function(a,b,c,d){return d.$({empty:function(){return E.X()},multiple:function(){return E.ca()},o:function(){return E.ca()}})},localName:\"exists\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:3}},{l:[{type:59,g:2}],m:function(a,b,c,d){return Rq(d,1,1)},localName:\"head\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:0}},{l:[{type:59,g:2}],m:function(a,\nb,c,d){return Rq(d,2,null)},localName:\"tail\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:5,g:3},{type:59,g:2}],m:function(a,b,c,d,e,f){if(d.G())return f;if(f.G())return d;a=d.M();e=e.first().value-1;0>e?e=0:e>a.length&&(e=a.length);b=a.slice(e);return E.create(a.slice(0,e).concat(f.M(),b))},localName:\"insert-before\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:5,g:3}],m:function(a,b,c,d,e){a=e.first().value;\nd=d.M();if(!d.length||1>a||a>d.length)return E.create(d);d.splice(a-1,1);return E.create(d)},localName:\"remove\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2}],m:function(a,b,c,d){return d.L(function(e){return E.create(e.reverse())})},localName:\"reverse\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:3,g:3}],m:function(a,b,c,d,e){return Uq(a,b,c,d,e,E.empty())},localName:\"subsequence\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\ni:{type:59,g:2}},{l:[{type:59,g:2},{type:3,g:3},{type:3,g:3}],m:Uq,localName:\"subsequence\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2}],m:function(a,b,c,d){return d},localName:\"unordered\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:46,g:2}],m:function(a,b,c,d){var e=Vc(d,b).M();return E.create(e).filter(function(f,g){return e.slice(0,g).every(function(k){return!Ie(f,k)})})},localName:\"distinct-values\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\ni:{type:46,g:2}},{l:[{type:46,g:2},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"distinct-values\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:2}},{l:[{type:46,g:2},{type:46,g:3}],m:function(a,b,c,d,e){return e.L(function(f){var g=t(f).next().value;return Vc(d,b).map(function(k,l){return si(\"eqOp\",k.type,g.type)(k,g,a)?y(l+1,5):y(-1,5)}).filter(function(k){return-1!==k.value})})},localName:\"index-of\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\ni:{type:5,g:2}},{l:[{type:46,g:2},{type:46,g:3},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"index-of\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:5,g:2}},{l:[{type:59,g:2},{type:59,g:2}],m:function(a,b,c,d,e){var f=!1,g=Le(a,b,c,d,e);return E.create({next:function(){if(f)return z;var k=g.next(0);if(k.done)return k;f=!0;return B(y(k.value,0))}})},localName:\"deep-equal\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,\ng:3}},{l:[{type:59,g:2},{type:59,g:2},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"deep-equal\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:0,g:3}},{l:[{type:59,g:2}],m:function(a,b,c,d){var e=!1;return E.create({next:function(){if(e)return z;var f=d.Na();e=!0;return B(y(f,5))}})},localName:\"count\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:5,g:3}},{l:[{type:46,g:2}],m:function(a,b,c,d){if(d.G())return d;a=Sq(d.M());\na=Ni(a);if(!a)throw Error(\"FORG0006: Incompatible types to be converted to a common type\");if(!a.every(function(e){return C(e.type,2)}))throw Error(\"FORG0006: items passed to fn:avg are not all numeric.\");b=a.reduce(function(e,f){return e+f.value},0)/a.length;return a.every(function(e){return C(e.type,5)||C(e.type,3)})?E.o(y(b,3)):a.every(function(e){return C(e.type,4)})?E.o(y(b,4)):E.o(y(b,6))},localName:\"avg\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:0}},{l:[{type:46,g:2}],\nm:function(a,b,c,d){if(d.G())return d;a=Tq(d.M());return E.o(a.reduce(function(e,f){return e.value<f.value?f:e}))},localName:\"max\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:0}},{l:[{type:46,g:2},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"max\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:0}},{l:[{type:46,g:2}],m:function(a,b,c,d){if(d.G())return d;a=Tq(d.M());return E.o(a.reduce(function(e,f){return e.value>\nf.value?f:e}))},localName:\"min\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:0}},{l:[{type:46,g:2},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"min\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:0}},{l:[{type:46,g:2}],m:function(a,b,c,d){return Vq(a,b,c,d,E.o(y(0,5)))},localName:\"sum\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:3}},{l:[{type:46,g:2},{type:46,g:0}],m:Vq,localName:\"sum\",\nnamespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:46,g:0}},{l:[{type:59,g:2}],m:function(a,b,c,d){if(!d.G()&&!d.ya())throw Error(\"FORG0003: The argument passed to fn:zero-or-one contained more than one item.\");return d},localName:\"zero-or-one\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:0}},{l:[{type:59,g:2}],m:function(a,b,c,d){if(d.G())throw Error(\"FORG0004: The argument passed to fn:one-or-more was empty.\");return d},localName:\"one-or-more\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\ni:{type:59,g:1}},{l:[{type:59,g:2}],m:function(a,b,c,d){if(!d.ya())throw Error(\"FORG0005: The argument passed to fn:exactly-one is empty or contained more than one item.\");return d},localName:\"exactly-one\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:3}},{l:[{type:59,g:2},{type:60,g:3}],m:function(a,b,c,d,e){if(d.G())return d;var f=e.first(),g=f.s;if(1!==g.length)throw Error(\"XPTY0004: signature of function passed to fn:filter is incompatible.\");return d.filter(function(k){k=\nae(g[0],E.o(k),b,\"fn:filter\",!1);k=f.value.call(void 0,a,b,c,k);if(!k.ya()||!C(k.first().type,0))throw Error(\"XPTY0004: signature of function passed to fn:filter is incompatible.\");return k.first().value})},localName:\"filter\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:60,g:3}],m:function(a,b,c,d,e){if(d.G())return d;var f=e.first(),g=f.s;if(1!==g.length)throw Error(\"XPTY0004: signature of function passed to fn:for-each is incompatible.\");var k=d.value,\nl;return E.create({next:function(n){for(;;){if(!l){var q=k.next(0);if(q.done)return q;q=ae(g[0],E.o(q.value),b,\"fn:for-each\",!1);l=f.value.call(void 0,a,b,c,q).value}q=l.next(n);if(!q.done)return q;l=null}}})},localName:\"for-each\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:59,g:2},{type:60,g:3}],m:function(a,b,c,d,e,f){if(d.G())return d;var g=f.first(),k=g.s;if(2!==k.length)throw Error(\"XPTY0004: signature of function passed to fn:fold-left is incompatible.\");\nreturn d.L(function(l){return l.reduce(function(n,q){n=ae(k[0],n,b,\"fn:fold-left\",!1);q=ae(k[1],E.o(q),b,\"fn:fold-left\",!1);return g.value.call(void 0,a,b,c,n,q)},e)})},localName:\"fold-left\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2},{type:59,g:2},{type:60,g:3}],m:function(a,b,c,d,e,f){if(d.G())return d;var g=f.first(),k=g.s;if(2!==k.length)throw Error(\"XPTY0004: signature of function passed to fn:fold-right is incompatible.\");return d.L(function(l){return l.reduceRight(function(n,\nq){n=ae(k[0],n,b,\"fn:fold-right\",!1);q=ae(k[1],E.o(q),b,\"fn:fold-right\",!1);return g.value.call(void 0,a,b,c,q,n)},e)})},localName:\"fold-right\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:59,g:2}},{l:[{type:59,g:2}],m:function(a,b,c,d){if(!b.j)throw Error(\"serialize() called but no xmlSerializer set in execution parameters.\");a=d.M();if(!a.every(function(e){return C(e.type,53)}))throw Error(\"Expected argument to fn:serialize to resolve to a sequence of Nodes.\");return E.o(y(a.map(function(e){return b.j.serializeToString(kj(e.value,\nb,!1))}),1))},localName:\"serialize\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:1,g:3}}],ue,[{l:[{type:59,g:3},{type:61,g:3}],m:function(a,b,c,d,e){var f,g;return E.create({next:function(){if(!f){var k=Lq(d,e,c,b);f=k.Gc;g=k.Dc}try{return f.next(0)}catch(l){bg(g.value,l)}}})},localName:\"evaluate\",namespaceURI:\"http://fontoxml.com/fontoxpath\",i:{type:59,g:2}},{l:[],m:function(){return E.o(y(\"undefined\"===typeof VERSION?\"devbuild\":VERSION,1))},localName:\"version\",namespaceURI:\"http://fontoxml.com/fontoxpath\",\ni:{type:1,g:3}}],[{l:[{type:23,g:3},{type:5,g:3}],m:function(a,b,c,d,e){return $b([d,e],function(f){var g=t(f);f=g.next().value;g=g.next().value;var k=c.za(f.value.namespaceURI,f.value.localName,g.value);if(null===k)return E.empty();f=new Bb({l:k.l,arity:g.value,localName:f.value.localName,namespaceURI:f.value.namespaceURI,i:k.i,value:k.m});return E.o(f)})},localName:\"function-lookup\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{g:0,type:60}},{l:[{type:60,g:3}],m:function(a,b,c,d){return $b([d],\nfunction(e){e=t(e).next().value;return e.Pa()?E.empty():E.o(y(new Ab(\"\",e.u,e.j),23))})},localName:\"function-name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:23,g:0}},{l:[{type:60,g:3}],m:function(a,b,c,d){return $b([d],function(e){e=t(e).next().value;return E.o(y(e.A,5))})},localName:\"function-arity\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",i:{type:5,g:3}}]);function Xq(a){this.h=a}h=Xq.prototype;h.createAttributeNS=function(a,b){return this.h.createAttributeNS(a,b)};h.createCDATASection=function(a){return this.h.createCDATASection(a)};h.createComment=function(a){return this.h.createComment(a)};h.createDocument=function(){return this.h.createDocument()};h.createElementNS=function(a,b){return this.h.createElementNS(a,b)};h.createProcessingInstruction=function(a,b){return this.h.createProcessingInstruction(a,b)};h.createTextNode=function(a){return this.h.createTextNode(a)};var Yq=Symbol(\"IS_XPATH_VALUE_SYMBOL\");function Zq(a){return function(b,c){b=Dc(new Mb(null===c?new Gb:c),b,xb(a));c={};return c[Yq]=!0,c.Db=b,c}};Wq.forEach(function(a){ig(a.namespaceURI,a.localName,a.l,a.i,a.m)});function $q(a){return a&&\"object\"===typeof a&&\"lookupNamespaceURI\"in a?function(b){return a.lookupNamespaceURI(b||null)}:function(){return null}}function ar(a){return function(b){var c=b.localName;return b.prefix?null:{namespaceURI:a,localName:c}}}\nfunction br(a,b,c,d,e,f){var g,k,l,n,q,u,v;if(null===d||void 0===d)d=d||{};e?(g=e.logger||{trace:console.log.bind(console)},k=e.documentWriter,l=e.moduleImports,n=e.namespaceResolver,q=e.functionNameResolver,u=e.nodesFactory,v=e.xmlSerializer):(g={trace:console.log.bind(console)},l={},n=null,u=null,k=null,v=null,q=void 0);var A=new Mb(null===c?new Gb:c);c=l||Object.create(null);l=void 0===e.defaultFunctionNamespaceURI?\"http://www.w3.org/2005/xpath-functions\":e.defaultFunctionNamespaceURI;var G=Kq(a,\nf,n||$q(b),d,c,l,q||ar(l));a=b?Ec(A,b):E.empty();b=!u&&f.aa?new ef(b):new Xq(u);k=k?new Jb(k):Ib;u=Object.keys(d).reduce(function(fa,ea){var Ea=d[ea];fa[\"Q{}\"+ea+\"[0]\"]=Ea&&\"object\"===typeof Ea&&Yq in Ea?function(){return E.create(Ea.Db)}:function(){return Ec(A,d[ea])};return fa},Object.create(null));n={};q=t(Object.keys(G.ia.Da));for(c=q.next();!c.done;n={Wa:n.Wa},c=q.next())n.Wa=c.value,u[n.Wa]||(u[n.Wa]=function(fa){return function(){return(0,G.ia.Da[fa.Wa])(H,L)}}(n));var H=new Fc({N:a.first(),\nJa:0,Ga:a,Ea:u});var L=new Lc(f.debug,f.Ha,A,b,k,e.currentContext,g,v);return{xb:H,zb:L,da:G.da}};function cr(a,b){var c={},d=0,e=!1,f=null;return{next:function(){if(e)return z;for(var g={};d<a.h.length;){a:{var k=a.h[d].key.value;if(!f){g.kb=a.h[d];var l=g.kb.value().$({default:function(n){return n},multiple:function(n){return function(){throw Error(\"Serialization error: The value of an entry in a map is expected to be a single item or an empty sequence. Use arrays when putting multiple values in a map. The value of the key \"+n.kb.key.value+\" holds multiple items\");}}(g)}).first();if(null===\nl){c[k]=null;d++;break a}f=dr(l,b)}l=f.next(0);f=null;c[k]=l.value;d++}g={kb:g.kb}}e=!0;return B(c)}}}\nfunction er(a,b){var c=[],d=0,e=!1,f=null;return{next:function(){if(e)return z;for(;d<a.R.length;){if(!f){var g=a.R[d]().$({default:function(k){return k},multiple:function(){throw Error(\"Serialization error: The value of an entry in an array is expected to be a single item or an empty sequence. Use nested arrays when putting multiple values in an array.\");}}).first();if(null===g){c[d++]=null;continue}f=dr(g,b)}g=f.next(0);f=null;c[d++]=g.value}e=!0;return B(c)}}}\nfunction dr(a,b){if(C(a.type,61))return cr(a,b);if(C(a.type,62))return er(a,b);if(C(a.type,23)){var c=a.value;return{next:function(){return B(\"Q{\"+(c.namespaceURI||\"\")+\"}\"+c.localName)}}}switch(a.type){case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:var d=a.value;return{next:function(){return B(tc(d))}};case 47:case 53:case 54:case 55:case 56:case 57:case 58:var e=a.value;return{next:function(){return B(kj(e,b,!1))}};default:return{next:function(){return B(a.value)}}}};var fr={ANY:0,NUMBER:1,STRING:2,BOOLEAN:3,NODES:7,FIRST_NODE:9,STRINGS:10,MAP:11,ARRAY:12,NUMBERS:13,ALL_RESULTS:14,ASYNC_ITERATOR:99};fr[fr.ANY]=\"ANY\";fr[fr.NUMBER]=\"NUMBER\";fr[fr.STRING]=\"STRING\";fr[fr.BOOLEAN]=\"BOOLEAN\";fr[fr.NODES]=\"NODES\";fr[fr.FIRST_NODE]=\"FIRST_NODE\";fr[fr.STRINGS]=\"STRINGS\";fr[fr.MAP]=\"MAP\";fr[fr.ARRAY]=\"ARRAY\";fr[fr.NUMBERS]=\"NUMBERS\";fr[fr.ALL_RESULTS]=\"ALL_RESULTS\";fr[fr.ASYNC_ITERATOR]=\"ASYNC_ITERATOR\";\nfunction gr(a,b,c,d){switch(c){case 3:return b.getEffectiveBooleanValue();case 2:return b=Vc(b,d).M(),b.length?b.map(function(l){return Kd(l,1).value}).join(\" \"):\"\";case 10:return b=Vc(b,d).M(),b.length?b.map(function(l){return l.value+\"\"}):[];case 1:return b=b.first(),null!==b&&C(b.type,2)?b.value:NaN;case 9:b=b.first();if(null===b)return null;if(!C(b.type,53))throw Error(\"Expected XPath \"+$f(a)+\" to resolve to Node. Got \"+tb[b.type]);return kj(b.value,d,!1);case 7:b=b.M();if(!b.every(function(l){return C(l.type,\n53)}))throw Error(\"Expected XPath \"+$f(a)+\" to resolve to a sequence of Nodes.\");return b.map(function(l){return kj(l.value,d,!1)});case 11:b=b.M();if(1!==b.length)throw Error(\"Expected XPath \"+$f(a)+\" to resolve to a single map.\");b=b[0];if(!C(b.type,61))throw Error(\"Expected XPath \"+$f(a)+\" to resolve to a map\");return cr(b,d).next(0).value;case 12:b=b.M();if(1!==b.length)throw Error(\"Expected XPath \"+$f(a)+\" to resolve to a single array.\");b=b[0];if(!C(b.type,62))throw Error(\"Expected XPath \"+\n$f(a)+\" to resolve to an array\");return er(b,d).next(0).value;case 13:return b.M().map(function(l){if(!C(l.type,2))throw Error(\"Expected XPath \"+$f(a)+\" to resolve to numbers\");return l.value});case 99:var e=b.value,f=null,g=!1,k=function(){for(;!g;){if(!f){var l=e.next(0);if(l.done){g=!0;break}f=dr(l.value,d)}l=f.next(0);f=null;return l}return Promise.resolve({done:!0,value:null})};\"asyncIterator\"in Symbol?(b={},b=(b[Symbol.asyncIterator]=function(){return this},b.next=function(){return(new Promise(function(l){return l(k())})).catch(function(l){bg(a,\nl)})},b)):b={next:function(){return new Promise(function(l){return l(k())})}};return b;case 14:return b.M().map(function(l){return dr(l,d).next(0).value});default:return b=b.M(),b.every(function(l){return C(l.type,53)&&!C(l.type,47)})?(b=b.map(function(l){return kj(l.value,d,!1)}),1===b.length?b[0]:b):1===b.length?(b=b[0],C(b.type,62)?er(b,d).next(0).value:C(b.type,61)?cr(b,d).next(0).value:Uc(b,d).first().value):Vc(E.create(b),d).M().map(function(l){return l.value})}};var hr=!1,ir=null,jr={getPerformanceSummary:function(){var a=ir.getEntriesByType(\"measure\").filter(function(b){return b.name.startsWith(\"XPath: \")});return Array.from(a.reduce(function(b,c){var d=c.name.substring(7);b.has(d)?(d=b.get(d),d.times+=1,d.totalDuration+=c.duration):b.set(d,{xpath:d,times:1,totalDuration:c.duration,average:0});return b},new Map).values()).map(function(b){b.average=b.totalDuration/b.times;return b}).sort(function(b,c){return c.totalDuration-b.totalDuration})},setPerformanceImplementation:function(a){ir=\na},startProfiling:function(){if(null===ir)throw Error(\"Performance API object must be set using `profiler.setPerformanceImplementation` before starting to profile\");ir.clearMarks();ir.clearMeasures();hr=!0},stopProfiling:function(){hr=!1}},kr=0;var lr={XPATH_3_1_LANGUAGE:\"XPath3.1\",XQUERY_3_1_LANGUAGE:\"XQuery3.1\",XQUERY_UPDATE_3_1_LANGUAGE:\"XQueryUpdate3.1\"};function mr(a,b,c,d,e,f){e=e||0;if(!a||\"string\"!==typeof a&&!(\"nodeType\"in a))throw new TypeError(\"Failed to execute 'evaluateXPath': xpathExpression must be a string or an element depicting an XQueryX DOM tree.\");f=f||{};try{var g=br(a,b,c||null,d||{},f,{qa:\"XQueryUpdate3.1\"===f.language,aa:\"XQuery3.1\"===f.language||\"XQueryUpdate3.1\"===f.language,debug:!!f.debug,Ha:!!f.disableCache});var k=g.xb;var l=g.zb;var n=g.da}catch(v){bg(a,v)}if(n.I)throw Error(\"XUST0001: Updating expressions should be evaluated as updating expressions\");\nif(3===e&&b&&\"object\"===typeof b&&\"nodeType\"in b&&(c=n.A(),b=Fb(b),null!==c&&!b.includes(c)))return!1;try{b=a;hr&&(\"string\"!==typeof b&&(b=$f(b)),ir.mark(b+(0===kr?\"\":\"@\"+kr)),kr++);var q=J(n,k,l),u=gr(a,q,e,l);e=a;hr&&(\"string\"!==typeof e&&(e=$f(e)),kr--,k=e+(0===kr?\"\":\"@\"+kr),ir.measure(\"XPath: \"+e,k),ir.clearMarks(k));return u}catch(v){bg(a,v)}}Object.assign(mr,{Hc:14,ANY_TYPE:0,Pb:12,Qb:99,BOOLEAN_TYPE:3,Ub:9,hc:11,kc:7,oc:13,NUMBER_TYPE:1,rc:10,STRING_TYPE:2,Ic:\"XPath3.1\",Jc:\"XQuery3.1\",vc:\"XQueryUpdate3.1\"});\nvar nr={};Object.assign(mr,(nr.ALL_RESULTS_TYPE=14,nr.ANY_TYPE=0,nr.ARRAY_TYPE=12,nr.ASYNC_ITERATOR_TYPE=99,nr.BOOLEAN_TYPE=3,nr.FIRST_NODE_TYPE=9,nr.MAP_TYPE=11,nr.NODES_TYPE=7,nr.NUMBERS_TYPE=13,nr.NUMBER_TYPE=1,nr.STRINGS_TYPE=10,nr.STRING_TYPE=2,nr.XPATH_3_1_LANGUAGE=\"XPath3.1\",nr.XQUERY_3_1_LANGUAGE=\"XQuery3.1\",nr.XQUERY_UPDATE_3_1_LANGUAGE=\"XQueryUpdate3.1\",nr));function or(a,b,c,d,e){return mr(a,b,c,d,mr.Qb,e)};function pr(a,b,c,d){var e={};return e.pendingUpdateList=a.fa.map(function(f){return f.h(d)}),e.xdmValue=gr(b,E.create(a.H),c,d),e};function qr(a,b,c,d,e){var f,g,k,l,n,q,u,v,A,G;return Aa(new za(new va(function(H){switch(H.h){case 1:e=e||{};try{l=br(a,b,c||null,d||{},e||{},{qa:!0,aa:!0,debug:!!e.debug,Ha:!!e.disableCache}),f=l.xb,g=l.zb,k=l.da}catch(fa){bg(a,fa)}if(k.I){H.h=2;break}n=[];q=or(a,b,c,d,Object.assign(Object.assign({},e),{language:\"XQueryUpdate3.1\"}));var L=q.next();H.h=3;return{value:L};case 3:u=H.u;case 4:if(u.done){H.h=6;break}n.push(u.value);L=q.next();H.h=7;return{value:L};case 7:u=H.u;H.h=4;break;case 6:return v=\n{},H.return(Promise.resolve((v.pendingUpdateList=[],v.xdmValue=n,v)));case 2:try{G=k.u(f,g),A=G.next(0)}catch(fa){bg(a,fa)}return H.return(pr(A.value,a,e.returnType,g))}})))};function rr(a,b,c,d,e){e=e||{};try{var f=br(a,b,c||null,d||{},e||{},{qa:!0,aa:!0,debug:!!e.debug,Ha:!!e.disableCache});var g=f.xb;var k=f.zb;var l=f.da}catch(q){bg(a,q)}if(!l.I)return g={},k={},k.pendingUpdateList=[],k.xdmValue=mr(a,b,c,d,e.i,Object.assign(Object.assign({},e),(g.language=mr.vc,g))),k;try{var n=l.u(g,k).next(0)}catch(q){bg(a,q)}return pr(n.value,a,e.returnType,k)};function sr(a,b,c,d,e){return mr(a,b,c,d,mr.Pb,e)};function tr(a,b,c,d,e){return mr(a,b,c,d,mr.BOOLEAN_TYPE,e)};function ur(a,b,c,d,e){return mr(a,b,c,d,mr.Ub,e)};function vr(a,b,c,d,e){return mr(a,b,c,d,mr.hc,e)};function wr(a,b,c,d,e){return mr(a,b,c,d,mr.kc,e)};function xr(a,b,c,d,e){return mr(a,b,c,d,mr.NUMBER_TYPE,e)};function yr(a,b,c,d,e){return mr(a,b,c,d,mr.oc,e)};function zr(a,b,c,d,e){return mr(a,b,c,d,mr.STRING_TYPE,e)};function Ar(a,b,c,d,e){return mr(a,b,c,d,mr.rc,e)};function Br(a,b,c,d){b=new Mb(b?b:new Gb);d=d?new Jb(d):Ib;c=c?c=new Xq(c):null;a=a.map(Oj);of(a,b,c,d)};function Cr(a,b,c){switch(b.type){case 0:return[a,{type:0}];case 1:return[a,{type:1}];case 3:return[\"\"+Cr(a+\"(\"+(c?c:\"contextItem\")+\")\",b.i,c)[0],b.i];case 4:return[a,{type:4}];case 5:throw Error(\"Trying to get value of generated code with type None\");default:throw Error(\"Unreachable! Trying to get compiled value of unsupported GeneratedCodeType.\");}}function Dr(a,b,c){return{code:a,xa:b,isAstAccepted:!0,ta:c}}function au(a){return{isAstAccepted:!1,reason:a}};function bu(a,b,c,d){d=void 0===d?\"contextItem\":d;switch(c.type){case 0:case 1:return Dr(\"!!\"+a,{type:0},[b]);case 3:return a=bu(a+\"(\"+d+\")\",\"\",c.i,d),a.isAstAccepted?Dr(\"!!\"+a.code,a.xa,[b]):a;case 4:return Dr(\"(() => {\\n\\t\\t\\t\\t\\tconst result = \"+a+\".next();\\n\\t\\t\\t\\t\\treturn result.done ? false : !!result.value;\\n\\t\\t\\t\\t})()\",{type:0});case 5:throw Error(\"Trying to get value of generated code with type None\");default:throw Error(\"Unreachable! Trying to get compiled value of unsupported GeneratedCodeType.\");\n}}var cu={DONE_TOKEN:z,getEffectiveBooleanValue:lb,isSubtypeOf:C,ready:B};var du={qc:\"pathExpr\",Ob:\"andOp\",pc:\"orOp\",sc:\"stringConstantExpr\",Sb:\"equalOp\",nc:\"notEqualOp\",dc:\"lessThanOrEqualOp\",cc:\"lessThanOp\",Yb:\"greaterThanOrEqualOp\",Xb:\"greaterThanOp\",Tb:\"eqOp\",jc:\"neOp\",fc:\"ltOp\",ec:\"leOp\",Zb:\"gtOp\",Wb:\"geOp\",ac:\"isOp\",mc:\"nodeBeforeOp\",lc:\"nodeAfterOp\",Vb:\"functionCallExpr\"},eu=Object.values(du);\nfunction fu(a,b,c,d,e){a=M(a,c);a=M(a,eu);if(!a)return[au(\"Unsupported: a base expression used with an operand.\"),null];b+=c;c=t(d.yb(a,b,d));d=c.next().value;c=c.next().value;return d.isAstAccepted?0===e?[bu(b,d.code,d.xa),null]:[Dr(b,d.xa,[d.code]),c]:[d,null]};function gu(a,b,c){4===b&&(a+=\".next().value\");47===c&&(a=\"(function () { const attr = \"+a+\"; return attr ? domFacade.getData(attr) : null})()\");return a}\nfunction hu(a,b,c,d,e){var f=O(M(a,\"firstOperand\")[1],\"type\");a=O(M(a,\"secondOperand\")[1],\"type\");if(!f||!a)return au(\"Left or right type of compare are not found, annotation failed.\");var g=[47,1];if(!g.includes(f.type)||!g.includes(a.type))return au(\"Unsupported types in compare: [\"+tb[f.type]+\", \"+tb[a.type]+\"]\");if(!c.isAstAccepted)return c;if(!d.isAstAccepted)return d;if(!f||!a)return au(\"Operands in compare weren't annotated\");g=new Map([[\"eqOp\",\"===\"],[\"neOp\",\"!==\"]]);if(!g.has(b))return au(b+\n\" not yet implemented\");b=g.get(b);g=Cr(c.code,c.xa);var k=Cr(d.code,d.xa);return Dr(\"function \"+e+\"(contextItem) {\\n\\t\\t\\t\\t\"+c.ta.join(\"\\n\")+\"\\n\\t\\t\\t \\t\"+d.ta.join(\"\\n\")+\"\\n\\t \\t \\treturn \"+gu(g[0],g[1].type,f.type)+\" \"+b+\" \"+gu(k[0],k[1].type,a.type)+\";\\n\\t\\t}\",{type:3,i:{type:0}})}var iu={},ju=(iu.equalOp=\"eqOp\",iu.notEqualOp=\"neOp\",iu.lessThanOrEqualOp=\"leOp\",iu.lessThanOp=\"ltOp\",iu.greaterThanOrEqualOp=\"geOp\",iu.greaterThanOp=\"gtOp\",iu);var mu={\"local-name\":ku,name:lu};function nu(a){return\"(\"+a+\".localName || \"+a+\".target || '')\"}function ou(a){return\"(((\"+a+\".prefix || '').length !== 0 ? \"+a+\".prefix + ':' : '')\\n\\t\\t+ (\"+a+\".localName || \"+a+\".target || ''))\"}\nfunction pu(a,b,c,d,e){a=M(a,\"arguments\");if(1===a.length)b=\"function \"+b+\"(contextItem) {\\n\\t\\t\\tif (contextItem === undefined || contextItem === null) {\\n\\tthrow new Error('XPDY0002: The function which was called depends on dynamic context, which is absent.');\\n}\\n\\t\\t\\treturn \"+d(\"contextItem\")+\";\\n\\t\\t}\";else if(2===a.length)if(e=a[1],c=t(c.yb(e,\"arg\",c)),a=c.next().value,c.next(),c=a.isAstAccepted?Dr(\"arg\",a.xa,[a.code]):a,\"contextItemExpr\"===e[0])b=\"function \"+b+\"(contextItem) {\\n\\t\\t\\t\\tif (contextItem === undefined || contextItem === null) {\\n\\tthrow new Error('XPDY0002: The function which was called depends on dynamic context, which is absent.');\\n}\\n\\t\\t\\t\\treturn \"+\nd(\"contextItem\")+\";\\n\\t\\t\\t}\";else{if(!c.isAstAccepted)return c;b=\"function \"+b+\"(contextItem) {\\n\\t\\t\\t\\t\"+c.ta+\"\\n\\t\\t\\t\\tconst value = \"+Cr(c.code,c.xa)[0]+';\\n\\t\\t\\t\\tconst childElement = value.next().value;\\n\\t\\t\\t\\treturn (value.done ? \"\" : '+d(\"childElement\")+\");\\n\\t\\t\\t}\"}else return au(\"Incorrect arg count for \"+e+\" function\");return Dr(b,{type:3,i:{type:0}})}function lu(a,b,c){return pu(a,b,c,ou,\"name()\")}function ku(a,b,c){return pu(a,b,c,nu,\"local-name()\")};function qu(a){return JSON.stringify(a).replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")};function ru(a,b,c,d){var e=t(fu(a,b,\"firstOperand\",c,0)),f=e.next().value;e=e.next().value;if(!f.isAstAccepted)return[f,null];c=t(fu(a,b,\"secondOperand\",c,0));a=c.next().value;c=c.next().value;return a.isAstAccepted?[Dr(\"\\n\\tfunction \"+b+\"(contextItem) {\\n\\t\\t\"+f.ta.join(\"\\n\")+\"\\n\\t\\t\"+a.ta.join(\"\\n\")+\"\\n\\t\\treturn \"+f.code+\" \"+d+\" \"+a.code+\";\\n\\t}\\n\\t\",{type:3,i:{type:0}}),\"&&\"===d?Ah(e,c):e||c]:[a,null]};function su(a){for(var b=[],c=0;c<arguments.length;++c)b[c]=arguments[c];return b.filter(function(d){return\"\"!==d}).join(\" && \")}function tu(a,b,c,d,e,f){var g=su(e+c,\"i\"+c+\" < \"+e+c+\".length\"),k=1!==c?\"i\"+c+\" = 0;\":\"\";a=su(\"contextItem\"+c,a,b);return Dr(\"\\n\\t\"+f+\"\\n\\twhile (\"+g+\") {\\n\\t\\tconst contextItem\"+c+\" = \"+e+c+\"[i\"+c+\"];\\n\\t\\tif (!(\"+a+\")) {\\n\\t\\t\\ti\"+c+\"++;\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\t\\t\"+d+\"\\n\\t}\\n\\t\"+k+\"\\n\\t\",{type:2},[\"let i\"+c+\" = 0;\"])}\nfunction uu(a,b,c,d,e){a=su(\"i\"+c+\" === 0\",\"contextItem\"+c,a,b);return Dr(\"\\n\\t\\t\"+e+\"\\n\\t\\tif (\"+a+\") {\\n\\t\\t\\t\"+d+\"\\n\\t\\t}\\n\\t\\t\",{type:2},[\"let i\"+c+\" = 0;\"])};var vu={tc:\"textTest\",Rb:\"elementTest\",ic:\"nameTest\",uc:\"Wildcard\"},wu=Object.values(vu);\nfunction xu(a,b,c){if(null===b.namespaceURI&&\"*\"!==b.prefix){c=c.ba(b.prefix||\"\")||null;if(!c&&b.prefix)throw Error(\"XPST0081: The prefix \"+b.prefix+\" could not be resolved.\");b.namespaceURI=c}c=b.prefix;var d=b.namespaceURI;b=b.localName;var e=a+\".nodeType\\n\\t\\t&& (\"+a+\".nodeType === /*ELEMENT_NODE*/ 1\\n\\t\\t|| \"+a+\".nodeType === /*ATTRIBUTE_NODE*/ 2)\";if(\"*\"===c)return\"*\"===b?[Dr(e,{type:0}),null]:[Dr(e+\" && \"+a+\".localName === \"+qu(b),{type:0}),\"name-\"+b];e=\"*\"!==b?e+\" && \"+a+\".localName === \"+\nqu(b)+\" && \":\"\";c=\"\"===c?a+\".nodeType\\n&& \"+a+\".nodeType === /*ELEMENT_NODE*/ 1 ? \"+qu(d)+\" : null\":qu(d);return[Dr(e+(\"(\"+a+\".namespaceURI || null) === ((\"+c+\") || null)\"),{type:0}),\"name-\"+b]}\nfunction yu(a,b,c){var d=a[0];switch(d){case vu.Rb:d=(a=M(a,\"elementName\"))&&M(a,\"star\");var e=b+\".nodeType === /*ELEMENT_NODE*/ 1\";null===a||d?b=[Dr(e,{type:0}),null]:(a=Fg(M(a,\"QName\")),b=xu(b,a,c));return b;case vu.tc:return[Dr(b+\".nodeType === /*TEXT_NODE*/ 3\",{type:0}),null];case vu.ic:return xu(b,Fg(a),c);case vu.uc:return M(a,\"star\")?(d=M(a,\"uri\"),null!==d?b=xu(b,{localName:\"*\",namespaceURI:N(d),prefix:\"\"},c):(d=M(a,\"NCName\"),b=\"star\"===M(a,\"*\")[0]?xu(b,{localName:N(d),namespaceURI:null,prefix:\"*\"},\nc):xu(b,{localName:\"*\",namespaceURI:null,prefix:N(d)},c))):b=xu(b,{localName:\"*\",namespaceURI:null,prefix:\"*\"},c),b;default:return[au(\"Unsupported: the test '\"+d+\"'.\"),null]}};function zu(a,b){if(0===a.length)return[Dr(\"\\n\\t\\t\\tif (!hasReturned) {\\n\\t\\t\\t\\thasReturned = true;\\n\\t\\t\\t\\treturn ready(contextItem);\\n\\t\\t\\t}\\n\\t\\t\\t\",{type:2},[\"let hasReturned = false;\"]),null];for(var c=\"\",d=[],e=null,f=a.length-1;0<=f;f--){var g=a[f],k=f+1,l=M(g,\"predicates\");a:{var n=b;var q=\"\",u=[];if(l){l=Q(l,\"*\");for(var v=null,A=0;A<l.length;A++){var G=\"step\"+k+\"_predicate\"+A,H=t(n.yb(l[A],G,n)),L=H.next().value;H=H.next().value;if(!L.isAstAccepted){n=[L,null];break a}v=Ah(v,H);G=bu(G,\n\"\",L.xa,\"contextItem\"+k);if(!G.isAstAccepted){n=[G,null];break a}q=0===A?q+G.code:q+\" && \"+G.code;u.push(L.code)}n=[Dr(q,{type:0},u),v]}else n=[Dr(\"\",{type:5},u),null]}q=t(n);n=q.next().value;u=q.next().value;if(!n.isAstAccepted)return[n,null];if(q=M(g,\"xpathAxis\")){l=M(g,wu);if(!l)return[au(\"Unsupported: the test in the '\"+g+\"' step.\"),null];c=f===a.length-1?\"i\"+k+\"++;\\n\\t\\t\\t\\t\\t return ready(contextItem\"+k+\");\":c+\"\\n\\t\\t\\t\\t\\t i\"+k+\"++;\";v=t(yu(l,\"contextItem\"+k,b));l=v.next().value;v=v.next().value;\nif(!l.isAstAccepted)return[l,null];u=Ah(v,u);a:switch(l=l.code,v=n.code,q=N(q),q){case \"attribute\":k=[tu(l,v,k,c,\"attributeNodes\",\"\\n\\tlet attributeNodes\"+k+\";\\n\\tif (contextItem && contextItem\"+(k-1)+\".nodeType === /*ELEMENT_NODE*/ 1) {\\n\\t\\tattributeNodes\"+k+\" = domFacade.getAllAttributes(contextItem\"+(k-1)+\" \"+(u?', \"'+u+'\"':\"\")+\");\\n\\t}\\n\\t\"),\"type-1\"];break a;case \"child\":k=[tu(l,v,k,c,\"childNodes\",\"const childNodes\"+k+\" = domFacade.getChildNodes(contextItem\"+(k-1)+\" \"+(u?', \"'+u+'\"':\"\")+\");\"),\nnull];break a;case \"parent\":k=[uu(l,v,k,c,\"\\n\\tconst contextItem\"+k+\" = domFacade.getParentNode(contextItem\"+(k-1)+\" \"+(u?', \"'+u+'\"':\"\")+\");\\n\\t\"),null];break a;case \"self\":k=[uu(l,v,k,c,\"const contextItem\"+k+\" = contextItem\"+(k-1)+\";\"),u];break a;default:k=[au(\"Unsupported: the \"+q+\" axis\"),null]}c=t(k);k=c.next().value;c=c.next().value;if(!k.isAstAccepted)return[k,null];0===f&&(e=c);d.push.apply(d,[].concat(w(k.ta),w(n.ta)));c=k.code}else return[au(\"Unsupported: filter expressions.\"),null];if(0<\nQ(g,\"lookup\").length)return[au(\"Unsupported: lookups.\"),null]}return[Dr(\"const contextItem0 = contextItem;\"+c,{type:2},d),e]};function Au(a,b,c){var d=a[0];switch(d){case du.qc:d=\"\";M(a,\"rootExpr\")&&(d=\"\\n\\t\\tlet documentNode = contextItem;\\n\\t\\twhile (documentNode.nodeType !== /*DOCUMENT_NODE*/9) {\\n\\t\\t\\tdocumentNode = domFacade.getParentNode(documentNode);\\n\\t\\t\\tif (documentNode === null) {\\n\\t\\t\\t\\tthrow new Error('XPDY0050: the root node of the context node is not a document node.');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tcontextItem = documentNode;\\n\\t\\t\");var e=t(zu(Q(a,\"stepExpr\"),c));a=e.next().value;e=e.next().value;return a.isAstAccepted?\n[Dr(\"\\n\\tfunction \"+b+\"(contextItem) {\\n\\t\\t\"+d+\"\\n\\t\\t\"+a.ta.join(\"\\n\")+\"\\n\\t\\tconst next = () => {\\n\\t\\t\\t\"+a.code+\"\\n\\t\\t\\treturn DONE_TOKEN;\\n\\t\\t};\\n\\t\\treturn {\\n\\t\\t\\tnext,\\n\\t\\t\\t[Symbol.iterator]() { return this; }\\n\\t\\t};\\n\\t}\\n\\t\",{type:3,i:{type:4}}),e]:[a,null];case du.Ob:return ru(a,b,c,\"&&\");case du.pc:return ru(a,b,c,\"||\");case du.sc:return a=M(a,\"value\")[1]||\"\",a=qu(a),[Dr(\"const \"+b+\" = \"+a+\";\",{type:1}),null];case du.Sb:case du.nc:case du.dc:case du.cc:case du.Yb:case du.Xb:case du.Tb:case du.jc:case du.fc:case du.ec:case du.Zb:case du.Wb:case du.ac:case du.mc:case du.lc:a:{var f=\nt(fu(a,b,\"firstOperand\",c));e=f.next().value;f.next();if(e.isAstAccepted)if(f=t(fu(a,b,\"secondOperand\",c)),c=f.next().value,f.next(),c.isAstAccepted)switch(d){case \"eqOp\":case \"neOp\":case \"ltOp\":case \"leOp\":case \"gtOp\":case \"geOp\":case \"isOp\":b=hu(a,d,e,c,b);break a;case \"equalOp\":case \"notEqualOp\":case \"lessThanOrEqualOp\":case \"lessThanOp\":case \"greaterThanOrEqualOp\":case \"greaterThanOp\":f=O(a,\"type\");var g=O(a,\"type\");b=f&&g?3===f.g&&3===g.g?hu(a,ju[d],e,c,b):au(\"generalCompare with sequences is still in development\"):\nau(\"types of compare are not known\");break a;default:b=au(\"Unsupported compare type\")}else b=c;else b=e}return[b,null];case du.Vb:return d=N(M(a,\"functionName\")),[void 0!==mu[d]?mu[d](a,b,c):au(\"Unsupported function: \"+d),null];default:return[au(\"Unsupported: the base expression '\"+d+\"'.\"),null]}};function Bu(a,b,c){switch(a){case 9:c=t(Cr(\"compiledXPathExpression\",b));a=c.next().value;if(4!==c.next().value.type)throw Error(\"Trying access generated code as an iterator while this is not the case.\");return Dr(\"\\n\\tconst firstResult = \"+a+\".next();\\n\\tif (!firstResult.done) {\\n\\t\\treturn firstResult.value\\n\\t}\\n\\treturn null;\\n\\t\",{type:2});case 7:return c=t(Cr(\"compiledXPathExpression\",b)),a=c.next().value,4!==c.next().value.type?au(\"Return type was not an iterator\"):Dr(\"\\n\\tconst nodes = [];\\n\\tfor (const node of \"+\na+\") {\\n\\t\\tnodes.push(node);\\n\\t}\\n\\treturn nodes;\\n\\t\",{type:2});case 3:return c=bu(\"compiledXPathExpression\",\"\",b),c.isAstAccepted?Dr(\"return \"+c.code+\";\",{type:2}):c;case 2:return void 0===c?c=au(\"Full AST wasn't annotated so we cannot correctly emit a string return\"):C(c,1)||C(c,47)?(b=t(Cr(\"compiledXPathExpression\",b)),a=b.next().value,b=b.next().value,c=Dr(\"return \"+gu(a,b.type,c)+\" || '';\",{type:2})):c=au(\"Not implemented: returning anything but strings and attributes from codegen\"),c;default:return au(\"Unsupported: the return type '\"+\na+\"'.\")}}\nfunction Cu(a,b,c){var d=M(a,\"mainModule\");if(!d)return au(\"Unsupported: Can not execute a library module.\");if(M(d,\"prolog\"))return au(\"Unsupported: XQuery.\");d=P(d,[\"queryBody\",\"*\"]);c.yb=Au;var e=t(Au(d,\"compiledXPathExpression\",c));c=e.next().value;e.next();if(!1===c.isAstAccepted)return c;e=c.ta?c.ta.join(\"\\n\"):\"\";d=O(d,\"type\");b=Bu(b,c.xa,d?d.type:void 0);if(!1===b.isAstAccepted)return b;b=e+c.code+b.code;c=\"\\n\\treturn (contextItem, domFacade, runtimeLib) => {\\n\\t\\tconst {\\n\\t\\t\\tDONE_TOKEN,\\n\\t\\t\\tValueType,\\n\\t\\t\\tXPDY0002,\\n\\t\\t\\tdeterminePredicateTruthValue,\\n\\t\\t\\tisSubtypeOf,\\n\\t\\t\\tready,\\n\\t\\t\\tatomize,\\n\\t\\t} = runtimeLib;\";Du(a)&&\n(c+='\\n\\t\\tif (!contextItem) {\\n\\t\\t\\tthrow XPDY0002(\"Context is needed to evaluate the given path expression.\");\\n\\t\\t}\\n\\n\\t\\tif (!contextItem.nodeType) {\\n\\t\\t\\tthrow new Error(\"Context item must be subtype of node().\");\\n\\t\\t}\\n\\t\\t');return{code:c+(b+\"}\\n//# sourceURL=generated.js\"),isAstAccepted:!0}}function Du(a){var b=Q(a,\"*\");if(\"pathExpr\"===a[0])return!0;a=t(b);for(b=a.next();!b.done;b=a.next())if(Du(b.value))return!0;return!1};function Eu(a,b,c){c=c||{};b=b||0;\"string\"===typeof a?(a=Wk(a),a=Eq(a,{aa:\"XQuery3.1\"===c.language||\"XQueryUpdate3.1\"===c.language,debug:!1})):a=Sk(a);var d=M(a,\"mainModule\");if(!d)return au(\"Unsupported: XQuery Library modules are not supported.\");if(M(d,\"prolog\"))return au(\"Unsupported: XQuery Prologs are not supported.\");d={ba:c.namespaceResolver||$q(null)};c=new th(new xg(new lg(d.ba,{},void 0===c.defaultFunctionNamespaceURI?\"http://www.w3.org/2005/xpath-functions\":c.defaultFunctionNamespaceURI,\nc.functionNameResolver||ar(\"http://www.w3.org/2005/xpath-functions\"))));T(a,c);return Cu(a,b,d)};function Fu(a,b,c){c=c?c:new Gb;return a()(b,c,cu)};var Gu={},Hu=(Gu[\"http://www.w3.org/2005/XQueryX\"]=\"xqx\",Gu[\"http://www.w3.org/2007/xquery-update-10\"]=\"xquf\",Gu[\"http://fontoxml.com/fontoxpath\"]=\"x\",Gu);\nfunction Iu(a,b){switch(a){case \"copySource\":case \"insertAfter\":case \"insertAsFirst\":case \"insertAsLast\":case \"insertBefore\":case \"insertInto\":case \"modifyExpr\":case \"newNameExpr\":case \"replacementExpr\":case \"replaceValue\":case \"returnExpr\":case \"sourceExpr\":case \"targetExpr\":case \"transformCopies\":case \"transformCopy\":return{localName:a,rb:b||\"http://www.w3.org/2005/XQueryX\"};case \"deleteExpr\":case \"insertExpr\":case \"renameExpr\":case \"replaceExpr\":case \"transformExpr\":return{localName:a,rb:\"http://www.w3.org/2007/xquery-update-10\"};\ncase \"x:stackTrace\":return{localName:\"stackTrace\",rb:\"http://fontoxml.com/fontoxpath\"};default:return{localName:a,rb:\"http://www.w3.org/2005/XQueryX\"}}}\nfunction Ju(a,b,c,d,e){if(\"string\"===typeof c)return 0===c.length?null:b.createTextNode(c);if(!Array.isArray(c))throw new TypeError(\"JsonML element should be an array or string\");var f=Iu(c[0],d);d=f.rb;f=b.createElementNS(d,Hu[d]+\":\"+f.localName);var g=c[1],k=1;if(\"object\"===typeof g&&!Array.isArray(g)){if(null!==g){k=t(Object.keys(g));for(var l=k.next();!l.done;l=k.next()){l=l.value;var n=g[l];null!==n&&(\"type\"===l?void 0!==n&&a.setAttributeNS(f,d,\"fontoxpath:\"+l,vb(n)):e&&\"prefix\"===l&&\"\"===n||\na.setAttributeNS(f,d,Hu[d]+\":\"+l,n))}}k=2}g=k;for(k=c.length;g<k;++g)l=Ju(a,b,c[g],d,e),null!==l&&a.insertBefore(f,l,null);return f}\nfunction Ku(a,b,c,d){d=void 0===d?Ib:d;a=Wk(a);var e=Eq(a,{aa:\"XQuery3.1\"===b.language||\"XQueryUpdate3.1\"===b.language,debug:b.debug}),f=new lg(b.namespaceResolver||function(){return null},{},void 0===b.defaultFunctionNamespaceURI?\"http://www.w3.org/2005/xpath-functions\":b.defaultFunctionNamespaceURI,b.functionNameResolver||function(){return null});f=new xg(f);var g=M(e,[\"mainModule\",\"libraryModule\"]),k=M(g,\"moduleDecl\");if(k){var l=N(M(k,\"prefix\"));k=N(M(k,\"uri\"));Bg(f,l,k)}(g=M(g,\"prolog\"))&&Hq(g,\nf,!1);!1!==b.annotateAst&&lh(e,new th(f));f=new Gb;b=Ju(d,c,e,null,!1===b.Kc);d.insertBefore(b,c.createComment(a),f.getFirstChild(b));return b};function Lu(a){return Promise.resolve(a)};function Mu(a,b,c){var d=a.stack;d&&(d.includes(a.message)&&(d=d.substr(d.indexOf(a.message)+a.message.length).trim()),d=d.split(\"\\n\"),d.splice(10),d=d.map(function(e){return e.startsWith(\" \")||e.startsWith(\"\\t\")?e:\" \"+e}),d=d.join(\"\\n\"));a=Error.call(this,\"Custom XPath function Q{\"+c+\"}\"+b+\" raised:\\n\"+a.message+\"\\n\"+d);this.message=a.message;\"stack\"in a&&(this.stack=a.stack)}x(Mu,Error);\nfunction Nu(a,b,c){return 0===b.g?a.G()?null:dr(a.first(),c).next(0).value:2===b.g||1===b.g?a.M().map(function(d){if(C(d.type,47))throw Error(\"Cannot pass attribute nodes to custom functions\");return dr(d,c).next(0).value}):dr(a.first(),c).next(0).value}\nfunction Ou(a){if(\"object\"===typeof a)return a;a=a.split(\":\");if(2!==a.length)throw Error(\"Do not register custom functions in the default function namespace\");var b=t(a);a=b.next().value;b=b.next().value;var c=kg[a];if(!c){c=\"generated_namespace_uri_\"+a;if(kg[a])throw Error(\"Prefix already registered: Do not register the same prefix twice.\");kg[a]=c}return{localName:b,namespaceURI:c}}\nfunction Pu(a,b,c,d){a=Ou(a);var e=a.namespaceURI,f=a.localName;if(!e)throw qg();var g=b.map(function(l){return xb(l)}),k=xb(c);ig(e,f,g,k,function(l,n,q){var u=Array.from(arguments);u.splice(0,3);u=u.map(function(G,H){return Nu(G,g[H],n)});var v={};v=(v.currentContext=n.u,v.domFacade=n.h.h,v);try{var A=d.apply(void 0,[v].concat(w(u)))}catch(G){throw new Mu(G,f,e);}return A&&\"object\"===typeof A&&Object.getOwnPropertySymbols(A).includes(Yq)?E.create(A.Db):Ec(n.h,A,k)})};function Qu(a,b){b=void 0===b?{debug:!1}:b;b=Eq(a,{aa:!0,debug:b.debug});lh(b,new th(void 0));b=M(b,\"libraryModule\");if(!b)throw Error(\"XQuery module must be declared in a library module.\");var c=M(b,\"moduleDecl\"),d=M(c,\"uri\"),e=N(d);c=M(c,\"prefix\");d=N(c);c=new xg(new lg(function(){return null},Object.create(null),\"http://www.w3.org/2005/xpath-functions\",ar(\"http://www.w3.org/2005/xpath-functions\")));Bg(c,d,e);b=M(b,\"prolog\");if(null!==b){try{var f=Hq(b,c)}catch(g){bg(a,g)}f.Ma.forEach(function(g){if(e!==\ng.namespaceURI)throw Error(\"XQST0048: Functions and variables declared in a module must reside in the module target namespace.\");});Uk(e,f)}else Uk(e,{Ma:[],Ua:[]});return e};var Ru=new Map;function Su(a){var b;a:{if(b=Ck.get(a))for(var c=t(Object.keys(b)),d=c.next();!d.done;d=c.next())if(d=d.value,b[d]&&b[d].length){b=b[d][0].h;break a}b=null}if(b)return b;if(Ru.has(a))return Ru.get(a);b=\"string\"===typeof a?Eq(a,{aa:!1}):Sk(a);b=P(b,[\"mainModule\",\"queryBody\",\"*\"]);if(null===b)throw Error(\"Library modules do not have a specificity\");b=Bk(b,{qa:!1,aa:!1});Ru.set(a,b);return b}function Tu(a){return Su(a).A()}function Uu(a,b){return zf(Su(a).s,Su(b).s)}var Vu=new Gb;\n\"undefined\"!==typeof fontoxpathGlobal&&(fontoxpathGlobal.compareSpecificity=Uu,fontoxpathGlobal.compileXPathToJavaScript=Eu,fontoxpathGlobal.domFacade=Vu,fontoxpathGlobal.evaluateXPath=mr,fontoxpathGlobal.evaluateXPathToArray=sr,fontoxpathGlobal.evaluateXPathToAsyncIterator=or,fontoxpathGlobal.evaluateXPathToBoolean=tr,fontoxpathGlobal.evaluateXPathToFirstNode=ur,fontoxpathGlobal.evaluateXPathToMap=vr,fontoxpathGlobal.evaluateXPathToNodes=wr,fontoxpathGlobal.evaluateXPathToNumber=xr,fontoxpathGlobal.evaluateXPathToNumbers=\nyr,fontoxpathGlobal.evaluateXPathToString=zr,fontoxpathGlobal.evaluateXPathToStrings=Ar,fontoxpathGlobal.evaluateUpdatingExpression=qr,fontoxpathGlobal.evaluateUpdatingExpressionSync=rr,fontoxpathGlobal.executeJavaScriptCompiledXPath=Fu,fontoxpathGlobal.executePendingUpdateList=Br,fontoxpathGlobal.getBucketForSelector=Tu,fontoxpathGlobal.getBucketsForNode=Fb,fontoxpathGlobal.precompileXPath=Lu,fontoxpathGlobal.registerXQueryModule=Qu,fontoxpathGlobal.registerCustomXPathFunction=Pu,fontoxpathGlobal.parseScript=\nKu,fontoxpathGlobal.profiler=jr,fontoxpathGlobal.createTypedValueFactory=Zq,fontoxpathGlobal.Language=lr,fontoxpathGlobal.ReturnType=fr);\nreturn fontoxpathGlobal;\n}\n\n)\n\t.call(typeof window === 'undefined' ? undefined : window, xspattern, prsc);\nexport const compareSpecificity = fontoxpath.compareSpecificity;\nexport const compileXPathToJavaScript = fontoxpath.compileXPathToJavaScript;\nexport const createTypedValueFactory = fontoxpath.createTypedValueFactory;\nexport const domFacade = fontoxpath.domFacade;\nexport const evaluateUpdatingExpression = fontoxpath.evaluateUpdatingExpression;\nexport const evaluateUpdatingExpressionSync = fontoxpath.evaluateUpdatingExpressionSync;\nexport const evaluateXPath = fontoxpath.evaluateXPath;\nexport const evaluateXPathToArray = fontoxpath.evaluateXPathToArray;\nexport const evaluateXPathToAsyncIterator = fontoxpath.evaluateXPathToAsyncIterator;\nexport const evaluateXPathToBoolean = fontoxpath.evaluateXPathToBoolean;\nexport const evaluateXPathToFirstNode = fontoxpath.evaluateXPathToFirstNode;\nexport const evaluateXPathToMap = fontoxpath.evaluateXPathToMap;\nexport const evaluateXPathToNodes = fontoxpath.evaluateXPathToNodes;\nexport const evaluateXPathToNumber = fontoxpath.evaluateXPathToNumber;\nexport const evaluateXPathToNumbers = fontoxpath.evaluateXPathToNumbers;\nexport const evaluateXPathToString = fontoxpath.evaluateXPathToString;\nexport const evaluateXPathToStrings = fontoxpath.evaluateXPathToStrings;\nexport const executeJavaScriptCompiledXPath = fontoxpath.executeJavaScriptCompiledXPath;\nexport const executePendingUpdateList = fontoxpath.executePendingUpdateList;\nexport const getBucketForSelector = fontoxpath.getBucketForSelector;\nexport const getBucketsForNode = fontoxpath.getBucketsForNode;\nexport const Language = fontoxpath.Language;\nexport const parseScript = fontoxpath.parseScript;\nexport const precompileXPath = fontoxpath.precompileXPath;\nexport const profiler = fontoxpath.profiler;\nexport const registerCustomXPathFunction = fontoxpath.registerCustomXPathFunction;\nexport const registerXQueryModule = fontoxpath.registerXQueryModule;\nexport const ReturnType = fontoxpath.ReturnType;\nexport default fontoxpath;\n","import { getBucketsForNode } from 'fontoxpath';\n\n/**\n * A DomFacade that will intercept any and all accesses to _nodes_ from an XPath. Basically the same\n * as the `depends` function, but less explicit and will automatically be called for any node that\n * will be touched in the XPath.\n *\n * Maybe some more granularity is better. Maybe only notify a node's attributes are touched?\n */\nexport class DependencyNotifyingDomFacade {\n /**\n * @param onNodeTouched - onNodeTouched A function what will be executed whenever a node is 'touched' by the XPath\n */\n constructor(onNodeTouched) {\n this._onNodeTouched = onNodeTouched;\n }\n\n /**\n * Get all attributes of this element.\n * The bucket can be used to narrow down which attributes should be retrieved.\n *\n * @param node -\n */\n // eslint-disable-next-line class-methods-use-this\n getAllAttributes(node) {\n return Array.from(node.attributes);\n }\n\n /**\n * Get the value of specified attribute of this element.\n *\n * @param node -\n * @param attributeName -\n */\n // eslint-disable-next-line class-methods-use-this\n getAttribute(node, attributeName) {\n return node.getAttribute(attributeName);\n }\n\n /**\n * Get all child nodes of this element.\n * The bucket can be used to narrow down which child nodes should be retrieved.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getChildNodes(node, bucket) {\n const matchingNodes = Array.from(node.childNodes).filter(\n childNode => !bucket || getBucketsForNode(childNode).includes(bucket),\n );\n matchingNodes.forEach(matchingNode => this._onNodeTouched(matchingNode));\n return matchingNodes;\n }\n\n /**\n * Get the data of this node.\n *\n * @param node -\n */\n getData(node) {\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n this._onNodeTouched(node);\n return node.value;\n }\n // Text node\n this._onNodeTouched(node.parentNode);\n return node.data;\n }\n\n /**\n * Get the first child of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n getFirstChild(node, bucket) {\n for (const child of node.childNodes) {\n if (!bucket || getBucketsForNode(child).includes(bucket)) {\n this._onNodeTouched(child);\n return child;\n }\n }\n return null;\n }\n\n /**\n * Get the last child of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getLastChild(node, bucket) {\n const matchingNodes = node\n .getChildNodes()\n .filter(childNode => !bucket || getBucketsForNode(childNode).includes(bucket));\n const matchNode = matchingNodes[matchingNodes.length - 1];\n if (matchNode) {\n return matchNode;\n }\n return null;\n }\n\n /**\n * Get the next sibling of this node\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the nextSibling that is requested.\n */\n // eslint-disable-next-line class-methods-use-this\n getNextSibling(node, bucket) {\n for (let sibling = node.nextSibling; sibling; sibling = sibling.nextSibling) {\n if (!getBucketsForNode(sibling).includes(bucket)) {\n // eslint-disable-next-line no-continue\n continue;\n }\n this._onNodeTouched(sibling);\n return sibling;\n }\n return null;\n }\n\n /**\n * Get the parent of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getParentNode(node) {\n return node.parentNode;\n }\n\n /**\n * Get the previous sibling of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getPreviousSibling(node, bucket) {\n for (\n let { previousSibling } = node;\n previousSibling;\n previousSibling = previousSibling.previousSibling\n ) {\n if (!getBucketsForNode(previousSibling).includes(bucket)) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n return previousSibling;\n }\n return null;\n }\n}\n","import * as fx from 'fontoxpath';\n\n/**\n * Checks wether the specified path expression is an absolute path.\n *\n * @param path the path expression.\n * @return <code>true</code> if specified path expression is an absolute\n * path, otherwise <code>false</code>.\n */\n\nexport class XPathUtil {\n static getParentBindingElement(start) {\n /* if (start.parentNode.host) {\n const { host } = start.parentNode;\n if (host.hasAttribute('ref')) {\n return host;\n }\n } else */\n if (start.parentNode && start.parentNode.nodeType !== Node.DOCUMENT_NODE) {\n if (start.parentNode.hasAttribute('ref')) {\n return start.parentNode;\n }\n XPathUtil.getParentBindingElement(start.parentNode);\n }\n return null;\n }\n\n static isAbsolutePath(path) {\n return path != null && (path.startsWith('/') || path.startsWith('instance('));\n }\n\n static isSelfReference(ref) {\n return ref === '.' || ref === './text()' || ref === 'text()' || ref === '' || ref === null;\n }\n\n static getDefaultInstance(boundElement) {\n // const fore = boundElement.closest('fx-fore');\n const fore = XPathUtil.getForeElement(boundElement);\n const defaultInstance = fore.querySelector('fx-instance');\n if (!defaultInstance) {\n throw new Error('no default instance present');\n }\n return defaultInstance;\n }\n\n static getForeElement(start) {\n if (start.nodeName === 'FX-FORE') {\n return start;\n }\n if (start.parentNode) {\n return XPathUtil.getForeElement(start.parentNode);\n }\n throw new Error('no Fore element present');\n }\n\n /**\n * returns the instance id from a complete XPath using `instance()` function.\n *\n * Will return 'default' in case no ref is given at all or the `instance()` function is called without arg.\n *\n * Otherwise instance id is extracted from function and returned. If all fails null is returned.\n * @param ref\n * @returns {string}\n */\n static getInstanceId(ref) {\n if (!ref) {\n return 'default';\n }\n if (ref.startsWith('instance()')) {\n return 'default';\n }\n if (ref.startsWith('instance(')) {\n const result = ref.substring(ref.indexOf('(') + 1);\n return result.substring(1, result.indexOf(')') - 1);\n }\n return null;\n }\n\n // todo: certainly not ideal to rely on duplicating instance id on instance document - better way later ;)\n static getPath(node) {\n const path = fx.evaluateXPathToString('path()', node);\n /*\n const instanceId = node.ownerDocument.firstElementChild.getAttribute('id');\n if (instanceId !== null && instanceId !== 'default') {\n return `#${instanceId}${XPathUtil.shortenPath(path)}`;\n }\n*/\n return XPathUtil.shortenPath(path);\n }\n\n static shortenPath(path) {\n const tmp = path.replaceAll(/(Q{(.*?)\\})/g, '');\n // cut off leading slash\n const tmp1 = tmp.substring(1, tmp.length);\n // ### cut-off root node ref\n return tmp1.substring(tmp1.indexOf('/'), tmp.length);\n }\n\n static getBasePath(dep) {\n const split = dep.split(':');\n return split[0];\n }\n}\n","/**\n * A simple dependency graph\n *\n * based on the work of https://github.com/jriecken/dependency-graph but working on ES6.\n *\n * Furthermore instead of the DepGraphCycleError a compute-exception event is dispatched.\n *\n *\n */\n\n/**\n * Cycle error, including the path of the cycle.\n */\n// const DepGraphCycleError = (exports.DepGraphCycleError = function (cyclePath) {\n\n/*\nexport function DepGraphCycleError(cyclePath) {\n const message = \"Dependency Cycle Found: \" + cyclePath.join(\" -> \");\n const instance = new Error(message);\n instance.cyclePath = cyclePath;\n Object.setPrototypeOf(instance, Object.getPrototypeOf(this));\n if (Error.captureStackTrace) {\n Error.captureStackTrace(instance, DepGraphCycleError);\n }\n return instance;\n};\n\nDepGraphCycleError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: Error,\n enumerable: false,\n writable: true,\n configurable: true\n }\n});\nObject.setPrototypeOf(DepGraphCycleError, Error);\n*/\n\n/**\n * Helper for creating a Topological Sort using Depth-First-Search on a set of edges.\n *\n * Detects cycles and throws an Error if one is detected (unless the \"circular\"\n * parameter is \"true\" in which case it ignores them).\n *\n * @param edges The set of edges to DFS through\n * @param leavesOnly Whether to only return \"leaf\" nodes (ones who have no edges)\n * @param result An array in which the results will be populated\n * @param circular A boolean to allow circular dependencies\n */\nfunction createDFS(edges, leavesOnly, result, circular) {\n const visited = {};\n // eslint-disable-next-line func-names\n return function(start) {\n // console.log('start ', start);\n if (visited[start]) {\n return;\n }\n const inCurrentPath = {};\n const currentPath = [];\n const todo = []; // used as a stack\n todo.push({ node: start, processed: false });\n while (todo.length > 0) {\n const current = todo[todo.length - 1]; // peek at the todo stack\n const { processed } = current;\n const { node } = current;\n if (!processed) {\n // Haven't visited edges yet (visiting phase)\n if (visited[node]) {\n todo.pop();\n // eslint-disable-next-line no-continue\n continue;\n } else if (inCurrentPath[node]) {\n // It's not a DAG\n if (circular) {\n todo.pop();\n // If we're tolerating cycles, don't revisit the node\n // eslint-disable-next-line no-continue\n continue;\n }\n currentPath.push(node);\n window.dispatchEvent(\n new CustomEvent('compute-exception', {\n composed: false,\n bubbles: true,\n detail: {\n path: currentPath,\n message: 'cyclic graph',\n },\n }),\n );\n // return;\n // console.log('‘circular path: ' + currentPath);\n // throw new DepGraphCycleError(currentPath);\n\n // Stop all processing. This form is broken and we should not break the browser\n throw new Error(`Cyclic at ${currentPath}`);\n }\n\n inCurrentPath[node] = true;\n currentPath.push(node);\n const nodeEdges = edges[node];\n // (push edges onto the todo stack in reverse order to be order-compatible with the old DFS implementation)\n for (let i = nodeEdges.length - 1; i >= 0; i -= 1) {\n todo.push({ node: nodeEdges[i], processed: false });\n }\n current.processed = true;\n } else {\n // Have visited edges (stack unrolling phase)\n todo.pop();\n currentPath.pop();\n inCurrentPath[node] = false;\n visited[node] = true;\n if (!leavesOnly || edges[node].length === 0) {\n result.push(node);\n }\n }\n }\n };\n}\n\n/**\n * Simple Dependency Graph\n */\n\n/*\nvar DepGraph = (exports.DepGraph = function DepGraph(opts) {\n this.nodes = {}; // Node -> Node/Data (treated like a Set)\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n this.circular = opts && !!opts.circular; // Allows circular deps\n});\n*/\n\nexport function DepGraph(opts) {\n this.nodes = {}; // Node -> Node/Data (treated like a Set)\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n this.circular = opts && !!opts.circular; // Allows circular deps\n}\n\nDepGraph.prototype = {\n /**\n * The number of nodes in the graph.\n */\n size() {\n return Object.keys(this.nodes).length;\n },\n /**\n * Add a node to the dependency graph. If a node already exists, this method will do nothing.\n */\n addNode(node, data) {\n if (!this.hasNode(node)) {\n // Checking the arguments length allows the user to add a node with undefined data\n if (arguments.length === 2) {\n this.nodes[node] = data;\n } else {\n this.nodes[node] = node;\n }\n this.outgoingEdges[node] = [];\n this.incomingEdges[node] = [];\n }\n },\n /**\n * Remove a node from the dependency graph. If a node does not exist, this method will do nothing.\n */\n removeNode(node) {\n if (this.hasNode(node)) {\n delete this.nodes[node];\n delete this.outgoingEdges[node];\n delete this.incomingEdges[node];\n // [this.incomingEdges, this.outgoingEdges].forEach(function (edgeList) {\n [this.incomingEdges, this.outgoingEdges].forEach(edgeList => {\n Object.keys(edgeList).forEach(key => {\n const idx = edgeList[key].indexOf(node);\n if (idx >= 0) {\n edgeList[key].splice(idx, 1);\n }\n }, this);\n });\n }\n },\n /**\n * Check if a node exists in the graph\n */\n hasNode(node) {\n // return this.nodes.hasOwnProperty(node);\n\n return Object.prototype.hasOwnProperty.call(this.nodes, node);\n },\n /**\n * Get the data associated with a node name\n */\n getNodeData(node) {\n if (this.hasNode(node)) {\n return this.nodes[node];\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Set the associated data for a given node name. If the node does not exist, this method will throw an error\n */\n setNodeData(node, data) {\n if (this.hasNode(node)) {\n this.nodes[node] = data;\n } else {\n throw new Error(`Node does not exist: ${node}`);\n }\n },\n /**\n * Add a dependency between two nodes. If either of the nodes does not exist,\n * an Error will be thrown.\n */\n addDependency(from, to) {\n if (!this.hasNode(from)) {\n throw new Error(`Node does not exist: ${from}`);\n }\n if (!this.hasNode(to)) {\n throw new Error(`Node does not exist: ${to}`);\n }\n if (this.outgoingEdges[from].indexOf(to) === -1) {\n this.outgoingEdges[from].push(to);\n }\n if (this.incomingEdges[to].indexOf(from) === -1) {\n this.incomingEdges[to].push(from);\n }\n return true;\n },\n /**\n * Remove a dependency between two nodes.\n */\n removeDependency(from, to) {\n let idx;\n if (this.hasNode(from)) {\n idx = this.outgoingEdges[from].indexOf(to);\n if (idx >= 0) {\n this.outgoingEdges[from].splice(idx, 1);\n }\n }\n\n if (this.hasNode(to)) {\n idx = this.incomingEdges[to].indexOf(from);\n if (idx >= 0) {\n this.incomingEdges[to].splice(idx, 1);\n }\n }\n },\n /**\n * Return a clone of the dependency graph. If any custom data is attached\n * to the nodes, it will only be shallow copied.\n */\n clone() {\n const source = this;\n const result = new DepGraph();\n const keys = Object.keys(source.nodes);\n keys.forEach(n => {\n result.nodes[n] = source.nodes[n];\n result.outgoingEdges[n] = source.outgoingEdges[n].slice(0);\n result.incomingEdges[n] = source.incomingEdges[n].slice(0);\n });\n return result;\n },\n /**\n * Get an array containing the direct dependencies of the specified node.\n *\n * Throws an Error if the specified node does not exist.\n */\n directDependenciesOf(node) {\n if (this.hasNode(node)) {\n return this.outgoingEdges[node].slice(0);\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Get an array containing the nodes that directly depend on the specified node.\n *\n * Throws an Error if the specified node does not exist.\n */\n directDependantsOf(node) {\n if (this.hasNode(node)) {\n return this.incomingEdges[node].slice(0);\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Get an array containing the nodes that the specified node depends on (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned\n * in the array.\n */\n dependenciesOf(node, leavesOnly) {\n if (this.hasNode(node)) {\n const result = [];\n const DFS = createDFS(this.outgoingEdges, leavesOnly, result, this.circular);\n DFS(node);\n const idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * get an array containing the nodes that depend on the specified node (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array.\n */\n dependantsOf(node, leavesOnly) {\n if (this.hasNode(node)) {\n const result = [];\n const DFS = createDFS(this.incomingEdges, leavesOnly, result, this.circular);\n DFS(node);\n const idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n\n /**\n * Get an array of nodes that have no dependants (i.e. nothing depends on them).\n */\n entryNodes() {\n const self = this;\n return Object.keys(this.nodes).filter(node => self.incomingEdges[node].length === 0);\n },\n\n /**\n * Construct the overall processing order for the dependency graph.\n *\n * Throws an Error if the graph has a cycle.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned.\n */\n overallOrder(leavesOnly) {\n const self = this;\n const result = [];\n const keys = Object.keys(this.nodes);\n if (keys.length === 0) {\n return result; // Empty graph\n }\n if (!this.circular) {\n // Look for cycles - we run the DFS starting at all the nodes in case there\n // are several disconnected subgraphs inside this dependency graph.\n const CycleDFS = createDFS(this.outgoingEdges, false, [], this.circular);\n keys.forEach(n => {\n CycleDFS(n);\n });\n }\n\n const DFS = createDFS(this.outgoingEdges, leavesOnly, result, this.circular);\n // Find all potential starting points (nodes with nothing depending on them) an\n // run a DFS starting at these points to get the order\n keys\n .filter(node => self.incomingEdges[node].length === 0)\n .forEach(n => {\n DFS(n);\n });\n\n // If we're allowing cycles - we need to run the DFS against any remaining\n // nodes that did not end up in the initial result (as they are part of a\n // subgraph that does not have a clear starting point)\n if (this.circular) {\n keys.filter(node => result.indexOf(node) === -1).forEach(n => DFS(n));\n }\n\n return result;\n },\n};\n\n// Create some aliases\nDepGraph.prototype.directDependentsOf = DepGraph.prototype.directDependantsOf;\nDepGraph.prototype.dependentsOf = DepGraph.prototype.dependantsOf;\n","export class Fore {\n static READONLY_DEFAULT = false;\n\n static REQUIRED_DEFAULT = false;\n\n static RELEVANT_DEFAULT = true;\n\n static CONSTRAINT_DEFAULT = true;\n\n static TYPE_DEFAULT = 'xs:string';\n\n static get ACTION_ELEMENTS() {\n return [\n 'FX-DELETE',\n 'FX-DISPATCH',\n 'FX-HIDE',\n 'FX-INSERT',\n 'FX-LOAD',\n 'FX-MESSAGE',\n 'FX-REBUILD',\n 'FX-RECALCULATE',\n 'FX-REFRESH',\n 'FX-RENEW',\n 'FX-REPLACE',\n 'FX-RESET',\n 'FX-RETAIN',\n 'FX-RETURN',\n 'FX-REVALIDATE',\n 'FX-SEND',\n 'FX-SETFOCUS',\n 'FX-SETINDEX',\n 'FX-SETVALUE',\n 'FX-SHOW',\n 'FX-TOGGLE',\n 'FX-UPDATE',\n ];\n }\n\n static createUUID() {\n // http://www.ietf.org/rfc/rfc4122.txt\n const s = [];\n const hexDigits = '0123456789abcdef';\n for (let i = 0; i < 36; i += 1) {\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);\n }\n s[14] = '4'; // bits 12-15 of the time_hi_and_version field to 0010\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01\n s[8] = s[13] = s[18] = s[23] = '-';\n\n const uuid = s.join('');\n return uuid;\n }\n\n static get XFORMS_NAMESPACE_URI() {\n // todo: should be centralized somewhere as constant. Exists in several? places\n return 'http://www.w3.org/2002/xforms';\n }\n\n static isActionElement(elementName) {\n return Fore.ACTION_ELEMENTS.includes(elementName);\n }\n\n static get UI_ELEMENTS() {\n return [\n 'FX-ALERT',\n 'FX-CONTROL',\n 'FX-BUTTON',\n 'FX-CONTROL',\n 'FX-DIALOG',\n 'FX-FILENAME',\n 'FX-MEDIATYPE',\n 'FX-GROUP',\n 'FX-HINT',\n 'FX-INPUT',\n 'FX-ITEMS',\n 'FX-LABEL',\n 'FX-OUTPUT',\n 'FX-RANGE',\n 'FX-REPEAT',\n 'FX-REPEATITEM',\n 'FX-SWITCH',\n 'FX-SECRET',\n 'FX-SELECT',\n 'FX-SUBMIT',\n 'FX-TEXTAREA',\n 'FX-TRIGGER',\n 'FX-UPLOAD',\n 'FX-VAR',\n ];\n }\n\n static isUiElement(elementName) {\n const found = Fore.UI_ELEMENTS.includes(elementName);\n if (found) {\n // console.log('_isUiElement ', found);\n }\n return Fore.UI_ELEMENTS.includes(elementName);\n }\n\n /**\n * recursively refreshes all UI Elements.\n *\n * todo: this could probably made more efficient with significant impact on rendering perf\n *\n * @param startElement\n * @param force\n * @returns {Promise<unknown>}\n */\n static async refreshChildren(startElement, force) {\n const refreshed = new Promise(resolve => {\n /*\n if there's an 'refresh-on-view' attribute the element wants to be handled by\n handleIntersect function that calls the refresh of the respective element and\n not the global one.\n */\n // if(!force && startElement.hasAttribute('refresh-on-view')) return;\n\n /* ### attempt with querySelectorAll is even slower than iterating recursively\n\n const children = startElement.querySelectorAll('[ref]');\n Array.from(children).forEach(uiElement => {\n if (Fore.isUiElement(uiElement.nodeName) && typeof uiElement.refresh === 'function') {\n uiElement.refresh();\n }\n });\n*/\n const { children } = startElement;\n if (children) {\n Array.from(children).forEach(element => {\n if (element.nodeName.toUpperCase() === 'FX-FORE') {\n resolve('done');\n }\n if (Fore.isUiElement(element.nodeName) && typeof element.refresh === 'function') {\n // console.log('refreshing ',element);\n element.refresh();\n } else if (element.nodeName.toUpperCase() !== 'FX-MODEL') {\n Fore.refreshChildren(element, force);\n }\n });\n }\n resolve('done');\n });\n\n return refreshed;\n }\n\n /**\n * Alternative to `closest` that respects subcontrol boundaries\n */\n static getClosest(querySelector, start) {\n while (!start.matches(querySelector)) {\n if (start.matches('fx-fore')) {\n // Subform reached. Bail out\n return null;\n }\n start = start.parentNode;\n if (!start) {\n return null;\n }\n }\n return start;\n }\n\n /**\n * returns the proper content-type for instance.\n *\n * @param instance an fx-instance element\n * @returns {string|null}\n */\n static getContentType(instance, method) {\n if (method === 'urlencoded-post') {\n return 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n if (instance.type === 'xml') {\n return 'application/xml; charset=UTF-8';\n }\n if (instance.type === 'json') {\n return 'application/json';\n }\n console.warn('content-type unknown ', instance.type);\n return null;\n }\n\n static fadeInElement(element) {\n const duration = 600;\n let fadeIn = () => {\n // Stop all current animations\n if (element.getAnimations) {\n element.getAnimations().map(anim => anim.finish());\n }\n\n // Play the animation with the newly specified duration\n fadeIn = element.animate(\n {\n opacity: [0, 1],\n },\n duration,\n );\n return fadeIn.finished;\n };\n return fadeIn();\n }\n\n static fadeOutElement(element, duration) {\n // const duration = duration;\n let fadeOut = () => {\n // Stop all current animations\n if (element.getAnimations) {\n element.getAnimations().map(anim => anim.finish());\n }\n\n // Play the animation with the newly specified duration\n fadeOut = element.animate(\n {\n opacity: [1, 0],\n },\n duration,\n );\n return fadeOut.finished;\n };\n return fadeOut();\n }\n\n static dispatch(target, eventName, detail) {\n const event = new CustomEvent(eventName, {\n composed: false,\n bubbles: true,\n detail,\n });\n console.log('firing', event);\n target.dispatchEvent(event);\n }\n\n static prettifyXml(source) {\n const xmlDoc = new DOMParser().parseFromString(source, 'application/xml');\n const xsltDoc = new DOMParser().parseFromString(\n [\n // describes how we want to modify the XML - indent everything\n '<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">',\n ' <xsl:output method=\"xml\" indent=\"yes\" omit-xml-declaration=\"yes\"/>',\n ' <xsl:strip-space elements=\"*\"/>',\n ' <xsl:template match=\"text()\">', // change to just text() to strip space in text nodes\n ' <xsl:value-of select=\"normalize-space(.)\"/>',\n ' </xsl:template>',\n ' <xsl:template match=\"node()|@*\">',\n ' <xsl:copy>',\n ' <xsl:apply-templates select=\"node()|@*\"/>',\n ' </xsl:copy>',\n ' </xsl:template>',\n '</xsl:stylesheet>',\n ].join('\\n'),\n 'application/xml',\n );\n\n\n const xsltProcessor = new XSLTProcessor();\n xsltProcessor.importStylesheet(xsltDoc);\n const resultDoc = xsltProcessor.transformToDocument(xmlDoc);\n const resultXml = new XMLSerializer().serializeToString(resultDoc);\n return resultXml;\n }\n\n static formatXml (xml) {\n var reg = /(>)(<)(\\/*)/g;\n var wsexp = / *(.*) +\\n/g;\n var contexp = /(<.+>)(.+\\n)/g;\n xml = xml.replace(reg, '$1\\n$2$3').replace(wsexp, '$1\\n').replace(contexp, '$1\\n$2');\n var pad = 0;\n var formatted = '';\n var lines = xml.split('\\n');\n var indent = 0;\n var lastType = 'other';\n // 4 types of tags - single, closing, opening, other (text, doctype, comment) - 4*4 = 16 transitions\n var transitions = {\n 'single->single': 0,\n 'single->closing': -1,\n 'single->opening': 0,\n 'single->other': 0,\n 'closing->single': 0,\n 'closing->closing': -1,\n 'closing->opening': 0,\n 'closing->other': 0,\n 'opening->single': 1,\n 'opening->closing': 0,\n 'opening->opening': 1,\n 'opening->other': 1,\n 'other->single': 0,\n 'other->closing': -1,\n 'other->opening': 0,\n 'other->other': 0\n };\n\n for (var i = 0; i < lines.length; i++) {\n var ln = lines[i];\n var single = Boolean(ln.match(/<.+\\/>/)); // is this line a single tag? ex. <br />\n var closing = Boolean(ln.match(/<\\/.+>/)); // is this a closing tag? ex. </a>\n var opening = Boolean(ln.match(/<[^!].*>/)); // is this even a tag (that's not <!something>)\n var type = single ? 'single' : closing ? 'closing' : opening ? 'opening' : 'other';\n var fromTo = lastType + '->' + type;\n lastType = type;\n var padding = '';\n\n indent += transitions[fromTo];\n for (var j = 0; j < indent; j++) {\n padding += ' ';\n }\n\n formatted += padding + ln + '\\n';\n }\n }\n\n static async loadForeFromUrl(hostElement, url) {\n console.log('########## loading Fore from ', this.src, '##########');\n await fetch(url, {\n method: 'GET',\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': 'text/html',\n },\n })\n .then(response => {\n const responseContentType = response.headers.get('content-type').toLowerCase();\n console.log('********** responseContentType *********', responseContentType);\n if (responseContentType.startsWith('text/html')) {\n return response.text().then(result =>\n // console.log('xml ********', result);\n new DOMParser().parseFromString(result, 'text/html'),\n );\n }\n return 'done';\n })\n .then(data => {\n // const theFore = fxEvaluateXPathToFirstNode('//fx-fore', data.firstElementChild);\n const theFore = data.querySelector('fx-fore');\n // console.log('thefore', theFore)\n if (!theFore) {\n hostElement.dispatchEvent(\n new CustomEvent('error', {\n composed: false,\n bubbles: true,\n detail: {\n message: 'cyclic graph',\n },\n }),\n );\n }\n hostElement.appendChild(theFore);\n theFore.classList.add('widget');\n // return theFore;\n // theFore.setAttribute('from-src', this.src);\n // this.replaceWith(theFore);\n })\n .catch(error => {\n hostElement.dispatchEvent(\n new CustomEvent('error', {\n composed: false,\n bubbles: true,\n detail: {\n error: error,\n message: `'${url}' not found or does not contain Fore element.`,\n },\n }),\n );\n });\n }\n\n /**\n * clear all text nodes and attribute values to get a 'clean' template.\n * @param n\n * @private\n */\n /*\n static clear(n) {\n n.textContent = '';\n if (n.hasAttributes()) {\n const attrs = n.attributes;\n for (let i = 0; i < attrs.length; i+= 1) {\n attrs[i].value = '';\n }\n }\n const { children } = n;\n for (let i = 0; i < children.length; i+= 1) {\n Fore.clear(children[i]);\n }\n }\n */\n}\n","import {\n evaluateXPath as fxEvaluateXPath,\n evaluateXPathToBoolean as fxEvaluateXPathToBoolean,\n evaluateXPathToFirstNode as fxEvaluateXPathToFirstNode,\n evaluateXPathToNodes as fxEvaluateXPathToNodes,\n evaluateXPathToNumber as fxEvaluateXPathToNumber,\n evaluateXPathToString as fxEvaluateXPathToString,\n evaluateXPathToStrings as fxEvaluateXPathToStrings,\n parseScript,\n registerCustomXPathFunction,\n registerXQueryModule,\n} from 'fontoxpath';\nimport { Fore } from './fore.js';\n\nimport { XPathUtil } from './xpath-util.js';\n\nconst XFORMS_NAMESPACE_URI = 'http://www.w3.org/2002/xforms';\n\nconst createdNamespaceResolversByXPathQueryAndNode = new Map();\n\nfunction getCachedNamespaceResolver(xpath, node) {\n if (!createdNamespaceResolversByXPathQueryAndNode.has(xpath)) {\n return null;\n }\n return createdNamespaceResolversByXPathQueryAndNode.get(xpath).get(node) || null;\n}\nfunction setCachedNamespaceResolver(xpath, node, resolver) {\n if (!createdNamespaceResolversByXPathQueryAndNode.has(xpath)) {\n return createdNamespaceResolversByXPathQueryAndNode.set(xpath, new Map());\n }\n return createdNamespaceResolversByXPathQueryAndNode.get(xpath).set(node, resolver);\n}\n\nconst xhtmlNamespaceResolver = prefix => {\n if (!prefix) {\n return 'http://www.w3.org/1999/xhtml';\n }\n return undefined;\n};\n\nexport function resolveId(id, sourceObject, nodeName = null) {\n const allMatchingTargetObjects = fxEvaluateXPathToNodes(\n 'outermost(ancestor-or-self::fx-fore[1]/(descendant::fx-fore|descendant::*[@id = $id]))[not(self::fx-fore)]',\n sourceObject,\n null,\n { id },\n { namespaceResolver: xhtmlNamespaceResolver },\n );\n\n if (allMatchingTargetObjects.length === 0) {\n return null;\n }\n\n if (\n allMatchingTargetObjects.length === 1 &&\n fxEvaluateXPathToBoolean(\n '(ancestor::fx-fore | ancestor::fx-repeat)[last()]/self::fx-fore',\n allMatchingTargetObjects[0],\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n )\n ) {\n // If the target element is not repeated, then the search for the target object is trivial since\n // there is only one associated with the target element that bears the matching ID. This is true\n // regardless of whether or not the source object is repeated. However, if the target element is\n // repeated, then additional information must be used to help select a target object from among\n // those associated with the identified target element.\n const targetObject = allMatchingTargetObjects[0];\n if (nodeName && targetObject.localName !== nodeName) {\n return null;\n }\n return targetObject;\n }\n\n // SPEC:\n\n // 12.2.1 References to Elements within a repeat Element\n\n // When the target element that is identified by the IDREF of a source object has one or more\n // repeat elements as ancestors, then the set of ancestor repeats are partitioned into two\n // subsets, those in common with the source element and those that are not in common. Any ancestor\n // repeat elements of the target element not in common with the source element are descendants of\n // the repeat elements that the source and target element have in common, if any.\n\n // For the repeat elements that are in common, the desired target object exists in the same set of\n // run-time objects that contains the source object. Then, for each ancestor repeat of the target\n // element that is not in common with the source element, the current index of the repeat\n // determines the set of run-time objects that contains the desired target object.\n for (const ancestorRepeatItem of fxEvaluateXPathToNodes(\n 'ancestor::fx-repeatitem => reverse()',\n sourceObject,\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n )) {\n const foundTargetObjects = allMatchingTargetObjects.filter(to =>\n ancestorRepeatItem.contains(to),\n );\n switch (foundTargetObjects.length) {\n case 0:\n // Nothing found: ignore\n break;\n case 1: {\n // A single one is found: the target object is directly in a common repeat\n const targetObject = foundTargetObjects[0];\n if (nodeName && targetObject.localName !== nodeName) {\n return null;\n }\n return targetObject;\n }\n default: {\n // Multiple target objects are found: they are in a repeat that is not common with the source object\n // We found a target object in a common repeat! We now need to find the one that is in the repeatitem identified at the current index\n const targetObject = foundTargetObjects.find(to =>\n fxEvaluateXPathToNodes(\n 'every $ancestor of ancestor::fx-repeatitem satisfies $ancestor is $ancestor/../child::fx-repeatitem[../@repeat-index]',\n to,\n null,\n {},\n ),\n );\n if (!targetObject) {\n // Nothing valid found for whatever reason. This might be something dynamic?\n return null;\n }\n if (nodeName && targetObject.localName !== nodeName) {\n return null;\n }\n return targetObject;\n }\n }\n }\n // We found no target objects in common repeats. The id is unresolvable\n return null;\n}\n\n/**\n * Resolve a namespace. Needs a namespace prefix and the element that is most closely related to the\n * XPath in which the namespace is being resolved. The prefix will be resolved by using the\n * ancestry of said element.\n *\n * It has two ways of doing so:\n *\n * - If the prefix is defined in an `xmlns:XXX=\"YYY\"` namespace declaration, it will return 'YYY'.\n * - If the prefix is the empty prefix and there is an `xpath-default-namespace=\"YYY\"` attribute in the\n * - ancestry, that attribute will be used and 'YYY' will be returned\n *\n * @param {Node} contextElement The element that is most closely related with the XPath in which this prefix is resolved.\n * @param {string} prefix The prefix to resolve\n */\nfunction createNamespaceResolver(xpathQuery, formElement) {\n const cachedResolver = getCachedNamespaceResolver(xpathQuery, formElement);\n if (cachedResolver) {\n return cachedResolver;\n }\n\n // Make namespace resolving use the `instance` element that is related to here\n const xmlDocument = new DOMParser().parseFromString('<xml />', 'text/xml');\n\n const xpathAST = parseScript(xpathQuery, {}, xmlDocument);\n let instanceReferences = fxEvaluateXPathToStrings(\n `descendant::xqx:functionCallExpr\n\t\t\t\t[xqx:functionName = \"instance\"]\n\t\t\t\t/xqx:arguments\n\t\t\t\t/xqx:stringConstantExpr\n\t\t\t\t/xqx:value`,\n xpathAST,\n null,\n {},\n {\n namespaceResolver: prefix =>\n prefix === 'xqx' ? 'http://www.w3.org/2005/XQueryX' : undefined,\n },\n );\n if (instanceReferences.length === 0) {\n // No instance functions. Look up further in the hierarchy to see if we can deduce the intended context from there\n const ancestorComponent = fxEvaluateXPathToFirstNode('ancestor::*[@ref][1]', formElement);\n if (ancestorComponent) {\n const resolver = createNamespaceResolver(\n ancestorComponent.getAttribute('ref'),\n ancestorComponent,\n );\n setCachedNamespaceResolver(xpathQuery, formElement, resolver);\n return resolver;\n }\n // Nothing found: let's just assume we're supposed to use the `default` instance\n instanceReferences = ['default'];\n }\n\n if (instanceReferences.length === 1) {\n // console.log(`resolving ${xpathQuery} with ${instanceReferences[0]}`);\n let instance;\n if (instanceReferences[0] === 'default') {\n const actualForeElement = fxEvaluateXPathToFirstNode(\n 'ancestor-or-self::fx-fore[1]',\n formElement,\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n );\n\n instance = actualForeElement && actualForeElement.querySelector('fx-instance');\n } else {\n instance = resolveId(instanceReferences[0], formElement, 'fx-instance');\n }\n if (instance && instance.hasAttribute('xpath-default-namespace')) {\n const xpathDefaultNamespace = instance.getAttribute('xpath-default-namespace');\n /*\n console.log(\n `Resolving the xpath ${xpathQuery} with the default namespace set to ${xpathDefaultNamespace}`,\n );\n*/\n const resolveNamespacePrefix = prefix => {\n if (!prefix) {\n return xpathDefaultNamespace;\n }\n return undefined;\n };\n setCachedNamespaceResolver(xpathQuery, formElement, resolveNamespacePrefix);\n return resolveNamespacePrefix;\n }\n }\n if (instanceReferences.length > 1) {\n console.warn(\n `More than one instance is used in the query \"${xpathQuery}\". The default namespace resolving will be used`,\n );\n }\n\n const xpathDefaultNamespace =\n fxEvaluateXPathToString('ancestor-or-self::*/@xpath-default-namespace[last()]', formElement) ||\n '';\n\n const resolveNamespacePrefix = function resolveNamespacePrefix(prefix) {\n if (prefix === '') {\n return xpathDefaultNamespace;\n }\n\n // Note: ideally we should use Node#lookupNamespaceURI. However, the nodes we are passed are\n // XML. The best we can do is emulate the `xmlns:xxx` namespace declarations by regarding them as\n // attributes. Which they technically ARE NOT!\n\n return fxEvaluateXPathToString(\n 'ancestor-or-self::*/@*[name() = \"xmlns:\" || $prefix][last()]',\n formElement,\n null,\n { prefix },\n );\n };\n\n setCachedNamespaceResolver(xpathQuery, formElement, resolveNamespacePrefix);\n return resolveNamespacePrefix;\n}\n\nfunction createNamespaceResolverForNode(query, contextNode, formElement) {\n if (((contextNode && contextNode.ownerDocument) || contextNode) === window.document) {\n // Running a query on the HTML DOM. Don't bother resolving namespaces in any other way\n return xhtmlNamespaceResolver;\n }\n return createNamespaceResolver(query, formElement);\n}\n\n// A global registry of function names that are declared in Fore by a developer using the\n// `fx-function` element. These should be available without providing a prefix as well\nexport const globallyDeclaredFunctionLocalNames = [];\n\n/**\n * Implementation of the functionNameResolver passed to FontoXPath to\n * redirect function resolving for unprefixed functions to either the fn or the xf namespace\n */\n// eslint-disable-next-line no-unused-vars\nfunction functionNameResolver({ prefix, localName }, _arity) {\n switch (localName) {\n // TODO: put the full XForms library functions set here\n case 'context':\n case 'base64encode':\n case 'boolean-from-string':\n case 'current':\n case 'depends':\n case 'event':\n case 'index':\n case 'instance':\n case 'log':\n case 'logtree':\n return { namespaceURI: XFORMS_NAMESPACE_URI, localName };\n default:\n if (prefix === '' && globallyDeclaredFunctionLocalNames.includes(localName)) {\n // The function has been declared without a prefix and is called here without a prefix.\n // Just make this work. It is the developer-friendly way\n return { namespaceURI: 'http://www.w3.org/2005/xquery-local-functions', localName };\n }\n if (prefix === 'fn') {\n return { namespaceURI: 'http://www.w3.org/2005/xpath-functions', localName };\n }\n if (prefix === 'local') {\n return { namespaceURI: 'http://www.w3.org/2005/xquery-local-functions', localName };\n }\n return null;\n }\n}\n\n/**\n * Get the variables in scope of the form element. These are the values of the variables that\n * logically precede the formElement that declares the XPath\n *\n * @param {Node} formElement The element that declares the XPath\n *\n * @return {Object} A key-value mapping of the variables\n */\nfunction getVariablesInScope(formElement) {\n let closestActualFormElement = formElement;\n while (closestActualFormElement && !('inScopeVariables' in closestActualFormElement)) {\n closestActualFormElement = closestActualFormElement.parentNode;\n }\n\n if (!closestActualFormElement) {\n return {};\n }\n\n const variables = {};\n if (closestActualFormElement.inScopeVariables) {\n for (const key of closestActualFormElement.inScopeVariables.keys()) {\n const varElement = closestActualFormElement.inScopeVariables.get(key);\n variables[key] = varElement.value;\n }\n }\n return variables;\n}\n\n/**\n * Evaluate an XPath to _any_ type. When possible, prefer to use any other function to ensure the\n * type of the output is more predictable.\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {{parentNode}|ForeElementMixin} formElement The form element associated to the XPath\n */\nexport function evaluateXPath(xpath, contextNode, formElement, variables = {}) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n const variablesInScope = getVariablesInScope(formElement);\n\n return fxEvaluateXPath(\n xpath,\n contextNode,\n null,\n { ...variablesInScope, ...variables },\n fxEvaluateXPath.ALL_RESULTS_TYPE,\n {\n currentContext: { formElement, variables },\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n functionNameResolver,\n namespaceResolver,\n },\n );\n}\n\n/**\n * Evaluate an XPath to the first Node\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @return {Node} The first node found by the XPath\n */\nexport function evaluateXPathToFirstNode(xpath, contextNode, formElement) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n const variablesInScope = getVariablesInScope(formElement);\n return fxEvaluateXPathToFirstNode(xpath, contextNode, null, variablesInScope, {\n defaultFunctionNamespaceURI: XFORMS_NAMESPACE_URI,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n currentContext: { formElement },\n namespaceResolver,\n });\n}\n\n/**\n * Evaluate an XPath to all nodes\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @return {Node[]} All nodes\n */\nexport function evaluateXPathToNodes(xpath, contextNode, formElement) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n const variablesInScope = getVariablesInScope(formElement);\n\n return fxEvaluateXPathToNodes(xpath, contextNode, null, variablesInScope, {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver,\n });\n}\n\n/**\n * Evaluate an XPath to a boolean\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @return {boolean}\n */\nexport function evaluateXPathToBoolean(xpath, contextNode, formElement) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n const variablesInScope = getVariablesInScope(formElement);\n\n return fxEvaluateXPathToBoolean(xpath, contextNode, null, variablesInScope, {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver,\n });\n}\n\n/**\n * Evaluate an XPath to a string\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @param {DomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM\n * access. This is used to determine dependencies between bind elements.\n * @param {Node} formElement The element where the XPath is defined: used for namespace resolving\n * @return {string}\n */\nexport function evaluateXPathToString(\n xpath,\n contextNode,\n formElement,\n domFacade = null,\n namespaceReferenceNode = formElement,\n) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n const variablesInScope = getVariablesInScope(formElement);\n\n return fxEvaluateXPathToString(xpath, contextNode, domFacade, variablesInScope, {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver,\n });\n}\n\n/**\n * Evaluate an XPath to a set of strings\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @param {DomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM\n * access. This is used to determine dependencies between bind elements.\n * @param {Node} formElement The element where the XPath is defined: used for namespace resolving\n * @return {string}\n */\nexport function evaluateXPathToStrings(\n xpath,\n contextNode,\n formElement,\n domFacade = null,\n namespaceReferenceNode = formElement,\n) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n return fxEvaluateXPathToStrings(\n xpath,\n contextNode,\n domFacade,\n {},\n\n {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver,\n },\n );\n}\n\n/**\n * Evaluate an XPath to a number\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @param {DomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM\n * @param {Node} formElement The element where the XPath is defined: used for namespace resolving\n * access. This is used to determine dependencies between bind elements.\n * @return {Number}\n */\nexport function evaluateXPathToNumber(\n xpath,\n contextNode,\n formElement,\n domFacade = null,\n namespaceReferenceNode = formElement,\n) {\n const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement);\n const variablesInScope = getVariablesInScope(formElement);\n\n return fxEvaluateXPathToNumber(xpath, contextNode, domFacade, variablesInScope, {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver,\n });\n}\n\n/**\n * Resolve an id in scope. Behaves like the algorithm defined on https://www.w3.org/community/xformsusers/wiki/XForms_2.0#idref-resolve\n */\n\nconst contextFunction = (dynamicContext, string) => {\n const caller = dynamicContext.currentContext.formElement;\n if (string) {\n const instance = resolveId(string, caller);\n if (instance) {\n if (instance.nodeName === 'FX-REPEAT') {\n const { nodeset } = instance;\n for (let parent = caller; parent; parent = parent.parentNode) {\n if (parent.parentNode === instance) {\n const offset = Array.from(parent.parentNode.children).indexOf(parent);\n return nodeset[offset];\n }\n }\n }\n return instance.nodeset;\n }\n }\n const parent = XPathUtil.getParentBindingElement(caller);\n // const p = caller.nodeName;\n // const p = dynamicContext.domFacade.getParentElement();\n\n if (parent) return parent;\n return caller.getInScopeContext();\n};\n\n/**\n * @param id as string\n * @return instance data for given id serialized to string.\n */\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'context' },\n [],\n 'item()?',\n contextFunction,\n);\n\n/**\n * @param id as string\n * @return instance data for given id serialized to string.\n */\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'context' },\n ['xs:string'],\n 'item()?',\n contextFunction,\n);\n\n/**\n * @param id as string\n * @return instance data for given id serialized to string.\n */\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'log' },\n ['xs:string?'],\n 'xs:string?',\n (dynamicContext, string) => {\n const { formElement } = dynamicContext.currentContext;\n const instance = resolveId(string, formElement, 'fx-instance');\n if (instance) {\n if (instance.getAttribute('type') === 'json') {\n console.warn('log() does not work for JSON yet');\n // return JSON.stringify(instance.getDefaultContext());\n } else {\n const def = new XMLSerializer().serializeToString(instance.getDefaultContext());\n return Fore.prettifyXml(def);\n }\n }\n return null;\n },\n);\n\nfunction buildTree(tree, data) {\n if (!data) return;\n if (data.nodeType === Node.ELEMENT_NODE) {\n if (data.children) {\n const details = document.createElement('details');\n details.setAttribute('data-path', data.nodeName);\n const summary = document.createElement('summary');\n\n let display = ` <${data.nodeName}`;\n Array.from(data.attributes).forEach(attr => {\n display += ` ${attr.nodeName}=\"${attr.nodeValue}\"`;\n });\n\n let contents;\n if (\n data.firstChild &&\n data.firstChild.nodeType === Node.TEXT_NODE &&\n data.firstChild.data.trim() !== ''\n ) {\n // console.log('whoooooooooopp');\n contents = data.firstChild.nodeValue;\n display += `>${contents}</${data.nodeName}>`;\n } else {\n display += '>';\n }\n summary.textContent = display;\n\n details.appendChild(summary);\n if (data.childElementCount !== 0) {\n details.setAttribute('open', 'open');\n } else {\n summary.setAttribute('style', 'list-style:none;');\n }\n tree.appendChild(details);\n\n Array.from(data.children).forEach(child => {\n // if(child.nodeType === Node.ELEMENT_NODE){\n // child.parentNode.appendChild(buildTree(child));\n buildTree(details, child);\n // }\n });\n }\n } /* else if(data.nodeType === Node.ATTRIBUTE_NODE){\n //create span for now\n // const span = document.createElement('span');\n // span.style.background = 'grey';\n // span.textContent = data.value;\n // tree.appendChild(span);\n tree.setAttribute(data.nodeName,data.value);\n }else {\n tree.textContent = data;\n } */\n\n // return tree;\n}\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'logtree' },\n ['xs:string?'],\n 'element()?',\n (dynamicContext, string) => {\n const { formElement } = dynamicContext.currentContext;\n const instance = resolveId(string, formElement, 'fx-instance');\n\n if (instance) {\n // const def = new XMLSerializer().serializeToString(instance.getDefaultContext());\n // const def = JSON.stringify(instance.getDefaultContext());\n\n const treeDiv = document.createElement('div');\n treeDiv.setAttribute('class', 'logtree');\n // const datatree = buildTree(tree,instance.getDefaultContext());\n // return tree.appendChild(datatree);\n // return buildTree(root,instance.getDefaultContext());;\n const form = dynamicContext.currentContext.formElement;\n const logtree = form.querySelector('.logtree');\n if (logtree) {\n logtree.parentNode.removeChild(logtree);\n }\n const tree = buildTree(treeDiv, instance.getDefaultContext());\n if (tree) {\n form.appendChild(tree);\n }\n }\n return null;\n },\n);\n\nconst instance = (dynamicContext, string) => {\n // Spec: https://www.w3.org/TR/xforms-xpath/#The_XForms_Function_Library#The_instance.28.29_Function\n // TODO: handle no string passed (null will be passed instead)\n\n const formElement = fxEvaluateXPathToFirstNode(\n 'ancestor-or-self::fx-fore[1]',\n dynamicContext.currentContext.formElement,\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n );\n\n // console.log('fnInstance dynamicContext: ', dynamicContext);\n // console.log('fnInstance string: ', string);\n\n const inst = string\n ? resolveId(string, formElement, 'fx-instance')\n : formElement.querySelector(`fx-instance`);\n\n // const def = instance.getInstanceData();\n if (inst) {\n const def = inst.getDefaultContext();\n // console.log('target instance root node: ', def);\n\n return def;\n }\n return null;\n};\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'index' },\n ['xs:string?'],\n 'xs:integer?',\n (dynamicContext, string) => {\n const { formElement } = dynamicContext.currentContext;\n if (string === null) {\n return 1;\n }\n const repeat = resolveId(string, formElement, 'fx-repeat');\n\n // const def = instance.getInstanceData();\n if (repeat) {\n return repeat.getAttribute('index');\n }\n return Number(1);\n },\n);\n\n// Note that this is not to spec. The spec enforces elements to be returned from the\n// instance. However, we allow instances to actually be JSON!\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'instance' },\n [],\n 'item()?',\n domFacade => instance(domFacade, null),\n);\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'instance' },\n ['xs:string?'],\n 'item()?',\n instance,\n);\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'depends' },\n ['node()*'],\n 'item()?',\n (dynamicContext, nodes) =>\n // console.log('depends on : ', nodes[0]);\n nodes[0],\n);\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'event' },\n ['xs:string?'],\n 'item()?',\n (dynamicContext, arg) => {\n if (!dynamicContext.currentContext.variables) return [];\n if (!arg) return [];\n const payload = dynamicContext.currentContext.variables[arg];\n if (payload.nodeType) {\n console.log('got some node as js object');\n }\n\n return dynamicContext.currentContext.variables[arg];\n },\n);\n\n// Implement the XForms standard functions here.\nregisterXQueryModule(`\n module namespace xf=\"${XFORMS_NAMESPACE_URI}\";\n\n declare %public function xf:boolean-from-string($str as xs:string) as xs:boolean {\n lower-case($str) = \"true\" or $str = \"1\"\n };\n`);\n\n// How to run XQUERY:\n/**\nregisterXQueryModule(`\nmodule namespace my-custom-namespace = \"my-custom-uri\";\n(:~\n\tInsert attribute somewhere\n\t~:)\ndeclare %public %updating function my-custom-namespace:do-something ($ele as element()) as xs:boolean {\n\tif ($ele/@done) then false() else\n\t(insert node\n\tattribute done {\"true\"}\n\tinto $ele, true())\n};\n`)\n// At some point:\nconst contextNode = null;\nconst pendingUpdatesAndXdmValue = evaluateUpdatingExpressionSync('ns:do-something(.)', contextNode, null, null, {moduleImports: {'ns': 'my-custom-uri'}})\n\nconsole.log(pendingUpdatesAndXdmValue.xdmValue); // this is true or false, see function\n\nexecutePendingUpdateList(pendingUpdatesAndXdmValue.pendingUpdateList, null, null, null);\n*/\n\n/**\n * @param input as string\n * @return {string}\n */\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'base64encode' },\n ['xs:string?'],\n 'xs:string?',\n (dynamicContext, string) => btoa(string),\n);\n","import { Fore } from './fore.js';\nimport { evaluateXPathToFirstNode } from './xpath-evaluation.js';\n\n/**\n * Container for data instances.\n *\n * Offers several ways of loading data from either inline content or via 'src' attribute which will use the fetch\n * API to resolve data.\n */\nexport class FxInstance extends HTMLElement {\n constructor() {\n super();\n this.model = this.parentNode;\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n // console.log('connectedCallback ', this);\n if (this.hasAttribute('src')) {\n this.src = this.getAttribute('src');\n }\n\n if (this.hasAttribute('id')) {\n this.id = this.getAttribute('id');\n } else {\n this.id = 'default';\n }\n\n if (this.hasAttribute('type')) {\n this.type = this.getAttribute('type');\n } else {\n this.type = 'xml';\n }\n const style = `\n :host {\n display: none;\n }\n :host * {\n display:none;\n }\n ::slotted(*){\n display:none;\n }\n `;\n\n const html = `\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n }\n\n /**\n * Is called by fx-model during initialization phase (model-construct)\n * @returns {Promise<void>}\n */\n async init() {\n // console.log('fx-instance init');\n await this._initInstance().then(() => {\n this.dispatchEvent(\n new CustomEvent('instance-loaded', {\n composed: true,\n bubbles: true,\n detail: { instance: this },\n }),\n );\n return this;\n });\n }\n\n evalXPath(xpath) {\n const formElement = this.parentElement.parentElement;\n const result = evaluateXPathToFirstNode(xpath, this.getDefaultContext(), formElement);\n return result;\n }\n\n /**\n * returns the current instance data\n *\n * @returns {Document | T | any}\n */\n getInstanceData() {\n if (!this.instanceData) {\n this._createInstanceData();\n }\n return this.instanceData;\n }\n\n setInstanceData(data) {\n if (!data) {\n this._createInstanceData();\n return;\n }\n this.instanceData = data;\n }\n\n /**\n * return the default context (root node of respective instance) for XPath evalution.\n *\n * @returns {Document|T|any|Element}\n */\n getDefaultContext() {\n // console.log('getDefaultContext ', this.instanceData.firstElementChild);\n if (this.type === 'xml') {\n return this.instanceData.firstElementChild;\n }\n return this.instanceData;\n }\n\n /**\n * does the actual loading of data. Handles inline data, data loaded via fetch() or data constructed from\n * querystring.\n *\n * @returns {Promise<void>}\n * @private\n */\n async _initInstance() {\n if (this.src === '#querystring') {\n /*\n * generate XML data from URL querystring\n * todo: there's no variant to generate JSON yet\n */\n // eslint-disable-next-line no-restricted-globals\n const query = new URLSearchParams(location.search);\n const doc = new DOMParser().parseFromString('<data></data>', 'application/xml');\n const root = doc.firstElementChild;\n for (const p of query) {\n const newNode = doc.createElement(p[0]);\n newNode.appendChild(doc.createTextNode(p[1]));\n root.appendChild(newNode);\n }\n this.instanceData = doc;\n // this.instanceData.firstElementChild.setAttribute('id', this.id);\n // resolve('done');\n } else if (this.src) {\n await this._loadData();\n } else if (this.childNodes.length !== 0) {\n this._useInlineData();\n }\n }\n\n _createInstanceData() {\n if (this.type === 'xml') {\n // const doc = new DOMParser().parseFromString('<data data-id=\"default\"></data>', 'application/xml');\n const doc = new DOMParser().parseFromString('<data></data>', 'application/xml');\n this.instanceData = doc;\n }\n if (this.type === 'json') {\n this.instanceData = {};\n }\n }\n\n async _loadData() {\n const url = `${this.src}`;\n const contentType = Fore.getContentType(this, 'get');\n\n await fetch(url, {\n method: 'GET',\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': contentType,\n },\n })\n .then(response => {\n const { status } = response;\n if (status >= 400) {\n console.log('response status', status);\n alert(`response status: ${status} - failed to load data for '${this.src}' - stopping.`);\n throw new Error(`failed to load data - status: ${status}`);\n }\n const responseContentType = response.headers.get('content-type').toLowerCase();\n console.log('********** responseContentType *********', responseContentType);\n if (responseContentType.startsWith('text/html')) {\n // const htmlResponse = response.text();\n // return new DOMParser().parseFromString(htmlResponse, 'text/html');\n // return response.text();\n return response.text().then(result =>\n // console.log('xml ********', result);\n new DOMParser().parseFromString(result, 'text/html'),\n );\n }\n if (\n responseContentType.startsWith('text/plain') ||\n responseContentType.startsWith('text/markdown')\n ) {\n // console.log(\"********** inside res plain *********\");\n return response.text();\n }\n if (responseContentType.startsWith('application/json')) {\n // console.log(\"********** inside res json *********\");\n return response.json();\n }\n if (responseContentType.startsWith('application/xml')) {\n return response.text().then(result =>\n // console.log('xml ********', result);\n new DOMParser().parseFromString(result, 'application/xml'),\n );\n }\n return 'done';\n })\n .then(data => {\n if (data.nodeType) {\n this.instanceData = data;\n console.log('instanceData loaded: ', this.instanceData);\n return;\n }\n this.instanceData = data;\n })\n .catch(error => {\n throw new Error(`failed loading data ${error}`);\n });\n }\n\n _getContentType() {\n if (this.type === 'xml') {\n return 'application/xml';\n }\n if (this.type === 'json') {\n return 'application/json';\n }\n console.warn('content-type unknown ', this.type);\n return null;\n }\n\n _useInlineData() {\n if (this.type === 'xml') {\n // console.log('innerHTML ', this.innerHTML);\n const instanceData = new DOMParser().parseFromString(this.innerHTML, 'application/xml');\n\n console.log('fx-instance init id:', this.id);\n this.instanceData = instanceData;\n // console.log('instanceData ', this.instanceData);\n // console.log('instanceData ', this.instanceData.firstElementChild);\n\n console.log('fx-instance data: ', this.instanceData);\n // this.instanceData.firstElementChild.setAttribute('id', this.id);\n // todo: move innerHTML out to shadowDOM (for later reset)\n } else if (this.type === 'json') {\n this.instanceData = JSON.parse(this.textContent);\n } else if (this.type === 'html') {\n this.instanceData = this.firstElementChild.children;\n } else if (this.type === 'text') {\n this.instanceData = this.textContent;\n } else {\n console.warn('unknow type for data ', this.type);\n }\n }\n\n _handleResponse() {\n console.log('_handleResponse ');\n const ajax = this.shadowRoot.getElementById('loader');\n const instanceData = new DOMParser().parseFromString(ajax.lastResponse, 'application/xml');\n this.instanceData = instanceData;\n console.log('data: ', this.instanceData);\n }\n\n _handleError() {\n const loader = this.shadowRoot.getElementById('loader');\n console.log('_handleResponse ', loader.lastError);\n }\n}\nif (!customElements.get('fx-instance')) {\n customElements.define('fx-instance', FxInstance);\n}\n","/**\n * Class for holding ModelItem facets.\n *\n * A ModelItem annotates nodes that are referred by a fx-bind element with facets for calculation and validation.\n *\n * Each bound node in an instance has exactly one ModelItem associated with it.\n */\nexport class ModelItem {\n /**\n *\n * @param {path} calculated normalized path expression linking to data\n * @param {ref} ref relative binding expression\n * @param {*} isReadonly - boolean to signal readonly/readwrite state\n * @param {*} relevant - boolean to signal relevant/non-relevant state\n * @param {*} required - boolean to signal required/optional state\n * @param {*} required - boolean boolean to signal valid/invalid state\n * @param {*} type - string expression to set a datatype\n * @param {*} node - the node the 'ref' expression is referring to\n * @param {*} bind - the fx-bind element having created this modelItem\n */\n constructor(path, ref, readonly, relevant, required, constraint, type, node, bind) {\n this.path = path;\n this.ref = ref;\n this.constraint = constraint;\n this.readonly = readonly;\n this.relevant = relevant;\n this.required = required;\n this.type = type;\n this.node = node;\n this.bind = bind;\n this.changed = false;\n this.alerts = [];\n this.boundControls = [];\n // this.value = this._getValue();\n }\n\n /*\n get ref(){\n return this.bind.ref;\n }\n*/\n\n get value() {\n if (!this.node.nodeType) return this.node;\n\n if (this.node.nodeType === Node.ATTRIBUTE_NODE) {\n return this.node.nodeValue;\n }\n return this.node.textContent;\n }\n\n set value(newVal) {\n console.log('modelitem.setvalue oldVal', this.value);\n console.log('modelitem.setvalue newVal', newVal);\n\n if (newVal.nodeType === Node.DOCUMENT_NODE) {\n this.node.replaceWith(newVal.firstElementChild);\n // this.node.appendChild(newVal.firstElementChild);\n } else if (newVal.nodeType === Node.ELEMENT_NODE) {\n this.node.replaceWith(newVal);\n // this.node.appendChild(newVal);\n } else if (this.node.nodeType === Node.ATTRIBUTE_NODE) {\n this.node.nodeValue = newVal;\n } else {\n this.node.textContent = newVal;\n }\n }\n\n addAlert(alert) {\n this.alerts.push(alert);\n }\n\n cleanAlerts() {\n this.alerts = [];\n }\n}\n","import { DepGraph } from './dep_graph.js';\nimport { Fore } from './fore.js';\nimport './fx-instance.js';\nimport { ModelItem } from './modelitem.js';\nimport { evaluateXPath, evaluateXPathToBoolean } from './xpath-evaluation.js';\nimport { XPathUtil } from './xpath-util.js';\n\n/**\n * @ts-check\n */\nexport class FxModel extends HTMLElement {\n constructor() {\n super();\n // this.id = '';\n\n this.instances = [];\n this.modelItems = [];\n this.defaultContext = {};\n this.changed = [];\n\n // this.mainGraph = new DepGraph(false);\n this.inited = false;\n this.modelConstructed = false;\n this.attachShadow({ mode: 'open' });\n this.computes = 0;\n }\n\n get formElement() {\n return this.parentElement;\n }\n\n connectedCallback() {\n // console.log('connectedCallback ', this);\n this.shadowRoot.innerHTML = `\n <slot></slot>\n `;\n\n this.addEventListener('model-construct-done', () => {\n this.modelConstructed = true;\n // console.log('model-construct-done fired ', this.modelConstructed);\n // console.log('model-construct-done fired ', e.detail.model.instances);\n },{ once: true });\n\n this.skipUpdate = false;\n }\n\n static lazyCreateModelItem(model, ref, node) {\n // console.log('lazyCreateModelItem ', node);\n\n let targetNode = {};\n if (node === null || node === undefined) return null;\n if (node.nodeType === node.TEXT_NODE) {\n // const parent = node.parentNode;\n // console.log('PARENT ', parent);\n targetNode = node.parentNode;\n } else {\n targetNode = node;\n }\n\n // const path = fx.evaluateXPath('path()',node);\n let path;\n if (node.nodeType) {\n path = XPathUtil.getPath(node);\n } else {\n path = null;\n targetNode = node;\n }\n // const path = XPathUtil.getPath(node);\n\n // ### intializing ModelItem with default values (as there is no <fx-bind> matching for given ref)\n const mi = new ModelItem(\n path,\n ref,\n Fore.READONLY_DEFAULT,\n Fore.RELEVANT_DEFAULT,\n Fore.REQUIRED_DEFAULT,\n Fore.CONSTRAINT_DEFAULT,\n Fore.TYPE_DEFAULT,\n targetNode,\n this,\n );\n\n // console.log('new ModelItem is instanceof ModelItem ', mi instanceof ModelItem);\n model.registerModelItem(mi);\n return mi;\n }\n\n /**\n * modelConstruct starts actual processing of the model by\n *\n * 1. loading instances if present or constructing one\n * 2. calling updateModel to run the model update cycle of rebuild, recalculate and revalidate\n *\n * @event model-construct-done is fired once all instances have be loaded or after generating instance\n *\n */\n modelConstruct() {\n // console.log('### <<<<< dispatching model-construct >>>>>');\n // this.dispatchEvent(new CustomEvent('model-construct', { detail: this }));\n this.dispatchEvent(\n new CustomEvent('model-construct', {\n composed: false,\n bubbles: true,\n detail: { model: this },\n }),\n );\n\n console.time('instance-loading');\n const instances = this.querySelectorAll('fx-instance');\n if (instances.length > 0) {\n console.group('init instances');\n const promises = [];\n instances.forEach(instance => {\n promises.push(instance.init());\n });\n\n Promise.all(promises).then(() => {\n this.instances = Array.from(instances);\n // console.log('_modelConstruct this.instances ', this.instances);\n this.updateModel();\n this.inited = true;\n\n // console.log('### <<<<< dispatching model-construct-done >>>>>');\n this.dispatchEvent(\n new CustomEvent('model-construct-done', {\n composed: false,\n bubbles: true,\n detail: { model: this },\n }),\n );\n });\n console.groupEnd();\n } else {\n // ### if there's no instance one will created\n this.dispatchEvent(\n new CustomEvent('model-construct-done', {\n composed: false,\n bubbles: true,\n detail: { model: this },\n }),\n );\n }\n console.timeEnd('instance-loading');\n this.inited = true;\n }\n\n registerModelItem(modelItem) {\n // console.log('ModelItem registered ', modelItem);\n this.modelItems.push(modelItem);\n }\n\n /**\n * update action triggering the update cycle\n */\n updateModel() {\n // console.time('updateModel');\n this.rebuild();\n if (this.skipUpdate) return;\n this.recalculate();\n this.revalidate();\n // console.timeEnd('updateModel');\n }\n\n rebuild() {\n console.group('### rebuild');\n console.time('rebuild');\n this.mainGraph = new DepGraph(false); // do: should be moved down below binds.length check but causes errors in tests.\n this.modelItems = [];\n\n // trigger recursive initialization of the fx-bind elements\n const binds = this.querySelectorAll('fx-model > fx-bind');\n if (binds.length === 0) {\n // console.log('skipped model update');\n this.skipUpdate = true;\n return;\n }\n\n binds.forEach(bind => {\n bind.init(this);\n });\n // console.timeEnd('rebuild');\n\n // console.log(`dependencies of a `, this.mainGraph.dependenciesOf(\"/Q{}data[1]/Q{}a[1]:required\"));\n // console.log(`dependencies of b `, this.mainGraph.dependenciesOf(\"/Q{}data[1]/Q{}b[1]:required\"));\n console.log(`rebuild mainGraph`, this.mainGraph);\n console.log(`rebuild mainGraph calc order`, this.mainGraph.overallOrder());\n\n this.dispatchEvent(new CustomEvent('rebuild-done', { detail: { maingraph: this.mainGraph } }));\n\n /*\n console.log(\n `rebuild finished with modelItems ${this.modelItems.length} item(s)`,\n this.modelItems,\n );\n */\n console.groupEnd();\n }\n\n /**\n * recalculation of all modelItems. Uses dependency graph to determine order of computation.\n *\n * todo: use 'changed' flag on modelItems to determine subgraph for recalculation. Flag already exists but is not used.\n */\n recalculate() {\n console.group('### recalculate');\n console.log('changed nodes ', this.changed);\n\n console.time('recalculate');\n this.computes = 0;\n\n this.subgraph = new DepGraph(false);\n if (this.changed.length !== 0) {\n // ### build the subgraph\n this.changed.forEach(modelItem => {\n this.subgraph.addNode(modelItem.path, modelItem.node);\n // const dependents = this.mainGraph.dependantsOf(modelItem.path, false);\n // this._addSubgraphDependencies(modelItem.path);\n if (this.mainGraph && this.mainGraph.hasNode(modelItem.path)) {\n // const dependents = this.mainGraph.directDependantsOf(modelItem.path)\n\n const all = this.mainGraph.dependantsOf(modelItem.path, false);\n const dependents = all.reverse();\n if (dependents.length !== 0) {\n dependents.forEach(dep => {\n // const subdep = this.mainGraph.dependentsOf(dep,false);\n // subgraph.addDependency(dep, modelItem.path);\n const val = this.mainGraph.getNodeData(dep);\n this.subgraph.addNode(dep, val);\n if (dep.includes(':')) {\n const path = dep.substring(0, dep.indexOf(':'));\n this.subgraph.addNode(path, val);\n\n const deps = this.mainGraph.dependentsOf(modelItem.path, false);\n // if we find the dep to be first in list of dependents we are dependent on ourselves not adding edge to modelItem.path\n if (deps.indexOf(dep) !== 0) {\n this.subgraph.addDependency(dep, modelItem.path);\n }\n }\n // subgraph.addDependency(dep,modelItem.path);\n });\n }\n }\n });\n\n // ### compute the subgraph\n const ordered = this.subgraph.overallOrder(false);\n ordered.forEach(path => {\n if (this.mainGraph && this.mainGraph.hasNode(path)) {\n const node = this.mainGraph.getNodeData(path);\n this.compute(node, path);\n }\n });\n const toRefresh = [...this.changed];\n this.formElement.toRefresh = toRefresh;\n this.changed = [];\n console.log('subgraph', this.subgraph);\n this.dispatchEvent(\n new CustomEvent('recalculate-done', { detail: { subgraph: this.subgraph } }),\n );\n } else {\n const v = this.mainGraph.overallOrder(false);\n v.forEach(path => {\n const node = this.mainGraph.getNodeData(path);\n this.compute(node, path);\n });\n }\n console.log(`recalculated ${this.computes} modelItems`);\n\n console.timeEnd('recalculate');\n console.log(\n `recalculate finished with modelItems ${this.modelItems.length} item(s)`,\n this.modelItems,\n );\n console.groupEnd();\n }\n\n /*\n _addSubgraphDependencies(path){\n const dependents = this.mainGraph.directDependantsOf(path)\n\n const alreadyInGraph = this.subgraph.incomingEdges[path];\n // const alreadyInGraph = path in this.subgraph;\n if(dependents.length !== 0 && alreadyInGraph.length === 0){\n\n dependents.forEach(dep => {\n // const val= this.mainGraph.getNodeData(dep);\n // this.subgraph.addNode(dep,val);\n if(dep.includes(':')){\n const subpath = dep.substring(0, dep.indexOf(':'));\n // this.subgraph.addNode(subpath,val);\n this.subgraph.addDependency(subpath,dep);\n this.subgraph.addDependency(dep,path);\n /!*\n const subdeps = this.mainGraph.directDependantsOf(path);\n console.log('subdeps',path, subdeps);\n subdeps.forEach(sdep => {\n const sval= this.mainGraph.getNodeData(sdep);\n this.subgraph.addNode(sdep,sval);\n console.log('subdep',sdep);\n });\n *!/\n if(this.subgraph.incomingEdges[dep] === 0){\n this._addSubgraphDependencies(subpath)\n }\n\n }\n });\n\n }\n\n }\n*/\n\n /**\n * (re-) computes a modelItem.\n * @param node - the node the modelItem is attached to\n * @param path - the canonical XPath of the node\n */\n compute(node, path) {\n const modelItem = this.getModelItem(node);\n if (modelItem && path.includes(':')) {\n const property = path.split(':')[1];\n if (property) {\n /*\n if (property === 'readonly') {\n // make sure that calculated items are always readonly\n if(modelItem.bind['calculate']){\n modelItem.readonly = true;\n }else {\n const expr = modelItem.bind[property];\n const compute = evaluateXPathToBoolean(expr, modelItem.node, this);\n modelItem.readonly = compute;\n }\n }\n*/\n if (property === 'calculate') {\n const expr = modelItem.bind[property];\n const compute = evaluateXPath(expr, modelItem.node, this);\n modelItem.value = compute;\n modelItem.readonly = true; // calculated nodes are always readonly\n } else if (property !== 'constraint' && property !== 'type') {\n const expr = modelItem.bind[property];\n if (expr) {\n const compute = evaluateXPathToBoolean(expr, modelItem.node, this);\n modelItem[property] = compute;\n console.log(\n `recalculating path ${path} - Expr:'${expr}' computed`,\n modelItem[property],\n );\n }\n }\n }\n this.computes += 1;\n }\n }\n\n /**\n * Iterates all modelItems to calculate the validation status.\n *\n * Model alerts are given on 'fx-bind' elements as either attribute `alert` or as `fx-alert` child elements.\n *\n * During model-construct all model alerts are added to the modelItem if any\n *\n * to revalidate:\n * Gets the `constraint` attribute declaration from modelItem.bind\n * Computes the XPath to a Boolean\n * Updates the modelItem.constraint property\n *\n * todo: type checking\n * todo: run browser validation API\n *\n */\n revalidate() {\n console.group('### revalidate');\n\n console.time('revalidate');\n let valid = true;\n this.modelItems.forEach(modelItem => {\n // console.log('validating node ', modelItem.node);\n\n const { bind } = modelItem;\n if (bind) {\n /*\n todo: investigate why bind is an element when created in fx-bind.init() and an fx-bind object when\n created lazily.\n */\n if (typeof bind.hasAttribute === 'function' && bind.hasAttribute('constraint')) {\n const constraint = bind.getAttribute('constraint');\n if (constraint) {\n const compute = evaluateXPathToBoolean(constraint, modelItem.node, this);\n console.log('modelItem validity computed: ', compute);\n modelItem.constraint = compute;\n this.formElement.addToRefresh(modelItem); // let fore know that modelItem needs refresh\n if (!compute) valid = false;\n // ### alerts are added only once during model-construct. Otherwise they would add up in each run of revalidate()\n if (!this.modelConstructed) {\n // todo: get alert from attribute or child element\n const alert = bind.getAlert();\n if (alert) {\n modelItem.addAlert(alert);\n }\n }\n }\n }\n }\n });\n console.timeEnd('revalidate');\n console.log('modelItems after revalidate: ', this.modelItems);\n console.groupEnd();\n return valid;\n }\n\n /**\n *\n * @param node\n * @returns {ModelItem}\n */\n getModelItem(node) {\n return this.modelItems.find(m => m.node === node);\n }\n\n /**\n * get the default evaluation context for this model.\n * @returns {Element} the\n */\n getDefaultContext() {\n return this.instances[0].getDefaultContext();\n }\n\n getDefaultInstance() {\n return this.instances[0];\n }\n\n getDefaultInstanceData() {\n console.log('default instance data ', this.instances[0].instanceData);\n return this.instances[0].instanceData;\n }\n\n getInstance(id) {\n // console.log('getInstance ', id);\n // console.log('instances ', this.instances);\n // console.log('instances array ',Array.from(this.instances));\n\n const instArray = Array.from(this.instances);\n return instArray.find(inst => inst.id === id);\n }\n\n evalBinding(bindingExpr) {\n // console.log('MODEL.evalBinding ', bindingExpr);\n // default context of evaluation is always the default instance\n const result = this.instances[0].evalXPath(bindingExpr);\n return result;\n }\n}\nif (!customElements.get('fx-model')) {\n customElements.define('fx-model', FxModel);\n}\n","import { evaluateXPathToFirstNode } from './xpath-evaluation.js';\nimport { Fore } from './fore.js';\n\nimport { XPathUtil } from './xpath-util.js';\n\nfunction _getElement(node) {\n if (node && node.nodeType && node.nodeType === Node.ATTRIBUTE_NODE) {\n // The context of an attribute is the ref of the element it's defined on\n return node.ownerElement;\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n // The context of a query should be the element having a ref\n return node;\n }\n\n // For text nodes, just start looking from the parent element\n return node.parentNode;\n}\n\nfunction _getForeContext(node) {\n return node.closest('fx-fore');\n}\n\nfunction _getModelInContext(node) {\n // const ownerForm = node.closest('fx-fore');\n const ownerForm = _getForeContext(node);\n return ownerForm.getModel();\n}\n\nfunction _getInitialContext(node, ref) {\n const parentBind = Fore.getClosest('[ref]', node);\n const localFore = Fore.getClosest('fx-fore', node);\n\n const model = _getModelInContext(node);\n\n if (parentBind !== null) {\n /*\n make sure that the closest ref belongs to the same fx-fore element\n */\n const parentBindFore = parentBind.closest('fx-fore');\n if (localFore === parentBindFore) {\n return parentBind.nodeset;\n }\n return model.getDefaultInstance().getDefaultContext();\n }\n\n if (XPathUtil.isAbsolutePath(ref)) {\n const instanceId = XPathUtil.getInstanceId(ref);\n if (instanceId) {\n return model.getInstance(instanceId).getDefaultContext();\n }\n return model.getDefaultInstance().getDefaultContext();\n }\n if (model.getDefaultInstance() !== null && model.inited) {\n return model.getDefaultInstance().getDefaultContext();\n }\n return [];\n}\n\nexport default function getInScopeContext(node, ref) {\n const parentElement = _getElement(node);\n\n const repeatItem = Fore.getClosest('fx-repeatitem', parentElement);\n if (repeatItem) {\n if (node.nodeName === 'context') {\n return evaluateXPathToFirstNode(\n node.nodeValue,\n repeatItem.nodeset,\n _getForeContext(parentElement),\n );\n }\n return repeatItem.nodeset;\n }\n\n if (parentElement.hasAttribute('context')) {\n const initialContext = _getInitialContext(parentElement.parentNode, ref);\n const contextAttr = parentElement.getAttribute('context');\n return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement));\n }\n\n if (node.nodeType === Node.ATTRIBUTE_NODE && node.nodeName === 'context') {\n const initialContext = _getInitialContext(node.ownerElement.parentNode, ref);\n const contextAttr = node.ownerElement.getAttribute('context');\n return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement));\n }\n if (node.nodeType === Node.ATTRIBUTE_NODE && node.nodeName === 'ref') {\n // Note: do not consider the ref of the owner element since it should not be used to define the\n // context\n if (node.ownerElement.hasAttribute('context')) {\n const initialContext = _getInitialContext(node.ownerElement.parentNode, ref);\n const contextAttr = node.ownerElement.getAttribute('context');\n return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement));\n }\n\n // Never resolve the context from a ref itself!\n return _getInitialContext(parentElement.parentNode, ref);\n }\n\n // if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute('context')) {\n // const initialContext = _getInitialContext(node.parentNode, ref);\n // const contextAttr = node.getAttribute('context');\n // return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement));\n // }\n return _getInitialContext(parentElement, ref);\n}\n","import { XPathUtil } from './xpath-util.js';\nimport { FxModel } from './fx-model.js';\nimport { Fore } from './fore.js';\nimport {\n evaluateXPath,\n evaluateXPathToFirstNode,\n evaluateXPathToString,\n} from './xpath-evaluation.js';\nimport getInScopeContext from './getInScopeContext.js';\n\n/**\n * Mixin containing all general functions that are shared by all Fore element classes.\n * @param superclass\n * @returns {{readonly properties: {ref: {type: StringConstructor}, context: {type: ObjectConstructor}, nodeset: {type: ObjectConstructor}, model: {type: ObjectConstructor}, inScopeVariables: {type: MapConstructor}, modelItem: {type: ObjectConstructor}}, new(): ForeElementMixin, context: null, model: null, modelItem: {}, ref: *|string, inScopeVariables: null, nodeset: *, prototype: ForeElementMixin}}\n */\nexport const foreElementMixin = superclass =>\n class ForeElementMixin extends superclass {\n static get properties() {\n return {\n /**\n * context object for evaluation\n */\n context: {\n type: Object,\n },\n /**\n * the model of this element\n */\n model: {\n type: Object,\n },\n /**\n * The modelitem object associated to the bound node holding the evaluated state.\n */\n modelItem: {\n type: Object,\n },\n /**\n * the node(s) bound by this element\n */\n nodeset: {\n type: Object,\n },\n /**\n * XPath binding expression pointing to bound node\n */\n ref: {\n type: String,\n },\n inScopeVariables: {\n type: Map,\n },\n };\n }\n\n constructor() {\n super();\n this.context = null;\n this.model = null;\n this.modelItem = {};\n this.ref = this.hasAttribute('ref') ? this.getAttribute('ref') : '';\n this.inScopeVariables = null;\n }\n\n getModel() {\n // console.log('getModel this ', this);\n if (this.model) {\n return this.model;\n }\n // const ownerForm = this.closest('fx-fore');\n // const ownerForm = this.getOwnerForm(this);\n const ownerForm = this.getOwnerForm();\n return ownerForm.querySelector('fx-model');\n }\n\n /**\n *\n * @returns {{parentNode}|ForeElementMixin}\n */\n getOwnerForm() {\n let currentElement = this;\n while (currentElement && currentElement.parentNode) {\n // console.log('current ', currentElement);\n\n if (currentElement.nodeName.toUpperCase() === 'FX-FORE') {\n return currentElement;\n }\n\n if (currentElement.parentNode instanceof DocumentFragment) {\n currentElement = currentElement.parentNode.host;\n } else {\n currentElement = currentElement.parentNode;\n }\n }\n return currentElement;\n }\n\n /**\n * evaluation of fx-bind and UiElements differ in details so that each class needs it's own implementation.\n */\n evalInContext() {\n // const inscopeContext = this.getInScopeContext();\n let inscopeContext;\n if (this.hasAttribute('context')) {\n inscopeContext = getInScopeContext(this.getAttributeNode('context') || this, this.context);\n }\n if (this.hasAttribute('ref')) {\n inscopeContext = getInScopeContext(this.getAttributeNode('ref') || this, this.ref);\n }\n if (!inscopeContext) {\n // ### always fall back to default context with there's neither a 'context' or 'ref' present\n inscopeContext = this.getModel()\n .getDefaultInstance()\n .getDefaultContext();\n // console.warn('no in scopeContext for ', this);\n // console.warn('using default context ', this);\n // return;\n }\n if (this.ref === '') {\n this.nodeset = inscopeContext;\n } else if (Array.isArray(inscopeContext)) {\n /*\n inscopeContext.forEach(n => {\n if (XPathUtil.isSelfReference(this.ref)) {\n this.nodeset = inscopeContext;\n } else {\n const localResult = evaluateXPathToFirstNode(this.ref, n, this);\n // console.log('local result: ', localResult);\n this.nodeset.push(localResult);\n }\n });\n*/\n this.nodeset = evaluateXPathToFirstNode(this.ref, inscopeContext[0], this);\n } else {\n // this.nodeset = fx.evaluateXPathToFirstNode(this.ref, inscopeContext, null, {namespaceResolver: this.namespaceResolver});\n const { nodeType } = inscopeContext;\n if (nodeType) {\n this.nodeset = evaluateXPathToFirstNode(this.ref, inscopeContext, this);\n } else {\n [this.nodeset] = evaluateXPath(this.ref, inscopeContext, this);\n }\n }\n // console.log('UiElement evaluated to nodeset: ', this.nodeset);\n }\n\n isNotBound() {\n return !this.hasAttribute('ref');\n }\n\n isBound() {\n return this.hasAttribute('ref');\n }\n\n getBindingExpr() {\n if (this.hasAttribute('ref')) {\n return this.getAttribute('ref');\n }\n // try to get closest parent bind\n const parent = Fore.getClosest('[ref]', this.parentNode);\n if (!parent) {\n return 'instance()'; // the default instance\n }\n return parent.getAttribute('ref');\n }\n\n getInstance() {\n if (this.ref.startsWith('instance(')) {\n const instId = XPathUtil.getInstanceId(this.ref);\n return this.getModel().getInstance(instId);\n }\n return this.getModel().getInstance('default');\n }\n\n _getParentBindingElement(start) {\n if (start.parentNode.host) {\n const { host } = start.parentNode;\n if (host.hasAttribute('ref')) {\n return host;\n }\n } else if (start.parentNode) {\n if (start.parentNode.hasAttribute('ref')) {\n return this.parentNode;\n }\n this._getParentBindingElement(this.parentNode);\n }\n return null;\n }\n\n getModelItem() {\n // return this.model.bindingMap.find(m => m.refnode === this.nodeset);\n // return this.getModel().bindingMap.find(m => m.refnode === this.nodeset);\n\n const mi = this.getModel().getModelItem(this.nodeset);\n if (mi) {\n this.modelItem = mi;\n }\n\n const repeated = Fore.getClosest('fx-repeatitem', this);\n let existed;\n if (repeated) {\n const { index } = repeated;\n if (Array.isArray(this.nodeset)) {\n existed = this.getModel().getModelItem(this.nodeset[index - 1]);\n } else {\n existed = this.getModel().getModelItem(this.nodeset);\n }\n } else {\n existed = this.getModel().getModelItem(this.nodeset);\n }\n\n if (!existed) {\n return FxModel.lazyCreateModelItem(this.getModel(), this.ref, this.nodeset);\n }\n return existed;\n }\n\n /**\n * Returns the effective value for the element.\n * a: look for 'value' attribute and if present evaluate it and return the resulting value\n * b: look for textContent and return the value if present\n * c: return null\n */\n getValue() {\n if (this.hasAttribute('value')) {\n const valAttr = this.getAttribute('value');\n try {\n const inscopeContext = getInScopeContext(this, valAttr);\n return evaluateXPathToString(valAttr, inscopeContext, this.getOwnerForm());\n } catch (error) {\n console.error(error);\n Fore.dispatch(this, 'error', { message: error });\n }\n }\n if (this.textContent) {\n return this.textContent;\n }\n return null;\n }\n\n getInScopeContext() {\n return getInScopeContext(this.getAttributeNode('ref') || this, this.ref);\n }\n\n setInScopeVariables(inScopeVariables) {\n this.inScopeVariables = inScopeVariables;\n }\n };\n","import { DependencyNotifyingDomFacade } from './DependencyNotifyingDomFacade.js';\nimport { foreElementMixin } from './ForeElementMixin.js';\nimport { Fore } from './fore.js';\nimport { ModelItem } from './modelitem.js';\nimport {\n evaluateXPathToBoolean,\n evaluateXPathToNodes,\n evaluateXPathToString,\n} from './xpath-evaluation.js';\nimport { XPathUtil } from './xpath-util.js';\nimport getInScopeContext from './getInScopeContext.js';\n\n/**\n * FxBind declaratively attaches constraints to nodes in the data (instances).\n *\n * It's major task is to create ModelItem Objects for each Node in the data their ref is pointing to.\n *\n * References and constraint attributes use XPath statements to point to the nodes they are attributing.\n *\n * Note: why is fx-bind not extending BoundElement? Though fx-bind has a 'ref' attr it is not bound in the sense of\n * getting updates about changes of the bound nodes. Instead it acts as a factory for modelItems that are used by\n * BoundElements to track their state.\n */\n// export class FxBind extends HTMLElement {\nexport class FxBind extends foreElementMixin(HTMLElement) {\n static READONLY_DEFAULT = false;\n\n static REQUIRED_DEFAULT = false;\n\n static RELEVANT_DEFAULT = true;\n\n static CONSTRAINT_DEFAULT = true;\n\n static TYPE_DEFAULT = 'xs:string';\n\n constructor() {\n super();\n this.nodeset = [];\n this.model = {};\n this.contextNode = {};\n this.inited = false;\n }\n\n connectedCallback() {\n // console.log('connectedCallback ', this);\n // this.id = this.hasAttribute('id')?this.getAttribute('id'):;\n this.ref = this.getAttribute('ref');\n this.readonly = this.getAttribute('readonly');\n this.required = this.getAttribute('required');\n this.relevant = this.getAttribute('relevant');\n this.type = this.hasAttribute('type') ? this.getAttribute('type') : FxBind.TYPE_DEFAULT;\n this.calculate = this.getAttribute('calculate');\n }\n\n /**\n * initializes the bind element by evaluating the binding expression.\n *\n * For each node referred to by the binding expr a ModelItem object is created.\n *\n * @param model\n */\n init(model) {\n this.model = model;\n console.log('init binding ', this);\n this.instanceId = this._getInstanceId();\n this.bindType = this.getModel().getInstance(this.instanceId).type;\n // console.log('binding type ', this.bindType);\n\n if (this.bindType === 'xml') {\n this._evalInContext();\n this._buildBindGraph();\n this._createModelItems();\n }\n\n // ### process child bindings\n this._processChildren(model);\n }\n\n _buildBindGraph() {\n if (this.bindType === 'xml') {\n this.nodeset.forEach(node => {\n const path = XPathUtil.getPath(node);\n this.model.mainGraph.addNode(path, node);\n\n /* ### catching references in the 'ref' itself...\n todo: investigate cases where 'ref' attributes use predicates pointing to other nodes. These would not be handled\n in current implementation.\n\n General question: are there valid use-cases for using a 'filter' expression to narrow the nodeset\n where to apply constraints? Guess yes and if it's 'just' for reducing the amount of necessary modelItem objects.\n\n\n */\n // const foreignRefs = this.getReferences(this.ref);\n\n if (this.calculate) {\n this.model.mainGraph.addNode(`${path}:calculate`, node);\n // Calculated values are a dependency of the model item.\n this.model.mainGraph.addDependency(path, `${path}:calculate`);\n }\n\n const calculateRefs = this._getReferencesForProperty(this.calculate, node);\n if (calculateRefs.length !== 0) {\n this._addDependencies(calculateRefs, node, path, 'calculate');\n }\n\n if (!this.calculate) {\n const readonlyRefs = this._getReferencesForProperty(this.readonly, node);\n if (readonlyRefs.length !== 0) {\n this._addDependencies(readonlyRefs, node, path, 'readonly');\n } else if (this.readonly) {\n this.model.mainGraph.addNode(`${path}:readonly`, node);\n }\n }\n\n // const requiredRefs = this.requiredReferences;\n const requiredRefs = this._getReferencesForProperty(this.required, node);\n if (requiredRefs.length !== 0) {\n this._addDependencies(requiredRefs, node, path, 'required');\n } else if (this.required) {\n this.model.mainGraph.addNode(`${path}:required`, node);\n }\n\n const relevantRefs = this._getReferencesForProperty(this.relevant, node);\n if (relevantRefs.length !== 0) {\n this._addDependencies(relevantRefs, node, path, 'relevant');\n } else if (this.relevant) {\n this.model.mainGraph.addNode(`${path}:relevant`, node);\n }\n\n const constraintRefs = this._getReferencesForProperty(this.constraint, node);\n if (constraintRefs.length !== 0) {\n this._addDependencies(constraintRefs, node, path, 'constraint');\n } else if (this.constraint) {\n this.model.mainGraph.addNode(`${path}:constraint`, node);\n }\n });\n }\n }\n\n /**\n * Add the dependencies of this bind\n *\n * @param {Node[]} refs The nodes that are referenced by this bind. these need to be resolved before\n * this bind can be resolved.\n * @param {Node} node The start of the reference\n * @param {string} path The path to the start of the reference\n * @param {string} property The property with this dependency\n */\n _addDependencies(refs, node, path, property) {\n // console.log('_addDependencies',path);\n const nodeHash = `${path}:${property}`;\n if (refs.length !== 0) {\n if (!this.model.mainGraph.hasNode(nodeHash)) {\n this.model.mainGraph.addNode(nodeHash, node);\n }\n refs.forEach(ref => {\n const otherPath = XPathUtil.getPath(ref);\n // console.log('otherPath', otherPath)\n\n // todo: nasty hack to prevent duplicate pathes like 'a[1]' and 'a[1]/text()[1]' to end up as separate nodes in the graph\n if (!otherPath.endsWith('text()[1]')) {\n if (!this.model.mainGraph.hasNode(otherPath)) {\n this.model.mainGraph.addNode(otherPath, ref);\n }\n this.model.mainGraph.addDependency(nodeHash, otherPath);\n }\n });\n } else {\n this.model.mainGraph.addNode(nodeHash, node);\n }\n }\n\n _processChildren(model) {\n const childbinds = this.querySelectorAll(':scope > fx-bind');\n Array.from(childbinds).forEach(bind => {\n // console.log('init child bind ', bind);\n bind.init(model);\n });\n }\n\n getAlert() {\n if (this.hasAttribute('alert')) {\n return this.getAttribute('alert');\n }\n const alertChild = this.querySelector('fx-alert');\n if (alertChild) {\n return alertChild.innerHTML;\n }\n return null;\n }\n\n /**\n * overwrites\n */\n _evalInContext() {\n const inscopeContext = getInScopeContext(this.getAttributeNode('ref') || this, this.ref);\n\n // reset nodeset\n this.nodeset = [];\n\n if (this.ref === '' || this.ref === null) {\n this.nodeset = inscopeContext;\n } else if (Array.isArray(inscopeContext)) {\n inscopeContext.forEach(n => {\n if (XPathUtil.isSelfReference(this.ref)) {\n this.nodeset = inscopeContext;\n } else {\n // eslint-disable-next-line no-lonely-if\n if (this.ref) {\n const localResult = evaluateXPathToNodes(this.ref, n, this);\n localResult.forEach(item => {\n this.nodeset.push(item);\n });\n /*\n const localResult = fx.evaluateXPathToFirstNode(this.ref, n, null, {namespaceResolver: this.namespaceResolver});\n this.nodeset.push(localResult);\n */\n }\n // console.log('local result: ', localResult);\n // this.nodeset.push(localResult);\n }\n });\n } else {\n const inst = this.getModel().getInstance(this.instanceId);\n if (inst.type === 'xml') {\n this.nodeset = evaluateXPathToNodes(this.ref, inscopeContext, this);\n } else {\n this.nodeset = this.ref;\n }\n }\n }\n\n _createModelItems() {\n // console.log('#### ', thi+s.nodeset);\n\n if (Array.isArray(this.nodeset)) {\n // todo - iterate and create\n // console.log('################################################ ', this.nodeset);\n // Array.from(this.nodeset).forEach((n, index) => {\n Array.from(this.nodeset).forEach(n => {\n // console.log('node ',n);\n // this._createModelItem(n, index);\n this._createModelItem(n);\n });\n } else {\n this._createModelItem(this.nodeset);\n }\n }\n\n /**\n * creates a ModelItem for given instance node.\n *\n * Please note that for textnode no ModelItem is created but instead the one of its parent is used which either\n * must exist and be initialized already when we hit the textnode.\n * @param node\n * @private\n */\n // _createModelItem(node, index) {\n _createModelItem(node) {\n // console.log('_createModelItem node', node, index);\n\n /*\n this.calculateReferences = this._getReferencesForProperty(this.calculate,node);\n this.readOnlyReferences = this._getReferencesForProperty(this.readonly,node);\n this.requiredReferences = this._getReferencesForProperty(this.required,node);\n this.relevantReferences = this._getReferencesForProperty(this.relevant,node);\n this.constraintReferences = this._getReferencesForProperty(this.constraint,node);\n */\n\n /*\n if bind is the dot expression we use the modelitem of the parent\n */\n if (XPathUtil.isSelfReference(this.ref)) {\n const parentBoundElement = Fore.getClosest('fx-bind[ref]', this.parentElement);\n console.log('parent bound element ', parentBoundElement);\n\n if (parentBoundElement) {\n // todo: Could be fancier by combining them\n parentBoundElement.required = this.required; // overwrite parent property!\n } else {\n console.error('no parent bound element');\n }\n\n return;\n }\n\n // let value = null;\n // const mItem = {};\n /*\n let targetNode = {};\n if (node.nodeType === node.TEXT_NODE) {\n // const parent = node.parentNode;\n // console.log('PARENT ', parent);\n targetNode = node.parentNode;\n } else {\n targetNode = node;\n }\n*/\n const targetNode = node;\n\n // const path = fx.evaluateXPath('path()',node);\n // const path = this.getPath(node);\n const path = XPathUtil.getPath(node);\n // const shortPath = this.shortenPath(path);\n\n // ### constructiong default modelitem - will get evaluated during reaalculate()\n // ### constructiong default modelitem - will get evaluated during reaalculate()\n // ### constructiong default modelitem - will get evaluated during reaalculate()\n // const newItem = new ModelItem(shortPath,\n const newItem = new ModelItem(\n path,\n this.getBindingExpr(),\n FxBind.READONLY_DEFAULT,\n FxBind.RELEVANT_DEFAULT,\n FxBind.REQUIRED_DEFAULT,\n FxBind.CONSTRAINT_DEFAULT,\n this.type,\n targetNode,\n this,\n );\n\n this.getModel().registerModelItem(newItem);\n }\n\n /**\n * Get the nodes that are referred by the given XPath expression\n *\n * @param {string} propertyExpr The XPath to get the referenced nodes from\n *\n * @return {Node[]} The nodes that are referenced by the XPath\n *\n * todo: DependencyNotifyingDomFacade reports back too much in some cases like 'a[1]' and 'a[1]/text[1]'\n */\n _getReferencesForProperty(propertyExpr) {\n if (propertyExpr) {\n return this.getReferences(propertyExpr);\n }\n return [];\n }\n\n getReferences(propertyExpr) {\n const touchedNodes = new Set();\n const domFacade = new DependencyNotifyingDomFacade(otherNode => touchedNodes.add(otherNode));\n this.nodeset.forEach(node => {\n evaluateXPathToString(propertyExpr, node, this, domFacade);\n });\n return Array.from(touchedNodes.values());\n }\n\n /*\n static getReferencesForRef(ref,nodeset){\n if (ref && nodeset) {\n const touchedNodes = new Set();\n const domFacade = new DependencyNotifyingDomFacade(otherNode => touchedNodes.add(otherNode));\n nodeset.forEach(node => {\n evaluateXPathToString(ref, node, this, domFacade);\n });\n\n return Array.from(touchedNodes.values());\n }\n return [];\n }\n */\n\n _initBooleanModelItemProperty(property, node) {\n // evaluate expression to boolean\n const propertyExpr = this[property];\n // console.log('####### ', propertyExpr);\n const result = evaluateXPathToBoolean(propertyExpr, node, this);\n return result;\n }\n\n static shortenPath(path) {\n const steps = path.split('/');\n let result = '';\n for (let i = 2; i < steps.length; i += 1) {\n const step = steps[i];\n if (step.indexOf('{}') !== -1) {\n const q = step.split('{}');\n result += `/${q[1]}`;\n } else {\n result += `/${step}`;\n }\n }\n return result;\n }\n\n // todo: more elaborated implementation ;)\n _getInstanceId() {\n const bindExpr = this.getBindingExpr();\n // console.log('_getInstanceId bindExpr ', bindExpr);\n if (bindExpr.startsWith('instance(')) {\n this.instanceId = XPathUtil.getInstanceId(bindExpr);\n return this.instanceId;\n }\n if (this.instanceId) {\n return this.instanceId;\n }\n return 'default';\n }\n}\nif (!customElements.get('fx-bind')) {\n customElements.define('fx-bind', FxBind);\n}\n","/*!\n * Toastify js 1.11.2\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n\n/**\n * Options used for Toastify\n * @typedef {Object} ToastifyConfigurationObject\n * @property {string} text - Message to be displayed in the toast\n * @property {Element} node - Provide a node to be mounted inside the toast. node takes higher precedence over text\n * @property {number} duration - Duration for which the toast should be displayed. -1 for permanent toast\n * @property {string|Element} selector - CSS ID Selector on which the toast should be added\n * @property {url} destination - URL to which the browser should be navigated on click of the toast\n * @property {boolean} newWindow - Decides whether the destination should be opened in a new window or not\n * @property {boolean} close - To show the close icon or not\n * @property {string} gravity - To show the toast from top or bottom\n * @property {string} position - To show the toast on left or right\n * @property {string} backgroundColor - Deprecated: Sets the background color of the toast\n * @property {url} avatar - Image/icon to be shown before text\n * @property {string} className - Ability to provide custom class name for further customization\n * @property {boolean} stopOnFocus - To stop timer when hovered over the toast (Only if duration is set)\n * @property {Function} callback - Invoked when the toast is dismissed\n * @property {Function} onClick - Invoked when the toast is clicked\n * @property {Object} offset - Ability to add some offset to axis\n * @property {boolean} escapeMarkup - Toggle the default behavior of escaping HTML markup\n * @property {Object} style - Use the HTML DOM style property to add styles to toast\n */\n\n\nclass Toastify {\n\n defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function() {},\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: \"\",\n backgroundColor: \"\",\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function() {},\n offset: { x: 0, y: 0 },\n escapeMarkup: true,\n style: { background: \"\" },\n };\n\n constructor(options) {\n /**\n * The version of Toastify\n * @type {string}\n * @public\n */\n this.version = \"1.11.2\";\n\n /**\n * The configuration object to configure Toastify\n * @type {ToastifyConfigurationObject}\n * @public\n */\n this.options = {};\n\n /**\n * The element that is the Toast\n * @type {Element}\n * @public\n */\n this.toastElement = null;\n\n /**\n * The root element that contains all the toasts\n * @type {Element}\n * @private\n */\n this._rootElement = document.body;\n\n this._init(options);\n }\n\n /**\n * Display the toast\n * @public\n */\n showToast() {\n // Creating the DOM object for the toast\n this.toastElement = this._buildToast();\n\n // Getting the root element to with the toast needs to be added\n if (typeof this.options.selector === \"string\") {\n this._rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || this.options.selector instanceof ShadowRoot) {\n this._rootElement = this.options.selector;\n } else {\n this._rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!this._rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n this._rootElement.insertBefore(this.toastElement, this._rootElement.firstChild);\n\n // Repositioning the toasts in case multiple toasts are present\n this._reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n () => {\n // Remove the toast from DOM\n this._removeElement(this.toastElement);\n },\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n }\n\n /**\n * Hide the toast\n * @public\n */\n hideToast() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this._removeElement(this.toastElement);\n }\n\n /**\n * Init the Toastify class\n * @param {ToastifyConfigurationObject} options - The configuration object to configure Toastify\n * @param {string} [options.text=Hi there!] - Message to be displayed in the toast\n * @param {Element} [options.node] - Provide a node to be mounted inside the toast. node takes higher precedence over text\n * @param {number} [options.duration=3000] - Duration for which the toast should be displayed. -1 for permanent toast\n * @param {string} [options.selector] - CSS Selector on which the toast should be added\n * @param {url} [options.destination] - URL to which the browser should be navigated on click of the toast\n * @param {boolean} [options.newWindow=false] - Decides whether the destination should be opened in a new window or not\n * @param {boolean} [options.close=false] - To show the close icon or not\n * @param {string} [options.gravity=toastify-top] - To show the toast from top or bottom\n * @param {string} [options.position=right] - To show the toast on left or right\n * @param {string} [options.backgroundColor] - Sets the background color of the toast (To be deprecated)\n * @param {url} [options.avatar] - Image/icon to be shown before text\n * @param {string} [options.className] - Ability to provide custom class name for further customization\n * @param {boolean} [options.stopOnFocus] - To stop timer when hovered over the toast (Only if duration is set)\n * @param {Function} [options.callback] - Invoked when the toast is dismissed\n * @param {Function} [options.onClick] - Invoked when the toast is clicked\n * @param {Object} [options.offset] - Ability to add some offset to axis\n * @param {boolean} [options.escapeMarkup=true] - Toggle the default behavior of escaping HTML markup\n * @param {Object} [options.style] - Use the HTML DOM style property to add styles to toast\n * @private\n */\n _init(options) {\n\n // Setting defaults\n this.options = Object.assign(this.defaults, options);\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n this.toastElement = null;\n\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : \"toastify-top\"; // toast position - top or bottom\n this.options.stopOnFocus = options.stopOnFocus === undefined ? true : options.stopOnFocus; // stop timeout on focus\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n }\n\n /**\n * Build the Toastify element\n * @returns {Element}\n * @private\n */\n _buildToast() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n let divElement = document.createElement(\"div\");\n divElement.className = `toastify on ${this.options.className}`;\n\n // Positioning toast to left or right or center (default right)\n divElement.className += ` toastify-${this.options.position}`;\n\n // Assigning gravity of element\n divElement.className += ` ${this.options.gravity}`;\n\n // Loop through our style object and apply styles to divElement\n for (const property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n let avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\") {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n let closeElement = document.createElement(\"span\");\n closeElement.innerHTML = \"&#10006;\";\n\n closeElement.className = \"toast-close\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n (event) => {\n event.stopPropagation();\n this._removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }\n );\n\n //Calculating screen width\n const width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\") && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n (event) => {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n () => {\n divElement.timeOutValue = window.setTimeout(\n () => {\n // Remove the toast from DOM\n this._removeElement(divElement);\n },\n this.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n (event) => {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n (event) => {\n event.stopPropagation();\n this.options.onClick();\n }\n );\n }\n\n // Adding offset\n if (typeof this.options.offset === \"object\") {\n\n const x = this._getAxisOffsetAValue(\"x\", this.options);\n const y = this._getAxisOffsetAValue(\"y\", this.options);\n\n const xOffset = this.options.position == \"left\" ? x : `-${x}`;\n const yOffset = this.options.gravity == \"toastify-top\" ? y : `-${y}`;\n\n divElement.style.transform = `translate(${xOffset},${yOffset})`;\n\n }\n\n // Returning the generated element\n return divElement;\n }\n\n /**\n * Remove the toast from the DOM\n * @param {Element} toastElement\n */\n _removeElement(toastElement) {\n // Hiding the element\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n () => {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n this._reposition();\n },\n 400\n ); // Binding `this` for function invocation\n }\n\n /**\n * Position the toast on the DOM\n * @private\n */\n _reposition() {\n\n // Top margins with gravity\n let topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n let topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n let offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages that have been added to the container (selector)\n let allToasts = this._rootElement.querySelectorAll(\".toastify\");\n\n let classUsed;\n\n // Modifying the position of each toast element\n for (let i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (allToasts[i].classList.contains(\"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n let height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length - 1)\n // Spacing between toasts\n let offset = 15;\n\n let width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = `${offsetSize[classUsed]}px`;\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (allToasts[i].classList.contains(\"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = `${topLeftOffsetSize[classUsed]}px`;\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = `${topRightOffsetSize[classUsed]}px`;\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n }\n\n /**\n * Helper function to get offset\n * @param {string} axis - 'x' or 'y'\n * @param {ToastifyConfigurationObject} options - The options object containing the offset object\n */\n _getAxisOffsetAValue(axis, options) {\n\n if (options.offset[axis]) {\n if (isNaN(options.offset[axis])) {\n return options.offset[axis];\n } else {\n return `${options.offset[axis]}px`;\n }\n }\n\n return '0px';\n\n }\n\n }\n\n\n // Returning the Toastify function to be assigned to the window object/module\n function StartToastifyInstance(options) {\n return new Toastify(options);\n }\n\n export default StartToastifyInstance;\n","import Toastify from 'toastify-js/src/toastify-es';\n\n/**\n *\n * Wrapper component for toastify-js - https://github.com/apvarun/toastify-js\n *\n * @event jinn-toast - will show the toast with text passed in event\n */\nexport class JinnToast extends HTMLElement {\n\n static get properties() {\n return {\n avatar: {type: String},\n backgroundColor: {type: String},\n callback: {type: String},\n classProp: {type: String},\n close: {type: Boolean},\n destination: {type: String},\n duration: {type: Number},\n escapeMarkup: {type: Boolean},\n gravity: {type: String},\n newWindow: {type: Boolean},\n oldestFirst: {type: Boolean},\n position: {type: String},\n selector: {type: String},\n stopOnFocus: {type: Boolean},\n text: {type: String}\n };\n }\n\n constructor() {\n super();\n this.attachShadow({mode: 'open'});\n }\n\n _initVar(name, defaultVal) {\n return this.hasAttribute(name) ? this.getAttribute(name) : defaultVal;\n }\n\n connectedCallback() {\n this.avatar = this._initVar('avatar', '');\n this.backgroundColor = this._initVar('backgroundColor', '');\n this.callback = this._initVar('callback', {});\n this.classProp = this._initVar('data-class', '');\n this.close = (this._initVar('close', false)) === 'true';\n this.destination = this._initVar('destination', undefined);\n this.duration = Number(this._initVar('duration', 3000));\n this.escapeMarkup = (this._initVar('escapeMarkup', true)) === 'true';\n this.gravity = this._initVar('gravity', 'top');\n this.newWindow = (this._initVar('newWindow', false)) === 'true';\n this.offSet = this._initVar('offSet', {});\n this.oldestFirst = (this._initVar('oldestFirst', true)) === 'true';\n this.position = this._initVar('position', 'right');\n // this.selector = this._initVar('selector','');\n this.stopOnFocus = this._initVar('stopOnFocus', true);\n this.text = this._initVar('text', '');\n\n const style = `\n :host{\n display:none;\n }\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${this.renderHTML}\n `;\n\n /**\n * trigger toast via @jinn-toast events\n */\n this.addEventListener('jinn-toast', (ev) =>{\n this.showToast(ev.detail.text);\n });\n\n }\n\n disconnectedCallback(){\n this.removeEventListener('jinn-toast',this.showToast);\n }\n\n showToast(text){\n new Toastify({\n avatar: this.avatar,\n // backgroundColor:this.backgroundColor,\n // callback: this.callback,\n className:this.classProp,\n close: this.close,\n destination: this.destination,\n duration: this.duration,\n escapeMarkup: this.escapeMarkup,\n gravity: this.gravity,\n newWindow: false,\n offset:this.offset,\n oldestFirst: this.oldestFirst,\n position: this.position,\n node: this.shadowRoot,\n stopOnFocus: this.stopOnFocus,\n text,\n }).showToast();\n\n }\n\n renderHTML() {\n return `\n <slot></slot>\n `;\n }\n\n}\nif (!customElements.get('jinn-toast')) {\n window.customElements.define('jinn-toast', JinnToast);\n}\n","import { Fore } from './fore.js';\nimport './fx-instance.js';\nimport './fx-model.js';\nimport '@jinntec/jinn-toast';\nimport { evaluateXPathToNodes, evaluateXPathToString } from './xpath-evaluation.js';\nimport getInScopeContext from './getInScopeContext.js';\nimport { XPathUtil } from './xpath-util.js';\n\n/**\n * Main class for Fore.Outermost container element for each Fore application.\n *\n * Root element for Fore. Kicks off initialization and displays messages.\n *\n * fx-fore is the outermost container for each form. A form can have exactly one model\n * with arbitrary number of instances.\n *\n * Main responsiblities are initialization and updating of model and instances, update of UI (refresh) and global messaging.\n *\n * @event compute-exception - dispatched in case the dependency graph is cirular\n * @event refresh-done - dispatched after a refresh() run\n * @event ready - dispatched after Fore has fully been initialized\n * @event error - dispatches error when template expression fails to evaluate\n *\n * @ts-check\n */\nexport class FxFore extends HTMLElement {\n static get properties() {\n return {\n /**\n * Setting this marker attribute will refresh the UI in a lazy fashion just updating elements being\n * in viewport.\n *\n * this feature is still experimental and should be used with caution and extra testing\n */\n lazyRefresh: {\n type: Boolean,\n },\n model: {\n type: Object,\n },\n ready: {\n type: Boolean,\n },\n };\n }\n\n /**\n * attaches handlers for\n *\n * - `model-construct-done` to trigger the processing of the UI\n * - `message` - to display a message triggered by an fx-message action\n * - `error` - to display an error message\n * - 'compute-exception` - warn about circular dependencies in graph\n */\n constructor() {\n super();\n this.model = {};\n this.addEventListener('model-construct-done', this._handleModelConstructDone);\n this.addEventListener('message', this._displayMessage);\n this.addEventListener('error', this._displayError);\n window.addEventListener('compute-exception', e => {\n console.error('circular dependency: ', e);\n });\n\n this.ready = false;\n this.storedTemplateExpressionByNode = new Map();\n\n const style = `\n :host {\n // display: none;\n height:auto;\n padding:var(--model-element-padding);\n font-family:Roboto, sans-serif;\n color:var(--paper-grey-900);\n }\n :host ::slotted(fx-model){\n display:none;\n }\n // :host(.fx-ready){\n // animation: fadein .4s forwards;\n // display:block;\n // }\n\n #modalMessage .dialogActions{\n text-align:center;\n }\n .overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, 0.7);\n transition: all 500ms;\n visibility: hidden;\n opacity: 0;\n z-index:10;\n }\n .overlay.show {\n visibility: visible;\n opacity: 1;\n }\n\n .popup {\n margin: 70px auto;\n background: #fff;\n border-radius: 5px;\n width: 30%;\n position: relative;\n transition: all 5s ease-in-out;\n padding: 20px;\n\n }\n .popup h2 {\n margin-top: 0;\n width:100%;\n background:#eee;\n position:absolute;\n top:0;\n right:0;\n left:0;\n height:40px;\n border-radius: 5px;\n\n }\n .popup .close {\n position: absolute;\n top: 3px;\n right: 10px;\n transition: all 200ms;\n font-size: 30px;\n font-weight: bold;\n text-decoration: none;\n color: #333;\n }\n .popup .close:focus{\n outline:none;\n }\n\n .popup .close:hover {\n color: #06D85F;\n }\n #messageContent{\n margin-top:40px;\n }\n @keyframes fadein {\n 0% {\n opacity:0;\n }\n 100% {\n opacity:1;\n }\n }\n `;\n\n const html = `\n <jinn-toast id=\"message\" gravity=\"bottom\" position=\"left\"></jinn-toast>\n <jinn-toast id=\"sticky\" gravity=\"bottom\" position=\"left\" duration=\"-1\" close=\"true\" data-class=\"sticky-message\"></jinn-toast>\n <jinn-toast id=\"error\" text=\"error\" duration=\"-1\" data-class=\"error\" close=\"true\" position=\"left\" gravity=\"bottom\"></jinn-toast>\n <slot></slot>\n <div id=\"modalMessage\" class=\"overlay\">\n <div class=\"popup\">\n <h2></h2>\n <a class=\"close\" href=\"#\" onclick=\"event.target.parentNode.parentNode.classList.remove('show')\" autofocus>&times;</a>\n <div id=\"messageContent\"></div>\n </div>\n </div>\n `;\n\n this.attachShadow({ mode: 'open' });\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n\n this.toRefresh = [];\n this.initialRun = true;\n this.someInstanceDataStructureChanged = false;\n }\n\n connectedCallback() {\n /*\n document.addEventListener('ready', (e) =>{\n if(e.target !== this){\n // e.preventDefault();\n console.log('>>> e', e);\n console.log('event this', this);\n // console.log('event eventPhase', e.eventPhase);\n // console.log('event cancelable', e.cancelable);\n console.log('event target', e.target);\n console.log('event composed', e.composedPath());\n console.log('<<< event stopping');\n e.stopPropagation();\n }else{\n console.log('event proceed', this);\n }\n // e.stopImmediatePropagation();\n },true);\n*/\n\n this.lazyRefresh = this.hasAttribute('refresh-on-view');\n if (this.lazyRefresh) {\n const options = {\n root: null,\n rootMargin: '0px',\n threshold: 0.3,\n };\n this.intersectionObserver = new IntersectionObserver(this.handleIntersect, options);\n }\n\n this.src = this.hasAttribute('src') ? this.getAttribute('src') : null;\n if (this.src) {\n this._loadFromSrc();\n return;\n }\n\n const slot = this.shadowRoot.querySelector('slot');\n slot.addEventListener('slotchange', event => {\n const children = event.target.assignedElements();\n let modelElement = children.find(\n modelElem => modelElem.nodeName.toUpperCase() === 'FX-MODEL',\n );\n if (!modelElement) {\n const generatedModel = document.createElement('fx-model');\n this.appendChild(generatedModel);\n modelElement = generatedModel;\n }\n if (!modelElement.inited) {\n console.log(\n `########## FORE: kick off processing for ... ${window.location.href} ##########`,\n );\n if (this.src) {\n console.log('########## FORE: loaded from ... ', this.src, '##########');\n }\n modelElement.modelConstruct();\n }\n this.model = modelElement;\n });\n this.addEventListener('path-mutated', e => {\n console.log('path-mutated event received', e.detail.path, e.detail.index);\n this.someInstanceDataStructureChanged = true;\n });\n }\n\n addToRefresh(modelItem) {\n const found = this.toRefresh.find(mi => mi.path === modelItem.path);\n if (!found) {\n this.toRefresh.push(modelItem);\n }\n }\n\n /**\n * loads a Fore from an URL given by `src`.\n *\n * Will extract the `fx-fore` element from that target file and use and replace current `fx-fore` element with the loaded one.\n * @private\n */\n _loadFromSrc() {\n console.log('########## loading Fore from ', this.src, '##########');\n fetch(this.src, {\n method: 'GET',\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': 'text/html',\n },\n })\n .then(response => {\n const responseContentType = response.headers.get('content-type').toLowerCase();\n console.log('********** responseContentType *********', responseContentType);\n if (responseContentType.startsWith('text/html')) {\n // const htmlResponse = response.text();\n // return new DOMParser().parseFromString(htmlResponse, 'text/html');\n // return response.text();\n return response.text().then(result =>\n // console.log('xml ********', result);\n new DOMParser().parseFromString(result, 'text/html'),\n );\n }\n return 'done';\n })\n .then(data => {\n // const theFore = fxEvaluateXPathToFirstNode('//fx-fore', data.firstElementChild);\n const theFore = data.querySelector('fx-fore');\n\n // console.log('thefore', theFore)\n if (!theFore) {\n Fore.dispatchEvent(this, 'error', {\n detail: {\n message: `Fore element not found in '${this.src}'. Maybe wrapped within 'template' element?`,\n },\n });\n }\n theFore.setAttribute('from-src', this.src);\n this.replaceWith(theFore);\n })\n .catch(() => {\n Fore.dispatch(this, 'error', {\n message: `'${this.src}' not found or does not contain Fore element.`,\n });\n });\n }\n\n /**\n * refreshes the UI by using IntersectionObserver API. This is the handler being called\n * by the observer whenever elements come into / move out of viewport.\n * @param entries\n * @param observer\n */\n handleIntersect(entries, observer) {\n console.time('refreshLazy');\n entries.forEach(entry => {\n const { target } = entry;\n\n if (entry.isIntersecting) {\n console.log('in view', entry);\n // console.log('repeat in view entry', entry.target);\n // const target = entry.target;\n // if(target.hasAttribute('refresh-on-view')){\n target.classList.add('loaded');\n // }\n\n // todo: too restrictive here? what if target is a usual html element? shouldn't it refresh downwards?\n if (typeof target.refresh === 'function') {\n console.log('refreshing target', target);\n target.refresh(target, true);\n } else {\n console.log('refreshing children', target);\n Fore.refreshChildren(target, true);\n }\n }\n });\n entries[0].target.getOwnerForm().dispatchEvent(new CustomEvent('refresh-done'));\n\n console.timeEnd('refreshLazy');\n }\n\n evaluateToNodes(xpath, context) {\n return evaluateXPathToNodes(xpath, context, this);\n }\n\n disconnectedCallback() {\n /*\n this.removeEventListener('model-construct-done', this._handleModelConstructDone);\n this.removeEventListener('message', this._displayMessage);\n this.removeEventListener('error', this._displayError);\n this.storedTemplateExpressionByNode=null;\n this.shadowRoot = undefined;\n*/\n }\n\n /**\n * refreshes the whole UI by visiting each bound element (having a 'ref' attribute) and applying the state of\n * the bound modelItem to the bound element.\n *\n *\n * AVT:\n *\n */\n async refresh() {\n // refresh () {\n console.group('### refresh');\n\n console.time('refresh');\n\n // ### refresh Fore UI elements\n console.time('refreshChildren');\n console.log('toRefresh', this.toRefresh);\n\n if (!this.initialRun && this.toRefresh.length !== 0) {\n let needsRefresh = false;\n\n // ### after recalculation the changed modelItems are copied to 'toRefresh' array for processing\n this.toRefresh.forEach(modelItem => {\n // check if modelItem has boundControls - if so, call refresh() for each of them\n const controlsToRefresh = modelItem.boundControls;\n if (controlsToRefresh) {\n controlsToRefresh.forEach(ctrl => {\n ctrl.refresh();\n });\n }\n\n // ### check if other controls depend on current modelItem\n const { mainGraph } = this.getModel();\n if (mainGraph && mainGraph.hasNode(modelItem.path)) {\n const deps = this.getModel().mainGraph.dependentsOf(modelItem.path, false);\n // ### iterate dependant modelItems and refresh all their boundControls\n if (deps.length !== 0) {\n deps.forEach(dep => {\n // ### if changed modelItem has a 'facet' path we use the basePath that is the locationPath without facet name\n const basePath = XPathUtil.getBasePath(dep);\n const modelItemOfDep = this.getModel().modelItems.find(mip => mip.path === basePath);\n // ### refresh all boundControls\n modelItemOfDep.boundControls.forEach(control => {\n control.refresh();\n });\n });\n needsRefresh = true;\n }\n }\n });\n this.toRefresh = [];\n if (!needsRefresh) {\n console.log('skipping refresh - no dependants');\n }\n } else {\n Fore.refreshChildren(this, true);\n console.timeEnd('refreshChildren');\n }\n\n // ### refresh template expressions\n if (this.initialRun || this.someInstanceDataStructureChanged) {\n this._updateTemplateExpressions();\n this.someInstanceDataStructureChanged = false; // reset\n }\n this._processTemplateExpressions();\n\n console.timeEnd('refresh');\n\n console.groupEnd();\n // console.log('### <<<<< dispatching refresh-done - end of UI update cycle >>>>>');\n this.dispatchEvent(new CustomEvent('refresh-done'));\n }\n\n /**\n * entry point for processing of template expression enclosed in '{}' brackets.\n *\n * Expressions are found with an XPath search. For each node an entry is added to the storedTemplateExpressionByNode map.\n *\n *\n * @private\n */\n _updateTemplateExpressions() {\n // Note the fact we're going over HTML here: therefore the `html` prefix.\n const search =\n \"(descendant-or-self::*/(text(), @*))[matches(.,'\\\\{.*\\\\}')] except descendant-or-self::fx-model/descendant-or-self::node()/(., @*)\";\n\n const tmplExpressions = evaluateXPathToNodes(search, this, this);\n // console.log('template expressions found ', tmplExpressions);\n\n if (!this.storedTemplateExpressions) {\n this.storedTemplateExpressions = [];\n }\n\n console.log('######### storedTemplateExpressions', this.storedTemplateExpressions.length);\n\n /*\n storing expressions and their nodes for re-evaluation\n */\n Array.from(tmplExpressions).forEach(node => {\n if (this.storedTemplateExpressionByNode.has(node)) {\n // If the node is already known, do not process it twice\n return;\n }\n const expr = this._getTemplateExpression(node);\n\n // console.log('storedTemplateExpressionByNode', this.storedTemplateExpressionByNode);\n this.storedTemplateExpressionByNode.set(node, expr);\n });\n console.log('stored template expressions ', this.storedTemplateExpressionByNode);\n\n // TODO: Should we clean up nodes that existed but are now gone?\n this._processTemplateExpressions();\n }\n\n _processTemplateExpressions() {\n for (const node of this.storedTemplateExpressionByNode.keys()) {\n this._processTemplateExpression({\n node,\n expr: this.storedTemplateExpressionByNode.get(node),\n });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n _processTemplateExpression(exprObj) {\n // console.log('processing template expression ', exprObj);\n\n const { expr } = exprObj;\n const { node } = exprObj;\n // console.log('expr ', expr);\n this.evaluateTemplateExpression(expr, node, this);\n }\n\n /**\n * evaluate a template expression (some expression in {} brackets) on a node (either text- or attribute node.\n * @param expr the XPath to evaluate\n * @param node the node which will get updated with evaluation result\n * @param form the form element\n */\n evaluateTemplateExpression(expr, node) {\n if (expr === '{}') return;\n const matches = expr.match(/{[^}]*}/g);\n if (matches) {\n matches.forEach(match => {\n // console.log('match ', match);\n let naked = match.substring(1, match.length - 1);\n const inscope = getInScopeContext(node, naked);\n if (!inscope) {\n const errNode =\n node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ATTRIBUTE_NODE\n ? node.parentNode\n : node;\n console.warn('no inscope context for ', errNode);\n return;\n }\n // Templates are special: they use the namespace configuration from the place where they are\n // being defined\n const instanceId = XPathUtil.getInstanceId(naked);\n // console.log('target instance ', instanceId);\n const inst = this.getModel().getInstance(instanceId);\n try {\n const result = evaluateXPathToString(naked, inscope, node, null, inst);\n\n // console.log('result of eval ', result);\n const replaced = expr.replaceAll(match, result);\n // console.log('result of replacing ', replaced);\n\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n const parent = node.ownerElement;\n\n // parent.setAttribute(name, replaced);\n parent.setAttribute(node.nodeName, replaced);\n } else if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = replaced;\n }\n\n if (replaced.includes('{')) {\n // console.log('need to go next round');\n\n // todo: duplicated code here - see above\n naked = replaced.substring(1, replaced.length);\n this.evaluateTemplateExpression(replaced, node);\n }\n } catch (error) {\n // console.log(error);\n this.dispatchEvent(new CustomEvent('error', { detail: error }));\n }\n });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n _getTemplateExpression(node) {\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n return node.value;\n }\n if (node.nodeType === Node.TEXT_NODE) {\n return node.textContent.trim();\n }\n return null;\n }\n\n /**\n * called when `model-construct-done` event is received to\n * start initing of the UI.\n *\n * @private\n */\n _handleModelConstructDone() {\n this._initUI();\n }\n\n /**\n * If there's no instance element found in a fx-model during init it will construct\n * an instance from UI bindings.\n *\n * @returns {Promise<void>}\n * @private\n */\n async _lazyCreateInstance() {\n const model = this.querySelector('fx-model');\n if (model.instances.length === 0) {\n console.log('### lazy creation of instance');\n const generatedInstance = document.createElement('fx-instance');\n model.appendChild(generatedInstance);\n\n const generated = document.implementation.createDocument(null, 'data', null);\n // const newData = this._generateInstance(this, generated.firstElementChild);\n this._generateInstance(this, generated.firstElementChild);\n generatedInstance.instanceData = generated;\n model.instances.push(generatedInstance);\n console.log('generatedInstance ', this.getModel().getDefaultInstanceData());\n }\n }\n\n /**\n * @param {Element} start\n * @param {Element} parent\n */\n _generateInstance(start, parent) {\n if (start.hasAttribute('ref') && !Fore.isActionElement(start.nodeName)) {\n const ref = start.getAttribute('ref');\n\n if (ref.includes('/')) {\n console.log('complex path to create ', ref);\n const steps = ref.split('/');\n steps.forEach(step => {\n console.log('step ', step);\n\n // const generated = document.createElement(ref);\n parent = this._generateNode(parent, step, start);\n });\n } else {\n parent = this._generateNode(parent, ref, start);\n }\n }\n\n if (start.hasChildNodes()) {\n const list = start.children;\n for (let i = 0; i < list.length; i += 1) {\n this._generateInstance(list[i], parent);\n }\n }\n return parent;\n }\n\n // eslint-disable-next-line class-methods-use-this\n _generateNode(parent, step, start) {\n const generated = parent.ownerDocument.createElement(step);\n if (start.children.length === 0) {\n generated.textContent = start.textContent;\n }\n parent.appendChild(generated);\n parent = generated;\n return parent;\n }\n\n /*\n _createStep(){\n\n }\n */\n\n /*\n _generateInstance(start, parent) {\n if (start.hasAttribute('ref')) {\n const ref = start.getAttribute('ref');\n\n if(ref.includes('/')){\n console.log('complex path to create ', ref);\n const steps = ref.split('/');\n steps.forEach(step => {\n console.log('step ', step);\n\n\n });\n }\n\n // const generated = document.createElement(ref);\n const generated = parent.ownerDocument.createElement(ref);\n if (start.children.length === 0) {\n generated.textContent = start.textContent;\n }\n parent.appendChild(generated);\n parent = generated;\n }\n\n if (start.hasChildNodes()) {\n const list = start.children;\n for (let i = 0; i < list.length; i += 1) {\n this._generateInstance(list[i], parent);\n }\n }\n return parent;\n }\n */\n\n /**\n * Start the initialization of the UI by\n *\n * 1. checking if a instance needs to be generated\n * 2. attaching lazy loading intersection observers if `refresh-on-view` attributes are found\n * 3. doing a full refresh of the UI\n *\n * @returns {Promise<void>}\n * @private\n */\n async _initUI() {\n console.log('### _initUI()');\n if (!this.initialRun) return;\n await this._lazyCreateInstance();\n\n // console.log('registering variables!');\n const variables = new Map();\n (function registerVariables(node) {\n for (const child of node.children) {\n if ('setInScopeVariables' in child) {\n child.setInScopeVariables(variables);\n }\n registerVariables(child);\n }\n })(this);\n console.log('Found variables:', variables);\n\n /*\n const options = {\n root: null,\n rootMargin: '0px',\n threshold: 0.3,\n };\n*/\n\n await this.refresh();\n // this.style.display='block'\n this.classList.add('fx-ready');\n document.body.classList.add('fx-ready');\n\n this.ready = true;\n this.initialRun = false;\n console.log('### >>>>> dispatching ready >>>>>', this);\n console.log('modelItems: ', this.getModel().modelItems);\n console.log('### <<<<< FORE: form fully initialized...', this);\n Fore.dispatch(this, 'ready', {});\n }\n\n registerLazyElement(element) {\n if (this.intersectionObserver) {\n // console.log('registerLazyElement',element);\n this.intersectionObserver.observe(element);\n }\n }\n\n unRegisterLazyElement(element) {\n if (this.intersectionObserver) {\n this.intersectionObserver.unobserve(element);\n }\n }\n\n /**\n *\n * @returns {FxModel}\n */\n getModel() {\n return this.querySelector('fx-model');\n }\n\n _displayMessage(e) {\n // console.log('_displayMessage',e);\n const { level } = e.detail;\n const msg = e.detail.message;\n this._showMessage(level, msg);\n e.stopPropagation();\n }\n\n _displayError(e) {\n // const { error } = e.detail;\n const msg = e.detail.message;\n // this._showMessage('modal', msg);\n const toast = this.shadowRoot.querySelector('#error');\n toast.showToast(msg);\n }\n\n _showMessage(level, msg) {\n if (level === 'modal') {\n // this.$.messageContent.innerText = msg;\n // this.$.modalMessage.open();\n\n this.shadowRoot.getElementById('messageContent').innerText = msg;\n // this.shadowRoot.getElementById('modalMessage').open();\n this.shadowRoot.getElementById('modalMessage').classList.add('show');\n } else if (level === 'sticky') {\n // const notification = this.$.modeless;\n this.shadowRoot.querySelector('#sticky').showToast(msg);\n } else {\n const toast = this.shadowRoot.querySelector('#message');\n toast.showToast(msg);\n }\n }\n}\n\nif (!customElements.get('fx-fore')) {\n customElements.define('fx-fore', FxFore);\n}\n","export class Relevance {\n static selectRelevant(element, type) {\n console.log('selectRelevant', type);\n switch (type) {\n case 'xml':\n return Relevance._relevantXmlNodes(element);\n default:\n console.warn(`relevance selection not supported for type:${element.type}`);\n return element.nodeset;\n }\n }\n\n static _relevantXmlNodes(element) {\n // ### no relevance selection - current nodeset is used 'as-is'\n const nonrelevant = element.getAttribute('nonrelevant');\n if (nonrelevant === 'keep') {\n return element.nodeset;\n }\n\n // first check if nodeset of submission is relevant - otherwise bail out\n const mi = element.getModel().getModelItem(element.nodeset);\n if (mi && !mi.relevant) return null;\n\n const doc = new DOMParser().parseFromString('<data></data>', 'application/xml');\n const root = doc.firstElementChild;\n\n if (element.nodeset.children.length === 0 && Relevance._isRelevant(element, element.nodeset)) {\n return element.nodeset;\n }\n return Relevance._filterRelevant(element, element.nodeset, root);\n }\n\n static _filterRelevant(element, node, result) {\n const { childNodes } = node;\n Array.from(childNodes).forEach(n => {\n if (Relevance._isRelevant(element, n)) {\n const clone = n.cloneNode(false);\n result.appendChild(clone);\n const { attributes } = n;\n if (attributes) {\n Array.from(attributes).forEach(attr => {\n if (Relevance._isRelevant(element, attr)) {\n clone.setAttribute(attr.nodeName, attr.value);\n } else if (element.nonrelevant === 'empty') {\n clone.setAttribute(attr.nodeName, '');\n } else {\n clone.removeAttribute(attr.nodeName);\n }\n });\n }\n return Relevance._filterRelevant(element, n, clone);\n }\n return null;\n });\n return result;\n }\n\n static _isRelevant(element, node) {\n const mi = element.getModel().getModelItem(node);\n if (!mi || mi.relevant) {\n return true;\n }\n return false;\n }\n}\n","import { Fore } from './fore.js';\nimport { Relevance } from './relevance.js';\nimport { foreElementMixin } from './ForeElementMixin.js';\nimport { evaluateXPathToString, evaluateXPath } from './xpath-evaluation.js';\nimport getInScopeContext from './getInScopeContext.js';\n\n/**\n * todo: validate='false'\n */\nexport class FxSubmission extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n // this.style.display = 'none';\n this.methods = ['get', 'put', 'post', 'delete', 'head', 'urlencoded-post'];\n\n this.model = this.parentNode;\n\n // ### initialize properties with defaults\n // if (!this.hasAttribute('id')) throw new Error('id is required');\n if (!this.hasAttribute('id')) console.warn('id is required');\n this.id = this.getAttribute('id');\n\n /** if present should be a existing instance id */\n this.instance = this.hasAttribute('instance') ? this.getAttribute('instance') : null;\n\n /** if present will determine XPath where to insert a response into when mode is 'replace' */\n this.into = this.hasAttribute('into') ? this.getAttribute('into') : null;\n\n /** http method */\n this.method = this.hasAttribute('method') ? this.getAttribute('method') : 'get';\n\n /** relevance processing - one of 'remove, keep or empty' */\n this.nonrelevant = this.hasAttribute('nonrelevant')\n ? this.getAttribute('nonrelevant')\n : 'remove';\n\n /** replace might be 'all', 'instance' or 'none' */\n this.replace = this.hasAttribute('replace') ? this.getAttribute('replace') : 'all';\n\n this.serialization = this.hasAttribute('serialization')\n ? this.getAttribute('serialization')\n : 'xml';\n\n // if (!this.hasAttribute('url')) throw new Error(`url is required for submission: ${this.id}`);\n if (!this.hasAttribute('url')) console.warn(`url is required for submission: ${this.id}`);\n this.url = this.getAttribute('url');\n\n this.targetref = this.hasAttribute('targetref') ? this.getAttribute('targetref') : null;\n\n this.mediatype = this.hasAttribute('mediatype')\n ? this.getAttribute('mediatype')\n : 'application/xml';\n\n this.validate = this.getAttribute('validate') ? this.getAttribute('validate') : 'true';\n this.shadowRoot.innerHTML = this.renderHTML();\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderHTML() {\n return `\n <slot></slot>\n `;\n }\n\n async submit() {\n await Fore.dispatch(this, 'submit', { submission: this });\n this._submit();\n }\n\n async _submit() {\n console.log('submitting....');\n this.evalInContext();\n const model = this.getModel();\n\n model.recalculate();\n\n if (this.validate) {\n const valid = model.revalidate();\n if (!valid) {\n console.log('validation failed. Bubmission stopped');\n // ### allow alerts to pop up\n // this.dispatch('submit-error', {});\n Fore.dispatch(this, 'submit-error', {});\n this.getModel().parentNode.refresh();\n return;\n }\n }\n console.log('model updated....');\n await this._serializeAndSend();\n }\n\n /**\n * resolves template expressions for a single attribute\n * @param expr the attribute value to evaluate\n * @param node the attribute node used for scoped resolution\n * @returns {*}\n * @private\n */\n _evaluateAttributeTemplateExpression(expr, node) {\n const matches = expr.match(/{[^}]*}/g);\n if (matches) {\n matches.forEach(match => {\n console.log('match ', match);\n const naked = match.substring(1, match.length - 1);\n const inscope = getInScopeContext(node, naked);\n const result = evaluateXPathToString(naked, inscope, this.getOwnerForm());\n const replaced = expr.replaceAll(match, result);\n console.log('replacing ', expr, ' with ', replaced);\n expr = replaced;\n });\n }\n return expr;\n }\n\n /**\n * sends the data after evaluating\n *\n * @private\n */\n async _serializeAndSend() {\n const resolvedUrl = this._evaluateAttributeTemplateExpression(this.url, this);\n\n const instance = this.getInstance();\n console.log('instance type', instance.type);\n\n let serialized;\n if (this.serialization === 'none') {\n serialized = undefined;\n } else {\n // const relevant = this.selectRelevant(instance.type);\n const relevant = Relevance.selectRelevant(this, instance.type);\n serialized = this._serialize(instance.type, relevant);\n }\n\n // let serialized = serializer.serializeToString(relevant);\n if (this.method.toLowerCase() === 'get') {\n serialized = undefined;\n }\n // console.log('data being send', serialized);\n // console.log('submitting data',serialized);\n\n // if (resolvedUrl === '#echo') {\n if (resolvedUrl.startsWith('#echo')) {\n let data = null;\n if (serialized && instance.type === 'xml') {\n data = new DOMParser().parseFromString(serialized, 'application/xml');\n }\n if (serialized && instance.type === 'json') {\n data = JSON.parse(serialized);\n }\n this._handleResponse(data);\n // this.dispatch('submit-done', {});\n Fore.dispatch(this, 'submit-done', {});\n return;\n }\n // ### setting headers\n const headers = this._getHeaders();\n console.log('headers', headers);\n\n // ### map urlencoded-post to post for fetch\n if (this.method === 'urlencoded-post') {\n this.method = 'post';\n }\n\n if (!this.methods.includes(this.method.toLowerCase())) {\n // this.dispatch('error', { message: `Unknown method ${this.method}` });\n Fore.dispatch(this, 'error', { message: `Unknown method ${this.method}` });\n return;\n }\n const response = await fetch(resolvedUrl, {\n method: this.method,\n mode: 'cors',\n credentials: 'include',\n headers,\n body: serialized,\n });\n\n if (!response.ok || response.status > 400) {\n // this.dispatch('submit-error', { message: `Error while submitting ${this.id}` });\n Fore.dispatch(this, 'submit-error', { message: `Error while submitting ${this.id}` });\n return;\n }\n\n const contentType = response.headers.get('content-type').toLowerCase();\n if (\n contentType.startsWith('text/plain') ||\n contentType.startsWith('text/html') ||\n contentType.startsWith('text/markdown')\n ) {\n const text = await response.text();\n this._handleResponse(text);\n } else if (contentType.startsWith('application/json')) {\n const json = await response.json();\n this._handleResponse(json);\n } else if (contentType.startsWith('application/xml')) {\n const text = await response.text();\n const xml = new DOMParser().parseFromString(text, 'application/xml');\n this._handleResponse(xml);\n } else {\n const blob = await response.blob();\n this._handleResponse(blob);\n }\n\n // this.dispatch('submit-done', {});\n Fore.dispatch(this, 'submit-done', {});\n }\n\n _serialize(instanceType, relevantNodes) {\n if (this.method === 'urlencoded-post') {\n // this.method = 'post';\n const params = new URLSearchParams();\n // console.log('nodes to serialize', relevantNodes);\n Array.from(relevantNodes.children).forEach(child => {\n params.append(child.nodeName, child.textContent);\n });\n return params;\n }\n if (instanceType === 'xml') {\n const serializer = new XMLSerializer();\n return serializer.serializeToString(relevantNodes);\n }\n if (instanceType === 'json') {\n // console.warn('JSON serialization is not yet supported')\n return JSON.stringify(relevantNodes);\n }\n throw new Error('unknown instance type ', instanceType);\n }\n\n _getHeaders() {\n const headers = new Headers();\n\n // ### set content-type header according to type of instance\n const instance = this.getInstance();\n const contentType = Fore.getContentType(instance, this.method);\n headers.append('Content-Type', contentType);\n // ### needed to overwrite browsers' setting of 'Accept' header\n if (headers.has('Accept')) {\n headers.delete('Accept');\n }\n // headers.append('Accept', 'application/xml');\n\n // ### add header defined by fx-header elements\n const headerElems = this.querySelectorAll('fx-header');\n Array.from(headerElems).forEach(header => {\n const { name } = header;\n const val = header.getValue();\n headers.append(name, val);\n });\n return headers;\n }\n\n _getUrlExpr() {\n return this.storedTemplateExpressions.find(stored => stored.node.nodeName === 'url');\n }\n\n _getTargetInstance() {\n let targetInstance;\n if (this.instance) {\n targetInstance = this.model.getInstance(this.instance);\n } else {\n targetInstance = this.model.getInstance('default');\n }\n if (!targetInstance) {\n throw new Error(`target instance not found: ${targetInstance}`);\n }\n return targetInstance;\n }\n\n /**\n * handles replacement of instance data from response data.\n *\n * Please note that data might be\n * @param data\n * @private\n */\n _handleResponse(data) {\n console.log('_handleResponse ', data);\n\n /*\n // ### responses need to be handled depending on their type.\n if(this.type === 'json'){\n\n }\n*/\n\n if (this.replace === 'instance') {\n const targetInstance = this._getTargetInstance();\n if (targetInstance) {\n if (this.targetref) {\n const [theTarget] = evaluateXPath(\n this.targetref,\n targetInstance.instanceData.firstElementChild,\n this,\n );\n console.log('theTarget', theTarget);\n const clone = data.firstElementChild;\n const parent = theTarget.parentNode;\n parent.replaceChild(clone, theTarget);\n console.log('finally ', parent);\n } else if (this.into) {\n const [theTarget] = evaluateXPath(\n this.into,\n targetInstance.instanceData.firstElementChild,\n this,\n );\n console.log('theTarget', theTarget);\n theTarget.innerHTML = data;\n } else {\n const instanceData = data;\n targetInstance.instanceData = instanceData;\n console.log('### replaced instance ', this.getModel().instances);\n console.log('### replaced instance ', targetInstance.instanceData);\n }\n\n this.model.updateModel(); // force update\n // this.model.formElement.refresh();\n this.getOwnerForm().refresh();\n } else {\n throw new Error(`target instance not found: ${targetInstance}`);\n }\n }\n\n if (this.replace === 'all') {\n document.getElementsByTagName('html')[0].innerHTML = data;\n }\n if (this.replace === 'target') {\n const target = this.getAttribute('target');\n const targetNode = document.querySelector(target);\n targetNode.innerHTML = data;\n }\n if (this.replace === 'redirect') {\n window.location.href = data;\n }\n }\n\n /**\n * select relevant nodes\n *\n * @returns {*}\n */\n /*\n selectRelevant(type) {\n console.log('selectRelevant' ,type)\n switch (type){\n case 'xml':\n return this._relevantXmlNodes();\n default:\n console.warn(`relevance selection not supported for type:${this.type}`);\n return this.nodeset;\n }\n }\n*/\n\n // todo: support for 'empty'\n /*\n _relevantXmlNodes() {\n // ### no relevance selection - current nodeset is used 'as-is'\n if (this.nonrelevant === 'keep') {\n return this.nodeset;\n }\n\n // first check if nodeset of submission is relevant - otherwise bail out\n const mi = this.getModel().getModelItem(this.nodeset);\n if (mi && !mi.relevant) return null;\n\n const doc = new DOMParser().parseFromString('<data></data>', 'application/xml');\n const root = doc.firstElementChild;\n\n if (this.nodeset.children.length === 0 && this._isRelevant(this.nodeset)) {\n return this.nodeset;\n }\n return this._filterRelevant(this.nodeset, root);\n }\n*/\n\n /*\n _filterRelevant(node, result) {\n const { childNodes } = node;\n Array.from(childNodes).forEach(n => {\n if (this._isRelevant(n)) {\n const clone = n.cloneNode(false);\n result.appendChild(clone);\n const { attributes } = n;\n if (attributes) {\n Array.from(attributes).forEach(attr => {\n if (this._isRelevant(attr)) {\n clone.setAttribute(attr.nodeName, attr.value);\n } else if (this.nonrelevant === 'empty') {\n clone.setAttribute(attr.nodeName, '');\n } else {\n clone.removeAttribute(attr.nodeName);\n }\n });\n }\n return this._filterRelevant(n, clone);\n }\n return null;\n });\n return result;\n }\n*/\n\n /*\n _isRelevant(node) {\n const mi = this.getModel().getModelItem(node);\n if (!mi || mi.relevant) {\n return true;\n }\n return false;\n }\n*/\n\n _handleError() {\n // this.dispatch('submit-error', {});\n Fore.dispatch(this, 'submit-error', {});\n /*\n console.log('ERRRORRRRR');\n this.dispatchEvent(\n new CustomEvent('submit-error', {\n composed: true,\n bubbles: true,\n detail: {},\n }),\n );\n */\n }\n}\nif (!customElements.get('fx-submission')) {\n customElements.define('fx-submission', FxSubmission);\n}\n","import { foreElementMixin } from './ForeElementMixin.js';\n\nexport class FxHeader extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.style.display = 'none';\n this.attachShadow({ mode: 'open' });\n this.shadowRoot.innerHTML = ``;\n\n if (!this.hasAttribute('name')) {\n throw new Error('required attribute \"name\" missing');\n }\n this.name = this.getAttribute('name');\n }\n\n connectedCallback() {\n this.shadowRoot.innerHTML = ``;\n }\n}\nif (!customElements.get('fx-header')) {\n customElements.define('fx-header', FxHeader);\n}\n","import { Fore } from './fore.js';\nimport './fx-instance.js';\nimport { evaluateXPath } from './xpath-evaluation.js';\nimport { foreElementMixin } from './ForeElementMixin.js';\nimport getInScopeContext from './getInScopeContext.js';\n\n/**\n * @ts-check\n */\nexport class FxVariable extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n\n this.attachShadow({ mode: 'open' });\n this.name = '';\n this.valueQuery = '';\n this.value = null;\n }\n\n connectedCallback() {\n this.name = this.getAttribute('name');\n this.valueQuery = this.getAttribute('value');\n }\n\n refresh() {\n const inscope = getInScopeContext(this, this.valueQuery);\n\n const values = evaluateXPath(this.valueQuery, inscope, this, this.precedingVariables);\n [this.value] = values;\n }\n\n setInScopeVariables(inScopeVariables) {\n if (inScopeVariables.has(this.name)) {\n console.error(`The variable ${this.name} is declared more than once`);\n Fore.dispatch(this, 'xforms-binding-error', {});\n return;\n }\n inScopeVariables.set(this.name, this);\n // Clone the preceding variables to make sure we are not going to get access to variables we\n // should not get access to\n this.inScopeVariables = new Map(inScopeVariables);\n }\n}\nif (!customElements.get('fx-var')) {\n customElements.define('fx-var', FxVariable);\n}\n","import '../fx-model.js';\nimport { foreElementMixin } from '../ForeElementMixin.js';\nimport { ModelItem } from '../modelitem.js';\nimport { Fore } from '../fore.js';\n\n/**\n * `AbstractControl` -\n * is a general base class for control elements.\n *\n */\nexport default class AbstractControl extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.value = '';\n this.display = this.style.display;\n this.required = false;\n this.readonly = false;\n this.widget = null;\n // this.attachShadow({ mode: 'open' });\n }\n\n // eslint-disable-next-line class-methods-use-this\n getWidget() {\n throw new Error('You have to implement the method getWidget!');\n }\n\n /**\n * (re)apply all modelItem state properties to this control. model -> UI\n */\n async refresh() {\n // console.log('### AbstractControl.refresh on : ', this);\n\n const currentVal = this.value;\n\n // if(this.repeated) return\n if (this.isNotBound()) return;\n\n // await this.updateComplete;\n // await this.getWidget();\n this.oldVal = this.nodeset ? this.nodeset : null;\n this.evalInContext();\n\n if (this.isBound()) {\n // this.control = this.querySelector('#control');\n\n if (this.nodeset === null) {\n this.style.display = 'none';\n return;\n }\n\n this.modelItem = this.getModelItem();\n\n if (this.modelItem instanceof ModelItem) {\n // console.log('### XfAbstractControl.refresh modelItem : ', this.modelItem);\n\n if (this.hasAttribute('as') && this.getAttribute('as') === 'node') {\n console.log('as', this.nodeset);\n this.modelItem.value = this.nodeset;\n this.value = this.modelItem.value;\n } else {\n this.value = this.modelItem.value;\n }\n\n // console.log('value of widget',this.value);\n\n /*\n * todo: find out on which foreign modelitems we might be dependant on when no binds are used.\n *\n * e.g. filter expr on 'ref' 'instance('countries')//country[@continent = instance('default')/continent]'\n *\n * the country node is dependant on instance('default')/continent here (foreign node).\n *\n * possible approach:\n * - pipe ref expression through DependencyNotifyingDomFacade to get referred nodes.\n * - lookup modelItems of referred nodes\n * - add ourselves to boundControls of foreign modelItem -> this control will then get refreshed when the foreign modelItem is changed.\n */\n\n // const touched = FxBind.getReferencesForRef(this.ref,Array.from(this.nodeset));\n // console.log('touched',touched);\n\n /*\n this is another case that highlights the fact that an init() function might make sense in general.\n */\n if (!this.modelItem.boundControls.includes(this)) {\n this.modelItem.boundControls.push(this);\n }\n\n // console.log('>>>>>>>> abstract refresh ', this.control);\n // this.control[this.valueProp] = this.value;\n await this.updateWidgetValue();\n this.handleModelItemProperties();\n\n // if(!this.closest('fx-fore').ready) return; // state change event do not fire during init phase (initial refresh)\n if (!this.getOwnerForm().ready) return; // state change event do not fire during init phase (initial refresh)\n if (currentVal !== this.value) {\n Fore.dispatch(this, 'value-changed', { path: this.modelItem.path });\n }\n }\n }\n }\n\n /**\n *\n * @returns {Promise<void>}\n */\n // eslint-disable-next-line class-methods-use-this\n async updateWidgetValue() {\n throw new Error('You have to implement the method updateWidgetValue!');\n }\n\n handleModelItemProperties() {\n // console.log('handleModelItemProperties',this.modelItem);\n this.handleRequired();\n this.handleReadonly();\n if (this.getOwnerForm().ready) {\n this.handleValid();\n }\n this.handleRelevant();\n // todo: handleType()\n }\n\n _getForm() {\n return this.getModel().parentNode;\n }\n\n _dispatchEvent(event) {\n if (this.getOwnerForm().ready) {\n Fore.dispatch(this, event, {});\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n handleRequired() {\n // console.log('mip required', this.modelItem.required);\n this.widget = this.getWidget();\n // if (this.required !== this.modelItem.required) {\n if (this.isRequired() !== this.modelItem.required) {\n if (this.modelItem.required) {\n this.widget.setAttribute('required', '');\n this.setAttribute('required', '');\n this._dispatchEvent('required');\n } else {\n this.widget.removeAttribute('required');\n this.removeAttribute('required');\n this._dispatchEvent('optional');\n }\n }\n }\n\n handleReadonly() {\n // console.log('mip readonly', this.modelItem.isReadonly);\n if (this.isReadonly() !== this.modelItem.readonly) {\n if (this.modelItem.readonly) {\n this.widget.setAttribute('readonly', '');\n this.setAttribute('readonly', '');\n this._dispatchEvent('readonly');\n }\n if (!this.modelItem.readonly) {\n this.widget.removeAttribute('readonly');\n this.removeAttribute('readonly');\n this._dispatchEvent('readwrite');\n }\n }\n }\n\n // todo - review alert handling altogether. There could be potentially multiple ones in model\n handleValid() {\n // console.log('mip valid', this.modelItem.required);\n const alert = this.querySelector('fx-alert');\n\n if (this.isValid() !== this.modelItem.constraint) {\n if (this.modelItem.constraint) {\n if (alert) alert.style.display = 'none';\n this._dispatchEvent('valid');\n this.removeAttribute('invalid');\n } else {\n this.setAttribute('invalid', '');\n // ### constraint is invalid - handle alerts\n if (alert) {\n alert.style.display = 'block';\n }\n if (this.modelItem.alerts.length !== 0) {\n const { alerts } = this.modelItem;\n console.log('alerts from bind: ', alerts);\n\n const controlAlert = this.querySelector('fx-alert');\n if (!controlAlert) {\n alerts.forEach(modelAlert => {\n const newAlert = document.createElement('fx-alert');\n newAlert.innerHTML = modelAlert;\n this.appendChild(newAlert);\n newAlert.style.display = 'block';\n });\n }\n }\n\n // this.dispatchEvent(new CustomEvent('invalid', {}));\n this._dispatchEvent('invalid');\n }\n }\n }\n\n handleRelevant() {\n // console.log('mip valid', this.modelItem.enabled);\n const item = this.modelItem.node;\n if (Array.isArray(item) && item.length === 0) {\n this._dispatchEvent('nonrelevant');\n this.style.display = 'none';\n return;\n }\n if (this.isEnabled() !== this.modelItem.relevant) {\n if (this.modelItem.relevant) {\n this._dispatchEvent('relevant');\n // this._fadeIn(this, this.display);\n this.style.display = this.display;\n } else {\n this._dispatchEvent('nonrelevant');\n // this._fadeOut(this);\n this.style.display = 'none';\n }\n }\n }\n\n isRequired() {\n return this.hasAttribute('required');\n }\n\n isValid() {\n // return this.valid;\n if (this.hasAttribute('invalid')) {\n return false;\n }\n return true;\n }\n\n isReadonly() {\n // const widget = this.querySelector('#widget');\n return this.hasAttribute('readonly');\n }\n\n isEnabled() {\n // if(this.style.display === 'none' || this.classList.contains('non-relevant')){\n if (this.style.display === 'none') {\n return false;\n }\n return true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n _fadeOut(el) {\n el.style.opacity = 1;\n\n (function fade() {\n // eslint-disable-next-line no-cond-assign\n if ((el.style.opacity -= 0.1) < 0) {\n el.style.display = 'none';\n } else {\n requestAnimationFrame(fade);\n }\n })();\n }\n\n // eslint-disable-next-line class-methods-use-this\n _fadeIn(el, display) {\n el.style.opacity = 0;\n el.style.display = display || 'block';\n\n (function fade() {\n let val = parseFloat(el.style.opacity);\n // eslint-disable-next-line no-cond-assign\n if (!((val += 0.1) > 1)) {\n el.style.opacity = val;\n requestAnimationFrame(fade);\n }\n })();\n }\n}\nif (!customElements.get('fx-abstract-control')) {\n window.customElements.define('fx-abstract-control', AbstractControl);\n}\n","import AbstractControl from './abstract-control.js';\n\nexport class FxAlert extends AbstractControl {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n const style = `\n :host {\n height: auto;\n font-size: 0.8em;\n font-weight: 400;\n color: red;\n display: none;\n }\n `;\n\n const html = `\n <slot></slot>\n `;\n\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n }\n\n getWidget() {\n return this;\n }\n\n async updateWidgetValue() {\n console.log('alert update', this);\n this.innerHTML = this.value;\n }\n}\nif (!customElements.get('fx-alert')) {\n customElements.define('fx-alert', FxAlert);\n}\n","import XfAbstractControl from './abstract-control.js';\nimport {\n evaluateXPath,\n evaluateXPathToString,\n evaluateXPathToFirstNode,\n} from '../xpath-evaluation.js';\nimport getInScopeContext from '../getInScopeContext.js';\nimport { Fore } from '../fore.js';\n\nconst WIDGETCLASS = 'widget';\n\n/**\n * `fx-control`\n * a generic wrapper for controls\n *\n *\n *\n * @customElement\n * @demo demo/index.html\n */\n\nfunction debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n}\nexport default class FxControl extends XfAbstractControl {\n constructor() {\n super();\n this.inited = false;\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n this.initial = this.hasAttribute('initial') ? this.getAttribute('initial') : null;\n this.url = this.hasAttribute('url') ? this.getAttribute('url') : null;\n this.loaded = false;\n this.initialNode = null;\n this.debounceDelay = this.hasAttribute('debounce') ? this.getAttribute('debounce') : null;\n\n this.updateEvent = this.hasAttribute('update-event')\n ? this.getAttribute('update-event')\n : 'blur';\n this.valueProp = this.hasAttribute('value-prop') ? this.getAttribute('value-prop') : 'value';\n this.label = this.hasAttribute('label') ? this.getAttribute('label') : null;\n const style = `\n :host{\n display:inline-block;\n }\n `;\n\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${this.renderHTML(this.ref)}\n `;\n\n this.widget = this.getWidget();\n // console.log('widget ', this.widget);\n\n // ### convenience marker event\n if (this.updateEvent === 'enter') {\n this.widget.addEventListener('keyup', event => {\n if (event.keyCode === 13) {\n // Cancel the default action, if needed\n event.preventDefault();\n this.setValue(this.widget[this.valueProp]);\n }\n });\n this.updateEvent = 'blur'; // needs to be registered too\n }\n if (this.debounceDelay) {\n this.widget.addEventListener(\n this.updateEvent,\n debounce(() => {\n console.log('eventlistener ', this.updateEvent);\n this.setValue(this.widget[this.valueProp]);\n }, this.debounceDelay),\n );\n } else {\n this.widget.addEventListener(this.updateEvent, () => {\n console.log('eventlistener ', this.updateEvent);\n this.setValue(this.widget[this.valueProp]);\n });\n }\n\n this.addEventListener('return', e => {\n console.log('catched return action on ', this);\n console.log('return detail', e.detail);\n\n console.log('return triggered on ', this);\n console.log('this.ref', this.ref);\n console.log('current outer instance', this.getInstance());\n\n console.log(\n '???? why ???? current nodeset should point to the node of the outer control',\n e.currentTarget.nodeset,\n );\n console.log(\n '???? why ???? current nodeset should point to the node of the outer control',\n this.nodeset,\n );\n const newNodes = e.detail.nodeset;\n console.log('new nodeset', newNodes);\n console.log('currentTarget', e.currentTarget);\n console.log('target', e.target);\n\n e.stopPropagation();\n\n this._replaceNode(newNodes);\n });\n\n this.template = this.querySelector('template');\n // console.log('template',this.template);\n }\n\n _debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n const context = this;\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(context, args);\n }, timeout);\n };\n }\n\n /**\n * updates the model with a new value by executing it's `<fx-setvalue>` action.\n *\n * In case the `as='node'` is given the bound node is replaced with the widgets' value with is\n * expected to be a node again.\n *\n * @param val the new value to be set\n */\n setValue(val) {\n const modelitem = this.getModelItem();\n\n if (modelitem?.readonly) return; // do nothing when modelItem is readonly\n\n if (this.getAttribute('as') === 'node') {\n const widgetValue = this.getWidget().value;\n const replace = this.shadowRoot.getElementById('replace');\n replace.replace(this.nodeset, this.getWidget().value);\n if (widgetValue && widgetValue !== modelitem.value) {\n modelitem.value = widgetValue;\n replace.actionPerformed();\n }\n return;\n }\n const setval = this.shadowRoot.getElementById('setvalue');\n setval.setValue(modelitem, val);\n setval.actionPerformed();\n }\n\n _replaceNode(node) {\n // Note: clone the node while replacing to prevent the instances to leak through\n this.modelItem.node.replaceWith(node.cloneNode(true));\n this.getOwnerForm().refresh();\n }\n\n renderHTML(ref) {\n return `\n ${this.label ? `${this.label}` : ''}\n <slot></slot>\n ${\n this.hasAttribute('as') && this.getAttribute('as') === 'node'\n ? `<fx-replace id=\"replace\" ref=\".\">`\n : `<fx-setvalue id=\"setvalue\" ref=\"${ref}\"></fx-setvalue>`\n }\n\n `;\n }\n\n /**\n * The widget is the actual control being used in the UI e.g. a native input control or any\n * other component that presents a control that can be interacted with.\n *\n * This function returns the widget by querying the children of this control for an element\n * with `class=\"widget\"`. If that cannot be found it searches for an native `input` of any type.\n * If either cannot be found a `<input type=\"text\">` is created.\n *\n * @returns {HTMLElement|*}\n */\n getWidget() {\n if (this.widget) return this.widget;\n let widget = this.querySelector(`.${WIDGETCLASS}`);\n if (!widget) {\n widget = this.querySelector('input');\n }\n if (!widget) {\n const input = document.createElement('input');\n input.classList.add(WIDGETCLASS);\n input.setAttribute('type', 'text');\n this.appendChild(input);\n return input;\n }\n return widget;\n }\n\n /**\n * updates the widget from the modelItem value. During refresh the a control\n * evaluates it's binding expression to determine the bound node. The bound node corresponds\n * to a modelItem which acts a the state object of a node. The modelItem determines the value\n * and the state of the node and set the `value` property of this class.\n *\n * @returns {Promise<void>}\n */\n async updateWidgetValue() {\n // this.widget[this.valueProp] = this.value;\n\n let { widget } = this;\n if (!widget) {\n widget = this;\n }\n // ### value is bound to checkbox\n if (this.valueProp === 'checked') {\n if (this.value === 'true') {\n widget.checked = true;\n } else {\n widget.checked = false;\n }\n return;\n }\n\n if (this.hasAttribute('as')) {\n const as = this.getAttribute('as');\n\n // ### when there's an `as=text` attribute serialize nodeset to prettified string\n if (as === 'text') {\n const serializer = new XMLSerializer();\n const pretty = Fore.prettifyXml(serializer.serializeToString(this.nodeset));\n widget.value = pretty;\n }\n if (as === 'node' && this.nodeset !== widget.value) {\n const oldVal = this.nodeset.innerHTML;\n if (widget.value) {\n if (oldVal !== this.widget.value) {\n console.log('changed');\n return;\n }\n }\n\n widget.value = this.nodeset.cloneNode(true);\n console.log('passed value to widget', widget.value);\n }\n\n return;\n }\n\n // ### when there's a url Fore is used as widget and will be loaded from external file\n if (this.url && !this.loaded) {\n // ### evaluate initial data if necessary\n if (this.initial) {\n this.initialNode = evaluateXPathToFirstNode(this.initial, this.nodeset, this);\n console.log('initialNodes', this.initialNode);\n }\n\n // ### load the markup from Url\n await this._loadForeFromUrl();\n this.loaded = true;\n\n // ### replace default instance of embedded Fore with initial nodes\n // const innerInstance = this.querySelector('fx-instance');\n // console.log('innerInstance',innerInstance);\n return;\n }\n\n /*\n if(this.url && !this.loaded){\n this._loadForeFromUrl();\n this.loaded=true;\n return;\n }\n*/\n if (widget.value !== this.value) {\n widget.value = this.value;\n }\n }\n\n /**\n * loads an external Fore from an HTML file given by `url` attribute.\n *\n * Will look for the `<fx-fore>` element within the returned HTML file and return that element.\n *\n * If that cannot be found an error is dispatched.\n *\n * todo: dispatch link error\n * @private\n */\n async _loadForeFromUrl() {\n console.log('########## loading Fore from ', this.src, '##########');\n try {\n const response = await fetch(this.url, {\n method: 'GET',\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': 'text/html',\n },\n });\n const responseContentType = response.headers.get('content-type').toLowerCase();\n console.log('********** responseContentType *********', responseContentType);\n let data;\n if (responseContentType.startsWith('text/html')) {\n data = await response.text().then(result =>\n // console.log('xml ********', result);\n new DOMParser().parseFromString(result, 'text/html'),\n );\n } else {\n data = 'done';\n }\n // const theFore = fxEvaluateXPathToFirstNode('//fx-fore', data.firstElementChild);\n const theFore = data.querySelector('fx-fore');\n // console.log('thefore', theFore)\n theFore.classList.add('widget'); // is the new widget\n const dummy = this.querySelector('input');\n if (this.hasAttribute('shadow')) {\n dummy.parentNode.removeChild(dummy);\n this.shadowRoot.appendChild(theFore);\n } else {\n dummy.replaceWith(theFore);\n }\n\n console.log(`########## loaded fore as component ##### ${this.url}`);\n theFore.addEventListener(\n 'model-construct-done',\n e => {\n console.log('subcomponent ready', e.target);\n const defaultInst = theFore.querySelector('fx-instance');\n console.log('defaultInst', defaultInst);\n const doc = new DOMParser().parseFromString('<data></data>', 'application/xml');\n // Note: Clone the input to prevent the inner fore from editing the outer node\n doc.firstElementChild.appendChild(this.initialNode.cloneNode(true));\n // defaultinst.setInstanceData(this.initialNode);\n defaultInst.setInstanceData(doc);\n console.log('new data', defaultInst.getInstanceData());\n // theFore.getModel().modelConstruct();\n theFore.getModel().updateModel();\n theFore.refresh();\n },\n { once: true },\n );\n\n if (!theFore) {\n this.dispatchEvent(\n new CustomEvent('error', {\n detail: {\n message: `Fore element not found in '${this.src}'. Maybe wrapped within 'template' element?`,\n },\n }),\n );\n }\n console.log('loaded');\n this.dispatchEvent(new CustomEvent('loaded', { detail: { fore: theFore } }));\n } catch (error) {\n console.log('error', error);\n this.getOwnerForm().dispatchEvent(\n new CustomEvent('error', { detail: { message: `${this.url} not found` } }),\n );\n }\n }\n\n getTemplate() {\n return this.querySelector('template');\n }\n\n async refresh(force) {\n // console.log('fx-control refresh', this);\n super.refresh();\n // console.log('refresh template', this.template);\n // const {widget} = this;\n\n // ### if we find a ref on control we have a 'select' control of some kind\n const widget = this.getWidget();\n this._handleBoundWidget(widget);\n Fore.refreshChildren(this, force);\n }\n\n /**\n * If the widget itself has a `ref` it binds to another nodeset to provide some\n * dynamic items to be created from a template usually. Examples are dynamic select option lists\n * or a set of checkboxes.\n *\n * @param widget the widget to handle\n * @private\n */\n _handleBoundWidget(widget) {\n if (widget && widget.hasAttribute('ref')) {\n // ### eval nodeset for list control\n const ref = widget.getAttribute('ref');\n /*\n actually a ref on a select or similar component should point to a different instance\n with an absolute expr e.g. 'instance('theId')/...'\n\n todo: even bail out if ref is not absolute?\n */\n\n const inscope = getInScopeContext(this, ref);\n // const nodeset = evaluateXPathToNodes(ref, inscope, this);\n const nodeset = evaluateXPath(ref, inscope, this);\n\n // ### bail out when nodeset is array and empty\n if (Array.isArray(nodeset) && nodeset.length === 0) return;\n\n // ### clear items\n const { children } = widget;\n Array.from(children).forEach(child => {\n if (child.nodeName.toLowerCase() !== 'template') {\n child.parentNode.removeChild(child);\n }\n });\n\n // ### build the items\n if (this.template) {\n if (nodeset.length) {\n // console.log('nodeset', nodeset);\n Array.from(nodeset).forEach(node => {\n // console.log('#### node', node);\n const newEntry = this.createEntry();\n\n // ### initialize new entry\n // ### set value\n this.updateEntry(newEntry, node);\n });\n } else {\n const newEntry = this.createEntry();\n this.updateEntry(newEntry, nodeset);\n }\n }\n }\n }\n\n updateEntry(newEntry, node) {\n // ### >>> todo: needs rework this code is heavily assuming a select control with 'value' attribute - not generic at all yet.\n\n if (this.widget.nodeName !== 'SELECT') return;\n const valueAttribute = this._getValueAttribute(newEntry);\n const valueExpr = valueAttribute.value;\n const cutted = valueExpr.substring(1, valueExpr.length - 1);\n const evaluated = evaluateXPathToString(cutted, node, newEntry);\n valueAttribute.value = evaluated;\n\n if (this.value === evaluated) {\n newEntry.setAttribute('selected', 'selected');\n }\n\n // ### set label\n const optionLabel = newEntry.textContent;\n const labelExpr = optionLabel.substring(1, optionLabel.length - 1);\n\n const label = evaluateXPathToString(labelExpr, node, newEntry);\n newEntry.textContent = label;\n // ### <<< needs rework\n }\n\n createEntry() {\n const content = this.template.content.firstElementChild.cloneNode(true);\n const newEntry = document.importNode(content, true);\n this.template.parentNode.appendChild(newEntry);\n return newEntry;\n }\n\n // eslint-disable-next-line class-methods-use-this\n _getValueAttribute(element) {\n let result;\n Array.from(element.attributes).forEach(attribute => {\n const attrVal = attribute.value;\n if (attrVal.indexOf('{') !== -1) {\n // console.log('avt found ', attribute);\n result = attribute;\n }\n });\n return result;\n }\n}\nif (!customElements.get('fx-control')) {\n window.customElements.define('fx-control', FxControl);\n}\n","import '../fx-model.js';\nimport { Fore } from '../fore.js';\nimport { foreElementMixin } from '../ForeElementMixin.js';\n\n/**\n * `fx-container` -\n * is a general class for container elements.\n *\n */\nexport class FxContainer extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n const style = `\n :host {\n display: block;\n }\n `;\n\n const html = `\n <slot></slot>\n `;\n\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n\n this.getOwnerForm().registerLazyElement(this);\n }\n\n /**\n * (re)apply all state properties to this control.\n */\n refresh(force) {\n if (!force && this.hasAttribute('refresh-on-view')) return;\n // console.log('### FxContainer.refresh on : ', this);\n\n if (this.isBound()) {\n this.evalInContext();\n this.modelItem = this.getModelItem();\n if (!this.modelItem.boundControls.includes(this)) {\n this.modelItem.boundControls.push(this);\n }\n\n // this.value = this.modelItem.value;\n }\n\n // await this.updateComplete;\n\n // state change event do not fire during init phase (initial refresh)\n if (this._getForm().ready) {\n this.handleModelItemProperties();\n }\n Fore.refreshChildren(this, force);\n }\n\n handleModelItemProperties() {\n this.handleReadonly();\n this.handleRelevant();\n }\n\n _getForm() {\n return this.getModel().parentNode;\n }\n\n handleReadonly() {\n // console.log('mip readonly', this.modelItem.isReadonly);\n if (this.isReadonly() !== this.modelItem.readonly) {\n if (this.modelItem.readonly) {\n this.setAttribute('readonly', 'readonly');\n this.dispatchEvent(new CustomEvent('readonly', {}));\n }\n if (!this.modelItem.readonly) {\n this.removeAttribute('readonly');\n this.dispatchEvent(new CustomEvent('readwrite', {}));\n }\n }\n }\n\n handleRelevant() {\n // console.log('mip valid', this.modelItem.enabled);\n if (!this.modelItem) return;\n\n if (this.isEnabled() !== this.modelItem.enabled) {\n if (this.modelItem.enabled) {\n this.dispatchEvent(new CustomEvent('enabled', {}));\n } else {\n this.dispatchEvent(new CustomEvent('disabled', {}));\n }\n }\n }\n\n isReadonly() {\n if (this.hasAttribute('readonly')) {\n return true;\n }\n return false;\n }\n\n isEnabled() {\n if (this.style.display === 'none') {\n return false;\n }\n return true;\n }\n}\n\nif (!customElements.get('fx-container')) {\n window.customElements.define('fx-container', FxContainer);\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e=Symbol(),n=new Map;class s{constructor(t,n){if(this._$cssResult$=!0,n!==e)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){let e=n.get(this.cssText);return t&&void 0===e&&(n.set(this.cssText,e=new CSSStyleSheet),e.replaceSync(this.cssText)),e}toString(){return this.cssText}}const o=t=>new s(\"string\"==typeof t?t:t+\"\",e),r=(t,...n)=>{const o=1===t.length?t[0]:n.reduce(((e,n,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(n)+t[s+1]),t[0]);return new s(o,e)},i=(e,n)=>{t?e.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const n=document.createElement(\"style\"),s=window.litNonce;void 0!==s&&n.setAttribute(\"nonce\",s),n.textContent=t.cssText,e.appendChild(n)}))},S=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const n of t.cssRules)e+=n.cssText;return o(e)})(t):t;export{s as CSSResult,i as adoptStyles,r as css,S as getCompatibleStyle,t as supportsAdoptingStyleSheets,o as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window.trustedTypes,r=e?e.emptyScript:\"\",h=window.reactiveElementPolyfillSupport,o={toAttribute(t,i){switch(i){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},n=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:o,reflect:!1,hasChanged:n};class a extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Eh(s,i);void 0!==e&&(this._$Eu.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Eh(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$ES(t,i,s=l){var e,r;const h=this.constructor._$Eh(t,s);if(void 0!==h&&!0===s.reflect){const n=(null!==(r=null===(e=s.converter)||void 0===e?void 0:e.toAttribute)&&void 0!==r?r:o.toAttribute)(i,s.type);this._$Ei=t,null==n?this.removeAttribute(h):this.setAttribute(h,n),this._$Ei=null}}_$AK(t,i){var s,e,r;const h=this.constructor,n=h._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){const t=h.getPropertyOptions(n),l=t.converter,a=null!==(r=null!==(e=null===(s=l)||void 0===s?void 0:s.fromAttribute)&&void 0!==e?e:\"function\"==typeof l?l:null)&&void 0!==r?r:o.fromAttribute;this._$Ei=n,this[n]=a(i,t.type),this._$Ei=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||n)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a.finalized=!0,a.elementProperties=new Map,a.elementStyles=[],a.shadowRootOptions={mode:\"open\"},null==h||h({ReactiveElement:a}),(null!==(s=globalThis.reactiveElementVersions)&&void 0!==s?s:globalThis.reactiveElementVersions=[]).push(\"1.3.2\");export{a as ReactiveElement,o as defaultConverter,n as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}M(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.M(h()),this.M(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.C(t)}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={L:\"$lit$\",P:e,V:o,I:1,N:C,R:V,j:u,D:P,H:N,F:S,O:H,W:I,B:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.2.5\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.2.0\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import { html } from 'lit-element';\nimport { Fore } from '../fore.js';\n// import XfAbstractControl from \"./fx-abstract-control\";\nimport { FxContainer } from './fx-container.js';\n\n/**\n * `fx-group`\n * a container allowing to switch between fx-case elements\n *\n *\n * * todo: implement\n * @customElement\n */\nclass FxGroup extends FxContainer {\n static get properties() {\n return {\n ...super.properties,\n collapse: {\n type: Boolean,\n reflect: true,\n },\n };\n }\n /*\n init(model){\n super.init(model);\n console.log(this, this.modelItem);\n\n // this.initializeChildren(this);\n }\n */\n\n constructor() {\n super();\n this.collapse = false;\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n /**\n * overwrites Abstract Control.\n *\n * Groups only reacts to 'relevant' property.\n */\n handleModelItemProperties() {\n this.handleRelevant();\n }\n\n initializeChildren(node) {\n const children = Array.from(node.children);\n console.log('_initializeChildren ', children);\n\n children.forEach(child => {\n console.log('child ', child);\n\n if (Fore.isUiElement(child.nodeName)) {\n child.init(this.model);\n } else if (child.children.length !== 0) {\n const grantChildren = Array.from(child.children);\n grantChildren.forEach(grantChild => {\n this.initializeChildren(grantChild);\n });\n }\n });\n /*\n if(Fore.isUiElement(node.nodeName)){\n const childElements = children.filter( action => Fore.isUiElement(action.nodeName));\n console.log('children ', childElements);\n console.group('init children');\n if(childElements.length > 0){\n childElements.forEach( child => {\n console.log('action ', child);\n child.init(this.model);\n });\n }\n }else if(node){\n this._initializeChildren(node);\n }\n */\n\n console.groupEnd();\n }\n}\n\nif (!customElements.get('fx-group')) {\n window.customElements.define('fx-group', FxGroup);\n}\n","import { html, css } from 'lit-element';\n\nimport XfAbstractControl from './abstract-control.js';\n\nexport class FxHint extends XfAbstractControl {\n static get styles() {\n return css`\n :host {\n display: block;\n height: auto;\n font-size: 0.8em;\n font-weight: 400;\n font-style: italic;\n }\n `;\n }\n\n static get properties() {\n return {\n ...super.properties,\n };\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n /*\n isRequired() {\n return false;\n }\n\n isReadonly () {\n return true;\n }\n*/\n\n /*\n handleRequired () {}\n\n handleReadonly () {\n // super.handleReadonly();\n }\n*/\n}\n\nif (!customElements.get('fx-hint')) {\n customElements.define('fx-hint', FxHint);\n}\n","import { Fore } from '../fore.js';\nimport XfAbstractControl from './abstract-control.js';\nimport { evaluateXPath, evaluateXPathToStrings } from '../xpath-evaluation.js';\nimport getInScopeContext from '../getInScopeContext.js';\n// import {markdown} from '../drawdown.js';\n\n/**\n * todo: review placing of value. should probably work with value attribute and not allow slotted content.\n */\nexport class FxOutput extends XfAbstractControl {\n static get properties() {\n return {\n ...super.properties,\n valueAttr: {\n type: String,\n },\n };\n }\n\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n this.valueAttr = this.hasAttribute('value') ? this.getAttribute('value') : null;\n // Outputs are always readonly!\n this.readonly = true;\n }\n\n connectedCallback() {\n const style = `\n :host {\n display: inline-block;\n }\n #widget {\n display: inline-block;\n }\n .label{\n display: inline-block;\n }\n table,tbody{\n width:100%;\n }\n th{\n text-align:left;\n }\n td{\n padding-right:1rem;\n }\n `;\n\n const outputHtml = `\n <slot name=\"label\"></slot>\n <span id=\"value\">\n <slot id=\"main\"></slot>\n </span>\n `;\n\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${outputHtml}\n `;\n // this.widget = this.shadowRoot.querySelector('#widget');\n // this.widget = this.getWidget();\n // console.log('widget ', this.widget);\n this.mediatype = this.hasAttribute('mediatype') ? this.getAttribute('mediatype') : null;\n\n this.addEventListener('slotchange', e => {\n console.log('slotchange ', e);\n });\n }\n\n async refresh() {\n // Resolve the ref first. The ref will set the `nodeset` which is important for the 'context'\n if (this.ref) {\n await super.refresh();\n }\n\n // ### 2. Eval the value\n if (this.valueAttr) {\n this.value = this.getValue();\n await this.updateWidgetValue();\n }\n }\n\n getValue() {\n // return 'foobar';\n try {\n const inscopeContext = getInScopeContext(this, this.valueAttr);\n if (this.hasAttribute('html')) {\n return evaluateXPath(this.valueAttr, inscopeContext, this)[0];\n }\n\n return evaluateXPathToStrings(this.valueAttr, inscopeContext, this)[0];\n } catch (error) {\n console.error(error);\n Fore.dispatch(this, 'error', { message: error });\n }\n return null;\n }\n\n getWidget() {\n const valueWrapper = this.shadowRoot.getElementById('value');\n return valueWrapper;\n }\n\n handleReadonly() {\n // An output is always read-only\n this.setAttribute('readonly', 'readonly');\n }\n\n async updateWidgetValue() {\n console.log('updateWidgetValue');\n const valueWrapper = this.shadowRoot.getElementById('value');\n\n if (this.mediatype === 'markdown') {\n const md = markdown(this.nodeset);\n this.innerHtml = md;\n }\n\n if (this.mediatype === 'html') {\n if (this.modelItem.node) {\n /*\n valueWrapper.innerHTML = this.modelItem.node.outerHTML;\n return;\n*/\n\n const { node } = this.modelItem;\n\n if (node.nodeType) {\n // const mainSlot = this.shadowRoot.querySelector('#main');\n // valueWrapper.appendChild(node);\n\n // todo: checking if ownerDocument of node and ownerDocument of this are the same - otherwise import first\n // const imported = this.ownerDocument.importNode(node,true);\n // const clone = node.cloneNode(true);\n\n this.appendChild(node);\n // this.innerHtml = node;\n // this.innerHTML = node;\n return;\n }\n Object.entries(node).map(obj => {\n // valueWrapper.appendChild(obj[1]);\n this.appendChild(obj[1]);\n });\n return;\n }\n\n // this.innerHTML = this.value.outerHTML;\n valueWrapper.innerHTML = this.value.outerHTML;\n\n // this.shadowRoot.appendChild(this.value);\n return;\n }\n\n valueWrapper.innerHTML = this.value;\n }\n\n isReadonly() {\n return true;\n }\n}\n\nif (!customElements.get('fx-output')) {\n customElements.define('fx-output', FxOutput);\n}\n","import { Fore } from '../fore.js';\nimport { foreElementMixin } from '../ForeElementMixin.js';\n\n/**\n * `fx-repeat`\n * an xformish form for eXist-db\n *\n * @customElement\n * @demo demo/index.html\n */\nexport class FxRepeatitem extends foreElementMixin(HTMLElement) {\n static get properties() {\n return {\n inited: {\n type: Boolean,\n },\n };\n }\n\n constructor() {\n super();\n this.inited = false;\n\n this.addEventListener('click', this._dispatchIndexChange);\n // this.addEventListener('focusin', this._handleFocus);\n this.addEventListener('focusin', this._dispatchIndexChange);\n\n this.attachShadow({ mode: 'open', delegatesFocus: true });\n }\n\n _handleFocus() {\n this.parentNode.setIndex(this.index);\n // TODO: do this somewhere else, somewhere more central\n\n /**\n * todo: resolve - this is problematic as it triggers a lot of unneeded refreshes but it needed\n * when you want to support activating the right repeatitem when the user tabs through controls.\n */\n // this.closest('fx-fore').refresh();\n }\n\n _dispatchIndexChange() {\n // console.log('_dispatchIndexChange on index ', this.index);\n if (this.parentNode) {\n this.parentNode.dispatchEvent(\n new CustomEvent('item-changed', { composed: true, bubbles: true, detail: { item: this } }),\n );\n }\n }\n\n connectedCallback() {\n this.display = this.style.display;\n\n const html = `\n <slot></slot>\n `;\n\n this.shadowRoot.innerHTML = `\n ${html}\n `;\n this.getOwnerForm().registerLazyElement(this);\n }\n\n disconnectedCallback() {\n // console.log('disconnectedCallback ', this);\n this.removeEventListener('click', this._dispatchIndexChange());\n this.removeEventListener('focusin', this._handleFocus);\n }\n\n init() {\n // console.log('repeatitem init model ', this.nodeset);\n // this._initializeChildren(this);\n this.inited = true;\n }\n\n /*\n getModelItem() {\n super.getModelItem();\n // console.log('modelItem in repeatitem ', this.getModelItem()[this.index]);\n return this.getModelItem()[this.index];\n }\n*/\n\n refresh(force) {\n this.modelItem = this.getModelItem();\n // ### register ourselves as boundControl\n if (!this.modelItem.boundControls.includes(this)) {\n this.modelItem.boundControls.push(this);\n }\n\n if (this.modelItem && !this.modelItem.relevant) {\n // await Fore.fadeOutElement(this)\n this.style.display = 'none';\n } else {\n // if(this.hasAttribute('repeat-index')){\n // Fore.fadeInElement(this);\n // }\n this.style.display = this.display;\n }\n\n /*\n if (this?.modelItem?.relevant) {\n // Fore.refreshChildren(this);\n } else {\n }\n*/\n\n Fore.refreshChildren(this, force);\n }\n}\n\nif (!customElements.get('fx-repeatitem')) {\n window.customElements.define('fx-repeatitem', FxRepeatitem);\n}\n","import './fx-repeatitem.js';\n\nimport { Fore } from '../fore.js';\nimport { foreElementMixin } from '../ForeElementMixin.js';\nimport { evaluateXPath } from '../xpath-evaluation.js';\nimport getInScopeContext from '../getInScopeContext.js';\nimport { XPathUtil } from '../xpath-util.js';\n\n/**\n * `fx-repeat`\n *\n * Repeats its template for each node in its' bound nodeset.\n *\n * Template is a standard HTML `<template>` element. Once instanciated the template\n * is moved to the shadowDOM of the repeat for safe re-use.\n *\n *\n *\n * @customElement\n * @demo demo/todo.html\n *\n * todo: it should be seriously be considered to extend FxContainer instead but needs refactoring first.\n */\nexport class FxRepeat extends foreElementMixin(HTMLElement) {\n static get properties() {\n return {\n ...super.properties,\n index: {\n type: Number,\n },\n template: {\n type: Object,\n },\n focusOnCreate: {\n type: String,\n },\n initDone: {\n type: Boolean,\n },\n repeatIndex: {\n type: Number,\n },\n nodeset: {\n type: Array,\n },\n };\n }\n\n constructor() {\n super();\n this.ref = '';\n this.dataTemplate = [];\n this.focusOnCreate = '';\n this.initDone = false;\n this.repeatIndex = 1;\n this.nodeset = [];\n this.inited = false;\n this.index = 1;\n this.repeatSize = 0;\n this.attachShadow({ mode: 'open', delegatesFocus: true });\n }\n\n get repeatSize() {\n return this.querySelectorAll(':scope > fx-repeatitem').length;\n }\n\n set repeatSize(size) {\n this.size = size;\n }\n\n setIndex(index) {\n // console.log('new repeat index ', index);\n this.index = index;\n const rItems = this.querySelectorAll(':scope > fx-repeatitem');\n this.applyIndex(rItems[this.index - 1]);\n }\n\n applyIndex(repeatItem) {\n this._removeIndexMarker();\n if (repeatItem) {\n repeatItem.setAttribute('repeat-index', '');\n }\n }\n\n get index() {\n return this.getAttribute('index');\n }\n\n set index(idx) {\n this.setAttribute('index', idx);\n }\n\n connectedCallback() {\n // this.display = window.getComputedStyle(this, null).getPropertyValue(\"display\");\n this.ref = this.getAttribute('ref');\n // console.log('### fx-repeat connected ', this.id);\n this.addEventListener('item-changed', e => {\n console.log('handle index event ', e);\n const { item } = e.detail;\n const idx = Array.from(this.children).indexOf(item);\n this.applyIndex(this.children[idx]);\n this.index = idx + 1;\n });\n // todo: review - this is just used by append action - event consolidation ?\n document.addEventListener('index-changed', e => {\n e.stopPropagation();\n if (!e.target === this) return;\n console.log('handle index event ', e);\n // const { item } = e.detail;\n // const idx = Array.from(this.children).indexOf(item);\n const { index } = e.detail;\n this.index = Number(index);\n this.applyIndex(this.children[index - 1]);\n });\n /*\n document.addEventListener('insert', e => {\n const nodes = e.detail.insertedNodes;\n this.index = e.detail.position;\n console.log('insert catched', nodes, this.index);\n });\n*/\n\n // if (this.getOwnerForm().lazyRefresh) {\n this.mutationObserver = new MutationObserver(mutations => {\n console.log('mutations', mutations);\n\n if (mutations[0].type === 'childList') {\n const added = mutations[0].addedNodes[0];\n if (added) {\n const path = XPathUtil.getPath(added);\n console.log('path mutated', path);\n // this.dispatch('path-mutated',{'path':path,'nodeset':this.nodeset,'index': this.index});\n // this.index = index;\n // const prev = mutations[0].previousSibling.previousElementSibling;\n // const index = prev.index();\n // this.applyIndex(this.index -1);\n\n Fore.dispatch(this, 'path-mutated', { path, index: this.index });\n }\n }\n });\n // }\n this.getOwnerForm().registerLazyElement(this);\n\n const style = `\n :host{\n }\n .fade-out-bottom {\n -webkit-animation: fade-out-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;\n animation: fade-out-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;\n }\n .fade-out-bottom {\n -webkit-animation: fade-out-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;\n animation: fade-out-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;\n }\n `;\n const html = `\n <slot name=\"header\"></slot>\n <slot></slot>\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n }\n\n init() {\n // ### there must be a single 'template' child\n // console.log('##### repeat init ', this.id);\n // if(!this.inited) this.init();\n // does not use this.evalInContext as it is expecting a nodeset instead of single node\n this._evalNodeset();\n // console.log('##### ',this.id, this.nodeset);\n\n this._initTemplate();\n this._initRepeatItems();\n\n this.setAttribute('index', this.index);\n this.inited = true;\n }\n\n /**\n * repeat has no own modelItems\n * @private\n */\n _evalNodeset() {\n // const inscope = this.getInScopeContext();\n const inscope = getInScopeContext(this.getAttributeNode('ref') || this, this.ref);\n // console.log('##### inscope ', inscope);\n // console.log('##### ref ', this.ref);\n // now we got a nodeset and attach MutationObserver to it\n\n if (this.mutationObserver && inscope.nodeName) {\n this.mutationObserver.observe(inscope, {\n childList: true,\n subtree: true,\n });\n }\n\n const rawNodeset = evaluateXPath(this.ref, inscope, this);\n if (rawNodeset.length === 1 && Array.isArray(rawNodeset[0])) {\n // This XPath likely returned an XPath array. Just collapse to that array\n this.nodeset = rawNodeset[0];\n return;\n }\n this.nodeset = rawNodeset;\n }\n\n async refresh(force) {\n // console.group('fx-repeat.refresh on', this.id);\n\n if (!this.inited) this.init();\n console.time('repeat-refresh', this);\n this._evalNodeset();\n // console.log('repeat refresh nodeset ', this.nodeset);\n // console.log('repeatCount', this.repeatCount);\n\n const repeatItems = this.querySelectorAll(':scope > fx-repeatitem');\n const repeatItemCount = repeatItems.length;\n\n let nodeCount = 1;\n if (Array.isArray(this.nodeset)) {\n nodeCount = this.nodeset.length;\n }\n\n // const contextSize = this.nodeset.length;\n const contextSize = nodeCount;\n // todo: review - cant the context really never be smaller than the repeat count?\n // todo: this code can be deprecated probably but check first\n if (contextSize < repeatItemCount) {\n for (let position = repeatItemCount; position > contextSize; position -= 1) {\n // remove repeatitem\n const itemToRemove = repeatItems[position - 1];\n itemToRemove.parentNode.removeChild(itemToRemove);\n this.getOwnerForm().unRegisterLazyElement(itemToRemove);\n // this._fadeOut(itemToRemove);\n // Fore.fadeOutElement(itemToRemove)\n }\n }\n\n if (contextSize > repeatItemCount) {\n for (let position = repeatItemCount + 1; position <= contextSize; position += 1) {\n // add new repeatitem\n\n const newItem = document.createElement('fx-repeatitem');\n const clonedTemplate = this._clone();\n newItem.appendChild(clonedTemplate);\n this.appendChild(newItem);\n\n this._initVariables(newItem);\n\n newItem.nodeset = this.nodeset[position - 1];\n newItem.index = position;\n this.getOwnerForm().someInstanceDataStructureChanged = true;\n }\n }\n\n // ### update nodeset of repeatitems\n for (let position = 0; position < repeatItemCount; position += 1) {\n const item = repeatItems[position];\n this.getOwnerForm().registerLazyElement(item);\n\n if (item.nodeset !== this.nodeset[position]) {\n item.nodeset = this.nodeset[position];\n }\n }\n\n // Fore.refreshChildren(clone,true);\n const fore = this.getOwnerForm();\n if (!fore.lazyRefresh || force) {\n Fore.refreshChildren(this, force);\n }\n // this.style.display = 'block';\n // this.style.display = this.display;\n this.setIndex(this.index);\n console.timeEnd('repeat-refresh');\n\n // this.replaceWith(clone);\n\n // this.repeatCount = contextSize;\n // console.log('repeatCount', this.repeatCount);\n console.groupEnd();\n }\n\n // eslint-disable-next-line class-methods-use-this\n _fadeOut(el) {\n el.style.opacity = 1;\n\n (function fade() {\n // eslint-disable-next-line no-cond-assign\n if ((el.style.opacity -= 0.1) < 0) {\n el.style.display = 'none';\n } else {\n requestAnimationFrame(fade);\n }\n })();\n }\n\n // eslint-disable-next-line class-methods-use-this\n _fadeIn(el) {\n if (!el) return;\n\n el.style.opacity = 0;\n el.style.display = this.display;\n\n (function fade() {\n // setTimeout(() => {\n let val = parseFloat(el.style.opacity);\n // eslint-disable-next-line no-cond-assign\n if (!((val += 0.1) > 1)) {\n el.style.opacity = val;\n requestAnimationFrame(fade);\n }\n // }, 40);\n })();\n }\n\n _initTemplate() {\n // const shadowTemplate = this.shadowRoot.querySelector('template');\n // console.log('shadowtempl ', shadowTemplate);\n\n // const defaultSlot = this.shadowRoot.querySelector('slot');\n // todo: this is still weak - should handle that better maybe by an explicit slot?\n // this.template = this.firstElementChild;\n this.template = this.querySelector('template');\n // console.log('### init template for repeat ', this.id, this.template);\n\n if (this.template === null) {\n // console.error('### no template found for this repeat:', this.id);\n // todo: catch this on form element\n this.dispatchEvent(\n new CustomEvent('no-template-error', {\n composed: true,\n bubbles: true,\n detail: { message: `no template found for repeat:${this.id}` },\n }),\n );\n }\n\n this.shadowRoot.appendChild(this.template);\n }\n\n _initRepeatItems() {\n // const model = this.getModel();\n // this.textContent = '';\n this.nodeset.forEach((item, index) => {\n const repeatItem = document.createElement('fx-repeatitem');\n repeatItem.nodeset = this.nodeset[index];\n repeatItem.index = index + 1; // 1-based index\n\n const clone = this._clone();\n repeatItem.appendChild(clone);\n this.appendChild(repeatItem);\n\n if (repeatItem.index === 1) {\n this.applyIndex(repeatItem);\n }\n\n this._initVariables(repeatItem);\n });\n }\n\n _initVariables(newRepeatItem) {\n const inScopeVariables = new Map(this.inScopeVariables);\n newRepeatItem.setInScopeVariables(inScopeVariables);\n (function registerVariables(node) {\n for (const child of node.children) {\n if ('setInScopeVariables' in child) {\n child.setInScopeVariables(inScopeVariables);\n }\n registerVariables(child);\n }\n })(newRepeatItem);\n }\n\n _clone() {\n // const content = this.template.content.cloneNode(true);\n this.template = this.shadowRoot.querySelector('template');\n const content = this.template.content.cloneNode(true);\n return document.importNode(content, true);\n }\n\n _removeIndexMarker() {\n Array.from(this.children).forEach(item => {\n item.removeAttribute('repeat-index');\n });\n }\n\n setInScopeVariables(inScopeVariables) {\n // Repeats are interesting: the variables should be scoped per repeat item, they should not be\n // able to see the variables in adjacent repeat items!\n this.inScopeVariables = new Map(inScopeVariables);\n }\n}\n\nif (!customElements.get('fx-repeat')) {\n window.customElements.define('fx-repeat', FxRepeat);\n}\n","import { Fore } from '../fore.js';\nimport { FxContainer } from './fx-container.js';\n\n/**\n * `fx-switch`\n * a container allowing to switch between fx-case elements\n *\n * * todo: implement\n * @customElement\n */\nclass FxSwitch extends FxContainer {\n /*\n constructor() {\n super();\n // this.attachShadow({ mode: 'open' });\n }\n */\n\n connectedCallback() {\n if (super.connectedCallback) {\n super.connectedCallback();\n }\n const style = `\n :host ::slotted(fx-case.selected-case){\n display: block !important;\n }\n `;\n const html = `\n <slot></slot>\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n }\n\n refresh() {\n super.refresh();\n console.log('refresh on switch ');\n const cases = this.querySelectorAll('fx-case');\n if (this.isBound()) {\n Array.from(cases).forEach(caseElem => {\n const name = caseElem.getAttribute('name');\n if (name === this.modelItem.value) {\n caseElem.classList.add('selected-case');\n } else {\n caseElem.classList.remove('selected-case');\n }\n });\n } else {\n const selected = this.querySelector('.selected-case');\n if (!selected) {\n cases[0].classList.add('selected-case');\n }\n }\n\n Fore.refreshChildren(this);\n // console.log('value ', this.value);\n }\n\n toggle(caseElement) {\n const cases = this.querySelectorAll('fx-case');\n Array.from(cases).forEach(c => {\n if (caseElement === c) {\n // eslint-disable-next-line no-param-reassign\n c.classList.add('selected-case');\n } else {\n // eslint-disable-next-line no-param-reassign\n c.classList.remove('selected-case');\n }\n });\n }\n}\n\nif (!customElements.get('fx-switch')) {\n window.customElements.define('fx-switch', FxSwitch);\n}\n","import XfAbstractControl from './abstract-control.js';\n\nexport class FxTrigger extends XfAbstractControl {\n connectedCallback() {\n this.attachShadow({ mode: 'open' });\n this.ref = this.hasAttribute('ref') ? this.getAttribute('ref') : null;\n const style = `\n :host {\n cursor:pointer;\n }\n `;\n\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${this.renderHTML()}\n `;\n\n const slot = this.shadowRoot.querySelector('slot');\n slot.addEventListener('slotchange', () => {\n const elements = slot.assignedElements({ flatten: true });\n elements[0].setAttribute('tabindex', '0');\n elements[0].setAttribute('role', 'button');\n\n const element = elements[0];\n element.addEventListener('click', e => this.performActions(e));\n this.widget = element;\n // # terrible hack but browser behaves strange - seems to fire a 'click' for a button when it receives a\n // # 'Space' or 'Enter' key\n if (element.nodeName !== 'BUTTON') {\n element.addEventListener('keypress', e => {\n if (e.code === 'Space' || e.code === 'Enter') {\n this.performActions(e);\n }\n });\n }\n });\n /*\n this.addEventListener('click', e => this.performActions(e));\n this.addEventListener('keypress', (e) => {\n if(e.code === 'Space' || e.code === 'Enter'){\n this.performActions(e);\n }\n });\n */\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderHTML() {\n return `\n <slot></slot>\n `;\n }\n\n getWidget() {\n return this.widget;\n }\n\n async updateWidgetValue() {\n console.log('trigger update', this);\n return null;\n }\n\n handleReadonly() {\n super.handleReadonly();\n // ### add disabled attribute in case we're readonly. This is special behavior of fx-trigger\n if (this.widget.hasAttribute('readonly')) {\n this.widget.setAttribute('disabled', 'disabled');\n } else {\n this.widget.removeAttribute('disabled');\n }\n }\n\n async performActions(e) {\n // todo: support readonly for trigger not executing the action\n const repeatedItem = this.closest('fx-repeatitem');\n if (repeatedItem) {\n console.log('repeated click');\n repeatedItem.click();\n }\n\n // Update all child variables, but only once\n this.querySelectorAll('fx-var').forEach(variableElement => variableElement.refresh());\n\n const forLoop = async () => {\n for (let i = 0; i < this.children.length; i += 1) {\n const child = this.children[i];\n if (typeof child.execute === 'function') {\n // eslint-disable-next-line no-await-in-loop\n await child.execute(e);\n }\n }\n };\n forLoop();\n }\n\n /*\n async refresh() {\n super.refresh();\n // console.log('fx-button refresh');\n\n const elements = this.querySelectorAll(':scope > *');\n elements.forEach(element => {\n if (typeof element.refresh === 'function') {\n element.refresh();\n }\n });\n }\n */\n}\n\nif (!customElements.get('fx-trigger')) {\n customElements.define('fx-trigger', FxTrigger);\n}\n","// import { foreElementMixin } from '../ForeElementMixin';\n\n/**\n * `fx-case`\n * a container allowing to switch between fx-case elements\n *\n * * todo: implement\n * @customElement\n */\nclass FxCase extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n if (this.hasAttribute('label')) {\n this.label = this.getAttribute('label');\n }\n if (this.hasAttribute('name')) {\n this.name = this.getAttribute('name');\n }\n if (this.hasAttribute('selected')) {\n this.selected = this.getAttribute('selected');\n }\n\n const style = `\n :host {\n display: none;\n }\n `;\n const html = `\n ${this.label ? `<span>${this.label}</span>` : ''}\n <slot></slot>\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${html}\n `;\n\n this.style.display = 'none';\n }\n}\n\nif (!customElements.get('fx-case')) {\n window.customElements.define('fx-case', FxCase);\n}\n","import { Fore } from '../fore.js';\n\n/**\n * lists out all live instances in html 'details' and 'summary' elements.\n */\nexport class FxInspector extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n const style = `\n :host {\n position:absolute;\n display: block;\n width:var(--inspector-handle-width);\n background:var(--inspector-bg);\n top:0;\n right:0;\n bottom:0;\n height: 100%;\n background: var(--inspector-bg);\n color: white;\n /*max-height: 33%;*/\n overflow: scroll;\n transition:width 0.3s ease;\n }\n :host([open]){\n width: 30%;\n }\n details{\n margin:1rem;\n }\n .main{\n padding-left:var(--inspector-handle-width);\n color:var(--inspector-color);\n overflow:scroll;\n }\n pre{\n background:var(--inspector-pre-bg);\n color:var(--inspector-color);\n overflow:scroll;\n padding:0.2rem;\n }\n .handle{\n display:block;\n height:100vh;\n width:var(--inspector-handle-width);\n background:var(--inspector-handle-bg);\n opacity:0.7;\n position:absolute;\n left:0;\n color:white;\n cursor:pointer;\n }\n .handle:hover{\n opacity:1;\n }\n .handle::before{\n content: 'Data Inspector';\n white-space: nowrap;\n transform: rotate(-90deg);\n display: inline-block;\n position: absolute;\n left: -85px;\n width: 200px;\n top: 40px;\n }\n summary{\n cursor:pointer;\n }\n `;\n\n const fore = this.closest('fx-fore');\n\n // fore.addEventListener('ready', (e) => {\n this.render(style);\n // });\n fore.addEventListener('refresh-done', () => {\n this.update();\n });\n }\n\n update() {\n console.log('update');\n const pre = this.shadowRoot.querySelectorAll('pre');\n console.log('pre', pre);\n const fore = this.closest('fx-fore');\n\n Array.from(pre).forEach(element => {\n const inst = fore.getModel().getInstance(element.getAttribute('id'));\n if (inst.type === 'xml') {\n element.innerText = this.serializeDOM(inst.instanceData);\n }\n if (inst.type === 'json') {\n element.innerText = JSON.stringify(inst.instanceData, undefined, 2);\n }\n });\n }\n\n render(style) {\n const fore = this.closest('fx-fore');\n const instances = Array.from(fore.querySelectorAll('fx-instance'));\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n <div class=\"main\">\n <slot></slot>\n <span class=\"handle\"></span>\n ${instances.map(\n (instance, index) => `\n <details open>\n <summary>${instance.id}</summary>\n <pre id=\"${instance.id}\"></pre>\n </details>\n `,\n )}\n </div>\n `;\n\n const handle = this.shadowRoot.querySelector('.handle');\n handle.addEventListener('click', e => {\n console.log('toggling');\n const { target } = e;\n if (this.hasAttribute('open')) {\n this.removeAttribute('open');\n } else {\n this.setAttribute('open', 'open');\n }\n });\n }\n\n serializeDOM(data) {\n console.log('serializeDOM', data);\n const ser = new XMLSerializer().serializeToString(data);\n return Fore.prettifyXml(ser);\n }\n}\n\nif (!customElements.get('fx-inspector')) {\n customElements.define('fx-inspector', FxInspector);\n}\n","import { Fore } from '../fore.js';\n\nexport class FxDialog extends HTMLElement {\n static get properties() {\n return {\n id: String,\n };\n }\n\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n const style = `\n :host {\n display:none;\n height: 100vh;\n width:100vw;\n position:fixed;\n left:0;\n top:0;\n right:0;\n bottom:0;\n transition:opacity 0.4s linear;\n }\n\n `;\n\n this.shadowRoot.innerHTML = this.render(style);\n this.id = this.getAttribute('id');\n\n // const dialog = document.getElementById(this.id);\n\n const closeBtn = this.querySelector('.close-dialog');\n if (closeBtn) {\n closeBtn.addEventListener('click', () => {\n this.classList.remove('show');\n });\n }\n\n this.addEventListener('transitionend', () => {\n console.log('transitionend');\n // this.style.display = 'none';\n });\n\n this.focus();\n }\n\n render(styles) {\n return `\n <style>\n ${styles}\n </style>\n <slot></slot>\n `;\n }\n\n open() {\n window.addEventListener(\n 'keyup',\n e => {\n if (e.key === 'Escape') {\n this.hide();\n }\n },\n { once: true },\n );\n\n this.classList.add('show');\n }\n\n async hide() {\n await Fore.fadeOutElement(this, 400);\n this.classList.remove('show');\n }\n}\n\nif (!customElements.get('fx-dialog')) {\n customElements.define('fx-dialog', FxDialog);\n}\n","import { evaluateXPathToString, resolveId } from '../xpath-evaluation.js';\nimport FxControl from './fx-control.js';\nimport { Fore } from '../fore.js';\n\n/**\n * FxItems provices a templated list over its bound nodes. It is not standalone but expects to be used\n * within an fx-control element.\n *\n *\n *\n * @demo demo/selects3.html\n */\nexport class FxItems extends FxControl {\n static get properties() {\n return {\n ...super.properties,\n valueAttr: {\n type: String,\n },\n };\n }\n\n constructor() {\n super();\n this.valueAttr = this.hasAttribute('value') ? this.getAttribute('value') : null;\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener('click', e => {\n const items = this.querySelectorAll('[value]');\n\n let target;\n if (e.target.nodeName === 'LABEL') {\n target = resolveId(e.target.getAttribute('for'), this);\n target.checked = !target.checked;\n }\n\n let val = '';\n Array.from(items).forEach(item => {\n if (item.checked) {\n val += ` ${item.getAttribute('value')}`;\n }\n });\n this.setAttribute('value', val.trim());\n\n // ### check for parent control\n const parentBind = Fore.getClosest('[ref]', this.parentNode);\n if (!parentBind) return;\n const modelitem = parentBind.getModelItem();\n const setval = this.shadowRoot.getElementById('setvalue');\n setval.setValue(modelitem, val.trim());\n setval.actionPerformed();\n });\n }\n\n getWidget() {\n return this;\n }\n\n async updateWidgetValue() {\n // console.log('setting items value');\n\n const parentBind = Fore.getClosest('[ref]', this.parentNode);\n if (parentBind) {\n this.value = parentBind.value;\n }\n this.setAttribute('value', this.value);\n }\n\n /**\n * Updates an entry by setting the label and the value.\n *\n * Will connect label and control with `for` attribute with generated id.\n *\n * attention: limitations here: assumes that there's an `label` element plus an element with an `value`\n * attribute which it will update.\n *\n *\n *\n * @param newEntry\n * @param node\n */\n updateEntry(newEntry, node) {\n // console.log('fx-items updateEntry', this.value);\n // super.updateEntry(newEntry,node);\n\n // ### danger zone - highly specific - assumes knowledge of the template structure ###\n // ### danger zone - highly specific - assumes knowledge of the template structure ###\n // ### danger zone - highly specific - assumes knowledge of the template structure ###\n\n const label = newEntry.querySelector('label');\n label.textContent = node.textContent;\n\n const id = Fore.createUUID();\n label.setAttribute('for', id);\n\n // getting element which has 'value' attr\n const input = newEntry.querySelector('[value]');\n // getting expr\n const expr = input.value;\n const cutted = expr.substring(1, expr.length - 1);\n const evaluated = evaluateXPathToString(cutted, node, newEntry);\n\n // adding space around value to allow matching of 'words'\n const spaced = ` ${evaluated} `;\n\n const valAttr = ` ${this.getAttribute('value')} `;\n input.value = evaluated;\n input.setAttribute('id', id);\n if (valAttr.indexOf(spaced) !== -1) {\n input.checked = true;\n }\n }\n}\n\nif (!customElements.get('fx-items')) {\n customElements.define('fx-items', FxItems);\n}\n","import { foreElementMixin } from '../ForeElementMixin.js';\nimport { evaluateXPathToBoolean, resolveId } from '../xpath-evaluation.js';\nimport getInScopeContext from '../getInScopeContext.js';\nimport { Fore } from '../fore.js';\n\nasync function wait(howLong) {\n return new Promise(resolve => setTimeout(() => resolve(), howLong));\n}\n\n/**\n * Superclass for all action elements. Provides basic wiring of events to targets as well as\n * handle conditionals and loops of actions.\n *\n * @fires action-performed - is dispatched after each execution of an action.\n * @customElement\n * @demo demo/index.html\n */\nexport class AbstractAction extends foreElementMixin(HTMLElement) {\n static get properties() {\n return {\n ...super.properties,\n /**\n * detail - event detail object\n */\n detail: {\n type: Object,\n },\n /**\n * wether nor not an action needs to run the update cycle\n */\n needsUpdate: {\n type: Boolean,\n },\n /**\n * event to listen for\n */\n event: {\n type: Object,\n },\n /**\n * id of target element to attach listener to\n */\n target: {\n type: String,\n },\n /**\n * boolean XPath expression. If true the action will be executed.\n */\n ifExpr: {\n type: String,\n },\n /**\n * boolean XPath expression. If true loop will be executed. If an ifExpr is present this also needs to be true\n * to actually run the action.\n */\n whileExpr: {\n type: String,\n },\n /**\n * delay before executing action in milliseconds\n */\n delay: {\n type: Number,\n },\n };\n }\n\n constructor() {\n super();\n this.detail = {};\n this.needsUpdate = false;\n }\n\n connectedCallback() {\n this.style.display = 'none';\n this.repeatContext = undefined;\n\n if (this.hasAttribute('event')) {\n this.event = this.getAttribute('event');\n } else {\n this.event = 'activate';\n }\n\n this.target = this.getAttribute('target');\n if (this.target) {\n if (this.target === '#window') {\n window.addEventListener(this.event, e => this.execute(e));\n } else if (this.target === '#document') {\n document.addEventListener(this.event, e => this.execute(e));\n } else {\n this.targetElement = resolveId(this.target, this);\n this.targetElement.addEventListener(this.event, e => this.execute(e));\n }\n } else {\n this.targetElement = this.parentNode;\n this.targetElement.addEventListener(this.event, e => this.execute(e));\n // console.log('adding listener for ', this.event , ` to `, this);\n }\n\n this.ifExpr = this.hasAttribute('if') ? this.getAttribute('if') : null;\n this.whileExpr = this.hasAttribute('while') ? this.getAttribute('while') : null;\n this.delay = this.hasAttribute('delay') ? Number(this.getAttribute('delay')) : 0;\n }\n\n /**\n * executes the action.\n *\n * Will first evaluate ifExpr and continue only if it evaluates to 'true'. The 'whileExpr' will be executed\n * considering the delay if present.\n *\n * After calling `perform' which actually implements the semantics of an concrete action\n * `actionPerformed` will make sure that update cycle is run if 'needsUpdate' is true.\n *\n * @param e\n */\n async execute(e) {\n // console.log('executing', this);\n // console.log('executing e', e);\n // console.log('executing e phase', e.eventPhase);\n if (e && e.detail) {\n this.detail = e.detail;\n // console.log('#### detail', e.detail);\n }\n this.needsUpdate = false;\n\n this.evalInContext();\n if (this.targetElement && this.targetElement.nodeset) {\n this.nodeset = this.targetElement.nodeset;\n }\n\n // First check if 'if' condition is true - otherwise exist right away\n if (this.ifExpr && !evaluateXPathToBoolean(this.ifExpr, getInScopeContext(this), this)) {\n return;\n }\n\n if (this.whileExpr) {\n // While: while the condition is true, delay a bit and execute the action\n const loop = async () => {\n // Start by waiting\n await wait(this.delay || 0);\n\n if (!this.ownerDocument.contains(this)) {\n // We are no longer in the document. Stop working\n return;\n }\n\n if (!evaluateXPathToBoolean(this.whileExpr, getInScopeContext(this), this)) {\n // Done with iterating\n return;\n }\n\n // Perform the action once\n this.perform();\n\n // Go for one more iteration\n await loop();\n };\n\n // After loop is done call actionPerformed to update the model and UI\n await loop();\n this.actionPerformed();\n return;\n }\n\n if (this.delay) {\n // Delay further execution until the delay is done\n await wait(this.delay);\n if (!this.ownerDocument.contains(this)) {\n // We are no longer in the document. Stop working\n this.actionPerformed();\n return;\n }\n }\n\n this.perform();\n this.actionPerformed();\n }\n\n /**\n * Template method to be implemented by each action that is called by execute() as part of\n * the processing.\n *\n * todo: review - this could probably just be empty or throw error signalling that extender needs to implement it\n */\n perform() {\n if (this.isBound() || this.nodeName === 'FX-ACTION') {\n this.evalInContext();\n }\n }\n\n /**\n * calls the update cycle if action signalled that update is needed.\n */\n actionPerformed() {\n // console.log('actionPerformed action parentNode ', this.parentNode);\n if (this.needsUpdate) {\n const model = this.getModel();\n model.recalculate();\n model.revalidate();\n model.parentNode.refresh(true);\n this.dispatchActionPerformed();\n }\n }\n\n /**\n * dispathes action-performed event\n *\n * @event action-performed - whenever an action has been run\n */\n dispatchActionPerformed() {\n console.log('action-performed ', this);\n Fore.dispatch(this, 'action-performed', {});\n }\n}\n\nif (!customElements.get('abstract-action')) {\n window.customElements.define('abstract-action', AbstractAction);\n}\n","import { AbstractAction } from './abstract-action.js';\nimport { Fore } from '../fore.js';\nimport { resolveId } from '../xpath-evaluation.js';\n\n/**\n * `fx-append` appends an entry to a repeat.\n *\n *\n *\n * @deprecated - will be replaced with `fx-insert`\n * @fires index-changed - fired after new item is appended\n * @customElement\n */\n// class FxAppend extends FxAction {\nclass FxAppend extends AbstractAction {\n static get properties() {\n return {\n ref: {\n type: String,\n },\n /**\n * the repeat this action is appending to.\n */\n repeat: {\n type: String,\n },\n clear: {\n type: String,\n },\n };\n }\n\n constructor() {\n super();\n this.repeat = '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n console.log('connectedCallback ', this);\n this.ref = this.getAttribute('ref');\n this.repeat = this.getAttribute('repeat');\n // this.repeated = this.closest('fx-repeatitem');\n }\n\n /**\n * appends a instance of the repeat template to the existing ones.\n *\n * The data structure to insert into the instance data is determined by the 'ref' attributes\n * found in the template of the repeat. This is similar to lazy instance creation.\n *\n * Note: This is a significant difference to XForms which takes the instance nodes as template to insert but\n * has the problem of empty nodesets not being able to insert an entry without using a separate instance\n * holding the template.\n *\n * As a consequence the item that are appended are not propagated with values but empty. However usually\n * that's what the user wants and not the other way round (duplicating the last data items). If the XForms\n * behavior should be needed for some reason later on, it can be added easier by a providing an 'duplicate' action.\n *\n */\n perform() {\n super.perform();\n\n this._dataFromTemplate();\n /*\n const instData = new XMLSerializer().serializeToString(\n this.getModel()\n .getDefaultInstance()\n .getInstanceData(),\n );\n*/\n // console.log('modified instance ', this.getModel().getDefaultInstance().getInstanceData());\n\n this.needsUpdate = true;\n }\n\n actionPerformed() {\n super.actionPerformed();\n // const repeat = document.getElementById(this.repeat);\n // repeat.setIndex(repeat.nodeset.length);\n this._dispatch();\n }\n\n /**\n * creates a data-template from repeat template and appends it to inscope context instance.\n *\n * @private\n */\n _dataFromTemplate() {\n const inscope = this.getInScopeContext();\n const parentForm = this.getOwnerForm();\n const repeat = parentForm.querySelector(`#${this.repeat}`);\n // console.log('_dataFromTemplate repeat', repeat);\n // console.log('_dataFromTemplate repeat ref', repeat.ref);\n\n const templ = repeat.shadowRoot.querySelector('template');\n // console.log('_dataFromTemplate ', templ);\n // console.log('_dataFromTemplate content', templ.content);\n\n // iterate template for refs\n // todo: will fail for pathes with predicates - need to be filtered before\n // const rootNode = document.createElement(repeat.ref);\n\n // const rootNode = document.createElement(repeat.ref);\n // const rootNode = inscope.ownerDocument.createElement(repeat.ref);\n const rootNode = inscope.ownerDocument.createElement(repeat.ref);\n\n // const data = this._dataFromRefs(rootNode, templ.content)\n const data = this._generateInstance(templ.content, rootNode);\n // console.log('_dataFromTemplate DATA', data);\n inscope.appendChild(data);\n // console.log('appended new item ', data);\n // return data;\n }\n\n /**\n * dispatches set-index event to target repeat\n *\n * The target repeat is a child of the same repeat-item as the append action.\n */\n _dispatch() {\n const targetRepeat = resolveId(this.repeat, this);\n console.log('dispatching index change ', targetRepeat.nodeset.length);\n Fore.dispatch(targetRepeat, 'index-changed', { index: targetRepeat.nodeset.length });\n }\n\n /**\n * clear all text nodes and attribute values to get a 'clean' template.\n * @param n\n * @private\n *\n *\n */\n _clear(n) {\n let node = n.firstChild;\n const attrs = n.attributes;\n for (let i = 0; i < attrs.length; i += 1) {\n // n.setAttribute(attrs[i].name,'');\n attrs[i].value = '';\n }\n while (node) {\n if (node.nodeType === 1 && node.hasAttributes()) {\n node.textContent = '';\n }\n this._clear(node);\n node = node.nextSibling;\n }\n }\n\n _generateInstance(start, parent) {\n if (start.nodeType === 1 && start.hasAttribute('ref')) {\n const ref = start.getAttribute('ref');\n\n let generated;\n if (ref === '.') {\n // node.appendChild(document.createElement(repeatRef));\n } else if (ref.startsWith('@')) {\n parent.setAttribute(ref.substring(1), '');\n } else {\n generated = document.createElement(ref);\n parent.appendChild(generated);\n if (start.children.length === 0) {\n generated.textContent = start.textContent;\n }\n }\n }\n\n if (start.hasChildNodes()) {\n const list = start.children;\n for (let i = 0; i < list.length; i += 1) {\n this._generateInstance(list[i], parent);\n }\n }\n return parent;\n }\n\n getInstanceId() {\n if (this.ref.startsWith('instance(')) {\n return 'not implemented';\n }\n return 'default';\n }\n\n /*\n _fadeIn (el, display) {\n // eslint-disable-next-line no-param-reassign\n el.style.opacity = 0;\n // eslint-disable-next-line no-param-reassign\n el.style.display = display || 'block';\n\n (function fade() {\n // let val = parseFloat(el.style.opacity);\n let val = parseFloat(el.style.opacity);\n val += 0.1;\n if (!(val > 1)) {\n // eslint-disable-next-line no-param-reassign\n el.style.opacity = val;\n requestAnimationFrame(fade);\n }\n })();\n }\n */\n}\n\nif (!customElements.get('fx-append')) {\n window.customElements.define('fx-append', FxAppend);\n}\n","import { AbstractAction } from './abstract-action.js';\nimport { Fore } from '../fore.js';\n\n/**\n * `fx-delete`\n * general class for bound elements\n *\n * @customElement\n * @demo demo/todo.html\n */\nclass FxDelete extends AbstractAction {\n constructor() {\n super();\n this.repeatId = '';\n }\n\n /**\n * deletes a\n */\n perform() {\n super.perform();\n console.log('##### fx-delete executing...');\n\n // this.ref = this.getAttribute('ref');\n // const inscope = this.getInScopeContext();\n // this.nodeset = fx.evaluateXPathToNodes(this.ref, inscope, null, {});\n\n console.log('delete nodeset ', this.nodeset);\n\n // ### if there's no repeat the delete action is inside of a repeat template\n if (this.repeatId === '') {\n // find the index to delete\n const rItem = Fore.getClosest('fx-repeatitem', this.parentNode);\n const idx = Array.from(rItem.parentNode.children).indexOf(rItem) + 1;\n // console.log('>>> idx to delete ', idx);\n\n // ### get the model now as it'll be hard once we've deleted ourselves ;)\n this.model = this.getModel();\n const repeat = Fore.getClosest('fx-repeat', this.parentNode);\n\n // ### update the nodeset\n let nodeToDelete;\n if (Array.isArray(this.nodeset)) {\n nodeToDelete = this.nodeset[idx - 1];\n } else {\n nodeToDelete = this.nodeset;\n }\n const p = nodeToDelete.parentNode;\n p.removeChild(nodeToDelete);\n\n // ### remove the repeatitem\n rItem.parentNode.removeChild(rItem);\n\n // ### update the index (set 'repeat-index' attribute on repeatitem\n const { repeatSize } = repeat;\n if (idx === 1 || repeatSize === 1) {\n repeat.setIndex(1);\n } else if (idx > repeatSize) {\n repeat.setIndex(repeatSize);\n } else {\n repeat.setIndex(idx);\n }\n }\n\n // this.needsRebuild = true;\n // this.needsRecalculate = true;\n // this.needsRevalidate = true;\n // this.needsRefresh = true;\n\n this.needsUpdate = true;\n\n // this.actionPerformed();\n }\n\n actionPerformed() {\n this.getModel().rebuild();\n super.actionPerformed();\n }\n}\n\nif (!customElements.get('fx-delete')) {\n window.customElements.define('fx-delete', FxDelete);\n}\n","import { AbstractAction } from './abstract-action.js';\nimport getInScopeContext from '../getInScopeContext.js';\nimport {\n evaluateXPathToNodes,\n evaluateXPathToFirstNode,\n evaluateXPathToNumber,\n} from '../xpath-evaluation.js';\n\n/**\n * `fx-insert`\n * inserts nodes into data instances\n *\n * @customElement\n */\nexport class FxInsert extends AbstractAction {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n if (super.connectedCallback) {\n super.connectedCallback();\n }\n const style = `\n :host{\n display:none;\n }\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n <slot></slot>\n `;\n\n this.at = Number(this.hasAttribute('at') ? this.getAttribute('at') : 0); // default: size of nodeset, determined later\n this.position = this.hasAttribute('position') ? this.getAttribute('position') : 'after';\n this.origin = this.hasAttribute('origin') ? this.getAttribute('origin') : null; // last item of context seq\n this.keepValues = !!this.hasAttribute('keep-values');\n }\n\n _cloneOriginSequence(inscope, targetSequence) {\n let originSequenceClone;\n if (this.origin) {\n // ### if there's an origin attribute use it\n let originTarget;\n try {\n /*\n todo: discuss where to pass vars from event.detail into function context\n */\n // this.setInScopeVariables(this.detail);\n\n // originTarget = evaluateXPathToFirstNode(this.origin, inscope, this);\n originTarget = evaluateXPathToFirstNode(this.origin, inscope, this.getOwnerForm());\n if (Array.isArray(originTarget) && originTarget.length === 0) {\n console.warn('invalid origin for this insert action - ignoring...', this);\n originSequenceClone = null;\n }\n originSequenceClone = originTarget.cloneNode(true);\n } catch (error) {\n console.warn('invalid origin for this insert action - ignoring...', this);\n }\n } else if (targetSequence) {\n // ### use last item of targetSequence\n originSequenceClone = this._cloneTargetSequence(targetSequence);\n if (originSequenceClone && !this.keepValues) {\n this._clear(originSequenceClone);\n }\n }\n return originSequenceClone;\n }\n\n _getInsertIndex(inscope, targetSequence) {\n if (targetSequence.length === 0) {\n return null;\n }\n if (this.hasAttribute('at')) {\n return evaluateXPathToNumber(this.getAttribute('at'), inscope, this.getOwnerForm());\n }\n return targetSequence.length;\n }\n\n perform() {\n // super.perform();\n\n /*\n todo: !!! calling super here does not correctly give the nodeset - it's likely still a bug in ForeElementMixin !!!\n // super.perform();\n console.log('this.nodeset', this.nodeset);\n */\n\n let inscope;\n // ### 'context' attribute takes precedence over 'ref'\n let targetSequence;\n if (this.hasAttribute('context')) {\n inscope = getInScopeContext(this.getAttributeNode('context'), this.getAttribute('context'));\n targetSequence = evaluateXPathToNodes(\n this.getAttribute('context'),\n inscope,\n this.getOwnerForm(),\n );\n }\n\n if (this.hasAttribute('ref')) {\n if (inscope) {\n targetSequence = evaluateXPathToNodes(this.ref, inscope, this.getOwnerForm());\n } else {\n inscope = getInScopeContext(this.getAttributeNode('ref'), this.ref);\n targetSequence = evaluateXPathToNodes(this.ref, inscope, this.getOwnerForm());\n }\n }\n const originSequenceClone = this._cloneOriginSequence(inscope, targetSequence);\n if (!originSequenceClone) return; // if no origin back out without effect\n\n let insertLocationNode;\n let index;\n\n // const idx = this._getInsertIndex(inscope, targetSequence);\n // console.log('insert index', idx);\n\n // if the targetSequence is empty but we got an originSequence use inscope as context and ignore 'at' and 'position'\n if (targetSequence.length === 0) {\n insertLocationNode = inscope;\n inscope.appendChild(originSequenceClone);\n index = 1;\n console.log('appended', inscope);\n } else {\n /* ### insert at position given by 'at' or use the last item in the targetSequence ### */\n if (this.hasAttribute('at')) {\n // todo: eval 'at'\n // index = this.at;\n // insertLocationNode = targetSequence[this.at - 1];\n\n index = evaluateXPathToNumber(this.getAttribute('at'), inscope, this.getOwnerForm());\n insertLocationNode = targetSequence[index - 1];\n } else {\n // this.at = targetSequence.length;\n index = targetSequence.length;\n insertLocationNode = targetSequence[targetSequence.length - 1];\n }\n\n // ### if the insertLocationNode is undefined use the targetSequence - usually the case when the targetSequence just contains a single node\n if (!insertLocationNode) {\n index = 1;\n\n insertLocationNode = targetSequence;\n const context = evaluateXPathToNumber(\n 'count(preceding::*)',\n targetSequence,\n this.getOwnerForm(),\n );\n // console.log('context', context);\n index = context + 1;\n // index = targetSequence.findIndex(insertLocationNode);\n }\n\n if (this.position && this.position === 'before') {\n // this.at -= 1;\n insertLocationNode.parentNode.insertBefore(originSequenceClone, insertLocationNode);\n }\n\n if (this.position && this.position === 'after') {\n // insertLocationNode.parentNode.append(originSequence);\n // const nextSibl = insertLocationNode.nextSibling;\n index += 1;\n if (this.hasAttribute('context') && this.hasAttribute('ref')) {\n // index=1;\n inscope.append(originSequenceClone);\n } else if (this.hasAttribute('context')) {\n index = 1;\n insertLocationNode.prepend(originSequenceClone);\n } else {\n insertLocationNode.insertAdjacentElement('afterend', originSequenceClone);\n }\n }\n }\n\n // console.log('insert context item ', insertLocationNode);\n // console.log('parent ', insertLocationNode.parentNode);\n // console.log('instance ', this.getModel().getDefaultContext());\n\n console.log('<<<<<<< at', this.at);\n console.log('<<<<<<< index', index);\n // todo: this actually should dispatch to respective instance\n document.dispatchEvent(\n // new CustomEvent('insert', {\n new CustomEvent('index-changed', {\n composed: true,\n bubbles: true,\n detail: {\n insertedNodes: originSequenceClone,\n index,\n },\n }),\n );\n\n this.needsUpdate = true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n _cloneTargetSequence(seq) {\n if (Array.isArray(seq) && seq.length !== 0) {\n return seq[seq.length - 1].cloneNode(true);\n }\n if (!Array.isArray(seq) && seq) {\n return seq.cloneNode(true);\n }\n return null;\n }\n\n actionPerformed() {\n this.getModel().rebuild();\n super.actionPerformed();\n }\n\n /**\n * clear all text nodes and attribute values to get a 'clean' template.\n * @param n\n * @private\n */\n _clear(n) {\n const attrs = n.attributes;\n\n // clear attrs\n for (let i = 0; i < attrs.length; i += 1) {\n // n.setAttribute(attrs[i].name,'');\n attrs[i].value = '';\n }\n // clear text content\n if (n.textContent) {\n n.textContent = '';\n }\n\n let node = n.firstChild;\n while (node) {\n if (node.nodeType === 1 && node.hasAttributes()) {\n node.textContent = '';\n }\n this._clear(node);\n node = node.nextSibling;\n }\n }\n}\n\nif (!customElements.get('fx-insert')) {\n window.customElements.define('fx-insert', FxInsert);\n}\n","import { AbstractAction } from './abstract-action.js';\n\n/**\n * `fx-message`\n *\n * Action to display messages to the user.\n *\n *\n */\nclass FxMessage extends AbstractAction {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.event = this.hasAttribute('event') ? this.getAttribute('event') : '';\n this.level = this.hasAttribute('level') ? this.getAttribute('level') : 'ephemeral';\n const style = `\n :host{\n display:none;\n }\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n ${this.renderHTML()}\n `;\n }\n\n disconnectedCallback() {\n // super.disconnectedCallback();\n this.targetElement.removeEventListener(this.event, e => this.execute(e));\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderHTML() {\n return `\n <slot></slot>\n `;\n }\n\n perform() {\n super.perform();\n let message;\n if (this.hasAttribute('value')) {\n message = this.getValue();\n } else {\n message = this.textContent;\n }\n\n this.dispatchEvent(\n new CustomEvent('message', {\n composed: true,\n bubbles: true,\n detail: { level: this.level, message },\n }),\n );\n }\n}\n\nif (!customElements.get('fx-message')) {\n window.customElements.define('fx-message', FxMessage);\n}\n","// import { FxAction } from './fx-action.js';\nimport '../fx-model.js';\nimport {AbstractAction} from './abstract-action.js';\nimport {evaluateXPath} from '../xpath-evaluation.js';\n\n/**\n * `fx-setvalue`\n *\n * @customElement\n */\nexport default class FxSetvalue extends AbstractAction {\n static get properties() {\n return {\n ...super.properties,\n ref: {\n type: String,\n },\n valueAttr: {\n type: String,\n },\n };\n }\n\n constructor() {\n super();\n this.ref = '';\n this.valueAttr = '';\n }\n\n connectedCallback() {\n if (super.connectedCallback) {\n super.connectedCallback();\n }\n\n if (this.hasAttribute('ref')) {\n this.ref = this.getAttribute('ref');\n } else {\n throw new Error('fx-setvalue must specify a \"ref\" attribute');\n }\n this.valueAttr = this.getAttribute('value');\n }\n\n perform() {\n super.perform();\n let {value} = this;\n if (this.valueAttr !== null) {\n [value] = evaluateXPath(this.valueAttr, this.nodeset, this, this.detail);\n } else if (this.textContent !== '') {\n value = this.textContent;\n } else {\n value = '';\n }\n console.log('value', value);\n if (value.nodeType === Node.ATTRIBUTE_NODE) {\n console.log('value', value.nodeValue);\n value = value.nodeValue;\n }\n const mi = this.getModelItem();\n this.setValue(mi, value);\n }\n\n setValue(modelItem, newVal) {\n console.log('setvalue[1] ', modelItem, newVal);\n\n const item = modelItem;\n if (!item) return;\n\n if (item.value !== newVal) {\n item.value = newVal;\n this.getModel().changed.push(modelItem);\n this.needsUpdate = true;\n console.log('setvalue[2] ', item, newVal);\n }\n }\n}\n\nif (!customElements.get('fx-setvalue')) {\n window.customElements.define('fx-setvalue', FxSetvalue);\n}\n","import '../fx-model.js';\nimport '../fx-submission.js';\nimport { AbstractAction } from './abstract-action.js';\n\n/**\n * `fx-send` - finds and activates a `fx-submission` element.\n *\n *\n * @customElement\n */\nclass FxSend extends AbstractAction {\n constructor() {\n super();\n this.value = '';\n }\n\n connectedCallback() {\n // eslint-disable-next-line wc/guard-super-call\n super.connectedCallback();\n // console.log('connectedCallback ', this);\n this.submission = this.getAttribute('submission');\n }\n\n perform() {\n super.perform();\n\n console.log('submitting ', this.submission);\n console.log('submitting model', this.getModel());\n\n // if not exists signal error\n const submission = this.getModel().querySelector(`#${this.submission}`);\n if (submission === null) {\n this.dispatchEvent(\n new CustomEvent('error', {\n composed: true,\n bubbles: true,\n detail: { message: `fx-submission element with id: '${this.submission}' not found` },\n }),\n );\n throw new Error(`submission with id: ${this.submission} not found`);\n }\n console.log('submission', submission);\n submission.submit();\n // if not of type fx-submission signal error\n }\n}\n\nif (!customElements.get('fx-send')) {\n window.customElements.define('fx-send', FxSend);\n}\n","import { AbstractAction } from './abstract-action.js';\n\n/**\n * `fx-toggle`\n *\n */\nclass FxToggle extends AbstractAction {\n /*\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n*/\n connectedCallback() {\n super.connectedCallback();\n if (this.hasAttribute('case')) {\n this.case = this.getAttribute('case');\n }\n }\n\n perform() {\n super.perform();\n console.log('### fx-toggle.execute ');\n if (this.case) {\n const ownerForm = this.getOwnerForm();\n const caseElement = ownerForm.querySelector(`#${this.case}`);\n const fxSwitch = caseElement.parentNode;\n fxSwitch.toggle(caseElement);\n }\n // this.needsUpdate = true;\n }\n}\n\nif (!customElements.get('fx-toggle')) {\n window.customElements.define('fx-toggle', FxToggle);\n}\n","import { AbstractAction } from './abstract-action.js';\nimport { evaluateXPath, resolveId } from '../xpath-evaluation.js';\n\n/**\n * `fx-dispatch`\n *\n * dispatches an event with optional details.\n *\n * Properties given by `fx-property` child elements are stored to the events' details object and\n * can be accessed in usual JavaScript way.\n */\nexport class FxDispatch extends AbstractAction {\n constructor() {\n super();\n this.name = null;\n this.targetid = null;\n this.details = null;\n this.attachShadow({ mode: 'open' });\n }\n\n /**\n * checks for `event` attribute. If not present will throw an Error\n *\n * @throws Error when no `event` attribute is given\n */\n connectedCallback() {\n super.connectedCallback();\n this.name = this.getAttribute('name');\n if (!this.name) {\n throw new Error('no event specified for dispatch', this);\n }\n\n this.targetid = this.hasAttribute('targetid') ? this.getAttribute('targetid') : null;\n\n // ### has a shadow just to hide\n /*\n this.shadowRoot.innerHTML = `\n <style>\n :host *{\n display: none;\n }\n </style>\n <slot></slot>\n `;\n*/\n }\n\n /*\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n\n*/\n\n perform() {\n console.log('### fx-dispatch.perform ', this);\n\n const properties = this.querySelectorAll('fx-property');\n const details = {};\n Array.from(properties).forEach(prop => {\n console.log('prop ', prop);\n const name = prop.getAttribute('name');\n const value = prop.getAttribute('value');\n const expr = prop.getAttribute('expr');\n\n if (expr) {\n if (value) {\n throw new Error('if \"expr\" is given there must not be a \"value\" attribute');\n }\n const [result] = evaluateXPath(expr, this.getInScopeContext(), this.getOwnerForm());\n\n let serialized = null;\n if (result.nodeName) {\n const serializer = new XMLSerializer();\n serialized = serializer.serializeToString(result);\n }\n if (serialized) {\n details[name] = serialized;\n } else {\n details[name] = result;\n }\n }\n\n if (value) {\n details[name] = value;\n }\n });\n\n console.log('details ', details);\n\n // ### when targetid is given dispatch to that if present (throw an error if not) - otherwise dispatch to document\n if (this.targetid) {\n let target = resolveId(this.targetid, this.parentNode, null);\n if (!target) {\n // TODO: essentially, we want to highly prefer the closest target. in the same subcontrol.\n // However, it may be that our target is elsewhere. Do a global search for that case\n target = document.getElementById(this.targetid);\n }\n console.log('target', target);\n if (!target) {\n throw new Error(`targetid ${this.targetid} does not exist in document`);\n }\n target.dispatchEvent(\n new CustomEvent(this.name, {\n composed: true,\n bubbles: true,\n detail: details,\n }),\n );\n } else {\n document.dispatchEvent(\n new CustomEvent(this.name, {\n composed: true,\n bubbles: true,\n detail: details,\n }),\n );\n }\n }\n}\n\nif (!customElements.get('fx-dispatch')) {\n window.customElements.define('fx-dispatch', FxDispatch);\n}\n","import { AbstractAction } from './abstract-action.js';\n\n/**\n * `fx-update`\n *\n * Calls updateModel() on fx-model which in turn will rebuild, recalculate and revalidate.\n *\n */\nclass FxUpdate extends AbstractAction {\n perform() {\n this.getModel().updateModel();\n }\n}\n\nif (!customElements.get('fx-update')) {\n window.customElements.define('fx-update', FxUpdate);\n}\n","import { AbstractAction } from './abstract-action.js';\nimport { Fore } from '../fore.js';\n\n/**\n * `fx-refresh`\n *\n * Calls refresh() on fx-form\n *\n */\nclass FxRefresh extends AbstractAction {\n perform() {\n if (this.hasAttribute('self')) {\n const control = Fore.getClosest('fx-control', this);\n if (control) {\n control.refresh();\n return;\n }\n }\n this.getOwnerForm().refresh();\n }\n}\n\nif (!customElements.get('fx-refresh')) {\n window.customElements.define('fx-refresh', FxRefresh);\n}\n","// import { FxAction } from './fx-action.js';\nimport '../fx-model.js';\nimport { AbstractAction } from './abstract-action.js';\nimport { evaluateXPathToFirstNode } from '../xpath-evaluation.js';\n\n/**\n * `fx-replace` - replaces the node referred to with 'ref' with node referred to with 'with' attribute.\n *\n * @customElement\n */\nexport default class FxReplace extends AbstractAction {\n static get properties() {\n return {\n ...super.properties,\n with: {\n type: String,\n },\n replaceNode: Object,\n };\n }\n\n constructor() {\n super();\n this.with = '';\n }\n\n connectedCallback() {\n if (super.connectedCallback) {\n super.connectedCallback();\n }\n this.with = this.getAttribute('with');\n }\n\n perform() {\n super.perform();\n console.log('replace action');\n if (!this.nodeset) {\n return;\n }\n const target = evaluateXPathToFirstNode(this.with, this.nodeset, this);\n if (!target) return;\n\n this.replace(this.nodeset, target);\n }\n\n replace(toReplace, replaceWith) {\n if (!toReplace || !replaceWith) return; // bail out silently\n if (!toReplace.nodeName || !replaceWith.nodeName) {\n console.warn('fx-replace: one argument is not a node');\n return;\n }\n\n if (toReplace.nodeType === Node.ATTRIBUTE_NODE) {\n const { ownerElement } = toReplace;\n ownerElement.setAttribute(replaceWith.nodeName, replaceWith.textContent);\n ownerElement.removeAttribute(toReplace.nodeName);\n console.log('owner', ownerElement);\n } else if (toReplace.nodeType === Node.ELEMENT_NODE) {\n const cloned = replaceWith.cloneNode(true);\n toReplace.replaceWith(cloned);\n }\n this.needsUpdate = true;\n }\n}\n\nif (!customElements.get('fx-replace')) {\n window.customElements.define('fx-replace', FxReplace);\n}\n","import { AbstractAction } from './abstract-action.js';\n\n/**\n * `fx-return`\n * returns data from a nested Fore to it's host Fore.\n *\n * behaves like a `<fx-submission @replace='instance' with `targetref` and respects relevance processing.\n *\n * `targetref` will be the `ref` of the host control.\n *\n * todo: deos not relevant selection yet\n *\n * @customElement\n */\nexport class FxReturn extends AbstractAction {\n connectedCallback() {\n if (super.connectedCallback) {\n super.connectedCallback();\n }\n // const nonrelevant = this.hasAttribute('nonrelevant') ? this.getAttribute('nonrelevant') : null;\n }\n\n perform() {\n super.perform();\n console.log('performing return with nodes', this.nodeset);\n\n /*\n ### note that this event does not use Fore.dispatch as the event uses 'composed:true' to let the event travel\n up through the shadowRoot and being catched in outer form.\n */\n const event = new CustomEvent('return', {\n composed: true,\n bubbles: true,\n detail: { nodeset: this.nodeset },\n });\n this.getOwnerForm().dispatchEvent(event);\n }\n}\n\nif (!customElements.get('fx-return')) {\n window.customElements.define('fx-return', FxReturn);\n}\n","import { AbstractAction } from './abstract-action.js';\n\n/**\n * `fx-action`\n * an action to wrap other actions and defers the update cycle until the end of the block.\n *\n * @customElement\n * @demo demo/index.html\n */\nexport class FxAction extends AbstractAction {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n if (super.connectedCallback) {\n super.connectedCallback();\n }\n this.src = this.hasAttribute('src') ? this.getAttribute('src') : null;\n const style = `\n :host{\n display:none;\n }\n `;\n this.shadowRoot.innerHTML = `\n <style>\n ${style}\n </style>\n <slot></slot>\n `;\n }\n\n perform() {\n const { children } = this;\n\n if (this.src) {\n this.innerHTML = ''; // reset\n console.log('### fx-script.perform ');\n const script = document.createElement('script');\n script.src = this.src;\n this.appendChild(script);\n } else {\n Array.from(children).forEach(actionOrVar => {\n if (actionOrVar.localName === 'fx-var') {\n return;\n }\n const action = actionOrVar;\n action.detail = this.detail;\n action.perform();\n // action.execute();\n });\n this.dispatchActionPerformed();\n this.needsUpdate = true;\n }\n }\n}\n\nif (!customElements.get('fx-action')) {\n window.customElements.define('fx-action', FxAction);\n}\n","import { FxAction } from './fx-action.js';\n\n/**\n * `fx-confirm`\n * Displays a simple confirmation before actually executing the nested actions.\n *\n * @customElement\n * @demo demo/project.html\n */\nexport class FxConfirm extends FxAction {\n connectedCallback() {\n this.message = this.hasAttribute('message') ? this.getAttribute('message') : null;\n }\n\n perform() {\n if (window.confirm(this.message)) {\n super.perform();\n }\n }\n}\n\nif (!customElements.get('fx-confirm')) {\n window.customElements.define('fx-confirm', FxConfirm);\n}\n","import { Fore } from '../fore.js';\nimport { FxAction } from './fx-action.js';\nimport { resolveId } from '../xpath-evaluation.js';\n\n/**\n * `fx-confirm`\n * Displays a simple confirmation before actually executing the nested actions.\n *\n * @customElement\n * @demo demo/project.html\n */\nexport class FxShow extends FxAction {\n connectedCallback() {\n this.dialog = this.getAttribute('dialog');\n if (!this.dialog) {\n Fore.dispatch(this, 'error', { message: 'dialog does not exist' });\n }\n }\n\n perform() {\n resolveId(this.dialog, this).open();\n }\n}\n\nif (!customElements.get('fx-show')) {\n window.customElements.define('fx-show', FxShow);\n}\n","import { Fore } from '../fore.js';\nimport { AbstractAction } from './abstract-action.js';\nimport { resolveId } from '../xpath-evaluation.js';\n\n/**\n * `fx-hide`\n * hides a dialog\n *\n * @customElement\n * @demo demo/project.html\n */\nexport class FxHide extends AbstractAction {\n connectedCallback() {\n this.dialog = this.getAttribute('dialog');\n if (!this.dialog) {\n Fore.dispatch(this, 'error', { message: 'dialog does not exist' });\n }\n }\n\n perform() {\n resolveId(this.dialog, this).hide();\n }\n}\n\nif (!customElements.get('fx-hide')) {\n window.customElements.define('fx-hide', FxHide);\n}\n","import { registerCustomXPathFunction } from 'fontoxpath';\nimport { foreElementMixin } from '../ForeElementMixin.js';\nimport { evaluateXPath, globallyDeclaredFunctionLocalNames } from '../xpath-evaluation.js';\n\n/**\n * Allows to extend a form with local custom functions.\n *\n * ` */\nexport class FxFunction extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n this.style.display = 'none';\n\n this.signature = this.hasAttribute('signature') ? this.getAttribute('signature') : null;\n if (this.signature === null) {\n console.error('signature is a required attribute');\n }\n this.type = this.hasAttribute('type') ? this.getAttribute('type') : null;\n this.shadowRoot.innerHTML = `<slot></slot>`;\n\n this.override = this.hasAttribute('override') ? this.getAttribute('override') : 'true';\n this.functionBody = this.innerText;\n\n const type = this.getAttribute('type') || 'text/xpath';\n\n // Parse the signature to something useful\n // Signature is of the form `my:sumproduct($p as xs:decimal*, $q as xs:decimal*) as xs:decimal` or local:something($a as item()*) as item()*\n const signatureParseResult = this.signature.match(\n /(?:(?<prefix>[^:]*):)?(?<localName>[^(]+)\\((?<params>(?:\\(\\)|[^)])*)\\)(?: as (?<returnType>.*))?/,\n );\n\n if (!signatureParseResult) {\n throw new Error(`Function signature ${this.signature} could not be parsed`);\n }\n\n const { prefix, localName, params, returnType } = signatureParseResult.groups;\n\n // TODO: lookup prefix\n const functionIdentifier =\n prefix === 'local' || !prefix\n ? { namespaceURI: 'http://www.w3.org/2005/xquery-local-functions', localName }\n : `${prefix}:${localName}`;\n\n // Make the function available globally w/o a prefix. See the functionNameResolver for for how\n // this is picked up\n if (!prefix) {\n globallyDeclaredFunctionLocalNames.push(localName);\n }\n\n const paramParts = params\n ? params.split(',').map(param => {\n const match = param.match(/(?<variableName>\\$[^\\s]+)(?:\\sas\\s(?<varType>.+))/);\n if (!match) {\n throw new Error(`Param ${param} could not be parsed`);\n }\n const { variableName, varType } = match.groups;\n return {\n variableName,\n variableType: varType || 'item()*',\n };\n })\n : [];\n\n switch (type) {\n case 'text/javascript': {\n // eslint-disable-next-line no-new-func\n const fun = new Function(\n '_domFacade',\n ...paramParts.map(paramPart => paramPart.variableName),\n 'form',\n this.functionBody,\n );\n registerCustomXPathFunction(\n functionIdentifier,\n paramParts.map(paramPart => paramPart.variableType),\n returnType || 'item()*',\n (...args) => fun.apply(this.getInScopeContext(), [...args, this.getOwnerForm()]),\n );\n break;\n }\n\n case 'text/xpath': {\n const fun = (domFacade, ...args) =>\n evaluateXPath(\n this.functionBody,\n this.getInScopeContext(),\n this.getOwnerForm(),\n paramParts.reduce((variablesByName, paramPart, i) => {\n variablesByName[paramPart.variableName.replace('$', '')] = args[i];\n return variablesByName;\n }, {}),\n );\n registerCustomXPathFunction(\n functionIdentifier,\n paramParts.map(paramPart => paramPart.variableType),\n returnType || 'item()*',\n fun,\n );\n break;\n }\n\n default:\n throw new Error(`Unexpected mimetype ${type} for function`);\n }\n }\n}\nif (!customElements.get('fx-function')) {\n customElements.define('fx-function', FxFunction);\n}\n"],"names":["addInstruction","program","op","func","data","instruction","s","r","push","defaultRecorder","_inputIndex","Assembler","[object Object]","this","matcher","targets","recorder","cost","predicate","singleChar","expected","codepoint","charRange","first","last","Error","everything","_codepoint","nothing","union","next","offset","value","success","n","ok","okWithValue","error","fatal","t","lengthFromCodePoint","cp","isMatch","input","codePointAt","parser","map","res","star","ts","nextOffset","starConsumed","v","then","parser1","parser2","join","r1","r2","x","y","before","second","after","cut","end","length","startOffset","undefined","open","inner","close","cutAfterOpen","preceded","followed","match","except","not","filter","vs","parsers","lastError","concat","firstCodePoint","lastCodePoint","String","fromCodePoint","slice","nCodepoints","i","_input","token","offsetAfter","fontoxpath","xspattern","prsc","fontoxpathGlobal","h","aa","a","b","done","ca","Object","defineProperties","defineProperty","c","Array","prototype","ha","globalThis","window","self","global","Math","da","p","split","d","e","configurable","writable","ja","Symbol","iterator","call","ka","w","f","g","toString","random","TypeError","ma","la","create","setPrototypeOf","na","pa","__proto__","qa","constructor","getOwnPropertyDescriptor","Nc","ra","j","u","A","ta","ua","yc","Ac","va","xa","ya","return","za","O","throw","wa","Ba","hasOwnProperty","k","resolve","reject","l","setTimeout","q","mb","B","Ya","J","T","console","CustomEvent","Event","dispatchEvent","cancelable","document","createEvent","initCustomEvent","promise","reason","nb","G","H","catch","race","all","Ca","assign","arguments","Da","RegExp","Fa","repeat","ceil","substring","Ga","Fb","Mb","Ha","fill","Ia","Ja","exec","replace","max","padEnd","La","indexOf","Qa","test","Ra","Lc","sa","Mc","RangeError","set","isExtensible","seal","get","delete","has","head","key","id","list","index","size","entries","WeakMap","splice","clear","keys","values","forEach","min","Number","is","isNaN","Infinity","floor","abs","isFinite","isInteger","MAX_SAFE_INTEGER","fromCharCode","charCodeAt","Map","add","log","LN10","Sa","Ta","Ua","Va","Wa","Xa","Za","$a","ab","type","D","name","parent","K","whiteSpace","U","minLength","Aa","fb","cb","db","eb","z","gb","find","C","hb","E","kb","lb","ob","M","getEffectiveBooleanValue","Na","L","$","multiple","default","empty","o","pb","qb","isArray","X","rb","sb","F","tb","ub","vb","wb","startsWith","xb","substr","Ab","namespaceURI","prefix","localName","Bb","arity","Pa","I","Db","Eb","node","nodeType","Gb","Hb","getAllAttributes","from","attributes","includes","getAttribute","getChildNodes","childNodes","getData","getFirstChild","firstChild","nextSibling","getLastChild","lastChild","previousSibling","getNextSibling","getParentNode","ownerElement","parentNode","getPreviousSibling","insertBefore","removeAttributeNS","removeChild","setAttributeNS","setData","Ib","Jb","Kb","Lb","Nb","nodeName","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","R","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","bb","fc","MIN_SAFE_INTEGER","ea","gc","getHours","getMinutes","getSeconds","hc","ic","parseInt","parseFloat","jc","kc","lc","mc","padStart","nc","oc","pc","oa","qc","Z","rc","sc","tc","Date","UTC","uc","getTime","vc","xc","zc","toISOString","Bc","Cc","Dc","Ec","Fc","N","Ea","Gc","Hc","Ic","Jc","Kc","debug","Oc","Pc","Qc","Uc","Vc","Wc","Xc","Yc","Zc","hd","NaN","jd","ga","kd","ld","md","round","nd","trunc","getDay","getMonth","getYear","yd","Bd","toUpperCase","Gd","Ad","Ed","Cd","pd","MAX_VALUE","gd","isSafeInteger","xd","zd","od","Fd","fd","ed","Dd","dd","vd","ud","td","qd","rd","cd","btoa","bd","atob","wd","ad","Hd","Id","every","$c","Jd","Kd","Ld","Md","Nd","Pd","unshift","Qd","Rd","findIndex","Od","Sd","Td","Ud","Vd","Wd","shift","Xd","Zd","Yd","$d","ae","be","ee","ce","de","pow","fe","ge","ie","m","bind","he","je","ke","le","me","ne","oe","pe","qe","re","trim","se","te","ue","endsWith","toLowerCase","encodeURIComponent","encodeURI","compile","language","ve","we","target","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","reduceRight","reduce","Ge","He","Ie","Je","Ke","Le","Me","Pe","Ne","Oe","sort","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","outerHTML","$e","af","bf","cf","Y","S","subtree","df","fa","ef","ownerDocument","createElementNS","createProcessingInstruction","createTextNode","createComment","jf","mf","some","of","Set","apply","pf","content","kf","createAttributeNS","lf","ff","gf","hf","nf","text","qf","Boolean","rf","sf","tf","uf","P","createCDATASection","createDocument","implementation","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Cb","Ef","external","Gf","Hf","If","Jf","Kf","Lf","Ff","Mf","reverse","Nf","ba","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","trace","Xf","Yf","Zf","$f","ag","message","stack","position","line","start","bg","cg","log10","dg","eg","fg","gg","lastIndexOf","ig","jg","kg","xml","xs","fn","array","math","local","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","Ag","Bg","Cg","Dg","Eg","Q","Fg","Gg","hg","Jg","Kg","Lg","Mg","Ng","Og","Pg","V","W","Qg","ib","Sg","Yg","bh","ch","ah","kh","yb","lh","mh","nh","Rg","oh","ph","qh","rh","sh","ih","gh","ia","dh","Ig","fh","eh","Hg","jh","hh","$g","pop","Zg","th","uh","vh","wh","yh","Oa","xh","zh","Ah","Bh","attribute","Ch","Dh","Fh","Gh","Hh","Jh","Lh","Mh","Oh","Qh","Rh","Sh","Th","location","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","Eh","Ih","Kh","Nh","Ph","di","ei","fi","gi","hi","ii","qi","ji","ki","li","mi","ni","oi","pi","ri","si","ti","ui","vi","equalOp","notEqualOp","lessThanOrEqualOp","lessThanOp","greaterThanOrEqualOp","greaterThanOp","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","jb","current","Mi","Ni","Pi","Qi","Ri","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","kind","cj","dj","ej","fj","gj","hj","normalize","kj","ij","jj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","wi","Oi","Si","newName","replacement","lookupNamespaceURI","Fj","Gj","source","Hj","Ij","Jj","Kj","Nj","Oj","Pj","Qj","Rj","Sj","Ka","Tj","Uj","uri","Vj","Wj","Xj","Yj","Zj","Mj","Lj","ak","bk","ck","dk","ek","fk","gk","hk","ik","tk","zk","jk","kk","lk","mk","nk","Ak","pk","qk","rk","sk","uk","vk","wk","xk","yk","Bk","Ck","Pk","Rk","Sk","Tk","Uk","Ma","Vk","Wk","Xk","delimited","Yk","Zk","al","bl","or","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","wl","xl","yl","zl","Al","Bl","Cl","Dl","El","Fl","Gl","Hl","Il","Jl","Kl","Ll","Ml","Nl","Ol","Pl","Ql","Rl","Sl","Tl","Ul","Vl","Wl","Xl","Yl","Zl","$l","am","bm","cm","dm","em","fm","gm","hm","im","jm","km","lm","mm","nm","om","pm","qm","rm","sm","tm","um","vm","wm","xm","ym","zm","Am","Bm","Cm","Dm","Em","Fm","Gm","Hm","Im","Jm","Km","Lm","Mm","Nm","Om","Pm","Qm","Rm","Sm","Tm","Um","Vm","Wm","Xm","Ym","Zm","$m","an","bn","cn","dn","en","gn","hn","jn","kn","ln","mn","nn","on","pn","qn","rn","sn","tn","un","vn","wn","xn","yn","zn","An","Bn","Cn","Dn","En","Fn","Gn","Hn","In","Jn","Kn","Ln","Mn","Nn","On","Pn","Qn","Rn","Sn","Tn","Un","Vn","Wn","Xn","Yn","Zn","$n","ao","bo","co","eo","fo","go","ho","io","jo","ko","lo","mo","no","oo","po","qo","ro","so","to","uo","vo","wo","xo","yo","zo","Ao","Bo","Co","Do","Eo","Fo","Go","Ho","Io","Jo","Ko","Lo","Mo","No","Oo","Po","Qo","Ro","So","To","Uo","Vo","Wo","Xo","Yo","Zo","$o","ap","bp","dp","ep","fp","gp","hp","peek","ip","jp","kp","plus","lp","mp","np","pp","qp","rp","sp","URI","tp","up","vp","wp","xp","yp","zp","Ap","Bp","Cp","Dp","Ep","Fp","Gp","Hp","Ip","Jp","Kp","Lp","Mp","optional","Np","Op","Pp","Qp","Rp","Sp","Tp","Up","Vp","Wp","Xp","Yp","Zp","$p","aq","bq","cq","dq","eq","fq","gq","hq","iq","jq","kq","lq","mq","nq","oq","pq","qq","rq","sq","tq","uq","vq","wq","xq","yq","zq","Dk","Tg","Er","Fr","Gr","Hr","Ir","Jr","Kr","Lr","Mr","Nr","Or","wc","sd","Pr","Qr","Rr","Sr","Ug","Vg","Ek","Qe","Tr","Ur","Fk","zb","Wg","Vr","Wr","Xr","Yr","Zr","$r","as","bs","cs","ds","Rc","es","Gk","fs","gs","hs","js","ks","ls","ms","ns","Hk","os","Xg","ps","Ik","qs","rs","ss","us","ws","ys","zs","As","Bs","Cs","Ds","Es","Fs","Gs","Hs","Jk","Kk","Js","Lk","Sc","Is","Tc","Ks","Ls","Ms","Ns","Os","Ps","Qs","Rs","Ss","Mk","Ts","Us","Vs","Ws","Xs","Ys","Zs","$s","at","bt","dt","ft","gt","ht","it","$k","jt","kt","lt","Nk","mt","nt","ot","pt","qt","rt","st","tt","ut","vt","wt","xt","yt","zt","At","Bt","Ct","Dt","Et","Ft","Gt","Ht","It","Jt","Kt","Lt","Mt","Nt","Ot","Pt","Qt","Rt","St","Tt","Ut","Ok","Vt","Wt","Xt","Yt","Zt","$t","complete","Aq","Bq","Cq","Dq","Eq","Fq","Hq","Gq","zg","Iq","Qk","state","Kq","Jq","Mq","Nq","Oq","Pq","Qq","Rq","Sq","Tq","Uq","Vq","Wq","JSON","parse","PI","sqrt","sin","cos","tan","asin","acos","atan","atan2","serializeToString","Lq","Xq","Yq","$q","ar","br","logger","documentWriter","moduleImports","namespaceResolver","functionNameResolver","nodesFactory","xmlSerializer","defaultFunctionNamespaceURI","currentContext","cr","dr","er","fr","ANY","NUMBER","STRING","BOOLEAN","NODES","FIRST_NODE","STRINGS","MAP","ARRAY","NUMBERS","ALL_RESULTS","ASYNC_ITERATOR","gr","Promise","asyncIterator","hr","ir","jr","getPerformanceSummary","getEntriesByType","times","totalDuration","duration","xpath","average","setPerformanceImplementation","startProfiling","clearMarks","clearMeasures","stopProfiling","kr","mr","disableCache","mark","measure","ANY_TYPE","BOOLEAN_TYPE","NUMBER_TYPE","STRING_TYPE","nr","pr","pendingUpdateList","xdmValue","Cr","Dr","code","isAstAccepted","au","bu","ALL_RESULTS_TYPE","ARRAY_TYPE","ASYNC_ITERATOR_TYPE","FIRST_NODE_TYPE","MAP_TYPE","NODES_TYPE","NUMBERS_TYPE","STRINGS_TYPE","XPATH_3_1_LANGUAGE","XQUERY_3_1_LANGUAGE","XQUERY_UPDATE_3_1_LANGUAGE","cu","DONE_TOKEN","isSubtypeOf","ready","du","eu","fu","gu","hu","iu","ju","mu","pu","nu","ou","qu","stringify","ru","su","tu","uu","vu","wu","xu","yu","Au","zu","Cu","Bu","Du","Gu","Hu","Ju","Iu","Mu","Nu","Ru","Su","Vu","compareSpecificity","compileXPathToJavaScript","domFacade","evaluateXPath","evaluateXPathToArray","evaluateXPathToAsyncIterator","evaluateXPathToBoolean","evaluateXPathToFirstNode","evaluateXPathToMap","evaluateXPathToNodes","evaluateXPathToNumber","evaluateXPathToNumbers","evaluateXPathToString","evaluateXPathToStrings","evaluateUpdatingExpression","returnType","evaluateUpdatingExpressionSync","executeJavaScriptCompiledXPath","executePendingUpdateList","getBucketForSelector","getBucketsForNode","precompileXPath","registerXQueryModule","registerCustomXPathFunction","Ou","getOwnPropertySymbols","parseScript","annotateAst","profiler","createTypedValueFactory","Language","ReturnType","DependencyNotifyingDomFacade","onNodeTouched","_onNodeTouched","attributeName","bucket","matchingNodes","childNode","matchingNode","Node","ATTRIBUTE_NODE","child","matchNode","sibling","XPathUtil","static","DOCUMENT_NODE","hasAttribute","getParentBindingElement","path","ref","boundElement","defaultInstance","getForeElement","querySelector","result","fx","shortenPath","tmp","replaceAll","tmp1","dep","createDFS","edges","leavesOnly","circular","visited","inCurrentPath","currentPath","todo","processed","composed","bubbles","detail","nodeEdges","DepGraph","opts","nodes","outgoingEdges","incomingEdges","addNode","hasNode","removeNode","edgeList","idx","getNodeData","setNodeData","addDependency","removeDependency","clone","directDependenciesOf","directDependantsOf","dependenciesOf","DFS","dependantsOf","entryNodes","overallOrder","CycleDFS","directDependentsOf","dependentsOf","Fore","ACTION_ELEMENTS","hexDigits","XFORMS_NAMESPACE_URI","elementName","UI_ELEMENTS","startElement","force","children","element","isUiElement","refresh","refreshChildren","matches","instance","method","fadeIn","getAnimations","anim","finish","animate","opacity","finished","fadeOut","eventName","event","xmlDoc","DOMParser","parseFromString","xsltDoc","xsltProcessor","XSLTProcessor","importStylesheet","resultDoc","transformToDocument","XMLSerializer","lines","hostElement","url","fetch","mode","credentials","headers","response","theFore","appendChild","classList","READONLY_DEFAULT","REQUIRED_DEFAULT","RELEVANT_DEFAULT","CONSTRAINT_DEFAULT","TYPE_DEFAULT","createdNamespaceResolversByXPathQueryAndNode","setCachedNamespaceResolver","resolver","xhtmlNamespaceResolver","resolveId","sourceObject","allMatchingTargetObjects","fxEvaluateXPathToNodes","fxEvaluateXPathToBoolean","targetObject","ancestorRepeatItem","foundTargetObjects","contains","createNamespaceResolver","xpathQuery","formElement","cachedResolver","xmlDocument","xpathAST","instanceReferences","fxEvaluateXPathToStrings","ancestorComponent","fxEvaluateXPathToFirstNode","actualForeElement","xpathDefaultNamespace","resolveNamespacePrefix","fxEvaluateXPathToString","createNamespaceResolverForNode","query","contextNode","globallyDeclaredFunctionLocalNames","_arity","getVariablesInScope","closestActualFormElement","variables","inScopeVariables","varElement","variablesInScope","fxEvaluateXPath","namespaceReferenceNode","fxEvaluateXPathToNumber","contextFunction","dynamicContext","string","caller","nodeset","getInScopeContext","buildTree","tree","ELEMENT_NODE","details","createElement","setAttribute","summary","contents","display","attr","nodeValue","TEXT_NODE","textContent","childElementCount","def","getDefaultContext","prettifyXml","treeDiv","form","logtree","inst","arg","FxInstance","HTMLElement","super","model","attachShadow","connectedCallback","src","shadowRoot","innerHTML","async","_initInstance","evalXPath","parentElement","getInstanceData","instanceData","_createInstanceData","setInstanceData","firstElementChild","URLSearchParams","search","doc","root","newNode","_loadData","_useInlineData","contentType","getContentType","status","alert","responseContentType","json","_getContentType","_handleResponse","ajax","getElementById","lastResponse","_handleError","customElements","define","ModelItem","readonly","relevant","required","constraint","changed","alerts","boundControls","newVal","replaceWith","addAlert","cleanAlerts","FxModel","instances","modelItems","defaultContext","inited","modelConstructed","computes","addEventListener","once","skipUpdate","targetNode","getPath","registerModelItem","modelConstruct","querySelectorAll","promises","init","updateModel","modelItem","rebuild","recalculate","revalidate","mainGraph","binds","maingraph","subgraph","dependents","val","compute","toRefresh","getModelItem","property","expr","valid","addToRefresh","getAlert","getDefaultInstance","getDefaultInstanceData","getInstance","evalBinding","bindingExpr","_getForeContext","closest","_getInitialContext","parentBind","getClosest","localFore","getModel","_getModelInContext","isAbsolutePath","instanceId","getInstanceId","_getElement","repeatItem","initialContext","foreElementMixin","superclass","properties","context","getOwnerForm","currentElement","DocumentFragment","host","evalInContext","inscopeContext","getAttributeNode","isNotBound","isBound","getBindingExpr","instId","_getParentBindingElement","repeated","existed","lazyCreateModelItem","getValue","valAttr","dispatch","setInScopeVariables","FxBind","calculate","_getInstanceId","bindType","_evalInContext","_buildBindGraph","_createModelItems","_processChildren","calculateRefs","_getReferencesForProperty","_addDependencies","readonlyRefs","requiredRefs","relevantRefs","constraintRefs","refs","nodeHash","otherPath","childbinds","alertChild","isSelfReference","item","_createModelItem","parentBoundElement","newItem","propertyExpr","getReferences","touchedNodes","otherNode","_initBooleanModelItemProperty","steps","step","bindExpr","Toastify","options","defaults","oldestFirst","selector","callback","destination","newWindow","gravity","positionLeft","backgroundColor","avatar","className","stopOnFocus","onClick","escapeMarkup","style","background","version","toastElement","_rootElement","body","_init","showToast","_buildToast","ShadowRoot","_reposition","timeOutValue","_removeElement","hideToast","clearTimeout","divElement","innerText","avatarElement","insertAdjacentElement","closeElement","stopPropagation","width","innerWidth","screen","_getAxisOffsetAValue","xOffset","yOffset","transform","classUsed","topLeftOffsetSize","top","bottom","topRightOffsetSize","offsetSize","allToasts","height","offsetHeight","axis","StartToastifyInstance","JinnToast","classProp","_initVar","defaultVal","offSet","renderHTML","ev","disconnectedCallback","removeEventListener","FxFore","lazyRefresh","_handleModelConstructDone","_displayMessage","_displayError","storedTemplateExpressionByNode","initialRun","someInstanceDataStructureChanged","rootMargin","threshold","intersectionObserver","IntersectionObserver","handleIntersect","_loadFromSrc","modelElement","assignedElements","modelElem","generatedModel","observer","entry","isIntersecting","evaluateToNodes","controlsToRefresh","ctrl","deps","basePath","getBasePath","mip","control","_updateTemplateExpressions","_processTemplateExpressions","tmplExpressions","storedTemplateExpressions","_getTemplateExpression","_processTemplateExpression","exprObj","evaluateTemplateExpression","naked","inscope","replaced","_initUI","generatedInstance","generated","_generateInstance","isActionElement","_generateNode","hasChildNodes","_lazyCreateInstance","registerVariables","registerLazyElement","observe","unRegisterLazyElement","unobserve","level","msg","_showMessage","Relevance","_relevantXmlNodes","_isRelevant","_filterRelevant","cloneNode","nonrelevant","removeAttribute","FxSubmission","methods","into","serialization","targetref","mediatype","validate","submission","_submit","_serializeAndSend","_evaluateAttributeTemplateExpression","resolvedUrl","serialized","selectRelevant","_serialize","_getHeaders","blob","instanceType","relevantNodes","params","append","Headers","headerElems","header","_getUrlExpr","stored","_getTargetInstance","targetInstance","theTarget","replaceChild","getElementsByTagName","href","FxHeader","FxVariable","valueQuery","precedingVariables","AbstractControl","widget","getWidget","currentVal","oldVal","updateWidgetValue","handleModelItemProperties","handleRequired","handleReadonly","handleValid","handleRelevant","_getForm","_dispatchEvent","isRequired","isReadonly","isValid","modelAlert","newAlert","isEnabled","_fadeOut","fade","requestAnimationFrame","_fadeIn","FxAlert","FxControl","XfAbstractControl","initial","loaded","initialNode","debounceDelay","updateEvent","valueProp","label","keyCode","preventDefault","setValue","timeout","timer","args","debounce","newNodes","_replaceNode","template","_debounce","modelitem","widgetValue","actionPerformed","setval","serializer","pretty","_loadForeFromUrl","checked","dummy","defaultInst","fore","getTemplate","_handleBoundWidget","newEntry","createEntry","updateEntry","valueAttribute","_getValueAttribute","valueExpr","evaluated","optionLabel","importNode","FxContainer","enabled","ShadyCSS","nativeShadow","Document","CSSStyleSheet","constructionToken","styleSheetCache","CSSResult","cssText","safeToken","_$cssResult$","styleSheet","supportsAdoptingStyleSheets","replaceSync","css","strings","acc","getCompatibleStyle","sheet","rule","cssRules","unsafeCSS","trustedTypes","emptyStringForBooleanAttribute","emptyScript","polyfillSupport","reactiveElementPolyfillSupport","defaultConverter","toAttribute","fromAttribute","fromValue","notEqual","old","defaultPropertyDeclaration","converter","reflect","hasChanged","ReactiveElement","isUpdatePending","hasUpdated","__reflectingProperty","_initialize","initializer","_a","_initializers","observedAttributes","finalize","elementProperties","__attributeNameForProperty","__attributeToPropertyMap","noAccessor","descriptor","getPropertyDescriptor","oldValue","requestUpdate","enumerable","finalized","superCtor","getPrototypeOf","props","propKeys","getOwnPropertyNames","createProperty","elementStyles","finalizeStyles","styles","flat","__updatePromise","enableUpdating","_$changedProperties","__saveInstanceProperties","addController","controller","__controllers","renderRoot","isConnected","hostConnected","_b","removeController","_v","__instanceProperties","createRenderRoot","shadowRootOptions","adoptedStyleSheets","nonce","litNonce","adoptStyles","_requestedUpdate","hostDisconnected","attributeChangedCallback","_old","_$attributeToProperty","__propertyToAttribute","attrValue","ctor","propName","getPropertyOptions","_c","shouldRequestUpdate","__reflectingProperties","__enqueueUpdate","scheduleUpdate","performUpdate","shouldUpdate","changedProperties","willUpdate","hostUpdate","update","__markUpdated","_$didUpdate","_changedProperties","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","reactiveElementVersions","policy","createPolicy","createHTML","marker","markerMatch","nodeMarker","createMarker","isPrimitive","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","html","_$litType$","tag","noChange","for","templateCache","walker","createTreeWalker","getTemplateHtml","attrNames","rawTextEndRegex","regex","attrName","attrNameEndIndex","lastIndex","htmlResult","Template","parts","nodeIndex","attrNameIndex","partCount","currentNode","svgElement","remove","nextNode","hasAttributes","attrsToRemove","getAttributeNames","realName","statics","PropertyPart","BooleanAttributePart","EventPart","AttributePart","tagName","_options","resolveDirective","part","attributeIndex","currentDirective","__directives","__directive","nextDirectiveConstructor","_$litDirective$","_$AO","_$initialize","_$resolve","TemplateInstance","_parts","_$disconnectableChildren","_$template","_$parent","_$isConnected","_clone","fragment","creationScope","partIndex","templatePart","ChildPart","ElementPart","_update","_$setValue","startNode","endNode","_$committedValue","_$startNode","_$endNode","__isConnected","directiveParent","_$clear","_commitText","_commitTemplateResult","_commitNode","isIterable","_commitIterable","_insert","_$getTemplate","_$AD","itemParts","itemPart","_$notifyConnectionChanged","setConnected","valueIndex","noCommit","change","_commitValue","newListener","oldListener","shouldRemoveListener","capture","passive","shouldAddListener","handleEvent","litHtmlPolyfillSupport","_d","litHtmlVersions","LitElement","renderOptions","renderBefore","render","__childPart","container","partOwnerNode","_$litPart$","_$litElement$","litElementHydrateSupport","litElementPolyfillSupport","litElementVersions","HTMLSlotElement","FxGroup","collapse","initializeChildren","grantChild","FxHint","FxOutput","valueAttr","valueWrapper","markdown","innerHtml","obj","FxRepeatitem","_dispatchIndexChange","delegatesFocus","_handleFocus","setIndex","FxRepeat","focusOnCreate","initDone","repeatIndex","dataTemplate","repeatSize","rItems","applyIndex","_removeIndexMarker","mutationObserver","MutationObserver","mutations","added","addedNodes","_evalNodeset","_initTemplate","_initRepeatItems","childList","rawNodeset","repeatItems","repeatItemCount","nodeCount","contextSize","itemToRemove","clonedTemplate","_initVariables","newRepeatItem","FxSwitch","cases","caseElem","toggle","caseElement","FxTrigger","slot","elements","flatten","performActions","repeatedItem","click","variableElement","execute","forLoop","FxCase","selected","FxInspector","pre","serializeDOM","ser","FxDialog","closeBtn","focus","hide","fadeOutElement","FxItems","items","createUUID","spaced","wait","howLong","AbstractAction","needsUpdate","ifExpr","whileExpr","delay","repeatContext","targetElement","loop","perform","dispatchActionPerformed","FxAppend","_dataFromTemplate","_dispatch","templ","rootNode","targetRepeat","_clear","attrs","FxDelete","repeatId","rItem","nodeToDelete","FxInsert","origin","keepValues","_cloneOriginSequence","targetSequence","originSequenceClone","originTarget","_cloneTargetSequence","_getInsertIndex","insertLocationNode","prepend","insertedNodes","seq","FxMessage","FxSetvalue","FxSend","submit","FxToggle","case","FxDispatch","targetid","prop","FxUpdate","FxRefresh","FxReplace","with","replaceNode","toReplace","cloned","FxReturn","FxAction","script","actionOrVar","action","FxConfirm","confirm","FxShow","dialog","FxHide","FxFunction","signature","override","functionBody","signatureParseResult","groups","functionIdentifier","paramParts","param","variableName","varType","variableType","fun","Function","paramPart","variablesByName"],"mappings":"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"}