(()=>{var Nu=Object.create;var mt=Object.defineProperty,zu=Object.defineProperties,Wa=Object.getOwnPropertyDescriptor,Wu=Object.getOwnPropertyDescriptors,Vu=Object.getOwnPropertyNames,sn=Object.getOwnPropertySymbols,Ju=Object.getPrototypeOf,vs=Object.prototype.hasOwnProperty,Va=Object.prototype.propertyIsEnumerable;var Ja=(r,e,t)=>e in r?mt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,g=(r,e)=>{for(var t in e||(e={}))vs.call(e,t)&&Ja(r,t,e[t]);if(sn)for(var t of sn(e))Va.call(e,t)&&Ja(r,t,e[t]);return r},T=(r,e)=>zu(r,Wu(e)),Yu=r=>mt(r,"__esModule",{value:!0}),s=(r,e)=>mt(r,"name",{value:e,configurable:!0});var yt=(r,e)=>{var t={};for(var n in r)vs.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&sn)for(var n of sn(r))e.indexOf(n)<0&&Va.call(r,n)&&(t[n]=r[n]);return t};var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Zu=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Vu(e))!vs.call(r,n)&&n!=="default"&&mt(r,n,{get:()=>e[n],enumerable:!(t=Wa(e,n))||t.enumerable});return r},k=r=>Zu(Yu(mt(r!=null?Nu(Ju(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),_e=(r,e,t,n)=>{for(var i=n>1?void 0:n?Wa(e,t):e,a=r.length-1,o;a>=0;a--)(o=r[a])&&(i=(n?o(e,t,i):o(i))||i);return n&&i&&mt(e,t,i),i};var y=(r,e,t)=>new Promise((n,i)=>{var a=l=>{try{c(t.next(l))}catch(p){i(p)}},o=l=>{try{c(t.throw(l))}catch(p){i(p)}},c=l=>l.done?n(l.value):Promise.resolve(l.value).then(a,o);c((t=t.apply(r,e)).next())});var R=w((Iy,cn)=>{var Ya,Za,Xa,Qa,eo,to,ro,no,io,an,xs,so,ao,oo,gt,co,lo,uo,po,fo,mo,yo,go,ho,on;(function(r){var e=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&undefined?define("tslib",["exports"],function(n){r(t(e,t(n)))}):typeof cn=="object"&&typeof cn.exports=="object"?r(t(e,t(cn.exports))):r(t(e));function t(n,i){return n!==e&&(typeof Object.create=="function"?Object.defineProperty(n,"__esModule",{value:!0}):n.__esModule=!0),function(a,o){return n[a]=i?i(a,o):o}}s(t,"createExporter")})(function(r){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])};Ya=s(function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");e(n,i);function a(){this.constructor=n}s(a,"__"),n.prototype=i===null?Object.create(i):(a.prototype=i.prototype,new a)},"__extends"),Za=Object.assign||function(n){for(var i,a=1,o=arguments.length;a=0;h--)(p=n[h])&&(l=(c<3?p(l):c>3?p(i,a,l):p(i,a))||l);return c>3&&l&&Object.defineProperty(i,a,l),l},"__decorate"),eo=s(function(n,i){return function(a,o){i(a,o,n)}},"__param"),to=s(function(n,i){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,i)},"__metadata"),ro=s(function(n,i,a,o){function c(l){return l instanceof a?l:new a(function(p){p(l)})}return s(c,"adopt"),new(a||(a=Promise))(function(l,p){function h(C){try{b(o.next(C))}catch(j){p(j)}}s(h,"fulfilled");function D(C){try{b(o.throw(C))}catch(j){p(j)}}s(D,"rejected");function b(C){C.done?l(C.value):c(C.value).then(h,D)}s(b,"step"),b((o=o.apply(n,i||[])).next())})},"__awaiter"),no=s(function(n,i){var a={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},o,c,l,p;return p={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(p[Symbol.iterator]=function(){return this}),p;function h(b){return function(C){return D([b,C])}}function D(b){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,c&&(l=b[0]&2?c.return:b[0]?c.throw||((l=c.return)&&l.call(c),0):c.next)&&!(l=l.call(c,b[1])).done)return l;switch(c=0,l&&(b=[b[0]&2,l.value]),b[0]){case 0:case 1:l=b;break;case 4:return a.label++,{value:b[1],done:!1};case 5:a.label++,c=b[1],b=[0];continue;case 7:b=a.ops.pop(),a.trys.pop();continue;default:if(l=a.trys,!(l=l.length>0&&l[l.length-1])&&(b[0]===6||b[0]===2)){a=0;continue}if(b[0]===3&&(!l||b[1]>l[0]&&b[1]=n.length&&(n=void 0),{value:n&&n[o++],done:!n}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")},"__values"),xs=s(function(n,i){var a=typeof Symbol=="function"&&n[Symbol.iterator];if(!a)return n;var o=a.call(n),c,l=[],p;try{for(;(i===void 0||i-- >0)&&!(c=o.next()).done;)l.push(c.value)}catch(h){p={error:h}}finally{try{c&&!c.done&&(a=o.return)&&a.call(o)}finally{if(p)throw p.error}}return l},"__read"),so=s(function(){for(var n=[],i=0;i1||h(H,ft)})})}function h(H,ft){try{D(o[H](ft))}catch(ws){j(l[0][3],ws)}}function D(H){H.value instanceof gt?Promise.resolve(H.value.v).then(b,C):j(l[0][2],H)}function b(H){h("next",H)}function C(H){h("throw",H)}function j(H,ft){H(ft),l.shift(),l.length&&h(l[0][0],l[0][1])}},"__asyncGenerator"),lo=s(function(n){var i,a;return i={},o("next"),o("throw",function(c){throw c}),o("return"),i[Symbol.iterator]=function(){return this},i;function o(c,l){i[c]=n[c]?function(p){return(a=!a)?{value:gt(n[c](p)),done:c==="return"}:l?l(p):p}:l}},"__asyncDelegator"),uo=s(function(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n[Symbol.asyncIterator],a;return i?i.call(n):(n=typeof an=="function"?an(n):n[Symbol.iterator](),a={},o("next"),o("throw"),o("return"),a[Symbol.asyncIterator]=function(){return this},a);function o(l){a[l]=n[l]&&function(p){return new Promise(function(h,D){p=n[l](p),c(h,D,p.done,p.value)})}}function c(l,p,h,D){Promise.resolve(D).then(function(b){l({value:b,done:h})},p)}},"__asyncValues"),po=s(function(n,i){return Object.defineProperty?Object.defineProperty(n,"raw",{value:i}):n.raw=i,n},"__makeTemplateObject");var t=Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i};fo=s(function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var a in n)a!=="default"&&Object.prototype.hasOwnProperty.call(n,a)&&on(i,n,a);return t(i,n),i},"__importStar"),mo=s(function(n){return n&&n.__esModule?n:{default:n}},"__importDefault"),yo=s(function(n,i,a,o){if(a==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i=="function"?n!==i||!o:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return a==="m"?o:a==="a"?o.call(n):o?o.value:i.get(n)},"__classPrivateFieldGet"),go=s(function(n,i,a,o,c){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!c)throw new TypeError("Private accessor was defined without a setter");if(typeof i=="function"?n!==i||!c:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?c.call(n,a):c?c.value=a:i.set(n,a),a},"__classPrivateFieldSet"),ho=s(function(n,i){if(i===null||typeof i!="object"&&typeof i!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof n=="function"?i===n:n.has(i)},"__classPrivateFieldIn"),r("__extends",Ya),r("__assign",Za),r("__rest",Xa),r("__decorate",Qa),r("__param",eo),r("__metadata",to),r("__awaiter",ro),r("__generator",no),r("__exportStar",io),r("__createBinding",on),r("__values",an),r("__read",xs),r("__spread",so),r("__spreadArrays",ao),r("__spreadArray",oo),r("__await",gt),r("__asyncGenerator",co),r("__asyncDelegator",lo),r("__asyncValues",uo),r("__makeTemplateObject",po),r("__importStar",fo),r("__importDefault",mo),r("__classPrivateFieldGet",yo),r("__classPrivateFieldSet",go),r("__classPrivateFieldIn",ho)})});var mr=w(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.compose=ht.CompositeTransducer=void 0;var ln=class{constructor(e,t){this.a=e,this.b=t}async_(e){return this.b.async_(this.a.async_(e))}sync(e){return this.b.sync(this.a.sync(e))}};s(ln,"CompositeTransducer");ht.CompositeTransducer=ln;function Xu(r,e){return new ln(r,e)}s(Xu,"compose");ht.compose=Xu});var bo=w(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.decompose=void 0;var Qu=mr();function*Ss(r){r instanceof Qu.CompositeTransducer?(yield*Ss(r.a),yield*Ss(r.b)):yield r}s(Ss,"decompose");un.decompose=Ss});var X=w(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.syncReturned=P.asyncReturned=P.isReturned=P.isYielded=P.AsyncIteratorHandler=P.by=P.toAsyncIterable=P.isArrayLike=P.asyncIterable=P.iterable=P.toIterable=P.isPromiseLike=P.isAsyncIterable=P.isIterable=P.value=P.key=P.comparators=P.descending=P.ascending=void 0;var Ue=R();function dn(r,e){return re?1:0}s(dn,"ascending");P.ascending=dn;function ed(r,e){return re?-1:0}s(ed,"descending");P.descending=ed;function td(...r){return(e,t)=>{for(let n of r){let i=n(e,t);if(i!=0)return i}return 0}}s(td,"comparators");P.comparators=td;function rd(r){return Object.assign(e=>e[r],{name:r})}s(rd,"key");P.key=rd;function nd(r){return e=>e[r]}s(nd,"value");P.value=nd;function id(r){return typeof r=="object"&&Symbol.iterator in r}s(id,"isIterable");P.isIterable=id;function sd(r){return typeof r=="object"&&Symbol.asyncIterator in r}s(sd,"isAsyncIterable");P.isAsyncIterable=sd;function ad(r){return typeof r=="object"&&"then"in r}s(ad,"isPromiseLike");P.isPromiseLike=ad;function od(...r){return r}s(od,"toIterable");P.toIterable=od;function*cd(r){for(let e=0;ee(t[r],n[r])}s(fd,"byKey");function md(r,e=dn){return(t,n)=>e(r(t),r(n))}s(md,"byFn");var Ds=class{constructor(){this.handlers=[],this.state=[]}value(e){this.newState({value:e,done:!1})}error(e){this.newState(e)}close(e){this.newState({value:e,done:!0})}[Symbol.asyncIterator](){return this}next(){return new Promise((e,t)=>{this.newHandler([e,t])})}newState(e){let t=this.handlers.shift();if(typeof t=="undefined")return this.state.push(e);let n=this.state.shift();if(typeof n=="undefined")return this.consume(e,t);this.consume(n,t),this.newState(e)}newHandler(e){let t=this.state.shift();if(typeof t=="undefined")return this.handlers.push(e);let n=this.handlers.shift();if(typeof n=="undefined")return this.consume(t,e);this.consume(t,n),this.newHandler(e)}consume(e,[t,n]){e instanceof Error?n(e):t(e)}};s(Ds,"AsyncIteratorHandler");P.AsyncIteratorHandler=Ds;function yd(r){return r&&typeof r=="object"&&"yielded"in r}s(yd,"isYielded");P.isYielded=yd;function gd(r){return r&&typeof r=="object"&&"returned"in r}s(gd,"isReturned");P.isReturned=gd;function hd(r){return Ue.__asyncGenerator(this,arguments,s(function*(){for(;;){let{value:t,done:n}=yield Ue.__await(r.next());if(n){yield yield Ue.__await({returned:t});break}else yield yield Ue.__await({yielded:t})}},"asyncReturned_1"))}s(hd,"asyncReturned");P.asyncReturned=hd;function*bd(r){for(;;){let{value:e,done:t}=r.next();if(t){yield{returned:e};break}else yield{yielded:e}}}s(bd,"syncReturned");P.syncReturned=bd});var wo=w(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.dedupe=wt.DedupeTransducer=void 0;var bt=R(),wd=X(),pn=class{constructor(e){this.comparator=e}async_(e){return bt.__asyncGenerator(this,arguments,s(function*(){var n,i;let a;try{for(var o=bt.__asyncValues(e),c;c=yield bt.__await(o.next()),!c.done;){let l=c.value;typeof a=="undefined"?yield yield bt.__await(l):this.comparator(l,a)!==0&&(yield yield bt.__await(l)),a=l}}catch(l){n={error:l}}finally{try{c&&!c.done&&(i=o.return)&&(yield bt.__await(i.call(o)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){let t;for(let n of e)typeof t=="undefined"?yield n:this.comparator(n,t)!==0&&(yield n),t=n}};s(pn,"DedupeTransducer");wt.DedupeTransducer=pn;function vd(r=wd.ascending){return new pn(r)}s(vd,"dedupe");wt.dedupe=vd});var vo=w(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.drop=vt.DropTransducer=void 0;var yr=R(),fn=class{constructor(e){if(this.count=e,typeof e=="undefined")throw new Error("Count can not be undefined")}async_(e){return yr.__asyncGenerator(this,arguments,s(function*(){var n,i;try{for(var a=yr.__asyncValues(e),o;o=yield yr.__await(a.next()),!o.done;){let c=o.value;--this.count<0&&(yield yield yr.__await(c))}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield yr.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){for(let t of e)--this.count<0&&(yield t)}};s(fn,"DropTransducer");vt.DropTransducer=fn;function xd(r){return new fn(r)}s(xd,"drop");vt.drop=xd});var xo=w(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.dropWhile=xt.DropWhileTransducer=void 0;var gr=R(),mn=class{constructor(e){this.predicate=e}async_(e){return gr.__asyncGenerator(this,arguments,s(function*(){var n,i;let a=!0;try{for(var o=gr.__asyncValues(e),c;c=yield gr.__await(o.next()),!c.done;){let l=c.value;a&&(a=this.predicate(l)),a||(yield yield gr.__await(l))}}catch(l){n={error:l}}finally{try{c&&!c.done&&(i=o.return)&&(yield gr.__await(i.call(o)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){let t=!0;for(let n of e)t&&(t=this.predicate(n)),t||(yield n)}};s(mn,"DropWhileTransducer");xt.DropWhileTransducer=mn;function Sd(r){return new mn(r)}s(Sd,"dropWhile");xt.dropWhile=Sd});var gn=w(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.accept=Be.filter=Be.FilterTransducer=void 0;var hr=R(),yn=class{constructor(e){this.predicate=e}async_(e){return hr.__asyncGenerator(this,arguments,s(function*(){var n,i;try{for(var a=hr.__asyncValues(e),o;o=yield hr.__await(a.next()),!o.done;){let c=o.value;this.predicate(c)&&(yield yield hr.__await(c))}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield hr.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){for(let t of e)this.predicate(t)&&(yield t)}};s(yn,"FilterTransducer");Be.FilterTransducer=yn;function So(r){return new yn(r)}s(So,"filter");Be.filter=So;Be.accept=So});var Ps=w(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.first=Dt.FirstTransducer=void 0;var St=R(),hn=class{async_(e){return St.__asyncGenerator(this,arguments,s(function*(){var n,i;try{for(var a=St.__asyncValues(e),o;o=yield St.__await(a.next()),!o.done;){let c=o.value;return yield St.__await(yield yield St.__await(c))}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield St.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){for(let t of e)return yield t}};s(hn,"FirstTransducer");Dt.FirstTransducer=hn;function Dd(){return new hn}s(Dd,"first");Dt.first=Dd});var Do=w(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.find=void 0;var Pd=gn(),Ad=Ps(),Cd=mr();function Td(r){return(0,Cd.compose)((0,Pd.filter)(r),(0,Ad.first)())}s(Td,"find");bn.find=Td});var Po=w(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.flatMap=Pt.FlatMapTransducer=void 0;var et=R(),wn=class{constructor(e){this.mapper=e}async_(e){return et.__asyncGenerator(this,arguments,s(function*(){var n,i;try{for(var a=et.__asyncValues(e),o;o=yield et.__await(a.next()),!o.done;){let c=o.value;yield et.__await(yield*et.__asyncDelegator(et.__asyncValues(this.mapper(c))))}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield et.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){for(let t of e)yield*this.mapper(t)}};s(wn,"FlatMapTransducer");Pt.FlatMapTransducer=wn;function Od(r){return new wn(r)}s(Od,"flatMap");Pt.flatMap=Od});var Co=w($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.transducer=$e.identity=$e.IdentityTransducer=void 0;var vn=class{async_(e){return e}sync(e){return e}};s(vn,"IdentityTransducer");$e.IdentityTransducer=vn;function Ao(){return new vn}s(Ao,"identity");$e.identity=Ao;$e.transducer=Ao});var As=w(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.last=At.LastTransducer=void 0;var br=R(),xn=class{async_(e){return br.__asyncGenerator(this,arguments,s(function*(){var n,i;let a;try{for(var o=br.__asyncValues(e),c;c=yield br.__await(o.next()),!c.done;)a=c.value}catch(l){n={error:l}}finally{try{c&&!c.done&&(i=o.return)&&(yield br.__await(i.call(o)))}finally{if(n)throw n.error}}a!==void 0&&(yield yield br.__await(a))},"async_1"))}*sync(e){let t;for(t of e);t!==void 0&&(yield t)}};s(xn,"LastTransducer");At.LastTransducer=xn;function Rd(){return new xn}s(Rd,"last");At.last=Rd});var To=w(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.map=Ct.MapTransducer=void 0;var wr=R(),Sn=class{constructor(e){this.mapper=e}async_(e){return wr.__asyncGenerator(this,arguments,s(function*(){var n,i;try{for(var a=wr.__asyncValues(e),o;o=yield wr.__await(a.next()),!o.done;){let c=o.value;yield yield wr.__await(this.mapper(c))}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield wr.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){for(let t of e)yield this.mapper(t)}};s(Sn,"MapTransducer");Ct.MapTransducer=Sn;function kd(r){return new Sn(r)}s(kd,"map");Ct.map=kd});var Cs=w(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.scan=Ot.ScanTransducer=void 0;var Tt=R(),Dn=class{constructor(e,t){this.reducer=e,this.seed=t}async_(e){return Tt.__asyncGenerator(this,arguments,s(function*(){var n,i;let a=this.seed;yield yield Tt.__await(a);try{for(var o=Tt.__asyncValues(e),c;c=yield Tt.__await(o.next()),!c.done;){let l=c.value;yield yield Tt.__await(a=this.reducer(a,l))}}catch(l){n={error:l}}finally{try{c&&!c.done&&(i=o.return)&&(yield Tt.__await(i.call(o)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){let t=this.seed;yield t;for(let n of e)yield t=this.reducer(t,n)}};s(Dn,"ScanTransducer");Ot.ScanTransducer=Dn;function Ed(r,e){return new Dn(r,e)}s(Ed,"scan");Ot.scan=Ed});var Oo=w(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.reduce=void 0;var Md=mr(),Id=As(),_d=Cs();function Fd(r,e){return(0,Md.compose)((0,_d.scan)(r,e),(0,Id.last)())}s(Fd,"reduce");Pn.reduce=Fd});var Ro=w(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.reject=void 0;var jd=gn();function Ld(r){return new jd.FilterTransducer(e=>!r(e))}s(Ld,"reject");An.reject=Ld});var Ts=w(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.sum=Ce.subtract=Ce.add=Ce.increment=void 0;function qd(r){return r+1}s(qd,"increment");Ce.increment=qd;function Hd(r,e){return e===void 0?t=>r+t:r+e}s(Hd,"add");Ce.add=Hd;function Kd(r,e){return e===void 0?t=>t-r:r-e}s(Kd,"subtract");Ce.subtract=Kd;var Ud=s((r,e)=>r+e,"sum");Ce.sum=Ud});var Rt=w(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.AsyncSequence=te.Sequence=te.sequence=te.range=te.repeat=te.iterate=void 0;var Os=Ts(),Rs=X(),ko=G();function*Cn(r,e){for(;;)yield e,e=r(e)}s(Cn,"iterate");te.iterate=Cn;function*Bd(r){for(;;)yield r()}s(Bd,"repeat");te.repeat=Bd;function*$d(r,e,t=1){if(t===0)throw new Error("step can not be 0");if(e===void 0)yield*Cn((0,Os.add)(t),r);else{let n=Math.abs(t);ei>=e)):yield*ks(Cn((0,Os.add)(n),r),(0,ko.takeWhile)(i=>i<=e))}}s($d,"range");te.range=$d;function ks(r,...e){return(0,Rs.isIterable)(r)?new vr(r,e):(0,Rs.isArrayLike)(r)?new vr((0,Rs.iterable)(r),e):new Tn(r,e)}s(ks,"sequence");te.sequence=ks;var vr=class{constructor(e,t){this.source=e,this.transducers=t}[Symbol.iterator](){return this.transducers.reduce((e,t)=>t.sync(e),this.source)[Symbol.iterator]()}};s(vr,"Sequence");te.Sequence=vr;var Tn=class{constructor(e,t){this.source=e,this.transducers=t}[Symbol.asyncIterator](){return this.transducers.reduce((e,t)=>t.async_(e),this.source)[Symbol.asyncIterator]()}};s(Tn,"AsyncSequence");te.AsyncSequence=Tn});var Io=w(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.single=void 0;var Eo=R(),Gd=X(),Mo=Rt();function Nd(r,...e){return(0,Gd.isIterable)(r)?zd((0,Mo.sequence)(r,...e)):Wd((0,Mo.sequence)(r,...e))}s(Nd,"single");On.single=Nd;function zd(r){for(let e of r)return e;throw new Error("Expected a single value")}s(zd,"toSingle");function Wd(r){var e,t,n,i;return Eo.__awaiter(this,void 0,void 0,function*(){try{for(e=Eo.__asyncValues(r);t=yield e.next(),!t.done;)return t.value}catch(a){n={error:a}}finally{try{t&&!t.done&&(i=e.return)&&(yield i.call(e))}finally{if(n)throw n.error}}throw new Error("Expected a single value")})}s(Wd,"toSinglePromise")});var re=w(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.array=void 0;var _o=R(),Fo=X(),jo=Rt();function Vd(r,...e){return(0,Fo.isIterable)(r)||(0,Fo.isArrayLike)(r)?Jd((0,jo.sequence)(r,...e)):Yd((0,jo.sequence)(r,...e))}s(Vd,"array");Rn.array=Vd;function Jd(r){let e=[];for(let t of r)e.push(t);return e}s(Jd,"toArray");function Yd(r){var e,t,n,i;return _o.__awaiter(this,void 0,void 0,function*(){let a=[];try{for(e=_o.__asyncValues(r);t=yield e.next(),!t.done;){let o=t.value;a.push(o)}}catch(o){n={error:o}}finally{try{t&&!t.done&&(i=e.return)&&(yield i.call(e))}finally{if(n)throw n.error}}return a})}s(Yd,"toPromiseArray")});var qo=w(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.sort=kt.SortTransducer=void 0;var xr=R(),Zd=X(),Lo=re(),kn=class{constructor(e){this.comparator=e}async_(e){return xr.__asyncGenerator(this,arguments,s(function*(){let n=yield xr.__await((0,Lo.array)(e));n.sort(this.comparator),yield xr.__await(yield*xr.__asyncDelegator(xr.__asyncValues(n)))},"async_1"))}*sync(e){let t=(0,Lo.array)(e);t.sort(this.comparator),yield*t}};s(kn,"SortTransducer");kt.SortTransducer=kn;function Xd(r=Zd.ascending){return new kn(r)}s(Xd,"sort");kt.sort=Xd});var Ho=w(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.take=Et.TakeTransducer=void 0;var tt=R(),En=class{constructor(e){if(this.count=e,typeof e=="undefined")throw new Error("Count can not be undefined")}async_(e){return tt.__asyncGenerator(this,arguments,s(function*(){var n,i;if(this.count<1)return yield tt.__await(void 0);try{for(var a=tt.__asyncValues(e),o;o=yield tt.__await(a.next()),!o.done;){let c=o.value;if(yield yield tt.__await(c),--this.count<1)return yield tt.__await(void 0)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield tt.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){if(!(this.count<1)){for(let t of e)if(yield t,--this.count<1)return}}};s(En,"TakeTransducer");Et.TakeTransducer=En;function Qd(r){return new En(r)}s(Qd,"take");Et.take=Qd});var Ko=w(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.takeWhile=It.TakeWhileTransducer=void 0;var Mt=R(),Mn=class{constructor(e){this.predicate=e}async_(e){return Mt.__asyncGenerator(this,arguments,s(function*(){var n,i;try{for(var a=Mt.__asyncValues(e),o;o=yield Mt.__await(a.next()),!o.done;){let c=o.value;if(this.predicate(c))yield yield Mt.__await(c);else return yield Mt.__await(void 0)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&(yield Mt.__await(i.call(a)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){for(let t of e)if(this.predicate(t))yield t;else return}};s(Mn,"TakeWhileTransducer");It.TakeWhileTransducer=Mn;function ep(r){return new Mn(r)}s(ep,"takeWhile");It.takeWhile=ep});var Bo=w(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0})});var Fe=w(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.container=Ge.lazy=Ge.replace=void 0;function $o(r,e,t){return Object.defineProperty(r,e,{value:t})}s($o,"replace");Ge.replace=$o;function Go(r,e,t){if(typeof t.get=="undefined")throw new Error("@lazy can only decorate getter methods");return Object.defineProperty(r,e,Object.assign(Object.assign({},t),{get(){return $o(this,e,t.get.call(this))[e]}}))}s(Go,"lazy");Ge.lazy=Go;function tp(r){return Object.keys(r).reduce((e,t)=>Go(e,t,{configurable:!0,get:()=>r[t](e)}),{})}s(tp,"container");Ge.container=tp});var Is=w(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.AVLTree=void 0;var No=R(),In=X(),zo=Fe(),ye=class{constructor(e){this.comparator=e}static empty(e=In.ascending){return new Es(e)}static create(e,t,n=In.ascending){let i=ye.empty(n);return new ae(n,e,t,i,i)}static of(e,t=In.ascending){return ye.preSorted(e.sort((0,In.by)(0)),t,ye.empty(t))}static preSorted(e,t,n){let i=e.length;switch(i){case 0:return n;case 1:{let[[a,o]]=e;return new ae(t,a,o,n,n)}default:{let a=Math.floor(i/2),o=ye.preSorted(e.slice(0,a),t,n),c=ye.preSorted(e.slice(a+1),t,n),[l,p]=e[a];return new ae(t,l,p,o,c)}}}};s(ye,"AVLTree");_n.AVLTree=ye;var Es=class extends ye{constructor(e){super(e);this.isEmpty=!0,this.height=0,this.balance=0}insert(e,t){return new ae(this.comparator,e,t,this,this)}contains(e){return!1}lookup(e){}delete(e){return{tree:this}}first(){}last(){}removeFirst(){return{tree:this}}removeLast(){return{tree:this}}toString(){return""}*keys(){}*values(){}*entries(){return[]}};s(Es,"Empty");var ae=class extends ye{constructor(e,t,n,i,a){super(e);this.key=t,this.value=n,this.left=i,this.right=a,this.isEmpty=!1}insert(e,t){let n=this.comparator(e,this.key);return n===0?new ae(this.comparator,e,t,this.left,this.right):n<0?this.replaceLeft(this.left.insert(e,t)):this.replaceRight(this.right.insert(e,t))}contains(e){let t=this.comparator(e,this.key);return t===0?!0:t<0?this.left.contains(e):this.right.contains(e)}lookup(e){let t=this.comparator(e,this.key);return t===0?this.value:t<0?this.left.lookup(e):this.right.lookup(e)}delete(e){let t=this.comparator(e,this.key);if(t===0){if(this.left.isEmpty)return{tree:this.right,key:this.key,value:this.value};if(this.right.isEmpty)return{tree:this.left,key:this.key,value:this.value};let{tree:o,key:c,value:l}=this.left.removeLast();return{tree:Ms(new ae(this.comparator,c,l,o,this.right)),key:this.key,value:this.value}}if(t<0){let{tree:o,key:c,value:l}=this.left.delete(e);return{tree:this.replaceLeft(o),key:c,value:l}}let{tree:n,key:i,value:a}=this.right.delete(e);return{tree:this.replaceRight(n),key:i,value:a}}first(){return this.left.isEmpty?this.value:this.left.first()}last(){return this.right.isEmpty?this.value:this.right.last()}removeFirst(){if(this.left.isEmpty)return{tree:this.right,key:this.key,value:this.value};let{tree:e,key:t,value:n}=this.left.removeFirst();return{tree:this.replaceLeft(e),key:t,value:n}}removeLast(){if(this.right.isEmpty)return{tree:this.left,key:this.key,value:this.value};let{tree:e,key:t,value:n}=this.right.removeLast();return{tree:this.replaceRight(e),key:t,value:n}}replaceLeft(e){return Ms(new ae(this.comparator,this.key,this.value,e,this.right))}replaceRight(e){return Ms(new ae(this.comparator,this.key,this.value,this.left,e))}toString(){return`(${this.left} ${this.key}=${this.value} ${this.right})`}get balance(){return this.left.height-this.right.height}get height(){return Math.max(this.left.height,this.right.height)+1}*keys(){yield*this.left.keys(),yield this.key,yield*this.right.keys()}*values(){yield*this.left.values(),yield this.value,yield*this.right.values()}*entries(){yield*this.left.entries(),yield[this.key,this.value],yield*this.right.entries()}};s(ae,"Node");No.__decorate([zo.lazy],ae.prototype,"balance",null);No.__decorate([zo.lazy],ae.prototype,"height",null);function Ms(r){let e=r.balance;return e==-2?np(r):e==2?rp(r):r}s(Ms,"balance");function rp(r){let e=r.left.balance;return e==-1?ip(r):e==1?Wo(r):r}s(rp,"balanceLeft");function np(r){let e=r.right.balance;return e==1?sp(r):e==-1?Vo(r):r}s(np,"balanceRight");function Wo(r){return Yo(r)}s(Wo,"balanceLeftLeft");function ip(r){let e=Jo(r.left);return Wo(r.replaceLeft(e))}s(ip,"balanceLeftRight");function Vo(r){return Jo(r)}s(Vo,"balanceRightRight");function sp(r){let e=Yo(r.right);return Vo(r.replaceRight(e))}s(sp,"balanceRightLeft");function Jo(r){let e=r.right,t=e.left,n=r.replaceRight(t);return e.replaceLeft(n)}s(Jo,"rotateLeft");function Yo(r){let e=r.left,t=e.right,n=r.replaceLeft(t);return e.replaceRight(n)}s(Yo,"rotateRight")});var Xo=w(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.unique=_t.UniqueTransducer=void 0;var Sr=R(),ap=X(),Zo=Is(),Fn=class{constructor(e){this.comparator=e}async_(e){return Sr.__asyncGenerator(this,arguments,s(function*(){var n,i;let a=Zo.AVLTree.empty(this.comparator);try{for(var o=Sr.__asyncValues(e),c;c=yield Sr.__await(o.next()),!c.done;){let l=c.value;a.contains(l)||(a=a.insert(l,void 0),yield yield Sr.__await(l))}}catch(l){n={error:l}}finally{try{c&&!c.done&&(i=o.return)&&(yield Sr.__await(i.call(o)))}finally{if(n)throw n.error}}},"async_1"))}*sync(e){let t=Zo.AVLTree.empty(this.comparator);for(let n of e)t.contains(n)||(t=t.insert(n,void 0),yield n)}};s(Fn,"UniqueTransducer");_t.UniqueTransducer=Fn;function op(r=ap.ascending){return new Fn(r)}s(op,"unique");_t.unique=op});var Qo=w(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.WindowedTransducer=jt.windowed=void 0;var Ft=R();function cp(r,e=1,t=!1){return new jn(r,e,t)}s(cp,"windowed");jt.windowed=cp;var jn=class{constructor(e,t,n){this.size=e,this.step=t,this.remainder=n}async_(e){return Ft.__asyncGenerator(this,arguments,s(function*(){var n,i;let a=[],o=0;try{for(var c=Ft.__asyncValues(e),l;l=yield Ft.__await(c.next()),!l.done;){let p=l.value;if(o>0){o--;continue}a.push(p),a.length===this.size&&(yield yield Ft.__await([...a]),a=a.slice(this.step),this.step>this.size&&(o=this.step-this.size))}}catch(p){n={error:p}}finally{try{l&&!l.done&&(i=c.return)&&(yield Ft.__await(i.call(c)))}finally{if(n)throw n.error}}this.remainder&&(yield yield Ft.__await([...a]))},"async_1"))}*sync(e){let t=[],n=0;for(let i of e){if(n>0){n--;continue}t.push(i),t.length===this.size&&(yield[...t],t=t.slice(this.step),this.step>this.size&&(n=this.step-this.size))}this.remainder&&(yield[...t])}};s(jn,"WindowedTransducer");jt.WindowedTransducer=jn});var tc=w(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.zipWithIndex=Ne.zip=Ne.ZipTransducer=void 0;var Ln=R(),ec=X(),lp=Rt(),Dr=class{constructor(e){this.other=e}async_(e){return Ln.__asyncGenerator(this,arguments,s(function*(){if(!(0,ec.isAsyncIterable)(this.other))throw new Error("Unsupported operation exception");let n=e[Symbol.asyncIterator](),i=this.other[Symbol.asyncIterator]();for(;;){let[a,o]=yield Ln.__await(Promise.all([n.next(),i.next()]));if(a.done||o.done)return yield Ln.__await(void 0);yield yield Ln.__await([a.value,o.value])}},"async_1"))}*sync(e){if(!(0,ec.isIterable)(this.other))throw new Error("Unsupported operation exception");let t=e[Symbol.iterator](),n=this.other[Symbol.iterator]();for(;;){let i=t.next(),a=n.next();if(i.done||a.done)return;yield[i.value,a.value]}}};s(Dr,"ZipTransducer");Ne.ZipTransducer=Dr;function up(r){return new Dr(r)}s(up,"zip");Ne.zip=up;function dp(){return new Dr((0,lp.range)(0))}s(dp,"zipWithIndex");Ne.zipWithIndex=dp});var G=w(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});var F=R();F.__exportStar(mr(),M);F.__exportStar(bo(),M);F.__exportStar(wo(),M);F.__exportStar(vo(),M);F.__exportStar(xo(),M);F.__exportStar(gn(),M);F.__exportStar(Do(),M);F.__exportStar(Ps(),M);F.__exportStar(Po(),M);F.__exportStar(Co(),M);F.__exportStar(As(),M);F.__exportStar(To(),M);F.__exportStar(Oo(),M);F.__exportStar(Ro(),M);F.__exportStar(Cs(),M);F.__exportStar(Io(),M);F.__exportStar(qo(),M);F.__exportStar(Ho(),M);F.__exportStar(Ko(),M);F.__exportStar(Bo(),M);F.__exportStar(Xo(),M);F.__exportStar(Qo(),M);F.__exportStar(tc(),M)});var oe=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.caching=qt.cache=void 0;function hp(r,e,t){if(typeof t.value!="function")throw new Error("@cache can only decorate methods");let n=new WeakMap;function i(a){let o=n.get(a);if(o)return o;let c=new Map;return n.set(a,c),c}return s(i,"getCache"),Object.defineProperty(r,e,Object.assign(Object.assign({},t),{value:function(...a){let o=JSON.stringify(a),c=i(this),l=c.get(o);if(typeof l!="undefined"||c.has(o))return l;let p=t.value.call(this,...a);return c.set(o,p),p}}))}s(hp,"cache");qt.cache=hp;function bp(r){let e=new Map;return function(...t){let n=JSON.stringify(t),i=e.get(n);if(typeof i!="undefined"||e.has(n))return i;let a=r(...t);return e.set(n,a),a}}s(bp,"caching");qt.caching=bp});var bi=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.StoppedClock=Nt.SystemClock=void 0;var Zs=class{now(){return new Date}};s(Zs,"SystemClock");Nt.SystemClock=Zs;var Xs=class{constructor(e){this.value=e}now(){return this.value}};s(Xs,"StoppedClock");Nt.StoppedClock=Xs});var st=w(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.Days=_.hasNativeToParts=_.yearOf=_.dayOf=_.monthOf=_.Month=_.weekdayOf=_.Weekday=_.defaultOptions=_.date=void 0;function $c(r,e,t){if(e&&(e<1||e>12))throw new Error(`Invalid month ${e}`);if(t&&(t<1||t>31))throw new Error(`Invalid day ${t}`);let n=new Date(Date.UTC(r,e?e-1:0,t||1));if(r!==ta(n))throw new Error(`Invalid year ${r}`);if(e&&e!==Qs(n))throw new Error(`Invalid month ${e}`);if(t&&t!==ea(n))throw new Error(`Invalid day ${t}`);return n}s($c,"date");_.date=$c;_.defaultOptions={year:"numeric",month:"numeric",day:"numeric",weekday:"long"};var Gc;(function(r){r[r.Monday=1]="Monday",r[r.Tuesday=2]="Tuesday",r[r.Wednesday=3]="Wednesday",r[r.Thursday=4]="Thursday",r[r.Friday=5]="Friday",r[r.Saturday=6]="Saturday",r[r.Sunday=7]="Sunday"})(Gc=_.Weekday||(_.Weekday={}));function ff(r){let e=r.getUTCDay();return e===0?Gc.Sunday:e}s(ff,"weekdayOf");_.weekdayOf=ff;var mf;(function(r){r[r.January=1]="January",r[r.February=2]="February",r[r.March=3]="March",r[r.April=4]="April",r[r.May=5]="May",r[r.June=6]="June",r[r.July=7]="July",r[r.August=8]="August",r[r.September=9]="September",r[r.October=10]="October",r[r.November=11]="November",r[r.December=12]="December"})(mf=_.Month||(_.Month={}));function Qs(r){return r.getUTCMonth()+1}s(Qs,"monthOf");_.monthOf=Qs;function ea(r){return r.getUTCDate()}s(ea,"dayOf");_.dayOf=ea;function ta(r){return r.getUTCFullYear()}s(ta,"yearOf");_.yearOf=ta;_.hasNativeToParts=typeof Intl.DateTimeFormat.prototype.formatToParts=="function";var it=class{static startOf(e){return $c(ta(e),Qs(e),ea(e))}static add(e,t){let n=new Date(e.getTime());return n.setUTCDate(e.getUTCDate()+t),n}static subtract(e,t){return it.add(e,t*-1)}static between(e,t){return Math.abs((e.getTime()-t.getTime())/it.milliseconds)}};s(it,"Days");_.Days=it;it.milliseconds=24*60*60*1e3});var Le=w(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.splitByRegex=q.characters=q.removeUnicodeMarkers=q.different=q.suffix=q.prefix=q.replace=q.isNonMatch=q.isNamedMatch=q.NamedRegExp=void 0;var yf=/\(\?<([^>]+)>/g,Mr=class{constructor(e,t){this.pattern=e,this.names=t}static create(e,t){let n=[],i=Nc(yf,e,a=>(n.push(a[1]),"("));return new Mr(new RegExp(i,t),n)}match(e){let t=e.match(this.pattern);return t?this.namedMatch(t):[]}namedMatch(e){return e.slice(1).map((n,i)=>({name:this.names[i],value:n}))}*exec(e){let t=new RegExp(this.pattern.source,"g");for(;;){let n=t.exec(e);if(!n)break;yield this.namedMatch(n)}}*iterate(e){let t=0,n=new RegExp(this.pattern.source,"g");for(;;){let a=n.exec(e);if(!a)break;let o=e.substring(t,a.index);o&&(yield o),yield this.namedMatch(a),t=n.lastIndex}let i=e.substring(t);i&&(yield i)}toString(){return`Pattern: ${this.pattern} Names: ${JSON.stringify(this.names)}`}toJSON(){return{pattern:this.pattern.source,names:this.names}}};s(Mr,"NamedRegExp");q.NamedRegExp=Mr;function gf(r){return Array.isArray(r)}s(gf,"isNamedMatch");q.isNamedMatch=gf;function hf(r){return typeof r=="string"}s(hf,"isNonMatch");q.isNonMatch=hf;function Nc(r,e,t,n=i=>i){let i=[],a=0,o;for(;(o=r.exec(e))!=null;)i.push(n(e.substring(a,o.index))),i.push(t(o)),a=r.lastIndex;return i.push(n(e.substring(a))),i.join("")}s(Nc,"replace");q.replace=Nc;function ra(r,e){for(let t=0;t{let l=ci.slice(t,n?-n:void 0).join(""))}s(bf,"different");q.different=bf;function Wc(r){return r.replace(/[\u200E\u200F]/g,"")}s(Wc,"removeUnicodeMarkers");q.removeUnicodeMarkers=Wc;function Vc(r){return wf(Wc(r))}s(Vc,"characters");q.characters=Vc;function wf(r){return typeof Symbol=="function"&&r[Symbol.iterator]?[...r]:Jc(r)}s(wf,"split");var vf=/(?=(?:[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))/;function Jc(r){return r.split(vf)}s(Jc,"splitByRegex");q.splitByRegex=Jc});var _r=w(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.formatData=K.format=K.valueFromParts=K.SimpleFormat=K.ImprovedDateTimeFormat=K.Formatters=K.optionsFrom=K.partsFrom=K.dateTimeFormat=void 0;var xf=R(),Yc=st(),Sf=re(),Df=G(),na=Le(),Pf=oe();function ia(r,e){return new Intl.DateTimeFormat(r,Object.assign(Object.assign({},e),{timeZone:"UTC"}))}s(ia,"dateTimeFormat");K.dateTimeFormat=ia;function Af(r,e){if(r==="year"){if(e===4)return"numeric";if(e===2)return"2-digit"}if(r==="month"){if(e===4)return"long";if(e===3)return"short";if(e===2)return"2-digit";if(e===1)return"numeric"}if(r==="day"){if(e===2)return"2-digit";if(e===1)return"numeric"}if(r==="weekday"){if(e===4)return"long";if(e===3)return"short"}throw new Error(`Illegal Argument: ${r} ${e}`)}s(Af,"formatFrom");var Cf=na.NamedRegExp.create("(?:(?y+)|(?M+)|(?d+)|(?E+))","g");function sa(r){return(0,Sf.array)(Cf.iterate(r),(0,Df.map)(e=>{if((0,na.isNamedMatch)(e)){let[t]=e.filter(a=>Boolean(a.value)),n=t.name,i=Af(n,t.value.length);return{type:n,value:i}}else return{type:"literal",value:e}}))}s(sa,"partsFrom");K.partsFrom=sa;function Zc(r){let e=typeof r=="string"?sa(r):r,t=["year","month","day","weekday"];return e.filter(n=>t.indexOf(n.type)!=-1).reduce((n,i)=>(n[i.type]=i.value,n),typeof r=="string"?{format:r}:{})}s(Zc,"optionsFrom");K.optionsFrom=Zc;var zt=class{static create(e,t){return typeof t=="string"?new Ir(e,t):typeof t.format=="string"?new Ir(e,t.format):new wi(e,t)}};s(zt,"Formatters");xf.__decorate([Pf.cache],zt,"create",null);K.Formatters=zt;var wi=class{constructor(e,t,n=ia(e,t)){this.locale=e,this.options=t,this.delegate=n}format(e){return(0,na.removeUnicodeMarkers)(this.delegate.format(e))}formatToParts(e){return this.delegate.formatToParts(e)}};s(wi,"ImprovedDateTimeFormat");K.ImprovedDateTimeFormat=wi;var Ir=class{constructor(e,t){this.locale=e,this.formatString=t,this.partsInOrder=sa(t),this.options=Zc(this.partsInOrder)}format(e){return this.formatToParts(e).map(t=>t.value).join("")}formatToParts(e){let t=ia(this.locale,this.options).formatToParts(e);return this.partsInOrder.map(n=>({type:n.type,value:this.valueFor(t,n.type,n.value)}))}valueFor(e,t,n){return t==="literal"?n:Xc(e,t)}};s(Ir,"SimpleFormat");K.SimpleFormat=Ir;function Xc(r,e){return r.filter(t=>t.type===e).map(t=>t.value).join("")}s(Xc,"valueFromParts");K.valueFromParts=Xc;function Tf(r,e,t=Yc.defaultOptions){if(r==null)throw new Error("Date format requires a value");return zt.create(e,t).format(r)}s(Tf,"format");K.format=Tf;function Of(r,e,t=Yc.defaultOptions){return zt.create(e,t).formatToParts(r)}s(Of,"formatData");K.formatData=Of});var Fr=w(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.unique=Wt.flatten=void 0;function Rf(r){return r.flatMap(e=>e)}s(Rf,"flatten");Wt.flatten=Rf;function Qc(r){return typeof r=="function"&&r.toString().includes("native code")}s(Qc,"isNativeFunction");var kf=Qc(Set)&&new Set([1]).size===1;function Ef(r){if(Qc(Array.from)&&kf)return Array.from(new Set(r));let e=[];for(let t of r)e.indexOf(t)<0&&e.push(t);return e}s(Ef,"unique");Wt.unique=Ef});var jr=w(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.get=Vt.identity=void 0;function Mf(){return r=>r}s(Mf,"identity");Vt.identity=Mf;function If(r,e=void 0){try{let t=r();return typeof t=="undefined"?e:t}catch(t){return e}}s(If,"get");Vt.get=If});var Ai=w(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.extraDelimiters=O.CachingParser=O.all=O.AllParser=O.parsers=O.or=O.OrParser=O.FailParser=O.IdentityParser=O.mappingParser=O.MappingParser=O.preProcess=O.PreProcessor=O.namedRegexParser=O.NamedRegexParser=void 0;var el=R(),tl=Le(),_f=G(),rl=oe(),nl=re(),vi=class{constructor(e){this.regex=e}parse(e){let t=this.regex.match(e);if(t.length===0)throw new Error(`Generated regex ${this.regex.pattern} did not match "${e}" `);return t}parseAll(e){return(0,nl.array)(this.regex.exec(e))}};s(vi,"NamedRegexParser");O.NamedRegexParser=vi;function Ff(r){return new vi(r)}s(Ff,"namedRegexParser");O.namedRegexParser=Ff;var xi=class{constructor(e,t){this.delegate=e,this.mapper=t}parse(e){return this.delegate.parse(this.mapper(e))}parseAll(e){return this.delegate.parseAll(this.mapper(e))}};s(xi,"PreProcessor");O.PreProcessor=xi;function jf(r,e){return new xi(r,e)}s(jf,"preProcess");O.preProcess=jf;var Si=class{constructor(e,t){this.parser=e,this.mapper=t}parse(e){return this.mapper(this.parser.parse((0,tl.removeUnicodeMarkers)(e)))}parseAll(e){return e?(0,nl.array)(this.parser.parseAll((0,tl.removeUnicodeMarkers)(e)),(0,_f.flatMap)(t=>{try{return[this.mapper(t)]}catch(n){return[]}})):[]}};s(Si,"MappingParser");O.MappingParser=Si;function Lf(r,e){return new Si(r,e)}s(Lf,"mappingParser");O.mappingParser=Lf;var aa=class{parse(e){return e}parseAll(e){return[e]}};s(aa,"IdentityParser");O.IdentityParser=aa;var oa=class{parse(e){throw new Error}parseAll(e){return[]}};s(oa,"FailParser");O.FailParser=oa;var Di=class{constructor(e){this.parsers=e}parse(e){for(let t of this.parsers)try{let n=t.parse(e);if(n)return n}catch(n){}throw new Error(`Unable to parse value: ${e}`)}parseAll(e){for(let t of this.parsers){let n=t.parseAll(e);if(n.length>0)return n}return[]}};s(Di,"OrParser");O.OrParser=Di;function il(...r){return new Di(r)}s(il,"or");O.or=il;function qf(...r){return il(...r)}s(qf,"parsers");O.parsers=qf;var Pi=class{constructor(e){this.parsers=e}parse(e){throw new Error("Not supported, please call AllParser.parseAll")}parseAll(e){return this.parsers.flatMap(t=>t.parseAll(e))}};s(Pi,"AllParser");O.AllParser=Pi;function Hf(...r){return new Pi(r)}s(Hf,"all");O.all=Hf;var Lr=class{constructor(e){this.parser=e}parse(e){return this.parser.parse(e)}parseAll(e){return this.parser.parseAll(e)}};s(Lr,"CachingParser");el.__decorate([rl.cache],Lr.prototype,"parse",null);el.__decorate([rl.cache],Lr.prototype,"parseAll",null);O.CachingParser=Lr;O.extraDelimiters=" -/"});var qr=w(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.atBoundaryOnly=Oe.cleanValue=Oe.boundaryDelimiters=void 0;Oe.boundaryDelimiters=",.";var Kf=new RegExp(`[${Oe.boundaryDelimiters}]$`);function Uf(r){return r.replace(Kf,"").trim()}s(Uf,"cleanValue");Oe.cleanValue=Uf;function Bf(r){return`(?:^|\\s)${r}(?=[\\s${Oe.boundaryDelimiters}]|$)`}s(Bf,"atBoundaryOnly");Oe.atBoundaryOnly=Bf});var al=w(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.Row=Q.PrefixTree=Q.DEFAULT_COMPARATOR=Q.pair=Q.Trie=Q.TrieFactory=void 0;var Jt=R(),Yt=Fe(),$f=Le(),Gf=X(),Nf=Is(),Zt=Rt(),ie=G(),at=class{constructor(e=Gf.ascending){this.comparator=e}get avlTree(){return Nf.AVLTree.empty(this.comparator)}get empty(){return new Ve(this,void 0,this.avlTree)}create(e,t=this.avlTree){return new Ve(this,e,t)}construct(e,t){if(e.length===0)return this.create(t);let[n,...i]=e;return this.create(void 0,this.avlTree.insert(n,this.construct(i,t)))}};s(at,"TrieFactory");Jt.__decorate([Yt.lazy],at.prototype,"avlTree",null);Jt.__decorate([Yt.lazy],at.prototype,"empty",null);Q.TrieFactory=at;var Ve=class{constructor(e=new at,t,n=e.avlTree){this.factory=e,this.value=t,this.children=n}contains(e){return!!this.lookup(e)}get isEmpty(){return!this.value&&this.children.isEmpty}lookup(e){if(e.length==0)return this.value;let[t,...n]=e,i=this.children.lookup(t);return i&&i.lookup(n)}match(e){if(e.length==0){let a=this.value?[this.value]:[];return(0,ie.single)(this.children.values(),(0,ie.reduce)((o,c)=>o.concat(c.match(e)),a))}let[t,...n]=e,i=this.children.lookup(t);return i?i.match(n):[]}insert(e,t){if(e.length===0)return this.factory.create(t,this.children);let[n,...i]=e,a=this.children.lookup(n);return a?a=a.insert(i,t):a=this.factory.construct(i,t),this.factory.create(this.value,this.children.insert(n,a))}delete(e){return this.insert(e,void 0)}entries(){function*e(n,[i,a]){n=[...n,i],a.value&&(yield ca(n,a.value)),yield*t(a,n)}s(e,"recurse");function t(n,i){return(0,Zt.sequence)(n.children.entries(),(0,ie.flatMap)(a=>e(i,a)))}return s(t,"recurseChildren"),t(this,[])}keys(){return(0,Zt.sequence)(this.entries(),(0,ie.map)(([e])=>e))}values(){return(0,Zt.sequence)(this.entries(),(0,ie.map)(([,e])=>e))}get height(){return(0,ie.single)(this.children.values(),(0,ie.reduce)((e,t)=>Math.max(e,t.height+1),0))}toString(){return(this.value?`(${this.value})`:"")+this.children}};s(Ve,"Trie");Jt.__decorate([Yt.lazy],Ve.prototype,"isEmpty",null);Jt.__decorate([Yt.lazy],Ve.prototype,"height",null);Q.Trie=Ve;function ca(r,e){return[r,e]}s(ca,"pair");Q.pair=ca;var zf=new Intl.Collator(void 0,{usage:"sort",sensitivity:"base"}).compare;Q.DEFAULT_COMPARATOR=zf;var Je=class{constructor(e=$f.characters,t=Q.DEFAULT_COMPARATOR,n=new Ve(new at(t))){this.converter=e,this.comparator=t,this.trie=n}contains(e){return!!this.lookup(e)}get isEmpty(){return this.trie.isEmpty}match(e){return this.trie.match(this.converter(e))}lookup(e){return this.trie.lookup(this.converter(e))}insert(e,t=e){return new Je(this.converter,this.comparator,this.trie.insert(this.converter(e),t))}delete(e){return new Je(this.converter,this.comparator,this.trie.insert(this.converter(e),void 0))}entries(){return(0,Zt.sequence)(this.trie.entries(),(0,ie.map)(([e,t])=>ca(e.join(""),t)))}keys(){return(0,Zt.sequence)(this.entries(),(0,ie.map)(([e])=>e))}values(){return(0,Zt.sequence)(this.entries(),(0,ie.map)(([,e])=>e))}get height(){return this.trie.height}search(e,t){let n=ot.create(this.converter(e),this.comparator);return(0,ie.single)(this.trie.children.entries(),(0,ie.reduce)((i,[a,o])=>i.concat(sl(o,a,n,t)),[]))}};s(Je,"PrefixTree");Jt.__decorate([Yt.lazy],Je.prototype,"isEmpty",null);Jt.__decorate([Yt.lazy],Je.prototype,"height",null);Q.PrefixTree=Je;function sl(r,e,t,n){let i=t.next(e),a=[];return i.distance<=n&&r.value&&a.push({value:r.value,distance:i.distance}),i.minimal<=n?(0,ie.single)(r.children.entries(),(0,ie.reduce)((o,[c,l])=>o.concat(sl(l,c,i,n)),a)):a}s(sl,"recurse");var ot=class{constructor(e,t,n){this.keys=e,this.values=t,this.comparator=n}static create(e,t){let n=[];for(let i=0;i<=e.length;i++)n[i]=i;return new ot(e,n,t)}next(e){let t=this.keys.reduce((n,i,a)=>(n[a+1]=this.comparator(i,e)===0?this.values[a]:1+Math.min(n[a],this.values[a],this.values[a+1]),n),[this.values[0]+1]);return new ot(this.keys,t,this.comparator)}get distance(){return this.values[this.keys.length]}get minimal(){return Math.min(...this.values)}};s(ot,"Row");Q.Row=ot});var Hr=w($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});$.Weekdays=$.Months=$.numberFormatter=$.Numerals=$.numberOf=$.DatumLookup=$.uniqueMatch=void 0;var Wf=R(),ol=al(),cl=qr(),la=Fr(),ua=Le(),Vf=jr(),Jf=re(),ll=G(),Yf=Fe(),Zf=oe();function ul(r,e){let t=(0,la.flatten)(r.match(e)),n=(0,la.unique)(t.map(i=>i.value));if(n.length==1)return n[0]}s(ul,"uniqueMatch");$.uniqueMatch=ul;var Xt=class{constructor(e,t=ol.DEFAULT_COMPARATOR){this.data=e,this.prefixTree=this.data.reduce((n,i)=>{let a=n.lookup(i.name)||[];return a.push(i),n.insert(i.name,a)},new ol.PrefixTree(void 0,t))}parse(e,t=ul){let n=t(this.prefixTree,e);if(typeof n=="undefined")throw new Error(`${this.constructor.name} - Unable to parse: ${e}`);return n}get pattern(){return`[${this.characters.join("")}]{1,${this.max}}`}get max(){return this.data.reduce((e,t)=>{let n=(0,ua.characters)(t.name).length;return Math.max(e,n)},Number.MIN_VALUE)}get characters(){return(0,la.unique)(this.data.map(e=>e.name).flatMap(ua.characters)).sort()}};s(Xt,"DatumLookup");$.DatumLookup=Xt;function dl(r){return!r||r.trim().length===0?NaN:Number(r)}s(dl,"numberOf");$.numberOf=dl;var de=class extends Xt{constructor(e,t){super(e);this.locale=t}static get(e,t=[]){return de.cache[e]=de.cache[e]||de.create(e,t)}static create(e,t=[]){return new de([...de.generateData(e),...t],e)}static generateData(e){let t=(0,$.numberFormatter)(e).format(1234567890).replace(/[,. '٬٫]/g,"");return(0,Jf.array)((0,ua.characters)(t),(0,ll.zip)([1,2,3,4,5,6,7,8,9,0]),(0,ll.map)(([n,i])=>({name:n,value:i})))}parse(e){let t=dl(e);return isNaN(t)?super.parse(e):t}get pattern(){let e=this.characters.join("");return e==="0123456789"?"\\d":`\\d${e}`}format(e){return(0,$.numberFormatter)(this.locale).format(e)}};s(de,"Numerals");de.cache={};Wf.__decorate([Yf.lazy],de.prototype,"pattern",null);$.Numerals=de;$.numberFormatter=(0,Zf.caching)(r=>new Intl.NumberFormat(r,{useGrouping:!1}));var da=class extends Xt{constructor(e,t){super(e);this.numerals=de.get(t)}parse(e){let t=(0,Vf.get)(()=>this.numerals.parse(e));return isNaN(t)?super.parse((0,cl.cleanValue)(e)):t}};s(da,"Months");$.Months=da;var pa=class extends Xt{parse(e){return super.parse((0,cl.cleanValue)(e))}};s(pa,"Weekdays");$.Weekdays=pa});var Oi=w(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.weekdays=ee.WeekdaysBuilder=ee.months=ee.MonthsBuilder=ee.additionalMonthsDatum=ee.monthDatum=void 0;var Kr=R(),pl=st(),Ci=_r(),fl=qr(),Ur=oe(),ml=Hr();function yl(r,e){let t=[];for(let n=r;n<=e;n++)t.push(n);return t}s(yl,"range");function Ti(r){return r.map((e,t)=>({name:e,value:t+1}))}s(Ti,"monthDatum");ee.monthDatum=Ti;var gl=[{name:"Mrz",value:3},{name:"Sep.",value:9}],hl=[["jan\xFAar","febr\xFAar","mars","apr\xEDl","ma\xED","j\xFAn\xED","j\xFAl\xED","\xE1g\xFAst","september","okt\xF3ber","n\xF3vember","desember"],["jan.","feb.","mar.","apr.","ma\xED","j\xFAn.","j\xFAl.","\xE1g\xFA.","sep.","okt.","n\xF3v.","des."]].flatMap(Ti),bl=Ti(["gener","febrer","mar\xE7","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"]),wl=[{name:"ene",value:1},{name:"abr",value:4},{name:"ago",value:8},{name:"dic",value:12}];ee.additionalMonthsDatum={de:gl,"de-DE":gl,ca:bl,"ca-ES":bl,es:wl,"es-ES":wl,is:hl,"is-IS":hl};var Re=class{constructor(e={}){this.monthsData=e}static create(e){return new Re(e.monthsData)}build(e){let t=Re.formats.flatMap(n=>this.datumFor(e,n));return new ml.Months([...this.monthsData[e]||[],...ee.additionalMonthsDatum[e]||[],...t],e)}datumFor(e,t){return Ti(this.namesFor(e,t))}namesFor(e,t){let n=yl(1,12).map(a=>(0,pl.date)(2e3,a,1)),i=Ci.Formatters.create(e,t);return n.map(a=>(0,Ci.valueFromParts)(i.formatToParts(a),"month")).map(fl.cleanValue)}};s(Re,"MonthsBuilder");Re.formats=[{month:"long"},{month:"short"},{year:"numeric",month:"long",day:"numeric"},{year:"numeric",month:"short",day:"numeric"}];Kr.__decorate([Ur.cache],Re.prototype,"build",null);Kr.__decorate([Ur.cache],Re.prototype,"namesFor",null);ee.MonthsBuilder=Re;function Xf(r,e="long"){let t=Object.assign({},typeof e=="string"?{month:e}:e);return Re.create(t).namesFor(r,t)}s(Xf,"months");ee.months=Xf;var be=class{constructor(e={}){this.weekdayData=e}static create(e){let t=e.weekdaysData;return this._create(t)}static _create(e){return new be(e)}build(e){let t=be.formats.flatMap(n=>this.datumFor(e,n));return new ml.Weekdays([...this.weekdayData[e]||[],...t])}datumFor(e,t){return this.namesFor(e,t).map((n,i)=>({name:n,value:i+1}))}namesFor(e,t){let n=yl(1,7).map(a=>(0,pl.date)(2e3,1,a+2)),i=Ci.Formatters.create(e,t);return n.map(a=>(0,Ci.valueFromParts)(i.formatToParts(a),"weekday")).map(fl.cleanValue)}};s(be,"WeekdaysBuilder");be.formats=[{weekday:"long"},{weekday:"short"},{year:"numeric",month:"numeric",day:"numeric",weekday:"long"},{year:"numeric",month:"numeric",day:"numeric",weekday:"short"}];Kr.__decorate([Ur.cache],be.prototype,"build",null);Kr.__decorate([Ur.cache],be.prototype,"namesFor",null);Kr.__decorate([Ur.cache],be,"_create",null);ee.WeekdaysBuilder=be;function Qf(r,e="long"){let t=Object.assign({},typeof e=="string"?{weekday:e}:e);return be.create(t).namesFor(r,t)}s(Qf,"weekdays");ee.weekdays=Qf});var wa=w(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.formatBuilder=x.parser=x.defaultParserOptions=x.DefaultDateFactory=x.dateFrom=x.DateTimeFormatPartParser=x.DateParser=x.escapeCharacters=x.RegexBuilder=x.inferDecimalSeparator=x.numberParser=x.NumberParser=x.decimalSeparator=x.isDecimalSeparator=x.separatorsOf=x.mapIgnoreError=x.numberPattern=x.Spaces=void 0;var Ri=R(),em=Fe(),Br=Le(),vl=G(),$r=oe(),xl=re(),fa=st(),Sl=Fr(),ma=jr(),Qt=Ai(),ya=_r(),ga=qr(),er=Hr(),ki=Oi(),le=class{static handle(e){return le.codes.indexOf(e)!=-1?le.spaces:e}static remove(e){return e&&e.replace(le.pattern,"")}};s(le,"Spaces");x.Spaces=le;le.codes=[32,160,8239].map(r=>String.fromCharCode(r));le.spaces=le.codes.join("");le.pattern=new RegExp(`[${le.spaces}]`,"g");var Dl=`\u066C\u066B,.'\u2019\u2018${le.spaces}`;x.numberPattern=(0,$r.caching)(r=>{let e=er.Numerals.get(r).pattern;return`-?(?:[${e}]+[${Dl}])*[${e}]+`});function Pl(r){return(0,vl.flatMap)(e=>{try{return[r(e)]}catch(t){return[]}})}s(Pl,"mapIgnoreError");x.mapIgnoreError=Pl;var tm=Br.NamedRegExp.create(`(?[${Dl}])`);function Al(r){return(0,xl.array)(tm.exec(r),(0,vl.map)(([e])=>e.value))}s(Al,"separatorsOf");x.separatorsOf=Al;function ha(r){return r&&typeof r=="string"&&r==="."||r===","||r==="\u066B"}s(ha,"isDecimalSeparator");x.isDecimalSeparator=ha;function Cl(r){if(ha(r))return r;throw new Error(`Invalid decimal separator${r}`)}s(Cl,"decimalSeparator");x.decimalSeparator=Cl;var Ei=class{constructor(e,t){this.decimalSeparator=e,this.locale=t,this.strictNumberPattern=new RegExp(`^${(0,x.numberPattern)(t)}$`),this.globalNumberPattern=Br.NamedRegExp.create(`(?${(0,x.numberPattern)(t)})`,"g")}parse(e){if(!this.strictNumberPattern.test(e))throw new Error(`Unable to parse '${e}'`);return this.parseSingle(e)}parseAll(e){return(0,xl.array)(this.globalNumberPattern.exec(e),Pl(([t])=>this.parseSingle(t.value.trim())))}parseSingle(e,t=this.decimalSeparator(e)){let n=Al(e);if(n.length===0)return this.numberOf(e,t);let a=n[n.length-1]===t?n.slice(0,n.length-1):n;if(a.indexOf(t)!==-1)throw new Error(`Unable to parse '${e}'`);if((0,Sl.unique)(a).length>1)throw new Error(`Unable to parse '${e}'`);return this.numberOf(e,t)}convert(e,t){let n=er.Numerals.get(this.locale);return(0,Br.characters)(e).map(i=>{if(i===t)return".";if(i==="-")return"-";let a=(0,ma.get)(()=>n.parse(i));return isNaN(a)?"":a.toString()}).join("")}numberOf(e,t){let n=this.convert(e,t),i=(0,er.numberOf)(n);if(isNaN(i))throw new Error(`Unable to parse '${e}'`);return i}};s(Ei,"NumberParser");x.NumberParser=Ei;function Mi(r,e="en"){return r?ha(r)?new Ei(t=>r,e):Mi((0,x.inferDecimalSeparator)(r),r):Mi(e)}s(Mi,"numberParser");x.numberParser=Mi;x.inferDecimalSeparator=(0,$r.caching)(r=>(0,ma.get)(()=>Cl(new Intl.NumberFormat(r).formatToParts(.1).find(e=>e.type==="decimal").value),"."));var qe=class{constructor(e,t=fa.defaultOptions,n){this.locale=e,this.options=t,this.formatted=n}static create(e,t=fa.defaultOptions){return typeof t=="string"?ba(e,t):typeof t.format=="string"?ba(e,t.format,t.strict):new qe(e,t,(0,ya.formatData)(new Date,e,t))}get pattern(){let e=this.formatted.map((t,n)=>{switch(t.type){case"year":return`(?[${er.Numerals.get(this.locale).pattern}]{${this.lengthOf(t.value)}})`;case"month":return`(?${this.monthsPattern()})`;case"day":return`(?[${er.Numerals.get(this.locale).pattern}]{1,2})`;case"weekday":return`(?${ki.WeekdaysBuilder.create(this.options).build(this.locale).pattern.toLocaleLowerCase(this.locale)})`;default:{let i=(0,Sl.unique)((0,Br.characters)(Tl(this.addExtraLiterals(t)))).join("").replace(" ","\\s"),o=n===this.formatted.length-1?"*":"+";return`[${i}]${o}?`}}}).join("");return(0,ga.atBoundaryOnly)(e)}lengthOf(e){return e.length===2||e==="2-digit"?2:4}addExtraLiterals(e){return this.options.strict?e.value:this.options.format?e.value+(this.options.separators||ga.boundaryDelimiters):e.value+(this.options.separators||ga.boundaryDelimiters+Qt.extraDelimiters)}monthsPattern(){let e=`[${er.Numerals.get(this.locale).pattern}]{1,2}`,t=ki.MonthsBuilder.create(this.options).build(this.locale).pattern.toLocaleLowerCase(this.locale);return this.options.month==="2-digit"||this.options.month==="numeric"?e:this.options.month==="short"||this.options.month==="long"?t:`(?:${e}|${t})`}};s(qe,"RegexBuilder");Ri.__decorate([em.lazy],qe.prototype,"pattern",null);Ri.__decorate([$r.cache],qe,"create",null);x.RegexBuilder=qe;function Tl(r){return r.replace(/[\-]/g,"\\$&")}s(Tl,"escapeCharacters");x.escapeCharacters=Tl;var tr=class{static create(e,t){let n=qe.create(e,t).pattern;return(0,Qt.mappingParser)(Gr.create(Br.NamedRegExp.create(n),e),i=>Ol(i,e,t))}};s(tr,"DateParser");Ri.__decorate([$r.cache],tr,"create",null);x.DateParser=tr;var Gr=class{static create(e,t){return(0,Qt.preProcess)((0,Qt.mappingParser)((0,Qt.namedRegexParser)(e),n=>this.convert(n,t)),n=>this.preProcess(n,t))}static convert(e,t){return e.map(n=>({type:n.name,value:n.value.toLocaleUpperCase(t)}))}static preProcess(e,t){return e.toLocaleLowerCase(t)}};s(Gr,"DateTimeFormatPartParser");Ri.__decorate([$r.cache],Gr,"create",null);x.DateTimeFormatPartParser=Gr;function Ol(r,e,t){var n;let i=Mi(".",e),a=r.find(C=>C.type==="day");if(!a)throw new Error("No day found");let o=i.parse(a.value),c=r.find(C=>C.type==="month");if(!c)throw new Error("No month found");let l=ki.MonthsBuilder.create(t).build(e).parse(c.value),p=r.find(C=>C.type==="year"),h=p?i.parse(p.value):void 0,D=r.find(C=>C.type==="weekday"),b=D?(0,ma.get)(()=>ki.WeekdaysBuilder.create(t).build(e).parse(D.value)):void 0;return((n=t.factory)!==null&&n!==void 0?n:new Ii).create({year:h,month:l,day:o,weekday:b})}s(Ol,"dateFrom");x.dateFrom=Ol;var Ii=class{create({year:e,month:t,day:n}){if(typeof e=="undefined")throw new Error("No year found");return(0,fa.date)(e,t,n)}};s(Ii,"DefaultDateFactory");x.DefaultDateFactory=Ii;x.defaultParserOptions=[{year:"numeric",month:"long",day:"numeric",weekday:"long"},{year:"numeric",month:"short",day:"numeric",weekday:"short"},{year:"numeric",month:"numeric",day:"numeric"},{year:"numeric",month:"short",day:"numeric"},{year:"numeric",month:"long",day:"numeric"}];function Rl(r,e){switch(typeof e){case"string":return tr.create(r,{format:e});case"object":return tr.create(r,e);default:return(0,Qt.or)(...x.defaultParserOptions.map(t=>Rl(r,t)))}}s(Rl,"parser");x.parser=Rl;function ba(r,e,t=!1){return new qe(r,Object.assign(Object.assign({},(0,ya.optionsFrom)(e)),{strict:t}),(0,ya.partsFrom)(e))}s(ba,"formatBuilder");x.formatBuilder=ba});var Il=w(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.SmartDate=W.Pivot=W.InferYear=W.InferDirection=W.InferYearViaWeekday=W.compositeDateFactory=W.parse=void 0;var kl=G(),_i=bi(),El=Rt(),rm=re(),we=st(),Ml=wa();function nm(r,e,t){return(0,Ml.parser)(e,t).parse(r)}s(nm,"parse");W.parse=nm;var va=class{constructor(e){this.factories=e}create(e){for(let t of this.factories)try{return t.create(e)}catch(n){}throw new Error(`Unable to create date for ${JSON.stringify(e)}`)}};s(va,"CompositeDateFactory");function im(...r){return new va(r)}s(im,"compositeDateFactory");W.compositeDateFactory=im;var Nr=class{constructor(e){this.clock=e}static create(e=new _i.SystemClock){return new Nr(e)}create({year:e,month:t,day:n,weekday:i}){if(e)return(0,we.date)(e,t,n);if(!i)throw new Error("No weekday provided");let a=this.candidates(t,n).find(o=>(0,we.weekdayOf)(o)===i);if(a)return a;throw new Error("No candidate date found that matches")}candidates(e,t){let n=we.Days.startOf(this.clock.now());return(0,rm.array)((0,El.range)(0,-6),(0,kl.zip)((0,El.range)(1,6)),(0,kl.flatMap)(i=>i),(0,Ml.mapIgnoreError)(i=>(0,we.date)((0,we.yearOf)(n)+i,e,t)))}};s(Nr,"InferYearViaWeekday");W.InferYearViaWeekday=Nr;var zr;(function(r){r[r.Before=-1]="Before",r[r.After=1]="After"})(zr=W.InferDirection||(W.InferDirection={}));var ve=class{constructor(e,t){this.direction=t,this.date=we.Days.startOf(e)}static before(e){return new ve(e,zr.Before)}static after(e){return new ve(e,zr.After)}static sliding(e=new _i.SystemClock){let t=e.now();return ve.before((0,we.date)((0,we.yearOf)(t)+50,1,1))}create({year:e,month:t,day:n}){if(e&&e<10)throw new Error("Illegal year");if(e&&e>=100&&e<1e3)throw new Error("Illegal year");if(e&&e>=1e3)return(0,we.date)(e,t,n);let i=this.calculateYear(e),a=(0,we.date)(i,t,n);if(this.direction==zr.Before&&athis.date)return a;let o=this.calculateYearIncrement(e);return a.setUTCFullYear(a.getUTCFullYear()+o*this.direction),a}calculateYearIncrement(e){return typeof e=="undefined"?1:100}calculateYear(e){if(typeof e=="undefined")return this.date.getUTCFullYear();let t=Math.floor(this.date.getUTCFullYear()/100)*100;return e+t}};s(ve,"InferYear");W.InferYear=ve;var xa=class{static on(e){return ve.before((0,we.date)(e,1,1))}static sliding(e=new _i.SystemClock){return ve.sliding(e)}};s(xa,"Pivot");W.Pivot=xa;var Sa=class{constructor(e=new _i.SystemClock){this.clock=e}create(e){return typeof e.year=="undefined"?ve.after(this.clock.now()).create(e):ve.sliding(this.clock).create(e)}};s(Sa,"SmartDate");W.SmartDate=Sa});var Fl=w(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.LearningDateFormatter=se.FromFormatStringWeekdayExtractor=se.FromFormatStringMonthExtractor=se.FromFormatStringDataExtractor=se.exactFormat=se.BaseDataExtractor=void 0;var xe=R(),Fi=st(),rr=Le(),sm=oe(),ke=Fe(),_l=_r(),am=re(),om=G(),Da=Hr(),Wr=Oi(),ji=class{constructor(e,t,n,i){this.locale=e,this.options=t,this.dates=n,this.partType=i}};s(ji,"BaseDataExtractor");se.BaseDataExtractor=ji;function Pa(r,e,t){let n=_l.Formatters.create(r,e);return t.map(i=>n.format(i))}s(Pa,"exactFormat");se.exactFormat=Pa;var Vr=class extends ji{extract(){let e=Object.keys(this.options).length==1,t=Pa(this.locale,this.options,this.dates);if(e)return t;let n=Pa(this.locale,{[this.partType]:this.options[this.partType]},this.dates),i=this.diff(t),a=[];for(let o=0;op.length&&isNaN(parseInt(p))?l:p)}return a}diff(e){return(0,rr.different)(e)}};s(Vr,"FromFormatStringDataExtractor");se.FromFormatStringDataExtractor=Vr;var Ye=class extends Vr{constructor(e,t,n){super(e,t,n,"month")}diff(e){if(!this.options.weekday)return super.diff(e);let t=[],n=(0,Wr.weekdays)(this.locale,this.options),i=n[this.day(this.dates[8])];for(let a=0;a{let n=t[1],i=t[2];if(i==="\u5E74")return`${n}year`;if(i==="\u6708")return`${n}month`;if(i==="\u65E5")return`${n}day`;throw new Error(`Unknown delimiter ${i}`)})}restoreYearMonthDay(e){return(0,rr.replace)(Ye.restoreYMD,e,t=>{let n=t[1];if(n==="year")return"\u5E74";if(n==="month")return"\u6708";if(n==="day")return"\u65E5";throw new Error(`Unknown delimiter ${n}`)})}day(e){let t=e.getUTCDay();return t==0?6:t-1}};s(Ye,"FromFormatStringMonthExtractor");se.FromFormatStringMonthExtractor=Ye;Ye.replaceYMD=/(\d)([年月日])/g;Ye.restoreYMD=/(year|month|day)/g;var Aa=class extends Vr{constructor(e,t,n){super(e,t,n,"weekday")}diff(e){if(!this.options.day)return super.diff(e);let t=[],n=this.dates[0].getUTCDate().toString();for(let i=0;i`(?<${i}>${this[i]})`,"template"),n=`(?:${Object.keys(this.options).map(i=>e(i)).join("|")})`;return rr.NamedRegExp.create(n)}get actualNamesPattern(){let e=Da.Numerals.get(this.locale).pattern,t=this.learningNamesPattern,n=(0,am.array)(t.iterate(this.formatted),(0,om.map)(a=>{if((0,rr.isNamedMatch)(a)){let[o]=a.filter(c=>Boolean(c.value)).map(c=>c.name);if(!o)throw new Error;if(o=="year")return`(?[${e}]{4})`;if(o=="day")return`(?[${e}]{1,2})`;if(o=="month")return`(?(?:[${e}]{1,2}|${this.months.pattern}))`;if(o=="weekday")return`(?${this.weekdays.pattern})`}else return`(?[${a}]+?)`})),i="^"+n.join("")+"$";return rr.NamedRegExp.create(i)}format(e){return this.formatter.format(e)}formatToParts(e){let t=this.actualNamesPattern,n=this.formatter.format(e),i=t.match(n);if(i.length===0)throw new Error(`${t} did not match ${n}`);let a=i.map(o=>({type:this.getType(o.name,o.value),value:o.value}));return this.collapseLiterals(a)}collapseLiterals(e){for(let t=0;t{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var He=R();He.__exportStar(bi(),Se);He.__exportStar(st(),Se);He.__exportStar(_r(),Se);He.__exportStar(wa(),Se);He.__exportStar(qr(),Se);He.__exportStar(Il(),Se);He.__exportStar(Hr(),Se);He.__exportStar(Fl(),Se);He.__exportStar(Oi(),Se)});var Su=w(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.currencies=void 0;ps.currencies={AFN:{decimals:2,symbols:["Afs","\u060B"]},EUR:{decimals:2,symbols:["\u20AC"]},ALL:{decimals:2,symbols:["L"]},DZD:{decimals:2,symbols:["DA"]},USD:{decimals:2,symbols:["$","US$"]},AOA:{decimals:2,symbols:["Kz"]},XCD:{decimals:2,symbols:["EC$","$"]},ARS:{decimals:2,symbols:["$"]},AMD:{decimals:2,symbols:["\u058F"]},AWG:{decimals:2,symbols:["\u0192"]},AUD:{decimals:2,symbols:["A$","AU$","AUD","$"]},AZN:{decimals:2,symbols:["\u20BC","A.M."]},BSD:{decimals:2,symbols:["B$","$"]},BHD:{decimals:3,symbols:["BD"]},BDT:{decimals:2,symbols:["\u09F3"]},BBD:{decimals:2,symbols:["Bds$","$"]},BYN:{decimals:2,symbols:["Br"]},BZD:{decimals:2,symbols:["Bz$","$"]},XOF:{decimals:0,symbols:["F"]},BMD:{decimals:2,symbols:["BD$","$"]},INR:{decimals:2,symbols:["\u20B9","Rs"]},BTN:{decimals:2,symbols:["Nu"]},BOB:{decimals:2,symbols:["Bs"]},BOV:{decimals:2,symbols:[]},BAM:{decimals:2,symbols:["KM"]},BWP:{decimals:2,symbols:["P"]},NOK:{decimals:2,symbols:["kr"]},BRL:{decimals:2,symbols:["R$"]},BND:{decimals:2,symbols:["B$","$"]},BGN:{decimals:2,symbols:["\u043B\u0432.","\u043B\u0432"]},BIF:{decimals:0,symbols:["FBu"]},CVE:{decimals:2,symbols:[]},KHR:{decimals:2,symbols:["\u17DB"]},XAF:{decimals:0,symbols:[]},CAD:{decimals:2,symbols:["C$","CAD$","$","\xA2"]},KYD:{decimals:2,symbols:["CI$","$"]},CLP:{decimals:0,symbols:["CLP$","$"]},CLF:{decimals:4,symbols:[]},CNY:{decimals:2,symbols:["\xA5","\uFFE5"]},COP:{decimals:2,symbols:["COL$","$"]},COU:{decimals:2,symbols:["COU$"]},KMF:{decimals:0,symbols:["CF"]},CDF:{decimals:2,symbols:["CF"]},NZD:{decimals:2,symbols:["NZ$","$"]},CRC:{decimals:2,symbols:["\u20A1"]},HRK:{decimals:2,symbols:["kn"]},CUP:{decimals:2,symbols:["$MN","$"]},CUC:{decimals:2,symbols:["CUC$","$"]},ANG:{decimals:2,symbols:["\u0192","NA\u0192","CMg"]},CZK:{decimals:2,symbols:["K\u010D"]},DKK:{decimals:2,symbols:["kr","kr."]},DJF:{decimals:0,symbols:["Fdj"]},DOP:{decimals:2,symbols:["RD$","$"]},EGP:{decimals:2,symbols:["LE","\xA3"]},SVC:{decimals:2,symbols:[]},ERN:{decimals:2,symbols:["Nfk"]},SZL:{decimals:2,symbols:["E"]},ETB:{decimals:2,symbols:["Br"]},FKP:{decimals:2,symbols:["\xA3"]},FJD:{decimals:2,symbols:["F$","FJ$","$"]},XPF:{decimals:0,symbols:["\u20A3"]},GMD:{decimals:2,symbols:["D"]},GEL:{decimals:2,symbols:["\u20BE"]},GHS:{decimals:2,symbols:["GH\u20B5"]},GIP:{decimals:2,symbols:["\xA3"]},GTQ:{decimals:2,symbols:["Q"]},GBP:{decimals:2,symbols:["\xA3"]},GNF:{decimals:0,symbols:["FG"]},GYD:{decimals:2,symbols:["G$","GY$","$"]},HTG:{decimals:2,symbols:["Gde.","G"]},HNL:{decimals:2,symbols:["L"]},HKD:{decimals:2,symbols:["\u5143","HK$","$"]},HUF:{decimals:2,symbols:["Ft"]},ISK:{decimals:0,symbols:["kr"]},IDR:{decimals:2,symbols:["Rp","Rs"]},XDR:{decimals:0,symbols:[]},IRR:{decimals:2,symbols:["\uFDFC"]},IQD:{decimals:3,symbols:["\u062F.\u0639","ID"]},ILS:{decimals:2,symbols:["\u20AA"]},JMD:{decimals:2,symbols:["J$","$"]},JPY:{decimals:0,symbols:["\u5186","\xA5","\uFFE5"]},JOD:{decimals:3,symbols:["JD"]},KZT:{decimals:2,symbols:["\u20B8"]},KES:{decimals:2,symbols:["Ksh","KSh"]},KPW:{decimals:2,symbols:["\u20A9"]},KRW:{decimals:0,symbols:["\u20A9"]},KWD:{decimals:3,symbols:["KD","\u062F.\u0643"]},KGS:{decimals:2,symbols:["\u20C0"]},LAK:{decimals:2,symbols:["\u20AD"]},LBP:{decimals:2,symbols:["\u0644.\u0644.","LL","\xA3"]},LSL:{decimals:2,symbols:["M"]},ZAR:{decimals:2,symbols:["R"]},LRD:{decimals:2,symbols:["Lib$","L$","$"]},LYD:{decimals:3,symbols:["LD"]},CHF:{decimals:2,symbols:["Fr"]},MOP:{decimals:2,symbols:["MOP$"]},MKD:{decimals:2,symbols:["DEN","\u0434\u0435\u043D"]},MGA:{decimals:2,symbols:["Ar"]},MWK:{decimals:2,symbols:["MK"]},MYR:{decimals:2,symbols:["RM"]},MVR:{decimals:2,symbols:["\u0783","Rf","MRF"]},MRU:{decimals:2,symbols:[]},MUR:{decimals:2,symbols:["\u20A8"]},XUA:{decimals:0,symbols:[]},MXN:{decimals:2,symbols:["$"]},MXV:{decimals:2,symbols:[]},MDL:{decimals:2,symbols:["L"]},MNT:{decimals:2,symbols:["\u20AE"]},MAD:{decimals:2,symbols:["DH"]},MZN:{decimals:2,symbols:["MT","MTn"]},MMK:{decimals:2,symbols:["K"]},NAD:{decimals:2,symbols:["N$","$"]},NPR:{decimals:2,symbols:["N\u20A8","\u0930\u0941","\u20A8","Re"]},NIO:{decimals:2,symbols:["C$"]},NGN:{decimals:2,symbols:["\u20A6"]},OMR:{decimals:3,symbols:["\u0631.\u0639."]},PKR:{decimals:2,symbols:["\u20A8","Rs"]},PAB:{decimals:2,symbols:["B/."]},PGK:{decimals:2,symbols:["K"]},PYG:{decimals:0,symbols:["\u20B2"]},PEN:{decimals:2,symbols:["S/."]},PHP:{decimals:2,symbols:["\u20B1"]},PLN:{decimals:2,symbols:["z\u0142"]},QAR:{decimals:2,symbols:["QR"]},RON:{decimals:2,symbols:["lei"]},RUB:{decimals:2,symbols:["\u20BD"]},RWF:{decimals:0,symbols:["FRw"]},SHP:{decimals:2,symbols:["\xA3"]},WST:{decimals:2,symbols:["WS$"]},STN:{decimals:2,symbols:["Db","\u20A1"]},SAR:{decimals:2,symbols:["SR"]},RSD:{decimals:2,symbols:["\u0434\u0438\u043D","din"]},SCR:{decimals:2,symbols:["SRe"]},SLL:{decimals:2,symbols:["Le"]},SLE:{decimals:2,symbols:["Le"]},SGD:{decimals:2,symbols:["S$","$"]},XSU:{decimals:0,symbols:["Sucre"]},SBD:{decimals:2,symbols:["$","SI$"]},SOS:{decimals:2,symbols:["Sh.So."]},SSP:{decimals:2,symbols:["Db","\xA3"]},LKR:{decimals:2,symbols:["Rs","\u0DBB\u0DD4","\u0BB0\u0BC2"]},SDG:{decimals:2,symbols:["\u062C.\u0633","sud\xA3","\xA3"]},SRD:{decimals:2,symbols:["$"]},SEK:{decimals:2,symbols:["kr"]},CHE:{decimals:2,symbols:[]},CHW:{decimals:2,symbols:[]},SYP:{decimals:2,symbols:["syr\xA3","LS","\xA3"]},TWD:{decimals:2,symbols:["NT$","$"]},TJS:{decimals:2,symbols:["SM"]},TZS:{decimals:2,symbols:["TSh"]},THB:{decimals:2,symbols:["\u0E3F"]},TOP:{decimals:2,symbols:["T$"]},TTD:{decimals:2,symbols:["TT$","$"]},TND:{decimals:3,symbols:["DT"]},TRY:{decimals:2,symbols:["YTL","\u20BA"]},TMT:{decimals:2,symbols:["T"]},UGX:{decimals:0,symbols:["Ush"]},UAH:{decimals:2,symbols:["\u20B4"]},AED:{decimals:2,symbols:["DH","\u062F.\u0625","Dhs"]},USN:{decimals:2,symbols:[]},UYU:{decimals:2,symbols:["$U","$"]},UYI:{decimals:0,symbols:[]},UYW:{decimals:4,symbols:[]},UZS:{decimals:2,symbols:["So'm"]},VUV:{decimals:0,symbols:["VT"]},VES:{decimals:2,symbols:["Bs.S"]},VED:{decimals:2,symbols:[]},VND:{decimals:0,symbols:["\u20AB","\u0111"]},YER:{decimals:2,symbols:["\uFDFC'"]},ZMW:{decimals:2,symbols:["K","ZK"]},ZWL:{decimals:2,symbols:[]},XBA:{decimals:0,symbols:[]},XBB:{decimals:0,symbols:[]},XBC:{decimals:0,symbols:[]},XBD:{decimals:0,symbols:[]},XTS:{decimals:0,symbols:[]},XXX:{decimals:0,symbols:[]},XAU:{decimals:0,symbols:[]},XPD:{decimals:0,symbols:[]},XPT:{decimals:0,symbols:[]},XAG:{decimals:0,symbols:[]},ADP:{symbols:["Pta"],decimals:2}}});var Du=w(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.PreferredCurrencies=void 0;var U=class{static dollarSymbol(e){return e&&U.dollarCountries[e]||"USD"}static poundSymbol(e){return e&&U.poundCountries[e]||"GBP"}static yenSymbol(e){return e&&U.yenCountries[e]||"JPY"}static kroneSymbol(e){return e&&U.kroneCountries[e]||"DKK"}static rupeeSymbol(e){return e&&U.rupeeCountries[e]||"INR"}static for(e){return[U.dollarSymbol(e),U.poundSymbol(e),U.yenSymbol(e),U.kroneSymbol(e),U.rupeeSymbol(e)]}};s(U,"PreferredCurrencies");fs.PreferredCurrencies=U;U.dollarCountries={AG:"XCD",AR:"ARS",AU:"AUD",BS:"BSD",BB:"BBD",BZ:"BZD",BM:"BMD",BN:"BND",CA:"CAD",CO:"COP",CL:"CLP",CU:"CUP",DM:"XCD",DO:"DOP",EC:"USD",FM:"USD",KY:"KYD",FJ:"FJD",GD:"XCD",GY:"GYD",HK:"HKD",JM:"JMD",KI:"AUD",KN:"XCD",LC:"XCD",LR:"LRD",MH:"USD",MX:"MXN",NA:"NAD",NZ:"NZD",SG:"SGD",SB:"SBD",SR:"SRD",SV:"USD",TL:"USD",TW:"TWD",TT:"TTD",TV:"AUD",US:"USD",UY:"UYU",VC:"XCD",ZW:"USD"};U.poundCountries={EG:"EGP",FK:"FKP",GB:"GBP",GI:"GIP",GG:"GBP",IM:"GBP",JE:"GBP",LB:"LBP",SH:"SHP",SS:"SSP",SD:"SDG",SY:"SYP"};U.yenCountries={CN:"CNY",JP:"JPY"};U.kroneCountries={DK:"DKK",FO:"DKK",GL:"DKK",IS:"ISK",NO:"NOK",SE:"SEK"};U.rupeeCountries={IN:"INR",ID:"IDR",MU:"MUR",NP:"NPR",PK:"PKR",LK:"LKR"}});var La=w(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.infer=ur.prefer=void 0;var Pu=Fr(),ly=Du();function uy(...r){if(r.filter(Boolean).length!==0)return(e,t)=>{let n=e.lookup(t)||[],i=(0,Pu.unique)(n.map(a=>a.value));if(i.length!==0)return i.length===1?i[0]:i.find(a=>r.indexOf(a)!==-1)}}s(uy,"prefer");ur.prefer=uy;function dy(r){return r?r.split(/[-_]/).filter(Boolean):[]}s(dy,"localeParts");function py(r){let[,e]=dy(r),t=ly.PreferredCurrencies.for(e);return(n,i)=>{let a=n.lookup(i)||[],o=(0,Pu.unique)(a.map(l=>l.value));if(o.length===0)return;if(o.length===1)return o[0];let c=o.filter(l=>l.startsWith(e));return c.length===1?c[0]:o.find(l=>t.indexOf(l)!==-1)}}s(py,"infer");ur.infer=py});var Eu=w(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.IntegerGroupParser=S.PartsFromFormat=S.NumberFormatPartParser=S.MoneyParser=S.RegexBuilder=S.symbolFor=S.CurrencySymbols=S.parseToParts=S.parser=S.parse=S.FormatToParts=S.toPartsPonyfill=S.format=S.partsFrom=S.hasNativeToParts=S.Formatter=S.decimalsFor=S.moneyFrom=S.money=void 0;var lt=R(),Xe=Le(),pe=G(),ms=X(),qa=Su(),Au=Fe(),Ha=Ai(),Qr=oe(),fy=jr(),en=re(),fe=De(),my=La();function ys(r,e){return{amount:e,currency:r}}s(ys,"money");S.money=ys;function Ka(r,e,t){let{currency:n}=(0,pe.single)(r,(0,pe.filter)(l=>l.type==="currency"),(0,pe.flatMap)(l=>{try{let p=V.get(e).parse(l.value,t&&t.strategy);return[{currency:p,exactMatch:p===l.value}]}catch(p){return[]}}),(0,pe.sort)((0,ms.by)("exactMatch",ms.descending)),(0,pe.first)()),i=r.filter(l=>l.type==="integer"||l.type==="decimal"||l.type==="fraction"),a=(0,fy.get)(()=>r.filter(l=>l.type==="decimal")[0].value,"."),o=i.map(l=>l.value).join(""),c=(0,fe.numberParser)(a,e).parse(o);return ys(n,c)}s(Ka,"moneyFrom");S.moneyFrom=Ka;function Cu(r){let e=qa.currencies[r];return e?e.decimals:2}s(Cu,"decimalsFor");S.decimalsFor=Cu;var Me=class{static create(e,t,n="code"){return new Intl.NumberFormat(t,{currencyDisplay:n,currency:e,style:"currency",minimumFractionDigits:0,maximumFractionDigits:Cu(e)})}};s(Me,"Formatter");lt.__decorate([Qr.cache],Me,"create",null);S.Formatter=Me;S.hasNativeToParts=typeof Intl.NumberFormat.prototype.formatToParts=="function";function Ua(r,e,t="code",n=S.hasNativeToParts){let i=Me.create(r.currency,e,t);return n?i.formatToParts(r.amount):Tu(r,e,t)}s(Ua,"partsFrom");S.partsFrom=Ua;function yy(r,e,t="code"){return Me.create(r.currency,e,t).format(r.amount)}s(yy,"format");S.format=yy;function Tu(r,e,t="code"){let n=r.currency,i=r.amount;return ut.create(n,e,t).format(i)}s(Tu,"toPartsPonyfill");S.toPartsPonyfill=Tu;var Ou=ys("GBP",111222.3333),ut=class{constructor(e,t,n,i){this.currency=e,this.currencyDisplay=t,this.parser=n,this.locale=i}static create(e,t,n="code"){let i=Me.create(e,t,n).format(Ou.amount),a=Ie.examplePattern(t).parse(i),o=tn.buildFrom(a,t),c=dt.create(t,o);return new ut(e,n,c,t)}format(e){let t=Me.create(this.currency,this.locale,this.currencyDisplay);return this.parser.parse(t.format(e))}};s(ut,"FormatToParts");lt.__decorate([Qr.cache],ut,"create",null);S.FormatToParts=ut;function gy(r,e,t){return Ka(Ru(r,e,t),e,t)}s(gy,"parse");S.parse=gy;function hy(r,e){return gs.create(r,e)}s(hy,"parser");S.parser=hy;function Ru(r,e,t){return dt.create(e,t).parse(r)}s(Ru,"parseToParts");S.parseToParts=Ru;var V=class extends fe.DatumLookup{constructor(e,t){super(e.map(n=>({name:(0,fe.cleanValue)(n.name),value:n.value})),ms.ascending);this.locale=t}static get(e,t=[]){return V.cache[e]=V.cache[e]||V.create(e,t)}static set(e,t){return V.cache[e]=t}static create(e,t=[]){return new V([...V.generateData(e),...t],e)}static generateData(e){return Object.keys(qa.currencies).flatMap(t=>V.dataFor(e,t,qa.currencies[t]))}static dataFor(e,t,n){return[{name:t,value:t},{name:ku(e,t),value:t},...(0,en.array)(n.symbols,(0,pe.flatMap)(i=>{let a=[{name:i,value:t}];if(V.generateAdditionalSymbols.indexOf(i)!==-1){let o=t.substring(0,2);a.push({name:i+o,value:t}),a.push({name:o+i,value:t}),a.push({name:t+i,value:t})}return a}))]}parse(e,t=(0,my.infer)(this.locale)){return super.parse((0,fe.cleanValue)(e),t)}};s(V,"CurrencySymbols");S.CurrencySymbols=V;V.cache={};V.generateAdditionalSymbols=["$","\xA5","\xA3"];var by=/GBP|£GB|GB£|UK£|£UK/;function ku(r,e,t=S.hasNativeToParts){if(t){let n=Ua(ys(e,0),r,"symbol"),[i]=n.filter(a=>a.type==="currency");if(!i)throw new Error("No currency found");return fe.Spaces.remove(i.value)}else{let n=Me.create("GBP",r,"symbol").format(1).replace(by,"@@@"),i=Me.create(e,r,"symbol").format(1),[,a]=(0,Xe.different)([n,i]);return a?fe.Spaces.remove(a):"\xA3"}}s(ku,"symbolFor");S.symbolFor=ku;var tn=class{static buildFromOptions(e,t){return t&&t.format?this.buildFrom(Ie.format.parse(t.format),e,!0):this.buildPattern(e,t&&t.strict||!1)}static buildPattern(e,t=!1){return this.buildFrom(Ua(Ou,e),e,t)}static buildFrom(e,t,n=!1){let i=this.buildParts(e,n),[a=""]=e.filter(l=>l.type==="group").map(l=>l.value),o=fe.Numerals.get(t).pattern,c=i.map(l=>{switch(l.type){case"currency":return`(?${V.get(t).pattern})?`;case"decimal":return`(?[${l.value}]?)`;case"fraction":return`(?[${o}]*)`;case"integer":return`(?[${o}${fe.Spaces.handle(a)}]*[${o}]+)`;default:return`(?<${l.type}>[${fe.Spaces.handle(l.value)}]?)`}}).join("");return(0,fe.atBoundaryOnly)(c)}static buildParts(e,t=!1){let n=[...e];if(!t){let i=n[0],a=n[n.length-1],o={type:"literal",value:" "};i.type==="currency"?(n.push(o,i),n.splice(1,0,o)):a.type==="currency"&&(n.unshift(a,o),n.splice(n.length-2,0,o))}return(0,en.array)(n,(0,pe.filter)(i=>i.type!=="group"),(0,pe.dedupe)((0,ms.by)("type")))}};s(tn,"RegexBuilder");S.RegexBuilder=tn;var gs=class{static create(e,t){return(0,Ha.mappingParser)(dt.create(e,t),n=>Ka(n,e,t))}};s(gs,"MoneyParser");S.MoneyParser=gs;var dt=class{static create(e,t){let n=typeof t=="string"?t:tn.buildFromOptions(e,t);return(0,Ha.mappingParser)((0,Ha.namedRegexParser)(Xe.NamedRegExp.create(n)),i=>this.convert(i,e))}static convert(e,t){return(0,en.array)(e,(0,pe.filter)(n=>Boolean(n.value)),(0,pe.flatMap)(n=>n.name==="integer-group"?Pe.digits(t).parse(n.value):[{type:n.name,value:n.value}]))}};s(dt,"NumberFormatPartParser");lt.__decorate([Qr.cache],dt,"create",null);S.NumberFormatPartParser=dt;var Ie=class{constructor(e,t){this.formatRegex=e,this.integerGroupParser=t}parse(e){return(0,en.array)(this.formatRegex.iterate(e),(0,pe.flatMap)(t=>{if((0,Xe.isNamedMatch)(t)){let[n,i,a]=t.filter(o=>Boolean(o.value));if(n.name==="currency")return[{type:n.name,value:n.value}];{let o=this.integerGroupParser.parse(n.value);return i?[...o,{type:i.name,value:i.value},{type:a.name,value:a.value}]:o}}else return[{type:"literal",value:t}]}))}static get format(){let e=Xe.NamedRegExp.create("(?:(?(?:i.*i|i))(?:(?[^f])(?f+))?|(?C+))");return new Ie(e,Pe.integerFormat)}static examplePattern(e){let t=fe.Numerals.get(e),n=Xe.NamedRegExp.create(`(?:(?${t.format(1)}.*${t.format(2)})(?:(?.)(?${t.format(3)}+))?|(?${V.get(e).pattern}))`);return new Ie(n,Pe.digits(e))}};s(Ie,"PartsFromFormat");lt.__decorate([Au.lazy],Ie,"format",null);lt.__decorate([Qr.cache],Ie,"examplePattern",null);S.PartsFromFormat=Ie;var Pe=class{constructor(e){this.regex=e}parse(e){return(0,en.array)(this.regex.iterate(e),(0,pe.map)(t=>(0,Xe.isNamedMatch)(t)?{type:"integer",value:t[0].value}:{type:"group",value:t}))}static digits(e){return new Pe(Xe.NamedRegExp.create(`(?[${fe.Numerals.get(e).pattern}]+)`))}static get integerFormat(){return new Pe(Xe.NamedRegExp.create("(?i+)"))}};s(Pe,"IntegerGroupParser");lt.__decorate([Qr.cache],Pe,"digits",null);lt.__decorate([Au.lazy],Pe,"integerFormat",null);S.IntegerGroupParser=Pe});var Na=w(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.implicitMoneyParser=me.findDecimalSeparator=me.flexibleMoneyParser=me.FlexibleMoneyParser=me.flexibleParse=void 0;var Mu=R(),dr=Eu(),wy=Ai(),Ba=Le(),pt=G(),Iu=X(),vy=Fr(),xy=oe(),Sy=Fe(),Dy=jr(),Py=re(),Ae=De(),_u=La();function Ay(r,e="en",t){return new Ke(e,t).parse(r)}s(Ay,"flexibleParse");me.flexibleParse=Ay;var Ke=class{constructor(e,t){this.locale=e,this.options=t}get pattern(){return Ke.patternFor(this.locale)}static patternFor(e){return Ba.NamedRegExp.create((0,Ae.atBoundaryOnly)(`(?${dr.CurrencySymbols.get(e).pattern})?(?[${Ae.Spaces.spaces}])?(?${(0,Ae.numberPattern)(e)})(?[${Ae.Spaces.spaces}])?(?${dr.CurrencySymbols.get(e).pattern})?`))}parse(e){try{return this.parseSingle(this.pattern.match((0,Ba.removeUnicodeMarkers)(e)))}catch(t){throw new Error(`Unable to parse ${e}`)}}parseAll(e){return(0,Py.array)(this.pattern.exec((0,Ba.removeUnicodeMarkers)(e)),(0,Ae.mapIgnoreError)(t=>this.parseSingle(t)))}parseSingle(e){let{currency:t}=(0,pt.single)(e,(0,pt.filter)(a=>a.name==="currency"&&a.value!==void 0),(0,pt.flatMap)(a=>{try{let o=dr.CurrencySymbols.get(this.locale).parse(a.value,this.options&&this.options.strategy||(0,_u.infer)(this.locale));return[{currency:o,exactMatch:o===a.value}]}catch(o){return[]}}),(0,pt.sort)((0,Iu.by)("exactMatch",Iu.descending)),(0,pt.first)()),n=(0,pt.single)(e,(0,pt.find)(a=>a.name==="number"&&a.value!==void 0)).value,i=(0,Ae.numberParser)(this.options&&this.options.decimalSeparator||$a(t,n),this.locale);return(0,dr.money)(t,i.parse(n))}};s(Ke,"FlexibleMoneyParser");Mu.__decorate([Sy.lazy],Ke.prototype,"pattern",null);Mu.__decorate([xy.cache],Ke,"patternFor",null);me.FlexibleMoneyParser=Ke;function Cy(r="en",e){return new Ke(r,e)}s(Cy,"flexibleMoneyParser");me.flexibleMoneyParser=Cy;function Fu(r){return r==="."?",":"."}s(Fu,"flip");function $a(r,e){let t=(0,Ae.separatorsOf)(e);if(t.length===0)return".";let n=t[t.length-1],i=e.length-e.lastIndexOf(n)-1,a=(0,dr.decimalsFor)(r);if(t.length===1){if(i===3){if(a===3)throw new Error(`Can not parse ${e} as separator is ambiguous`);return Fu(n)}return(0,Ae.decimalSeparator)(n)}return(0,vy.unique)(t).length===1?Fu(n):(0,Ae.decimalSeparator)(n)}s($a,"findDecimalSeparator");me.findDecimalSeparator=$a;var Ga=class{constructor(e,t,n=new Ae.NumberParser(i=>(0,Dy.get)(()=>$a(e,i),(0,Ae.inferDecimalSeparator)(t)),t)){this.currency=e,this.parser=n}parse(e){let t=this.parser.parse(e);return{currency:this.currency,amount:t}}parseAll(e){return this.parser.parseAll(e).map(t=>({amount:t,currency:this.currency}))}};s(Ga,"ImplicitMoneyParser");function Ty({currency:r,locale:e="en",strategy:t=(0,_u.infer)(e)}){return r?new Ga(dr.CurrencySymbols.get(e).parse(r,t),e):new wy.FailParser}s(Ty,"implicitMoneyParser");me.implicitMoneyParser=Ty});var rc=k(G()),nc=k(X()),pp=k(G());function fp(r){switch(typeof r){case"undefined":return!0;case"string":return r.trim()==="";case"number":return isNaN(r);case"object":{if(r==null)return!0;if(m.isObject(r))return Object.keys(r).length===0;if(Array.isArray(r))return r.length===0}}return!1}s(fp,"isEmpty");var je=class{static parse(e){if(typeof e!="number"&&L.isEmpty(e))return;let t=Number(e);if(!isNaN(t))return t}static isNumber(e){return typeof e=="number"&&!isNaN(e)}};s(je,"Numbers");var Lt=class{static noWhitespace(e){return e&&typeof e=="string"?e.replace(/\s+/g,""):""}static startWith(e,t){return e?e.substring(0,t.length)===t:e===t}static endsWith(e,t){return e.substring(e.length-t.length,e.length)===t}static isEmpty(e){return e===void 0||e===null?!0:e.trim().length===0}static isEmail(e){return typeof e=="string"&&this.validEmailPattern.test(e)}static isLowerCase(e){return e===e.toLowerCase()&&e!==e.toUpperCase()}static isUpperCase(e){return e===e.toUpperCase()&&e!==e.toLowerCase()}static kebabCase(e){return Lt.delimiterCase(e,"-")}static snakeCase(e){return Lt.delimiterCase(e,"_")}static delimiterCase(e,t){return e.replace(/([A-Z][a-z]+|\d+)/gm,`${t}$1`).replace(new RegExp(`^${t}`),"").toLowerCase()}static titleCase(e){return Lt.isEmpty(e)?"":e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase())}static camelCase(e){return Lt.isEmpty(e)?"":e.replace(/([A-Za-z]+|\d+)/gm,t=>t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()).replace(new RegExp("^."),t=>t.toLowerCase()).replace(new RegExp(/[_\-\s]/g),"")}},L=Lt;s(L,"Strings"),L.validEmailPattern=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;function Pr(r,e,t){if(e(r))return t(r);switch(typeof r){case"undefined":return;case"object":{if(r===null)return null;if(Array.isArray(r))return r.map(n=>Pr(n,e,t));if(m.isObject(r))return m.keys(r).sort().reduce((n,i)=>{let a=r[i];return n[i]=Pr(a,e,t),n},{})}}return r}s(Pr,"walkValues");function qn(r,e){switch(typeof r){case"undefined":return;case"object":{if(r===null)return null;if(Array.isArray(r))return r.map(t=>qn(t,e));if(m.isObject(r))return m.keys(r).sort().reduce((t,n)=>{let i=r[n];return t[e(String(n))]=qn(i,e),t},{})}}return r}s(qn,"walkKeys");var m=class{static isObject(e){return e&&typeof e=="object"&&(e.constructor===Object||/Object.*native/.test(e.constructor.toString()))}static keys(e){return Object.keys(e)}static values(e){return Object.keys(e).map(t=>e[t])}static entries(e){return Object.keys(e).map(t=>[t,e[t]])}static removeEmpty(e){return e&&(m.isObject(e)?Object.keys(e).reduce((t,n)=>{let i=m.removeEmpty(e[n]);return fp(i)||(t[n]=i),t},{}):e)}static sort(e){return e&&(Array.isArray(e)?e.map(m.sort):m.isObject(e)?Object.keys(e).sort().reduce((t,n)=>{let i=e[n];return t[n]=m.sort(i),t},{}):e)}static toLowerCase(e){return typeof e=="string"?e.toLowerCase():Array.isArray(e)?e.map(m.toLowerCase):f(()=>m.isObject(e))?Object.entries(e).reduce((t,[n,i])=>(t[n]=m.toLowerCase(i),t),{}):e}static snakeCase(e){return qn(e,L.snakeCase)}static camelCase(e){return qn(e,L.camelCase)}static filter(e,t){let n=m.keys(e).filter(t);return m.pick(e,...n)}static omit(e,...t){return t.reduce((n,i)=>(Reflect.deleteProperty(n,i),n),e)}static pick(e,...t){return t.reduce((n,i)=>(n[i]=e[i],n),{})}};s(m,"Objects");var A=class{static from(e){return Array.from(e)}static find(e,t){if(e.find)return e.find(t);let[n]=e.filter(t);return n}static findLastIndex(e,t){let n=[...e].reverse().findIndex(t);return n===-1?n:e.length-n-1}static toObject(e){return e.reduce((t,n)=>(Object.keys(n).forEach(i=>{i in t||(t[i]=n[i])}),t),{})}static flatten(e){return e.reduce((t,n)=>t.concat(n),[])}static flatMap(e,t){return e.flatMap?e.flatMap(t):A.flatten(e.map(t))}static unique(e){return Array.from(new Set(e))}static clean(e){return e.filter(Boolean)}static trim(e){return e.map(t=>t.trim())}static includes(e,t){return"includes"in e?e.includes(t):e.indexOf(t)!==-1}static first(e){return e[0]}static last(e){return e[e.length-1]}static safeReverse(e){return e?e.slice().reverse():[]}static shuffle(e){return e.map(t=>({value:t,order:Math.random()})).sort((0,nc.by)("order")).map(({value:t})=>t)}};s(A,"Arrays");var Hn=class{static path(e){let t=[e];for(;e.parentElement;)e=e.parentElement,t.push(e);return t}};s(Hn,"Elements");function f(r,e=void 0){try{let t=r();return typeof t=="undefined"?e:t}catch(t){return e}}s(f,"get");function mp(r,e){let t=e.toLowerCase(),n=A.find(Object.keys(r),a=>a.toLowerCase()===t);if(!n)return;let i=r[n];return typeof i=="string"?i.trim():i}s(mp,"getValue");function Kn(r,...e){if(!r)return[];if(Array.isArray(r))return A.clean(A.flatten(r.map(t=>Kn(t,...e))));if(typeof r=="object"){let[t,...n]=e,i=mp(r,t);return typeof i=="object"?Kn(i,...n):n.length===0&&Boolean(i)?[i]:[]}return[]}s(Kn,"getAll");var ne=(()=>typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof module!="undefined"?module:Function("return this")())();function Un(r,e,t){let n=r[e];return typeof n=="undefined"?r[e]=t:Array.isArray(n)?n.indexOf(t)==-1&&n.push(t):r[e]=[n,t],r}s(Un,"accumulateMultipleValues");function yp(r,e,t,n=i=>i){let i=[],a=0,o;for(;(o=r.exec(e))!=null;)i.push(n(e.substring(a,o.index))),i.push(t(o)),a=r.lastIndex;return i.push(n(e.substring(a))),i.join("")}s(yp,"regexReplace");function ic(r){return yp(/\w+/g,r,e=>gp(e[0]))}s(ic,"titleCase");function gp(r){return r.substr(0,1).toUpperCase()+r.substr(1).toLowerCase()}s(gp,"caseWord");function sc(r,e){return r.slice(0,e)}s(sc,"limit");function ac(r){return f(()=>A.last(r.constructor.name.split("$")),"")}s(ac,"getClassName");var oc=k(oe()),cc=k(Fe());function ue(r=ne){return r.triptease=r.triptease||{},r.triptease.onboard=r.triptease.onboard||{},{triptease:r.triptease,onboard:r.triptease.onboard}}s(ue,"globalObjects");var rt;(function(n){n.Native="native",n.NonNative="non-native",n.NotImplemented="not-implemented"})(rt||(rt={}));function lc(r,e){return f(()=>e.split(".").reduce((t,n)=>t[n],r))}s(lc,"getProperty");function wp(r){return r==null?rt.NotImplemented:typeof r=="function"?r.toString().includes("native code")?rt.Native:rt.NonNative:rt.Native}s(wp,"isNative");var Bn=class{static exposeApi(){let e=ue(ne).triptease;e.native||(e.native=Bn)}static getProperty(e){let t=lc(ne,e);return wp(t)!==rt.NonNative?t:lc(Bn.window,e)}static get window(){let e=ne;if(!e.document)return e;try{let t=e.document,n=t.querySelector("[name='triptease.native']");if(n)return n.contentWindow;let i=t.createElement("iframe");return i.style.display="none",i.setAttribute("title","blank"),i.setAttribute("aria-hidden","true"),i.setAttribute("name","triptease.native"),t.documentElement.appendChild(i),i.contentWindow}catch(t){return e}}},J=Bn;s(J,"Native"),_e([oc.cache],J,"getProperty",1),_e([cc.lazy],J,"window",1);var vp=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}\.\d{3}Z)?$/;function xp(r){return Pr(r,e=>typeof e=="string"&&vp.test(e),e=>{let t=new Date(e);return isNaN(t.valueOf())?e:t})}s(xp,"convertDates");var Sp=J.getProperty("JSON.parse"),uc=J.getProperty("JSON.stringify"),Dp=J.getProperty("Date.prototype.toISOString"),Pp=J.getProperty("atob"),Ap=J.getProperty("btoa"),B=class{static parse(e){return Sp(e)}static parseWithDates(e){return xp(B.parse(e))}static stringify(e){return uc(this.clean(e))}static clean(e){return Pr(e,t=>{let n=typeof t;switch(n){case"undefined":case"string":case"number":case"boolean":return!0;case"object":{if(t===null)return!0;if(Array.isArray(t)||m.isObject(t))return!1;if("toJSON"in t)return!0}}throw new Error(`Illegal JsonValue: ${n} ${t} `)},t=>t instanceof Date?Dp.call(t):t)}static atob(e){try{let t=Pp(e);return B.parseWithDates(t)}catch(t){}}static btoa(e){try{if(!m.isObject(e))return;let t=uc(e);return Ap(t)}catch(t){}}};s(B,"Json");var I=class{static same(e,t){return B.stringify(e)===B.stringify(t)}static isSuperset(e,t){return e===null||t===null?I.same(e,t):Array.isArray(e)&&Array.isArray(t)?e.length>t.length?!1:e.every(n=>t.some(i=>I.isSuperset(n,i))):f(()=>m.isObject(e))&&f(()=>m.isObject(t))?Object.keys(e).reduce((n,i)=>n&&I.isSuperset(e[i],t[i]),!0):I.same(e,t)}static compress(e){let t=I.groupValues(e);return this.compressGrouped(t)}static compressGrouped(e){return Object.entries(e).reduce(({shared:t,unique:n},[i,a])=>{if(f(()=>m.isObject(a))){let o=I.compressGrouped(a);Object.keys(o.shared).length>0&&(t[i]=o.shared),o.unique.forEach((c,l)=>{n[l]=n[l]||{},Object.keys(c).length>0&&(n[l][i]=c)})}return Array.isArray(a)&&a.forEach((o,c)=>{n[c]=n[c]||{},A.unique(a.map(l=>B.stringify(l))).length===1?t[i]=o:o!==void 0&&(n[c][i]=o)}),{shared:t,unique:n}},{shared:{},unique:[]})}static groupValues(e){let t=Array.from(e.reduce((o,c)=>Object.keys(c).reduce((l,p)=>l.add(p),o),new Set)),[n,i]=e.reduce((o,c)=>t.reduce(([l,p],h)=>{let D=c[h];return f(()=>m.isObject(D))?(p[h]=p[h]||[],p[h].push(D)):(l[h]=l[h]||[],l[h].push(D)),[l,p]},o),[{},{}]),a=Object.entries(i).reduce((o,[c,l])=>(o[c]=I.groupValues(l),o),{});return g(g({},n),a)}static decompress(e){return e.unique.map(t=>this.merge(e.shared,t))}static merge(e,t){return[...Object.keys(e),...Object.keys(t)].reduce((i,a)=>{let o=e[a],c=t[a];return f(()=>m.isObject(o))&&f(()=>m.isObject(c))?i[a]=I.merge(o,c):i[a]=c!=null?c:o,i},{})}};s(I,"JsonValues");function ce(r,e=!0){return r?(r.indexOf("?")==0&&(r=r.substring(1,r.length)),r.split("&").map(function(t){return t.split("=")}).reduce(function(t,n){let i=n[0],a=n[1];if(!i)return t;let o=dc(a),c=e?Cp(o):o;return Un(t,dc(i),c)},{})):{}}s(ce,"queryObject");function dc(r){return f(()=>decodeURIComponent(r.replace(/\+/g,"%20")),r)}s(dc,"decode");function Cp(r){try{return B.parse(r)}catch(e){return r}}s(Cp,"coerce");var _s=class{constructor(e){let t=_s.RFC_3986.exec(e);if(!t)throw new Error(`Invalid Uri: ${e}`);let[,,n,,i,a,,o,,c]=t;this.scheme=n,this.authority=i?new $n(i):void 0,this.path=a,this.query=o,this.fragment=c}toString(){let e=[];return typeof this.scheme!="undefined"&&e.push(this.scheme,":"),typeof this.authority!="undefined"&&e.push("//",this.authority.toString()),e.push(this.path),typeof this.query!="undefined"&&e.push("?",this.query),typeof this.fragment!="undefined"&&e.push("#",this.fragment),e.join("")}get host(){return this.authority&&this.authority.host}get port(){return this.authority&&this.authority.port}get userInfo(){return this.authority&&this.authority.userInfo}},N=_s;s(N,"Uri"),N.RFC_3986=/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;var Fs=class{constructor(e){let t=Fs.RFC_3986.exec(e);if(!t)throw new Error(`Invalid Authority: ${e}`);let[,n,i,a]=t;this.userInfo=n,this.host=i,this.port=a}toString(){let e=[];return typeof this.userInfo!="undefined"&&e.push(this.userInfo,"@"),typeof this.host!="undefined"&&e.push(this.host),typeof this.port!="undefined"&&e.push(":",this.port),e.join("")}},$n=Fs;s($n,"Authority"),$n.RFC_3986=/(?:([^@]+)@)?([^:]+)(?::([\d]+))?/;var pc=J.getProperty("console.log"),Tp=J.getProperty("console.error"),Op=J.getProperty("console.debug"),js=class{constructor(e=pc,t=Tp,n=Op||pc){this.log=e;this.error=t;this.debug=n}};s(js,"ConsoleLogger");var Ar=class{constructor(){this.log=s(()=>{},"log");this.error=s(()=>{},"error");this.debug=s(()=>{},"debug")}};s(Ar,"NoOpLogger");var fc="triptease-debug",Rp=256;function Ls(r,e=fc){let t=f(()=>{var n;return ce((n=r.location)==null?void 0:n.search,!1)[e]})||f(()=>{var n;return ce(new N((n=r.location)==null?void 0:n.originalHref).query,!1)[e]})||f(()=>{var n,i;return(i=(n=r.process)==null?void 0:n.env)==null?void 0:i.DEBUG})||f(()=>{var n;return((n=r.localStorage)==null?void 0:n.getItem)&&r.localStorage.getItem(e)})||f(()=>{var n;return((n=r.sessionStorage)==null?void 0:n.getItem)&&r.sessionStorage.getItem(e)})||"";return f(()=>t.substring(0,Rp),"")}s(Ls,"globalParameter");function kp(r){return Ls(r,fc).split(",").map(e=>e.trim())}s(kp,"debugPatterns");function mc(r){let e=r.replace(/\./g,"\\.").replace(/\*/g,".*");return new RegExp("^"+e+"$")}s(mc,"wildcardToRegexp");function Ep(r,e=ne){try{let t=kp(e),n=t.filter(i=>i[0]==="!").map(i=>i.substr(1));return n.length>0?!n.some(i=>mc(i).test(r)):t.some(i=>i==="true"||mc(i).test(r))}catch(t){return!1}}s(Ep,"nameMatches");var qs=class{constructor(e){this.name=e;this.console=new js}debug(e,...t){this.console.debug(`[${this.name}] ${e}`,...t)}log(e,...t){this.console.log(`[${this.name}] ${e}`,...t)}error(e,...t){this.console.error(`[${this.name}] ${e}`,...t)}};s(qs,"NamedLogger");function E(r,e=ne){return Ep(r,e)?new qs(r):new Ar}s(E,"namedLogger");var Mg=new Set(["Unknown","PossibleIdentifier"]),Gn=new Set(["HotelName","HotelCode","ChainCode"]);function Hs(r){return r&&typeof r=="object"&&r.constructor===Object&&typeof r["@type"]=="string"}s(Hs,"isStructuredData");function yc(r,e){return Hs(r)&&(typeof e=="function"?e(r["@type"]):r["@type"]===e)}s(yc,"isStructuredDataType");function gc(r){return yc(r,"LodgingReservation")}s(gc,"isLodgingReservation");var Te={cookieBot:"cookieBot",klaro:"klaro",google:"google",defaultNoConsentMode:"defaultNoConsentMode",defaultAutoConsentMode:"defaultAutoConsentMode"};function hc(r){return r&&typeof r=="object"&&r.checkin instanceof Date&&r.checkout instanceof Date}s(hc,"hasSearchDates");var v;(function(p){p.Search="Search",p.RoomsAndRates="RoomsAndRates",p.Confirmation="Confirmation",p.Checkout="Checkout",p.Payment="Payment",p.Group="Group",p.Advert="Advert",p.Partial="Partial",p.Unknown="Unknown"})(v||(v={}));var Mp=[v.Payment,v.Confirmation,v.RoomsAndRates,v.Checkout,v.Search,v.Partial,v.Group,v.Unknown,v.Advert];function bc(r){return Mp.indexOf(r)}s(bc,"pageRanking");var nt;(function(i){i.Room="Room",i.Fee="Fee",i.Tax="Tax",i.Unknown="Unknown"})(nt||(nt={}));var Nn;(function(n){n.Singleton="Singleton",n.ApplicationHost="ApplicationHost",n.DataSource="DataSource"})(Nn||(Nn={}));var wc;(function(i){i.PENDING="Pending",i.SKIPPED="Skipped",i.FAILED="Failed",i.PASSED="Passed"})(wc||(wc={}));var vc;(function(a){a.SCRIPT_PRESENT="Script Present",a.SCRIPT_LOADED="Script Loaded",a.INTEGRATION_ID_MATCHES="Integration Id Matches",a.PAGE_EVALUATED="Page Evaluated",a.MESSAGING_ACTIVE="Messaging Active"})(vc||(vc={}));var Y;(function(i){i.Enabled="Enabled",i.Disabled="Disabled",i.Strict="Strict",i.NotConfigured="NotConfigured"})(Y||(Y={}));function Ht(r){return r?typeof r=="object"&&("integrationId"in r||"clientKey"in r||"apiKey"in r||"identifiers"in r||"type"in r):!1}s(Ht,"isScrapedIdentifiers");function zn(r){return r&&typeof r=="object"?r.constructor===Date&&!isNaN(r.getTime()):!1}s(zn,"isDate");function xc(r){if(r===void 0||!r.type)return!1;switch(r.type){case v.RoomsAndRates:return Ks(r);case v.Confirmation:return Us(r);case v.Checkout:return jp(r);default:return!0}}s(xc,"isPageValid");function Ip(r){return Array.isArray(r)&&r.some(e=>e.price>0&&e.currency)}s(Ip,"hasValidRates");function _p(r){return zn(r.checkin)&&zn(r.checkout)&&r.checkin.getTime()0&&typeof r.children=="number"&&r.children>=0}s(Sc,"hasOccupancy");function Fp(r){let{rateDetails:e}=r;return Array.isArray(e)&&e.every(t=>Sc(t))}s(Fp,"hasCapacity");function Ks(r){return r&&typeof r=="object"?_p(r)&&(Sc(r)||Fp(r))&&(Ip(r.rateDetails)||["noAvailability","searchInProgress"].includes(r.ratesModified)):!1}s(Ks,"isRoomsAndRatesPageData");function Us(r){return!(r&&typeof r=="object")||typeof r.reference!="string"||["","undefined","null"].includes(r.reference.trim())?!1:r.reservationStatus==="cancelled"||Array.isArray(r.reservations)&&r.reservations.every(e=>e.reservationStatus==="cancelled")?!0:typeof r.price=="number"&&typeof r.currency=="string"}s(Us,"isConfirmationPageData");function jp(r){var e,t;return r&&typeof r=="object"?typeof((e=r.pii)==null?void 0:e.email)=="string"&&Array.isArray((t=r.pii)==null?void 0:t.processingConditions)&&r.pii.processingConditions.length>0&&!L.isEmpty(r.pii.email)&&L.isEmail(r.pii.email):!1}s(jp,"isCheckoutPageData");function Lp(r){if(r===void 0||!r.type)return!1;switch(r.type){case v.RoomsAndRates:return Cr(r);case v.Confirmation:return qp(r);case v.Checkout:return Hp(r);default:return!1}}s(Lp,"isPartialPage");function Cr(r){return r&&typeof r=="object"?Array.isArray(r.rateDetails)&&r.rateDetails.length>0||!!r.ratesModified:!1}s(Cr,"isPartialRoomsAndRates");function qp(r){return r&&typeof r=="object"?typeof r.reference=="string"&&!L.isEmpty(r.reference):!1}s(qp,"isPartialConfirmation");function Hp(r){return r&&typeof r=="object"?typeof r.pii.email=="string"&&!L.isEmpty(r.pii.email):!1}s(Hp,"isPartialCheckout");function Dc(r){let[e]=r.map(m.removeEmpty).filter(Lp);if(!!e)return T(g({},e),{type:v.Partial,partialType:e.type})}s(Dc,"findPartial");function Bs(r){let{rateDetails:e}=r;if(!e)return[];let t=e.filter(n=>n.price>0&&!L.isEmpty(n.currency));return A.unique(t.map(n=>n.currency)).length>1?[]:t}s(Bs,"validRates");function Pc(r){let e=new Set;return r.reduce((t,n)=>{let i=B.stringify(n);return e.has(i)||(e.add(i),t.push(n)),t},[])}s(Pc,"deDuplicateRates");function Ac(r){var e,t;if(r===void 0||!r.type)return r;switch(r.type){case v.RoomsAndRates:let n=g({},r);return"ratesModified"in n&&n.ratesModified==="noAvailability"&&(n.adults=(e=n.adults)!=null?e:2,n.children=(t=n.children)!=null?t:0),n;default:return r}}s(Ac,"addDefaultData");function Kp(r){try{let{target:e,method:t}=$p(r.type);if(e&&t)return!0}catch(e){}return!1}s(Kp,"isOnboardMessage");var Tr=class{constructor(e,t,n=Up,i=E("messaging")){this.listener=e;this.allowedOrigins=n;this.logger=i;this.target=this.listener!==t?t:void 0}addListener(e){this.listener&&this.listener.addEventListener("message",t=>{this.disallowedOrigin(t)||!Kp(t.data)||e(t.data,new Tr(void 0,t.source||this.target))})}disallowedOrigin(e){return e.origin&&this.allowedOrigins.length>0&&this.allowedOrigins.indexOf(new N(e.origin).host)===-1}send(e){if(this.target)try{this.target.postMessage(e,"*")}catch(t){this.target.postMessage(JSON.parse(JSON.stringify(e)),"*")}}};s(Tr,"WindowHandler");var Up=["onboard.triptease.io","localhost"],Bp=/^(.*)\.([^.]+)$/;function $p(r){let[,e,t]=r.match(Bp)||[];return{target:e,method:t}}s($p,"targetAndMethod");function Wn(r){let e={};return function(...t){let n=JSON.stringify(t),i=e[n];return typeof i!="undefined"?i:e[n]=r(...t)}}s(Wn,"caching");function Gp(r){return r.document.querySelector('iframe[name="triptease.onboard.kernel"]')}s(Gp,"kernelFrame");function Cc(r){let e=Gp(r);if(e&&e.contentWindow)return new Tr(r,e.contentWindow)}s(Cc,"handlerFor");function Tc(r){return r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"&&"message"in r&&typeof r.message=="string"&&"stack"in r&&typeof r.stack=="string"}s(Tc,"isError");var Vn,Np=new Uint8Array(16);function $s(){if(!Vn&&(Vn=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Vn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Vn(Np)}s($s,"rng");var Oc=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function zp(r){return typeof r=="string"&&Oc.test(r)}s(zp,"validate");var Rc=zp;var z=[];for(Jn=0;Jn<256;++Jn)z.push((Jn+256).toString(16).substr(1));var Jn;function Wp(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=(z[r[e+0]]+z[r[e+1]]+z[r[e+2]]+z[r[e+3]]+"-"+z[r[e+4]]+z[r[e+5]]+"-"+z[r[e+6]]+z[r[e+7]]+"-"+z[r[e+8]]+z[r[e+9]]+"-"+z[r[e+10]]+z[r[e+11]]+z[r[e+12]]+z[r[e+13]]+z[r[e+14]]+z[r[e+15]]).toLowerCase();if(!Rc(t))throw TypeError("Stringified UUID is invalid");return t}s(Wp,"stringify");var kc=Wp;function Vp(r,e,t){r=r||{};var n=r.random||(r.rng||$s)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){t=t||0;for(var i=0;i<16;++i)e[t+i]=n[i];return e}return kc(n)}s(Vp,"v4");var Gs=Vp;var Jp=s(()=>f(()=>crypto.randomUUID())||Gs(),"uuid"),Yn=class{generate(e){if(typeof e!="undefined")throw new Error("UuidGenerator does not support custom lengths");return Jp().replace(/-/g,"")}};s(Yn,"UUIDGenerator");var Ns=class{constructor(e,t){this.messaging=e;this.idGenerator=t}get(e,t,n){return(...i)=>y(this,null,function*(){let a=this.idGenerator.generate(),{payload:o}=yield this.messaging.handle({type:"triptease.onboard.request",requestType:String(t),payload:i,correlationId:a});if(Tc(o))throw o;return o})}};s(Ns,"MessageProxy");function Zn(r,e=new Yn){return new Proxy({},new Ns(r,e))}s(Zn,"messageProxy");var Xn=class{constructor(e,t=Zn(e)){this.proxy=t;this.applicationConfig=Wn(e=>y(this,null,function*(){return yield this.proxy.applicationConfig(e)}));this.generateClientConfig=Wn(e=>y(this,null,function*(){return yield this.proxy.generateClientConfig(e)}));this.generateConfig=Wn(e=>y(this,null,function*(){return yield this.proxy.generateConfig(e)}))}};s(Xn,"KernelProxy");var Qn=class{constructor(e,t){this.providers=e;this.logger=t}scrape(){return y(this,null,function*(){return(yield Promise.all(this.providers.map(t=>y(this,null,function*(){try{return this.clean(yield t.scrape())}catch(n){return this.logger.error("Scraper threw error, probable identification failure",n),{}}})))).reduce((t,n)=>g(g({},t),n),{})})}clean(e){let t=m.removeEmpty(e);return t.identifiers&&(t.identifiers=t.identifiers.filter(n=>!!n.identifier).map(n=>m.removeEmpty({identifier:n.identifier.toString().trim(),type:n.type,identifierType:n.identifierType,source:n.source})).filter(n=>!L.isEmpty(n.identifier))),t}};s(Qn,"CompositeScraper");function Or(r){if(L.isEmpty(r))return{};if(r.indexOf(":")!==-1){let[e,t]=r.split(":");return{clientKey:e,identifiers:[{identifier:t,type:"Trusted",identifierType:"HotelCode"}]}}return{apiKey:r}}s(Or,"processApiKey");function ei(r){if(!Ht(r))return{};let{integrationId:e,clientKey:t,apiKey:n,identifiers:i,type:a,defaultIdentification:o}=r,c=Or(n);return e&&(c.integrationId=e),t&&(c.clientKey=t),i&&(c.identifiers=i),a&&(c.type=a),o!=null&&(c.defaultIdentification=o),c}s(ei,"processIdentifiers");var Kt=class{constructor(e){this.window=e;this.scripts=new Set}static create(e){let t=ue(e).onboard,n=t.stackScriptFinder;return n||(t.stackScriptFinder=new Kt(e))}capture(){let e=Zp();e&&this.scripts.add(e);let t=this.window.document.currentScript;t&&"src"in t&&this.scripts.add(t.src)}get(){return Array.from(this.scripts).map(e=>new N(e))}};s(Kt,"StackScriptFinder");var Yp=/(https?.*):\d+:\d+/;function Zp(){try{throw new Error}catch(r){if(!r.stack)return;let e=r.stack.match(Yp);return e?e[1]:void 0}}s(Zp,"rawScript");var ze=class{static find(e){return this.scripts(e).map(t=>new N(t.src))}static scripts(e){let n=["bootstrap.js","/paperboy/","/identity-service/confirm"].map(a=>`script[src*="${a}"][src*="triptease.io"]`);n.push('script[src*="triptease.net"]');let i=n.join(", ");return e.querySelectorAll(i)}};s(ze,"ScriptsFinder");var Rr=class{static difference(e,t){return Array.from(e).reduce((n,i)=>t.has(i)?n:n.add(i),new Set)}};s(Rr,"Sets");var kr=E("events"),ti=class{constructor(e,t){this.timers=e;this.handle=t;this.finders=new Set;this.keepers=new Set;this.handleEvent=s(e=>y(this,null,function*(){try{kr.debug("CreatedOrDeletedEvents: Checking for new created items");let t=new Set(Array.from(this.finders).flatMap(a=>a())),n=Rr.difference(t,this.keepers),i=Rr.difference(this.keepers,t);this.keepers=t,(n.size>0||i.size>0)&&(kr.log(`CreatedOrDeletedEvents: ${n.size} created, ${i.size} deleted element detected - firing event`),yield this.handle(e))}catch(t){kr.error("CreatedOrDeletedEvents.handleEvent threw while polling",t)}}),"handleEvent")}start(){return y(this,null,function*(){kr.log("Start polling for created items"),this.id=this.timers.setInterval(this.handleEvent,1e3)})}stop(){return y(this,null,function*(){kr.log("Stop polling for created items"),this.id&&(this.timers.clearInterval(this.id),this.id=void 0)})}watch(e){e().forEach(n=>this.keepers.add(n)),this.finders.add(e)}};s(ti,"CreatedOrDeletedEvents");function Ec(r,e){return()=>Array.from(r.querySelectorAll(e))}s(Ec,"selectorFinder");var Xp=J.getProperty("Date"),ri=class{now(){return new Xp}};s(ri,"NativeClock");var ni=class{now(){return new Date}};s(ni,"SystemClock");function Mc(r){return new Promise(e=>{this.setTimeout(()=>{e()},r)})}s(Mc,"delay");var ge=class{constructor(e=new ni){this.clock=e;this.delay=Mc.bind(this);this.delay=Mc}task(e){return y(this,null,function*(){return yield this.delay(0),e()})}setTimeout(e,t){return setTimeout(e,t)}clearTimeout(e){clearTimeout(e)}setInterval(e,t){return setInterval(e,t)}clearInterval(e){clearInterval(e)}requestIdleCallback(e,t){let n=t?t.timeout:1,i=this.clock.now().getTime()+n,a=this;return this.setTimeout(()=>{e({didTimeout:!1,timeRemaining(){return Math.max(0,50-(a.clock.now().getTime()-i))}})},n)}cancelIdleCallback(e){this.clearTimeout(e)}};s(ge,"SystemTimers");var Uh=new ge;var Qp=E("events"),ii=class{constructor(e,t){this.window=e;this.delegate=t;this.first=!0;this.fire=s(e=>y(this,null,function*(){if(this.window.document.hidden&&!this.first){Qp.log("Document hidden - skipping",e);return}yield this.delegate.fire(e),this.first=!1}),"fire")}listen(e){return y(this,null,function*(){yield this.delegate.listen(e)})}removeListener(e){this.delegate.removeListener(e)}};s(ii,"VisibilityGuard");var zs=E("events"),si=class{constructor(e,t){this.delegate=e;this.running=t;this.fire=s(e=>y(this,null,function*(){if(this.running.value){zs.log("Already running - skipping",e);return}this.running.value=!0,yield this.delegate.fire(e),this.running.value=!1}),"fire")}listen(e){return y(this,null,function*(){if(yield this.delegate.listen(e),this.running.value){zs.log("Already running - firing immediately");try{yield e()}catch(t){zs.log(t)}}})}removeListener(e){this.delegate.removeListener(e)}};s(si,"EventsGuard");var Ic=E("events"),ai=class{constructor(){this.handlers=[];this.fire=s(e=>y(this,null,function*(){Ic.log(`Firing handlers(${this.handlers.length})`,e),yield Promise.all(this.handlers.map(t=>y(this,null,function*(){try{yield t()}catch(n){Ic.log("Error while firing handler",n)}})))}),"fire")}listen(e){return y(this,null,function*(){this.handlers.push(e)})}removeListener(e){this.handlers=this.handlers.filter(t=>t!==e)}};s(ai,"EventsMultiplexer");var _c=E("events"),oi=class{constructor(e,t){this.timers=e;this.delegate=t;this.timeoutMs=1e3;this.timerId=0;this.fire=s(e=>y(this,null,function*(){_c.log(`Event observed, waiting for ${this.timeoutMs} ms quiet`,e),this.timers.clearInterval(this.timerId),this.timerId=this.timers.setTimeout(()=>y(this,null,function*(){_c.log("Event quiet period ended, firing event",e),yield this.delegate(e)}),this.timeoutMs)}),"fire")}};s(oi,"EventCollapser");var ef=E("events"),ci=class{constructor(e,t,n=.2,i=new ge){this.handle=e;this.running=t;this.idleThreshold=n;this.timers=i;this.lastState=!1;this.busy=!1;this.average=new Ut;this.idleHandler=s(e=>{let t=e.timeRemaining();this.running.value?this.busy=!1:t===0?this.busy=!0:(this.average=this.average.calculate(t),this.busy=this.average.percentage<-this.idleThreshold),this.busy?this.idleId=void 0:this.idleId=this.timers.requestIdleCallback(this.idleHandler,t===0?void 0:{timeout:t})},"idleHandler");this.intervalHandler=s(()=>y(this,null,function*(){this.stateHasChanged()&&this.isIdle()&&(ef.log("Browser idle"),yield this.handle("Idle")),this.average=new Ut,this.lastState=this.busy,this.idleId||(this.idleId=this.timers.requestIdleCallback(this.idleHandler))}),"intervalHandler")}start(){return y(this,null,function*(){this.intervalId=this.timers.setInterval(this.intervalHandler,1e3),this.idleId=this.timers.requestIdleCallback(this.idleHandler)})}stop(){return y(this,null,function*(){this.intervalId&&this.timers.clearInterval(this.intervalId),this.idleId&&this.timers.cancelIdleCallback(this.idleId)})}isIdle(){return!this.busy}stateHasChanged(){return this.lastState!==this.busy}};s(ci,"IdleEvents");var Ut=class{constructor(e=0,t=0,n=0,i=0){this.value=e;this.count=t;this.difference=n;this.percentage=i}calculate(e){let t=this.count+1,n=e-this.value,i=n/this.value,a=this.value+n/t;return new Ut(a,t,n,i)}};s(Ut,"StreamingAverage");var li=class{constructor(e,t){this.window=e;this.handle=t}start(){return y(this,null,function*(){this.window.addEventListener("visibilitychange",this.handle),this.window.addEventListener("popstate",this.handle),this.window.addEventListener("hashchange",this.handle),this.window.addEventListener("pageshow",this.handle),this.window.addEventListener("pagehide",this.handle),this.window.document.readyState!=="complete"?this.window.document.addEventListener("DOMContentLoaded",this.handle):yield this.handle("Document already loaded")})}stop(){return y(this,null,function*(){this.window.removeEventListener("visibilitychange",this.handle),this.window.removeEventListener("popstate",this.handle),this.window.removeEventListener("hashchange",this.handle),this.window.removeEventListener("pageshow",this.handle),this.window.removeEventListener("pagehide",this.handle),this.window.document.removeEventListener("DOMContentLoaded",this.handle)})}};s(li,"WindowEvents");var ui=class{constructor(){this.value=!1}};s(ui,"Running");var Ws=class{constructor(e,t=new ge){this.window=e;let n=new ui;this.sink=new ii(e,new si(new ai,n)),this.fire=new oi(t,this.sink.fire).fire,this.mutation=new Bt(this.fire),this.created=new ti(t,this.fire),this.sources=[new ci(this.fire,n),this.mutation,this.created,new li(e,this.fire)]}watch(e){this.created.watch(e)}listen(e){return y(this,null,function*(){yield this.sink.listen(e)})}start(){return y(this,null,function*(){yield Promise.all(this.sources.map(e=>e.start()))})}stop(){return y(this,null,function*(){this.sources.forEach(e=>e.stop())})}removeListener(e){this.sink.removeListener(e)}};s(Ws,"DefaultEvents");function di(r){let e=ue(r).triptease;return e.events=e.events||new Ws(r)}s(di,"defaultEvents");var tf={characterData:!0,attributes:!0,childList:!0},Bt=class{constructor(e){this.handle=e;this.observer=new MutationObserver(this.handle)}start(){return y(this,null,function*(){})}stop(){return y(this,null,function*(){this.observer.disconnect()})}static observe(e,t=tf){if(!("MutationObserver"in ne))return e;let n=di(ne).mutation;return e instanceof HTMLInputElement||e instanceof HTMLSelectElement?e.addEventListener("change",n.handle):n.observer.observe(e,t),e}};s(Bt,"MutationEvents");function Vs(r,e=ne){return f(()=>di(e).watch(Ec(e.document,r))),r}s(Vs,"watch");var $t=class{constructor(e){this.parent=e}querySelector(e,t){let n=this.parent.querySelector(e);return n||void 0}querySelectorAll(e,t){return Array.from(this.parent.querySelectorAll(e))}};s($t,"DomSelectorApi");var he=class{constructor(e){this.parent=e}querySelector(e,t){var i;Vs(e,(i=this.parent.ownerDocument)==null?void 0:i.defaultView);let n=this.parent.querySelector(e);return n?Bt.observe(n,t):void 0}querySelectorAll(e,t){var n;return Vs(e,(n=this.parent.ownerDocument)==null?void 0:n.defaultView),Array.from(this.parent.querySelectorAll(e)).map(i=>Bt.observe(i,t)).filter(Boolean)}};s(he,"ObservableSelectorApi");var We=class{constructor(e){this.window=e}scrape(){let e=ze.find(new $t(this.window.document)),t=Kt.create(this.window).get();return We.extract([...e,...t])}static extract(e){return m.removeEmpty(e.reduce((t,n)=>{let i=t.integrationId?[t.integrationId]:[],a=t.clientKey?[t.clientKey]:[],o=t.apiKey?[t.apiKey]:[],c=t.identifiers?t.identifiers:[],l=ce(n.query,!1),p=We.pathClientKey(n);p&&a.unshift(p),l.clientKey&&a.unshift(l.clientKey),i.unshift(l.integrationId);let h=We.queryApiKey(l),D=Or(h);D.apiKey&&o.unshift(D.apiKey),D.clientKey&&a.unshift(D.clientKey),D.identifiers&&c.unshift(D.identifiers[0]);let[b]=i.filter(Boolean),[C]=a.filter(Boolean),[j]=o.filter(Boolean),H=c.filter(Boolean);return{integrationId:b,clientKey:C,apiKey:j,identifiers:H}},{}))}static queryApiKey(e){return e.apiKey||e.hotelkey||e.hotelKey||e["api-key"]||e.token}static pathClientKey(e){if(e.host==="paperboy.triptease.net"){let[,n]=e.path.match(/\/+([^/.]+)(?:\.js)?$/)||[];return n}let[,t=""]=e.path.match(/\/paperboy\/+([^/.]+)(?:\.js)?$/)||[];if(t!="paperboy"&&t!="confirm")return t}};s(We,"ScriptScraper");function Fc(r,e){if(e){let t=f(()=>r.tt_apiKeys[e])||f(()=>r.ttApiKeys[e])||f(()=>r.document.apiKeys[e])||f(()=>r.document.ttApiKeys[e]);if(t)return Js(t)}return Js(f(()=>r.ttData.apiKey)||r.ttApiKey||r.document.ttApiKey)}s(Fc,"getApiKey");function jc(r){return Js(r.tt_clientKey||r.document.ttClientKey||r.document.tt_clientKey)}s(jc,"getClientKey");var rf=["CLIENT_KEY","API_KEY"];function Js(r){if(!!r&&!rf.includes(r))return r}s(Js,"cleanKey");var pi=class{constructor(e){this.window=e}scrape(){let e=Fc(this.window),t=Or(e);return m.removeEmpty(T(g({},t),{clientKey:jc(this.window)}))}};s(pi,"LegacyScraper");var fi=class{constructor(e){this.pageData=e}scrape(){return ei(this.pageData)}};s(fi,"PageScraper");var nf=E("integration-executor"),mi=class{process(e){var i;let t=(i=e.reservations)==null?void 0:i.filter(m.isObject).map(a=>g({reservationStatus:"confirmed"},a)),n=T(g({},e),{basePrice:Lc(e.price,e.basePrice),reservations:t,reservationStatus:of(T(g({},e),{reservations:t}))});if(n.reservations=cf(n),n.basePrice=n.basePrice||qc("basePrice",n.reservations),n.adults===void 0&&n.children===void 0){let a=sf(n);n.adults=a.adults,n.children=a.children}return m.removeEmpty(n)}};s(mi,"ConfirmationProcessor");function sf(r){return!Array.isArray(r.reservations)||r.reservations.length===0?{}:r.reservations.some(e=>e.adults===void 0||e.children===void 0)?{}:r.reservations.reduce((e,t)=>{var n,i;return e.adults+=(n=t.adults)!=null?n:0,e.children+=(i=t.children)!=null?i:0,e},{adults:0,children:0})}s(sf,"calculateOccupancy");function af(r,e){return e?r?r>e:!0:!1}s(af,"isBasePriceValid");function Lc(r,e){return af(r,e)?e:void 0}s(Lc,"validatedBasePrice");function of(r){let{reservationStatus:e,reservations:t}=r;if(e)return e;if(!t||t.length===0)return"confirmed";let n=new Set(t.map(i=>i.reservationStatus));return n.size===1?Array.from(n)[0]:n.has("pending")?"pending":"modified"}s(of,"calculateReservationStatus");function cf(r){let{reference:e,price:t,currency:n,basePrice:i,reservationStatus:a}=r;if(!r.reservations)return[m.removeEmpty({reference:e,price:t,currency:n,basePrice:i,reservationStatus:a})];let o=r.reservations.map(l=>m.removeEmpty(T(g({},l),{basePrice:Lc(l.price,l.basePrice)}))),c=qc("basePrice",o);return c!==void 0&&c===t?lf("basePrice","price",o):o}s(cf,"calculateReservations");function qc(r,e){if(e.every(t=>t[r]))return e.reduce((t,n)=>n.reservationStatus==="confirmed"?(t!=null?t:0)+n[r]:t,void 0)}s(qc,"sumOfConfirmedReservations");function lf(r,e,t){return t.every(n=>!n[e])?(nf.log(`Changing label from ${r} to ${e} in reservations`),t.map(n=>m.removeEmpty(T(g({},n),{[e]:n[r],[r]:void 0})))):t}s(lf,"changeLabel");var Kc=k(re()),yi=k(G());var Er;(function(n){n.Unknown="Unknown",n.Total="Total",n.Nightly="Nightly"})(Er||(Er={}));function Hc(r){return r===!0?Er.Total:r===!1?Er.Nightly:Er.Unknown}s(Hc,"asPriceType");var uf=E("integration-executor"),gi=class{constructor(e,t){this.window=e;this.history=t}process(e){let t=m.removeEmpty(T(g({},e),{type:v.RoomsAndRates}));return t.rateDetails=Pc(Bs(e)),t.ratesModified=this.calculateRatesModified(t),t.priceType=Hc(t.total),t}calculateRatesModified(e){let{ratesModified:t,promoCodes:n}=e;return t||(this.hasRatesChangedWithoutSearchChanging(e)?"roomOrRateFiltered":this.hasSearchChangedWithoutRatesChanging(e)||this.hasCurrencyChangedWithoutPricesChanging(e)?"untrusted":n&&n.length>0?"discountCode":this.window.document.querySelector("html.translated-ltr,html.translated-rtl")?"untrusted":"none")}hasCurrencyChangedWithoutPricesChanging(e){let t=this.history.find(i=>Cr(i));return!((t==null?void 0:t.rateDetails)&&(e==null?void 0:e.rateDetails)&&t.rateDetails.length===e.rateDetails.length&&e.rateDetails.length>0)||!!I.same(Uc(e.rateDetails,"currency"),Uc(t.rateDetails,"currency"))?!1:I.same(Ys(Gt(e.rateDetails),"currency"),Ys(Gt(t.rateDetails),"currency"))}hasSearchChangedWithoutRatesChanging(e){let t=this.history.find(n=>Cr(n));if(!t)return!1;if(!I.same(hi(e),hi(t)))return I.same(Gt(e.rateDetails),Gt(t.rateDetails))}hasRatesChangedWithoutSearchChanging(e){let t=this.history.find(o=>Cr(o));if(!t||!I.same(hi(e),hi(t)))return!1;let{rateDetails:n,ratesModified:i}=t;if(i==="roomOrRateFiltered")return!0;if(i==="searchInProgress"||i==="untrusted")return!1;let{rateDetails:a}=e;return!(Bs(t).length===0&&a&&a.length>0||I.isSuperset(Gt(n),Gt(a))||pf(n,a)||df(n,a))}};s(gi,"RoomsAndRatesProcessor");function hi(r){let{apiKey:e,checkin:t,checkout:n,rooms:i,adults:a,children:o,total:c}=r;return m.removeEmpty({apiKey:e,checkin:t,checkout:n,rooms:i,adults:a,children:o,total:c})}s(hi,"searchParameters");function Gt(r){return Ys(r,"rateName","roomName","rateCode","roomCode")}s(Gt,"excludeNames");function Ys(r,...e){if(!r)return;let t=e.reduce((n,i)=>(n[i]=void 0,n),{});return r.map(n=>m.removeEmpty(g(g({},n),t)))}s(Ys,"excludeKeys");function Uc(r,...e){if(!!r)return r.map(t=>m.removeEmpty(e.reduce((n,i)=>(n[i]=t[i],n),{})))}s(Uc,"pickKeys");function df(r,e){if(r.length===0||e.length===0||r.length!==e.length||r[0].currency===e[0].currency)return!1;let t=(0,Kc.array)(r.map(o=>o.price),(0,yi.zip)(e.map(o=>o.price)),(0,yi.map)(([o,c])=>c/o)),n=Math.min(...t),i=Math.max(...t),a=(i-n)/i;return uf.debug(`Currency changed percentDifference ${a}`),a<.01}s(df,"currencyChanged");function Bc(r,e){return e.reduce((t,n)=>{let i=n[r];return i&&(t[i]=t[i]===void 0||n.price0&&I.same(i,a))return!0}return!1}s(pf,"isCollapsed");var jl=k(De()),Li=k(De());function Ll(r,e){return f(()=>Li.Days.between(Li.Days.startOf(r),Li.Days.startOf(e)))}s(Ll,"nights");var qi=543,ql=2,Hi=class{constructor(e,t,n=new ri,i=new gi(e,t),a=new mi){this.window=e;this.history=t;this.clock=n;this.roomsAndRatesProcessor=i;this.confirmationProcessor=a}process(e){return this.additionalProcessing((()=>{switch(e.type){case v.RoomsAndRates:return this.roomsAndRatesProcessor.process(e);case v.Confirmation:return this.addDatesFromSearch(this.confirmationProcessor.process(e));case v.Checkout:return this.addOccupancyFromSearch(this.addDatesFromSearch(e));default:return e}})())}additionalProcessing(e){var i,a,o,c,l,p,h,D,b;let t=g({},e);if(hc(t)){let C=this.clock.now().getFullYear(),j=t.checkin.getFullYear(),H=j-C;qi-ql<=H&&H<=qi+ql&&(t.checkin.setFullYear(j-qi),t.checkout.setFullYear(t.checkout.getFullYear()-qi)),t.nights=Ll(t.checkout,t.checkin)}"rateDetails"in e&&e.rateDetails.length>0&&(t.rateSummary=cm(e.rateDetails),(o=t.adults)!=null||(t.adults=(a=(i=t.rateSummary)==null?void 0:i.min)==null?void 0:a.adults),(p=t.children)!=null||(t.children=(l=(c=t.rateSummary)==null?void 0:c.min)==null?void 0:l.children),(b=t.rooms)!=null||(t.rooms=(D=(h=t.rateSummary)==null?void 0:h.min)==null?void 0:D.rooms));let n=lm(e.promoCodes);return n&&(t.promoCodes=n),t}addDatesFromSearch(e){let{checkin:t,checkout:n}=e;if(t&&n)return e;let i=this.history.find(a=>a.type===v.RoomsAndRates);return m.removeEmpty(T(g({},e),{checkin:i==null?void 0:i.checkin,checkout:i==null?void 0:i.checkout}))}addOccupancyFromSearch(e){let{adults:t,children:n}=e;if(t!==void 0&&n!==void 0)return e;let i=this.history.find(a=>a.type===v.RoomsAndRates);return m.removeEmpty(T(g({},e),{adults:i==null?void 0:i.adults,children:i==null?void 0:i.children}))}};s(Hi,"IntegrationDataProcessor");function cm(r){if(!r||r.length===0)return;let e=[...r].sort((n,i)=>{var a,o;return n.price/((a=n.rooms)!=null?a:1)-i.price/((o=i.rooms)!=null?o:1)}),[t]=e;return{count:r.length,currency:t.currency,min:t,max:A.last(e)}}s(cm,"rateSummary");function lm(r){if(!r)return;let e=new Set(["undefined","null"]);return r.map(t=>t==null?void 0:t.trim()).filter(Boolean).filter(t=>!e.has(t))}s(lm,"validCodes");var Ki=class{constructor(e){this.rules=e}clean(e){return typeof e=="string"?this.rules.reduce((t,n)=>typeof n=="function"?n(t):t.replace(n.search,n.replace),e):Array.isArray(e)?e.map(Ee):e&&typeof e=="object"?Object.keys(e).reduce((t,n)=>{let i=e[n];return t[n]=this.clean(i),t},{}):e}};s(Ki,"Cleaner");var Hl=s(r=>r.trim(),"trim"),um={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"," ":" "},dm=s(function(r){let e="(?:"+Object.keys(r).join("|")+")",t=RegExp(e),n=RegExp(e,"g");return function(i){return t.test(i)?i.replace(n,a=>r[a]):i}},"createEscaper"),Kl=dm(um),pm={search:/{{.*}}/g,replace:""},fm={search:/[,.\/#!$%^*;:{}\[\]()=_`~®©™'\u201C\u201D\u2018\u2019]+/g,replace:""},Ul={search:/\s+/g,replace:" "},mm={search:/\sand\s/gi,replace:" & "},ym={search:/\s*(?:Image|Logo)\s*/gi,replace:""},gm={search:/\s*(?:Uniquement\s+Adultes|Adults?\s*(?:Only)\s*)/gi,replace:""},hm={search:/\sAll\sInclusive\s*/gi,replace:""},bm={search:/\s*[(\[]?Official\s*(?:Hotel)?\s*(?:((?:Web)?Site)|Homepage|booking\s*engine)\s*(?:for|of)?[)\]]?\s*/gi,replace:""},wm={search:/\s&$/,replace:""},vm=new Ki([pm,Kl,fm,Ul,ym,gm,hm,bm,mm,wm,ic,Hl]),Bl=new Ki([Kl,Ul,Hl]);function Ee(r){return vm.clean(r)}s(Ee,"clean");function $l(r){return Object.fromEntries(Object.entries(r).filter(([e,t])=>t!=="undefined"&&t!=="null"))}s($l,"cleanValues");function Ca(r){if(r.hasOwnProperty("parentElement"))return r.parentElement;let e=r.parentNode;return e instanceof Element?e:e?Ca(e):null}s(Ca,"parentOf");var xm=/^\s*$/,Sm=s(r=>r instanceof Text&&xm.test(r.data),"isWhiteSpace"),Dm=["script","style","noscript","a"].map(r=>r.toUpperCase()),Pm=s(r=>r&&Dm.indexOf(r.tagName)!==-1,"isUninterestingTag"),Am=s(r=>!Sm(r)&&!Pm(Ca(r)),"isValid");function Ui(r){return r instanceof Element?r:Ca(r)}s(Ui,"elementOf");function Cm(r){let e=Ui(r);if(!!e)return e.getBoundingClientRect()}s(Cm,"clientRectOf");function Tm(r,e){let t=e.documentElement.scrollWidth,n=e.documentElement.scrollHeight,i=e.documentElement.scrollLeft,a=e.documentElement.scrollTop;if(t==0||n==0)return;let o=Cm(r);if(!!o)return{x:(o.left+i)/t,y:(o.top+a)/n,width:o.width/t,height:o.height/n}}s(Tm,"positionOf");function Om(r){if(r instanceof Text)return r.data.trim();if(r instanceof Element)return r.getAttribute("aria-label")||r.getAttribute("title")||r.getAttribute("alt")||void 0}s(Om,"valueOf");function Rm(r,e=.8){return r.y0&&r.height>0}s(Rm,"isVisibleDefault");function Gl(r,e=Rm){let t=r.document,n=[],i=t.createNodeIterator(t.documentElement,NodeFilter.SHOW_TEXT,null);for(;;){let c=i.nextNode();if(!c)break;Am(c)&&n.push(c)}let a=t.querySelectorAll("[aria-label], img[title], img[alt]");for(let c=0;c{let p=Ui(c).compareDocumentPosition(Ui(l));return p&Node.DOCUMENT_POSITION_PRECEDING?1:p&Node.DOCUMENT_POSITION_FOLLOWING?-1:0});let o=[];for(let c=0;c{if(D.length>2&&D.length<93){let b=Ui(l);o.push({source:b?b.tagName.toLowerCase():"",type:"Untrusted",identifierType:"Unknown",identifier:Ee(D)})}})}return o}s(Gl,"getDocumentIdentifierSources");var km=["context.hotelName","Cart.HName","propertyName","ihReservations.ihHotelName","ihHotelName","HName","transactionHotelName","ratequeryHotelName","hpr","strippedPropertyName","property_name","flipto.sessionData.propertyName","HotelName"];function Em(r){return f(()=>r.event.indexOf("gtm.")===0,!1)}s(Em,"isGtmEvent");function Nl(r){let e=Array.isArray(r)?r:r.dataLayer||[],t=A.safeReverse(e).filter(n=>!Em(n));return km.flatMap(n=>A.clean(A.unique(Kn(t,...n.split(".")))).map(i=>({source:"dataLayer."+n,identifier:Ee(i),type:"Trusted",identifierType:"HotelName"})))}s(Nl,"dataLayerIdentifiers");var Bi=class{constructor(e,t,n){this.scope=e;this.property=t;this.seed=n}parentScope(e){let[,...t]=Hn.path(e);return A.find(t,n=>n.hasAttribute(this.scope))}getValue(e){return e.hasAttribute(this.scope)?this.processScope(e):e.getAttribute("content")||e.getAttribute("src")||e.getAttribute("href")||e.getAttribute("data")||e.getAttribute("value")||e.getAttribute("datetime")||e.textContent}processScope(e){return A.from(e.querySelectorAll(`*[${this.property}]`)).filter(t=>this.parentScope(t)===e).reduce((t,n)=>{let i=n.getAttribute(this.property);return i?Un(t,i,Bl.clean(this.getValue(n))):t},this.seed(e))}processDocument(e){return new he(e).querySelectorAll(`*[${this.scope}]`).map(this.processScope.bind(this))}};s(Bi,"StructuredDataExtractor");var Mm=new Bi("itemscope","itemprop",r=>{let t=(r.getAttribute("itemtype")||"Unknown").split("/");return $i("microdata",{"@type":t.pop(),"@context":t.join("/")})}),Im=new Bi("typeof","property",r=>$i("rdfa",{"@type":r.getAttribute("typeof"),"@context":r.getAttribute("vocab")})),_m={processDocument(r){return A.flatten(new he(r).querySelectorAll('script[type="application/ld+json"]').map(e=>{let n=(e.textContent||"").replace(/[\r\n]/g," ");try{let i=B.parse(n),a=i["@graph"]||i;return Array.isArray(a)?a.map(o=>$i("json-ld",o)):$i("json-ld",i)}catch(i){return{"@type":"Error",error:i.toString(),json:n}}}))}};function $i(r,e){return T(g({},e),{"@format":r})}s($i,"addFormat");var ct={processDocument(r){return[..._m.processDocument(r),...Mm.processDocument(r),...Im.processDocument(r)]}};function*zl(r,e){let t=Array.isArray(r)?r:[r];for(let n of t)if(n["@type"]===e)yield n;else for(let i of Object.values(n))Hs(i)&&(yield*zl(i,e))}s(zl,"filter");function Wl(r,e){let[t]=zl(r,e);return t}s(Wl,"find");function Fm(r){if(!!r)return{latitude:Number(r.latitude),longitude:Number(r.longitude)}}s(Fm,"convertGeoCoordinates");function Vl(r){let e=Fm(Wl(r,"GeoCoordinates")),t=Wl(r,"PostalAddress");return t?m.removeEmpty({geo:e,lines:[t.streetAddress,t.addressLocality].filter(Boolean),region:t.addressRegion,postalCode:t.postalCode,country:t.addressCountry}):m.removeEmpty({geo:e})}s(Vl,"getAddressFromStructuredData");function Jr(r,e){return[...new Gi(Ta,"Trusted",e).from(r),...new Gi(Yl,"Untrusted",e).from(r)].filter(t=>typeof t.identifier!="object")}s(Jr,"getMinimalIdentifiersFromStructuredData");function Jl(r,e){let t=ct.processDocument(r).filter(n=>Lm.indexOf(n["@type"])!==-1);return Jr(t,e)}s(Jl,"structuredDataIdentifiers");var Gi=class{constructor(e,t,n=!0){this.orderedStructuredDataTypes=e;this.type=t;this.appendBrand=n}from(e){return A.flatten(this.filterStructuredData(e).map(t=>{let n=(Array.isArray(t.name)?t.name:[t.name]).flatMap(a=>({source:`structuredData[@type='${t["@type"]}'].name`,identifier:Ee(this.addBrand(t.brand,a)),type:this.type,identifierType:qm(t["@type"])})),i=t.identifier;return i&&n.push({type:this.type,identifier:i,source:`structuredData[@type='${t["@type"]}'].identifier`,identifierType:"HotelCode"}),n}))}addBrand(e,t){return!this.appendBrand||!e||t.indexOf(e)>=0?t:`${e} ${t}`}filterStructuredData(e){return e?e.filter(Boolean).filter(t=>this.orderedStructuredDataTypes.indexOf(t["@type"])>=0).filter(t=>Boolean(t.name)).sort((t,n)=>this.orderedStructuredDataTypes.indexOf(t["@type"])-this.orderedStructuredDataTypes.indexOf(n["@type"])):[]}};s(Gi,"StructuredDataSources");var Ta=["Hotel","LodgingBusiness","BedAndBreakfast"],Yl=["WebSite","LocalBusiness","Organization"],jm=["HotelRoom","LodgingReservation","Offer","SoftwareApplication"],Lm=[...Ta,...Yl,...jm];function qm(r){return Ta.includes(r)?"HotelName":"Unknown"}s(qm,"inferIdentifierTypeFrom");var Oa=k(re()),nr=k(G());function Zl(r){return r.identifier&&r.identifier.length>2&&r.identifier.length<110}s(Zl,"hasSensibleData");var Ni=class{constructor(e,t,n=E("hotel-identifiers-scraper")){this.window=e;this.defaultIdentificationStatus=t;this.logger=n}scrape(){return{identifiers:this.identifierSources()}}identifierSources(){let e=[...Jl(this.window.document),...Hm(this.window)].filter(Zl);if(this.logger.log("Strict identifiers",e),this.defaultIdentificationStatus===Y.Strict)return e;let t=[...Nl(this.window),...Gm(this.window.document),...zm(this.window.document),...Um(this.window.document),...$m(this.window)].filter(Zl);this.logger.log("Common identifiers",t);let n=[...e,...t];if(n.find(i=>Gn.has(i.identifierType)))return n;{let i=Gl(this.window);return this.logger.log("Additional identifiers",i),[...n,...i]}}};s(Ni,"HotelIdentifiersScraper");function Yr(r){return r?Ht(r)?!!r.apiKey||!!r.identifiers&&r.identifiers.length>0:Array.isArray(r)?r.reduce((e,t)=>e||Yr(t),!1):r.constructor===Object?Yr(m.values(r)):!1:!1}s(Yr,"hasApiKeyOrIdentifier");function Hm(r,e={host:!0}){if(r===void 0)return[];let{scheme:t,host:n,path:i,query:a}=f(()=>r instanceof N?r:typeof r=="string"?new N(r):new N(r.location.href),{});if(t==="about")return[];let o=e.host===!1?[]:[n,...Km(Xl(n))],c=Xl(i),l=Object.values(ce(a,!1)),p=[...o,...c,...l].map(b=>({identifier:b,type:"Untrusted",source:"url",identifierType:"PossibleIdentifier"})),h=(0,Oa.array)(c,(0,nr.windowed)(2,1),(0,nr.map)(([b,C])=>({identifier:[b,C].join("/"),type:"Untrusted",identifierType:"PossibleIdentifier",source:"url"}))),D=(0,Oa.array)(c,(0,nr.windowed)(3,1),(0,nr.map)(([b,C,j])=>({identifier:[b,C,j].join("/"),type:"Untrusted",identifierType:"PossibleIdentifier",source:"url"})));return[...p,...h,...D]}s(Hm,"urlIdentifiers");function Xl(r){return r?r.split(/[./]/g).filter(Boolean):[]}s(Xl,"getParts");function Km(r){return r.filter(e=>e.length>3)}s(Km,"cleanHosts");function Um(r){let{HotelCode:e}=Bm(r);return[{identifierType:"PossibleIdentifier",type:"Untrusted",identifier:e,source:"cookie"}]}s(Um,"cookieIdentifiers");function Bm(r){return f(()=>r.cookie.split(";").reduce((e,t)=>{let[n,i]=t.trim().split("=").map(decodeURIComponent);return e[n]=i,e},{}),{})}s(Bm,"cookieObject");function $m(r){let e=r.explicitHotelIdentifier;return[{identifierType:"PossibleIdentifier",type:"Untrusted",identifier:e,source:"window"}]}s($m,"miscIdentifiers");function Gm(r){return r.title.split(/[|\-:]/).reverse().map(e=>({source:"title",identifier:Ee(e),type:"Untrusted",identifierType:"Unknown"}))}s(Gm,"titles");function Nm(r){return Array.from(r.getElementsByTagName("meta")).reduce((e,t)=>{let n=t.getAttribute("name")||t.getAttribute("property")||t.getAttribute("http-equiv"),i=t.getAttribute("content");return n&&(e[n]=i),e},{})}s(Nm,"metaObject");function zm(r){let e=["site-id","og:title","og:site_name","twitter:title"],t=Nm(r);return Object.keys(t).filter(n=>e.indexOf(n)!=-1).map(n=>({source:`meta.${n}`,identifier:Ee(t[n]),type:"Untrusted",identifierType:"Unknown"}))}s(zm,"metaLabels");var Ym=k(De());var Ql=k(re()),eu=k(X()),Ze=k(G());function tu(r){return r?r.trim().split(/[-_]/).filter(Boolean).map((e,t)=>t===0?e.toLowerCase():t===1&&e.length===2?e.toUpperCase():e):[]}s(tu,"localeParts");function Wm(r){let[e]=tu(r);return e}s(Wm,"languageOf");function Vm(r){let e=tu(r);if(e.length!==0)return e.join("-")}s(Vm,"cleanLocale");var Ra=class{localeOf(e){return[e.documentElement.lang,e.documentElement.getAttribute("xml:lang")].filter(Boolean)}};s(Ra,"DocumentLocaleDetector");var ka=class{localeOf(e){var n;let t=ce((n=e.defaultView)==null?void 0:n.location.search).lang;return typeof t!="string"?[]:[t]}};s(ka,"QueryStringLocaleDetector");var ir=class{constructor(e){this.tld=e}static create(e){let[,t]=f(()=>e.defaultView.location.hostname.match(ir.pattern))||[];return new ir(t)}enrich(e){let t=f(()=>ir.mapping[this.tld],this.tld);return t&&ir.validate(`${e}-${t}`)||e}static validate(e){try{let[t]=Intl.DateTimeFormat.supportedLocalesOf(e);return t}catch(t){}}},zi=ir;s(zi,"CountryCodeTLDEnricher"),zi.pattern=/\.(\w{2})$/,zi.mapping={uk:"GB",co:"US"};function Jm(r){if(!r)return!1;if(r==="is"||r==="is-IS")return!0;try{let[e]=Intl.DateTimeFormat.supportedLocalesOf(r);return!!e}catch(e){}return!1}s(Jm,"isLocaleValid");var Wi=class{constructor(){this.detectors=[new ka,new Ra]}static detectLocale(e){let[t]=Wi.instance.localeOf(e);return t}localeOf(e){return(0,Ql.array)(this.detectors,(0,Ze.flatMap)(t=>t.localeOf(e)),(0,Ze.map)(Vm),(0,Ze.filter)(Jm),(0,Ze.unique)((0,eu.by)(Wm)))}},Zr=Wi;s(Zr,"SimpleLocaleDetector"),Zr.instance=new Wi;var ru;(function(t){t.rate="rate",t.room="room"})(ru||(ru={}));function Xr(r){return Zr.detectLocale(r.document)}s(Xr,"getLanguageFromDocument");function nu(r){return Xr(r)||r.navigator.language}s(nu,"getLanguageFromDocumentOrBrowser");var Vi=class{constructor(e){this.storage=e}get(e){let t=this.storage.getItem(e);if(t)return B.parseWithDates(t)}set(e,t){return this.storage.setItem(e,JSON.stringify(t)),this}clear(){this.storage.clear()}};s(Vi,"JsonStorage");var Ji=class{constructor(){this.data=new Map}get(e){return this.data.get(e)}set(e,t){return this.data.set(e,t)}clear(){this.data.clear()}};s(Ji,"InMemoryTypedStorage");var Yi=class{constructor(e){this.stores=e}clear(){this.stores.forEach(e=>f(()=>e.clear()))}get(e){for(let t of this.stores){let n=f(()=>t.get(e));if(n)return n}}set(e,t){return this.stores.forEach(n=>f(()=>n.set(e,t))),this}};s(Yi,"CompositeTypedStorage");function iu(r){return y(this,null,function*(){if(typeof crypto!="undefined"&&crypto.subtle&&typeof TextEncoder!="undefined"){let e=new TextEncoder().encode(r),t=yield crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(t)).map(i=>i.toString(16).padStart(2,"0")).join("")}else{let e=5381;for(let t=0;tnew Vi(e.sessionStorage)),ar.backupStorage]);return new ar(n,t)}storedData(){return Xm(this.storage.get(ar.storageKey))||{data:[{type:v.Unknown}],count:0}}data(){return this.storedData().data}add(e){return y(this,null,function*(){let{data:t,count:n}=this.storedData(),i=T(g({},Qm(e)),{digest:yield Ea(e)});t.unshift(i);let a=je.parse(n+1);return this.storage.set(ar.storageKey,{data:sc(t,this.LIMIT),count:a}),a})}last(){let[e]=this.data();return e}find(e){let t=A.find(this.data(),e);if(t){let n=t,{digest:i}=n;return yt(n,["digest"])}}clear(){this.storage.clear()}isSameAsLastGeneration(e){return y(this,null,function*(){let t=this.last();return(t.digest||(yield Ea(t)))===(yield Ea(e))})}},sr=ar;s(sr,"IntegrationHistory"),sr.storageKey=su,sr.backupStorage=new Ji;function Ea(r){return y(this,null,function*(){return yield iu(B.stringify(Zm(r)))})}s(Ea,"getDigest");function Zm(r){if(!r)return{};let e=g({},r);return e.hasOwnProperty("ratesModified")&&e.ratesModified!=="searchInProgress"&&delete e.ratesModified,delete e.stats,e}s(Zm,"exclude");function Xm(r){if(!!r){if(m.isObject(r)&&"data"in r)return r;if(Array.isArray(r)&&r.every(e=>e.type))return{data:r}}}s(Xm,"adapt");function Qm(r){let e=g({},r);return delete e.pii,e}s(Qm,"scrubData");var Ma=class{reset(){}summarise(){return{}}timeAsync(e,t){return t()}timeCall(e,t){return t}timeSync(e,t){return t()}};s(Ma,"StubReporter");function au(){return typeof performance=="object"&&"now"in performance?new Ia:new Ma}s(au,"createReporter");var Ia=class{constructor(e=[],t=new ge){this.timings=e;this.timers=t}timeCall(e,t){let n=this;return function(...i){let a=performance.now(),o=t.apply(this,i),c=performance.now()-a;return n.timings.push({name:e,time:c}),o}}timeSync(e,t){let n=performance.now(),i=t(),a=performance.now()-n;return this.timings.push({name:e,time:a}),i}timeAsync(e,t){return y(this,null,function*(){let n=performance.now(),i=yield this.timers.task(t),a=performance.now()-n;return this.timings.push({name:e,time:a}),i})}summarise(){let e=this.timings.reduce((t,{name:n,time:i})=>{let a=t[n]||{count:0,avg:0,sum:0,min:Number.MAX_VALUE,max:Number.MIN_VALUE};return a.count++,a.min=Math.min(a.min,i),a.max=Math.max(a.max,i),a.sum+=i,a.avg+=(i-a.avg)/a.count,t[n]=a,t},{});return this.reset(),e}reset(){this.timings.length=0}};s(Ia,"RealReporter");var ou="triptease.onboard.response";function cu(r){return r&&typeof r=="object"&&r.type==="triptease.onboard.response"&&typeof r.correlationId=="string"}s(cu,"isOnboardResponse");var lu=E("messaging"),Zi=class{constructor(e){this.messageHandler=e;this.promises=new Map;e&&e.addListener(t=>{if(cu(t)){let{correlationId:n}=t,i=this.promises.get(n);i&&(lu.debug("Sender matched response",t),i.resolve(t),this.promises.delete(n))}})}handle(e){return y(this,null,function*(){return lu.debug("Sending request",e),this.messageHandler&&this.messageHandler.send(e),new Promise((t,n)=>{this.promises.set(e.correlationId,{resolve:t,reject:n})})})}};s(Zi,"Sender");function uu(r){return m.removeEmpty(T(g({},r),{lines:f(()=>r.lines.filter(Boolean).map(String))}))}s(uu,"cleanAddress");var Xi=class{constructor(e,t=60*1e3,n=new ge){this.handler=e;this.timeout=t;this.timers=n}handle(e){return y(this,null,function*(){let t=yield Promise.race([this.handler.handle(e),this.timers.delay(this.timeout)]);return t||{type:ou,payload:new Error(`Request ${e.requestType} timed out after ${this.timeout}`),correlationId:e.correlationId}})}};s(Xi,"TimeoutMessageHandler");var mu=k(X());function du(r){switch(r){case"essential":case"necessary":return"essential";case"functionality":case"personalisation":case"preferences":return"functionality";case"performance":case"statistics":case"analytics":return"performance";case"marketing":case"advertising":return"marketing"}}s(du,"alias");var Qi=class{constructor(e){this.window=e}find(){let e=["necessary","preferences","statistics","marketing"].map(t=>f(()=>this.window.Cookiebot.consent[t])?du(t):void 0).filter(Boolean);if(e.length>0)return{type:"cmp",source:Te.cookieBot,values:e}}};s(Qi,"CookieBotConsentFinder");var pu=new Set(["all"]);function fu(r){let e=new Set(r.filter(Boolean));return e.size===0||e.has("all")?pu:(e.has("none")&&e.size!==1&&e.delete("none"),e.has("auto")&&e.size!==1&&e.delete("auto"),e)}s(fu,"collapseConsentTypes");var ey=new Map([["ad_storage",["marketing"]],["ad_user_data",["marketing"]],["ad_personalization",["marketing","functionality"]],["analytics_storage",["performance"]],["functionality_storage",["functionality"]],["personalization_storage",["functionality"]],["security_storage",["essential"]]]),es=class{constructor(e){this.window=e}find(){if(Array.isArray(this.window.dataLayer)){let e=this.window.dataLayer.filter(o=>o[0]==="consent"&&o[1]==="default").reduce((o,c)=>g(g({},o),c[2]),{}),t=this.window.dataLayer.filter(o=>o[0]==="consent"&&o[1]==="update").reduce((o,c)=>g(g({},o),c[2]),e),i=Object.entries(t).filter(([o,c])=>c==="granted").map(([o])=>o).reduce((o,c)=>{let l=ey.get(c)||[];return[...o,...l]},[]),a=A.unique(i);if(a.length>0)return{type:"cmp",source:Te.google,values:a};if(a.length===0&&Object.keys(t).length>0)return{type:"cmp",source:Te.google,values:["none"]}}}};s(es,"GoogleConsent");var ty={app_basics:"essential",app_preference:"functionality",app_analytics:"performance",app_marketing:"marketing"},ts=class{constructor(e){this.window=e}find(){let{consents:e}=f(()=>this.window.klaro.getManager(),{consents:{}}),t=Object.entries(ty).reduce((n,[i,a])=>e[i]?[...n,a]:n,[]);if(t.length>0)return{type:"cmp",source:Te.klaro,values:t}}};s(ts,"KlaroConsentFinder");var or=class{constructor(e,t,n){this.window=e;this.key=t;this.parser=n}values(){return this.scripts().map(t=>t.dataset[this.key]).filter(Boolean).flatMap(t=>t.split(/\s*,\s*/g).map(n=>this.parser.parse(n))).filter(t=>!!t)}scripts(){let e=ze.scripts(new he(this.window.document)),t=e.filter(n=>!n.src.includes("partner="));return t.length>0?t:e}};s(or,"ScriptAttributeFinder");var rs=class{constructor(e){this.lookup=e.reduce((t,n)=>t.set(n,n),new Map)}parse(e){if(!!e)return this.lookup.get(e.toLowerCase().trim())}};s(rs,"AttributeParser");var ns=class extends rs{constructor(){super(["none","first-party","third-party","all"])}};s(ns,"StorageControlParser");var is=class extends rs{constructor(){super(["none","essential","functionality","performance","marketing","all","auto"])}};s(is,"UserConsentParser");var ry=E("consent"),_a=class extends or{constructor(e){super(e,"storageConsent",new is)}find(){let e=this.values();if(e.length>0)return{type:"script",source:"script",values:e}}};s(_a,"ScriptConsentFinder");var ss=class{constructor(e,t=[new _a(e),new Qi(e),new ts(e),new es(e)]){this.finders=t}find(){return this.allConsents.overall}findAll(){return this.allConsents}get allConsents(){let e=this.finders.map(n=>n.find()).filter(Boolean);ry.log("individual consents",e);let t=this.getOverallConsent(e);return[...e,t].reduce((n,i)=>{let a=i.type==="overall"?i.type:i.source;return n[a]=i,n},{})}getOverallConsent(e){let t=e.find(i=>i.type==="script"),n=e.find(i=>i.type==="cmp"&&i.values.length>0);return t?t.values.includes("auto")?n?{type:"overall",source:n.source,values:this.cleaned(n.values)}:{type:"overall",source:Te.defaultAutoConsentMode,values:["none"]}:{type:"overall",source:t.source,values:this.cleaned(t.values)}:{type:"overall",source:Te.defaultNoConsentMode,values:["all"]}}cleaned(e){return Array.from(fu(e))}};s(ss,"CompositeConsentFinder");var as=class extends or{constructor(e){super(e,"storage",new ns)}find(){let e=this.values();if(e.length>0)return{values:e}}};s(as,"ScriptStorageFinder");var os=class{constructor(e){this.window=e}scrape(){var a,o;let t=new ss(this.window).findAll(),i=(a=new as(this.window).find())==null?void 0:a.values;return{userConsent:(o=t.overall)==null?void 0:o.values,consent:t,storage:i}}};s(os,"UserConsentScraper");var cr=class{constructor(e){this.filteredFeatures=cr.getFeatureFilter(e)}static getFeatureFilter(e){let n=Ls(e,"triptease-features")||"auto",i=f(()=>{let[a]=ze.find(new $t(e.document)),{features:o}=ce(a.query);return o},n).toLowerCase();return i==="none"||i==="auto"?i:i.split(",").filter(a=>a!=="none"&&a!=="auto")}mergeFeatures(e,t){let n=f(()=>I.merge(e.features||{},(t==null?void 0:t.features)||{}),{});return this.filteredFeatures==="auto"?n:Object.entries(n).reduce((i,[a,o])=>(i[a]=o,this.filteredFeatures.includes(a.toLowerCase())&&(i[a].enabled=!0),this.filteredFeatures==="none"&&(i[a].enabled=!1),i),{})}};s(cr,"DefaultFeatureLoader");function ny(r,e){return y(this,null,function*(){let t=ue(r).triptease;E("integration-executor").log(`replaceExecutor old:${f(()=>t.integration.script.app().name)} new:${f(()=>e.script.app().name)}`),t.integration&&(yield t.integration.stop()),t.integration=e,yield e.start()})}s(ny,"replaceExecutor");var cs=class{constructor(e,t,n=di(e),i=E("integration-executor"),a=ue(e).onboard.messageBuilder,o=new Xi(new Zi(Cc(e))),c=new Xn(o),l=Zn(o),p=sr.create(e),h=new Hi(e,p),D=new cr(e),b=au()){this.window=e;this.script=t;this.events=n;this.logger=i;this.messageBuilder=a;this.sender=o;this.kernel=c;this.kernelHost=l;this.history=p;this.processor=h;this.featureLoader=D;this.reporter=b;this.integrate=s(()=>y(this,null,function*(){this.logger.log("Begin integration executor");let e=yield this.reporter.timeAsync("page-scraping",()=>this.findPageData()),t=yield this.reporter.timeAsync("hotel-identification",()=>this.addIdentificationAndAdditionalData(e));t.language||(t.language=nu(this.window));let n=this.processor.process(t);this.logger.log("Processed integration data",n);let i=this.lastPath!==this.window.location.pathname,a=!(yield this.history.isSameAsLastGeneration(n)),o=this.kernelMode;this.kernelMode===Nn.ApplicationHost&&(yield this.updateKernelMode());let c=o!==this.kernelMode;if(i||a||c){this.logger.log("Detected change - updating triptease.config",{pathHasChanged:i,integrationDataHasChanged:a,kernelModeHasChanged:c}),this.window.triptease.config=n;let l=yield this.history.add(n);yield this.sendToKernelHost(yield this.messageBuilder.buildMessage({type:"triptease.config",payload:T(g({},ay(n)),{diagnostics:T(g({},n==null?void 0:n.diagnostics),{pathHasChanged:i,integrationDataHasChanged:a,kernelModeHasChanged:c})}),context:{app:this.script.app(),tab:{eventCounter:l},kernelMode:this.kernelMode}})),this.lastPath=this.window.location.pathname}else this.logger.log("No change - doing nothing");return n}),"integrate");ny(e,this)}start(){return y(this,null,function*(){this.logger.log(`IntegrationExecutor.start ${this.script.app().name}`),yield this.events.listen(this.integrate),this.kernelMode=yield this.kernelHost.getKernelMode(),this.logger.log(`IntegrationExecutor's kernel is in ${this.kernelMode} mode`,{href:this.window.location.href})})}stop(){return y(this,null,function*(){this.logger.log(`IntegrationExecutor.stop ${this.script.app().name}`),this.events.removeListener(this.integrate)})}updateKernelMode(e){return y(this,null,function*(){this.kernelMode=e!=null?e:yield this.kernelHost.getKernelMode();let t=e?`updateKernelMode received ${e}`:`updateKernelMode set kernel mode to ${this.kernelMode}`;this.logger.log(t,{href:this.window.location.href})})}addIdentificationAndAdditionalData(e){return y(this,null,function*(){var h,D,b,C;let t=yield this.script.scrape(),n=g({},e),i=yield new Qn([new os(this.window),new pi(this.window),new We(this.window),{scrape:()=>t},new fi(n)],this.logger).scrape();if(i.apiKey==="none")return this.logger.log('Skipping identification as apiKey is set to "none" - Only interested in page data for ARI feed'),n;if(i=T(g({},i),{type:iy(n.type,t.type),integrationName:this.script.app().name}),this.logger.log("all identifiers",i),Ks(n)&&Array.isArray(n.rateDetails)){n.rateDetails=yield this.processArrayIdentifiers(n.rateDetails,i);let j=this.getUniqueApiKey(n.rateDetails);j&&(i=T(g({},Fa(i,{identifiers:(D=(h=n==null?void 0:n.rateDetails)==null?void 0:h[0])==null?void 0:D.identifiers})),{apiKey:j}))}if(Us(n)&&Array.isArray(n.reservations)){n.reservations=yield this.processArrayIdentifiers(n.reservations,i);let j=this.getUniqueApiKey(n.reservations);j&&(i=T(g({},Fa(i,{identifiers:(C=(b=n==null?void 0:n.reservations)==null?void 0:b[0])==null?void 0:C.identifiers})),{apiKey:j}))}this.logger.log("getting client config");let a=yield this.kernel.generateClientConfig(i);this.logger.log("got client config",a);let o=oy(i,n,a,this.logger);if(o!==Y.Disabled){let j=new Ni(this.window,o).scrape();this.logger.log("default identifiers",j),i=Fa(i,j),this.logger.log("merged identifiers",i.identifiers)}let c=yield this.kernel.generateConfig(i);this.logger.log("generatedConfig",c);let l=this.featureLoader.mergeFeatures(n,c);this.logger.log("mergeFeatures",l);let p=yu([i,n]);return m.removeEmpty(T(g(g(g({},i),n),c),{features:l,address:uu(yield i.address),defaultIdentification:o,identifiers:this.filterOutPossibleUserData(i),diagnostics:p}))})}filterOutPossibleUserData(e){return f(()=>e.identifiers.filter(t=>Gn.has(t.identifierType)))}getUniqueApiKey(e){let t=A.unique(e.map(n=>n.apiKey));if(t.length===1)return t[0]}processArrayIdentifiers(e,t){return y(this,null,function*(){return yield Promise.all(e.map(n=>y(this,null,function*(){return Ht(n)?g(g({},n),yield this.kernel.generateConfig(g(T(g({},t),{apiKey:void 0}),ei(n)))):n})))})}sendToKernelHost(e){return y(this,null,function*(){this.logger.log("Sending triptease.config message to local kernel host",e);let t=T(g({},e),{context:T(g({},e.context),{stats:this.reporter.summarise()})});this.kernelHost.processConfig(t)})}findPageData(){return y(this,null,function*(){let e=[];for(let n of this.script.pages)try{let i=Ac(yield n.integrationData());if(i&&(i.pageClass=i.pageClass||ac(n)),xc(i))return this.logger.log("Found valid page",i),i;e.push(i)}catch(i){this.logger.debug("Page didn't parse due to error",i)}this.logger.log("No valid pages found - finding partial page from",e);let t=yu(e);return Dc(e)||m.removeEmpty({type:v.Unknown,diagnostics:t})})}};s(cs,"IntegrationExecutor");function yu(r){if(!!Array.isArray(r))return r.reduce((e,t)=>g(g({},t==null?void 0:t.diagnostics),e),{})}s(yu,"mergeDiagnostics");function iy(...r){return A.first([...r,v.Unknown].filter(Boolean).sort((0,mu.by)(bc)))}s(iy,"calculatePageType");function sy(r,e){var t,n;return!!((n=(t=r.features)==null?void 0:t[e])==null?void 0:n.enabled)}s(sy,"isFeatureEnabled");function ay(r){if(!r)return;let e=!sy(r,"CartAbandonment"),t=g({},r);return e&&delete t.pii,t}s(ay,"scrubPII");function Fa(r,e){var t,n;return T(g(g({},r),e),{identifiers:[...(t=r.identifiers)!=null?t:[],...(n=e.identifiers)!=null?n:[]]})}s(Fa,"mergeIdentifiers");function oy(r,e,t,n=new Ar){return r.defaultIdentification===Y.Disabled?(n.log("Default hotel identification set to disabled as requested by integration"),Y.Disabled):r.defaultIdentification===Y.Enabled?(n.log("Default hotel identification set to enabled as requested by integration"),Y.Enabled):(t==null?void 0:t.defaultIdentification)&&t.defaultIdentification!==Y.NotConfigured?(n.log(`Default hotel identification set to ${t.defaultIdentification.toLowerCase()} as requested by client config`),t.defaultIdentification):Yr(r)||Yr(e)?(n.log("Default hotel identification set to disabled as page data already contains identifiers or apiKey"),Y.Disabled):(n.log("Default hotel identification set to enabled as it is not configured"),Y.Enabled)}s(oy,"getDefaultHotelIdentificationStatus");var gu=k(bi());var lr=class{static get(){return f(()=>{let e="8975.130923";return e?"v"+e:"latest"})}};s(lr,"Version");var ls=class{constructor(e,t=new gu.SystemClock){this.window=e;this.clock=t}app(){return{name:f(()=>ue(this.window).onboard.integrationName.canonical),version:lr.get()}}address(){return{}}scrape(){return m.removeEmpty({address:f(()=>this.address())})}getDefaultIdentification(e){return e.length>0?Y.Disabled:Y.NotConfigured}};s(ls,"Integration");var bu=k(De());var hu="triptease-managed";var wu=k(De());var us=class{constructor(e,t=new he(e.document),n=(0,wu.numberParser)("."),i=(0,bu.parser)("en","yyyy-MM-dd")){this.window=e;this.selectorApi=t;this.numParser=n;this.dateParser=i}integrationData(){let e=this.selectorApi.querySelectorAll(`.price-fighter-widget:not(.${hu})`);if(e.length===0)return;let t=e.map(i=>this.cleanData(i)),n=this.createSetsFrom(t);return n.hasUnique("apiKey")||n.hasUnique("propertyCode")?this.singleHotel(t[0]):this.multipleHotels(t,n)}cleanData(e){let C=cy(e.dataset),{clientkey:t,property:n,token:i,hotelkey:a,directPrice:o,roomRate:c,roomType:l}=C,p=yt(C,["clientkey","property","token","hotelkey","directPrice","roomRate","roomType"]),h=a||i;return g({clientKey:t||(n?h:void 0),apiKey:n?void 0:h,propertyCode:n,price:o,roomName:l,rateName:c},p)}createSetsFrom(e){return e.reduce((t,n)=>m.entries(n).reduce((i,[a,o])=>i.add(a,o),t),new ja)}singleHotel(e){let t=e.propertyCode?[{identifier:e.propertyCode,identifierType:"HotelCode",type:"Trusted",source:"pf-div"}]:[],n=e.loggedIn==="true"?"untrusted":"none",i=m.removeEmpty({price:f(()=>this.numParser.parse(e.price)),currency:e.currency,rateName:e.rateName,roomName:e.roomName});return m.removeEmpty({type:v.RoomsAndRates,pageClass:"SelfIntegratedRoomsAndRates",language:e.language,clientKey:e.clientKey,apiKey:e.apiKey,identifiers:t,adults:f(()=>this.numParser.parse(e.adults)),children:f(()=>this.numParser.parse(e.children)),rooms:f(()=>this.numParser.parse(e.rooms)),checkin:f(()=>this.dateParser.parse(e.checkin)),checkout:f(()=>this.dateParser.parse(e.checkout)),total:this.getTotal(e.total),layout:vu(e.layout),ratesModified:n,rateDetails:!!i.price&&!!i.currency?[i]:[]})}getTotal(e){let t=f(()=>e.toLowerCase());if(t==="true")return!0;if(t==="false")return!1}multipleHotels(e,t){let n=t.get("total"),i=e.reduce((a,o)=>a||o.loggedIn==="true",!1)?"untrusted":"none";return m.removeEmpty({type:v.RoomsAndRates,pageClass:"SelfIntegratedRoomsAndRates",language:t.get("language"),clientKey:f(()=>t.get("clientKey")),adults:f(()=>this.numParser.parse(t.get("adults"))),children:f(()=>this.numParser.parse(t.get("children"))),rooms:f(()=>this.numParser.parse(t.get("rooms"))),checkin:f(()=>this.dateParser.parse(t.get("checkin"))),checkout:f(()=>this.dateParser.parse(t.get("checkout"))),total:this.getTotal(n),layout:vu(t.get("layout")),ratesModified:i,rateDetails:e.map(a=>{let o=a.propertyCode?[{identifier:a.propertyCode,type:"Trusted",identifierType:"HotelCode"}]:[];return m.removeEmpty({clientKey:a.clientKey,apiKey:a.apiKey,identifiers:o,price:f(()=>this.numParser.parse(a.price)),currency:a.currency,rateName:a.rateName,roomName:a.roomName})})})}};s(us,"SelfIntegratedRoomsAndRates");function cy(r){return Object.keys(r).reduce((e,t)=>{let n=t.replace(/^pf/,"");return T(g({},e),{[`${n[0].toLowerCase()}${n.slice(1)}`]:r[t]})},{})}s(cy,"cleanNames");function vu(r){if(!!r)return r.toLowerCase().replace("-","")}s(vu,"cleanLayout");var ja=class{constructor(){this.sets={}}hasUnique(e){let t=this.sets[e];return t?t.size===1:!1}add(e,t){return t?(this.sets[e]=this.sets[e]||new Set,this.sets[e].add(t),this):this}get(e){let t=this.sets[e];if(t.size===1)return A.from(t)[0]}};s(ja,"Sets");var xu=k(De());var ds=class{constructor(e,t=new he(e.document),n=(0,xu.numberParser)(".")){this.window=e;this.selectorApi=t;this.parser=n}integrationData(){let e=this.selectorApi.querySelectorAll('script[src*="triptease"]').map(t=>new N(t.src));return m.removeEmpty(e.reduce((t,n)=>{let i=$l(ce(n.query,!1));return{type:v.Confirmation,price:i.bookingValue?this.parser.parse(i.bookingValue):t.price,currency:i.bookingCurrency?i.bookingCurrency:t.currency,reference:i.bookingReference?i.bookingReference:t.reference,basePrice:i.basePrice?this.parser.parse(i.basePrice):t.basePrice,checkin:i.checkin?new Date(i.checkin):t.checkin,checkout:i.checkout?new Date(i.checkout):t.checkout}},{}))}};s(ds,"SelfIntegratedConfirmation");var qu=k(oe());var Hu=k(De());var ju=k(oe()),Lu=k(Na());var rn=class{constructor(e){this.locale=e}getMoneyParser(e,t){return(0,Lu.implicitMoneyParser)({currency:t,locale:e})}convert(e){return e.flatMap(t=>{var o,c,l,p;let n=(o=t.priceSpecification)==null?void 0:o.priceCurrency,i=this.getMoneyParser(this.locale,n),[a]=i.parseAll(String((c=t.priceSpecification)==null?void 0:c.price));return a?[m.removeEmpty({price:a.amount,currency:n,rateName:t.name,rateCode:t.identifier,roomName:(l=t.itemOffered)==null?void 0:l.name,roomCode:(p=t.itemOffered)==null?void 0:p.identifier,identifiers:Jr([t==null?void 0:t.offeredBy])})]:[]})}};s(rn,"OffersToRateDetailsConverter"),_e([ju.cache],rn.prototype,"getMoneyParser",1);var pr=class{constructor(e){this.window=e;this.dateParser=(0,Hu.parser)("en","yyyy-MM-dd")}getOfferConverter(e){return new rn(e)}find(e){return{search:A.find(e,t=>t["@type"]==="LodgingSearch"),offers:e.filter(t=>t["@type"]==="Offer"),offerCatalog:A.find(e,t=>t["@type"]==="OfferCatalog")}}convert({search:e,offers:t,offerCatalog:n}){let i=Xr(this.window),a=this.getOfferConverter(i).convert(t);return m.removeEmpty({type:v.RoomsAndRates,language:i,pageClass:"StructuredDataRoomsAndRates",checkin:this.parseDate(e==null?void 0:e.checkinTime),checkout:this.parseDate(e==null?void 0:e.checkoutTime),adults:f(()=>je.parse(e.numAdults),2),children:f(()=>je.parse(e.numChildren),0),rooms:f(()=>je.parse(e.numRooms),1),rateDetails:a,ratesModified:f(()=>je.parse(n.numberOfItems)===0)?"noAvailability":void 0,total:f(()=>this.getTotal(t[0].priceSpecification.unitText)),priceComponents:f(()=>Oy(t[0].priceSpecification)),promoCodes:(Array.isArray(e==null?void 0:e.offerCode)?e==null?void 0:e.offerCode:[e==null?void 0:e.offerCode]).filter(Boolean)})}getTotal(e){let t=f(()=>e.toLowerCase().trim());if(t==="total")return!0;if(t==="nightly")return!1}parseDate(e){return f(()=>this.dateParser.parseAll(e.split("T")[0])[0])}};s(pr,"StructuredDataRoomsAndRates"),_e([qu.cache],pr.prototype,"getOfferConverter",1);function Oy(r){if(!Array.isArray(r==null?void 0:r.priceComponentType))return[];let e=[nt.Room,nt.Fee,nt.Tax].map(t=>r.priceComponentType.find(n=>n===t)).filter(Boolean);return e[0]!==nt.Room?[]:e.length===r.priceComponentType.length?e:[]}s(Oy,"getStructuredDataPriceComponents");var za=k(Ts()),hs=k(G());var Ku=k(re()),Uu=k(oe()),Bu=k(Na());var $u=k(De());var fr=class{constructor(e){this.window=e;this.dateParser=(0,$u.parser)("en","yyyy-MM-dd");this.lookup={["http://schema.org/ReservationConfirmed"]:"confirmed",["http://schema.org/ReservationCancelled"]:"cancelled",["http://schema.org/ReservationPending"]:"pending",["https://schema.org/ReservationConfirmed"]:"confirmed",["https://schema.org/ReservationCancelled"]:"cancelled",["https://schema.org/ReservationPending"]:"pending"}}getMoneyParser(e,t){return(0,Bu.implicitMoneyParser)({currency:t,locale:e})}find(e){return e.filter(t=>gc(t)&&this.lookup[t.reservationStatus])}convert(e){let t=Xr(this.window),n=(0,Ku.array)(e,(0,hs.map)(p=>{let h=p.priceCurrency,D=this.getMoneyParser(t,h);return m.removeEmpty({reference:p.reservationId,price:f(()=>D.parse(String(p.totalPrice)).amount),basePrice:f(()=>D.parse(String(p.basePrice)).amount),currency:h,reservationStatus:this.lookup[p.reservationStatus],identifiers:Jr([p==null?void 0:p.provider])})}),(0,hs.unique)((p,h)=>I.same(p,h)?0:1)),[i]=e,{checkinTime:a,checkoutTime:o,priceCurrency:c,offerCode:l}=i;return m.removeEmpty({type:v.Confirmation,language:t,pageClass:"StructuredDataConfirmation",checkin:this.parseDate(a),checkout:this.parseDate(o),currency:c,reference:n.map(p=>p.reference).sort().join(","),price:n.map(p=>p.price).reduce(za.sum),basePrice:n.map(p=>p.basePrice).reduce(za.sum),reservations:n,promoCodes:[l!=null?l:[]].flat()})}parseDate(e){return f(()=>this.dateParser.parseAll(e.split("T")[0])[0])}};s(fr,"StructuredDataConfirmation"),_e([Uu.cache],fr.prototype,"getMoneyParser",1);var Qe=class{constructor(e,t=[new fr(e),new pr(e)]){this.window=e;this.converters=t;this.logger=E("structured-data")}static confirmation(e){return new Qe(e,[new fr(e)])}static roomsAndRates(e){return new Qe(e,[new pr(e)])}integrationData(){let e=ct.processDocument(this.window.document);for(let t of this.converters)try{let n=t.find(e);if(!n)continue;return t.convert(n)}catch(n){}this.logger.log(`${this.converters.length} converters were unable to process structured data`,{structuredData:e})}};s(Qe,"StructuredDataPage");var Ry=lr.get();function ky(r){return`https://onboard.triptease.io/integrations/${Ry}/${r}.js`}s(ky,"onboard");function nn(r){return typeof r!="string"?"":r.split(/[^A-Za-z0-9-]/)[0].replace(/-/g,"").toLowerCase()}s(nn,"cleanName");var u=class{constructor(e){this.name=e;if(!/[A-Za-z0-9]/.test(e))throw new Error("Only alpha numeric allowed");u.Lookup.set(nn(e),this)}static values(){return Array.from(u.Lookup.values())}static parse(e){let t=u.Lookup.get(nn(e));if(!t)throw new Error(`Invalid booking engine name: ${e}`);return t}toString(){return this.name}get canonical(){return nn(this.name)}get folder(){return this.isSelfIntegration()?u.Default.folder:L.kebabCase(this.name)}get script(){return ky(this.folder)}isSelfIntegration(){return u.SelfIntegration.has(this)}},d=u;s(d,"IntegrationName"),d.Lookup=new Map,d.AboveProperty=new u("AboveProperty"),d.AfricaAlbida=new u("AfricaAlbida"),d.Alaric=new u("Alaric"),d.Ascott=new u("Ascott"),d.ASIWebRes=new u("ASIWebRes"),d.AtlantisORS=new u("AtlantisORS"),d.Auberge=new u("Auberge"),d.AvailPro=new u("AvailPro"),d.Avvio=new u("Avvio"),d.Ayana=new u("Ayana"),d.AZDS=new u("AZDS"),d.BestWesternFrance=new u("BestWesternFrance"),d.BestWesternItaly=new u("BestWesternItaly"),d.BestWesternUk=new u("BestWesternUk"),d.Betsy=new u("Betsy"),d.Bloom=new u("Bloom"),d.BookAssist=new u("BookAssist"),d.BookEasy=new u("BookEasy"),d.Bookolo=new u("Bookolo"),d.BookOnlineNow=new u("BookOnlineNow"),d.BookVisit=new u("BookVisit"),d.Booking=new u("Booking"),d.Booking2Hotels=new u("Booking2Hotels"),d.BookingExpert=new u("BookingExpert"),d.BrochnerHotels=new u("BrochnerHotels"),d.BusyRooms=new u("BusyRooms"),d.BWHHotelGroup=new u("BWHHotelGroup"),d.CenterHotels=new u("CenterHotels"),d.CityExpress=new u("CityExpress"),d.Clink=new u("Clink"),d.Clock=new u("Clock"),d.CloudBeds=new u("CloudBeds"),d.Cocotel=new u("Cocotel"),d.CompuRez=new u("CompuRez"),d.Comwell=new u("Comwell"),d.ConstanceHotels=new u("ConstanceHotels"),d.Default=new u("Default"),d.DerqueBooking=new u("DerqueBooking"),d.DeutscheHospitality=new u("DeutscheHospitality"),d.Dingus=new u("Dingus"),d.Dirs21=new u("Dirs21"),d.DoyleCollection=new u("DoyleCollection"),d.EasyBooking=new u("EasyBooking"),d.EasyConsulting=new u("EasyConsulting"),d.Erez=new u("Erez"),d.EGds=new u("EGds"),d.Evancy=new u("Evancy"),d.Exely=new u("Exely"),d.Everly=new u("Everly"),d.ExtendedStayAmerica=new u("ExtendedStayAmerica"),d.Ezee=new u("Ezee"),d.FastBooking=new u("FastBooking"),d.Firmdale=new u("Firmdale"),d.FourSeasons=new u("FourSeasons"),d.FrontDeskMaster=new u("FrontDeskMaster"),d.FullertonHotels=new u("FullertonHotels"),d.Furama=new u("Furama"),d.GemHotels=new u("GemHotels"),d.Generic=new u("Generic"),d.GlenEagles=new u("GlenEagles"),d.GothiaTowers=new u("GothiaTowers"),d.GuestCentric=new u("GuestCentric"),d.GuestDesk=new u("GuestDesk"),d.GuestLine=new u("GuestLine"),d.GuestPro=new u("GuestPro"),d.Guild=new u("Guild"),d.HamiltonIsland=new u("HamiltonIsland"),d.HamiltonIslandHolidayHomes=new u("HamiltonIslandHolidayHomes"),d.HandPickedHotels=new u("HandPickedHotels"),d.Hart=new u("Hart"),d.HHotels=new u("HHotels"),d.HighLevelSoftware=new u("HighLevelSoftware"),d.Hipotels=new u("Hipotels"),d.HiUsa=new u("HiUsa"),d.Hoteliers=new u("Hoteliers"),d.HoteliersGuru=new u("HoteliersGuru"),d.HotelKeyApp=new u("HotelKeyApp"),d.HotelNetSolutions=new u("HotelNetSolutions"),d.HotelPartner=new u("HotelPartner"),d.Hotetec=new u("Hotetec"),d.Hotusa=new u("Hotusa"),d.Hoxton=new u("Hoxton"),d.HspRez=new u("HspRez"),d.HtiSystems=new u("HtiSystems"),d.Hyatt=new u("Hyatt"),d.GHS=new u("GHS"),d.GuestRez=new u("GuestRez"),d.Iberostar=new u("Iberostar"),d.Infotera=new u("Infotera"),d.Inkaterra=new u("Inkaterra"),d.InnQuest=new u("InnQuest"),d.InnRoad=new u("InnRoad"),d.InnStyle=new u("InnStyle"),d.Inntopia=new u("Inntopia"),d.Iperbooking=new u("Iperbooking"),d.IRM=new u("IRM"),d.JazHotels=new u("JazHotels"),d.Journey=new u("Journey"),d.Kasa=new u("Kasa"),d.KeaHotels=new u("KeaHotels"),d.Kempinski=new u("Kempinski"),d.Kerzner=new u("Kerzner"),d.LatourHotelsAndResorts=new u("LatourHotelsAndResorts"),d.LHW=new u("LHW"),d.LifeHouse=new u("LifeHouse"),d.Loews=new u("Loews"),d.Lotte=new u("Lotte"),d.LumaHotels=new u("LumaHotels"),d.Luxscapia=new u("Luxscapia"),d.McDreams=new u("McDreams"),d.Mews=new u("Mews"),d.MgmResorts=new u("MgmResorts"),d.MillenniumHotels=new u("MillenniumHotels"),d.MinorHotels=new u("MinorHotels"),d.Mirai=new u("Mirai"),d.Namastay=new u("Namastay"),d.NativePlaces=new u("NativePlaces"),d.NeoBookings=new u("NeoBookings"),d.NetAffinity=new u("NetAffinity"),d.NHHotels=new u("NHHotels"),d.OKU=new u("OKU"),d.OmegaHotelManagement=new u("OmegaHotelManagement"),d.Omnibees=new u("Omnibees"),d.OneHotels=new u("OneHotels"),d.Opera=new u("Opera"),d.OpenHotel=new u("OpenHotel"),d.P3=new u("P3"),d.PalaceResorts=new u("PalaceResorts"),d.PanHospitality=new u("PanHospitality"),d.Paraty=new u("Paraty"),d.Pegasus=new u("Pegasus"),d.Pelican=new u("Pelican"),d.Phobs=new u("Phobs"),d.Planet=new u("Planet"),d.PointAHotels=new u("PointAHotels"),d.Prestige=new u("Prestige"),d.ProfitRoom=new u("ProfitRoom"),d.Protel=new u("Protel"),d.PursuitCollection=new u("PursuitCollection"),d.RedPlanet=new u("RedPlanet"),d.RegalHotels=new u("RegalHotels"),d.ReserveHotel=new u("ReserveHotel"),d.ReserveOnline=new u("ReserveOnline"),d.ReservationResources=new u("ReservationResources"),d.Reservit=new u("Reservit"),d.Reseze=new u("Reseze"),d.ResNexus=new u("ResNexus"),d.ResOnTheWeb=new u("ResOnTheWeb"),d.Retargeting=new u("Retargeting"),d.Revenatium=new u("Revenatium"),d.Reztrip=new u("Reztrip"),d.RGuest=new u("RGuest"),d.RMSCloud=new u("RMSCloud"),d.Roiback=new u("Roiback"),d.RoomKey=new u("RoomKey"),d.RoomMaster=new u("RoomMaster"),d.RoomSome=new u("RoomSome"),d.RoomStay=new u("RoomStay"),d.SandsVegas=new u("SandsVegas"),d.Sandrix=new u("Sandrix"),d.Sbe=new u("Sbe"),d.SeamillHydro=new u("SeamillHydro"),d.Seekda=new u("Seekda"),d.Selfbook=new u("Selfbook"),d.Shr=new u("Shr"),d.SimpleBooking=new u("SimpleBooking"),d.SiteMinder=new u("SiteMinder"),d.Skipper=new u("Skipper"),d.Staah=new u("Staah"),d.StationCasinos=new u("StationCasinos"),d.Stayntouch=new u("Stayntouch"),d.Sweett=new u("Sweett"),d.Synxis=new u("Synxis"),d.SysHotelOnline=new u("SysHotelOnline"),d.Taj=new u("Taj"),d.ThinkReservations=new u("ThinkReservations"),d.Travelanium=new u("Travelanium"),d.TravelClick=new u("TravelClick"),d.Uibscrs=new u("Uibscrs"),d.Up=new u("Up"),d.VacationMarbella=new u("VacationMarbella"),d.Valamar=new u("Valamar"),d.VerticalBooking=new u("VerticalBooking"),d.Viato=new u("Viato"),d.Vinpearl=new u("Vinpearl"),d.WebRezPro=new u("WebRezPro"),d.WestCordHotels=new u("WestCordHotels"),d.Witbooking=new u("Witbooking"),d.Youngs=new u("Youngs"),d.Zafiro=new u("Zafiro"),d.SelfIntegration=new Set([u.Dirs21,u.HtiSystems,u.ExtendedStayAmerica]);function Ey(r){return f(()=>{let i=r.find(a=>a["@type"]==="SoftwareApplication"),{name:e,version:t}=i,n=yt(i,["name","version"]);return g({name:nn(e),version:String(t)},m.filter(n,a=>!L.startWith(a,"@")))},{})}s(Ey,"getAppNameAndVersion");var bs=class extends ls{constructor(){super(...arguments);this.pages=[Qe.confirmation(this.window),new ds(this.window),Qe.roomsAndRates(this.window),new us(this.window)]}app(){let e=ct.processDocument(this.window.document),t=Ey(e);return t.name?t:super.app()}address(){let e=ct.processDocument(this.window.document);return Vl(e)}};s(bs,"Default");new cs(window,new bs(window));})();